Manpages

名 前

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/ に 書 か れ て い る 。