|
|
关于P6系列处理器的微代码更新的研究
9 ~) n/ M& i3 u4 e7 w3 q1 Z7 ~第一稿
6 U5 K% f, C7 \+ K a4 a6 M: G作者:Jesus Molina, William Arbaugh
5 B5 G' O8 E7 t) WPark大学, 2000年11月0 g: r, a/ Y7 C: ^4 K0 |
$ p- Y+ ?; J! R0 H3 W0 Q2 \, n" s6 }微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
C1 N! i0 {% L# }- U+ S/ W6 H9 A的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
) S% \1 l* `7 o本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头& o. V4 B. d& P4 v
部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的- r- E0 c! P6 r% r, V [5 i
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。& w1 D7 f }' P' V; }8 l
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
' G3 b9 g# K3 v, o微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
3 Y7 I+ |( P e2 U0 Y4 O你必须在每次机器起动的时候都更新微代码。, E$ U" [+ P2 p7 x2 K T$ V" g
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码 s8 Q, @) t$ C" u! J7 D" }2 @4 G
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]6 V8 x" E7 W& O% C5 E9 \
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
2 B7 \. T/ p6 r' e( C' U
1 c: k8 U ^) m$ ]: ^; F这篇文档将讲述这些信息.
, o. k% ^$ l- O" t
6 ~7 F+ o+ w. u下载文档: |
|