답지 없이 직접 풀어본거라 틀린 답이 있을 수 있습니다.
잘못된 내용을 발견했을 때 덧글로 의견을 주시면 감사하겠습니다.
이 글은 집단 지성의 힘으로 수정되고 있습니다.
덧글로 틀린 내용을 제보해주시는 분들이 계신데, 수동으로 보고 있다보니 빠르게 확인을 못할 때가 있습니다.
공부하려고 방문하신 분들, 혹시 모르니 덧글란에 아직 반영되지 않은 최신 댓글이 있는지 한 번 확인해주세요. (반영 완료된 댓글엔 제가 답글을 달고 있습니다)

8장

  1. 2
  2. 1
  3. 2
  4. 4 - 고정결선식에 대한 설명이다
  5. 3 - 생성하는 지점이 아니라 적용하는 지점이다
  6. 1
  7. 1 - PLA에 대한 설명이다
  8. 3 - 수평적 마이크로 명령어에 대한 설명이다
  9. 프로그램 계수기 (PC)
  10. 고정결선식
  11. R-형식 명령어는 3개의 레지스터 주소를 추출하고, 그중 2개의 레지스터 주소를 이용해 레지스터 내용을 읽는다. 따라서 ALU의 연산 결과를 rd 필드가 가리키는 레지스터에 저장해야 한다.
    I-형식 명령어는 2개의 레지스터 주소를 추출하고, 그중 1개의 레지스터 주소 또는 2개의 레지스터 주소를 이용해 레지스터 내용을 읽는다. DR 레지스터의 내용을 rt 필드가 가리키는 레지스터에 저장해야 한다.

 

9장

  1. 1
  2. 3 - 풀이 : 5 + (10 - 1) * 1 = 14, 첫번째 명령어를 수행하기 위해 5 * 1, 나머지 n - 1개의 명령어를 수행하는데 9 * 1만큼의 시간이 필요하다.
  3. 4 - 가장 긴 지연시간인 12를 기준으로, 12 + 1인 13이 된다.
  4. 3
  5. 3
  6. 1
  7. 1 - 전방 전달은 데이터 헤저드와 연관이 있다.
  8. 1
  9. 4
  10. 정확한 인터럽트
  11. WAW - 후행 연산자인 L2가 더 빨리 처리되어 r1에 r4 + r5의 연산 결과가 r2 x r3의 연산 결과보다 먼저 r1에 저장될 수 있다. 선행 연산자가 갱신하기 전에 후행 연산자가 먼저 갱신했기 때문에 WAW에 해당된다.
  12. 약 1.05배
    실행시간 = 명령어 개수 * 평균 CPI * 클록 시간 공식을 활용한다.

    - 개선되기 전
    CPI = 1 + (3 * 0.05) + (10 * 0.5) = 1.65
    클록 시간 = 가장 긴 지연시간 = 10
    개선되기 전의 실행 시간 = 명령어 개수 N * 1.65 * 10 = 16.5N

    - 개선된 후 (조건 분기 삭제, 무조건 분기 패널티 5→3사이클)
    CPI = 1 + (10 * 0.3) = 1.3
    클록 시간 = 가장 긴 지연시간 = 12
    개선된 후의 실행 시간 = 명령어 개수 N * 1.3 * 12 = 15.6N

    명령어 개수가 동일하다고 가정할 때 16.5/15.6 = 1.0576923…
    따라서 성능은 약 1.05배 향상된다.

    추가) ㅎㅌㅇ님의 덧글 제보로 풀이 수정했습니다. 감사합니다!

 

10장

  1. 3
  2. 2
  3. 4
  4. 3
  5. 1
  6. 2
  7. 2
  8. 4
  9. 1
  10. 1
  11. 3
  12. 휘발성
  13. 많은 주소 핀이 필요하기 때문에 내부적으로 주소를 다중화 한다. 
  14. 하위 메모리 인터리빙. 상위 인터리빙은 연속된 데이터가 하나의 뱅크에 존재하므로 공간적 지역성을 향상할 수 없다. 하위 메모리 인터리빙은 데이터를 순차적으로 사용하는 프로그램에 적합하기에 공간적 지역성에 적합한 구성이다.
  15. 지역성 원리