YZ ZONE

[ 컴퓨터구조 ] 4.1-2 제어 유니트의 기능/ 구조 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 4.1-2 제어 유니트의 기능/ 구조

러블리YZ 2023. 2. 6. 23:04

제어 유니트의 기능

▣ 제어 유니트의 기능 
 명령어 코드의 해독
 명령어 실행에 필요한 제어 신호들의 발생

▣ 마이크로명령어(micro-instruction)

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

▣ 마이크로프로그램(microprogram)

 마이크로명령어들의 집합

▣ 루틴(routine)

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

[] 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴

 

4.2 제어 유니트의 구조

제어 유니트의 내부 구성도

 
[참고: CPU 내부 구조]

제어 유니트의 기능

▣ 구성 요소들

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

 제어 주소 레지스터(control address register: CAR) 

다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터 

이 주소는 제어 기억장치의 특정 위치를 지칭

 제어 기억장치(control memory)

마이크로명령어들로 이루어진 마이크로프로그램을 저장하는 내부 기억 장치

 

제어 유니트의 구조

▣ 제어 버퍼 레지스터(control buffer register: CBR)

 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저 장하는 레지스터

▣ 서브루틴 레지스터(subroutine register: SBR)

 마이크로프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR 내용 을 일시적으로 저장하는 레지스터

▣ 순서제어 모듈(sequencing module)

 마이크로명령어의 실행 순서를 결정하는 회로들의 집합

 

CPU의 명령어 세트 설계 및 구현 과정

  1. 명령어들의 종류 및 비트 패턴 정의
  2.  명령어들의 실행에 필요한 하드웨어 설계
  3.  각 명령어를 위한 실행 사이클 루틴 작성(마이크로프로그래밍) 
  4.  마이크로프로그램 코드들을 제어 기억장치에 저장

 

제어 기억장치의 내부 구성

▣ 마이크로프로그램 루틴들을 제어 기억장치에 저장한 예

 제어 기억장치 용량 = 128 단어

 전반부 (0 ~ 63번지) 

공통 루틴들 저장

 후반부 (64 ~ 127번지)
각 명령어의 실행 사이클 루틴들 저장

명령어 해독 과정

▣ 명령어 해독

명령어의 연산 코드가 지정하는 연산을 위한 실행 사이클 루틴의 시작 주소를 결정하는 동작

 

▣ 사상(mapping)을 이용한 해독 방법

명령어의 연산 코드를 특정 비트 패턴과 조합

 [] 16-비트 길이의 명령어가 4 비트의 연산 코드, 1 비트의 간접 주 소지정(I) 비트 및 11 비트의 주소로 구성된 경우