我目前正在尝试确定将我略显过时的笔记本电脑(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 及更早的处理器才会出现此问题。
这些指令是什么?
- 该
CMPXCHG16B
指令执行原子比较与交换16 字节值。它支持所有现代x86-64处理器,尽管一些早期的 AMD64 CPU 不支持它。该指令也可以称为CompareExchange128
。也可以看看:缺少 cmpxchg16b 指令的旧 x64 处理器有多普遍?
- 早期的 AMD64 处理器缺少该
CMPXCHG16B
指令,它是大多数 80486 后处理器上存在的指令的扩展CMPXCHG8B
。与 类似CMPXCHG8B
,CMPXCHG16B
允许对八进制字进行原子操作。这对于使用比较和交换大于指针大小的数据的并行算法很有用,这在无锁和无等待算法中很常见。如果没有,则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 需要此功能。
这对我意味着什么?
所有 Intel Core i7、i5 或 i3 处理器,以及所有基于克拉克代尔,阿伦代尔,珊迪大桥或更新的微架构支持这些功能,以及英特尔凌动和赛扬西尔弗蒙特处理器。对于 AMD 来说,除了最老的 64 位处理器外,其他所有处理器都具有这些功能。
如果您拥有早于上述版本的处理器,那么您通常只需要关注这些说明。获取 Windows 10 应用程序将告诉您是否可以升级到 Windows 10。如果处理器不满足要求,您将得到“该 CPU 不受支持。“
答案2
有一个名为核心信息由 Microsoft 提供,提供类似cat /proc/cpuinfo
Linux 的功能。
你必须搜索一下,但你可以在这里找到信息,
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 所必需的。