Die Control Register sind spezielle Register der IA32 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 IA32 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