컴퓨터 아키텍처 5~7장 연습문제 정답과 풀이(한빛아카데미, 우종정 지음)
2019. 10. 25. 19:42
답지 없이 직접 풀어본거라 틀린 답이 있을 수 있습니다.
잘못된 내용을 발견했을 때 덧글로 의견을 주시면 감사하겠습니다.
현재 6, 7장에서 빠져있는 정답과 풀이는 추후 보충할 예정입니다.
5장
- 1, - 0.5를 이진수로 바꾸면 0.1이다. (소수점 아래 자리를 2진수로 바꿀 땐 1을 초과할 때까지 2를 곱한다) 0.1을 정규화하면 1.0이 된다. 가수 부분이 0이 되므로 답은 1번.
- 2
- 3 - 3을 제외한 나머지는 논리회로에 해당된다
- 3
- 3
- 4
- 2 - 2^4 = 16. 4비트로 16개의 숫자를 표현할 수 있기 때문이다.
- 3 - 범위는 지수를 위한 유효 자릿수에 의해 좌우된다.
- 맞다. 이진수가 아닐 경우 1 이상의 숫자 중 어떤것이 나올지 알 수 없기 때문에 사용할 수 없다.
- 유니코드
- 범위
- 무부호 표현 : 0 ~ 2^7 - 1
- 부호표현 : -(2^7 - 1) ~ 2^7 - 1
- 1의 보수 : -(2^7 - 1) ~ 2^7 - 1
- 2의 보수 : -2^7 ~ 2^7 - 1
- 하나의 실수를 표현할 수 있는 방법이 무한하기 때문에 고유한 표현방법이 없다.
- (1) -28 (2) 0.8125 (3) 2.0
- 부호-크기 방식과 1의 보수 방식은 양수와 음수 사이 변환이 쉽지만 0이 2개 존재한다. 2의 보수 방식은 양수와 음수 사이의 변환이 복잡하지만 0이 하나이다. 0이 하나이기 때문에 표현할 수 있는 수의 개수가 홀수가 되어 범위의 대칭이 맞지 않는다. 하지만 0에 대한 표현의 유일성이 범위의 대칭성보다 중요하기 때문에 대부분의 아키텍처는 2의 보수 방식을 사용한다.
6장
- 1
- 4
- 4
- 추후 보충
- 5
- 1
- 4
- 2
- 4
- 4
- 가드 디지트
- S비트는 AND 게이트로 구현할 수 있으며 입력 신호의 MSB 값이 0이면 양수, 1이면 음수인 것으로 구별할 수 있다.
- n비트 연산을 수행할 때 결과가 n + 1비트일 때 왼쪽 첫번째 비트는 잉여 비트로 무시할 수 있다
- 추후 보충
7장
- 2
- 3
- 1
- 데이터경로
- 틀리다
6. ① - 010₂
② - 001₂ (목적지 레지스터로서 rt와 동일)
③ - 000010₂ (imm 값)
④ - 0000000000000001₂ (3번 레지스터의 내용)
⑤ - 0000000000000110₂ (2번 레지스터[r2]의 내용 0000000000000010₂에서 imm 값의 두 배를 더한 값)
⑥ - 001₂ (목적지 레지스터로서 rt와 동일)
⑦ - 0000000000000010₂
⑧ - 0000000000000110₂ (명령어를 실행하면 레지스터 파일에 있는 데이터의 내용을 ②가 지시하는 레지스터에 저장하므로 ⑤의 내용과 동일)
7. 추후 보충
8. ① - 010₂ (A 버퍼 값)
② - 100₂ (4번 레지스터의 내용)
③ - 010₂ (ALU 상단에 입력되는 데이터로서 ①과 동일)
④ - 0000000000000010₂ (명령어의 imm 필드를 부호 확장한 후 1비트 왼쪽으로 시프트한 내용)
⑤ - 0000000000000100₂ ($rs와 imm×2를 합한 내용, 즉 ③+④)
⑥ - PC의 번지수가 나와 있지 않으므로 알 수 없음
⑦ - 0000000000000001₂ (B 버퍼 값)
9. 추후 보충
6~7장 풀이 추가에 김보석 님께서 큰 도움 주셨습니다. 정말 감사합니다!
그림 풀이가 필요해 보이는 부분은 아직 준비를 못해서 나중에 추가하겠습니다.
'if (study) > 기본기 수련' 카테고리의 다른 글
컴퓨터 아키텍처 8~10장 연습문제 정답과 풀이(한빛아카데미, 우종정 지음) (22) | 2019.11.10 |
---|---|
컴퓨터 아키텍처 1~4장 연습문제 정답과 풀이(한빛아카테미, 우종정 지음) (20) | 2019.10.22 |
아키텍처 별 특징과 폰노이만 병목에 발생하는 트래픽 정리 (0) | 2019.10.21 |