|
|
关于P6系列处理器的微代码更新的研究9 S: R7 ]/ k: {" t- _
第一稿
1 `+ ~; R# z$ Y- X作者:Jesus Molina, William Arbaugh
# x8 m7 Z6 b! L: s+ `Park大学, 2000年11月
3 ?, N# w! V$ l
( o; z& e" f2 S" ~, h微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节" e* P9 F7 r2 x7 w
的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,
' T' A* W, S: s+ \0 K本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头0 V' t. u7 \! R% P
部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的
- Y1 k% ^ P5 s1 Q! i7 h6 o) N背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。4 o& M6 _( O+ Y
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
6 ]6 }3 I* V$ ]5 z& B" ^微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,
0 M3 I1 j; z# Y你必须在每次机器起动的时候都更新微代码。
! T; b3 E9 c0 X, M8 \0 z0 L尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码3 Q0 J& H, G/ C( C1 {1 h
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]- O6 W/ k' d( K; n8 c: k$ M0 z
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。
; v$ [+ M$ k: Y0 R6 e: f! F5 @3 Z6 S2 z# i! V" g9 L' w
这篇文档将讲述这些信息.
0 c4 y" n1 r( {9 j, n! A- c$ @4 _7 H3 }; r/ ?' {
下载文档: |
|