Windows 10 64 비트 요구 사항 : 내 CPU가 CMPXCHG16b, PrefetchW 및 LAHF / SAHF를 지원합니까?


12

현재 약간 오래된 날짜의 노트북 (Windows 7, 64 비트)을 Windows 10으로 업데이트하는 것이 좋은지 여부를 찾으려고 노력하고 있습니다. 문제는 Microsoft가 Windows 10 사양 에 64 비트 버전의 Windows 10에는 CMPXCHG16b, PrefetchW 및 LAHF / SAHF를 지원하는 프로세서가 필요합니다. 내 프로세서가 64 비트 (Intel Core i5-2430M @ 2.40GHz)라는 것을 알고 있지만 CMPXCHG16b, PrefetchW 및 LAHF / SAHF를 지원하는지 확인하는 방법을 모르겠습니다.

나는 Google을 사용해 보았지만 나에게 의미가있는 결과를 얻지 못했지만 i5와 비슷한 AMD 프로세서의 일부만 비교했습니다. 또한 인텔의 ARK 웹 사이트를 확인했습니다. 누군가 내가 더 많은 정보를 얻을 수있는 곳을 알려 줄 수 있다면 정말 감사 할 것입니다.


1
당신이 너무 걱정하고 있다고 생각합니다. i5는 비교적 최신 버전이며 괜찮을 것입니다. 그러나 일반적으로 일반적으로> 4GB의 RAM이 없으면 64 비트를 실행하지 않아야합니다. Windows 32 비트는 4GB보다 약간 작은 크기로만 직접 액세스 할 수 있으므로 64 비트로 전환 할 가치가 있습니다.
Julian Knight

1
Windows 8.1로 업그레이드 할 수 있으면 Windows 10으로 업그레이드 할 수 있습니다. 원하는 경우 두 가지에 대한 호환성 검사를 실행할 수도 있습니다.
Ramhound

Windows 7에서 CPUID 데이터를 표시하는 도구를 실행하면 CPU가 미래를 지원하는지 알려줍니다. 나는 I5-3xxxM을 사용하고 여기서 Windows 8.1이 작동하므로 3 가지 기능이 있습니다. 당신은 1 세대에 불과하므로 모든 기능을 지원해야합니다.
magicandre1981

1
@JulianKnight 그래픽 카드 메모리도 주소 공간에 맞아야하므로 2GB 또는 3GB 및 전용 그래픽 카드를 사용하는 모든 사람에게 64 비트를 권장합니다. 4GB 램과 2GB 그래픽 카드가 있다면 2GB 램을 낭비하고 64 비트를 설치했을 때보 다 더 나빠집니다.
Mokubai

1
그것에 대해 걱정하지 마십시오. 일부 초기 원자 또는 x86_64의 CPU를 제외한 모든 인텔 CPU는에 (조금 이상) 십 년에 다시이 문제없이 창 (10)를 실행할 수 있습니다
phuclv

답변:


21

프로세서는 이러한 기능을 지원합니다. 실제로 64 비트 Windows 8.1을 실행하려면 동일한 기능이 필요합니다. 이 요구 사항은 모든 최신 프로세서에서 충족되며 일반적으로 특정 Core 2 및 이전 프로세서에서만 발생하는 문제입니다.

이 지침은 무엇입니까?

  • 초기 AMD64 프로세서에는 CMPXCHG16B명령 이 없었으며 이는 CMPXCHG8B대부분의 80486 프로세서에 존재 하는 명령 의 확장입니다 . 유사에는 CMPXCHG8B, CMPXCHG16B진수 단어 원자 작업 할 수 있습니다. 이는 잠금 및 대기없는 알고리즘에서 일반적으로 사용되는 포인터 크기보다 큰 데이터를 비교 및 ​​스왑하는 병렬 알고리즘에 유용합니다. 사람이 없으면 CMPXCHG16B중요한 섹션 또는 다른 잠금없는 접근 방법과 같은 해결 방법을 사용해야합니다. 또한 Windows 8.1 이전의 64 비트 Windows가 8 테라 바이트보다 큰 사용자 모드 주소 공간을 갖지 못하게합니다. 64 비트 버전의 Windows 8.1에는 지침이 필요합니다.
  • PREFETCHW명령은 쓰기를 예상하여 메모리에서 캐시로 데이터를 프리 페치하는 프로세서에 대한 힌트입니다 ( Intel Instruction Set Reference , PDF 페이지 888). 이 지침은 AMD의 3DNow! PREFETCHPREFETCHW명령어를 제외하고 더 이상 사용되지 않는 명령어 세트 . Athlon 64 이후 모든 AMD 프로세서는이 명령을 지원합니다. 그러나 Nehalem 이전의 일부 구형 64 비트 Intel 프로세서에서는이 명령어가 지원되지 않을 수 있습니다 .

  • LAHFSAHF부하와의 내용을 저장하는 AH플래그로 레지스터가 각각 등록 (인텔 명령어 세트 참조, PDF 페이지 530, 1025). 하드웨어 가상화 (VT-x) 기능 이없는 일부 구형 인텔 프로세서 는 64 비트 긴 모드 에서 실행될 때이 명령어를 지원하지 않습니다 . 이들은 대부분 Nehalem 이전의 특정 저가형 프로세서로 제한됩니다 . 아주 오래된 AMD64 프로세서에도이 기능이 없습니다.

  • 초기 AMD64 및 Intel 64 CPU는 64 비트 모드에서 LAHF 및 SAHF 명령이 부족했습니다. AMD는 2005 년 3 월에 Athlon 64, Opteron 및 Turion 64 개정판 D 프로세서와 함께 이러한 지침 (64 비트 모드로도 제공)을 도입 한 반면, Intel은 2005 년 12 월 Pentium 4 G1 스테핑 관련 지침을 도입했습니다. Windows 8.1 64 비트 버전 이 기능이 필요합니다.

