|
关于P6系列处理器的微代码更新的研究) {- n3 f7 |+ F% R, ]
第一稿# V$ \- q# q' o9 `. F
作者:Jesus Molina, William Arbaugh0 t1 J: t- N& C4 Q0 R* A
Park大学, 2000年11月
: [6 P0 l$ F0 ]0 a' m) ~5 u
& D+ |% \$ t4 [2 r' _8 i9 t微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
! v) b5 s }% i( Y9 n- z的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,) ^( ^9 U; G( M" |# G# d4 F4 _+ |
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
, ~ _7 |- \! b6 [" c部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
& H, F u0 D0 F背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
# Y1 F- s& Y3 S& z关于头部和更新数据的详细介绍, 将在本文档第3节出现。
; ^% y [; K* L+ {7 D微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,/ o% D: u D$ U" Q n2 ]" ?( g* `
你必须在每次机器起动的时候都更新微代码。2 j% @ ?- U; j& N/ g5 Y8 n
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
h. y: ?$ \4 X/ I所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]1 D7 h* M# y5 z) E- v4 n
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。" g' x2 M" S2 I) f4 o
0 v) {0 Z4 ~8 `/ }6 o
这篇文档将讲述这些信息.2 x m. H* i: N7 b6 t
8 I7 W+ b0 [+ [# c5 s下载文档: |
|