|
关于P6系列处理器的微代码更新的研究) m* B* ?( a/ i# b$ a* N
第一稿
@8 n3 Q1 R) c, j7 ^作者:Jesus Molina, William Arbaugh
" y8 h% c6 s5 S7 H" ]/ JPark大学, 2000年11月
/ e2 d( K" `3 B+ v: ]% D$ Z! `& w% y4 D: W
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
: `& S1 e" @7 f! Z `" i的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,( o, t+ C$ z4 c& n. Q0 P* R
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头) n8 f |$ o, W7 S" m' M' H2 x
部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
! @# x) E; Z' a o背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
2 X# `# o. {4 }' o, _1 Z" r+ G: r0 @关于头部和更新数据的详细介绍, 将在本文档第3节出现。
! i$ [5 R* |$ j: {微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
2 y$ d7 j6 Y' `5 p7 ?你必须在每次机器起动的时候都更新微代码。 k p/ q/ T: M i3 U
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码5 |; Z, v" M9 l k% c9 _. Y4 A2 W
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]* m/ V4 [2 F D, m6 S, q+ V
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
- ?. \8 D; k; {! B( \6 n9 A: y! V! H* B7 u% \- P2 b
这篇文档将讲述这些信息.1 m8 o) x' R7 [) c2 i
% t' H4 V: l' |' z- @ d, B: r0 |
下载文档: |
|