제4장 제어 유니트

고독한 복전생·2022년 12월 16일
0
post-thumbnail

4.1 제어 유니트의 기능

  • 명령어 코드의 해독
  • 명령어 실행에 필요한 제어신호 발생

루틴이란?

  • CPU의 특정 기능을 수행하기 위한 마이크로명령어들의 그룹

4.2 제어 유니트의 구조

구성요소

명령어 해독기

  • 명령어 레지스터로부터 들어오는 명령어의 연산코드를 해독하여 해당 연산을 수행하기 위한 루틴의 시작주소를 결정

ex) 사상(mapping)을 이용한 해독 방법
16비트 길이의 명령어

이때, 연산코드가 0001이면, 실행 사이클 루틴의 시작주소는 1 0001 00 이 된다.

제어 주소 레지스터(CAR)

  • 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터(제어 기억장치의 특정 위치 지칭)
    제어 기억장치
  • 마이크로명령어들로 이루어진 마이크로프로그램을 저장하는 내부 기억장치
    제어 버퍼 레지스터(CBR)
  • 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터
    서브루틴 레지스터(SBR)
  • 마이크로 프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR 내용을 일시적으로 저장하는 레지스터
    순서제어 모듈
  • 마이크로명령어의 실행 순서를 결정하는 회로들의 집합

4.3 마이크로명령어의 형식

마이크로명령어란?

  • 명령어 사이클의 각 주기에서 실행되는 각 마이크로-연산을 지정해주는 2진 비트들로서, 제어 단어(Control-word)라고도 함.

두 개의 마이크로-연산 동시 수행 예시


조건 필드(CD) : 분기에 사용될 조건 플래그 지정
분기 필드(BR) : 분기의 종류와 다음에 실행할 마이크로명령어의 주소를 결정하는 방법 명시
주소 필드(ADF) : 분기가 발생하는 경우에 목적지 마이크로명령어의 주소로 사용

조건 필드

두 비트로 구성
U : 무조건 분기
I : 만약 1이면, 간접 사이클 루틴 호출(간접 주소지정)
S : 누산기(AC)에 저장된 데이터의 부호가 1이면 분기
Z : AC에 저장된 데이터 = 0

분기 필드

두 비트로 구성
JUMP(BR = 00), CALL(BR = 01) : 조건 필드의 조건이 만족되면, ADF -> CAR로 적재
RET(BR = 10) : 서브루틴으로부터 복귀(SBR -> CAR로 적재)
MAP(BR = 11) : 사상 방식(mapping)에 의해 분기 목적지 주소 결정

4.4 마이크로프로그래밍

마이크로프로그램이란?

  • 마이크로명령어들의 집합을 뜻한다.

인출 사이클 루틴, 간접 사이클 루틴
2진 비트 패턴

실행 사이클 루틴
사상 방식을 이용하여 각 연산코드에 대한 실행 사이클 루틴의 시작 주소를 결정하고, 각 명령어 실행을 위한 루틴을 작성

4.5 마이크로프로그램의 순서 제어

순서제어(sequencing) : 다음에 실행할 마이크로명령어의 주소 결정
CAR의 초기값 = 0, MUX1 : 다음에 실행할 마이크로명령어의 주소 선택, MUX2 : 조건플래그를 선택하여 주소선택 회로로 전송

주소 선택 방법 : 4.3 분기 필드 설명과 동일
제어 신호의 생성 : 제어 기억장치로부터 인출된 마이크로명령어내 연산 필드의 비트들이 제어 유니트의 외부로 출력되어, 각각 제어 신호로 사용

4.5.1 수직적 마이크로프로그래밍

마이크로명령어의 연산 필드에 적은 수의 코드화된 비트들을 포함시키고, 해독기를 이용하여 그 비트들을 필요한 수 만큼의 제어 신호들로 확장하는 방식
장점 : 마이크로명령어의 길이(비트 수) 최소화 즉, 제어 기억장치 용량 감소 효과
단점 : 해독 동작에 걸리는 만큼의 지연 시간 발생

4.5.2 수평적 마이크로프로그래밍

연산필드의 각 비트와 제어신호를 1:1로 대응시키는 방식
장점 : 하드웨어가 간단하고, 해독에 따른 지연 시간이 없음
단점 : 마이크로명령어의 비트 수가 길어지기 때문에 제어 기억 장치의 용량이 증가

profile
인문대 컴퓨터공학부

0개의 댓글