|
|
关于P6系列处理器的微代码更新的研究
6 y: G( Q) `0 C c. B' X第一稿6 M( Q* ?8 s* L
作者:Jesus Molina, William Arbaugh
$ g( I' O' j$ pPark大学, 2000年11月
& n7 _- m+ O! d' y! j; Q" M" {: c* y3 C y* x
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节5 V/ c0 P( w& b$ j. P
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,5 B# }4 j1 i# Q; C" k' H
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头" |' _( G: S: Y6 C# I2 c9 c
部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的; o5 d _+ w) ^ Y- G" b
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
8 Z4 N9 I* e" H8 W3 N# N关于头部和更新数据的详细介绍, 将在本文档第3节出现。1 w O6 q+ \8 D- B/ o0 S+ `2 v
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
3 U+ |" x g" z你必须在每次机器起动的时候都更新微代码。
" Z2 x' T( }( a' G: ]* b4 r尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码) p- E# L9 y S8 d' H/ I
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]" T' }7 p' y$ C, M! \, F
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。. r" _' T! w8 B6 B0 d
: L2 R- ]2 y8 |7 [$ W
这篇文档将讲述这些信息." H# h2 Y& d! J- W. w
1 |- p4 L. z- Q: v7 t, P2 b) f
下载文档: |
|