|
|
关于P6系列处理器的微代码更新的研究
2 j# t4 |% _" Q4 d第一稿, p: \. t. {8 [! J) p3 U- D
作者:Jesus Molina, William Arbaugh. y# V% ~. H7 ]8 b- Y: ?2 C
Park大学, 2000年11月" u, T: |0 F2 u- L6 b7 b5 T
' ^% f* ?/ I- F# b$ ~
微代码更新特性在参考文献[3]的第8章第10节有介绍。 微代码更新由2048个字节
# f; U9 }1 z1 l9 r& d的数据组成, 其中48字节是头部数据, 剩下的2000字节是微代码本身。 为了避免歧义,: J$ m% D5 [. x% s9 I) u: k8 k8 G
本文将把这2048字节叫作「微代码更新」或「微代码」, 而把开始的48字节称为「头
! ]. k6 T% h6 g, g部」, 把剩下的2000字节称为「更新数据」。 「更新数据」是为了修复对处理器规范的5 \" T& A' I' d( k& D+ Q
背离(Intel管这种背离叫「勘误表」(errata)。我们将用术语BUG或errata来指代这种背离)。 L6 a- T6 _6 t3 n7 d; A
关于头部和更新数据的详细介绍, 将在本文档第3节出现。
+ F- |( I; l6 r, C3 s# H微代码更新是通过Intel提供的软件工具完成的, 并且在重新引导时消失。 也就是说,- V: i7 Z5 c: ~& y7 p. ?
你必须在每次机器起动的时候都更新微代码。% V* i$ B# u& E# A
尽管Intel描述了微代码更新这一特征, 这种描述却是模糊的, 尤其在涉及到微代码: f3 {( y5 o1 s0 H8 U8 F. `' u- V
所勘正的那些错误时。 另外, 微代码加了签名(我们将在第7部分详细讲述,参考资料[3]# u/ a' O6 C x5 v) C: U! Q
的8.10部分也有讲述), 但在资料[3]中并没说这种加密/签名究竟是怎么执行的。% q) r& [: X' m8 O& |
! ?! g. s6 X" F( l, I- @这篇文档将讲述这些信息.
8 p3 e3 z# N; R1 K$ l
R5 ]2 _; G5 _6 N- W( F下载文档: |
|