CPU

1. P7350のIntel VT-xの有無について

 発表当時、IntelのSPEC表によると搭載されるCPUのスペックが下記となっており、P7350はVT-x無効、P8400はVT-x有効と違いがあり物議をかもした。

 Intel® Core2 Duo Mobile Processor P7350 (2GHz/3MB/45nm/M0)
 -Dual Core
 -Enhanced Intel Speedstep® Technology
 -Intel® EM64T
 -Execute Disable Bit

 Intel Core2 Duo Mobile Processor P8400 (2.26GHz/3MB/45nm/M0)
 -Dual Core
 -Enhanced Intel Speedstep® Technology
 -Intel® EM64T
 -Intel® Virtualization Technology
 -Execute Disable Bit

 実機に搭載されたCPU P7350をツールで確認してみると、VMXフラグが有効となっており、スペック表とは異なりVT-xが有効にされていた。


 Mac miniに採用されたP7350のCPUIDを実機で取得すると下記の通りである。IntelのVirtualization & Software Development フォーラムに記載されたサポート担当の説明から判断すると、VT-xの有無を判断するためのレジスタ値はECX=0x0408E3BD、2進数で表記するとECX=0000/0100/0000/1000/1110/0011/1011/1101であり5bit目が1の為、CPUとしてVT-xはサポートされている。

0x00000000 : EAX=0x0000000D EBX=0x756E6547 ECX=0x6C65746E EDX=0x49656E69
0x00000001 : EAX=0x0001067A EBX=0x01020800 ECX=0x0408E3BD EDX=0xBFEBFBFF
0x00000002 : EAX=0x05B0B101 EBX=0x005657F0 ECX=0x00000000 EDX=0x2CB43048
0x00000003 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000004 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000005 : EAX=0x00000040 EBX=0x00000040 ECX=0x00000003 EDX=0x03122220
0x00000006 : EAX=0x00000001 EBX=0x00000002 ECX=0x00000003 EDX=0x00000000
0x00000007 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000008 : EAX=0x00000400 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x00000009 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000A : EAX=0x07280202 EBX=0x00000000 ECX=0x00000000 EDX=0x00000503
0x0000000B : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000C : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x0000000D : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000000 : EAX=0x80000008 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000001 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000001 EDX=0x20100000
0x80000002 : EAX=0x65746E49 EBX=0x2952286C ECX=0x726F4320 EDX=0x4D542865
0x80000003 : EAX=0x44203229 EBX=0x43206F75 ECX=0x20205550 EDX=0x50202020
0x80000004 : EAX=0x30353337 EBX=0x20402020 ECX=0x30302E32 EDX=0x007A4847
0x80000005 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000006 : EAX=0x00000000 EBX=0x00000000 ECX=0x0C006040 EDX=0x00000000
0x80000007 : EAX=0x00000000 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000
0x80000008 : EAX=0x00003024 EBX=0x00000000 ECX=0x00000000 EDX=0x00000000

1.1.1
Discovering Support for Intel

® VT (VMX)

The CPUID instruction can be used to determine whether a processor supports Intel VT. >The CPUID instruction returns processor identification and feature information in the EAX, EBX, ECX, and EDX registers. If CPUID.1:ECX.VMX[bit 5] = 1, then VMX operation is supported.

Below are the assembly instructions to read check Intel VT-x capability of CPU:

MOV EAX, 01H

CPUID

Check ECX.[bit 5] -> A value of 1 indicates that the processor supports Intel VT-x

1.1.2

Checking Intel® VT Enabled CPU

Bit 13 of CR4 register can be read to determine if CPU is enabled for Intel VT. A value of for CR4.VMXE[bit13] means CPU is enabled for VMX operations.

Check CR4.VMXE[bit 13] = 1 —> Enables VMX operation when set.

MSR 3A can also be used to check if CPU is VT enabled.

For more information on CPUID, see Chapter 3, "Instruction Set Reference, A-M," in the Intel 64 and IA-32 Software Developer Manual, Volume 2A

Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3B, section 19 and appendix G for more info on VMX capability reporting.

 また、Windows 7の機能でXPとの互換性を提供するXP Modeが発表され、注意点として下記サイトなどでP7350のVT-x無効が報じられるなど、再度、VT-xの確認有無が問われたが、Windows 7 RC版でXP Modeの動作確認が取れ、Mac miniでは確実にVT-xが有効であると判断された。

 How many Intel CPUs will fail the XP Mode test in Windows 7?
 Find your CPU model under its family, and then look in the column to the right. YES means the CPU models in that row all support Intel VT; NO means VT is not supported.

Mobile CPU products
Core 2 Duo Mobile VT
P7350/7450 NO
P8400/8600/8700/9500/9600 YES

■結論

 フォーラムでのIntelのサポート担当の説明によると、VT-xの有無などプロセッサ機能の一部はOEM先の要望により変更されて出荷されることがある。Appleは、BootCampによるWindowsサポートを提供するだけでなく、VMwareなどの仮想化ソリューションによるWindowsサポートを推進している。その為、VT-xの有無は重要な要素で、VT-xが有効にカスタマイズされたOEM向け用P7350を採用したと考えられる。

 なお、CPUはソケットに直付けされており、注文時にBTOオプションで交換する以外は変更できない。また、VT-xが有効にされた製品は上位製品としてP7370として、P7350とは区別されている。


最終更新:2009年08月07日 13:45