Die CPUID Kennung ist Teil der x86-Prozessorarchitektur ab Einführung des Pentium im Jahr 1993. Die Kennung erlaubt der Software im laufenden Betrieb (ohne BIOS Unterstützung) die CPU-Hardware identifzieren, einschliesslich des Hersteller und aktivierter zusätzlicher Funktionseinheiten wie MMX/SSE des Rechenwerks oder PAE/NX des Addresswerks.
Abfrage
Die CPUID ist ein spezieller Assemblerbefehl zum Zugriff auf Maschinenstatusregister. Als Argument wird ein Abfragecode im Akkumulatorregister EAX übergeben und in der Regel mehrere Rechenregister mit Werten gefüllt. Im Gebrauch werden hauptsächlich die ersten beiden Abfragecodes 0 und 1 zur CPU-Identifikation genutzt. Der Name CPUID leitet sich von diesem Funktion der CPUIDentifikation ab.
Code 0 Hersteller
Als Resultat wird drei 32bit Register ein 12-Zeichen langer Herstellername 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" SiS SiS SiS"
- Prozessoren von SIS
Code 1 Modellvariante
Als Resultat ergiben sich in einigen Registern die herstellerspezifischen Typnummern der Prozessorfamilie, Prozessorvariante und Überarbeitungsstatus.
In den Registern ECX/EDX wird zusätzliche Nutzbarkeit von Funktionseinheiten des Rechenwerks oder des Addresswerks beschrieben. Für diese Bits liegt eine herstellerübergreifende Codierung vor.
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
- EDX:30 die 64bit Erweiterung (erstmals AMD64) ist vorhanden
- ECX:7 Speedstep Erweiterung ist ansprechbar
Weitere Codes
Die Möglichkeit von 32bit im Abfragecode erlaubt es verschiedenen Prozessorherstellern der x86 Familie ihre eigenen Codes zu definieren, die Details der Hardwarevariante beschreiben. In der Regel liegen diese im oberen Codebereich.