|
|
关于P6系列处理器的微代码更新的研究
: ]0 k( |9 b- _% z; I! R* x O第一稿# k! G* W: M" Q8 T: a# k
作者:Jesus Molina, William Arbaugh' C8 F4 D5 @- Z' J1 E
Park大学, 2000年11月
' h. G9 h; ~# ~- o3 H l; A4 m
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节6 y# o& C& c3 B' M) B3 H* k
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,: d9 h# E. P' K% S: d2 B8 L
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
! b# ^! r1 C% I( y* N7 ^/ A- s部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的# ^1 \( |( U* V4 v2 o; k, K
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。; K' B6 O6 W: c( O7 w
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
) o5 E' T* Z. f! [3 _微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
" ^4 S4 d/ S, V* ?0 M9 |" ]. ~你必须在每次机器起动的时候都更新微代码。
3 n; W% X" @ K1 X8 D尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
7 I2 j5 V) L# \所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
" k' e& V0 _$ u+ X- H的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
* z2 h+ _6 b7 @, H: S* O& a, b8 p- Q
这篇文档将讲述这些信息.
( F- T" [# Z8 o" Q2 H* J% A$ t
; z1 @( o/ H/ j' I" K7 x5 ^! t下载文档: |
|