레지스터는 CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 다목적 공간이다.
🎯 레지스터의 역할!
- CPU 내부에 존재하며 연산제어 및 디버깅 목적으로 사용된다.
- 일시적 메모리 역할을 한다.
- CPU가 메모리에 데이터를 가져오게 되면 시간이 오래 소요 되지만, CPU 내부에 있는 레지스터에서 데이터를 가져오면 매우 빠른 시간 내에 동작이 가능하다.
- 연산을 위한 데이터도 저장하지만, 연산 결과도 저장한다.
🎯 레지스터의 종류
- 레지스터의 종류는 DR,AR,PC,IR,MAR,MBR,PSR 등이 있다.
DR 레지스터
- Data Register를 DR 레지스터라고 하고, 데이터 레지스터라고 부른다.
- 메모리에서 전달되는 데이터를 저장하는데 사용된다.
AR 레지스터
- I/O Address Register를 AR 레지스터라고 하고, 주소 레지스터라 부른다..
- AR레지스터는 특정 I/O 입출력 장치의 주소를 지정하는데 사용한다.
PC 레지스터
- Program Counter를 의미하고, 프로그램 카운터 혹은 명령어 포인터 레지스터라고도 부른다.
- PC레지스터는 프로세서가 수행할 다음 명령의 주소를 일시적으로 저장하는데 사용된다.
- 이 레지스터는 항상 가져올 다음 명령의 주소나 현재 명령의 주소만을 가르킨다.
IR 레지스터
- Instruction Register를 IR레지스터라 하고, 명령어 레지스터라 부른다.
- 주기억장치에서 가져온 수행할 명령을 저장한다.
- 레지스터가 제어장치에 지시를 하면, 컴퓨터의 해당 구성요소로 신호를 전송하고 명령을 해석하여 실행한다.
MAR 레지스터
- Meomory Address Register를 MAR 레지스터라고 하고, 메모리 주소 레지스터라 부른다.
- CPU가 데이터를 읽거나 쓰려는 메모리 주소를 일시적으로 저장한다.
- CPU가 메모리에 일부 데이터를 저장하려고 하거나 메모리에서 데이터를 읽을 때 필요한 메모리 주소를 저장한다.
MBR 레지스터
- Memory Buffer Register를 MBR레지스터라고 하고, 메모리 버퍼 레지스터라 부른다.
- 메모리에 읽거나 쓰려는 데이터 또는 명령을 일시적으로 저장한다.
- MBR 레지스터에 배치된 명령은 IR로 전송되고, 데이터 내용은 AC 또는 IO(주소,버퍼)레지스터로 전송된다.
PSR레지스터
- Program Status Register를 PSR레지스터라고 하고, 프로그램 상태 레지스터라 부른다.
- 주로 ARM CPU에서 사용되어지는 레지스터로, CPSR과 SPSR이 잇다.
- CPSR : 현재 코어의 내부 동작을 모니터링하고 제어하는 일에 사용되는 레지스터
특권모드일때만 제어가 가능하고 일반적으로는 읽기만 가능하다.
- SPSR : 프로세스의 동작 모드가 변경될 때 사용되고 CPSR의 내용을 저장하는 역할을 한다.