|
|
关于P6系列处理器的微代码更新的研究
7 x f j2 U) E8 O第一稿6 B, N- [ u% ~
作者:Jesus Molina, William Arbaugh
, j: d) E" w) [+ t' L9 _Park大学, 2000年11月6 ?/ x" T4 t0 ?
' e& Y0 M" H$ E
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节& z. S$ R* D& F! G a5 B7 F* t
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
5 E; ?6 }" e# M/ o本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头# @% e. |# ~3 B( k$ Y8 |
部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
1 J; n7 c4 j5 p- @; Z背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。4 X7 e& t8 W/ d( g* s k" l
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
: ^/ P: v5 {! B' \5 U# G# `$ h微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
2 a3 i$ Z6 }$ @/ c2 e/ d! i' p2 ?0 ?你必须在每次机器起动的时候都更新微代码。, i! F. A0 V7 k' p% B+ I9 o
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
6 h, ~: M- `$ _# h% A所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
+ z) g8 V2 T! [: s% ^" X2 a [8 {6 u的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
4 r$ v9 R9 k9 N$ h! g3 Y5 x
0 b2 O0 J- ]' Z, O这篇文档将讲述这些信息.% V& V1 W) r8 n& `& V& ^
8 P( A/ t1 D) e9 \7 A' w下载文档: |
|