|
|
关于P6系列处理器的微代码更新的研究, u1 U6 b/ F, q6 b5 Y
第一稿
! `! n6 a% O& f S" T& ]9 u作者:Jesus Molina, William Arbaugh
f/ u4 G' U0 c- hPark大学, 2000年11月
6 a- ]: q2 L/ e( Y; J8 [7 K; K; G2 o5 O4 ~
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节 i7 j/ |9 u6 Q- S4 s& ]+ T* u
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,, g+ s. X# ?: n* L% e
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
8 }" d/ M* ~. r5 c' e部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的3 j% u4 ]" j6 r5 |4 A) y# o/ R0 F
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。
9 C9 R& ~8 a2 i. ~. d4 _4 W' D( E关于头部和更新数据的详细介绍, 将在本文档第3节出现。
4 d: x; u& Q% J6 f: q微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
" A. r3 N7 x+ \ A0 D6 @你必须在每次机器起动的时候都更新微代码。: z; @8 o% d y# l( {
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码8 H7 [2 u H g2 m8 Y' C* o7 M
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
* s: r5 O8 p4 h8 [* @ F! [$ Z的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。6 u7 p& O, j# M
. U* ?2 p" N% h7 V& b' `/ ~6 N7 q
这篇文档将讲述这些信息.
7 b% h7 [# ]2 w, H
5 _; o* N: |. w2 I/ Q% z- D, G- K下载文档: |
|