11

В настоящее время я пытаюсь выяснить, будет ли хорошей идеей обновить мой слегка устаревший ноутбук (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. Я также проверил веб-сайт Intel ARK. Если бы кто-то мог указать мне, где я могу получить больше информации, я был бы очень благодарен.

4 ответа4

20

Ваш процессор поддерживает эти функции. На самом деле, те же функции необходимы для запуска 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, PDF, страница 888). Эта инструкция была введена в 3DNow от AMD ! набор команд, который устарел, за исключением PREFETCH и PREFETCHW . Все процессоры AMD начиная с Athlon 64 поддерживают эту инструкцию. Однако эта инструкция может не поддерживаться некоторыми более старыми 64-разрядными процессорами Intel, выпущенными до Nehalem .

  • LAHF и SAHF загружают и сохраняют содержимое регистра AH регистр флагов соответственно (Справочник по инструкциям Intel, страницы PDF 530 и 1025). Некоторые старые процессоры Intel без аппаратной виртуализации (VT-x) не поддерживают эту инструкцию при работе в 64-битном длинном режиме ; они в основном ограничены некоторыми младшими процессорами, предшествующими Nehalem . Некоторые очень старые процессоры 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, то:

  • Получите 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 фактически предлагает Microsoft сделать определение на этой странице документа,

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .