X86
Diese Seite oder Abschnitt ist zwar komplett, es wird aber folgende Verbesserungen gewünscht:
Hilf Lowlevel, den Artikel zu verbessern. |
Die x86-Architektur wurde von Intel entwickelt und nach den Prozessoren der Baureihe 8086 benannt. Alle neueren Prozessoren sind abwärtskompatibel zum 386 bzw 486. Intel selbst nennt diese Architektur heute IA-32. In absehbarer Zukunft wird der x86-Standard aber wohl durch den x64-Standard abgelöst werden.
Inhaltsverzeichnis
CPU
Register
Übersicht
Bits | Register |
---|---|
8 | AL, BL, CL, DL, AH, BH, CH, DH |
16 | AX, BX, CX, DX, DI, SI, BP, SP, CS, DS, ES, FS, GS, SS |
32 | EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP, EIP, EFLAGS |
128 | XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7 |
Allzweckregister
|
Die Allzweckregister können, wie ihr Name schon andeutet, eigentlich für jeden Zweck genutzt werden. Trotzdem gibt es einige gebräuchliche Nutzungen:
|
Indexregister
|
Die Indexregister werden oft als Indizes in Datenbereichen (v. a. bei den eingebauten Stringoperationen) verwendet. Dabei zeigt
|
Zeigerregister
|
Die Zeigerregister werden genutzt, um auf Stellen im Speicher zu zeigen.
|
Instruktionsregister
|
Das Instruktionsregister EIP (engl.: Instruction Pointer) zeigt immer auf den nächsten auszuführenden Befehl. Es kann nicht direkt geändert oder ausgelesen werden, sondern nur über Instruktionen wie jmp, call oder ret. |
Flagregister
→ Hauptartikel: EFLAGS
|
Das Flagregister EFLAGS speichert einige Konfigurationsmöglichkeiten und Systemzustände, beispielsweise, ob Interrupts gerade erlaubt sind oder ob ein Übertrag bei einer Addition stattfand. |
Segmentregister
|
Die Segmentregister geben die Basisadresse des aktuellen Segments an. Dabei steht
FS und GS sind zusätzliche Daten-Segmente (wie ES). |
Die Segmentregister sind im Protected Mode auch für die Segmentierung mit Hilfe der GDT verantwortlich.
Zusätzliche Spezialregister
- GDTR (engl.: Global Descriptor Table Register) enthält Position und Größe der GDT
- LDTR (engl.: Local Descriptor Table Register) enthält den Selektor der LDT
- IDTR (engl.: Interrupt Descriptor Table Register) enthält Position und Größe der IDT
- CR0, CR2, CR3 und CR4 (engl.: Control Register) werden im Protected Mode für erweiterte Einstellungen des Prozessorzustandes genutzt, z. B. für Paging (hier insbesondere CR2 und CR3)
- TR6 – TR7 (engl.: Test Register) zum Überprüfen des Translation Lookaside Buffers (TR0 – TR5 gibt es beim 80386 nicht)
- DR0 – DR7 (engl.: Debug Register) zum Setzen von Breakpoints
- TR (engl.: Task Register) Segment-Selektor des TSS
- MSRs (engl.: Machine-Specific Register)
Erkennen der CPU
Mit dem Befehl CPUID kann man beispielsweise die von der CPU unterstützten Features oder Daten wie den Hersteller der CPU auslesen.
sonstige Hardware
Diese Seite oder Abschnitt ist zwar komplett, es wird aber folgende Verbesserungen gewünscht: Andere zur Platform gehörende Hardware auflisten mit Links zu den entsprechenden Artikeln Hilf Lowlevel, den Artikel zu verbessern. |