Есть ли способ узнать, поддерживает ли мое оборудование определенные инструкции?

3603
Evan Carroll

Microsoft говорит, что для Windows 2016 Server

Minimum: 1.4 GHz 64-bit processor Compatible with x64 instruction set Supports NX and DEP Supports CMPXCHG16b, LAHF/SAHF, and PrefetchW Supports Second Level Address Translation (EPT or NPT) 1 

Есть ли в любом случае, чтобы узнать, если, скажем, если

  • Рабочая станция HP xw6200 - набор микросхем Intel E7525 или
  • DELL PowerEdge R710 2 x 2,53 ГГц E5540

поддерживает их без ручного и исчерпывающего поиска документов на каждом чипе.

0
Связанные: [Насколько распространены старые процессоры x64 без инструкции cmpxchg16b?] (Https://superuser.com/questions/187254) и [64-разрядные требования Windows 10: поддерживает ли мой процессор CMPXCHG16b, PrefetchW и LAHF / SAHF?] (https://superuser.com/questions/931742) Mokubai 6 лет назад 1
@Ramhound показать мне в Википедии, где он показывает поддержку PrefetchW Evan Carroll 6 лет назад 0
@EvanCarroll Читайте здесь: https://en.wikipedia.org/wiki/3DNow! 6 лет назад 0
@Ramhound по вашей собственной ссылке гласит: «Эти две инструкции также доступны в процессорах Bay-Trail Intel». Этот процессор был выпущен в 2013 году. Https://ark.intel.com/products/codename/55844/Bay-Trail Evan Carroll 6 лет назад 0
Вы не показали, что Intel поддерживает PREFETCHW до 2013 года. «Статьи Википедии - хороший источник информации, подобной этой». Вопрос в том, как мне это найти? Вы говорите, Википедия. Я говорю вам, я посмотрел. Ты не показываешь мне ничего нового. Evan Carroll 6 лет назад 0
Как я узнаю, что SSE (Streaming SIMD) включает в себя, в частности, PREFETCHW? Evan Carroll 6 лет назад 0
Согласно SSE в Википедии, PREFETCHW не поддерживается инструкциями: https://en.m.wikipedia.org/wiki/Streaming_SIMD_Extensions Только PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA. Evan Carroll 6 лет назад 0
Хорошо, я спросил только потому, что вы предложили Википедию, но если никто из нас не знает, как ее найти, то, наверное, это хороший вопрос! Evan Carroll 6 лет назад 0
@Ramhound, это мило, что вы имели этот разговор раньше, и [Питер пытался исправить вас] (https://superuser.com/questions/931742/windows-10-64-bit-requirements-does-my-cpu-support-cmpxchg16b- prefetchw-и-ла # comment1643778_941175). По-видимому, это не поддерживается в P4, но инструкция NOP, поэтому окна не будут падать на нем. Это работает за пределами их минимальных требований, хотя. Ни в документах для p4, ни в вики-документах не говорится о поддержке PREFETCHW на чипе, ни о минимальном чипе Intel, поддерживающем PREFETCHW. Evan Carroll 6 лет назад 0
@Ramhound обновлен Evan Carroll 6 лет назад 0
Хорошо? поэтому мы определили, что ваши процессоры соответствуют требованиям в отношении PREFETCHW, поскольку это NOP. Если это действительно имеющееся у вас оборудование, вы можете использовать coreinfo, чтобы определить, поддерживает ли ЦП другие инструкции. Ramhound 6 лет назад 1
@Ramhound никогда не знал о coreinfo, большинство из того, что я ищу, должны ответить с этим. это похоже на / proc / cpuinfo в * nix. Evan Carroll 6 лет назад 0

1 ответ на вопрос

1
Evan Carroll

Пер, Ramhound, есть утилита под названием coreinfo, которая обеспечивает функциональность, как 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: