#topicpath
-----
*MSR (Model Specific Register、モデル固有レジスタ) [#e7553996]

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 [#z604fa5e]
-[[Multiple WinXP kernel vulns can give user mode programs kernel mode privileges:http://www.securityfocus.com/archive/1/354392/2004-05-23/2004-05-29/1]] ([[SecurityFocus:http://www.securityfocus.com/]])~
www.itmedia.co.jp/enterprise/0402/20/epn06.html~
Windows では MSR をuser-mode で使用出来るっぽい。ただしセキュリティホールとしての認識有り(ぉぃ。そらそうだけど、Kernel Driver を使用することなく MSR を弄れるのは魅力的すぎ。

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

**Linux [#vb9995ae]
-[[Pentium 4 Performance Counter Tools For Linux:http://www.eg.bucknell.edu/~bsprunt/emon/brink_abyss/brink_abyss.shtm]]
-[[Rabbit - A Performance Counters Library for Intel/AMD Processors and Linux:http://www.scl.ameslab.gov/Projects/Rabbit/]]
-[[xhardmeter:http://hardmeter.sourceforge.jp/]]

-http://www.kernel.org/pub/linux/utils/cpu/msr-tools/
-http://www.kernel.org/pub/linux/utils/cpu/crusoe/
-www.itmedia.co.jp/help/tips/linux/l0613.html~
ITmedia の記事「CrusoeプロセッサのLongRun機能が使いたい」。

-[[k7mctrl tkK7mauto:http://www.mars.dti.ne.jp/~daitei/k7mctrl/]]

-[[パフォーマンスを上げるために PPro Memory Type Range Register を用いる方法:http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/mtrr.txt.html]] (JF Project)





//*仮置き場
//*お勧め
//**用語
//*News
//*関連情報
//**用語
//**Linux
//**Windows
//-----
//*[[フィードバック]]
//アナタからのフィードバックをお待ちしています。書き込む前に[[フィードバック]]の注意書きをお読みください。
//#comment