검색어 입력폼

[컴퓨터 구조]컴퓨터 구조 연습문제 6장(책:Computer Organization and Design)

저작시기 2005.11 | 등록일 2006.02.28 한글파일 한컴오피스 (hwp) | 3페이지 | 가격 2,000원

소개글

과목 : 컴퓨터 구조
책 : Computer Organization and Design
저자 : Patterson, David 지음
출판사 : Morgan Kaufmann Pub
<참고 한글판, 원서 모두 연습문제는 다를바 없습니다..>

Computer Organization and Design 이 책은 원서이기 때문에 연습문제는 해당 출판사가 교수님께만 드리는 걸로 알고 있습니다. 하지만 어렵게 원서로된 연습문제 풀이를 구했으니. 필요한 사람이 있으면 fbimarin@naver.com으로 연락주세요.

목차

[6.14]
[6.47]

본문내용

[6.14]
다음 코드는 그림 6.30에서 보여준 파이프라인을 통해 실행된다.
lw $5, 40($2)
add $6, $3, $2
or $7, $2, $1
and $8, $4, $3
sub $9, $2, $1
클럭 5에서 명령어가 실행되기 직전 프로세서 상태는 다음과 같다.
a. PC는 값100ten, 즉, sub_instruction의 주소를 가지고 있다.
b. 모든 레지스터는 10ten에다 레지스터 번호를 더한 값을 초기값으로 가지고 있다.(즉 레지스터 $8은 초기값 18ten을 가지고 있다.)
c. 데이터로 접근되는 모든 메모리 워드는 1000ten에다 그 워드의 바이트 주소를 더한 값을 초기값으로 가지고 있다.(즉, Memory[8]은 초기값 1008ten을 가지고 있다.)
사이클 5에서의 네 개의 파이프라인 레지스터의 모든 필드 값을 결정하라.

[6.47]
순환문 펼치기는 되어있으나 스케줄링은 안되어 있는 다음 코드를 생각해보자. 이 경우 순환문 인덱스가 2의 배수(즉 $10이 8의 배수)라고 가정한다.

Loop: lw $2, 0($10)
sub $4, $2, $3
sw $4, 0($10)
lw $5, 4($10)
sub $6, $5, $3
sw $6, 4($10)
addi $10, $10, 8
bne $10, $30, Loop

표준 MIPS 파이프라인에서 더 빨리 실행하도록 이 코드를 스케줄하라.(ad야 명령어가 지원된다고 가정한다.) 초기에 $10은 0이었고 $30은 400이고 분기는 MEM단계에서 해결된다고 가정한다. 스케줄된 코드가 원래의 스케줄이 안된 코드와 비교하여 성능이 어떠한가?

① 스케줄되기 전의 코드 문제점.
▣ lw 명령어와 sub 명령어사이에 stalling이 생기기 때문에 총 2cycles 지연이 생길 수 있습니다.
- loop 횟수 = 50회.
- 하나의 loop시 cycle 수 = 10cycles.(
- 스케줄되기 전의 코드의 총 cycle수 = 500cycles.
☞ 이와 같이 하나의 loop 수행시 stalling이 생기기 때문에 이것을 방지하기 위해서는 코드를 스케줄를 하는 것이 필요합니다.

참고 자료

없음
다운로드 맨위로