Re: [理工] [計組] pipeline

看板Grad-ProbAsk作者 (numin)時間13年前 (2012/09/20 21:09), 編輯推噓6(6013)
留言19則, 3人參與, 最新討論串8/12 (看更多)
※ 引述《wsx02 ()》之銘言: : Exexute the following Copy loop on a pipelined machin: : Copy: lw $10, 1000($20) : sw $10, 2000($20) : addiu $20, $20 , -4 : bne $20, $0 , Copy : Assume that the machin datapath neither stalls nor forwards on hazards , : so you must add nop instructions. 解答: lw $10, 1000($20) addiu $20, $20 , -4 nop sw $10 2000($20) bne $20 $0 , Copy lw $10 1000($20) 問題:請問為什麼在sw下面不用再插入一個nop?題目說沒有fowarding,不是代表 只能到最後WB才可以回傳對的值?下圖是插兩個nop的pipeline stage圖,不曉得 在觀念上哪裡錯了?謝謝。 lw IF ID EX ME WB-| addiu IF ID EX ME | WB-| sw IF ID X |- EX | ME WB bne IF X X |- ID EX ME WB (lw和sw有hazard,addiu和bne有hazard) 感謝各位耐心看完問題,謝謝。 ※ 編輯: numin 來自: 123.193.221.223 (09/20 21:10)

09/20 21:22, , 1F
你的圖 addiu和sw少畫了nop
09/20 21:22, 1F

09/20 21:22, , 2F
對耶..這樣addiu和sw有data hazard
09/20 21:22, 2F

09/20 21:23, , 3F
暫存器可在前半cycle寫入,後半cycle讀取,故WB跟ID可重疊
09/20 21:23, 3F

09/20 21:26, , 4F
另外,你的畫法是stall,nop是1個指令,故還是要畫出5個stage
09/20 21:26, 4F

09/20 21:29, , 5F
請問cycle 6時 addiu做WB
09/20 21:29, 5F

09/20 21:30, , 6F
可是sw在cycle 5就要ID解碼暫存器 這樣是data hazard嗎?
09/20 21:30, 6F

09/20 21:40, , 7F
沒,你看看原本的程式碼順序,應該要先sw再addiu
09/20 21:40, 7F

09/20 21:46, , 8F
恩 原本的程式碼sw和addiu沒有data hazard的問題
09/20 21:46, 8F

09/20 21:46, , 9F
可是題目說要rewrite 變成addiu在sw之前執行
09/20 21:46, 9F

09/20 21:46, , 10F
這樣不是就產生了data hazard? 謝謝!
09/20 21:46, 10F

09/20 21:55, , 11F
重寫後addiu然後sw是有hazard,不過那是故意的,sw抓的是addiu
09/20 21:55, 11F

09/20 21:55, , 12F
在WB前未-4的值,和原題目的先sw再addiu達到同效果
09/20 21:55, 12F

09/20 21:55, , 13F
我也有這個疑問,我是將原來code先解control hazard後,
09/20 21:55, 13F

09/20 21:56, , 14F
然後在判斷有無data hazard,在加nop,之後若有hazard也覺得
09/20 21:56, 14F

09/20 21:57, , 15F
怪怪的。
09/20 21:57, 15F

09/20 21:59, , 16F
謝謝 我搞懂了 感謝
09/20 21:59, 16F

09/20 22:05, , 17F
感謝d大講解,也謝謝w大提出相關問題一起討論,謝謝。
09/20 22:05, 17F

09/20 22:06, , 18F
我也懂了,原來在畫圖時,沒有注意到WB和ID可重疊,也更清楚
09/20 22:06, 18F

09/20 22:07, , 19F
後來有的hazard和原先hazard地方之疑問,謝謝。
09/20 22:07, 19F
文章代碼(AID): #1GMnMGKD (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1GMnMGKD (Grad-ProbAsk)