考慮某款 MIPS 實作,其 data path 如下:
上圖紅色的 1
, 2
, 3
對 MIPS 做了對應的修改,請考慮以下狀況,分別解釋對應的程式碼是否能運作。
1
1: Stuck at 0 left of cut
的修改,sw $s1, 0($s2)
能否運作?lw $s1, 0($s2)
add $s1,$2,$3
作答區
Q11 = ?
(a)
可(b)
不可Q12 = ?
(a)
可(b)
不可–
2
2: Cut here
的修改後,以下程式能否運作?
add $s1, $s1, $s1
add $s1, $t0, $t1
作答區
Q21 = ?
(a)
可(b)
不可3
3: Cut here
的修改後,以下程式能否運作? (exit
為某個副程式)cmp:
xor $t1, $s2, $s1
slt $t2, $zero, $t1
sll $t2, 2
add $ra, $ra, $t2
jr $ra
entry:
addi $s2, $zero, 2
addi $s1, $zero, 2
jal cmp
j exit
addi $s2, $zero, 2
addi $s1, $zero, 2
beq $s2, $s1, exit
作答區
Q31 = ?
(a)
可(b)
不可Q32 = ?
(a)
可(b)
不可延伸問題: