|
|
关于P6系列处理器的微代码更新的研究7 ]" O3 {& A) o
第一稿
+ y2 f7 ~- Q8 J! D6 i D$ h作者:Jesus Molina, William Arbaugh
6 ?$ D+ E. z- e& a: bPark大学, 2000年11月 x5 `2 e- n, ~ k0 |9 P# q
4 ~+ H% H9 u* g- C2 e. }+ e
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
) t5 q5 S2 m: p& Y1 |, `+ j! z的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,1 o U) K. o6 L, E* M/ I
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
/ B& A! U3 K" v部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的" @# O* u+ U1 u3 U
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
% e6 H3 c- V% c' n Z5 r关于头部和更新数据的详细介绍, 将在本文档第3节出现。
' |+ D- G/ ^, V$ W微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
, X* V+ K9 P2 O* w; Q你必须在每次机器起动的时候都更新微代码。
0 u) E( ]) N: h; i8 i尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
5 _. [0 n% [( L. j. p9 I所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]9 X! T1 C4 H3 x# B: o
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
, ?" L9 H1 q; l* c( D( d' J* v- C! Z) u( M7 O2 S& t
这篇文档将讲述这些信息.( Z- _! ^1 E/ {3 d8 t
7 K& Q! u; P' e
下载文档: |
|