kwan's note

7주차-제어 유닛 본문

Computer Programming/Computer System

7주차-제어 유닛

kwan's note 2020. 12. 30. 02:38
반응형

수강일시 :12월 29일

출처:  kmooc 컴퓨터구조

 

3주차: 제어 유닛의 제어 방식종류와 명령어, 해독 기능및 구조를 설명할 수 있다. 마이크로코드 형식에서 필드별 이진 비트 패턴으로 구성된 마이크로 명령어의 집합체인 마이크로프로그램 작성 방법을 설명할 수 있다.

마이크로 명령어 해독 후 실행을 위한 순서 제어 방법을 이해하고, 마이크로 명령어 제어 형식을 설명할 수 있다.

 

 

컨트롤 유닛의 제어 방식 두가지는 다음과 같다

 

1. 하드와이어 제어(Hardwired Control)

2.마이크로 프로그램을 이용한 제어

 

 

하드와이어 제어

프로그램 없이 회로들만을 이용해서 제어한다. wire들의 조합을 통해 제어하는데 때로는 매우 복잡해진다. 이때 단순화하는 과정이 필요하다

 

S0 S1 S2 즉, state로 구분

 

a+b+c의 조합

 

 

 

 

 

 

 

 

 

 

 

 

마이크로 프로그램 제어

ㅇㅇㅇ

ROM의 할당된 주소에 작성된 프로그램을 통해 제어한다.

 

A0 A1 A2 즉, address로 구분

 

 

 

 

 

 

 

 

 

 

 

 

 

콘트롤 유닛의 기능은 명령어 코드의 해독.

마이크로 명령어는 명령어 사이클의 각 주기에서 실행되는 마이크로연산에 대응되는 비트로 이루어진단어

ex) pc<-pc+1을 어떻게 표현할 것인가 : 0010 0011 등

마이크로명령어는 datapath의 제어신호를 나타낸다. 제어단어라고도 함

 

마이크로 코드는 마이크로 명령어 형식에 따라 필드에 2진수로 만들어낸 비트패턴

 

마이크로 프로그램이란 마이크로 명령어의 집합이고 이를 해석하는 프로그램

 

마이크로 서브루틴: 마이크로 프로그램의 서브루틴(인출, 실행등)

이를 통해 하드웨어 비용을 감소시킬 수 있다.

 

명령어가 인출사이클을 통해 가져온 위치가 명령어 레지스터가 된다.

명령어레지스터의 앞부분에는 op-code가 있는데 명령어 해독기를 통해 LOAD인지 ADD인지 등을 해독한다.

명령어 해독결과로 마이크로 서브루틴의 시작 주소를 결정한다.

이에 따라 제어주소 레지스터(CAR, 일종의 pc)를 통해 제어 기억장치의 어디로 가야하는지 순서를 정한다.

SBR은 stack의 역할( 이동시 돌아올 위치 저장)

제어 기억장치는 마이크로 명령어들로 이루어진 내부 기억장치(rom)이다. 마이크로 프로그램을 저장한다.

제어버퍼레지스터는 제어기억장치에서 읽혀진 명령어를 일시적으로 저장한다.

해독기를 통해 내부/외부 신호로 이동함

순서 제어모듈로 명령어를 어떻게 실행할지 순서를(어떤 분기를 할것인지 등)정한다. (SBR로 이동한다, mapping을 한다 등을 선택)

 

 

 

 

마이크로 프로그램

마이크로 프로그램이란

제어기억장치에는 길이x폯으로 되는데

 

예시)

16비트 프로그램의 경우 명령어의 길이:16비트 ; op-code(4),간점(1),즉치 혹은 주소(11)

제어기억장치 전체 : 2^7 * 17

마이크로 명령어 길이: 17비트 ; 연산1(3),연산2(3), 조건(2), 분기(2), ADF주소(7)

 

마이크로 프로그램의 작성

MAP: CAR값의 결정 , 주소를 찾아가는 과정

CAR 7비트가 있으면 마지막이1 첫 두 숫자가00이고 op-code를 안에 채움으로서 완성

 

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

MUX: 선택지중 하나를 선택

 

마이크로 프로그램의 실행 순서 제어 과정을 표로 보면 다음과 같다.

MUX1은 0123중 하나를 CAR로 보내준다

CAR로 지정되면 해당 주소를 실행한다.

따라서 MUX1이 선택하는것이 실행되는것인데 이는 select의 영향을 받는다 (S0 S1)

select는 MUX2의 조건과 프로그램의 결과중 브랜치 I0 I1에 의해 결정된다.

 

 

MUX1: 3 mapping

MUX1: 2 SBR로부터 결과를 받음(return 시 선택)

MUX1: 1 ADF로부터 받음

MUX1: 0 CAR+1

 

 

 

마이크로 명령어의 제어 형식

 

수직적 마이크로명령어 제어 형식은

해독기를 이용해 해석하는 방식으로

비트수가 감소한다. 하지만 해독시간만큼 지연시간이 발생한다.

 

수평적 방식은 비트별로 제어신호를 1:1 대응하여 on/off스위치처럼 사용하는 형태이다. 빠르지만 제어기억장치의 용량이 커진다.

반응형