반응형
Control Register 는 운영모드를 변경하고 현재 운영중인 모드의 특정기능을 제어하는 레지스터
x86 : CR0, CR1 , CR2 ,CR3 ,CR4 의 5 개의 Control register
x86-64 : CR0, CR1 , CR2 ,CR3 ,CR4 , CR8 총 6 개의 Control register
Register |
설명 |
CR0 |
운영모드를 제어하는 레지스터,리얼모드에서 보호모드로 전환하는 역활과 캐시,페이징기능을 활성화 |
CR1 |
프로세서의 의해 예약된 레지스터 |
CR2 |
페이지 폴트 발생시 페이지 폴트가 발생한 선형주소가 저장되는 레지스터 페이징기법을 활성화하느 후에는 페이이지폴트 발생시만 유효한 값임 |
CR3 |
페이지 데렉토리의 물리주소와 페이지캐시에 관련된 기능을 설정 |
CR4 |
프로세서에서 지원하는 각종확장기능을 제어하는 레지스터 페이지크기 확장이나 메모리영역확장등의 기능을 활성화 |
CR8 |
태스크 우선순위 레지스터의 값을 제어하는 레지스터 프로세스외부에서 발생하는 인터럽트를 걸러주는 필터의 역활 IA-32e 모드에서만 접근가능 |
Bit | Name | Full Name | Description |
---|---|---|---|
31 | PG | Paging | If 1, enable paging and use the CR3 register, else disable paging |
30 | CD | Cache disable | Globally enables/disable the memory cache |
29 | NW | Not-write through | Globally enables/disable write-through caching |
18 | AM | Alignment mask | Alignment check enabled if AM set, AC flag (in EFLAGS register) set, and privilege level is 3 |
16 | WP | Write protect | Determines whether the CPU can write to pages marked read-only when privilege level is 0 |
5 | NE | Numeric error | Enable internal x87 floating point error reporting when set, else enables PC style x87 error detection |
4 | ET | Extension type | On the 386, it allowed to specify whether the external math coprocessor was an 80287 or80387 |
3 | TS | Task switched | Allows saving x87 task context upon a task switch only after x87 instruction used |
2 | EM | Emulation | If set, no x87 floating point unit present, if clear, x87 FPU present |
1 | MP | Monitor co-processor | Controls interaction of WAIT/FWAIT instructions with TS flag in CR0 |
0 | PE | Protected Mode Enable | If 1, system is in protected mode, else system is in real mode |
반응형
'64비트_멀티코어OS원리와구조' 카테고리의 다른 글
세그먼트레지스터 (0) | 2014.12.02 |
---|---|
범용레지스터 (0) | 2014.12.02 |
범용레지스터 General Purpose Register (0) | 2014.12.02 |