컴퓨터구조론#6
LeeMir, 12 April 2021
제4장 제어 유니트(이어서)
마이크로프로그램의 순서제어
- 순서제어 : 다음에 실행할 마이크로명령어의 주소 결정
- CAR의 초기값 = 0(인출 사이클 루틴의 첫번째 마이크로명령어의 주소)
- MUX1 : 다음에 실행할 마이크로명령어의 주소 선택
- MUX2 : 조건 플래그를 선택해 주소 선택 회로로 전송
- BR(분기 필드)
- BR = 00(JUMP) 혹은 01(CALL)일 때,
- C = 0, 다음 위치의 마이크로명령어 선택
CAR += 1
- C = 1, 주소 필드(ADF)가 지정하는 위치로 점프(JUMP) 혹은 호출(CALL)
- C = 0, 다음 위치의 마이크로명령어 선택
- BR = 10(RET)일 때
- SBR 내용을 CAR에 적재 : 복귀
- BR = 11(MAP)일 때
- 사상 결과를 CAR에 적재
- BR = 00(JUMP) 혹은 01(CALL)일 때,
- 수직적 마이크로프로그래밍
- 마이크로명령어의 연산 필드에 적은 수의 코드화된 비트들을 포함시키고, 해독기(Decoder)를 이용하여 그 비트들을 필요한 수 만큼의 제어 신호들로 확장하는 방식
- 제어 기억장치의 용량을 감소시킬 수 있음
- 해독 동작에 걸리는 시간 만큼의 지연 발생
- 수평적 마이크로프로그래밍
- 연산 필드의 각 비트와 제어 신호를 1:1로 대응시키는 방식
- 필요한 제어 신호 수만큼의 비트들로 이루어진 연산필드 비트들이 마이크로명령어에 포함되어야 함
- 하드웨어가 간단하고, 해독에 따른 지연 시간이 없음
- 마이크로명령어의 비트 수가 길어지기 때문에 제어 기억장치의 용량이 증가