CPUID(4)

名前
cpuid - x86 CPUID アクセスデバイス

説明
CPUID は x86 CPU に関する情報を問い合わせるためのインターフェースを提供する。 このデバイスには lseek(2) と pread(2) を使って、 適切な CPUID レベルにアクセスし、 16 バイトのデータを読み出す。 もっと大きな読み出しサイズを指定すると、 連続する複数のレベルが読み出される。 ファイル位置の下位 32 ビットは次の %eax として使用され、 ファイル位置の上位 32 ビットは次の %ecx として使用される。 後者は、 eax=4 のように eax レベルを数えるのを意図したものである。 このドライバーは /dev/cpu/CPUNUM/cpuid を使用する。 なお CPUNUM はマイナー番号である。 SMP マシンでは、 このドライバーは /proc/cpuinfo に載っている CPU CPUNUM にアクセスする。 このファイルは、 ユーザー root またはグループ root だけが読み出しできるように保護されている。

注意
CPUID 命令はインラインアセンブラーを使ってプログラムで直接実行できる。 しかし、 このデバイスを使うことで、 プロセスの affinity を変更せずにすべての CPU に便利にアクセスできる。 cpuid の情報のほとんどは、 /proc/cpuinfo か、 /sys/devices/system/cpu のサブディレクトリ経由で読みやすい形で参照できる。 このデバイス経由で直接 CPUID にアクセスするのは例外的な場合にだけにすべきである。 cpuid ドライバーは自動ではロードされない。 モジュールに対応したカーネルでは、 使用する前に以下のコマンドを使って明示的にロードする必要がある。
     $ modprobe cpuid 追加の入力レジスターが必要な CPUID 機能はサポートされていない。 非常に古い x86 CPU では CPUID はサポートされていない。

関連項目
Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M, 3-180 CPUID reference. Intel Corporation, Intel Processor Identification and the CPUID Instruction, Application note 485.

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。