Hello大家好:
爬了一下文似乎沒有很完整的答案,想說是否有寫過『107台大電機丙計系』的朋友,
願意幫忙指正、對一下答案呢?感謝~
題目:http://140.112.115.12/exam/sites/default/files/exam/graduate/107_1/107_g
raduate_412.pdf
=================================================
1.ABD
C:Memory Reference不需Locality,實際存取才需要
2.(不會用猜的)(更新留言解答)ABCD
3.ACD
B:不必然發生
4.CD
A:優點為Faster,與Stability無關
B:優點為Cheaper,與Stability無關
5.B
CPU IO 共計 Factor
第0年 90 10 100 100/100=1
第1年 90/1.5=60 10 70 100/70=1.42
第2年 60/1.5=40 10 50 100/50=2
第3年 40/1.5=26.67 10 36.67 100/36.67=2.73
第4年 26.67/1.5=17.78 10 27.78 100/27.78=3.60
第5年 17.78/1.5=11.85 10 21.85 100/21.85=4.58
A:1.42
C:2.73
D:11.85>10,不到50%
6.E
A:不一定『必須』,Non-blocking可繼續執行
B:中斷向量表是查詢『該中斷之服務處理的程式所在位址』
(ISR:Interrupt Service Route的位址)
C:不需Work with polling
D:DMA,不干擾CPU,使其可執行其他Process
7.BD
A:為一般指令,因不會對系統造成危害
C:為一般指令
8.ABC
D:User Thread被Blocked,則整個Process皆被Blocked
9.AD(更正)
B:load use無法以Forwarding解決
C:1/2.5ns = 400MHz
10.E
A:load use無法以Forwarding解決,仍需Stall
B:重排可以
DIVIDE:lw $t1, 4($a0)
lw $t0, 0($a0)
add $t3, $0, $0
add $t2, $0, $0
LOOP: beq $t2, t0, END
add $t2, $t2, $t1
addi $t3, $t3, 1
j LOOP
END: sw $t3, 8($a0)
C:beq共執行3次,2次not taken,1次taken
D:由下表可知,無法在14個Cycles內完成
IF ID EXE MEM WB
1 add
2 add add
3 lw add add
4 lw lw add add
5 beq lw lw add add
6 addi beq lw lw add
7 addi beq nop lw lw
8 add addi beq nop lw
9 j add addi beq nop
10 beq j add addi beq
11 beq j add addi
12 beq j add
13 beq j
14 beq