컴퓨터의 기본 구조에 대한 전반적인 그림은 아래와 같다.
대표적인 CPU 레지스터는 다음과 같다. ⭐⭐ 무조건외우기!!!
Registers | 설명 |
---|---|
PC (program counter) | 프로그램 카운터, 다음번에 수행할 메모리의 주소를 가리킨다. 가리키는 주소의 내용이 IR로 옮겨지면 PC의 값은 +1이 된다. |
MAR (Memory Address Register) | 메모리 주소 레지스터 (메모리 주소 저장), ①PC에서 수행할 주소를 넘겨받은 다음에 ②그 주소를 찾아가 ③데이터를 가져오는 역할을 한다. CPU에서 주소 버스와 연결된 아이는 MAR만 존재!! (유일) |
MBR (Memory Buffer Register) | 메모리 버퍼 레지스터(데이터 저장), MAR이 가져온 데이터나 명령들을 일시적으로 저장한다. 그 후 명령어는 IR로, 연산에 사용할 데이터는 AC로 이동한다. (GR로 이동하기도 함) 데이터 버스와 연결된다. |
IBR (Instruction Buffer Register) | 메모리로부터 읽어들인 명령어의 내용을 일시적으로 저장하는 레지스터이다. |
IR (Instruction Register) | 명령어 레지스터, 실행할 명령어를 일시적으로 저장한다. (CU로 보내줄 명령어들이 IR에 있는 것) |
AC (Accumulator) | 누산기 레지스터, 1-주소 명령어를 쓰는 시스템에서 연산의 중심이 되는 레지스터 ① MBR에서 전달받은 연산에 사용할 데이터를 연산한 후 연산의 결과 값이나 중간 값을 일시적으로 저장한다. ② 최종 결과는 MBR를 통해 메모리로 전송된다. |
GR (General Register) | 범용 레지스터 (다양하게 쓰임), 산술 및 논리 연산, 연산 결과의 임시 저장, 주소 색인(index) 등 여러 목적으로 사용되는 레지스터 2주소 명령어나 3주소 명령어를 쓰는 시스템에서는 CPU 내에 여러개의 여러 개의 범용 레지스터를 둔다. |
MQ (Multiplier Quotient) | 곱셈 및 나눗셈 연산의 몫을 저장하는 레지스터이다. |