이것이 무엇을 의미합니까?

  • Clarkdale , Arrandale , Sandy Bridge 또는 최신 마이크로 아키텍처 기반의 모든 Pentium 또는 Celeron 프로세서뿐만 아니라 모든 Intel Core i7, i5 또는 i3 프로세서 는 Intel Atom 및 Celeron Silvermont 프로세서 뿐만 아니라 이러한 기능을 지원합니다 . AMD의 경우 가장 오래된 64 비트 프로세서를 제외한 모든 기능에 이러한 기능이 있습니다.

  • 위의 프로세서보다 이전 프로세서가있는 경우 일반적으로 이러한 명령어에 대해서만주의하면됩니다. Get Windows 10 앱은 Windows 10으로 업그레이드 할 수 있는지 알려줍니다. 프로세서가 요구 사항을 충족하지 않으면 " CPU가 지원되지 않습니다. "라는 메시지가 나타납니다.


1
그러나 이러한 특정 기능은 Windows 8.1을 실행하는 데 필요한 것과 동일하지만 Windows 10을 실행하는 데 필요한 모든 CPU 기능이 Windows 8.1을 실행하는 데 필요한 것은 아닙니다 . 특히, PAE 및 NX가되어 있지 8.1에서 필요하지만 필수 10
qasdfdsaq

1
PREFETCHW 지원은 Broadwell의 새로운 기능 (Intel 용)이므로 Windows 8.1에는 반드시 필요하지 않습니다. 증거 : GCC는 컴파일 __builtin_prefetch(p,1,2) 과 PREFETCHT1에 -march=haswell, 그리고와 prefetchw와에 -march=broadwell. 또한 이 Haswell CPU 의 Linux /proc/cpuinfo덤프 에는 3dnowprefetch가 포함되어 있지 않지만 브로드 웰 및 스카이 레이크 에는 포함됩니다 . 플래그의 의미는 unix.stackexchange.com/questions/43539/… 를 참조하십시오 .
Peter Cordes

1
아마 당신은 PentiumIII 이후로 존재했던 SSE PREFETCHh 지침을 생각하고 있었을 것입니다.
Peter Cordes

1
@bwDraco : 예. 그 0F 0D r/m8인코딩 기계 코드 멀티 바이트 NOP로 디코드를 prefetchw와를 지원하지 않는 CPU에서, 그래서 분명히 호환성 문제가 없습니다. (프리 페치 명령어의 동작은 정확성에 영향을 미치지 않으며 성능에만 영향을 미칩니다.) Core2Duo CPU에서 실행되는 asm 프로그램에서 시도했지만 prefetchw [rsp]오류없이 명령어가 실행됩니다. 그러나 나는 그것이 효과가 없다고 99 % 확신합니다.
Peter Cordes

1
좋아, 여기에서 "지원"하는 두 가지 의미가 있습니다. Win8.1은 PREFETCHW ( 0F 0D m8)가 잘못된 명령으로 잘못 표시되지 않을 것을 분명히 요구합니다 . 적어도 여기 에서 논의 된 것처럼 P4 이후의 Intel CPU의 경우입니다 . 그들은 (Broadwell까지) no-op로 실행하며 물론 Win8.1에 충분합니다 (프리 페치가 추론 적 힌트이므로 정확성에 영향을 미치지 않기 때문에). NOP 동작을 인식하지 못했거나 구형 CPU에서는 다릅니다.
Peter Cordes

1

Windows에서 명령 행을 사용할 수 있으면 다음을 수행하십시오.

  • technet에서 SysInternals coreinfo.exe 가져 오기
  • 운영 coreinfo > coreinfo.txt
  • 텍스트 편집기에서 파일을 열고 각 지시 사항에 대해 찾기 (대소 문자 구분)를 수행하십시오.

추신 : 리눅스에서는 grep flags /proc/cpuinfo | head -1


0

Linux에서 와 같은 기능을 제공하는 coreinfo 라는 유틸리티 가 Microsoft에서 제공합니다 cat /proc/cpuinfo.

이 정보를 검색해야하지만 여기에서 정보를 찾을 수 있습니다.

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는 실제로 Microsoft가 해당 문서 페이지를 결정하도록 제안합니다.

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:

-5

"Intel® Core (TM) i7-2600K CPU @ 3.40GHz"

"PREFETCHWT1 명령이 지원되지 않습니다"

AIDA 64 Extreme에서. ^^

이 세 가지 CMPXCHG16b, PrefetchW 및 LAHF / SAHF는 현재 64 비트 Windows 7 설치에서 64 비트 버전 Windows 10으로 업그레이드하는 데 필요합니다.


6
PREFETCHWT1은 별도의 명령이므로 필요하지 않으므로 PREFETCHW와 혼동하지 마십시오.
bwDraco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.