Yêu cầu Windows 10 64 bit: CPU của tôi có hỗ trợ CMPXCHG16b, PrefetchW và LAHF / SAHF không?


12

Tôi hiện đang cố gắng tìm hiểu xem có nên cập nhật sổ ghi chép hơi cũ của mình (Windows 7, 64-bit) lên Windows 10. Vấn đề là Microsoft tuyên bố trong thông số kỹ thuật Windows 10 của họ có sử dụng Phiên bản 64 bit của Windows 10, một bộ xử lý hỗ trợ CMPXCHG16b, PrefetchW và LAHF / SAHF là cần thiết. Tôi biết rằng bộ xử lý của tôi là 64 bit (Intel Core i5-2430M @ 2.40 GHz) nhưng tôi không biết làm thế nào để tìm hiểu xem nó có hỗ trợ CMPXCHG16b, PrefetchW và LAHF / SAHF không và tôi không biết ý nghĩa của chúng là gì.

Tôi đã thử sử dụng Google và không có kết quả nào hợp lý với tôi, chỉ có một số so sánh giữa i5 của tôi và bộ xử lý AMD tương tự. Tôi cũng đã kiểm tra trang web ARK của Intel. Nếu ai đó có thể chỉ cho tôi nơi tôi có thể nhận thêm thông tin, tôi sẽ rất biết ơn.


1
Tôi nghĩ rằng bạn đang lo lắng quá nhiều. Các i5 tương đối gần đây và sẽ ổn. Tuy nhiên, một nguyên tắc chung là không được chạy 64 bit trừ khi bạn có> 4GB RAM, các chi phí có thể khiến mọi thứ chạy chậm hơn thay vì nhanh hơn. Windows 32bit chỉ có thể truy cập trực tiếp ít hơn 4GB một chút, vì vậy chỉ khi bạn đi qua thì nó mới đáng để đi 64 bit
Julian Knight

1
Nếu bạn có thể nâng cấp lên Windows 8.1, bạn có thể nâng cấp lên Windows 10. Bạn cũng có thể chạy kiểm tra khả năng tương thích cho cả hai nếu bạn muốn.
Ramhound

Chạy một công cụ trong Windows 7 hiển thị dữ liệu CPUID, điều này sẽ cho bạn biết nếu CPU hỗ trợ tương lai. Tôi sử dụng I5-3xxxM và ở đây Windows 8.1 hoạt động, vì vậy nó có 3 tính năng. Bạn chỉ đứng sau 1 thế hệ, vì vậy nó cũng cần hỗ trợ tất cả các tính năng.
magicandre1981

1
@JulianKnight Tôi muốn tư vấn 64 bit cho bất kỳ ai có 2 hoặc 3gb và card đồ họa chuyên dụng vì bộ nhớ card đồ họa cũng cần phải vừa với không gian địa chỉ. Nếu bạn có 4gb ram và card đồ họa 2gb thì bạn đã lãng phí 2gb ram và tệ hơn là nếu bạn đã cài đặt 64 bit.
Mokubai

1
Đừng lo lắng về điều đó. Ngoại trừ một số CPU Atom hoặc x86_64 đời đầu, tất cả các CPU Intel trong (hơn một chút) một thập kỷ trở lại đây có thể chạy windows 10 mà không gặp vấn đề gì
phuclv

Câu trả lời:


21

Bộ xử lý của bạn hỗ trợ các tính năng này. Trên thực tế, các tính năng tương tự được yêu cầu để chạy Windows 8.1 64 bit. Yêu cầu này được đáp ứng bởi tất cả các bộ xử lý hiện đại và thường chỉ là một vấn đề với một số bộ xử lý Core 2 và trước đó.

