2012-04-30 2 views
1

이 MIPS 프로그램에서MIPS 코드에서 실행 된 총 명령어 수는 얼마입니까?

이 코드 조각을 실행할 때 총 몇 개의 명령이 실행됩니까? $ t0의가 (1100)로 초기화되는 $ (T2)보다 크면 각 사이클

i1: ori $t0, $0, 1000 
i2: ori $t1, $0, 2000 
i3: addi $t2, $t0, 100 
i4: lw $t3, 0($t1) 
i5: lw $t4, 0($t0) 
i6: add $t3, $t3, $t4 
i7: sra $t3, $t3, 1 
i8: sw $t3, 0($t0) 
i9: sw $t3, 0($t1) 
i10: addi $t0, $t0, 4 
i11: addi $t1, $t1, 4 
i12: slt $t3, $t0, $t2 
i13: bne $0, $t3, i4 

답변

0

, 그것은 사이클이 종료 (1000)로 초기화되는 $ T0, 4를 추가하고, 그 확인 그것이 만약 그렇다면 사이클이 끊어집니다. 그래서 원래의 13 개 명령어와 각 사이클마다 10 개가 나옵니다. 그리고 그것은 추가로 25 번 순환합니다. 그리고 내가 잘못 추가했을 수도 있지만 그렇지 않다면 263 가지의 지시 사항이 있습니다.

+0

253. 10 명령의 25 루프와 첫 번째 사이클의 추가 3입니다. – blackcompe

+0

$ t0이 $ t2보다 크지 않을 때까지 중단되지 않습니다. 그것은 26 번 풀 타임으로, 13 번 사이클은 13 번, 나머지는 10 번을 순환합니다. – alf

+1

동일하면 깨집니다. 그것은 슬립이 아니라 슬립입니다. 직접 테스트 해보십시오. https://gist.github.com/2572845 – blackcompe

관련 문제