|
|
关于P6系列处理器的微代码更新的研究
* Q5 |# B v: I7 w) o( R第一稿
- l; M; y) M Q2 F, C3 `/ f作者:Jesus Molina, William Arbaugh
/ k# U- v9 ^, o; X8 F' WPark大学, 2000年11月
9 W" L+ f* r- h/ m0 n. H
. f5 I, V$ I2 O m: s( t微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节; O2 @* u8 Y8 \* n/ Q! ^" l
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
) D* F' O$ q2 ^; v/ y+ N+ N9 B本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
8 n" U8 F( I# I) w部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
% \1 c) x; K3 F, P: }# \ n" S背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。7 V; B0 q# t, x5 W; a' {. {( c
关于头部和更新数据的详细介绍, 将在本文档第3节出现。9 X' n7 G7 W+ y6 h
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,/ B; n. R9 V/ D1 b4 `
你必须在每次机器起动的时候都更新微代码。/ k) ~$ `2 Q1 J! N0 Z
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码$ z; e1 a7 Y% T/ c0 S& p% K
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
& o# h: u. h7 u) b! t0 A& T的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。# X- C# f% S- t0 Z0 t* w X4 d- P
; k( V7 M4 e. s& E9 U这篇文档将讲述这些信息.
# [4 ]! t& z- R# b' R6 x% W) A7 X/ g( E$ i6 z% i( Z
下载文档: |
|