64-бітні вимоги до Windows 10: Чи підтримує мій процесор 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,40 ГГц), але я не знаю, як дізнатися, підтримує він CMPXCHG16b, PrefetchW та LAHF / SAHF, і я не маю поняття, що це означає.

Я спробував скористатись Google і не отримав жодних результатів, які мали б для мене сенс, лише порівняння мого i5 та подібного процесора AMD. Я також перевірив веб-сайт ARK від Intel. Якщо хтось міг би вказати мені, де я можу отримати більше інформації, я був би дуже вдячний.


1
Я думаю, що ти занадто переживаєш. I5 порівняно недавні і будуть добре. Однак загальним правилом є не запускати 64-бітну, якщо у вас немає> 4 Гб оперативної пам’яті, накладні витрати можуть зробити роботу повільніше, ніж швидше. До 32-бітного Windows можна отримати прямий доступ лише трохи менше 4 Гб, тому лише якщо ви перейдете, то варто перейти на 64 біт
Джуліан Найт,

1
Якщо ви можете оновити до Windows 8.1, ви можете оновити до Windows 10. Ви також можете запустити перевірку сумісності для обох, якщо хочете.
Рамхаунд

Запустіть інструмент під Windows 7, який відображає дані CPUID, і це говорить про те, чи підтримує процесор майбутнє. Я використовую I5-3xxxM і тут працює Windows 8.1, тому він має 3 функції. У вас лише 1 покоління позаду, тому воно також має підтримувати всі функції.
magicandre1981

1
@JulianKnight Я б порадив 64-бітним всім, хто має 2 або 3 Гб, і спеціалізовану відеокарту, оскільки пам'ять графічної картки також повинна вписуватися в адресний простір. Якщо у вас 4 Гб оперативної пам’яті та 2 ГБ відеокарти, то ви щойно витратили 2 ГБ оперативної пам’яті і гірші, ніж якщо б ви встановили 64 біт.
Мокубай

1
Не хвилюйтеся з цього приводу. За винятком декількох ранніх процесорів Atom або x86_64, усі процесори Intel протягом дещо десятиліття тому можуть без проблем запускати Windows 10
phuclv

Відповіді:


21

Ваш процесор підтримує ці функції. Насправді для запуску 64-розрядної Windows 8.1 потрібні ті ж функції. Цю вимогу задовольняють усі сучасні процесори і, як правило, є лише проблемою для певних процесорів Core 2 та попередніх версій.

Що це за інструкції?

  • Ранні процесори AMD64 бракували CMPXCHG16Bінструкції, що є розширенням CMPXCHG8Bінструкції, присутнім у більшості процесорів після 80486. Подібно до CMPXCHG8B, CMPXCHG16Bдозволяє здійснювати атомні операції над вісімковими словами. Це корисно для паралельних алгоритмів, які використовують порівняння та обмін даними, більшими за розмір вказівника, поширені в алгоритмах без блокування та очікування. Без CMPXCHG16Bцього потрібно використовувати обхідні шляхи, такі як критичний розділ або альтернативні підходи без блокування. Його відсутність також заважає 64-бітовій Windows до Windows 8.1 мати адресний простір у режимі користувача, більший за 8 терабайт. 64-розрядна версія Windows 8.1 вимагає інструкції.
  • PREFETCHWІнструкція натяк на процесор для попередньої вибірки даних з пам'яті в кеш в очікуванні для запису ( Intel Instruction Set Reference , PDF Сторінка 888). Ця інструкція була введена в 3DNow AMD ! набір інструкцій, який застарілий за винятком інструкцій PREFETCHта PREFETCHWінструкцій. Усі процесори AMD, починаючи з Athlon 64, підтримують цю інструкцію. Однак ця інструкція може не підтримуватися у деяких старих 64-розрядних процесорах Intel, що передують Nehalem .

  • LAHFІ SAHFнавантаження і зберігати вміст AHрегістра в регістрі прапорів, відповідно (Intel Instruction Set Reference, PDF сторінки 530 і 1025). Деякі старі процесори Intel без апаратної віртуалізації (VT-x) не підтримують цю інструкцію під час роботи в 64-бітному режимі ; вони здебільшого обмежені певними процесорами низького класу, що передують Негалему . Деякі дуже старі процесори AMD64 також не мають цієї функції.

  • Ранні процесори AMD64 та Intel 64 бракували інструкцій LAHF та SAHF у 64-бітному режимі. Компанія AMD представила ці інструкції (також у 64-розрядному режимі) зі своїми процесорами Athlon 64, Opteron та Turion 64, переглянуті D у березні 2005 року, в той час як Intel представила інструкції з Pentium 4 G1, починаючи з грудня 2005 року. 64-розрядна версія Windows 8.1 вимагає цієї функції.

