64비트_멀티코어OS원리와구조

Control Register

소름돋는코드 2014. 12. 8. 09:15
반응형

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 모드에서만 접근가능



BitNameFull NameDescription
31PGPagingIf 1, enable paging and use the CR3 register, else disable paging
30CDCache disableGlobally enables/disable the memory cache
29NWNot-write throughGlobally enables/disable write-through caching
18AMAlignment maskAlignment check enabled if AM set, AC flag (in EFLAGS register) set, and privilege level is 3
16WPWrite protectDetermines whether the CPU can write to pages marked read-only when privilege level is 0
5NENumeric errorEnable internal x87 floating point error reporting when set, else enables PC style x87 error detection
4ETExtension typeOn the 386, it allowed to specify whether the external math coprocessor was an 80287 or80387
3TSTask switchedAllows saving x87 task context upon a task switch only after x87 instruction used
2EMEmulationIf set, no x87 floating point unit present, if clear, x87 FPU present
1MPMonitor co-processorControls interaction of WAIT/FWAIT instructions with TS flag in CR0
0PEProtected Mode EnableIf 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