CPUID — Änderungen 5144 → 5203

Zeile 1: Zeile 1:
−
{{Achtung|Text= Dieser Artikel wird gerade generalüberholt. Bitte nimm keine Änderungen an diesem Artikel vor! ~[[Benutzer:SHyx0rmZ|SHyx0rmZ]] 10:55, 6. Aug. 2009 (CEST)}}
+
{{Achtung|Text= Dieser Artikel wird gerade generalüberholt. Bitte nimm keine Änderungen an diesem Artikel vor! (Der Artikel könnte zwischenzeitlich ein wenig komisch anmuten ;-) ~[[Benutzer:SHyx0rmZ|SHyx0rmZ]] 10:55, 6. Aug. 2009 (CEST)}}
 +
 
 +
{{Hinweiss|Text=In den nachfolgenden Tabellen werden gelegentlich Tabellenzellen mit blauem oder grünen Hintergrund auftauchen.
 +
 
 +
Diese deuten einen '''herstellerspezifischen''' Eintrag an. Auf anderen Prozessoren sind diese Einträge '''reserviert'''!}}
 +
 
 +
So sehen die herstellerspezifischen Tabellenzellen aus:
 +
{| {{prettytable}}
 +
! Farbe
 +
! Bedeutung
 +
|-
 +
{{csintel|1}} Blau
 +
{{csintel|1}} Dieser Eintrag gilt '''ausschließlich''' für '''Intel'''-Prozessoren. Auf AMD-Prozessoren ist dieser Eintrag '''reserviert'''!.
 +
|-
 +
{{csamd|1}} Grün
 +
{{csamd|1}} Dieser Eintrag gilt '''ausschließlich''' für '''AMD'''-Prozessoren. Auf Intel-Prozessoren ist dieser Eintrag '''reserviert'''!.
 +
|}
 +
 
 +
{{Hinweiss|Text=Manchmal folgen in der Beschreibung eines Registers auch '''zwei Tabellen'''. Die erste Tabelle ist dann zur schnellen Übersicht gedacht, die zweite Tabelle beschreibt die Funktion der Einträge.}}
 +
 
 
Der '''CPUID'''-Befehl liefert, sofern er denn von der CPU unterstützt wird, Informationen zu zahlreichen Fähigkeiten der CPU, wie zum Beispiel den Herstellernamen, die Modellnummer oder die Größe des Caches.
 
Der '''CPUID'''-Befehl liefert, sofern er denn von der CPU unterstützt wird, Informationen zu zahlreichen Fähigkeiten der CPU, wie zum Beispiel den Herstellernamen, die Modellnummer oder die Größe des Caches.
  
Zeile 44: Zeile 63:
 
====EAX====
 
====EAX====
 
{| {{prettytable32bit|size="30pt"}}
 
{| {{prettytable32bit|size="30pt"}}
−
| colspan="32" align="center" | Höchste, unterstützte Standard-Funktion
+
{{cs|32}}Höchste, unterstützte Standard-Funktion
 
|}
 
|}
  
 
====EBX====
 
====EBX====
 
{| {{prettytable32bit|size="30pt"}}
 
{| {{prettytable32bit|size="30pt"}}
−
| colspan="32" align="center" | Bytes 0 - 3 des Vendor-ID-Strings
+
{{cs|32}} Bytes 0 - 3 des Vendor-ID-Strings
 
|}
 
|}
  
 
====ECX====
 
====ECX====
 
{| {{prettytable32bit|size="30pt"}}
 
{| {{prettytable32bit|size="30pt"}}
−
| colspan="32" align="center" | Bytes 8 - 11 des Vendor-ID-Strings
+
{{cs|32}} Bytes 8 - 11 des Vendor-ID-Strings
 
|}
 
|}
  
 
====EDX====
 
====EDX====
 
{| {{prettytable32bit|size="30pt"}}
 
{| {{prettytable32bit|size="30pt"}}
−
| colspan="32" align="center" | Bytes 4 - 7 des Vendor ID-Strings
+
{{cs|32}} Bytes 4 - 7 des Vendor ID-Strings
 
|}
 
|}
  
