공시 한 판

컴퓨터일반 개념서 · 컴퓨터 구조

CPU 내부 레지스터의 종류와 역할

설명 영상 CPU 내부 레지스터의 종류와 역할 · 2:24

핵심 정리

CPU 내부 레지스터는 명령어를 가져와 해석하고 실행하는 동안 필요한 값을 잠시 담아 두는 CPU 안의 고속 기억소자이다. 기억장치보다 저장 용량은 작지만 CPU 내부에 있어 접근 속도가 가장 빠르다. 따라서 자주 쓰는 값은 레지스터에 두고, 큰 자료는 기억장치에 두는 것이 기본이다.

명령어 인출 과정에서는 제어 쪽 레지스터가 기준이 된다. 다음에 인출될 명령어의 주소를 보관하는 레지스터가 프로그램 카운터(PC)이다. 가장 최근에 인출한 명령어를 보관하는 레지스터는 명령어 레지스터(IR)이다. 명령어 인출 단계에는 명령어 레지스터와 프로그램 카운터가 함께 필요하다.

데이터 쪽에서는 메모리 버퍼 레지스터(MBR)가 기억장치와 주고받는 값을 맡는다. MBR은 기억장치에 저장되거나 기억장치에서 읽은 데이터를 임시 저장하는 레지스터이다. 연산 과정에서 데이터는 누산기(AC)에 일시적으로 저장된다. 누산기는 산술·논리 연산의 중심이 되는 CPU 내부 레지스터이다.

레지스터는 소량의 값만 다루므로 명령어 해석과 연산에 필요한 값은 레지스터가 맡고, 나머지 자료는 기억장치가 맡는다. 레지스터가 기억장치의 역할을 대신하는 것은 아니다.

따라서 레지스터마다 무엇을 담는지 정확히 구분해야 선지를 가를 수 있다. 특히 주소를 담는 레지스터와 명령어나 데이터를 담는 레지스터를 구분하는 것이 핵심이다.

자세히

명령어 인출과 제어 레지스터

명령어 인출은 프로그램 카운터와 명령어 레지스터가 함께 작동하는 과정이다. 프로그램 카운터에는 다음 인출 명령어의 주소가 담기고, 인출된 명령어는 명령어 레지스터에 담겨 해석된다. 두 레지스터가 담는 값의 성격은 서로 다르다. 하나는 주소를, 다른 하나는 명령어 자체를 담으므로 선지에서 둘을 바꾸어 쓰면 틀리다.

MAR도 주소를 다루는 레지스터이지만, 기억장치의 주소를 보관하며 가장 최근에 인출한 명령어를 담지는 않는다. 아래 표는 네 가지 레지스터가 보관하는 내용을 보여 준다.

레지스터보관하는 내용
프로그램 카운터(PC)다음에 인출될 명령어의 주소
명령어 레지스터(IR)가장 최근에 인출한 명령어
메모리 주소 레지스터(MAR)기억장치의 주소
메모리 버퍼 레지스터(MBR)기억장치에 저장되거나 읽은 데이터

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기