Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors

Ähnliche Präsentationen


Präsentation zum Thema: "CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors"—  Präsentation transkript:

1 CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors
1 Quellen: Addison-Wesley – Das Assembler-Buch Das Wissen über die Funktion der CPU-Register ist für die Assembler-Programmierung ein wichtiger Bestandteil – Schließlich braucht man sie für fast jede Operation. Zwar beinhaltet diese Präsentation keine detaillierten Fakten, dennoch kann sie als kurzer Einblick oder Einführung dienen. Um mit den Registern arbeiten zu können werden im ersten Teil die CPU-Datenformate aufgezeigt. Danach werden die Basis-Register genannt und einzeln erläutert. Am Ende befindet sich ein Quellenverzeichnis, Buchtipps und das Impressum.

2 CPU-Register CPU-DATENFORMATE eines Pentium Prozessors
2 Quellen: Addison-Wesley – Das Assembler-Buch Der Prozessor kennt die aus den Hochsprachen bekannten Datenformate wie Integer, Boolean oder ähnliche nicht. So kennt er nicht mal den Unterschied zwischen vorzeichenbehafteten und vorzeichenlosen Integers: Für ihn gibt es, abgeleitet von den Daten, die die Prozessoren kennen, nur Byte-Daten (define bytes, DB) Word-Daten (define words; DW) Double-Word-Daten (define double words; DD) QuadWord-Daten (define quad words; DQ) Ob vorzeichenbehaftet oder nicht, das interessiert weder den Prozessor noch dem Assembler – hier ist die Interpretationsfähigkeit des Programmierers gefragt.

3 CPU-Register CPU-DATENFORMATE eines Pentium Prozessors
3 Quellen: Addison-Wesley – Das Assembler-Buch Trotzdem verwenden die meisten Programmierer die seit langem eingeführten und probaten Datenformate: Für vorzeichenlose Ganzzahlen Bytes (8 Bits) Words (16 Bits) Double Words (32 Bits) Quad Words (64 Bits) Für vorzeichenbehaftete Ganzzahlen ShortInts (7 Bits + Vorzeichen) SmallInts (15 Bits + Vorzeichen) LongInts (31 Bits + Vorzeichen)

4 CPU-Register DIE CPU-BASIS-REGISTER eines Pentium Prozessors
4 Quellen: Addison-Wesley – Das Assembler-Buch Zum Bearbeiten der eben gezeigten Daten besitzt der Prozessorchip Strukturen, die man als Register bezeichnet. Es gibt mehrere Register mit verschiedenen Aufgaben z.b.: Bearbeitung von Daten mit logischen und arithmetischen Instruktionen Darstellung von Informationen über den aktuellen Zustand des Prozessors Entgegennehmen von Informationen Steuerung der Aktivitäten des Prozessors Aufnehmen von Adressen und Indices Gemäß dieser Aufgaben sind die Register unterteilt in: Allzweckregister Segmentregister Programm-Status- und –Kontroll-Register instruction pointer register

5 CPU-Register DIE CPU-BASIS-REGISTER – DIE ALLZWECKREGISTER
eines Pentium Prozessors DIE CPU-BASIS-REGISTER – DIE ALLZWECKREGISTER 5 Quellen: Addison-Wesley – Das Assembler-Buch Nehmen arithmetische oder logische Operanden auf. Nehmen Zeiger auf, die bei gewissen Befehlen, über die die Kommunikation mit der Peripherie erfolgt, eine Rolle spielen. Die modernen Pentium-4-Prozessoren besitzen acht solcher Register: EAX (Extendet Accumulator) EBX (Extendet Base register) ECX (Extendet Counter register) EDX (Extendet Data register) ESI (Extendet Source Index register) EDI (Extendet Destination Index register) EBP (Extendet Base Pointer register) ESP (Extendet Stack Pointer register) Alle sind jeweils 32 Bits groß, die ersten Bits, 0-15, werden auch als AX,BX,CX u.s.w bezeichnet. ESP und EBP sollte man nicht benutzen, sie dienen der Verwaltung des Stacks auf den der Prozessor immer wieder zurückreift.

