CPUID


CPUID

Die CPUID-Kennung ist seit den späteren 486ern Teil der x86-Prozessorarchitektur, ab dem Pentium war sie dann vollständig verfügbar. Die Kennung erlaubt der Software im laufenden Betrieb den Prozessor zu identifizieren, einschließlich des Herstellers und zusätzlicher Funktionseinheiten wie der Multimedia-MMX/SSE-Befehlssatz oder erweiterte Adressierungsmöglichkeiten.

Inhaltsverzeichnis

Abfrage

Die CPUID ist ein spezieller Befehl zum Zugriff auf Maschinenstatusregister. Übergeben wird ein Abfragecode im Register EAX, der Prozessor füllt dann mehrere Vielzweckregister mit den Werten. Der Name CPUID leitet sich von dieser Funktion der CPU IDentification ab.

Code 0 Hersteller

Als Resultat wird in drei 32-Bit-Registern ein 12-Zeichen langer Herstellername in ASCII abgelegt. Dies ist erheblich länger als typische Schutznamen der Halbleiterhersteller, sodass sich eine Tradition der Auffüllung auf 12 Zeichen herausgebildet hat.

Beispiele:

  • "GenuineIntel" - Prozessoren von Intel
  • "AuthenticAMD" - Prozessoren von AMD
  • "CyrixInstead" - Prozessoren von Cyrix
  • "CentaurHauls" - Prozessoren von VIA
  • "GenuineTMx86" - Prozessoren von Transmeta
  • "SiS SiS SiS " - Prozessoren von SIS
  • "UMC UMC UMC " - Prozessoren von UMC

Code 1 Modellvariante

Als Resultat ergeben sich in einigen Registern die herstellerspezifischen Typnummern der Prozessorfamilie, Prozessorvariante und Überarbeitungsstatus. Die Familie beginnt bei "4" für die 486-Generation, da der CPUID-Befehl im Verlauf der Produktpflege dieser Prozessorfamilie eingeführt wurde und später ein Schema für zukünftige Prozessoren festgelegt wurde.

in EAX 8..11

Der Überarbeitungsstatus (in EAX 0..3) ist modellspezifisch und wird je Prozessorvariante hochgezählt. Dieser Status ist ein einfacher Indikator für das Stepping eines Prozessor, bei dem im Zuge der Modellpflege Produktionsdetails verändert werden. Der volle Wert des EAX-Registers wird oft in Fachpublikationen zur genauen Identifikation einer Prozessorvariante angegeben, dabei kurz selbst CPUID genannt, etwa CPUID 06D8h für Celeron M oder die CPUID 0F48h und 0F4Ah zur Unterscheidung des C0 und CG Stepping des Athlon 64 (mit deutlich verschiedener Leistungsaufnahme).

Mit der Abfrage unter Code 1 werden in den Registern ECX/EDX die zusätzliche Nutzbarkeit von Funktionseinheiten des Rechenwerks oder des Adresswerks beschrieben. Für diese Bits liegt eine herstellerübergreifende Codierung vor, die von Anwendungsprogrammen und Betriebssystemen genutzt werden kann, um spezialisierte Routinen zu aktivieren.

Beispiele:

  • EDX:0 klassisches FPU-Gleitkomma-Rechenwerk ist vorhanden
  • EDX:6 Adresserweiterung PAE wird verarbeitet
  • EDX:23 neueres MMX-Multimedia-Rechenwerk ist vorhanden
  • EDX:26 modernes SSE2-Gleitkomma/Multimedia -Rechenwerk ist vorhanden
  • ECX:7 Speedstep-Erweiterung ist ansprechbar

Viele mathematisch-spezialisierte Anwendungsprogramme fordern ein modernes Gleitkomma-Rechenwerk, und brechen ohne dieses ab. In diesen Fällen sollten die Anforderungen des Programs mit den tatsächlich verfügbaren Prozessorflags (in Linux /proc/cpuinfo) überprüft werden, meist schaut man dabei nach MMX, SSE, SSE2 oder PNI (prescott new instructions alias SSE3).

Weitere Codes

Die Möglichkeit eines 32-Bit-Code als Argument des CPUID-Befehls erlaubt es verschiedenen Prozessorherstellern der x86-Familie ihre eigenen Codes zu definieren, die Details der Hardwarevariante beschreiben. In der Regel liegen diese Abfragecodes im oberen Codebereich.

Weblink


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Cpuid — (CPU Identification)  ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип ЦП и его возможности (например, можно определить, какие расширения… …   Википедия

  • cpuid — (CPU Identification)  ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип ЦП и его возможности (например, можно определить, какие расширения… …   Википедия

  • cPUID — (CPU Identification)  ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип ЦП и его возможности (например, можно определить, какие расширения… …   Википедия

  • CPUID — (CPU Identification)  ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип процессора и его возможности (например, можно определить, какие… …   Википедия

  • CPUID — The CPUID opcode is a processor supplementary instruction (its name derived from CPU IDentification) for the x86 architecture. It was introduced by Intel in 1993 when it introduced the Pentium and SL Enhanced 486 processors.[1] By using the CPUID …   Wikipedia

  • CPUID — abbr. Central Processing Unit IDentifier (CPU) …   United dictionary of abbreviations and acronyms

  • CPUID String — Четырехзначная строка символов, по которой производится идентификация процессора. Первым символом обычно идет ноль, второй и третий означают семейство и номер модели, четвертый символ означает степпинг. Например, сравнивая два процессора с CPUID… …   Глоссарий терминов бытовой и компьютерной техники Samsung

  • CPU-Z — CPUID Développeur Franck Delattre …   Wikipédia en Français

  • Xeon — New Intel Xeon Logo used in 2011 Produced From 1998 to present Common manufacturer(s) …   Wikipedia

  • Intel Core (microarchitecture) — This article is about the Intel microarchitecture. For Intel processors branded as Intel Core, including the Core microarchitecture based Core 2 and others not based on the Core microarchitecture, see Intel Core. The Intel Core microarchitecture… …   Wikipedia