|
▼ふくちゃんさん:
>txtとスクリーンショットをupします。
原因がわかりました。
CPUID命令の出力は以下のようになっています。
00000000 : 00000002 756E6547 6C65746E 49656E69
00000001 : 000006F6 00020800 0000E3BD BFEBFBFF
00000002 : 05B0B101 005657F0 00000000 2CB43049
80000000 : 80000008 00000000 00000000 00000000
80000001 : 00000000 00000000 00000001 20100000
80000002 : 65746E49 2952286C 726F4320 4D542865
80000003 : 43203229 20205550 20202020 20202020
80000004 : 30303636 20402020 30342E32 007A4847
80000005 : 00000000 00000000 00000000 00000000
80000006 : 00000000 00000000 10008040 00000000
80000007 : 00000000 00000000 00000000 00000000
80000008 : 00003024 00000000 00000000 00000000
物理コア数は 0x00000004 番に格納されているのですが、今回の結果では 0x00000002 までしか対応していないようです。BIOS で CPUID 命令の範囲を制限していることも考えられますがいかがでしょう?(NT4の不具合対策としてCPUID命令の範囲を制限することが可能なBIOSもあるらしいので・・・)
とはいえ、このままというわけにもいかないので CPUID 命令を使って直接取得できない場合は適当な補正ルーチンを入れて対応したいと思います。
|
|