|
|
关于P6系列处理器的微代码更新的研究6 j! x6 o5 G) s: q+ X, h( e
第一稿
/ L- L) }- P6 G0 R作者:Jesus Molina, William Arbaugh) ^! `* d) N1 G
Park大学, 2000年11月4 ]; W# D! P! ], O% @0 V, ]
# r$ ]8 `. x3 W m微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节6 {: h" H! o# Q, _3 m
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
( Q- N/ B+ F0 [! K- m$ r+ y7 H本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
0 h( v: l/ H7 v9 |. P' Q部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
% |! A, b1 }; z9 j背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
2 @9 v1 e' M% _9 p+ r, A关于头部和更新数据的详细介绍, 将在本文档第3节出现。
) H: A, M9 |# d$ I, ~- o微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说," F* R" _5 t) ~& H
你必须在每次机器起动的时候都更新微代码。
; {1 H2 h0 K g9 U0 _4 x, C; ] ^尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码& C8 ?" F5 B8 [0 m
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
" G( P% }" [0 J+ n/ y( P的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。; w8 Z3 _1 x1 R% j2 ^. L" B( @
1 S6 s4 ~4 v) U8 B- O- i
这篇文档将讲述这些信息.2 s# l- a1 q4 d& D7 b
5 B3 [* t- p+ \ A下载文档: |
|