[컴퓨터 구조]컴퓨터 구조 연습문제 2장(책:Computer Organization and Design)
- 최초 등록일
- 2006.02.28
- 최종 저작일
- 1997.01
- 7페이지/ 한컴오피스
- 가격 2,000원
소개글
과목 : 컴퓨터 구조
책 : Computer Organization and Design
저자 : Patterson, David 지음
출판사 : Morgan Kaufmann Pub
<참고 한글판, 원서 모두 연습문제는 다를바 없습니다..>
목차
[연습문제 2.15]
[연습문제 2.31]
[연습문제 2.37]
본문내용
[연습문제 2.15]
다음 C코드를 MIPS로 구현하라. set_array가 처음 호출되는 함수라고 가정하라. 스택과 프레임 포인터를 적절히 취급해야 한다. 변수는 스택에 할당되고 i는 $s0에 해당한다. set_array를 호출하기 전과 각 함수를 호출한 상태에서 스택의 상태를 그려라. 스택에 저장된 레지스터와 변수의 이름을 표시하고, $sp와 $fp의 위치를 나타내라.
◉ 연습문제 2.30의 코드는 사이즈가 2500인 2개의 배열의 값을 비교하는 이중 for문으로 볼 수 있다. 그러므로 사이클 수는 외부 loop와 내부 loop의 수를 구해주면 쉽게 구할 수 있다.
① 내부 loop 실행 전 외부 loop 실행 사이클 수.
▶ 1사이클(add) + 2사이클(lw) + 1사이클(add) +1사이클(add) + 2사이클(lw) = 7사이클
▶ 7사이클 * 2500회 = 17,500사이클
② 내부 loop 실행 사이클 수.
▶ 1사이클(add) + 2사이클(lw) + 2사이클(bne) + 1사이클(addi) + 1사이클(addi) + 2사이클(bne) = 9사이클
▶ 9사이클 * 2500 * 2500 =56,250,000사이클
③ 총 사이클 수.
▶ (7사이클 * 2500회) + (9사이클 * 2500 * 2500)= 17,500+56,250,000 = 56,267,500사이클
④ 코드 실행에 걸린 시간.
▶ 2GHz 클럭이므로 1클럭에 거리는 시간 => =0.5ns
▶ 총 사이클 수 * 1클럭에 거리는 시간 = 56,267,500 * 0.0000005 = 0.028175 ≒ 28ms
참고 자료
없음