6 CPU-Register DIE CPU-BASIS-REGISTER – DIE SEGMENTREGISTER
eines Pentium Prozessors DIE CPU-BASIS-REGISTER – DIE SEGMENTREGISTER 6 Quellen: Addison-Wesley – Das Assembler-Buch Es gibt sechs Segmentregister. Sie enthalten Adressen, die beim Zugriff auf den Speicher eine wesentliche Rolle spielen. – Sie sind auch nur für diesen Zweck nutzbar. Das Segmentregister DS spielt eine besondere Rolle:es dient der Adressberechnung zum Zugriff auf Daten als Standart-Bezugsregister. Die Nutzung der Register ES, FS und GS zu diesem Zweck ist zwar möglich, verlangt aber einen sogenannten segment override prefix, der ein zusätzlichen Byte in der Instruktion darstellt und die Befehlsbearbeitung in den Pipelines entsprechend verzögert. Die Register CS und SS haben ebenfalls eine Sonderstellung, sie sind für das Codesegment und für den Stack reserviert.

7 CPU-Register DIE CPU-BASIS-REGISTER – DER INSTRUCTION POINTER
eines Pentium Prozessors DIE CPU-BASIS-REGISTER – DER INSTRUCTION POINTER 7 Quellen: Addison-Wesley – Das Assembler-Buch Der instruction pointer (dt.: Befehlszeiger) wird nur der Vollständigkeit erwähnt. Denn der Zugriff ist für den Programmierer vollständig verwehrt. Das Register untersteht ausschließlich der Kontrolle des Prozessors: Hier speichert er die Adresse des nächsten auszuführenden Befehls Der Inhalt wird vom Prozessor bei jeder Ausführung eines Befehls aktualisiert Es gibt auch keinen Grund den Inhalt des Registers zu ändern, schließlich kann man mit dem JMP, dem Jcc oder dem CALL-Befehl das gleiche erreichen

8 CPU-Register DIE CPU-BASIS-REGISTER – DAS EFLAGS-REGISTER
eines Pentium Prozessors DIE CPU-BASIS-REGISTER – DAS EFLAGS-REGISTER 8 Quellen: Addison-Wesley – Das Assembler-Buch Dieses Register ist (direkt) nur schwer zugänglich: Es gibt nur wenige Befehle im Assembler, die das EFlags-Register als Quelle oder Ziel einer Operation akzeptieren. Das Datum in EFlags wird in eindeutiger Weise Interpretiert: als Feld von 32 Bits. Diese Bits sind völlig unabhängig voneinander und beeinflussen sich gegenseitig nicht. Sie dienen 3 Zwecken: Darstellung des derzeitigen Programmstatus (Condition Code) Steuerung gewisser Programmabläufe (Kontrollflags) Darstellung bestimmter Systemparameter (Systemflags) Da diese Bits bestimmte Sachverhalte signalisieren sollen werden sie auch als Signal-Flags bezeichnet

9 CPU-Register DIE CPU-BASIS-REGISTER – DAS EFLAGS-REGISTER
eines Pentium Prozessors DIE CPU-BASIS-REGISTER – DAS EFLAGS-REGISTER 9 Quellen: Addison-Wesley – Das Assembler-Buch Die wichtigsten und häufigsten benutzten Flags sind die Statusflags, es gibt folgende: das carry flag (CF) das parity flag (PF) das adjust flag (AF) das zero flag (ZF) das sign flag (SF) und das overflow flag (OF) Sie zeigen zum Beispiel an: Ob bei der letzten Rechnung ein Übertrag oder ein Unterlauf entstanden ist, oder Ob bei der letzten Rechnung eine vorzeichenbehaftete Zahl heraus kam oder nicht Ebenfalls können sie anzeigen ob bei einer Operation 0 heraus kam.

10 Von Trutz Eyke Podschun, Erschienen im Addison-Wessley-Verlag
CPU-Register eines Pentium Prozessors QUELLENVERZEICHNIS UND BUCHTIPS 10 Quellen: Addison-Wesley – Das Assembler-Buch Das Wissen über die Inhalte dieser Präsentation stammen aus dem Buch: Das Assembler-Buch Von Trutz Eyke Podschun, Erschienen im Addison-Wessley-Verlag Diese Buch wird auch von mir ganz stark empfohlen, weil da steht alles drin!

11 CPU-Register © 2003 IIMPRESSUM eines Pentium Prozessors
11 Quellen: Addison-Wesley – Das Assembler-Buch Idee: Michael Wellner Design: Michael Wellner Programmierung: Michael Wellner Weitere Infos: oder © 2003


Herunterladen ppt "CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors"

Ähnliche Präsentationen


Google-Anzeigen