看板 Grad-ProbAsk 關於我們 聯絡資訊
http://miupix.cc/pm-9FWJ3T 如照片 為什麼Branch猜跳 結果也跳的penalties 不是3 Branch 不是也要到ID2的時候才知道他是branch指令才開始猜? 原本寫這題都沒問題,結果上完課寫了淺藍色的字後 Branch的部分就混亂了 不知道是哪個環節想錯了 麻煩各位了m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.71.117.53
GenuineBoy:你猜對的話就不會有penalty 指令直接繼續執行 09/11 12:36
A4P8T6X9:感覺好像是3,因為在知道是branch之前,還是會先按照順 09/11 15:17
A4P8T6X9:序讀指令,知道是branch之後,才猜跳,前三步感覺要算懲 09/11 15:17
A4P8T6X9:罰。 09/11 15:17
justbearcry:結果後來老師提到了...囧 他説課本假設branch猜對不會 09/11 23:05
justbearcry:有懲罰,和jump不同.只能記下來了 09/11 23:07
A4P8T6X9:所以是假設問題?感覺應該要有的。 09/11 23:29
ken1325:知道是branch之後才猜跳,如果猜對的話,前三步就沒有錯阿 09/11 23:46
ken1325:猜錯的話前三步就錯了,才有懲罰阿 09/11 23:48
justbearcry:但如果branch是往上跳的,他等到ID2才知道他是branch 09/12 00:08
justbearcry:然後才開始猜,就算猜對,也應該有懲罰吧! 09/12 00:08
PTT007:為什麼是在ID2才知道是branch,不是在ID1就算出address了嗎 09/12 00:47
kiki86151:不懂"branch往上跳"是什麼意思= = 猜對它就是一直跑下去 09/12 01:42
kiki86151:也就是跑到WB(完全沒浪費cycles) 然而猜錯就代表branch 09/12 01:42
kiki86151:後面指令已經進去pip reg了所以那些指令要清掉stage重跑 09/12 01:42
kiki86151:清掉這動作就是懲罰 09/12 01:42
kiki86151:感覺好亂= = 我整理一下個人解讀是 branch會有懲罰就只 09/12 01:45
kiki86151:有兩種 猜它跳但它卻不跳 猜它不跳它卻跳了 09/12 01:45
kiki86151:題目敘述說branch要在第6個stage才能被解決 09/12 01:47
kiki86151:代表前5個階段是否清掉 在此階段決定也就是知道跳或不跳 09/12 01:47
kiki86151:第3個stage知道target address感覺沒什麼意義就是知道他 09/12 01:47
kiki86151:跳到哪個address該行指令往下而已 而不是知道它是哪個 09/12 01:48
kiki86151:指令 不過好像大部分知道哪指令通常在ID階段 加ID2是最 09/12 01:49
kiki86151:後階段 我猜所以在ID2知道jump指令吧 09/12 01:49
PTT007:請問branch target address的意思是 branch那行指令的位址 09/12 01:53
PTT007:還是branch跳過去之後的位址? 09/12 01:53
kiki86151:當然是branch跳過去之後的位址 target就是目標意思 09/12 02:00
PTT007:謝謝~ 09/12 02:12
A4P8T6X9:不是唷,現在問題是,他是猜要跳,假設現在有10個指令, 09/12 09:05
A4P8T6X9:第一個是branch,然後目標是10,可是1讀進來當下不知道 09/12 09:05
A4P8T6X9:是branch,會繼續讀234直到ID2,這時候猜要跳,前面的234 09/12 09:05
A4P8T6X9:不是該清掉換成10?這樣即使猜對,也需要懲罰吧? 09/12 09:05
A4P8T6X9:不小心噓到,補推。 09/12 09:09
kiki86151:我懂意思了 所以應該是以課本為主 猜對不會有懲罰 09/12 16:27
kiki86151:234會先讀進去沒錯。 09/12 16:28