Zeile 67: Zeile 86:
 
! Hersteller
 
! Hersteller
 
|-
 
|-
−
| "AuthenticAMD"
+
| <tt>"AuthenticAMD"</tt>
 
| AMD
 
| AMD
 
|-
 
|-
−
| "CentaurHauls"
+
| <tt>"CentaurHauls"</tt>
 
| Centaur  
 
| Centaur  
 
|-
 
|-
−
| "CyrixInstead"
+
| <tt>"CyrixInstead"</tt>
 
| Cyrix
 
| Cyrix
 
|-
 
|-
−
| "GenuineIntel"
+
| <tt>"GenuineIntel"</tt>
 
| Intel
 
| Intel
 
|-
 
|-
−
| "NexGenDriven"
+
| <tt>"NexGenDriven"</tt>
 
| NexGen
 
| NexGen
 
|-
 
|-
−
| "Geode by NSC"
+
| <tt>"Geode by NSC"</tt>
 
| National Semiconductor
 
| National Semiconductor
 
|-
 
|-
−
| "RiseRiseRise"
+
| <tt>"RiseRiseRise"</tt>
 
| Rise
 
| Rise
 
|-
 
|-
−
| "SiS SiS SiS "
+
| <tt>"SiS SiS SiS "</tt>
 
| SiS
 
| SiS
 
|-
 
|-
−
| "GenuineTMx86"
+
| <tt>"GenuineTMx86"</tt>
 
| Transmeta
 
| Transmeta
 
|-
 
|-
−
| "UMC UMC UMC "
+
| <tt>"UMC UMC UMC "</tt>
 
| UMC
 
| UMC
 
|-
 
|-
−
| "VIA VIA VIA "
+
| <tt>"VIA VIA VIA "</tt>
 
| VIA
 
| VIA
 
|}
 
|}
  
−
=== EAX = 0x00000001 ===
+
== Funktion 0x0000_0001 ==
−
Das Ergebnis dieser Funktion ist folgendes:
 
 
==== EAX ====
 
==== EAX ====
−
{| {{Prettytable}}
+
{| {{prettytable32bit|size="30pt"}}
−
! Bits  || Funktion 
+
{{csr|4}}
−
|-
+
{{cs|8}} Erweiterte Familie
−
| 31 - 28 || bgcolor="#bbb" | Reserviert
+
{{cs|4}} Erweitertes Modell
−
|-
+
{{csr|2}}
−
| 27 - 20 || Erweiterte Familie
+
{{csintel|2}} Typ
−
|-
+
{{cs|4}} Familie
−
| 19 - 16 || Erweitertes Modell
+
{{cs|4}} Modell
−
|-
+
{{cs|4}} Stepping
−
| 15 - 14 || bgcolor="#bbb" | Reserviert
 
−
|-
 
−
| 13 - 12 || Prozessortyp
 
−
|-
 
−
| 11 - 8 || Familienkennzeichen / Familiencode
 
−
|-
 
−
| 7 - 4 || Model
 
−
|-
 
−
| 4 - 0 || Stepping
 
 
|}
 
|}
 +
 
==== EBX ====
 
