24531904_j
24531904_j 24531904_j
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 アーキテク チャのコードにも対応しているか確認する必要がある。
- Seite 404 und 405: ARPL ─ Adjust RPL Field of Segmen
- Seite 406 und 407: BOUND ─ Check Array Index Against
- Seite 408 und 409: BSF ─ Bit Scan Forward ( 続き )
- Seite 410 und 411: BSR ─ Bit Scan Reverse ( 続き )
- Seite 412 und 413: BT ─ Bit Test オペコード 命
- Seite 414 und 415: BTC ─ Bit Test and Complement オ
- Seite 416 und 417: BTR ─ Bit Test and Reset オペ
- Seite 418 und 419: BTS ─ Bit Test and Set オペコ
- Seite 420 und 421: CALL ─ Call Procedure オペコ
- Seite 422 und 423: CALL ─ Call Procedure ( 続き )
- Seite 424 und 425: CALL ─ Call Procedure ( 続き )
- Seite 426 und 427: CALL ─ Call Procedure ( 続き )
- Seite 428 und 429: CALL ─ Call Procedure ( 続き )
- Seite 430 und 431: CBW/CWDE ─ Convert Byte to Word/C
- Seite 432 und 433: CLC ─ Clear Carry Flag オペコ
- Seite 434 und 435: CLI ─ Clear Interrupt Flag オペ
- Seite 436 und 437: CLTS—Clear Task-Switched Flag in
- Seite 438 und 439: CMOVcc—Conditional Move オペコ
- Seite 440 und 441: CMOVcc—Conditional Move ( 続き
- Seite 442 und 443: CMP—Compare Two Operands オペ
- Seite 444 und 445: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 446 und 447: CMPS/CMPSB/CMPSW/CMPSD—Compare St
- Seite 448 und 449: CMPXCHG—Compare and Exchange (
- Seite 450 und 451: CMPXCHG8B—Compare and Exchange 8
- Seite 452 und 453: CPUID—CPU Identification オペ
- Seite 456 und 457: CPUID—CPU Identification ( 続き
- Seite 458 und 459: CWDE—Convert Word to Doubleword
- Seite 460 und 461: DAS—Decimal Adjust AL after Subtr
- Seite 462 und 463: DEC—Decrement by 1 ( 続き ) #AC
- Seite 464 und 465: DIV—Unsigned Divide ( 続き ) FI
- Seite 466 und 467: ENTER—Make Stack Frame for Proced
- Seite 468 und 469: ENTER—Make Stack Frame for Proced
- Seite 470 und 471: F2XM1—Compute 2 x -1 ( 続き )
- Seite 472 und 473: FADD/FADDP/FIADD—Add オペコー
- Seite 474 und 475: FADD/FADDP/FIADD—Add ( 続き )
- Seite 476 und 477: FBLD—Load Binary Coded Decimal
- Seite 478 und 479: FBSTP—Store BCD Integer and Pop
- Seite 480 und 481: FBSTP—Store BCD Integer and Pop (
- Seite 482 und 483: FCLEX/FNCLEX—Clear Exceptions オ
- Seite 484 und 485: FCMOVcc—Floating-Point Conditiona
- Seite 486 und 487: FCOM/FCOMP/FCOMPP—Compare Real (
- Seite 488 und 489: FCOMI/FCOMIP/FUCOMI/FUCOMIP—Compa
- Seite 490 und 491: FCOMI/FCOMIP/ FUCOMI/FUCOMIP—Comp
- Seite 492 und 493: FCOS—Cosine ( 続き ) 追加の
- Seite 494 und 495: FDIV/FDIVP/FIDIV—Divide オペコ
- Seite 496 und 497: FDIV/FDIVP/FIDIV—Divide ( 続き
- Seite 498 und 499: FDIVR/FDIVRP/FIDIVR—Reverse Divid
- Seite 500 und 501: FDIVR/FDIVRP/FIDIVR—Reverse Divid
- Seite 502 und 503: FFREE—Free Floating-Point Registe
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 />
チャのコードにも対応しているか確認する必要がある。