Privacy Policy Cookie Policy Terms and Conditions CPUID - Wikipedia

CPUID

aus Wikipedia, der freien Enzyklopädie

Die CPUID-Kennung ist Teil der x86-Prozessorarchitektur ab Einführung des Pentiums im Jahr 1993. Die Kennung erlaubt der Software im laufenden Betrieb (ohne BIOS-Unterstützung) die CPU-Hardware zu identifizieren, einschließlich des Hersteller und aktivierter zusätzlicher Funktionseinheiten wie MMX/SSE des Rechenwerks oder PAE/NX des Addresswerks.

Inhaltsverzeichnis

[Bearbeiten] 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.

[Bearbeiten] Code 0 Hersteller

Als Resultat wird in drei 32bit-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
  • " SiS SiS SiS" - Prozessoren von SIS

[Bearbeiten] 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) zeigt ist modellspezifisch, der je Prozessorvariante hochgezählt wird. 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 Addresswerks 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
  • EDX:30 die 64bit-Erweiterung (erstmals AMD64) 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).

[Bearbeiten] Weitere Codes

Die Möglichkeit eines 32bit-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.

[Bearbeiten] Weblinks

Andere Sprachen
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu