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. |