Schön, dass Sie da sind!

PlusPedia wird derzeit technisch modernisiert. Wie alles, was bei laufendem Betrieb bearbeitet wird, kann es auch hier zu zeitweisen Ausfällen bestimmter Funktionen kommen. Es sind aber alle Artikel zugänglich, Sie können PlusPedia genauso nutzen wie immer.

Bei PlusPedia sind Sie sicher: – Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.

Bitte beachten: Aktuell können sich keine neuen Benutzer registrieren. Wir beheben das Problem so schnell wie möglich.

PlusPedia blüht wieder auf als freundliches deutsches Lexikon.
Wir haben auf die neue Version 1.43.3 aktualisiert.
Wir haben SSL aktiviert.
Hier geht es zu den aktuellen Aktuelle Ereignissen

Hinweis zur Passwortsicherheit:
Bitte nutzen Sie Ihr PlusPedia-Passwort nur bei PlusPedia.
Wenn Sie Ihr PlusPedia-Passwort andernorts nutzen, ändern Sie es bitte DORT bis unsere Modernisierung abgeschlossen ist.
Überall wo es sensibel, sollte man generell immer unterschiedliche Passworte verwenden! Das gilt hier und im gesamten Internet.
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)

Assembler-Befehl CPUID

Aus PlusPedia
Zur Navigation springen Zur Suche springen

Der Assembler-Befehl CPUID ist ein Befehl der Assembler-Sprache, der nähere Informationen über den jeweils verwendeten Prozessor liefert.

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]

Links und Quellen

Siehe auch

Weblinks

Bilder / Fotos

Videos

Quellen

Literatur

  • Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 143 bis 158

Naviblock

Einzelnachweise

  1. Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 143 bis 158