[理工] 計組 101 台聯大電機 Pipeline 懲罰
想請教一下各位大大
題目如圖 https://i.imgur.com/o076BeK.png

紅框答案的部分
我的理解是說
程式在 compiler得時候
compiler會先看一下指令
安排順序
再進pipeline
如圖 : https://i.imgur.com/JEGtoWy.png

當 Branch 預期跳的時候
Complier 會在 Branch 指令後面插目的的指令
所以當 Branch 真的跳則不會有懲罰
這部分我沒有問題
但是 Jump 指令
Compiler看到的時候
應該是會排 Jump 目的的指令吧?
我覺得應該是不會有懲罰的問題
同樣都是在ID2解碼才知道指令
人家Branch都可以排 跳躍目的 的指令了
為啥Jump這個必跳的指令後面一定要跟著 下一個指令 而不是 跳躍目的 的指令呢?
還是我整體的觀念有誤呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.93.151
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1512469844.A.B12.html
※ 編輯: jerry900287 (111.243.93.151), 12/05/2017 18:33:12
※ 編輯: jerry900287 (111.243.93.151), 12/05/2017 18:34:49
※ 編輯: jerry900287 (111.243.93.151), 12/05/2017 18:35:37
推
12/05 22:48,
8年前
, 1F
12/05 22:48, 1F
→
12/05 22:48,
8年前
, 2F
12/05 22:48, 2F
→
12/05 22:48,
8年前
, 3F
12/05 22:48, 3F
所以大大的意思是 Jump 的 Predict taken 那攔是 0
Predict not take 那攔是 3 嗎?
※ 編輯: jerry900287 (111.243.93.151), 12/05/2017 23:42:04
推
12/06 00:30,
8年前
, 4F
12/06 00:30, 4F
→
12/06 00:31,
8年前
, 5F
12/06 00:31, 5F
→
12/06 00:31,
8年前
, 6F
12/06 00:31, 6F
→
12/06 00:36,
8年前
, 7F
12/06 00:36, 7F
→
12/06 00:37,
8年前
, 8F
12/06 00:37, 8F
OK!!! 這樣感覺就通了 感謝尼們
※ 編輯: jerry900287 (61.230.79.66), 12/06/2017 13:02:51