본문 바로가기
Computer Science/컴퓨터 구조

제어 유닛

by Luinesse 2024. 1. 9.
반응형

제어 유닛의 기능

제어 유닛은 명령어 코드를 해독하고, 명령어 실행에 필요한 제어 신호들을 발생시키는 역할을 합니다. 즉, 명령어 사이클이 적절히 수행되도록 동작들을 제어하는 장치라고 볼 수 있습니다.

 

제어 유닛의 구조

제어 유닛은 다음과 같은 구조로 이루어져 있습니다.

  • 명령어 해독기 (IR 명령어 해독, 해당 연산 수행을 위한 루틴의 주소 결정)
  • 제어 주소 레지스터 (다음에 실행할 마이크로 명령어 주소 저장, CAR)
  • 제어 기억 장치 (마이크로 프로그램 저장)
  • 제어 버퍼 레지스터 (읽어온 마이크로 명령어들을 일시 저장, CBR)
  • 서브루틴 레지스터 (서브루틴 호출 시 CAR 내용이 일시 저장)
  • 순서제어 모듈 (마이크로 명령어의 실행 순서 결정)

제어 기억장치의 용량이 128단어라면, 전반부에 해당하는 64단어는 보통 공통 루틴들, 후반부는 실행 사이클 루틴이 저장됩니다.

 

사상

명령어 해독기가 연산 코드를 이용하여 제어 기억장치 내의 실행 사이클 루틴의 시작 주소를 찾아야하는데 그 방법으로 사상(Mapping) 을 이용합니다.

 

사상 방식은 명령어의 연산 코드를 특정 비트 패턴과 혼합시켜 그 연산의 수행에 필요한 실행 사이클 루틴의 시작주소를 찾아내는 방식입니다. 

 

ex)

Operation Code = XXXX I 10100011 (X는 연산 코드, I는 간접비트, 그 뒤는 오퍼랜드)

Mapping Function = 1XXXX00 (앞의 1은 후반부를 의미. 전반부라면 0, X는 연산코드, 뒤의 00은 bit 수에 따라 결정. 해당 예시에서는 연산 코드가 4bit 이므로 2^2. 따라서, 0이 2개)

 

마이크로명령어

마이크로 명령어의 형식은 다음과 같이 이루어집니다.

 

Op Code1 | Op Code 2 | CD | BR | ADF

 

Op Code에는 NOP, PCTAR, INCPC 등의 기호들이 들어갑니다.

CD에는 조건 기호가 들어갑니다. (U, I, S, Z ... etc)

BR에는 분기 조건이 들어갑니다. (JMP, CALL, RET, MAP ... etc)

ADF에는 필요한 오퍼랜드의 주소값이 들어갑니다.

 

해독기를 포함하여 더 많은 제어 신호를 사용하게끔 하는 방법도 있습니다.

ex) Op Code 1, 2는 각각 3bit, 6개의 제어 신호 발생이 가능하지만, 3X8 해독기를 2개 사용하여, 16개의 제어 신호 발생.

 

이렇게 마이크로 명령어 내에 적은 수의 코드화된 비트들을 포함시켜 마이크로 명령어의 길이를 줄이고, 외부에 해독기를 접속하여 제어신호를 확장하는 방식을 수직적 마이크로 프로그래밍이라고 합니다. 이 방식에는 마이크로 명령어의 길이가 줄어든다는 장점이 있지만, 해독 동작에 걸리는 만큼의 지연시간이 발생한다는 단점이 있습니다.

 

반대로, 마이크로 명령어 내 연산 필드들의 각 비트와 제어 신호를 1:1로 대응하여 그 수만큼의 비트들로 이루어진 마이크로 명령어들을 사용하는 방식은 수평적 마이크로 프로그래밍이라고 합니다. 이 방식은 H/W가 간단하고 해독에 따른 지연시간이 발생하지 않지만, 마이크로 명령어 비트가 길어지고, 용량 또한 증가하는 단점을 가지고 있습니다.

반응형

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

캐시 메모리  (0) 2024.01.16
기억장치 접근  (0) 2024.01.15
컴퓨터의 실수표현  (1) 2024.01.08
컴퓨터의 산술연산  (1) 2024.01.08
컴퓨터의 논리연산  (1) 2024.01.08