Những hướng dẫn này là gì?

  • Các bộ xử lý AMD64 ban đầu thiếu CMPXCHG16Bhướng dẫn, đây là phần mở rộng của CMPXCHG8Bhướng dẫn có trên hầu hết các bộ xử lý sau 80486. Tương tự như CMPXCHG8B, CMPXCHG16Bcho phép các hoạt động nguyên tử trên các từ bát phân. Điều này hữu ích cho các thuật toán song song sử dụng so sánh và trao đổi trên dữ liệu lớn hơn kích thước của một con trỏ, phổ biến trong các thuật toán không khóa và chờ đợi. Không có CMPXCHG16Bai phải sử dụng cách giải quyết, chẳng hạn như một phần quan trọng hoặc các phương pháp tiếp cận không khóa thay thế. Sự vắng mặt của nó cũng ngăn Windows 64 bit trước Windows 8.1 có không gian địa chỉ chế độ người dùng lớn hơn 8 terabyte. Phiên bản 64 bit của Windows 8.1 yêu cầu hướng dẫn.
  • Các PREFETCHWhướng dẫn là một gợi ý cho các bộ xử lý số liệu prefetch từ bộ nhớ vào bộ nhớ cache với dự đoán cho văn bản ( Intel Instruction Set tham khảo , PDF trang 888). Hướng dẫn này đã được giới thiệu trong 3DNow của AMD ! tập lệnh, không dùng nữa ngoại trừ PREFETCHPREFETCHWhướng dẫn. Tất cả các bộ xử lý AMD kể từ Athlon 64 đều hỗ trợ hướng dẫn này. Tuy nhiên, hướng dẫn này có thể không được hỗ trợ trong một số bộ xử lý Intel 64 bit cũ hơn trước Nehalem .

  • Các LAHFSAHFtải và lưu trữ các nội dung của AHđăng ký vào lá cờ đăng ký, tương ứng (Intel Instruction Set tham khảo, các trang PDF 530 và 1025). Một số bộ xử lý Intel cũ hơn không có chức năng ảo hóa phần cứng (VT-x) không hỗ trợ hướng dẫn này khi chạy ở chế độ dài 64 bit ; những thứ này chủ yếu giới hạn ở một số bộ xử lý cấp thấp nhất định trước Nehalem . Một số bộ xử lý AMD64 rất cũ cũng thiếu tính năng này.

  • Các CPU AMD64 và Intel 64 đời đầu thiếu các hướng dẫn LAHF và SAHF ở chế độ 64 bit. AMD đã giới thiệu các hướng dẫn này (cũng ở chế độ 64 bit) với bộ xử lý Athlon 64, Opteron và Turion 64 sửa đổi vào tháng 3 năm 2005 trong khi Intel giới thiệu các hướng dẫn với bước Pentium 4 G1 vào tháng 12 năm 2005. Phiên bản 64 bit của Windows 8.1 yêu cầu tính năng này.

Điều đó có nghĩa là gì đối với tôi?

  • Tất cả các bộ xử lý Intel Core i7, i5 hoặc i3, cũng như tất cả các bộ xử lý Pentium hoặc Celeron dựa trên Clarkdale , Arrandale , Sandy Bridge hoặc các cấu trúc vi mô mới hơn, đều hỗ trợ các tính năng này, cũng như bộ xử lý Intel Atom và Celeron Silvermont . Đối với AMD, tất cả trừ bộ xử lý 64 bit lâu đời nhất đều có các tính năng này.

  • Nói chung, bạn chỉ cần quan tâm đến các hướng dẫn này nếu bạn có bộ xử lý đi trước. Ứng dụng Get Windows 10 sẽ cho bạn biết nếu bạn có thể nâng cấp lên Windows 10. Nếu bộ xử lý không đáp ứng yêu cầu, bạn sẽ nhận được " CPU không được hỗ trợ " .


1
Mặc dù vậy, nên chỉ ra, trong khi các tính năng cụ thể này giống như được yêu cầu để chạy Windows 8.1, không phải tất cả các tính năng CPU cần để chạy Windows 10 đều được yêu cầu để chạy Windows 8.1. Cụ thể, PAE và NX không bắt buộc theo 8.1 nhưng bắt buộc trong 10
qasdfdsaq