==== EBX ====
−
{| {{Prettytable}}
+
{| {{prettytable32bit|size="30pt"}}
−
! Bits  || Funktion 
+
{{cs|8}} [[APIC|APIC ID]]
−
|-
+
{{cs|8}} Anzahl logischer Prozessoren
−
| 31 - 24 || [[APIC|APIC ID]]
+
{{cs|8}} CLFLUSH Size
−
|-
+
{{cs|8}} Brand ID
−
| 23 - 16 || Count
 
−
|-
 
−
| 15 - 8 || Chunks
 
−
|-
 
−
| 7 - 0 || Brand ID
 
 
|}
 
|}
−
*''APIC ID'' ist nur gültig wenn das ''[[#EDX_-_Featureflags|APIC-Flag]]'' gesetzt ist.
+
{{Achtung|Text='''APIC ID''' ist nur gültig wenn das '''[[#EDX_-_Featureflags|APIC-Flag]]''' gesetzt ist.<br/>
−
*''Count'' ist die Anzahl der logischen Prozessoren und ist nur mit gesetztem ''[[#EDX_-_Featureflags|Hyper-Threading-Flag]]'' gültig.
+
Die Anzahl der logischen Prozessoren ist nur bei gesetztem '''[[#EDX_-_Featureflags|Hyper-Threading-Flag]]''' gültig.<br/>
−
*''Chunks'' gibt die Größe einer Cache line in 8&nbsp;Byte Blocken an. Das Feld ist ebenfalls nur gültig in Verbindung mit einem gesetzten ''[[#EDX_-_Featureflags|CFLUSH-Flag]]''.
+
'''CLFLUSH Size''' gibt die Größe einer Cache line in 8 Byte Blöcken an. Das Feld ist nur gültig in Verbindung mit einem gesetzten '''[[#EDX_-_Featureflags|CFLUSH-Flag]]'''.
 +
}}
 +
 
 
==== ECX ====
 
==== ECX ====
 +
{| {{prettytable32bit|size="30pt"}}
 +
{{csamd|1}} RAZ
 +
{{csr|3}}
 +
{{csintel|1}} OSXSAVE
 +
{{csintel|1}} XSAVE
 +
{{csr|2}}
 +
{{cs|1}} POPCNT
 +
{{csintel|1}} MOVBE
 +
{{csintel|1}} x2APIC
 +
{{csintel|1}} SSE4.2
 +
{{cs|1}} SSE4.1
 +
{{csintel|1}} DCA
 +
{{csr|2}}
 +
{{csintel|1}} PDCM
 +
{{csintel|1}} xTPR
 +
{{cs|1}} CX16
 +
{{csr|2}}
 +
{{csintel}} CNXT-ID
 +
{{cs|1}} SSSE3
 +
{{csintel|1}} TM2
 +
{{csintel|1}} EST
 +
{{csintel|1}} SMX
 +
{{csintel|1}} DS-CPL
 +
{{cs|1}} MONITOR
 +
{{csintel|1}} DTES64
 +
{{csr|1}}
 +
{{cs|1}} SSE3
 +
|}
 
Dieses Register gibt erweiterte Informationen über den Prozessor:
 
Dieses Register gibt erweiterte Informationen über den Prozessor:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
Zeile 151: Zeile 186:
 
| 0 || Verfügbarkeit von SSE3
 
| 0 || Verfügbarkeit von SSE3
 
|}
 
|}
−
==== EDX - Featureflags ====
+
==== EDX ====
 +
{| {{prettytable32bit|size="30pt"}}
 +
{{csintel|1}} PBE
 +
{{csintel|1}} IA64
 +
{{csintel|1}} TM
 +
{{cs|1}} HTT
 +
{{cs|1}} SS
 +
{{cs|1}} SSE2
 +
{{cs|1}} SSE
 +
{{cs|1}} FXSR
 +
{{cs|1}} MMX
 +
{{csintel|1}} ACPI
 +
{{csintel|1}} DS
 +
{{csr|1}}
 +
{{cs|1}} CLFLSH
 +
{{csintel|1}} PSN
 +
{{cs|1}} PSE-36
 +
{{cs|1}} PAT
 +
{{cs|1}} CMOV
 +
{{cs|1}} MCA
 +
{{cs|1}} PGE
 +
{{cs|1}} MTRR
 +
{{cs|1}} SEP
 +
{{csr|1}}
 +
{{cs|1}} APIC
 +
{{cs|1}} CX8
 +
{{cs|1}} MCE
 +
{{cs|1}} PAE
 +
{{cs|1}} MSR
 +
{{cs|1}} TSC
 +
{{cs|1}} PSE
 +
{{cs|1}} DE
 +
{{cs|1}} VME
 +
{{cs|1}} FPU
 +
|}
 +
 
 
Dies sind die Featureflags. Wenn ein Bit gesetzt(=1) ist, dann wird das entsprechende Feature unterstützt.
 
Dies sind die Featureflags. Wenn ein Bit gesetzt(=1) ist, dann wird das entsprechende Feature unterstützt.
 
{| {{Prettytable}}
 
{| {{Prettytable}}