728x90
레지스터
레지스터는 CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 다목적 공간이다.
레지스터의 역할
레지스터의 역할은 크게 2가지로 나눌 수 있다.
첫번째, 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를 의미하며, 명령어 포인터 레지스터라고도 부른다.
- 다음 인출(Fetch될 명령어의 주소를 가지고 있는 레지스터이다.
- IR 레지스터
- Instruction Register를 IR 레지스터. 즉, 명령어 레지스터라고 한다.
- 가장 최근에 인출된 명령어(현재 실행주인 명령어)가 저장되어 있는 레지스터이다.
- 레지스터가 제어장치에 지시를 하면, 컴퓨터의 해당 구성요소로 신호를 전송하고 명령을 해석하여 실행한다.
- MAR 레지스터
- Memory Address Register를 MAR 레지스터. 즉, 메모리 주소 레지스터라고 부른다.
- PC에 저장된 명령어 주소가 사용되기 전에 일시적으로 저장되는 주소 레지스터이다.
- 즉, CPU가 데이터를 읽거나 쓰려는 메모리 주소를 일시적으로 저장할 때 사용되며, 따라서 CPU가 메모리에 일부 데이터를 저장하려고 하거나 메모리에서 데이터를 읽을 때 필요한 메모리 주소를 저장한다.
- MBR 레지스터
- Memory Buffer Register를 MBR 레지스터. 즉, 메모리 버퍼 레지스터라고 부른다.
- 기억장치에 저장될 데이터 혹은 읽혀진 데이터가 일시적으로 저장되는 버퍼 레지스터이다.
- SR 레지스터
- Status Register로 현재 CPU의 상태를 가지고 있는 레지스터이다.
- 주로 ARM CPU에서 사용되는 레지스터로 CPSR과 SPSR이 있다.
- CPSR : 현재 코어의 내부 동작을 모니터링하고, 제어하는 일에 사용되는 레지스터이다. 특권 모드일 때만 제어가 가능하고, 일반적으로 읽기만 가능하다.
- SPSR : 프로세스의 동작 모드가 변경될 때 사용되고, CPUSR의 내용을 저장하는 역할을 한다.
- AC 레지스터
- Accumulator. 즉, 연산 결과 데이터를 일시적으로 저장하는 레지스터이다.
명령어 인출(Instruction Fetch) 과정
- MAR <- PC : 실행할 명령어 주소값을 PC에서 읽어 MAR에 넣는다.
- MAR을 기반으로 memory에서 명령어를 읽어 MBR에 넣고, PC의 값을 1 증가시킨다.
- 인출한 명령어를 MBR에 넣는다.
인용
728x90
'컴퓨터 사이언스 > 컴퓨터 구조' 카테고리의 다른 글
명령어 사이클 (0) | 2023.11.15 |
---|---|
Segmentation과 Paging의 개념 및 장단점 정리 (0) | 2023.11.14 |
주소 지정 방식 (0) | 2023.11.11 |
연산 코드와 오퍼랜드 (0) | 2023.11.11 |