Windows 10 64 位要求:我的 CPU 是否支持 CMPXCHG16b、PrefetchW 和 LAHF/SAHF?

Windows 10 64 位要求:我的 CPU 是否支持 CMPXCHG16b、PrefetchW 和 LAHF/SAHF?

我目前正在尝试确定将我略显过时的笔记本电脑(Windows 7,64 位)更新到 Windows 10 是否是个好主意。问题是微软在其Windows 10 规格要使用 64 位版本的 Windows 10,需要支持 CMPXCHG16b、PrefetchW 和 LAHF/SAHF 的处理器。我知道我的处理器是 64 位的 (Intel Core i5-2430M @ 2.40 GHz),但我不知道如何确定它是否支持 CMPXCHG16b、PrefetchW 和 LAHF/SAHF,我也不知道这些是什么意思。

我尝试使用 Google,但没有得到对我有意义的结果,只有我的 i5 和类似的 AMD 处理器的一些比较。我还查看了英特尔的 ARK 网站。如果有人能告诉我在哪里可以获得更多信息,我将不胜感激。

答案1

您的处理器支持这些功能。事实上,运行 64 位 Windows 8.1 需要相同的功能。所有现代处理器都满足此要求,通常只有某些 Core 2 及更早的处理器才会出现此问题。

这些指令是什么?

  • 早期的 AMD64 处理器缺少该CMPXCHG16B指令,它是大多数 80486 后处理器上存在的指令的扩展CMPXCHG8B。与 类似CMPXCHG8BCMPXCHG16B允许对八进制字进行原子操作。这对于使用比较和交换大于指针大小的数据的并行算法很有用,这在无锁和无等待算法中很常见。如果没有,则CMPXCHG16B必须使用变通方法,例如临界区或替代的无锁方法。它的缺失还会阻止 Windows 8.1 之前的 64 位 Windows 拥有大于 8 TB 的用户模式地址空间。64 位版本的 Windows 8.1 需要该指令。
  • PREFETCHW指令提示处理器将数据从内存预取到缓存中,以便进行写入(Intel 指令集参考,PDF 第 888 页)。该指令是在 AMD 的3D现在!PREFETCH指令集,除了和指令之外,该指令已被弃用PREFETCHW。自 Athlon 64 以来的所有 AMD 处理器都支持此指令。但是,一些较旧的 64 位 Intel 处理器可能不支持此指令,早于尼黑勒姆

  • LAHF和分别将寄存器SAHF的内容加载和存储AH到标志寄存器中(英特尔指令集参考,PDF 第 530 页和 1025 页)。一些较旧的英特尔处理器没有硬件虚拟化 (VT-x) 功能不支持该指令在 64 位系统中运行时长模式;这些大多仅限于某些早于尼黑勒姆. 一些非常老的 AMD64 处理器也缺少此功能。

  • 早期的 AMD64 和 Intel 64 CPU 在 64 位模式下缺少 LAHF 和 SAHF 指令。AMD 于 2005 年 3 月在其 Athlon 64、Opteron 和 Turion 64 修订版 D 处理器中引入了这些指令(也在 64 位模式下),而 Intel 于 2005 年 12 月在 Pentium 4 G1 步进中引入了这些指令。64 位版本的 Windows 8.1 需要此功能。

这对我意味着什么?

答案2

有一个名为核心信息由 Microsoft 提供,提供类似cat /proc/cpuinfoLinux 的功能。

你必须搜索一下,但你可以在这里找到信息,

LAHF-SAHF       -       Supports LAHF/SAHF instructions in 64-bit mode
NX              -       Supports no-execute page protection
CX16            *       Supports CMPXCHG16B instruction
X64             *       Supports 64-bit mode
PREFETCHW       -       Supports PREFETCHW instruction

-CPU 缺少该功能意味着它*具有该功能。

现在我看,coreinfo 实际上是微软建议在文档页面上做出决定的,

核心信息是一个可以用来确认您的 CPU 具有哪些功能的工具。+

我的处理器 Intel E7525 的完整结果如下,

Coreinfo v3.31 - Dump information on system CPU and memory topology
Copyright (C) 2008-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Xeon(TM) CPU 3.40GHz
x86 Family 15 Model 4 Stepping 3, GenuineIntel
Microcode signature: 00000005
HTT             *       Hyperthreading enabled
HYPERVISOR      -       Hypervisor is present
VMX             -       Supports Intel hardware-assisted virtualization
SVM             -       Supports AMD hardware-assisted virtualization
X64             *       Supports 64-bit mode

SMX             -       Supports Intel trusted execution
SKINIT          -       Supports AMD SKINIT

NX              -       Supports no-execute page protection
SMEP            -       Supports Supervisor Mode Execution Prevention
SMAP            -       Supports Supervisor Mode Access Prevention
PAGE1GB         -       Supports 1 GB large pages
PAE             *       Supports > 32-bit physical addresses
PAT             *       Supports Page Attribute Table
PSE             *       Supports 4 MB pages
PSE36           *       Supports > 32-bit address 4 MB pages
PGE             *       Supports global bit in page tables
SS              *       Supports bus snooping for cache operations
VME             *       Supports Virtual-8086 mode
RDWRFSGSBASE    -       Supports direct GS/FS base access

