|
关于P6系列处理器的微代码更新的研究2 Y. n- A6 f( K: E9 [
第一稿
R6 R# `3 j3 u; W作者:Jesus Molina, William Arbaugh
) e1 W- o( r- ^* EPark大学, 2000年11月
* Y( f# b# y" e$ ?) w m0 p, x$ S0 a6 A4 o# U+ o" k l. c
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
' ~3 J2 d7 w! ^1 W' d" z; z+ u Y的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,, a/ W" m$ N7 y" j; k
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
# o- O" W" Y# G" H$ U9 m' V% I部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
( H8 ]5 C2 y6 U7 Q, Q背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。. Z1 [. E: U9 ~1 \
关于头部和更新数据的详细介绍, 将在本文档第3节出现。3 C9 d" M# G- ^) J. q& v
微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
8 b" A" j% `* o2 v5 x7 c你必须在每次机器起动的时候都更新微代码。
; u# j- F# ?! g5 P: W5 s尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码
, n+ L4 ? e" J4 z- M% l所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]
) ^+ Z. R) s3 ^的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
3 E. C) w, G- i8 u
7 ?9 \7 O ]+ {这篇文档将讲述这些信息.
$ `. L% m9 k, u5 ^6 ]: m3 a, Y/ D
下载文档: |
|