[理工] 計算機結構 throughput

看板Grad-ProbAsk作者 (Water Blue)時間12年前 (2013/08/24 07:46), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/1
給定一台電腦,以下為執行程式後,分析四種指令所得到的特性。其中X表示不需使用。 又,throughput定義為每秒可執行的指令數(instructions per second)。請問: Distribution IF ID EX MEM WB Load 25% 2ns 1ns 2ns 2ns 1ns Store 10% 2ns 1ns 2ns 1ns X Arithmetic 45% 2ns 1ns 1ns X 1ns Branch 20% 2ns 1ns 2ns X X (一)如果該電腦以single-cycle processor 實現。請問throughput 是多少?(6 分) (二)如果該電腦以multi-cycle processor 實現。請問throughput 是多少?(7 分) (三)如果該電腦以5-stage pipelined processor 實現。假設沒有任何data hazard, structural hazard 及control hazard 發生,請問throughput 是多少?(7 分) 答: (一)假設有100個指令,則25個Load指令共執行25*(2+1+2+2+1)=200ns 依此類推,Store共60ns,Arithetic共225ns,Branch共100ns 則throughput=100*( 1 / (200+60+225+100)ns) = 171 * 10^6 (指令/每秒) 請問小弟這樣計算是否正確呢? (二)小弟就不會算了= = (三)此題可以用171*10^6 * 5 (因為分割為5步驟) = 855*10^6 這樣計算嗎?雖然小弟感覺很心虛= = 以上是小弟的一些疑問,還勞請高手為小弟解惑了,小弟先行感謝師恩了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.168.12.22

08/24 12:52, , 1F
第一題就錯囉! single cycle由時間最長的那個指令決定
08/24 12:52, 1F

08/24 12:53, , 2F
所以所有的指令都要當成8ns
08/24 12:53, 2F

08/24 12:54, , 3F
第二題才是用你第一題的算法算
08/24 12:54, 3F

08/24 12:58, , 4F
第三題是pipelined趨近於一個指令只花一個stage,而
08/24 12:58, 4F

08/24 12:59, , 5F
stage要用最長的那個stage(2ns),所以答案約為
08/24 12:59, 5F

08/24 13:05, , 6F
1s / ( 2ns/ins ) = 5*10^8
08/24 13:05, 6F

08/25 15:03, , 7F
非常感謝b大的解說,小弟明白了,感謝。
08/25 15:03, 7F
文章代碼(AID): #1I5_H64B (Grad-ProbAsk)