ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

Core2Duo の CPU クロック

諸事情あって色々調べて回ったので備忘録。

FSB 速度

FSB のクロックは MSR 0xCD 番地の [2:0] ビットを読む。
具体的な値と周波数の対応は Intel で配布してる
Software Developer's Manual
Volume 3B: System Programming Guide
にて。100MHz〜400MHz までグレイコードで符号化されている。

000000CD: 00000000 000001E0

私の環境だと 266MHz = 0b000。

CPU 内部クロック倍率

MSR 0x199 番地に書くと MSR 0x198 番地に反映されるらしい。
MSR 0x198 番地は下位16bit [15:0] が現在のステータスで、[44:40] が最高倍率。

00000198: 06170A25 06008611

私の環境だとこんな感じ。最大 x10.0 で定格は 2660.0MHz。
ステータスは16bitで符号化されていて [5:0] は電圧。
0x11 * 12.5mV + 712.5mV = 925mV
[12:8] はクロック倍率で、[13] が 1 なら + x0.5 する。
FSB 266.0MHz * x6.0 = 1600MHz


なんかこの辺りに詳しく書いてあったけど詳細は謎。
http://www.insanelymac.com/forum/index.php?showtopic=181631&st=140&start=140