본문 바로가기

IT/컴퓨터구조

[컴퓨터 구조] 제어 유니트 (1)

제어 유니트 (1)





안녕하세요 지토우에요.

오늘은 제어 유니트에 대해 배워봅시다.




제어 유니트의 기능

- 명령어 코드의 해독

- 명령어 실행에 필요한 제어 신호들의 발생




마이크로 명령어

: 명령어 사이클의 각 주기에서 실행되는 마이크로-연산들에 대응되는 비트들로 이루어진 단어로서, 제어단어 (control word) 라고도 합니다.


마이크로 프로그램

: 마이크로 명령어들의 집합


루틴(routine)

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

ex) 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴





제어 유니트의 구조


명령어 해독기 ( 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 번지)

: 각 명령어의 실행사이클 루틴들 저장


마이크로 명령어의 형식

-연산 필드가 두 개 이면, 두 개의 마이크로 연산들을 동시에 수행 가능

- 조건 (CD) 필드는 분기에 사용될 조건 플래그를 지정

- 분기 (BR) 필드는 분기의 종류와 다음에 실행할 마이크로 명령어의 주소를 결정하는 방법을 명시

- 주소 필드 (ADF)의 내용은 분기가 발생하는 경우에 목적지 마이크로 명령어의 주소로 사용.