24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

CPUID—CPU Identification ( 続き ) 表 1-5. EDX レジスタに返される機能フラグ ( 続き ) ビット IA-32 システム環境機能 7 MCE - マシン・チェック例 外 Itanium ベース・ システム環境機能 使用不可 プロセッサは、PAL で定 義された MCHK アーキ テクチャを使用する。 3:442 第 3 巻 : IA-32 基本命令リファレンス 説明 プロセッサは、マシン・チェック例外をイネーブルにする CR4.MCE ビットをサポートする。ただし、この機能はモ デル固有インプリメンテーションのマシン・チェック・エ ラー・ロギング、レポート、またはプロセッサ・シャット ダウンの定義は行わない。マシン・チェック例外ハンドラ は、モデル固有の例外処理を実行するためにプロセッサ・ バージョンの確認、または標準のマシン・チェック機能の 有無の確認が必要な場合があるかもしれない。 8 CX8 - CMPXCHG8B 命令 使用可能 プロセッサは CMPXCHG8B (8 バイト比較および交換 ) 命 令をサポートする。 9 APIC 使用不可 Itanium 割り込み機構で 置き換えられる。 10 予約済み ゼロに返す。 12 MTRR - メモリ・タイプ範 囲レジスタ 13 PGE - PTE グローバル・フ ラグ 14 MCA - マシン・チェック・ アーキテクチャ 15 CMOV - 条件付き転送およ び比較命令 16 PSE-36 - 36 ビット・ペー ジ・サイズ拡張 使用不可 プロセッサは、Itanium アーキテクチャによって 定義された TLB から得 られるメモリ属性を利用 する。 使用不可 Itanium アーキテクチャ で定義された仮想リー ジョンで置き換えられ る。 使用不可 プロセッサは、PAL で定 義された MCHK アーキ テクチャを使用する。 プロセッサは、オンチップのアドバンスト・プログラム可 能割り込みコントローラ (APIC) を内蔵し、イネーブルに し、使用可能にしてある。 プロセッサは、マシン固有のメモリ・タイプ範囲レジスタ (MTRR) をサポートする。MTRR には、プロセッサがサ ポートするメモリ・タイプと可変 MTRR の数、およびプ ロセッサが固定 MTRR をサポートするかどうかをカバー する、プロセッサの MTRR 能力を示すビット・フィール ドがある。 プロセッサは、PTDE および PTE 両方のグローバル・ビッ トをイネーブルにする CR4.PGE フラグをサポートする。 これらのビットは、各種のタスクに共通であり、制御レジ スタ CR3 が書き込まれたときにフラッシュする必要がな い変換ルックアサイド・バッファ (TLB) のエントリの指示 に使用される。 プロセッサは、MCG_CAP ( マシン・チェック・グローバ ル能力 ) MSR をサポートする。MCG_CAP レジスタはプ ロセッサがエラー・レポート用 MSR バンクをいくつサ ポートするかを示す。 使用可能 プロセッサは、CMOV CC 命令をサポートする。さらに、 FPU 機能フラグ ( ビット 0) もセットされている場合は、 FCMOV CC および FCOMI 命令をサポートする。 使用不可。Itanium アー キテクチャは、32 ビッ トを超える物理アドレス 指定を常にサポートす る。 17 PAT - メモリ属性パレット ページングでは使用不 可。インテル Itanium アーキテクチャで定義さ れた仮想リージョンで置 き換えられる。 18 PPN - 物理プロセッサ番号 使用不可 インテル Itanium アーキ テクチャは、この機能を サポートしない。 23 MMX - インテル MMX テク ノロジ プロセッサが、4GB を超える物理メモリをアドレス指定で きる 4M バイト・ページをサポートするかどうかを示す。 この機能は、4M バイト・ページの物理アドレスの上位 4 ビットが、ページ・ディレクトリ・エントリのビット 13 ~ 16 によってコード化されることを示す。 プロセッサは、IA-32 物理属性テーブルをサポートする。 プロセッサは、物理プロセッサ番号機能をサポートしてお り、この機能がイネーブルになっている。 使用可能 プロセッサはインテル MMX テクノロジをサポートする。 24 FXSR 使用可能 プロセッサはストリーミング SIMD 拡張命令の FXRSTOR 命令と FXSAVE 命令をサポートする。

