|
|
关于P6系列处理器的微代码更新的研究6 T# q, Q- V2 Q6 E/ O' V
第一稿
9 J4 T/ {# w2 w/ X! D: Z作者:Jesus Molina, William Arbaugh
- k6 U4 j* j2 M3 UPark大学, 2000年11月
2 v3 n" D F( w5 p( }$ u$ g/ R/ C) h, {" e( X- ^2 {- R! ~9 X
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节3 D4 c! C; ~/ U6 X. f
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
1 n; J( M; C3 g1 g; D1 M0 i' B2 H本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
% y2 t' b5 d3 y7 r部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
; u: a3 q9 W1 e' s C+ p: X) K& V* z背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。' h: x; N; f# O M( \
关于头部和更新数据的详细介绍, 将在本文档第3节出现。3 y. g2 s3 F. k3 Y2 k
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,- q) C) S7 u$ J. z4 f
你必须在每次机器起动的时候都更新微代码。+ _; q, |+ b5 u8 l$ I3 l G$ n
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码. `, L! ~* ~/ } c& s v/ A
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
" @( R Y' L6 x6 ~2 @" G的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。7 Z7 w/ t; p" @
$ [5 n+ a3 J$ G; [" v6 H- z1 [这篇文档将讲述这些信息.
3 C G# h& @) R0 W R1 s9 r: w' U) d$ H4 \. S: _
下载文档: |
|