|
关于P6系列处理器的微代码更新的研究
8 O" h: R/ Q4 T! J第一稿
& h) N, k, z" ~0 I作者:Jesus Molina, William Arbaugh
9 {: u5 z9 Q P# M* KPark大学, 2000年11月. ?& v+ b1 V9 U+ o
, O+ F! V5 j$ M" M2 v8 V
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
$ e% i# o$ y$ d8 _ w9 N. X的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义," y0 k+ {7 R; e: e
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
. R0 X) y$ j _7 C8 `9 w6 v部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
) H6 @ b( t @背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
& Z& }$ n$ g2 ?: q6 F% ]$ o+ e关于头部和更新数据的详细介绍, 将在本文档第3节出现。
/ I% F" `6 O- G& D1 {: J微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
: G$ b$ [) ^8 I9 |% X你必须在每次机器起动的时候都更新微代码。
' r6 H% \ _7 L+ J2 A尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码& e Z1 b [: y8 F
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
) H0 U, l9 b& q# R! q' U( k' L的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
1 x/ w- _/ s- p4 Z; S
3 ^$ V1 U3 C1 k; T2 z: u$ o这篇文档将讲述这些信息.
0 _/ a& S; A# @3 [! t7 `; q' E3 v: V: G' x1 `1 L
下载文档: |
|