|
|
关于P6系列处理器的微代码更新的研究
( z6 a. c) |% n1 ]第一稿
. p9 L" n! @1 V2 Y! i) \1 g; u作者:Jesus Molina, William Arbaugh
% r3 a1 R" Q6 TPark大学, 2000年11月' t. ]# o4 ~5 a% U
- h6 \6 } I& j, q
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
7 J8 ^* Y- ]! w3 ]的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
$ m) B0 L2 s+ N9 J本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
- h/ o% n) ?1 m, n部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
- h! b3 D) }. V/ W" x; ] S背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
3 _8 T8 [$ ~" b/ b H关于头部和更新数据的详细介绍, 将在本文档第3节出现。1 P: J j+ o! B/ e/ e5 V
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,6 p# t* X ^( P1 r$ g I
你必须在每次机器起动的时候都更新微代码。3 t: H! u6 K2 J
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
( x2 P& o* w. X4 S& L. |. z1 W所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]1 S8 v2 O- C9 x' z5 H1 c
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。5 H) I$ I& t' z
: U9 D8 C6 n$ l
这篇文档将讲述这些信息.1 i% R$ r/ U ]# B
9 \" ^3 |% D2 F3 s' n3 V
下载文档: |
|