|
|
关于P6系列处理器的微代码更新的研究' Y; D! M' U6 n! K8 ] }
第一稿
4 }* ~. Q4 _! G5 K7 J$ e作者:Jesus Molina, William Arbaugh' T+ d( y. T6 x/ G1 A
Park大学, 2000年11月$ Z2 @5 a* M- q1 {6 h. D
) A* K2 E: k3 K微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
1 T0 Y; l6 R9 P5 q0 t的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,8 s( Q. J4 N% k- I
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
6 h0 \: S6 }' G% E* [6 ~5 A部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
5 M; r. A. O( ]背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。0 N z/ s# S' w+ J, \% g9 i
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
! [) o o% \) b( H/ G+ m ?2 N微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
! J8 r u& P3 n/ }你必须在每次机器起动的时候都更新微代码。$ O% Y: G* m* k
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码5 n9 R, a- ?8 W; I5 v6 H
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
0 H$ X7 H! p# j" f的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
Q% u" Q: p5 E+ \' g9 y2 Q% j1 B( @0 \3 ^, b5 u$ G
这篇文档将讲述这些信息.% y- n6 n! p- D) n. X# L2 P
2 E) R: `' m( m4 j' L W
下载文档: |
|