Windows 10 Persyaratan 64-bit: Apakah CPU saya mendukung CMPXCHG16b, PrefetchW, dan LAHF / SAHF?


12

Saat ini saya sedang berusaha mencari tahu apakah itu akan menjadi ide yang baik untuk memperbarui notebook saya yang sedikit ketinggalan zaman (Windows 7, 64-bit) ke Windows 10. Masalahnya adalah Microsoft menyatakan dalam spesifikasi Windows 10 mereka bahwa untuk menggunakan Diperlukan versi 64-bit Windows 10, sebuah prosesor yang mendukung CMPXCHG16b, PrefetchW dan LAHF / SAHF diperlukan. Saya tahu bahwa prosesor saya 64-bit (Intel Core i5-2430M @ 2.40 GHz) tetapi saya tidak tahu bagaimana cara mengetahui apakah itu mendukung CMPXCHG16b, PrefetchW dan LAHF / SAHF, dan saya tidak tahu apa artinya ini.

Saya mencoba menggunakan Google dan tidak mendapat hasil yang masuk akal bagi saya, hanya beberapa perbandingan i5 saya dan prosesor AMD yang serupa. Saya juga memeriksa situs web ARK Intel. Jika seseorang bisa mengarahkan saya ke tempat saya bisa mendapatkan lebih banyak informasi, saya akan sangat berterima kasih.


1
Saya pikir Anda terlalu khawatir. I5 relatif baru dan akan baik-baik saja. Namun, aturan umum adalah tidak menjalankan 64bit kecuali Anda memiliki> 4GB RAM, overhead dapat membuat segalanya berjalan lebih lambat daripada lebih cepat. Windows 32bit hanya dapat secara langsung mengakses sedikit kurang dari 4GB jadi hanya jika Anda pergi, apakah itu layak untuk 64bit
Julian Knight

1
Jika Anda dapat meningkatkan ke Windows 8.1 Anda dapat meningkatkan ke Windows 10. Anda juga dapat menjalankan pemeriksaan kompatibilitas untuk keduanya jika Anda mau.
Ramhound

Jalankan alat di bawah Windows 7 yang menampilkan data CPUID, ini memberi tahu Anda jika CPU mendukung masa depan. Saya menggunakan I5-3xxxM dan di sini Windows 8.1 berfungsi, jadi ia memiliki 3 fitur. Anda hanya tertinggal 1 generasi, jadi itu juga harus mendukung semua fitur.
magicandre1981

1
@JulianKnight Saya akan menyarankan 64bit kepada siapa pun dengan 2 atau 3gb dan kartu grafis khusus karena memori kartu grafis juga perlu masuk ke dalam ruang alamat. Jika Anda memiliki ram 4gb dan kartu grafis 2gb maka Anda baru saja membuang ram 2gb dan lebih buruk daripada jika Anda menginstal 64 bit.
Mokubai

1
Jangan khawatir tentang itu. Kecuali untuk beberapa CPU Atom atau x86_64 awal, semua CPU Intel dalam (sedikit lebih dari) satu dekade yang lalu dapat menjalankan windows 10 tanpa masalah
phuclv

Jawaban:


21

Prosesor Anda mendukung fitur-fitur ini. Bahkan, fitur yang sama diperlukan untuk menjalankan Windows 8.1 64-bit. Persyaratan ini dipenuhi oleh semua prosesor modern dan umumnya hanya masalah dengan Core 2 dan prosesor sebelumnya.

Apa instruksi ini?

  • Prosesor AMD64 awal tidak memiliki CMPXCHG16Binstruksi, yang merupakan perpanjangan dari CMPXCHG8Binstruksi yang ada pada sebagian besar prosesor pasca-80486. Mirip dengan CMPXCHG8B, CMPXCHG16Bmemungkinkan untuk operasi atom pada kata-kata oktal. Ini berguna untuk algoritma paralel yang menggunakan bandingkan dan bertukar pada data yang lebih besar dari ukuran penunjuk, yang umum dalam algoritma bebas kunci dan bebas menunggu. Tanpa CMPXCHG16Bharus menggunakan solusi, seperti bagian kritis atau pendekatan bebas kunci alternatif. Ketidakhadirannya juga mencegah Windows 64-bit sebelum Windows 8.1 memiliki ruang alamat mode pengguna yang lebih besar dari 8 terabyte. Versi 64-bit Windows 8.1 memerlukan instruksi.
  • The PREFETCHWinstruksi adalah petunjuk untuk prosesor data prefetch dari memori ke cache antisipasi untuk menulis ( Intel Instruction Set Reference , PDF halaman 888). Instruksi ini diperkenalkan di AMD's 3DNow! set instruksi, yang sudah usang kecuali untuk PREFETCHdan PREFETCHWinstruksi. Semua prosesor AMD sejak Athlon 64 mendukung instruksi ini. Namun, instruksi ini mungkin tidak didukung di beberapa prosesor Intel 64-bit yang lebih tua sebelum Nehalem .

  • Masing LAHF-masing SAHFmemuat dan menyimpan konten AHregister ke register flag (Intel Instruction Set Reference, halaman PDF 530 dan 1025). Beberapa prosesor Intel yang lebih tua tanpa fungsionalitas virtualisasi perangkat keras (VT-x) tidak mendukung instruksi ini ketika berjalan dalam mode panjang 64-bit ; ini sebagian besar terbatas pada prosesor low-end tertentu yang ada sebelum Nehalem . Beberapa prosesor AMD64 yang sangat lama juga kekurangan fitur ini.

  • AMD64 dan Intel 64 CPU awal tidak memiliki instruksi LAHF dan SAHF dalam mode 64-bit. AMD memperkenalkan instruksi ini (juga dalam mode 64-bit) dengan prosesor revisi D Athlon 64, Opteron dan Turion 64 pada bulan Maret 2005 sementara Intel memperkenalkan instruksi dengan langkah Pentium 4 G1 pada bulan Desember 2005. Versi 64-bit Windows 8.1 membutuhkan fitur ini.

Apa artinya ini bagi saya?


1
Harus menunjukkan, meskipun fitur-fitur khusus ini sama dengan yang diperlukan untuk menjalankan Windows 8.1, tidak semua fitur CPU yang diperlukan untuk menjalankan Windows 10 diharuskan untuk menjalankan Windows 8.1. Secara khusus, PAE dan NX tidak diperlukan di bawah 8.1 tetapi wajib untuk 10
qasdfdsaq

1
Dukungan PREFETCHW adalah baru (untuk Intel) di Broadwell, jadi Windows 8.1 tentu tidak memerlukannya. Bukti: gcc mengkompilasi __builtin_prefetch(p,1,2) ke PREFETCHT1 dengan -march=haswell, dan ke PREFETCHW dengan -march=broadwell. Juga, /proc/cpuinfodump Linux dari CPU Haswell ini tidak termasuk 3dnowprefetch , tetapi ia lakukan pada broadwell dan skylake. Lihat unix.stackexchange.com/questions/43539/... untuk arti flag.
Peter Cordes

1
Mungkin Anda memikirkan instruksi PREFETCHh SSE yang sudah ada sejak PentiumIII setidaknya.
Peter Cordes

1
@ bbwaco: ya. Its 0F 0D r/m8mesin-kode encoding decode sebagai NOP multi-byte pada CPU yang tidak mendukung PREFETCHW, jadi ada tampaknya tidak ada masalah kompatibilitas. (Perilaku instruksi prefetch tidak mempengaruhi kebenaran, hanya kinerja.) Saya mencobanya pada CPU Core2Duo saya, dalam program asm yang berjalan prefetchw [rsp], dan instruksi dijalankan tanpa kesalahan. Tapi saya 99% yakin itu tidak berpengaruh.
Peter Cordes

1
Ok, ada dua arti untuk "mendukung" di sini: Win8.1 tampaknya memang mengharuskan PREFETCHW ( 0F 0D m8) tidak salah sebagai instruksi ilegal, yang merupakan kasus pada CPU Intel setelah P4 setidaknya seperti yang dibahas di sini . Mereka menjalankannya sebagai no-op (sampai Broadwell), dan tentu saja itu cukup untuk Win8.1 (karena prefetch adalah petunjuk spekulatif, yang tidak mempengaruhi kebenaran). Saya tidak menyadari perilaku NOP, atau berbeda pada CPU yang lebih lama.
Peter Cordes

1

Jika Anda dapat menggunakan baris perintah di Windows maka:

  • Dapatkan SysInternals coreinfo.exe dari technet
  • Lari coreinfo > coreinfo.txt
  • Buka file dalam editor teks, dan lakukan pencarian (tidak sensitif huruf besar-kecil) untuk setiap instruksi

PS: Di Linux akan Anda gunakan grep flags /proc/cpuinfo | head -1


0

Ada sebuah utilitas bernama coreinfo , yang disediakan oleh Microsoft, yang menyediakan fungsionalitas seperti cat /proc/cpuinfodi Linux.

Anda harus mencari melalui ini tetapi Anda dapat menemukan informasi di sini,

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 -berarti bahwa CPU tidak memiliki fitur itu, *berarti itu memiliki fitur itu.

Sekarang saya melihat, coreinfo sebenarnya disarankan oleh Microsoft untuk membuat keputusan pada halaman doc itu,

Coreinfo adalah alat yang dapat Anda gunakan untuk mengonfirmasi kapabilitas mana yang dimiliki CPU Anda. +

Hasil penuh untuk prosesor saya, Intel E7525, terlihat seperti ini,

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 (R) Core (TM) i7-2600K CPU @ 3.40GHz"

"Instruksi PREFETCHWT1 Tidak Didukung"

Dari AIDA 64 Extreme. ^^

Ketiga - CMPXCHG16b, PrefetchW dan LAHF / SAHF ini diperlukan untuk meningkatkan ke versi Windows 10 64bit dari instalasi Windows 7 64bit saat ini.


6
PREFETCHWT1 adalah instruksi terpisah dan tidak diperlukan, jadi jangan bingung dengan PREFETCHW.
bwDraco
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.