공부/면접을 위한 CS 전공지식 노트

[CS 스터디/컴퓨터시스템구조] 컴퓨터 레지스터

규투리 2023. 1. 17. 18:19
반응형

1. 기본 컴퓨터의 레지스터

기본 컴퓨터란?

  • DEC PDP-11 Mini Computer
  • 가상의 컴퓨터가 아닌 실제 제품 (80년대에 주름 잡던 제품)
  • 최신의 CPU도 기본적으로 동일한 구조를 가짐

기본 컴퓨터 레지스터 종류

Register Symbol 비트 레지스터 이름 기능
DR 16 Data Register 데이터 레지스터
AR 12 Address Register 메모리 주소를 지정하는 레지스터
AC 16 Accumulator 프로세서 레지스터
IR 16 Instruction Register 명령어 레지스터
PC 12 Program Counter 명령어 주소를 지정하는 레지스터
TR 16 Temporary Register 임시 데이터 저장
INPR 8 Input Register 주변장치로부터 데이터를 받을 때 사용
OUTR 8 OutPut Register 주변장치로 데이터를 줄 때 사용

 

2. 버스 시스템의 종류

데이터를 레지스터와 레지스터 사이에서 주고 받게 할 수 있는 길을 버스 라고 한다. 

 

버스의 종류는 크게 3가지가 있다. 

  1. 내부 버스 - CPU 내부 레지스터간 연결
  2. 외부 버스 - CPU 내부 레지스터 <-> 메모리간 연결
  3. 입출력 버스 - CPU <-> 주변장치(I/O) 연결

 

3. 공통 버스 시스템

공통 버스 시스템이라 함은 내부 버스를 통칭한다.

이때, 내부 버스의 크기(Width)로 CPU 워드 크기가 결정된다.

  • 16bit 컴퓨터 -> 내부 버스 / 레지스터 크기가 16bit
  • 32bit 컴퓨터 -> 내부 버스 / 레지스터 크기가 32bit 

기본적으로 CPU 워드가 몇비트인지 나타내는 것은 한꺼번에 내부에서 버스로 보낼 수 있는 비트 수가 몇비트인지에 따라 결정된다.

 

공통 버스 시스템은 다시 말하면 전송 연결 통로이다.

레지스터와 레지스터 사이에 데이터를 전송하는 통로이자 레지스터와 메모리 사이에 데이터를 전송하는 통로이다.

 

이때 한 순간에는 하나의 전송 신호만이 버스에 존재할 수 있다.

만약 2개 이상의 신호가 발생하면 버스충돌(Collision)이 발생한다.

이러한 충돌이 발생하지 않으려면 데이터를 정확한 레지스터로 보낼 수 있게하는 제어기가 필요하다. 이것을 우리는 버스 제어기라 한다.

버스 제어기는 정확한 타이밍과 MUX 제어를 수행한다.

 

공통 버스 시스템은  MUX 입력과 로드입력(LD)으로 데이터를 송수신할 수 있게 된다.

공통 버스 시스템

위 그림을 보면 공통 버스가 레지스터들을 크게 둘러 싸고있다. 이때 각 레지스터들은 공통 버스로 데이터를 전송하고, 데이터를 로드한다.

만약 어느 한 순간에 한 레지스터에서 데이터가 튀어나오게 된다면, 그 순간에는 오직 그 데이터만이 버스에 존재해야 한다. 버스에 존재하는 데이터를 필요로 하는 레지스터에 도달할 때까지 다른 레지스터는 버스로 데이터를 보내면 안 된다. 

 

버스에는 MUX 입력(Multiplex Input)이 존재한다. 위 그림의 우측에 존재하는 번호가 MUX Input이다.

 

레지스터 출력은 버스의 MUX 입력에 연결되며, 각 레지스터에 MUX 입력번호로 설정된다. 

S2, S1, S0에 의하여 레지스터 출력이 결정된다. 예를 들어, MUX의 S0 S1 S2 가 1 0 0 이면 4번, 즉 AC에서 오는 데이터만을 받는 것이다. 그 후 출력을 내보내 주고 버스로 나간다. 

 

레지스터 입력은 LD(로드 입력)가 1인 레지스터로 들어가게 된다.

 

이런 식으로 버스를 통해서 데이터가 보내지고 데이터를 받는 동작을 우리가 구현할 수 있게 된다.

 

반응형