컴퓨터구조는 총 3가지로 이루어져있습니다.
- Instruction Codes
- 내부 Register
- Control Unit
저번 글까지 해서, Instruction Codes에 대해 마쳤습니다. 오늘은 내부 Register를 알아봅시다.
mano가 설계한 16비트 컴퓨터에는 아래와 같은 레지스터들이 들어있다.

총 8개의 레지스터로 구성되어 있다.
PC(Program Counter) : 다음에 실행할 instruction의 주소를 기억한다.
AR(Address Register) : 피연산자의 주소를 기억한다. 전에 다뤘던 Instruction Format을 따라 저장된다.
IR(Instruction Register) : 현재 실행되는 instruction이 저장된다.
TR(Temper Register) : 임시 레지스터이다. 연산시 발생하는 데이터를 임시로 저장한다.
DR(Data Register) : 메모리에서 읽어온 피연산자를 저장한다.
OUTR(Output Register) : 연결되어 있는 출력장치와 정보를 송수신하기 위해 데이터를 저장한다.
INPR(Input Register) : 연결되어 있는 입력장치와 정보를 송수신하기 위해 데이터를 저장한다.
AC(Accumulator) : 연산의 대상을 저장하는 레지스터이다.
우리는 일전에 BUS에 대해서 다뤘었다. 쉽게 말해, 하드웨어 장치의 정보를 수송하는 수단이라고 생각하면 편하다.
자세한건 여기를 참고하자.

레지스터와 메모리를 하나의 버스로 연결하는 구조이다. INPR와 OUTR을 제외한 6개의 레지스터와 하나의 메모리가 연결되어 총 7개의 하드웨어 장치가 버스와 연결되어 있다. 당연하게도 이 7개의 장치 중에서 하나를 선택해야하기 때문에 selection signal은 3개여야한다.
1GHz로 클락이 뜬다고 해보자. (1GHz는 1초에 10억번 뜬다는 소리. 즉, 10억분의 1초마다 하나의 클락이 뜬다.) Clock이 떴을 때, 버스 마스터의 레지스터에 결정된 signal을 수행한다.
만약 IR이 버스 마스터이고, IR에 LD signal이 들어와있다고 하면, Clock이 뜰 때, IR은 PC에 있는 주소를 읽어오는 등의 과정을 모든 레지스터에서 수행한다. (이 설명은 단순히 이해를 돕기 위한 설명으로 자세하고 정확하지 않을 수 있다.)
각 레지스터들의 가능한 signal을 확인해보자. 다만 조금 독특한 부분이 보이는데, 앞서 언급한 IR이다. 대부분의 Register는 LD(load), INR(Increment), CLR(Clear)가 있지만, Instruction Register에는 오로지 LD만 존재한다.
이는, IR의 기능을 생각해보면 쉽게 이해할 수 있다. IR은 현재 수행 중인 명령을 저장해놓는 공간이다. 만약 이 레지스터에 어떠한 오류가 생겨서 값이 CLR가 되면 어떻게 되는가? 수행 중인 명령을 올바르게 종료할 수 없고 이는 에러를 부를 수 있다.
따라서, IR에는 LD 시그널만 존재한다는 것을 알아두자.
이렇게 우리는 컴퓨터구조를 구성하는 3가지 요소 중 벌써 2가지를 끝냈다.
- Instruction codes
- 내부 Register
- Control Unit
마지막은 대망의 Control Unit이다. 나도 이해하기 조금 어려웠고, 지금도 모를 수 있지만 우선 정리하면서 공부해보자.
'CS > Computer Architecture' 카테고리의 다른 글
[컴퓨터구조] 5-5.1. Instruction Cycle (0) | 2023.09.27 |
---|---|
[컴퓨터구조] 5-4. Timing and Control (2) | 2023.09.26 |
[컴퓨터구조] 5-2. Computer Instructions (2) | 2023.09.26 |
[컴퓨터구조] 5-1. Instruction Codes (0) | 2023.09.25 |
[컴퓨터구조] 4-5. Shift μoperations (0) | 2023.09.24 |