• 検索結果がありません。

説明

EAX

レジスタの入力値が

0

の場合、プロセッサは、

CPUID

基本情報を返すために、

CPUID

命令が認識可能な最大値を

EAX

レジスタに返す(表

2-5.

を参照)。EBX、EDX、ECXの各 レジスタには、ベンダ識別ストリングが返される。インテル®プロセッサの場合、ベンダ 識別ストリングは「GenuineIntel」になり、次のように表される。

EBX ← 756e6547h (* "Genu", with G in the low nibble of BL *) EDX ← 49656e69h (* "ineI", with i in the low nibble of DL *) ECX ← 6c65746eh (* "ntel", with n in the low nibble of CL *)

オペコード 命令 64

ビット モード

互換/ レガシー モード

説明

0F A2 CPUID 有効 有効 EAXレジスタに最初に入力された値に応

じて、プロセッサの識別情報と機能情報

EAX、EBX、ECX、EDXの各レジス

タに返す。

表2-5. CPUID機能リーフ

EAXの初期値 プロセッサに関して提供される情報

0H EAX

EBX ECX EDX

CPUID基本情報の最大入力値(表2-6.を参照)

“Genu”

“ntel”

“ineI”

1H EAX

EBX

ECX EDX

バージョン情報(タイプ、ファミリ、モデル、ステッピングID)

ビット70:ブランド・インデックス

ビット158:CLFLUSHのラインサイズ(返される値∗ 8 =キャッシュ・

ライン・サイズ)

ビット2316:物理パッケージ当たりの論理プロセッサの数

ビット3124:プロセッサのローカルAPIC IDの初期値

機能情報(図2-8.を参照)

機能情報(図2-8.を参照)

2H EAX

EBX ECX EDX

キャッシュおよびTLB情報 キャッシュおよびTLB情報 キャッシュおよびTLB情報 キャッシュおよびTLB情報

3H EAX

EBX ECX EDX

予約済み 予約済み 予約済み 予約済み

4H

EAX

EBX

ECX EDX

キャッシュ・パラメータ・リーフ

ビット40:キャッシュ・タイプ**

ビット75:キャッシュ・レベル(1から始まる)

ビット8:キャッシュ・レベルの自己初期化(ソフトウェアによる初期化は

不要)

ビット9:フル・アソシアティブ・キャッシュ

ビット1310:予約済み

ビット2514:このキャッシュを共有しているスレッドの数*

ビット3126:このダイ上のプロセッサ・コアの数(マルチコア)*

ビット1100:L =システム・コヒーレンシ・キャッシュ・サイズ*

ビット2112:P =物理ライン・パーティション*

ビット3122:W =アソシアティブ・ウェイ数*

ビット3100:S =セット数*

予約済み= 0

* この数を求めるには、レジスタファイル内の値に1を加算する。

例えば、プロセッサ・コアの数は、EAX[31:26]+1になる。

**キャッシュ・タイプ・フィールド 0 = Null -キャッシュなし

1 =データ・キャッシュ

2 =命令キャッシュ

3 =ユニファイド・キャッシュ

431 =予約済み

注:3より大きく80000000より小さいCPUIDリーフは、IA32_CR_

MISC_ENABLES.BOOT_NT4(ビット22)がクリアされている場合(デ

フォルト)にのみ参照可能である。

5H

EAX

EBX ECX EDX

MONITOR/MWAITリーフ

ビット1500:最小モニタライン・サイズ(バイト単位)(デフォルトは

プロセッサのモニタ・グラニュラリティ)

ビット3116:予約済み= 0

ビット1500:最大モニタライン・サイズ(バイト単位)(デフォルトは

プロセッサのモニタ・グラニュラリティ)

ビット3116:予約済み= 0

予約済み= 0 予約済み= 0

拡張機能CPUID情報

80000000H EAX

EBX ECX EDX

拡張機能CPUID情報の最大入力値(表2-6.を参照)

予約済み 予約済み 予約済み 80000001H

EAX EBX ECX EDX

拡張されたプロセッサ・シグネチャと拡張された機能ビット 予約済み

予約済み 予約済み

ビット100:予約済み

ビット11:SYSCALL/SYSRETを利用可能

ビット1912:予約済み

ビット28-21:予約済み

ビット29:インテルEM64Tを利用可能

ビット31-30:予約済み

表2-5. CPUID機能リーフ(続き)

EAXの初期値 プロセッサに関して提供される情報

入力値が

1

の場合、プロセッサは

EAXレジスタにバージョン情報を返す(図 2-3.

を参照)。 バージョン情報は、

IA-32

プロセッサ・ファミリ

ID

、モデル

ID

、ステッピング

ID

、プロ セッサ・タイプで構成される。インテル®

EM64T

に対応した最初のプロセッサのモデル、

ファミリ、プロセッサ・タイプは、次のようになる。

モデル

- 0011B

80000002H EAX

EBX ECX EDX

プロセッサ・ブランド・ストリング

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

80000003H EAX

EBX ECX EDX

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

80000004H EAX

EBX ECX EDX

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

プロセッサ・ブランド・ストリング(続き)

80000005H EAX

EBX ECX EDX

予約済み= 0 予約済み= 0 予約済み= 0 予約済み= 0

80000006H EAX

EBX ECX

EDX

予約済み= 0 予約済み= 0

ビット70:キャッシュ・ライン・サイズ

ビット1512:L2アソシアティビティ

ビット3116:キャッシュ・サイズ(1K単位)

初期値はECX = 0x04008040 予約済み= 0

80000007H EAX

EBX ECX EDX

予約済み= 0 予約済み= 0 予約済み= 0 予約済み= 0

80000008H EAX

EBX ECX EDX