CPUID—CPU Identification ( 続き ) 表 1-5. EDX レジスタに返される機能フラグ ( 続き ) ビット IA-32 システム環境機能 25 XMM - ストリーミングSIMD 拡張命令 30 インテル Itanium アーキテ クチャに基づくプロセッサ Itanium ベース・ システム環境機能 EAX レ ジ ス タ の入力値が 2 のと きは、 プロセッサはプロセッサの内部キャッシュおよび TLB に関する情報を EAX、 EBX、 ECX、 EDX レジスタに返す。 これらのレジスタの コード化は、 以下のとおりである。 • EAX レジスタ (AL レジスタ ) の最下位バイ ト は、 入力値を 2 として、 プロセッサの キャッシュと TLB の完全な記述を得るために CPUID 命令が実行されなければな ら ない回数を示す。 • 各レ ジ ス タ の最上位ビ ッ ト ( ビッ ト 31) は、 レジスタに有効な情報がある (0 にクリ ア ) か、 予約されている (1 にセッ ト ) かを示す。 プロセッサの内部キャッシュ と TLB の戻 り 値をデ コ ー ド する方法の詳細は、 プ ロ セ ッ サ の補足資料を参照の こ と 。 CPUID は、命令のシリアル化操作とメモリ・フェンス操作を実行する。 操作 CASE (EAX) OF EAX = 0: EAX ← highest input value understood by CPUID; (* 2 for Itanium processor *) EBX ← Vendor identification string; EDX ← Vendor identification string; ECX ← Vendor identification string; BREAK; EAX = 1: EAX[3:0] ← Stepping ID; EAX[7:4] ← Model; EAX[11:8] ← Family; EAX[15:12] ← Reserved; EAX[19:16] ← Extended Model ID; EAX[27:20] ← Extended Family ID; EAX[31:28] ← Reserved; EBX ← Reserved; ECX ← Reserved; EDX ← Feature flags; BREAK; EAX = 2: EAX[7:0] ← N_Param_Descrip_Blocks = 1; EAX[31:8], EBX, ECX, EDX = cache and TLB parameters BREAK; DEFAULT: (* EAX > highest value recognized by CPUID *) EAX ← Reserved, Undefined; 第 3 巻 : IA-32 基本命令リファレンス 3:443 説明 使用可能 プロセッサは、インテル アーキテクチャ・ストリーミング SIMD 拡張命令をサポートする。 使用可能 プロセッサは、インテル Itanium アーキテクチャに基づい ており、インテル Itanium 命令セットを実行できる。 インテル Itanium 命令セットに切り換える前に IA-32 アプ リケーション・レベルでも実行中のオペレーティング・シ ステムをチェックして、システムが Itanium アーキテク チャのコードにも対応しているか確認する必要がある。

CPUID—CPU Identification ( 続き )<br />

表 1-5. EDX レジスタに返される機能フラグ ( 続き )<br />

ビット IA-32 システム環境機能<br />

25 XMM - ストリーミングSIMD<br />

拡張命令<br />

30 インテル Itanium アーキテ<br />

クチャに基づくプロセッサ<br />

Itanium ベース・<br />

システム環境機能<br />

EAX レ ジ ス タ の入力値が 2 のと きは、 プロセッサはプロセッサの内部キャッシュおよび TLB に関する情報を EAX、 EBX、 ECX、 EDX レジスタに返す。 これらのレジスタの<br />

コード化は、 以下のとおりである。<br />

• EAX レジスタ (AL レジスタ ) の最下位バイ ト は、 入力値を 2 として、 プロセッサの<br />

キャッシュと TLB の完全な記述を得るために CPUID 命令が実行されなければな ら<br />

ない回数を示す。<br />

• 各レ ジ ス タ の最上位ビ ッ ト ( ビッ ト 31) は、 レジスタに有効な情報がある (0 にクリ<br />

ア ) か、 予約されている (1 にセッ ト ) かを示す。<br />

プロセッサの内部キャッシュ と TLB の戻 り 値をデ コ ー ド する方法の詳細は、 プ ロ セ ッ サ<br />

の補足資料を参照の こ と 。<br />

CPUID は、命令のシリアル化操作とメモリ・フェンス操作を実行する。<br />

操作<br />

CASE (EAX) OF<br />

EAX = 0:<br />

EAX ← highest input value understood by CPUID; (* 2 for Itanium processor *)<br />

EBX ← Vendor identification string;<br />

EDX ← Vendor identification string;<br />

ECX ← Vendor identification string;<br />

BREAK;<br />

EAX = 1:<br />

EAX[3:0] ← Stepping ID;<br />

EAX[7:4] ← Model;<br />

EAX[11:8] ← Family;<br />

EAX[15:12] ← Reserved;<br />

EAX[19:16] ← Extended Model ID;<br />

EAX[27:20] ← Extended Family ID;<br />

EAX[31:28] ← Reserved;<br />

EBX ← Reserved;<br />

ECX ← Reserved;<br />

EDX ← Feature flags;<br />

BREAK;<br />

EAX = 2:<br />

EAX[7:0] ← N_Param_Descrip_Blocks = 1;<br />

EAX[31:8], EBX, ECX, EDX = cache and TLB parameters<br />

BREAK;<br />

DEFAULT: (* EAX > highest value recognized by CPUID *)<br />

EAX ← Reserved, Undefined;<br />

第 3 巻 : IA-32 基本命令リファレンス 3:443<br />

説明<br />

使用可能 プロセッサは、インテル アーキテクチャ・ストリーミング<br />

SIMD 拡張命令をサポートする。<br />

使用可能 プロセッサは、インテル Itanium アーキテクチャに基づい<br />

ており、インテル Itanium 命令セットを実行できる。<br />

インテル Itanium 命令セットに切り換える前に IA-32 アプ<br />

リケーション・レベルでも実行中のオペレーティング・シ<br />

ステムをチェックして、システムが Itanium アーキテク<br />

チャのコードにも対応しているか確認する必要がある。

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!