|
关于P6系列处理器的微代码更新的研究
: b% J1 D" ?9 _- d+ _第一稿
' B ~, M# H1 j8 X' { q( O$ z作者:Jesus Molina, William Arbaugh- M# t- @8 a9 }2 c+ [* Q% |) W
Park大学, 2000年11月+ n+ S7 N U# Z2 o7 P
8 [) J+ v1 W o0 k
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节& D0 i0 U. M. B0 K* P# J
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
9 F7 \7 f0 }1 N1 O2 [ ~ [本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
! U$ Y2 s4 _4 D- q部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
! R9 [' }% J! @) f D' O背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。# B# O7 ^; B6 T
关于头部和更新数据的详细介绍, 将在本文档第3节出现。+ ]& S. |1 i& J$ A7 a3 A# k1 j
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
( w8 b% d( }( ]0 W你必须在每次机器起动的时候都更新微代码。
n7 \+ w, O" Y- i* j尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
' e- ~ y/ U( p/ [所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
8 @$ B3 R0 e2 c' T8 n- t" Q0 H的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
6 e0 f2 x) i4 r
, ^3 e, y5 K! P4 e0 q: O这篇文档将讲述这些信息.
. a4 ~$ x; G0 E$ i+ j
8 g7 x. W1 S$ E9 C下载文档: |
|