<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CPUID</id>
	<title>CPUID - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CPUID"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CPUID&amp;action=history"/>
	<updated>2026-05-23T07:24:27Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=CPUID&amp;diff=485549&amp;oldid=prev</id>
		<title>84.158.120.82: /* Weblinks */ &#039;&#039;Detecting Step Levels&#039;&#039; by Jeff Prosise PC Mag 11. Februar 1992</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CPUID&amp;diff=485549&amp;oldid=prev"/>
		<updated>2024-08-14T05:07:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weblinks: &lt;/span&gt; &amp;#039;&amp;#039;Detecting Step Levels&amp;#039;&amp;#039; by Jeff Prosise PC Mag 11. Februar 1992&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;CPUID&amp;#039;&amp;#039;&amp;#039;-Kennung ist seit den späteren [[Intel 80486|486ern]] Teil der [[x86-Prozessor]][[x86-Architektur|architektur]], ab dem [[Intel Pentium|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-[[Multi Media Extension|MMX]]/[[Streaming SIMD Extensions|SSE]]-Befehlssatz oder erweiterte Adressierungsmöglichkeiten.&lt;br /&gt;
&lt;br /&gt;
== Abfrage ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Code 0 Hersteller ===&lt;br /&gt;
Als Resultat wird in den drei 32-Bit-Registern EBX, EDX und ECX 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.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;GenuineIntel&amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[Intel]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;AuthenticAMD&amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[AMD]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;CyrixInstead&amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[Cyrix]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;CentaurHauls&amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[Centaur Technology|VIA]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;GenuineTMx86&amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[Transmeta]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;SiS SiS SiS &amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[Silicon Integrated Systems|SIS]]&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;UMC UMC UMC &amp;quot;&amp;lt;/code&amp;gt; – Prozessoren von [[United Microelectronics Corporation|UMC]]&lt;br /&gt;
&lt;br /&gt;
=== Code 1 Modellvariante ===&lt;br /&gt;
Als Resultat ergeben sich in einigen Registern die herstellerspezifischen Typnummern der Prozessorfamilie, Prozessorvariante und Überarbeitungsstatus. Die &amp;#039;&amp;#039;Familie&amp;#039;&amp;#039; beginnt bei &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; für die 486er-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.&lt;br /&gt;
&lt;br /&gt;
: in EAX &amp;lt;code&amp;gt;8…11&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;: [[Intel 80486|Intel 486]]-CPUs, [[Am5x86|AMD 5x86]], [[Cyrix|Cyrix 5x86]]&lt;br /&gt;
* &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;: [[Pentium|Intel Pentium]], [[AMD K5]], [[AMD K6]], [[Cyrix|Cyrix 6x86/M1]], [[Transmeta Crusoe]]&lt;br /&gt;
* &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;: [[Pentium II|Intel Pentium II]], [[Pentium III|Intel Pentium III]], [[Athlon|AMD Athlon/K7]], [[VIA C3]], [[Intel Core]], [[Intel Core 2]], Intel-CPUs mit [[Intel-Nehalem-Mikroarchitektur|&amp;#039;&amp;#039;Nehalem&amp;#039;&amp;#039;-Kern]]&lt;br /&gt;
* &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt;: [[Itanium|HP / Intel Itanium]]&lt;br /&gt;
* &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;: der Wert, der in den Bits der erweiterten Familie (EAX &amp;lt;code&amp;gt;20…27&amp;lt;/code&amp;gt;) kodiert ist, wird addiert:&lt;br /&gt;
** &amp;lt;code&amp;gt;0Fh&amp;lt;/code&amp;gt;: [[Pentium IV|Intel Pentium IV]], CPUs mit [[AMD K8]]/[[AMD K9|K9]]-Mikroarchitektur&lt;br /&gt;
** &amp;lt;code&amp;gt;10h&amp;lt;/code&amp;gt;: CPUs mit [[AMD K10]]-Mikroarchitektur, [[Itanium 2|HP / Intel Itanium 2]]&lt;br /&gt;
** &amp;lt;code&amp;gt;11h&amp;lt;/code&amp;gt;: [[AMD Turion X2|AMD Turion X2 Ultra]] (&amp;#039;&amp;#039;Griffin&amp;#039;&amp;#039;-Kern)&lt;br /&gt;
&lt;br /&gt;
Der Überarbeitungsstatus (in EAX &amp;lt;code&amp;gt;0…3&amp;lt;/code&amp;gt;) ist modellspezifisch und wird je Prozessorvariante hochgezählt. Dieser Status ist ein einfacher Indikator für das &amp;#039;&amp;#039;[[Stepping (Mikroprozessoren)|Stepping]]&amp;#039;&amp;#039; 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 &amp;#039;&amp;#039;CPUID 06D8h&amp;#039;&amp;#039; für [[Celeron M|Intel Celeron M]] oder die &amp;#039;&amp;#039;CPUID 0F48h&amp;#039;&amp;#039; und &amp;#039;&amp;#039;0F4Ah&amp;#039;&amp;#039; zur Unterscheidung des &amp;#039;&amp;#039;C0&amp;#039;&amp;#039;- und &amp;#039;&amp;#039;CG&amp;#039;&amp;#039;-Stepping des [[Athlon 64|AMD Athlon 64]] (mit deutlich verschiedener Leistungsaufnahme).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
* EDX:&amp;lt;code&amp;gt; 0&amp;lt;/code&amp;gt; klassisches [[Gleitkommaeinheit|FPU]]-Gleitkomma-Rechenwerk ist vorhanden&lt;br /&gt;
* EDX:&amp;lt;code&amp;gt; 6&amp;lt;/code&amp;gt; Adresserweiterung [[Physical Address Extension|PAE]] wird verarbeitet&lt;br /&gt;
* EDX:&amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt; neueres [[Multi Media Extension|MMX]]-Multimedia-Rechenwerk ist vorhanden&lt;br /&gt;
* EDX:&amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt; modernes [[Streaming SIMD Extensions 2|SSE2]]-Gleitkomma/Multimedia-Rechenwerk ist vorhanden&lt;br /&gt;
* ECX:&amp;lt;code&amp;gt; 7&amp;lt;/code&amp;gt; [[Intel-SpeedStep-Technologie|SpeedStep]]-Erweiterung ist ansprechbar&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;Prozessorflags&amp;#039;&amp;#039; (in Linux &amp;lt;code&amp;gt;/proc/cpuinfo&amp;lt;/code&amp;gt;) überprüft werden. Meist schaut man dabei nach MMX, 3DNow!, SSE, [[Streaming SIMD Extensions 2|SSE2]], PNI (&amp;#039;&amp;#039;{{lang|en|prescott new instructions}}&amp;#039;&amp;#039; alias [[Streaming SIMD Extensions 3|SSE3]]), [[Streaming SIMD Extensions 4|SSE4]], einer der aktuellen [[Advanced Vector Extensions|AVX]]-Varianten oder nach der Befehlssatzerweiterung [[AES-NI]] (&amp;#039;&amp;#039;Advanced Encryption Standard New Instructions&amp;#039;&amp;#039;), in letztgenanntem Fall zur Beschleunigung der heute sehr verbreiteten AES-Verschlüsselung.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Codes ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== CPU Erkennung auf CPUs vor Einführung des CPUID Befehls ==&lt;br /&gt;
&lt;br /&gt;
Vor der Einführung des &amp;lt;code&amp;gt;CPUID&amp;lt;/code&amp;gt;-Befehls wurde ein [[Intel 80286|286]] und später von einem [[Intel 8088|8088]] und [[Intel 8086|8086]] dadurch unterschieden, in dem man das [[Statusregister]] mit Nullen füllte und dann die Werte im Statusregister wieder auslas. Beim 8088 und 8086 waren die Bits 12 bis 15 des Statusregisters undefiniert und lieferten immer eine 1 zurück, während hingegen der 286 und spätere Prozessoren aufgrund der Änderung auf Null diese Null behielten und zurückgaben.&lt;br /&gt;
Den [[Intel 80386|386]] unterschied man vom 286 auf eine ähnliche Weise, in dem man die Statusregister Bit 12 für Nested Task (NT) und Bit 13 bis 14 für [[Privilegienstufe|I/O Privilege Level]] (IOPL) im [[Real Mode]] auslas. Der 286 hält diese beiden Registerwerte im Real Mode auf die Werte Null und erlaubt keine Änderung auf Eins, während der 386 dies erlaubt.&amp;lt;ref&amp;gt;https://cosmodoc.org/topics/processor-detection/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* https://www.sandpile.org/x86/cpuid.htm&lt;br /&gt;
* [https://www.geoffchappell.com/studies/windows/km/cpu/precpuid.htm CPU Identification Before CPUID]&lt;br /&gt;
* [https://books.google.de/books?id=FeIuiOQN-nEC&amp;amp;lpg=PA1&amp;amp;hl=de&amp;amp;pg=PT330#v=onepage&amp;amp;q&amp;amp;f=false &amp;#039;&amp;#039;Detecting Step Levels&amp;#039;&amp;#039; by Jeff Prosise PC Mag 11. Februar 1992], Zum Erkennen des Steppings von 386 Prozessoren (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Cpuid}}&lt;br /&gt;
[[Kategorie:Rechnerarchitektur]]&lt;br /&gt;
[[Kategorie:Abkürzung|CPUID]]&lt;/div&gt;</summary>
		<author><name>84.158.120.82</name></author>
	</entry>
</feed>