프로세서 레지스터
위키백과, 우리 모두의 백과사전.
|
|
이 문서의 내용은 출처가 분명하지 않습니다. 지금 바로 이 문서를 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견은 토론 문서에서 나누어 주세요. |
프로세서 레지스터(영어: processor register, 순화 용어: 기록기) 또는 단순히 레지스터는 컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 장소이다. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다. 대부분의 현대 프로세서는 메인 메모리에서 레지스터로 데이터를 옮겨와 데이터를 처리한 후 그 내용을 다시 레지스터에서 메인 메모리로 저장하는 로드-스토어 설계를 사용하고 있다.
레지스터는 메모리 계층의 최상위에 위치하며, 가장 빠른 속도로 접근 가능한 메모리이다. 최신 프로세서에서 레지스터는 대개 레지스터 파일로 구현되지만, 과거에는 플립플롭, 마그네틱 코어, 박막 필름 메모리 등으로 구현되기도 했다.
레지스터의 종류 [편집]
- 데이터 레지스터 : 정수 값을 저장할 수 있는 레지스터.
- 주소 레지스터 : 메모리 주소를 저장하여 메모리 접근에 사용되는 레지스터. 어떤 프로세서에서는, 주소를 저장하는 것이 아니라 조작하기 위한 목적으로 색인 레지스터를 사용하기도 한다.
- 범용 레지스터 : 데이터와 주소를 모두 저장할 수 있는 레지스터.
- 부동 소수점 레지스터 : 많은 시스템에서 부동소수점 값을 저장하기 위해 사용된다.
- 상수 레지스터 : 0이나 1 등 고정된 값을 저장하고 있는 레지스터.
- 특수 레지스터 : 프로그램의 상태를 저장한다. 프로그램 카운터, 스택 포인터, 상태 레지스터 등이 있다.
- 명령 레지스터 : 현재 실행중인 명령어를 저장한다.
- 색인 레지스터 : 실행중에 피연산자의 주소를 계산하는 데 사용된다.
일반적 구성 [편집]
프로세서 내부의 레지스터 구성은 일반적으로 다음과 같다.
- PC(프로그램 계수기) : 다음에 실행할 명령어(instruction)의 주소를 가지고 있다.
- IR(명령어 레지스터) : 현재 수행 중인 명령어를 가지고 있다.
- MAR(메모리 주소 레지스터) : 메모리로부터 읽어오거나 메모리에 쓰기 위한 주소를 가지고 있다.
- MBR(메모리 버퍼 레지스터) : 메모리로부터 읽어온 데이터 또는 메모리에 써야할 데이터를 가지고 있다.
- I/O AR(입출력 주소 레지스터) : 입출력 장치에 따른 입출력 모듈의 주소를 가지고 있다.
- I/O BR(입출력 버퍼 레지스터) : 입출력 모듈과 프로세서 간의 데이터 교환을 위해 사용된다.
예 [편집]
| 프로세서 | 정수 레지스터 | 더블 FP 레지스터 |
|---|---|---|
| 인텔 코어 듀오 | 8 | 8 |
| 인텔 코어 2 | 16 | 16 |
| 펜티엄 4 | 8 | 8 |
| 펜티엄 4 + EM64T | 16 | 16 |
| 애슬론 64 | 16 | 16 |
| 애슬론 MP | 8 | 8 |
| 옵테론 240 | 16 | 16 |
| 아이테니엄 2 | 128 | 128 |
| 울트라 SPARC IIIi | 32 | 32 |
| POWER3 | 32 | 32 |
| 6502 | 3 | 0 |
|
CPU 기술 |
|
|---|---|
| 구조 | |
| 명령어 집합 | |
| 파이프라인 | |
| 병렬화 | |
| 스레드 | |
| 플린 분류 | |
| 종류 | |
| 구성 | |
| 전력 관리 | |