컴퓨터구조론#5
LeeMir, 05 April 2021
제4장 제어 유니트
제어 유니트의 기능
- 제어 유니트의 기능
- 명령어 코드의 해독
- 명령어 실행에 필여한 제어 신호들의 발생
- 마이크로명령어(micro-instruction) : 명령어 사이클의 각 주기에서 실행되는 각 마이크로-연산을 지정해주는 2진 비트들로서, 제어 단어(control word)라고도 함.
- 마이크로프로그램(microprogram) : 마이크로명령어들의 집합
- 루틴(routine) : CPU의 특정 기능을 수행하기 위한 마이크로명령어들의 그룹
- ex) 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴
제어 유니트의 구조
- 구성 요소들
- 명령어 해독기(instruction decoder)
- 명령어 레지스터(IR)로부터 들어오는 명령어의 연산 코드를 해독하여 해당 연산을 수행하기 위한 루틴의 시작 주소를 결정
- 제어 주소 레지스터(control address register : CAR)
- 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터
- 이 주소는 제어 기억장치의 특정 위치를 지칭
- 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터
- 제어 기억장치(control memory)
- 마이크로명령어들로 이루어진 마이크로프로그램을 저장하는 내부 기억장치
- 제어 버퍼 레지스터(control buffer register : CBR)
- 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터
- 서브루틴 레지스터(subroutine register : SBR)
- 마이크로프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR 내용을 일시적으로 저장하는 레지스터
- 순서제어 모듈(sequencing module)
- 마이크로명령어의 실행 순서를 결정하는 회로들의 집합
- 명령어 해독기(instruction decoder)
- CPU의 명령어 세트 설계 과정
- 명령어들의 종류 및 비트 패턴 정의
- 명령어들의 실행에 필요한 하드웨어 설계
- 각 명령어를 위한 실행 사이클 루틴 작성
- 마이크로프로그램 코드들을 제어 기억장치에 저장
- 명령어 해독
- 명령어의 연산 코드가 지정하는 연산을 위한 실행 사이클 루틴의 시작 주소를 결정하는 동작
- 사상(mapping)을 이용한 해독 방법
- 명령어의 연산 코드를 특정 비트 패턴과 조합
마이크로명령어의 형식
- 연산 필드가 두 개이면, 두 개의 마이크로-연산들을 동시에 수행 가능
- 조건(CD) 필드는 분기에 사용될 조건 플래그를 지정
- 분기(BR) 필드는 분기의 종류와 다음에 실행할 마이크로명령어의 주소를 결정하는 방법을 명시
- 주소 필드(ADF)의 내용은 분기가 발생하는 경우에 목적지 마이크로명령어의 주소로 사용
-
연산필드#1(3) - 연산필드#2(3) - 조건필드(2) - 분기필드(2) - 주소필드(7)
총 17 비트로 이루어짐 - 조건 필드
- 두 비트로 구성되며, 분기의 조건으로 사용
- U / I / S / Z
- 분기 필드
- 두 비트로 구성되며, 분기 동작을 지정
- JMP / CALL / RET / MAP