FPU             *       Implements i387 floating point instructions
MMX             *       Supports MMX instruction set
MMXEXT          -       Implements AMD MMX extensions
3DNOW           -       Supports 3DNow! instructions
3DNOWEXT        -       Supports 3DNow! extension instructions
SSE             *       Supports Streaming SIMD Extensions
SSE2            *       Supports Streaming SIMD Extensions 2
SSE3            *       Supports Streaming SIMD Extensions 3
SSSE3           -       Supports Supplemental SIMD Extensions 3
SSE4a           -       Supports Streaming SIMDR Extensions 4a
SSE4.1          -       Supports Streaming SIMD Extensions 4.1
SSE4.2          -       Supports Streaming SIMD Extensions 4.2

AES             -       Supports AES extensions
AVX             -       Supports AVX intruction extensions
FMA             -       Supports FMA extensions using YMM state
MSR             *       Implements RDMSR/WRMSR instructions
MTRR            *       Supports Memory Type Range Registers
XSAVE           -       Supports XSAVE/XRSTOR instructions
OSXSAVE         -       Supports XSETBV/XGETBV instructions
RDRAND          -       Supports RDRAND instruction
RDSEED          -       Supports RDSEED instruction

CMOV            *       Supports CMOVcc instruction
CLFSH           *       Supports CLFLUSH instruction
CX8             *       Supports compare and exchange 8-byte instructions
CX16            *       Supports CMPXCHG16B instruction
BMI1            -       Supports bit manipulation extensions 1
BMI2            -       Supports bit manipulation extensions 2
ADX             -       Supports ADCX/ADOX instructions
DCA             -       Supports prefetch from memory-mapped device
F16C            -       Supports half-precision instruction
FXSR            *       Supports FXSAVE/FXSTOR instructions
FFXSR           -       Supports optimized FXSAVE/FSRSTOR instruction
MONITOR         *       Supports MONITOR and MWAIT instructions
MOVBE           -       Supports MOVBE instruction
ERMSB           -       Supports Enhanced REP MOVSB/STOSB
PCLMULDQ        -       Supports PCLMULDQ instruction
POPCNT          -       Supports POPCNT instruction
LZCNT           -       Supports LZCNT instruction
SEP             *       Supports fast system call instructions
LAHF-SAHF       -       Supports LAHF/SAHF instructions in 64-bit mode
HLE             -       Supports Hardware Lock Elision instructions
RTM             -       Supports Restricted Transactional Memory instructions

DE              *       Supports I/O breakpoints including CR4.DE
DTES64          *       Can write history of 64-bit branch addresses
DS              *       Implements memory-resident debug buffer
DS-CPL          *       Supports Debug Store feature with CPL
PCID            -       Supports PCIDs and settable CR4.PCIDE
INVPCID         -       Supports INVPCID instruction
PDCM            -       Supports Performance Capabilities MSR
RDTSCP          -       Supports RDTSCP instruction
TSC             *       Supports RDTSC instruction
TSC-DEADLINE    -       Local APIC supports one-shot deadline timer
TSC-INVARIANT   -       TSC runs at constant rate
xTPR            *       Supports disabling task priority messages

EIST            *       Supports Enhanced Intel Speedstep
ACPI            *       Implements MSR for power management
TM              *       Implements thermal monitor circuitry
TM2             -       Implements Thermal Monitor 2 control
APIC            *       Implements software-accessible local APIC
x2APIC          -       Supports x2APIC

CNXT-ID         *       L1 data cache mode adaptive or BIOS

MCE             *       Supports Machine Check, INT18 and CR4.MCE
MCA             *       Implements Machine Check Architecture
PBE             *       Supports use of FERR#/PBE# pin

PSN             -       Implements 96-bit processor serial number

PREFETCHW       -       Supports PREFETCHW instruction

Maximum implemented CPUID leaves: 00000005 (Basic), 80000008 (Extended).

Logical to Physical Processor Map:
*-  Physical Processor 0
-*  Physical Processor 1

Logical Processor to Socket Map:

Logical Processor to NUMA Node Map:
**  NUMA Node 0

Logical Processor to Cache Map:

答案3

如果您可以在 Windows 中使用命令行,那么:

  • 获取 SysInternals来自 technet 的 coreinfo.exe
  • 跑步coreinfo > coreinfo.txt
  • 在文本编辑器中打开文件,然后对每个指令进行查找(不区分大小写)

PS: 在 Linux 中你可以使用grep flags /proc/cpuinfo | head -1

答案4

“英特尔(R) 酷睿(TM) i7-2600K CPU @ 3.40GHz”

“不支持 PREFETCHWT1 指令”

来自 AIDA 64 Extreme。^^

这三个 - CMPXCHG16b、PrefetchW 和 LAHF/SAHF 是从当前 64 位 Windows 7 安装升级到 64 位版本的 Windows 10 所必需的。

相关内容