Assembler-Befehl CPUID
Aus PlusPedia
Der Assembler-Befehl CPUID ist ein Befehl der Assembler-Sprache, der nähere Informationen über den jeweils verwendeten Prozessor liefert.
Inhaltsverzeichnis
Übrigens: Die PlusPedia ist NICHT die Wikipedia. Wir sind ein gemeinnütziger Verein, PlusPedia ist werbefrei. Wir freuen uns daher über eine kleine Spende! |
1 Details
- Da viele Fähigkeiten eines Prozessors prozessorspezifisch sind, ist es in maschinennaher Programmierung nötig, die "Identität" des jeweiligen Prozessors festzustellen, um auch wirklich alle Möglichkeiten des Prozessors ausschöpfen zu können.
- Dazu gibt es seit dem Pentium den Befehl CPUID (CPU identification).
- Ob der Befehl CPUID bereits in einem System vorhanden ist, kann man dem Inhalt des EFlags-Registers entnehmen. Lässt sich das ID-Flag (Bit 21) gezielt umschalten, ist CPUID implementiert.
- CPUID gibt eine sehr große Menge an Informationen in verschieden Register zurück. Deshalb ist es erforderlich bei Befehlsaufruf einen Parameter zu übergeben, der spezifziert zu welchem "Themenbereich" man Informationen erhalten möchte. Es gibt drei Basisfunktionen und erweiterte Funktionen.
- Über Basisfunktion 0 kann man erfahren, ob man es mit einem Pentium 4, Pentuim III, Pentium II oder Pentium Pro zu tun hat. Die Informationen liegen dabei im Register EAX.
- Basisfunktion 1 gibt nähere Information zur Prozessor-Version. So kann man unterscheiden zwischen original OEM, Intel overdrive, dual (für zwei Prozessor-Systeme) und reserved. Auch kann man die Größe der cache line in 8-Byte-Blöcken erfahren, in Erfahrung bringen ob der Prozessor bsp. eine FPU hat, ob VME verfügbar ist, ob page size extensions verfügbar sind und ob gewisse Befehle verfügbar sind.
- Basisfunktion 2 gibt Informationen zu Cache und TLB des Prozessors. Die Informationen werden in den Registern EAX, EBX, ECX und EDX übergeben.
- Basisfunktion 3 ist nur auf wenigen Intel-Prozessoren realisiert.
- Die erweiterten Funktionen sind nicht bei allen Prozessoren verfügbar. Sie geben weitere Infos, wie bsp. ob 3DNow! oder MMX unterstützt werden. [1]
2 Links und Quellen
2.1 Siehe auch
2.2 Weblinks
2.2.1 Bilder / Fotos
2.2.2 Videos
2.3 Quellen
2.4 Literatur
- Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 143 bis 158
2.6 Einzelnachweise
- ↑ Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 143 bis 158
Diesen Artikel melden!
Verletzt dieser Artikel deine Urheber- oder Persönlichkeitsrechte?
Hast du einen Löschwunsch oder ein anderes Anliegen? Dann nutze bitte unser Kontaktformular
PlusPedia Impressum
Bitte Beachte:
Sämtliche Aussagen auf dieser Seite sind ohne Gewähr.
Für die Richtigkeit der Aussagen übernimmt die Betreiberin keine Verantwortung.
Nach Kenntnissnahme von Fehlern und Rechtsverstößens ist die Betreiberin selbstverständlich bereit,
diese zu beheben.
Verantwortlich für jede einzelne Aussage ist der jeweilige Erstautor dieser Aussage.
Mit dem Ergänzen und Weiterschreiben eines Artikels durch einen anderen Autor
werden die vorhergehenden Aussagen und Inhalte nicht zu eigenen.
Die Weiternutzung und Glaubhaftigkeit der Inhalte ist selbst gegenzurecherchieren.