仮想/物理アドレスサイズ

ビット70:物理アドレスビット数

ビット158:仮想アドレスビット数

ビット3116:予約済み

初期値はEAX = 0x3028 予約済み= 0

予約済み= 0 予約済み= 0

表2-6. インテル® EM64T対応プロセッサに対するCPUID命令のソース・オペランドの最大値

IA-32プロセッサ

EAXレジスタの最大値

基本情報 拡張機能情報

5H 80000008H

表2-5. CPUID機能リーフ(続き)

EAXの初期値 プロセッサに関して提供される情報

プロセッサ・タイプ

- 00B

使用可能なプロセッサ・タイプについては、表

2-7.

を参照のこと。ステッピング

ID

につい ては、必要に応じて情報を提供する。

ファミリ

ID

0FH

またはそれ以上の場合にのみ、拡張ファミリ

ID

と拡張モデル

ID

を確認 する必要がある。プロセッサ情報は、常にファミリ、モデル、ステッピングを組み合わせ て表示すること。

ID

フィールドを次のように計算して、ファミリを表示する。

Displayed family = ((Extended Family ID(4-bits) << 4)) (8-bits) + Family ID (4-bits zero extended to 8-bits)

表示されるモデルは、モデル

ID

と拡張モデル

ID

から次のように計算する。

Displayed Model = ((Extended Model ID (4-bits) << 4))(8-bits) + Model (4-bits zero extended to 8-bits)

初期の

IA-32

プロセッサの識別については、

AP-485

『インテル®

プロセッサの識別と CPUID

命令(資料番号

241618J

)』および『

IA-32

インテル®アーキテクチャ・ソフトウェア・デベ ロッパーズ・マニュアル、上巻』の第

13章を参照のこと。

EAX

レジスタの入力値が1の場合、

EBX

レジスタには、関連のない

4

つの情報が返される。

図2-3. EAXレジスタのバージョン情報

表2-7. プロセッサ・タイプ・フィールド

タイプ コード化

オリジナルOEMプロセッサ 00B

インテル® OverDrive®プロセッサ 01B

デュアルプロセッサ* 10B

インテル用に予約済み 11B

* Intel486™プロセッサには適用不可

31 12 11 8 7 4 3 0

EAX

ファミリ(インテル® Pentium® 4プロセッサ・ファミリの場合は1111B)

モデル(0000Bから開始)

13 14

プロセッサ・タイプ

ファミリ モデル ステッピング ID

15 モデル

拡張 ファミリ

16 19 20 27

28

拡張

ブランド・インデックス

EBX[7:0] - IA-32

プロセッサのブランド・ストリングで構成さ れるブランド・ストリング・テーブルのエントリには、この数字が入っている。ブラ ンド・インデックスの用途の詳細については、この命令の「ブランド識別」の項を参 照のこと。このフィールドは、インテル®

Pentium

®

III Xeon™

プロセッサで導入された ものである。

• CLFLUSH

命令キャッシュ・ライン・サイズ

EBX[15:8] -

この数字は、CLFLUSH命令に よって

8

バイト・インクリメントでフラッシュされるキャッシュ・ラインのサイズを示 す。このフィールドは、インテル®

Pentium

®

4

プロセッサで導入されたものである。

• EBX[23:16]

には、パッケージに含まれるスレッドの数が示される。

• APIC ID

の初期値 EBX[31:24] -この数字は、電源入力時にプロセッサのローカル

APICに

割り当てられる

8

ビットの物理

ID

を示す。このフィールドは、インテル

Pentium 4

プロ セッサで導入されたものである。

EAX

レジスタの入力値が1の場合、機能情報は

EDX

レジスタに返される(図

2-8.

を参照)。 オペレーティング・システムやアプリケーションのコードは、この機能ビットを利用して、

プロセッサで利用可能な

IA-32

アーキテクチャ機能を識別できる。表

2-8.

に、EDXレジス タの機能フラグのコード化を示す。現時点で

EDX

レジスタに返されるすべての機能フラグ について、1は、対応する機能をサポートしていることを示す。ソフトウェアは、機能フ ラグを正しく解釈するのに当たってインテルをベンダとして識別する必要がある。ソフト ウェアは、将来の機能フラグについて、機能の存在を示す

1

に依存してはならない。

表2-8. CPUID機能情報

レジスタビット番号 ニーモニック 説明

EDX.0 FPU オンチップ浮動小数点ユニット。プロセッサは、x87 FPU

搭載している。

EDX.1 VME 仮想8086モード強化。仮想8086モード強化機能には次の

ものが含まれる。機能制御用のCR4.VME、保護モード仮想 割り込み用のCR4.PVI、ソフトウェア割り込みインダイレク ション、ソフトウェア・インダイレクション・ビットマップ によるTSSの拡張、EFLAGS.VIFフラグ、EFLAGS.VIP ラグ。

EDX.2 DE デバッグ拡張。機能制御用のCR4.DE、オプションのDR4

およびDR5へのアクセストラップを含めて、I/Oブレークポ イントをサポート。

EDX.3 PSE ページ・サイズ拡張。機能制御用のCR4.PSE、ページ・

ディレクトリ・エントリ(PDE)内の定義済みのダーティ ビット、CR3、PDE、PTE内のオプションの予約ビット・ト ラッピングを含めて、4Mバイトのラージ・ページ・サイズ をサポート。

EDX.4 TSC タイム・スタンプ・カウンタ。特権制御用のCR4.TSDを含

めて、RDTSC命令をサポート。

EDX.5 MSR モデル固有レジスタのRDMSR命令およびWRMSR命令。

RDMSR命令とWRMSR命令をサポート。MSRによっては、

プロセッサに依存しないものもある。

関連したドキュメント