CPUID

概要

CPUIDとは、米インテル(Intel)社のCPUなどに実装された機械語(マシン語)の命令の一つで、CPUの機種や製造元の情報を返すもの。製品によって対応状況が異なる機能の使い分けなどに用いられる。

同社製品や他社の互換製品などx86系CPUで利用できる命令の一つで、1990年代にi486シリーズの一部製品に導入され、後継のPentium以降の製品では標準的に利用できるようになっている。命令の種類を表すオペコードopcode)は16進数で「0FA2」である。

オペランドは無く単体で実行する命令だが、EAXレジスタの内容によって結果が変化する。EAXが「0」の場合は製造元を表すベンダーID文字列で返す。12文字のASCIIコードがEBX、EDX、ECXの各レジスタに3文字分ずつ格納される。例えば、Intel社製は「GenuineIntel」を返す。

EAXが「1」の場合はCPUの機種や機能に関する複数の情報を返す。EAXにCPUの製品モデルを表すステッピング、モデル、ファミリー、プロセッサタイプなどが格納され、EDXとECXには拡張機能実装されているか否かを表す機能フラグが格納される。これ以外に追加の情報がある場合はEBXに格納される。

他にも、EAXが「2」の場合にはキャッシュメモリTLBTranslation Lookaside Buffer)の情報を、「3」の場合には製品個体ごとに異なるプロセッサシリアルナンバー(Pentium 4以降では廃止)を返す。さらに、EAXが16進数で「80000000」以降に拡張機能が用意されており、米AMD社が独自に策定した機能の有無を問い合わせたり、CPUの製品名を表すプロセッサブランド文字列を取得することができる。

CPUIDで実行環境CPUを調査することで、ソフトウェアを特定世代以降の製品でのみ実行できるようにしたり、マルチメディア拡張命令など製品のモデルや世代によって対応状況が異なる拡張機能の有無を調べてコードを使い分けるといった挙動を実装することができる。CPUIDで調べられる情報を一覧表示するユーティリティソフトなども公開されている。

(2024.2.19更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる