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.
sumber
Jawaban:
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?
CMPXCHG16B
instruksi melakukan sebuah atom membandingkan-dan-tukar pada nilai-nilai 16-byte. Ini didukung pada semua prosesor x86-64 modern , meskipun beberapa CPU AMD64 awal tidak mendukungnya. Instruksi ini juga dapat disebut sebagaiCompareExchange128
. Lihat juga: Seberapa lazimkah prosesor x64 lama yang tidak memiliki instruksi cmpxchg16b?The
PREFETCHW
instruksi 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 untukPREFETCH
danPREFETCHW
instruksi. 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
-masingSAHF
memuat dan menyimpan kontenAH
register 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.Apa artinya ini bagi saya?
Semua prosesor Intel Core i7, i5, atau i3, serta semua prosesor Pentium atau Celeron berdasarkan Clarkdale , Arrandale , Sandy Bridge , atau mikroarsitektur yang lebih baru, mendukung fitur-fitur ini, serta prosesor Intel Atom dan Celeron Silvermont . Untuk AMD, semua kecuali prosesor 64-bit tertua memiliki fitur-fitur ini.
Anda umumnya hanya perlu khawatir tentang instruksi ini jika Anda memiliki prosesor yang ada sebelum yang di atas. Aplikasi Get Windows 10 akan memberi tahu Anda jika Anda dapat meningkatkan ke Windows 10. Jika prosesor tidak memenuhi persyaratan, Anda akan mendapatkan " CPU tidak didukung. "
sumber
__builtin_prefetch(p,1,2)
ke PREFETCHT1 dengan-march=haswell
, dan ke PREFETCHW dengan-march=broadwell
. Juga,/proc/cpuinfo
dump Linux dari CPU Haswell ini tidak termasuk 3dnowprefetch , tetapi ia lakukan pada broadwell dan skylake. Lihat unix.stackexchange.com/questions/43539/... untuk arti flag.0F 0D r/m8
mesin-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 berjalanprefetchw [rsp]
, dan instruksi dijalankan tanpa kesalahan. Tapi saya 99% yakin itu tidak berpengaruh.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.Jika Anda dapat menggunakan baris perintah di Windows maka:
coreinfo > coreinfo.txt
PS: Di Linux akan Anda gunakan
grep flags /proc/cpuinfo | head -1
sumber
Ada sebuah utilitas bernama coreinfo , yang disediakan oleh Microsoft, yang menyediakan fungsionalitas seperti
cat /proc/cpuinfo
di Linux.Anda harus mencari melalui ini tetapi Anda dapat menemukan informasi di sini,
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,
Hasil penuh untuk prosesor saya, Intel E7525, terlihat seperti ini,
sumber
"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.
sumber