Windows 10 64-bit requirements: Does my CPU support CMPXCHG16b, PrefetchW and LAHF/SAHF?
I'm currently trying to find out whether or not it would be a good idea to update my slightly dated notebook (Windows 7, 64-bit) to Windows 10. The problem is that Microsoft states in their Windows 10 specifications that to use the 64-bit version of Windows 10, a processor which supports CMPXCHG16b, PrefetchW and LAHF/SAHF is needed. I know that my processor is 64-bit (Intel Core i5-2430M @ 2.40 GHz) but I don't know how to find out whether it supports CMPXCHG16b, PrefetchW and LAHF/SAHF, and I have no idea what these mean.
I tried using Google and got no results that made sense to me, only some comparison of my i5 and a similar AMD processor. I also checked Intel's ARK website. If somebody could point me to where I can get more info I would be really grateful.
windows-7 cpu 64-bit windows-10-upgrade
|
show 3 more comments
I'm currently trying to find out whether or not it would be a good idea to update my slightly dated notebook (Windows 7, 64-bit) to Windows 10. The problem is that Microsoft states in their Windows 10 specifications that to use the 64-bit version of Windows 10, a processor which supports CMPXCHG16b, PrefetchW and LAHF/SAHF is needed. I know that my processor is 64-bit (Intel Core i5-2430M @ 2.40 GHz) but I don't know how to find out whether it supports CMPXCHG16b, PrefetchW and LAHF/SAHF, and I have no idea what these mean.
I tried using Google and got no results that made sense to me, only some comparison of my i5 and a similar AMD processor. I also checked Intel's ARK website. If somebody could point me to where I can get more info I would be really grateful.
windows-7 cpu 64-bit windows-10-upgrade
1
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
1
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
1
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
1
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04
|
show 3 more comments
I'm currently trying to find out whether or not it would be a good idea to update my slightly dated notebook (Windows 7, 64-bit) to Windows 10. The problem is that Microsoft states in their Windows 10 specifications that to use the 64-bit version of Windows 10, a processor which supports CMPXCHG16b, PrefetchW and LAHF/SAHF is needed. I know that my processor is 64-bit (Intel Core i5-2430M @ 2.40 GHz) but I don't know how to find out whether it supports CMPXCHG16b, PrefetchW and LAHF/SAHF, and I have no idea what these mean.
I tried using Google and got no results that made sense to me, only some comparison of my i5 and a similar AMD processor. I also checked Intel's ARK website. If somebody could point me to where I can get more info I would be really grateful.
windows-7 cpu 64-bit windows-10-upgrade
I'm currently trying to find out whether or not it would be a good idea to update my slightly dated notebook (Windows 7, 64-bit) to Windows 10. The problem is that Microsoft states in their Windows 10 specifications that to use the 64-bit version of Windows 10, a processor which supports CMPXCHG16b, PrefetchW and LAHF/SAHF is needed. I know that my processor is 64-bit (Intel Core i5-2430M @ 2.40 GHz) but I don't know how to find out whether it supports CMPXCHG16b, PrefetchW and LAHF/SAHF, and I have no idea what these mean.
I tried using Google and got no results that made sense to me, only some comparison of my i5 and a similar AMD processor. I also checked Intel's ARK website. If somebody could point me to where I can get more info I would be really grateful.
windows-7 cpu 64-bit windows-10-upgrade
windows-7 cpu 64-bit windows-10-upgrade
edited Jul 16 '15 at 3:21
bwDraco
36.9k37137177
36.9k37137177
asked Jun 23 '15 at 22:18
roebsiroebsi
93116
93116
1
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
1
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
1
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
1
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04
|
show 3 more comments
1
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
1
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
1
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
1
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04
1
1
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
1
1
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
1
1
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
1
1
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04
|
show 3 more comments
4 Answers
4
active
oldest
votes
Your processor supports these features. In fact, the same features are required to run 64-bit Windows 8.1. This requirement is met by all modern processors and is generally only an issue with certain Core 2 and earlier processors.
What are these instructions?
- The
CMPXCHG16B
instruction performs an atomic compare-and-exchange on 16-byte values. It is supported on all modern x86-64 processors, although some early AMD64 CPUs did not support it. This instruction may also be referred to asCompareExchange128
. See also: How prevalent are old x64 processors lacking the cmpxchg16b instruction?
- Early AMD64 processors lacked the
CMPXCHG16B
instruction, which is an extension of theCMPXCHG8B
instruction present on most post-80486 processors. Similar toCMPXCHG8B
,CMPXCHG16B
allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. WithoutCMPXCHG16B
one must use workarounds, such as a critical section or alternative lock-free approaches. Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes. The 64-bit version of Windows 8.1 requires the instruction.
The
PREFETCHW
instruction is a hint to the processor to prefetch data from memory into the cache in anticipation for writing (Intel Instruction Set Reference, PDF page 888). This instruction was introduced in AMD's 3DNow! instruction set, which is deprecated except for thePREFETCH
andPREFETCHW
instructions. All AMD processors since the Athlon 64 support this instruction. However, this instruction may not be supported in some older 64-bit Intel processors predating Nehalem.The
LAHF
andSAHF
load and store the contents of theAH
register into the flags register, respectively (Intel Instruction Set Reference, PDF pages 530 and 1025). Some older Intel processors without hardware virtualization (VT-x) functionality do not support this instruction when running in 64-bit long mode; these are mostly limited to certain low-end processors predating Nehalem. Some very old AMD64 processors also lack this feature.
- Early AMD64 and Intel 64 CPUs lacked LAHF and SAHF instructions in 64-bit mode. AMD introduced these instructions (also in 64-bit mode) with their Athlon 64, Opteron and Turion 64 revision D processors in March 2005 while Intel introduced the instructions with the Pentium 4 G1 stepping in December 2005. The 64-bit version of Windows 8.1 requires this feature.
What does this mean for me?
All Intel Core i7, i5, or i3 processors, as well as all Pentium or Celeron processors based on the Clarkdale, Arrandale, Sandy Bridge, or newer microarchitectures, support these features, as well as Intel Atom and Celeron Silvermont processors. For AMD, all but the oldest 64-bit processors have these features.
You generally only need to be concerned about these instructions if you have a processor that predates the above. The Get Windows 10 app will tell you if you can upgrade to Windows 10. If the processor doesn't meet requirements, you'll get "The CPU isn't supported."
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles__builtin_prefetch(p,1,2)
to PREFETCHT1 with-march=haswell
, and to PREFETCHW with-march=broadwell
. Also, the Linux/proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.
– Peter Cordes
Nov 9 '16 at 21:34
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
@bwDraco: yes. Its0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runsprefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.
– Peter Cordes
Nov 9 '16 at 21:46
|
show 10 more comments
If you can use the command line in Windows then:
- Get SysInternals coreinfo.exe from technet
- Run
coreinfo > coreinfo.txt
- Open the file in a text editor, and do a find (case insensitive) for each of the instructions
PS: In Linux you would use grep flags /proc/cpuinfo | head -1
add a comment |
There is a utility called coreinfo, provided by Microsoft, that provides functionality like cat /proc/cpuinfo
on Linux.
You have to search through this but you can find the information here,
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
The -
mean that the CPU lacks that feature, the *
mean it has that feature.
Now that I look, coreinfo is actually suggested by Microsoft to make the determination on that doc page,
Coreinfo is a tool you can use to confirm which of these capabilities your CPU has.+
Full result for my processor, a Intel E7525, looks like this,
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:
add a comment |
"Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
"PREFETCHWT1 Instruction Not Supported"
From AIDA 64 Extreme. ^^
These three - CMPXCHG16b, PrefetchW and LAHF/SAHF are required for upgrade to a 64bit version of Windows 10 from a current 64bit installation of Windows 7.
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f931742%2fwindows-10-64-bit-requirements-does-my-cpu-support-cmpxchg16b-prefetchw-and-la%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your processor supports these features. In fact, the same features are required to run 64-bit Windows 8.1. This requirement is met by all modern processors and is generally only an issue with certain Core 2 and earlier processors.
What are these instructions?
- The
CMPXCHG16B
instruction performs an atomic compare-and-exchange on 16-byte values. It is supported on all modern x86-64 processors, although some early AMD64 CPUs did not support it. This instruction may also be referred to asCompareExchange128
. See also: How prevalent are old x64 processors lacking the cmpxchg16b instruction?
- Early AMD64 processors lacked the
CMPXCHG16B
instruction, which is an extension of theCMPXCHG8B
instruction present on most post-80486 processors. Similar toCMPXCHG8B
,CMPXCHG16B
allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. WithoutCMPXCHG16B
one must use workarounds, such as a critical section or alternative lock-free approaches. Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes. The 64-bit version of Windows 8.1 requires the instruction.
The
PREFETCHW
instruction is a hint to the processor to prefetch data from memory into the cache in anticipation for writing (Intel Instruction Set Reference, PDF page 888). This instruction was introduced in AMD's 3DNow! instruction set, which is deprecated except for thePREFETCH
andPREFETCHW
instructions. All AMD processors since the Athlon 64 support this instruction. However, this instruction may not be supported in some older 64-bit Intel processors predating Nehalem.The
LAHF
andSAHF
load and store the contents of theAH
register into the flags register, respectively (Intel Instruction Set Reference, PDF pages 530 and 1025). Some older Intel processors without hardware virtualization (VT-x) functionality do not support this instruction when running in 64-bit long mode; these are mostly limited to certain low-end processors predating Nehalem. Some very old AMD64 processors also lack this feature.
- Early AMD64 and Intel 64 CPUs lacked LAHF and SAHF instructions in 64-bit mode. AMD introduced these instructions (also in 64-bit mode) with their Athlon 64, Opteron and Turion 64 revision D processors in March 2005 while Intel introduced the instructions with the Pentium 4 G1 stepping in December 2005. The 64-bit version of Windows 8.1 requires this feature.
What does this mean for me?
All Intel Core i7, i5, or i3 processors, as well as all Pentium or Celeron processors based on the Clarkdale, Arrandale, Sandy Bridge, or newer microarchitectures, support these features, as well as Intel Atom and Celeron Silvermont processors. For AMD, all but the oldest 64-bit processors have these features.
You generally only need to be concerned about these instructions if you have a processor that predates the above. The Get Windows 10 app will tell you if you can upgrade to Windows 10. If the processor doesn't meet requirements, you'll get "The CPU isn't supported."
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles__builtin_prefetch(p,1,2)
to PREFETCHT1 with-march=haswell
, and to PREFETCHW with-march=broadwell
. Also, the Linux/proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.
– Peter Cordes
Nov 9 '16 at 21:34
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
@bwDraco: yes. Its0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runsprefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.
– Peter Cordes
Nov 9 '16 at 21:46
|
show 10 more comments
Your processor supports these features. In fact, the same features are required to run 64-bit Windows 8.1. This requirement is met by all modern processors and is generally only an issue with certain Core 2 and earlier processors.
What are these instructions?
- The
CMPXCHG16B
instruction performs an atomic compare-and-exchange on 16-byte values. It is supported on all modern x86-64 processors, although some early AMD64 CPUs did not support it. This instruction may also be referred to asCompareExchange128
. See also: How prevalent are old x64 processors lacking the cmpxchg16b instruction?
- Early AMD64 processors lacked the
CMPXCHG16B
instruction, which is an extension of theCMPXCHG8B
instruction present on most post-80486 processors. Similar toCMPXCHG8B
,CMPXCHG16B
allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. WithoutCMPXCHG16B
one must use workarounds, such as a critical section or alternative lock-free approaches. Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes. The 64-bit version of Windows 8.1 requires the instruction.
The
PREFETCHW
instruction is a hint to the processor to prefetch data from memory into the cache in anticipation for writing (Intel Instruction Set Reference, PDF page 888). This instruction was introduced in AMD's 3DNow! instruction set, which is deprecated except for thePREFETCH
andPREFETCHW
instructions. All AMD processors since the Athlon 64 support this instruction. However, this instruction may not be supported in some older 64-bit Intel processors predating Nehalem.The
LAHF
andSAHF
load and store the contents of theAH
register into the flags register, respectively (Intel Instruction Set Reference, PDF pages 530 and 1025). Some older Intel processors without hardware virtualization (VT-x) functionality do not support this instruction when running in 64-bit long mode; these are mostly limited to certain low-end processors predating Nehalem. Some very old AMD64 processors also lack this feature.
- Early AMD64 and Intel 64 CPUs lacked LAHF and SAHF instructions in 64-bit mode. AMD introduced these instructions (also in 64-bit mode) with their Athlon 64, Opteron and Turion 64 revision D processors in March 2005 while Intel introduced the instructions with the Pentium 4 G1 stepping in December 2005. The 64-bit version of Windows 8.1 requires this feature.
What does this mean for me?
All Intel Core i7, i5, or i3 processors, as well as all Pentium or Celeron processors based on the Clarkdale, Arrandale, Sandy Bridge, or newer microarchitectures, support these features, as well as Intel Atom and Celeron Silvermont processors. For AMD, all but the oldest 64-bit processors have these features.
You generally only need to be concerned about these instructions if you have a processor that predates the above. The Get Windows 10 app will tell you if you can upgrade to Windows 10. If the processor doesn't meet requirements, you'll get "The CPU isn't supported."
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles__builtin_prefetch(p,1,2)
to PREFETCHT1 with-march=haswell
, and to PREFETCHW with-march=broadwell
. Also, the Linux/proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.
– Peter Cordes
Nov 9 '16 at 21:34
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
@bwDraco: yes. Its0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runsprefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.
– Peter Cordes
Nov 9 '16 at 21:46
|
show 10 more comments
Your processor supports these features. In fact, the same features are required to run 64-bit Windows 8.1. This requirement is met by all modern processors and is generally only an issue with certain Core 2 and earlier processors.
What are these instructions?
- The
CMPXCHG16B
instruction performs an atomic compare-and-exchange on 16-byte values. It is supported on all modern x86-64 processors, although some early AMD64 CPUs did not support it. This instruction may also be referred to asCompareExchange128
. See also: How prevalent are old x64 processors lacking the cmpxchg16b instruction?
- Early AMD64 processors lacked the
CMPXCHG16B
instruction, which is an extension of theCMPXCHG8B
instruction present on most post-80486 processors. Similar toCMPXCHG8B
,CMPXCHG16B
allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. WithoutCMPXCHG16B
one must use workarounds, such as a critical section or alternative lock-free approaches. Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes. The 64-bit version of Windows 8.1 requires the instruction.
The
PREFETCHW
instruction is a hint to the processor to prefetch data from memory into the cache in anticipation for writing (Intel Instruction Set Reference, PDF page 888). This instruction was introduced in AMD's 3DNow! instruction set, which is deprecated except for thePREFETCH
andPREFETCHW
instructions. All AMD processors since the Athlon 64 support this instruction. However, this instruction may not be supported in some older 64-bit Intel processors predating Nehalem.The
LAHF
andSAHF
load and store the contents of theAH
register into the flags register, respectively (Intel Instruction Set Reference, PDF pages 530 and 1025). Some older Intel processors without hardware virtualization (VT-x) functionality do not support this instruction when running in 64-bit long mode; these are mostly limited to certain low-end processors predating Nehalem. Some very old AMD64 processors also lack this feature.
- Early AMD64 and Intel 64 CPUs lacked LAHF and SAHF instructions in 64-bit mode. AMD introduced these instructions (also in 64-bit mode) with their Athlon 64, Opteron and Turion 64 revision D processors in March 2005 while Intel introduced the instructions with the Pentium 4 G1 stepping in December 2005. The 64-bit version of Windows 8.1 requires this feature.
What does this mean for me?
All Intel Core i7, i5, or i3 processors, as well as all Pentium or Celeron processors based on the Clarkdale, Arrandale, Sandy Bridge, or newer microarchitectures, support these features, as well as Intel Atom and Celeron Silvermont processors. For AMD, all but the oldest 64-bit processors have these features.
You generally only need to be concerned about these instructions if you have a processor that predates the above. The Get Windows 10 app will tell you if you can upgrade to Windows 10. If the processor doesn't meet requirements, you'll get "The CPU isn't supported."
Your processor supports these features. In fact, the same features are required to run 64-bit Windows 8.1. This requirement is met by all modern processors and is generally only an issue with certain Core 2 and earlier processors.
What are these instructions?
- The
CMPXCHG16B
instruction performs an atomic compare-and-exchange on 16-byte values. It is supported on all modern x86-64 processors, although some early AMD64 CPUs did not support it. This instruction may also be referred to asCompareExchange128
. See also: How prevalent are old x64 processors lacking the cmpxchg16b instruction?
- Early AMD64 processors lacked the
CMPXCHG16B
instruction, which is an extension of theCMPXCHG8B
instruction present on most post-80486 processors. Similar toCMPXCHG8B
,CMPXCHG16B
allows for atomic operations on octal words. This is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer, common in lock-free and wait-free algorithms. WithoutCMPXCHG16B
one must use workarounds, such as a critical section or alternative lock-free approaches. Its absence also prevents 64-bit Windows prior to Windows 8.1 from having a user-mode address space larger than 8 terabytes. The 64-bit version of Windows 8.1 requires the instruction.
The
PREFETCHW
instruction is a hint to the processor to prefetch data from memory into the cache in anticipation for writing (Intel Instruction Set Reference, PDF page 888). This instruction was introduced in AMD's 3DNow! instruction set, which is deprecated except for thePREFETCH
andPREFETCHW
instructions. All AMD processors since the Athlon 64 support this instruction. However, this instruction may not be supported in some older 64-bit Intel processors predating Nehalem.The
LAHF
andSAHF
load and store the contents of theAH
register into the flags register, respectively (Intel Instruction Set Reference, PDF pages 530 and 1025). Some older Intel processors without hardware virtualization (VT-x) functionality do not support this instruction when running in 64-bit long mode; these are mostly limited to certain low-end processors predating Nehalem. Some very old AMD64 processors also lack this feature.
- Early AMD64 and Intel 64 CPUs lacked LAHF and SAHF instructions in 64-bit mode. AMD introduced these instructions (also in 64-bit mode) with their Athlon 64, Opteron and Turion 64 revision D processors in March 2005 while Intel introduced the instructions with the Pentium 4 G1 stepping in December 2005. The 64-bit version of Windows 8.1 requires this feature.
What does this mean for me?
All Intel Core i7, i5, or i3 processors, as well as all Pentium or Celeron processors based on the Clarkdale, Arrandale, Sandy Bridge, or newer microarchitectures, support these features, as well as Intel Atom and Celeron Silvermont processors. For AMD, all but the oldest 64-bit processors have these features.
You generally only need to be concerned about these instructions if you have a processor that predates the above. The Get Windows 10 app will tell you if you can upgrade to Windows 10. If the processor doesn't meet requirements, you'll get "The CPU isn't supported."
edited Mar 20 '17 at 10:04
Community♦
1
1
answered Jul 15 '15 at 23:34
bwDracobwDraco
36.9k37137177
36.9k37137177
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles__builtin_prefetch(p,1,2)
to PREFETCHT1 with-march=haswell
, and to PREFETCHW with-march=broadwell
. Also, the Linux/proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.
– Peter Cordes
Nov 9 '16 at 21:34
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
@bwDraco: yes. Its0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runsprefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.
– Peter Cordes
Nov 9 '16 at 21:46
|
show 10 more comments
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles__builtin_prefetch(p,1,2)
to PREFETCHT1 with-march=haswell
, and to PREFETCHW with-march=broadwell
. Also, the Linux/proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.
– Peter Cordes
Nov 9 '16 at 21:34
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
@bwDraco: yes. Its0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runsprefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.
– Peter Cordes
Nov 9 '16 at 21:46
1
1
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Should point out though, while these particular features are the same as required to run Windows 8.1, not all CPU features required to run Windows 10 are required to run Windows 8.1. In particular, PAE and NX are not required under 8.1 but mandatory for 10
– qasdfdsaq
Nov 6 '15 at 14:22
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
Actually even Nehalem is too new. I think any 64-bit Intel processor released in 2006 and later supports these features.
– Yuhong Bao
Jul 1 '16 at 1:46
1
1
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles
__builtin_prefetch(p,1,2)
to PREFETCHT1 with -march=haswell
, and to PREFETCHW with -march=broadwell
. Also, the Linux /proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.– Peter Cordes
Nov 9 '16 at 21:34
PREFETCHW support is new (for Intel) in Broadwell, so Windows 8.1 certainly doesn't require it. Evidence: gcc compiles
__builtin_prefetch(p,1,2)
to PREFETCHT1 with -march=haswell
, and to PREFETCHW with -march=broadwell
. Also, the Linux /proc/cpuinfo
dump from this Haswell CPU doesn't include 3dnowprefetch, but it does on broadwell and skylake. See unix.stackexchange.com/questions/43539/… for the meaning of flags.– Peter Cordes
Nov 9 '16 at 21:34
1
1
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
Maybe you were thinking of the SSE PREFETCHh instructions which have existed since PentiumIII at least.
– Peter Cordes
Nov 9 '16 at 21:36
1
1
@bwDraco: yes. Its
0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runs prefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.– Peter Cordes
Nov 9 '16 at 21:46
@bwDraco: yes. Its
0F 0D r/m8
machine-code encoding decodes as a multi-byte NOP on CPUs that don't support PREFETCHW, so there's apparently no compatibility issue. (The behaviour of prefetch instructions doesn't affect correctness, just performance.) I tried it on my Core2Duo CPU, in an asm program that runs prefetchw [rsp]
, and the instruction executes without faulting. But I'm 99% sure it has no effect.– Peter Cordes
Nov 9 '16 at 21:46
|
show 10 more comments
If you can use the command line in Windows then:
- Get SysInternals coreinfo.exe from technet
- Run
coreinfo > coreinfo.txt
- Open the file in a text editor, and do a find (case insensitive) for each of the instructions
PS: In Linux you would use grep flags /proc/cpuinfo | head -1
add a comment |
If you can use the command line in Windows then:
- Get SysInternals coreinfo.exe from technet
- Run
coreinfo > coreinfo.txt
- Open the file in a text editor, and do a find (case insensitive) for each of the instructions
PS: In Linux you would use grep flags /proc/cpuinfo | head -1
add a comment |
If you can use the command line in Windows then:
- Get SysInternals coreinfo.exe from technet
- Run
coreinfo > coreinfo.txt
- Open the file in a text editor, and do a find (case insensitive) for each of the instructions
PS: In Linux you would use grep flags /proc/cpuinfo | head -1
If you can use the command line in Windows then:
- Get SysInternals coreinfo.exe from technet
- Run
coreinfo > coreinfo.txt
- Open the file in a text editor, and do a find (case insensitive) for each of the instructions
PS: In Linux you would use grep flags /proc/cpuinfo | head -1
answered Oct 14 '15 at 6:26
robocatrobocat
1212
1212
add a comment |
add a comment |
There is a utility called coreinfo, provided by Microsoft, that provides functionality like cat /proc/cpuinfo
on Linux.
You have to search through this but you can find the information here,
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
The -
mean that the CPU lacks that feature, the *
mean it has that feature.
Now that I look, coreinfo is actually suggested by Microsoft to make the determination on that doc page,
Coreinfo is a tool you can use to confirm which of these capabilities your CPU has.+
Full result for my processor, a Intel E7525, looks like this,
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:
add a comment |
There is a utility called coreinfo, provided by Microsoft, that provides functionality like cat /proc/cpuinfo
on Linux.
You have to search through this but you can find the information here,
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
The -
mean that the CPU lacks that feature, the *
mean it has that feature.
Now that I look, coreinfo is actually suggested by Microsoft to make the determination on that doc page,
Coreinfo is a tool you can use to confirm which of these capabilities your CPU has.+
Full result for my processor, a Intel E7525, looks like this,
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:
add a comment |
There is a utility called coreinfo, provided by Microsoft, that provides functionality like cat /proc/cpuinfo
on Linux.
You have to search through this but you can find the information here,
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
The -
mean that the CPU lacks that feature, the *
mean it has that feature.
Now that I look, coreinfo is actually suggested by Microsoft to make the determination on that doc page,
Coreinfo is a tool you can use to confirm which of these capabilities your CPU has.+
Full result for my processor, a Intel E7525, looks like this,
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:
There is a utility called coreinfo, provided by Microsoft, that provides functionality like cat /proc/cpuinfo
on Linux.
You have to search through this but you can find the information here,
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
The -
mean that the CPU lacks that feature, the *
mean it has that feature.
Now that I look, coreinfo is actually suggested by Microsoft to make the determination on that doc page,
Coreinfo is a tool you can use to confirm which of these capabilities your CPU has.+
Full result for my processor, a Intel E7525, looks like this,
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:
answered Jan 20 at 19:25
Evan CarrollEvan Carroll
4,310853105
4,310853105
add a comment |
add a comment |
"Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
"PREFETCHWT1 Instruction Not Supported"
From AIDA 64 Extreme. ^^
These three - CMPXCHG16b, PrefetchW and LAHF/SAHF are required for upgrade to a 64bit version of Windows 10 from a current 64bit installation of Windows 7.
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
add a comment |
"Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
"PREFETCHWT1 Instruction Not Supported"
From AIDA 64 Extreme. ^^
These three - CMPXCHG16b, PrefetchW and LAHF/SAHF are required for upgrade to a 64bit version of Windows 10 from a current 64bit installation of Windows 7.
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
add a comment |
"Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
"PREFETCHWT1 Instruction Not Supported"
From AIDA 64 Extreme. ^^
These three - CMPXCHG16b, PrefetchW and LAHF/SAHF are required for upgrade to a 64bit version of Windows 10 from a current 64bit installation of Windows 7.
"Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
"PREFETCHWT1 Instruction Not Supported"
From AIDA 64 Extreme. ^^
These three - CMPXCHG16b, PrefetchW and LAHF/SAHF are required for upgrade to a 64bit version of Windows 10 from a current 64bit installation of Windows 7.
answered Jul 22 '15 at 0:58
JotaJota
1
1
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
add a comment |
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
6
6
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
PREFETCHWT1 is a separate instruction and is not required, so don't confuse it with PREFETCHW.
– bwDraco
Jul 22 '15 at 1:33
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f931742%2fwindows-10-64-bit-requirements-does-my-cpu-support-cmpxchg16b-prefetchw-and-la%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
I think you are worrying too much. The i5's are relatively recent and will be fine. However, a general rule of thumb is not to run 64bit unless you have >4GB of RAM, the overheads can make things run slower rather than faster. Windows 32bit can only directly access slightly less than 4GB so only if you go over that is it worth going 64bit
– Julian Knight
Jun 23 '15 at 22:42
1
If you can upgrade to Windows 8.1 you can upgrade to Windows 10. You can also run a compatibility check for both if you want.
– Ramhound
Jun 23 '15 at 23:38
Run a tool under Windows 7 that displays CPUID data, this tells you if the CPU supports the futures. I use an I5-3xxxM and here Windows 8.1 works, so it has the 3 features. You are only 1 generation behind, so it should also support all features.
– magicandre1981
Jun 24 '15 at 4:16
1
@JulianKnight I'd advise 64bit to anyone with 2 or 3gb and a dedicated graphics card as the graphics card memory also needs to fit into the address space. If you have 4gb of ram and a 2gb graphics card then you've just wasted 2gb of ram and are worse off than if you'd installed 64 bit.
– Mokubai♦
Jul 22 '15 at 6:30
1
Don't worry about that. Except for some early Atom or x86_64 CPUs, all Intel CPUs in (a little more than) a decade back can run windows 10 without problem
– phuclv
Oct 14 '15 at 8:04