Що це означає для мене?

  • Ці процесори підтримують усі процесори Intel Core i7, i5 або i3, а також усі процесори Pentium або Celeron, засновані на Clarkdale , Arrandale , Sandy Bridge або новіших мікроархітектурах, а також процесори Intel Atom і Celeron Silvermont . Для AMD ці особливості мають усі, крім найстаріших 64-розрядних процесорів.

  • Зазвичай ці інструкції повинні вас турбувати, лише якщо у вас є процесор, який передував вище. Додаток Get Windows 10 підкаже, чи можете ви оновити до Windows 10. Якщо процесор не відповідає вимогам, ви отримаєте " ЦП не підтримується ".


1
Слід зазначити, однак, в той час як ці конкретні функції такі ж , як потрібно для запуску Windows , 8.1, які не всі CPU функції , необхідні для запуску Windows 10 потрібно для запуску Windows 8.1. Зокрема, PAE та NX не вимагаються відповідно до
пункту

1
Підтримка PREFETCHW є новою (для Intel) у Broadwell, тому Windows 8.1 її точно не потребує. Докази: gcc компілюється __builtin_prefetch(p,1,2) в PREFETCHT1 з -march=haswell, а в PREFETCHW з -march=broadwell. Крім того, /proc/cpuinfoдамп Linux із цього процесора Haswell не включає 3dnowprefetch , але він працює на широкомасштабному і Skylake. Див. Unix.stackexchange.com/questions/43539/… про значення прапорів.
Пітер Кордес

1
Можливо, ви думали про інструкції SSE PREFETCHh, які існували принаймні з PentiumIII.
Пітер Кордес

1
@bwDraco: так. Її 0F 0D r/m8машинне кодування кодує декодування як багатобайтовий NOP на процесорах, які не підтримують PREFETCHW, тому, очевидно, немає проблеми сумісності. (Поведінка інструкцій попереднього вибору не впливає на правильність, просто на продуктивність.) Я спробував це на своєму процесорі Core2Duo, в програмі asm, яка працює prefetchw [rsp], і інструкція виконується без помилок. Але я на 99% впевнений, що це не має ефекту.
Пітер Кордес

1
Гаразд, тут є два значення "підтримка": Win8.1, очевидно, вимагає, щоб PREFETCHW ( 0F 0D m8) не виникла як незаконна інструкція, що стосується процесорів Intel після P4, як мінімум, як обговорювалося тут . Вони запускають його як неоперативний (до Бродвелл), і, звичайно, цього достатньо для Win8.1 (адже попередні вибори так чи інакше є умоглядними підказками, які не впливають на правильність). Я не усвідомлював поведінку NOP або що це було інакше на старих процесорах.
Пітер Кордес

1

Якщо ви можете використовувати командний рядок у Windows, тоді:

  • Отримайте SysInternals coreinfo.exe від technet
  • Біжи coreinfo > coreinfo.txt
  • Відкрийте файл у текстовому редакторі та знайдіть (нечутливий до регістру) для кожної з інструкцій

PS: В Linux ви б використовували grep flags /proc/cpuinfo | head -1


0

Існує утиліта під назвою coreinfo , що надається Microsoft, яка забезпечує такі функціональні можливості, як cat /proc/cpuinfoв Linux.

Ви повинні проглянути це, але ви можете знайти тут інформацію,

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

Це -означає, що ЦП бракує цієї функції, *означає, що вона має цю функцію.

Тепер, коли я дивлюся, основна інформація фактично пропонується корпорацією Майкрософт, щоб визначитись на цій сторінці документа,

Coreinfo - це інструмент, за допомогою якого можна підтвердити, які з цих можливостей має ваш процесор. +

Повний результат для мого процесора 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 (R) Core (TM) i7-2600K процесор @ 3,40 ГГц"

"Інструкція PREFETCHWT1 не підтримується"

Від AIDA 64 Extreme. ^^

Ці три - CMPXCHG16b, PrefetchW та LAHF / SAHF необхідні для оновлення до 64-бітної версії Windows 10 з поточної 64-бітної установки Windows 7.


6
PREFETCHWT1 - це окрема інструкція, і вона не потрібна, тому не плутайте її з PREFETCHW.
bwDraco
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.