Top / CPU / MSR

MSR (Model Specific Register、モデル固有レジスタ)

MSR は、Pentium より実装された CPU 固有のレジスタです。これらのレジスタは CPU 内部の特殊な制御を行うのに使用します。

MSR は、以下の用途に使用されます。

  • MTRR(Memory Type Range Registers、メモリタイプ範囲レジスタ)
    MTRR は Pentium Pro より実装されている機能です。特定のメモリ範囲の種類を設定することにより高速なバス転送を可能にします。特に VGA のビデオメモリ部を投機的な書き込み(write-combining) に設定することで飛躍的に画像処理速度が増します。
  • 性能モニタリング(Performance Monitoring)
    CPU 内のパフォーマンスを測定するための専用のレジスタがあります。これらのレジスタを使用することにより、より正確なパフォーマンス測定が可能になります。VTune 等のソフトウェアで多用されています。
  • Microcode の更新
    Intel 系の CPU は CPU 内部に patch を当てるための専用 code (Microcode) を受け入れる領域があります。MSR はこの領域を更新する時に使用します。
  • MCA(Machine Check Architecture)
    MCA は CPU 内部のエラー検知に使用します。通常はシステム起動時に CPU が正しく動作しているかの確認を行います。これも MSR を通して使用します。
  • Power Management
    多くの CPU ベンダーはパワーマネージメントの制御に MSR を使用しています。

Windows

  • MSR(Model Specific Register)を読む・書く (坂井瑞穂のPC話)
    最初に MSR が気になったときに参考になった page です。Windows 9x 系で MSR を読み書きする方法について検討しています。お勧め。
  • archive.org:tech.millto.net/~morry
    もう閉鎖されてしまった page なのですが、Windows 9x 時代には貴重な情報源として活用させてもらいました。「SysReg - System Register Dumper」というツールが MSR を読み込む機能を持ち合わせていたと思いました。VxD 経由かな。

Linux


Last-modified: 2005.08.01 (月) 05:32:26 (7072d)