CPUID (CPU Identification) †
CPUID は、x86 系の CPU 識別情報を返却する特殊な命令コードです。
CPUの機能として以下の機能が実装されています。
- CPU 製造元の識別
製造元(Intel, AMD, VIA,...)の会社を識別することができます。x86 CPU であれば CPUID 自身の意味合いはほとんど同じで差はありません。
- 拡張された命令コードの有効/無効
MMX/SSE 等、CPU の進歩に伴い拡張された命令コードを CPU がサポートしているかどうか確認できます。サポートしていない命令コードを実行した場合、CPU は実行不可能な命令コードとして例外処理を行います。CPUID を参照することで例外処理を行わせる前に CPU が対象の命令コードをサポートしているかどうかを判断することが可能です。
- 拡張した機能の有無
ACPI や温度センサーのサポート等、拡張された CPU 機能を確認することができます。
- PSN(Processor Serial Number)
CPU 固有に割り振られる 96bit のシリアル番号が取得できます。Pentium III base CPU の特有の機能です。MSR 命令コードより無効にすることも可能です。この機能は、Pentium III に実装された当初からプライバシー侵害の恐れがあるとして指摘され、結局 Pentium 4 base CPU では PSN を実装しませんでした。