|
|
关于P6系列处理器的微代码更新的研究
) d" R- ~' C# I L+ \第一稿9 s0 {8 x _* a+ @
作者:Jesus Molina, William Arbaugh# x: F( v7 A& ?3 i! b
Park大学, 2000年11月* S& l/ A/ c7 |6 F7 N, B4 t! K
; ~, \( f- [8 D$ _微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节; y* {- L. M9 P+ a# t3 w7 z
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,$ |5 {6 C* R5 v1 |1 ?
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
8 k" r8 q8 z9 Q" A; L6 e, Q部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的. H7 U& O8 m0 w$ ?
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
' x0 w: H! Q7 U ^$ I2 n关于头部和更新数据的详细介绍, 将在本文档第3节出现。1 B" n6 z" s" }6 F. m" E
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,( [; }# N9 W% x( d: ]
你必须在每次机器起动的时候都更新微代码。
& ?: L; k, O: e9 e' y* i$ y0 J. n尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码( Z) ?# [% w0 Q) i& }5 [
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]6 m" p) D: L& u v# a8 p. n
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。" b. j* e8 b6 M, f9 s1 ~) H
/ h! e9 A' K+ I ]5 s
这篇文档将讲述这些信息.
! b3 k3 W5 i5 T6 R6 x% w$ Z; E, P- Q* R( b
下载文档: |
|