Gibt es eine Möglichkeit festzustellen, ob meine Hardware bestimmte Anweisungen unterstützt?

3552
Evan Carroll

Microsoft sagt für 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 

Gibt es sowieso herauszufinden ob sagen ob

  • HP Workstation xw6200 - Intel E7525-Chipsatz oder a
  • DELL PowerEdge R710 2 x 2,53 GHz E5540

unterstützt diese, ohne die Dokumente auf jedem Chip manuell und umfassend durchsuchen zu müssen.

0
Siehe auch: [Wie verbreitet sind alte x64-Prozessoren, denen die Anweisung cmpxchg16b fehlt?] (Https://superuser.com/questions/187254) und [Windows 10 64-Bit-Anforderungen: Unterstützt meine CPU CMPXCHG16b, PrefetchW und LAHF / SAHF?] (https://superuser.com/questions/931742) Mokubai vor 6 Jahren 1
@Ramhound zeigt mir auf Wikipedia, wo die Unterstützung für PrefetchW angezeigt wird Evan Carroll vor 6 Jahren 0
@EvanCarroll Lesen Sie hier: https://en.wikipedia.org/wiki/3DNow! vor 6 Jahren 0
@Ramhound sagt laut eigenen Angaben "Die beiden Anweisungen sind auch in Bay-Trail Intel-Prozessoren verfügbar." Dieser Prozessor wurde 2013 veröffentlicht. Https://ark.intel.com/products/codename/55844/Bay-Trail Evan Carroll vor 6 Jahren 0
Sie haben nicht gezeigt, dass Intel PREFETCHW vor 2013 unterstützt. "Wikipedia-Artikel sind gute Informationsquellen wie diese." Die Frage ist, wie finde ich das? Du sagst Wikipedia. Ich sage dir, ich habe gesucht. Du zeigst mir nichts Neues. Evan Carroll vor 6 Jahren 0
Woher weiß ich, dass SSE (Streaming SIMD) speziell PREFETCHW enthält? Evan Carroll vor 6 Jahren 0
Laut SSE auf Wikpedia ist PREFETCHW keine unterstützte Anweisung: https://en.m.wikipedia.org/wiki/Streaming_SIMD_Extensions Nur PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA. Evan Carroll vor 6 Jahren 0
Ok, ich habe nur gefragt, weil Sie Wikipedia vorgeschlagen haben, aber wenn keiner von uns weiß, wie er sie finden soll, dann ist das wohl eine gute Frage! Evan Carroll vor 6 Jahren 0
@Ramhound ist süß, dass Sie dieses Gespräch zuvor hatten und [Peter hat versucht, Sie zu korrigieren] (https://superuser.com/questions/931742/windows-10-64-bit-requirements-does-my-cpu-support-cmpxchg16b- prefetchw-and-la (comment1643778_941175). Anscheinend wird es in einem P4 nicht unterstützt, aber die Anweisung ist NOP, damit Fenster nicht abstürzen. Das funktioniert jedoch außerhalb der Minimalanforderungen. Weder die p4-Dokumente noch die Wiki-Dokumente sprechen von der Unterstützung von PREFETCHW auf dem Chip, noch von der Intel-Mindest-Chipgen-Generation, die PREFETCHW unterstützt. Evan Carroll vor 6 Jahren 0
@Ramhound aktualisiert Evan Carroll vor 6 Jahren 0
In Ordung? Daher haben wir festgestellt, dass Ihre Prozessoren die Anforderungen in Bezug auf PREFETCHW erfüllen, da dies ein NOP ist. Wenn es sich um tatsächliche Hardware handelt, können Sie mit coreinfo feststellen, ob die CPU die anderen Anweisungen unterstützt Ramhound vor 6 Jahren 1
@Ramhound wusste noch nie von Coreinfo, das ist das meiste, wonach ich suche, dass du damit antworten solltest. Das ist wie / proc / cpuinfo bei * nix. Evan Carroll vor 6 Jahren 0

1 Antwort auf die Frage

1
Evan Carroll

Per, Ramhound, gibt es ein Dienstprogramm namens coreinfo, das Funktionen wie cat /proc/cpuinfounter Linux bietet .

Sie müssen das durchsuchen, aber Sie finden die Informationen hier,

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 

Das -bedeutet, dass der CPU dieses Feature fehlt, das *heißt, es hat dieses Feature.

Nun, ich schaue, Coreinfo wird tatsächlich von Microsoft vorgeschlagen, um die Entscheidung auf dieser Dokumentseite zu treffen.

Coreinfo ist ein Tool, mit dem Sie feststellen können, welche dieser Funktionen Ihre CPU besitzt. +

Das vollständige Ergebnis für meinen Prozessor, einen Intel E7525, sieht folgendermaßen aus:

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: