2019년 8월 12일 인쇄된 생능 출판의 김종현 저 컴퓨터구조론 제5판2쇄를 기준으로 작성되었습니다.
저작권법 등의 문제로 문제를 제외한 답과 풀이만을 제공합니다.
개인적으로 학습하며 풀이하였기때문에 틀린 답이 있을 수 있습니다. 잘못된 내용이 있다면 댓글로 알려주세요.
04장 기본문제: P.223 ~ 224
기본문제 4.1
- 정답: 나. CAR
- 풀이: CAR(Control Address Register)는 제어 유니트에서 다음에 실행할 마이크로명령어의 주소를 가지고 있다.
기본문제 4.2
- 정답: 다. ROM
- 풀이: 제어 기억장치는 마이크로명령어들로 이루어진 마이크로 프로그램을 저장해둔 내부 기억장치로 ROM(Read Only Memory)에 사전 정의되어 있다.
기본문제 4.3
- 정답: 다. 점프(JUMP)
- 풀이: SBR은 SubRoutine 호출시 작동이 종료된 후 본래의 프로그램으로 돌아가기 위해 기존의 명령어 주소(CAR)를 저장한다. JUMP 명령어는 분기된 이후 돌아가지 않기 때문에 SBR을 사용하지 않는다.
기본문제 4.4
- 정답: 가. 0xxx000
- 풀이:
- 용량이 128단어이기 때문에 명령어는 7bit(27=128)로 구성되어야 한다.
- 최대 8개의 마이크로명령어를 구성하기 위해선 op-code가 3bit(23=8) 필요하다.
- 처음 절반 부분에 실행 사이클 루틴을 저장하기 때문에 0으로 시작한다.(마지막 절반 부분에 저장한다면 1로 시작)
- 0xxx000(처음 절반: 0, op-code: xxx, 7bit를 맞추기 위한 padding: 000)
기본문제 4.5
- 정답: 나. CAR ← ADF
- 풀이: 조건부 호출 마이크로-연산 실행 시
- 조건 만족: CAR ← ADF
- 조건 만족 x: CAR ← CAR + 1
기본문제 4.6
- 정답: 다. CAR ← SBR
- 풀이: RET는 CALL 이후 수행된다. CALL 호출 시 현재 CAR을 SBR에 저장하고 RET시 SBR을 CAR에 저장하여 원래의 프로그램으로 복귀한다.
기본문제 4.7
- 정답: 다. 연산 필드 비트들
- 풀이: 연산 필드 비트들은 IR(명령어 레지스터)에서 명령어 해독기로 전달된다. 명령어 해독기는 해당 비트를 해독해 CAR에 연산을 수행하기 위한 명령어의 주소를 적재한다.
기본문제 4.8
- 정답: 나. 8개
- 풀이: 4개 + 4개 = 8개
- 수평적 마이크로프로그래밍?
- 개요
- 연산 필드의 비트와 제어 신호를 1:1로 대응
- 그 수 만큼의 마이크로 명령어들 사용
- 특징
- 해독기를 통하지 않아 하드웨어가 간단하고 해독에 따른 지연이 없다.
- 연산 필드의 비트 수가 필요한 제어 신호의 수만큼 제공되어야 해서 마이크로 명령어의 길이가 길고, 제어 기억장치의 용량이 커진다는 단점이 있다.
- 개요
- 수평적 마이크로프로그래밍?
기본문제 4.9
- 정답: 다. 32개
- 풀이: 24 + 24 = 32개
- 수직적 마이크로프로그래밍?
- 개요
- 해독기(decoder) 이용
- 적은 수의 코드화된(encoded) 비트들을 포함하여 명령어 길이가 짧음
- 외부해독기를 통해 원하는 수 만큼 신호를 확장
- 특징
- 명령어 길이가 짧아 기억장치 용량이 적게 요구됨.
- 해독기를 통하는 과정에서 지연 시간 발생
- 개요
- 수직적 마이크로프로그래밍?
기본문제 4.10
- 정답: 라. 제어 신호의 발생을 위한 추가적 하드웨어가 필요하지 않다.
- 풀이: 수평적 마이크로프로그래밍은 해독기(decoder)를 사용하지 않기 때문에 이에 부합되는 장점이다.