YZ ZONE

[ 컴퓨터구조 ] 4.5 마이크로프로그램의 순서 제어 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 4.5 마이크로프로그램의 순서 제어

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

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

▣ 명령어 실행 제어

 제어 유니트가 명령어의 실행을 제어한다는 것은
 제어 기억장치에 저장된 해당 마이크로명령어들을 순서대로 인출하는동작이라고 할 수 있음

 , 각 마이크로명령어를 읽어서 연산 필드에 있는 비트들을 출력시키 면, 그 비트들 자체가 제어 신호들이 됨

 

▣ 순서 제어 (sequencing)

▪ 다음에 실행할 마이크로명령어의 주소를 결정하는 기능

 CAR

 다음에 인출할 마이크로명령어의 제어 기억장치 주소를 가지고 있음

 CPU가 처음 동작을 시작하는 순간  CAR = 0

인출 사이클 루틴의 첫 번째 마이크로명령어를 인출하면서 마이크로프로그램 실행이 시작됨

 

 MUX1
 다음에 실행할 마이크로명령어의 주소 선택

 

 MUX2
 조건 플래그를 선택하여 주소선택 회로로 전송

순서제어 회로가 포함된 제어 유니트의 구성도

주소 선택 회로의 입력 및 출력 신호들

주소 선택 방법

▣ 주소 선택 방법

 BR = 00 (JUMP) 혹은 01 (CALL)일 때,

C = 0, 다음 위치의 마이크로명령어 선택

C = 1, 주소 필드(ADF)가 지정하는 위치로 점프(jump) 혹은 호출(call) (, 호출 시에는 CAR 내용을 SBR에 저장)

 BR = 10 (RET)일 때는 SBR 내용을 CAR로 적재 : 복귀 

BR = 11 (MAP)일 때는 사상 결과를 CAR에 적재

제어 신호의 생성

▣ 제어 기억장치로부터 인출된 마이크로명령어 내 연산 필드 의 비트들이 제어 유니트의 외부로 출력되어, 각각 제어 신호 로 사용됨

▣ 출력되는 비트들이 각각 하나의 제어 신호로 사용된다면, 연 산 필드들에 해당하는 제어 신호들만 발생할 수 있음

 제어 신호 부족 현상 초래

(1) 수직적 마이크로 프로그래밍

 Vertical microprogramming

▣ 마이크로명령어의 연산 필드에 적은 수의 코드화된 비트들 (encoded bits)을 포함시키고, 해독기를 이용하여 그 비트들 을 필요한 수 만큼의 제어 신호들로 확장하는 방식

[장점] 마이크로명령어의 길이(비트 수) 최소화 제어 기억장치 용량 감소

[단점] 해독 동작에 걸리는 만큼의 지연 시간 발생

수직적 마이크로프로그래밍에서의 제어 신호 발생 방법

(2) 수평적 마이크로 프로그래밍

 Horizontal microprogramming

▣ 연산 필드의 각 비트와 제어 신호를 1:1로 대응시키는 방식

▣ 필요한 제어 신호 수만큼의 비트들로 이루어진 연산필드 비 트들이 마이크로명령어에 포함되어야 함

[장점] 하드웨어가 간단하고, 해독에 따른 지연 시간이 없음

[단점] 마이크로명령어의 비트 수가 길어지기 때문에 제어 기억 장치의 용량이 증가