Die Control Register sind spezielle Register der IA-32 und AMD64 Architekturen, die den Betriebsmodus und einige Eigenschaften der CPU festlegen. In der AMD64-Architektur haben sie eine Breite von 64 Bit, wobei die unteren 32 Bit, den der IA-32 Architektur entsprechen.
Der Zugriff auf diese Register ist wie bei den Segment Registern auch nur mit einem Umweg über Allzweckregister möglich.
CR0
|
|
| 31
|
30
|
29
|
28-19
|
18
|
17
|
16
|
15-6
|
5
|
4
|
3
|
2
|
1
|
0
|
| PG |
CD |
NW |
Reserviert |
AW |
|
WP |
Reserviert
|
NE |
ET |
TS |
EM |
MP |
PE
|
|
- PE - Protection Enbale Flag schaltet den Protected Mode ein bzw. aus (Genaueres siehe hier)
- MP - Mit dem Monitor Coprocessor Flag kann festgelegt werden ob bei Gesetztem TS-Flag der Aufruf von WAIT/FWAIT einen Exception auslösen oder nicht (bei gesetztem MP-Flag wird die Exception ausgelöst).
- EM - Bei gesetztem Emulation Flag löst die CPU für jede FPU-Instruktion eine #NM-Exception aus. Für Multimedia-Instruktionen wird eine #UD-Exception ausgelöst. Damit wird es dem Betriebssystem ermöglicht eine FPU zu emulieren. (WAIT/FWAIT lösen keine Exception aus)
- TS - Das Task Switched Flag wird bei einem Hardware-Taskswitch von der CPU gesetzt und kann für Software Multitasking auch von Hand gesetzt werden. Wenn bei gesetztem TS-Flage versucht wird eine FPU- oder Multimedia-Instruktion auszuführen, dann löst die CPU eine #NM-Exception aus. Dadurch können die FPU- bzw. Multimedia-Register, die bei normalen Taskswitchs nicht beachtet werden, entsprechend gesichert und geladen werden bevor sie verwendet werden.
- ET - Extension Type
- NE - Numeric Error
- WP - Write Protect
- AM - Alignment Mask
- NW - Not Write-throgh
- CD - Cache Disable
- PG - Paging schaltet den Paging-Meschanismus Ein/Aus
CR2
Bevor die CPU eine Page-Falut Exception auslöst, lädt sie die virtuelle Adresse, die den Fehler verursacht hat, in das CR2 Register.
CR3
Das CR3-Register enthält primär die Adresse des Page Directories, sowie 2 Flags, die das interne Caching innerhalb der CPU (nicht im TLB) steuern. Wenn Physical Address Extension (PAE) aktiviert ist, wird die Adresse des Page Directories ersetzt durch die um 7 Bits größere Adresse zur Page-Directory Pointer Table.
| Bit |
Funktion |
Funktion mit aktivierter PAE
|
| Bit 0-2 |
Reserviert
|
| Bit 3 |
PWT Page-level Writes Transparant
|
| Bit 4 |
PCD Page-level Cache Disable
|
| Bit 5-11 |
Reserviert |
Page-Directory-Pointer-Table Base
Basis-Adresse der PDPT
|
| Bit 12-31 |
Page-Directory Base Basis Adresse des Page-Directorys
|
CR4
| Bit |
Funktion
|
| Bit 0 |
VME Virtual 8086 Mode Extension
|
| Bit 1 |
PVI Protected Mode Virtual Interrupt
|
| Bit 2 |
TSD Time Stamp Disable
|
| Bit 3 |
DE Debugging Extension
|
| Bit 4 |
PSE Page Size Extension
|
| Bit 5 |
PAE Physical Address Extension
|
| Bit 6 |
MCE Machine Check Enable
|
| Bit 7 |
PGE Page Global Enable
|
| Bit 8 |
PCE Performance Monitoring Counter Enable
|
| Bit 9 |
OSFXSR Operating System Support for FXSAVE and FXSTOR
|
| Bit 10 |
OSXMMEXCPT Operating System Support for Unmasked SIMD Exception
|
| Bit 11-31 |
Reserviert
|
CR8
| Bit |
Funktion
|
| Bit 0-3 |
TPL Task Priority Level
|
| Bit 3-31 |
n/a
|
CR1, CR5-CR7 und CR9-CR15
Die Register CR1, CR5-CR7 und CR9-CR15 sind reserviert. Versucht Software dennoch darauf zuzugreifen löst die CPU eine #UD-Exception aus.
Weblinks