1
Hỗ trợ PREFECHW là tính năng mới (dành cho Intel) trong Broadwell, vì vậy Windows 8.1 chắc chắn không yêu cầu điều đó. Bằng chứng: gcc biên dịch __builtin_prefetch(p,1,2) thành PREFECHT1 với -march=haswell, và để PREFECHW với -march=broadwell. Ngoài ra, Linux /proc/cpuinfobãi từ CPU Haswell này không bao gồm 3dnowprefetch , nhưng nó trên broadwell và Skylake. Xem unix.stackexchange.com/questions/43539/ cho ý nghĩa của cờ.
Peter Cordes

1
Có lẽ bạn đã nghĩ đến các hướng dẫn SSE PREFECHh đã tồn tại ít nhất từ ​​PentiumIII.
Peter Cordes

1
@bwDraco: vâng. 0F 0D r/m8Mã hóa mã máy của nó giải mã dưới dạng NOP nhiều byte trên các CPU không hỗ trợ PREFECHW, do đó rõ ràng không có vấn đề tương thích. (Hành vi của các hướng dẫn tìm nạp trước không ảnh hưởng đến tính chính xác, chỉ là hiệu suất.) Tôi đã thử nó trên CPU Core2Duo của mình, trong một chương trình asm chạy prefetchw [rsp]và lệnh thực thi mà không bị lỗi. Nhưng tôi chắc chắn 99% là nó không có tác dụng.
Peter Cordes

1
Ok, có hai ý nghĩa để "hỗ trợ" ở đây: Win8.1 rõ ràng không yêu cầu PREFECHW ( 0F 0D m8) không có lỗi như một hướng dẫn bất hợp pháp, đó là trường hợp trên CPU Intel sau P4 ít nhất như được thảo luận ở đây . Họ chạy nó dưới dạng không hoạt động (cho đến Broadwell), và tất nhiên là đủ cho Win8.1 (vì dù sao thì việc tìm nạp trước là gợi ý đầu cơ, điều này không ảnh hưởng đến tính chính xác). Tôi đã không nhận ra hành vi NOP, hoặc nó khác với các CPU cũ hơn.
Peter Cordes

1

Nếu bạn có thể sử dụng dòng lệnh trong Windows thì:

  • Nhận SysIternals coreinfo.exe từ Technet
  • Chạy coreinfo > coreinfo.txt
  • Mở tệp trong trình soạn thảo văn bản và thực hiện tìm kiếm (không phân biệt chữ hoa chữ thường) cho mỗi hướng dẫn

PS: Trong Linux, bạn sẽ sử dụng grep flags /proc/cpuinfo | head -1


0

Có một tiện ích gọi là coreinfo , được cung cấp bởi Microsoft, cung cấp chức năng như cat /proc/cpuinfotrên Linux.

Bạn phải tìm kiếm thông qua điều này nhưng bạn có thể tìm thấy thông tin ở đây,

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

-nghĩa là CPU thiếu tính năng đó, *có nghĩa là nó có tính năng đó.

Bây giờ tôi nhìn, coreinfo thực sự được đề xuất bởi Microsoft để đưa ra quyết định trên trang tài liệu đó,

Coreinfo là một công cụ bạn có thể sử dụng để xác nhận những khả năng nào mà CPU của bạn có.

Kết quả đầy đủ cho bộ xử lý của tôi, Intel E7525, trông như thế này,

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

"CPU Intel (R) Core (TM) i7-2600K @ 3,40GHz"

"Không hỗ trợ hướng dẫn PREFECHWT1"

Từ AIDA 64 Cực. ^^

Ba phần mềm này - CMPXCHG16b, PrefetchW và LAHF / SAHF được yêu cầu để nâng cấp lên phiên bản Windows 10 64 bit từ bản cài đặt Windows 7 64 bit hiện tại.


6
PREFECHWT1 là một hướng dẫn riêng biệt và không bắt buộc, vì vậy đừng nhầm lẫn nó với PREFECHW.
bwDraco
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.