24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

WBINVD—Write Back and Invalidate Cache ( 続き ) インテル・アーキテクチャにおける互換性 WDINVD 命令はプ ロ セ ッ サに依存し、 その機能は将来の イ ン テル ・ アー キ テ ク チ ャ ・ プ ロ セ ッ サでは異な っ てサポ ー ト さ れる可能性 も ある。 こ の命令は、 Intel486 プロセッサよ り以前のインテル ・ アーキテクチャ ・ プロセッサではサポー ト されていない。 3:770 第 3 巻 : IA-32 基本命令リファレンス

WRMSR—Write to Model Specific Register オペコード 命令 説明 0F 30 WRMSR EDX:EAX の値を ECX で指定される MSR に書き込む。 説明 レジスタ EDX:EAX の内容を ECX レジスタで指定された64 ビッ トのモデル固有レジス タ (MSR) に書き込む。 上位 32 ビッ トがEDX か ら コ ピ ー さ れ、 下位 32 ビットがEAX か らコピーされる。 MSR の未定義ビ ッ ト ま たは予約ビ ッ ト は、 常に以前に読み取 ら れてい る値に設定される。 WRMSR 命令は、 特権レベル 0 または実アドレス ・モー ドで実行しなければならない。 そ う しない と 、 一般保護例外 #GP(0) が生成される。 予約されているかまたは定義されて いない MSR アドレスをECX に指定して も 、 一般保護例外が生成 さ れる。 WRMSR 命令を使用して MTRR に書き込む と、 グロ ーバル ・ エン ト リ を含めて TLB が 無効化 さ れる。 詳細は 『IA-32 インテル ® アーキテクチャ ・ ソフ ト ウェア ・ ディベロッ パーズ ・ マニュアル、 下巻』 第3 章を参照のこ と。 MSR は、 テ ス ト 機能、 実行 ト レ ー ス、 性能モニ タ リ ン グ、 マシ ン ・ チ ェ ッ ク ・ エ ラ ー の 機能を制御す る。 こ の命令で書き込みがで き る すべての MSR と、 各MSR のア ド レスに ついては、 モデル固有命令を参照の こ と 。 WRMSR 命令は シ リ アル化命令であ る。 この命令を使用する前に、 CPUID 命令を使用して MSR がサポー ト されている (EDX[5]=1) かど う かを確認する必要がある。 操作 IF Itanium System Environment THEN IA-32_Intercept(INST,WRMSR); MSR[ECX] ← EDX:EAX; 影響を受けるフラグ なし。 追加の Itanium ベース・システム環境例外 IA-32_Intercept 強制命令イ ン タ ー セプ ト 。 保護モード例外 #GP(0) 現行特権レベルが 0 でない場合。 ECX の値が予約されているかまたは定義されていない MSR アドレスを指定している場合。 実アドレス・モード例外 #GP 現行特権レベルが 0 でない場合。 ECX の値が予約されているかまたは定義されていない MSR アドレスを指定している場合。 第 3 巻 : IA-32 基本命令リファレンス 3:771

WRMSR—Write to Model Specific Register<br />

オペコード 命令 説明<br />

0F 30 WRMSR EDX:EAX の値を ECX で指定される MSR に書き込む。<br />

説明<br />

レジスタ EDX:EAX の内容を ECX レジスタで指定された64 ビッ トのモデル固有レジス<br />

タ (MSR) に書き込む。 上位 32 ビッ トがEDX か ら コ ピ ー さ れ、 下位 32 ビットがEAX か<br />

らコピーされる。 MSR の未定義ビ ッ ト ま たは予約ビ ッ ト は、 常に以前に読み取 ら れてい<br />

る値に設定される。<br />

WRMSR 命令は、 特権レベル 0 または実アドレス ・モー ドで実行しなければならない。<br />

そ う しない と 、 一般保護例外 #GP(0) が生成される。 予約されているかまたは定義されて<br />

いない MSR アドレスをECX に指定して も 、 一般保護例外が生成 さ れる。<br />

WRMSR 命令を使用して MTRR に書き込む と、 グロ ーバル ・ エン ト リ を含めて TLB が<br />

無効化 さ れる。 詳細は 『IA-32 インテル ® アーキテクチャ ・ ソフ ト ウェア ・ ディベロッ<br />

パーズ ・ マニュアル、 下巻』 第3 章を参照のこ と。<br />

MSR は、 テ ス ト 機能、 実行 ト レ ー ス、 性能モニ タ リ ン グ、 マシ ン ・ チ ェ ッ ク ・ エ ラ ー の<br />

機能を制御す る。 こ の命令で書き込みがで き る すべての MSR と、 各MSR のア ド レスに<br />

ついては、 モデル固有命令を参照の こ と 。<br />

WRMSR 命令は シ リ アル化命令であ る。<br />

この命令を使用する前に、 CPUID 命令を使用して MSR がサポー ト されている<br />

(EDX[5]=1) かど う かを確認する必要がある。<br />

操作<br />

IF Itanium System Environment THEN IA-32_Intercept(INST,WRMSR);<br />

MSR[ECX] ← EDX:EAX;<br />

影響を受けるフラグ<br />

なし。<br />

追加の Itanium ベース・システム環境例外<br />

IA-32_Intercept 強制命令イ ン タ ー セプ ト 。<br />

保護モード例外<br />

#GP(0) 現行特権レベルが 0 でない場合。<br />

ECX の値が予約されているかまたは定義されていない<br />

MSR アドレスを指定している場合。<br />

実アドレス・モード例外<br />

#GP 現行特権レベルが 0 でない場合。<br />

ECX の値が予約されているかまたは定義されていない<br />

MSR アドレスを指定している場合。<br />

第 3 巻 : IA-32 基本命令リファレンス 3:771

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!