[理工] 請教一題pipeline 101交大

看板Grad-ProbAsk作者 (還很新)時間9年前 (2017/01/30 16:26), 9年前編輯推噓3(3012)
留言15則, 2人參與, 最新討論串1/2 (看更多)
http://i.imgur.com/HPhstHA.jpg
首先想問的是第一題 我算出來的cycle是19個 http://i.imgur.com/JknAtpk.jpg
(5-1)stage數減一 cycle2因為load use要stall cycle4 7因為預測錯誤要stall3個 這樣多出來的1是發生在哪? 還有第二題也是被同樣問題困住 2(load+beq) 1(penalty) 1(R+beq) 1(penalty) 多出來的1是? 還有那個stall cycle是指什麼?cycle2時第二個指令不是還在fetch而已嗎? 另外想問一個很白痴的問題 有一點不是很清楚 就是branch在ID跟在mem branch在ID的時候不是ID才能透過comparison得到結果嗎 所以正確指令的IF應該會出現在第二個ID下方(假設預測錯誤) 這樣penalty只有1 那branch在mem呢?總感覺說branch在mem很難理解,因為理當在Ex階段就應該comparison 就已經算完了,這樣想想在mem階段時新的IF就進來了這樣penalty是3 但實際上不是可以把penalty壓到2嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.71.187 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1485764819.A.FB8.html

01/30 17:00, , 1F
2個load都有data hazard
01/30 17:00, 1F

01/30 17:01, , 2F
所以第一題2個1
01/30 17:01, 2F
因為第一個bne是在ex的時候compare,所以還是要等一回合才可以forwarding,是吧?! ※ 編輯: newpuma (114.136.71.187), 01/30/2017 17:04:22 可是這樣第二小題的1又是怎麼來的,lw+beq含在一起已經算2了@@ ※ 編輯: newpuma (114.136.71.187), 01/30/2017 17:06:06

01/30 17:07, , 3F
第二題我算16耶,要stall的只有load use 1+1, branch1+1
01/30 17:07, 3F
一開始的load use 1 第二個loaduse+beq 2 beq預測錯 1 後來的r type跟beq 1 beq預測錯 1?

01/30 17:07, , 4F
而已
01/30 17:07, 4F

01/30 17:09, , 5F
branch 在mem就是指使用exe時的alu相減做比較, 若0 flag
01/30 17:09, 5F

01/30 17:09, , 6F
有就讓branch跳
01/30 17:09, 6F

01/30 17:14, , 7F
應該說儲存0 flag訊號,到mem階段的時候和branch control
01/30 17:14, 7F

01/30 17:14, , 8F
訊號做and決定要不要跳
01/30 17:14, 8F
※ 編輯: newpuma (114.136.71.187), 01/30/2017 17:18:25

01/30 17:17, , 9F
第一個就跟你說的一樣,但第二個我就不知道為什麼多2了
01/30 17:17, 9F

01/30 17:50, , 10F
第二個應該是因為預測錯誤浪費的cycle所以多2?
01/30 17:50, 10F

01/30 17:51, , 11F
他總是預測taken,所以等到branch的ID stage結束後才會
01/30 17:51, 11F

01/30 17:52, , 12F
執行下一個指令,結果都沒taken
01/30 17:52, 12F
總是失敗所以一定penalty

01/30 17:54, , 13F
沒錯!!!
01/30 17:54, 13F

01/30 17:56, , 14F
我是指原po算的沒錯,因為load從memory拿到資料要等2cycl
01/30 17:56, 14F

01/30 17:56, , 15F
e,branch才能在idstage拿到資料
01/30 17:56, 15F
我好像有點自問自答 不過感謝y大點出lw!! ※ 編輯: newpuma (114.136.71.187), 01/30/2017 18:08:54
文章代碼(AID): #1OZlZJ-u (Grad-ProbAsk)
文章代碼(AID): #1OZlZJ-u (Grad-ProbAsk)