김종현 컴퓨터 구조론 4판 2장 연습문제 풀이
- 최초 등록일
- 2017.11.09
- 최종 저작일
- 2017.11
- 12페이지/ 한컴오피스
- 가격 1,000원
목차
없음
본문내용
2.1 클록 주기가 2ns인 CPU가 ‘ADD addr’ 명령어를 인출하고 실행하는 데 걸리는 시간은 모두 몇 ns 인가? 단, 직접 주소지정 방식이 사용되며, 인터럽트는 없다고 가정한다.
인출하고 실행하는데 총 6클록이 소요된다. 클록주기가 2ns 이기 때문에 2*6 = 12ns이다.
2.2 인터럽트 서비스 루틴을 수행하는 도중에 더 높은 우선순위를 가진 인터럽트 요구가 들어오더라도 그 루틴의 수행이 중단되지 않도록 하는 방법을 설명하라.
인터럽트 루틴의 시작 시점에서 인터럽트 불가(disable interrupt: DI) 명령어를 실행하고, 루틴의 마지막에 다시 인터럽트 가능 명령어(EI)를 실행하면 된다.
2.3 인터럽트 사이클은 반드시 실행 사이클이 종료된 다음에 수행되어야 하는 이유는 무엇인가? 만약 인출된 명령어를 위한 실행 사이클이 수행되는 도중에 들어오는 인터럽트 요구에 대하여 CPU가 즉시 응답을 한다면, 어떤 문제가 발생하게 되는가?
일단 인출한 명령어는 실행을 종료해야 하기 때문이다. 만약 인출되었던 명령어의 실행이 종료되지 않은 상태에서 그것을 중단하고 인터럽트 서비스를 수행한다면, 원래 프로그램으로 다시 돌아올 때 스택에 저장된 복귀 주소에 있는 (그 다음) 명령어를 인출하여 실행하게 되므로, 원래 실행 중이던 명령어의 실행을 마칠 수 없다.
2.4 인터럽트 사이클이 그림 2-9(b)와 같이 종료된 다음에 처리되는 인터럽트 서비스 루틴에서 누산기(AC)의 내용을 스택에 저장하였다. 그 값이 저장될 기억장치의 주소를 쓰고, SP의 내용은 어떤 값으로 변경되는지 쓰라.
AC 내용이 저장될 기억장치 주소 = 998
SP --> 997 로 변경된다.
2.5 4-단계 명령어 파이프라인으로 100개의 명령어들을 모두 실행하려면 몇 클록 주기가 걸리는가? 그리고 만약 이 파이프라인의 클록 주기가 2ns라면, 그에 소요되는 전체 시간은 몇 ns 인가?
첫 명령어 실행에 네 주기가 걸리고, 그 다음 명령어 주기마다 한 개씩 실행 종료된다.
참고 자료
김종현, “컴퓨터구조론”,4판,생능 출판사, 단행본, P.52~P.117,1998.12