[理工] 105交大資聯計系 branch

看板Grad-ProbAsk作者 (Cold)時間7年前 (2017/01/03 11:42), 編輯推噓4(4036)
留言40則, 4人參與, 最新討論串1/1
http://i.imgur.com/pHjBMBp.jpg
這題答案是AB 想請問C選項是錯在要加入IF.Flush控制線嗎 D選項cycle time 會增加因為多一個mux 不知道我的想法有沒有錯誤 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.186.245 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1483414948.A.0A3.html

01/03 14:09, , 1F
有題目原圖嗎@@
01/03 14:09, 1F

01/03 14:54, , 2F
幫原PO附一下 http://imgur.com/a/BgbaY
01/03 14:54, 2F

01/03 15:22, , 3F
C題意是一直猜不跳 在mem才知道猜錯 所以要有IF/ID, ID/E
01/03 15:22, 3F

01/03 15:22, , 4F
XE, EXE/MEM flush 而D應該是多一個AND gate 接在ALU後面
01/03 15:22, 4F

01/03 15:22, , 5F
(你的mux是指PCSrc要接的嗎?是的話他在PC前面喔圖上有
01/03 15:22, 5F

01/03 15:22, , 6F
畫) CPI會降低沒錯因為猜錯的penalty減少 但是這題我會
01/03 15:22, 6F

01/03 15:22, , 7F
想選耶....因為AND gate不複雜 加起來應該還是不會超過10
01/03 15:22, 7F

01/03 15:22, , 8F
0才對 所以cycle time應該不會增加才對qq
01/03 15:22, 8F

01/03 15:23, , 9F
另外想問你們交大的題目跟答案是去哪找的qq
01/03 15:23, 9F

01/03 15:27, , 10F
我是想求比較完整的交大計組題目QQ..
01/03 15:27, 10F

01/03 15:30, , 11F
D 我不會選,沒有flush 不是會增加 stall 嗎@@?
01/03 15:30, 11F

01/03 15:34, , 12F
不對,沒有forwarding 不是要stall 嗎
01/03 15:34, 12F

01/03 15:38, , 13F
但是AND gate放MEM跟放EXE 並不會增加stall cycle數呀 兩
01/03 15:38, 13F

01/03 15:38, , 14F
者都是在EXE就要用data去算zero bit
01/03 15:38, 14F

01/03 15:49, , 15F
思考了一下,這裡的BRANCH handling 似乎不是在指
01/03 15:49, 15F

01/03 15:51, , 16F
決定在哪邊跳,而是pipeline 對於branch 的策略方
01/03 15:51, 16F

01/03 16:34, , 17F
我剛剛腦筋打結了= = 因為penalty減少 所以cpi是減少的
01/03 16:34, 17F

01/03 16:34, , 18F
所以d是錯的 我認為是這樣喇 會不會增加cycle time就不用
01/03 16:34, 18F

01/03 16:34, , 19F
探討了畢竟他也沒給and gate, mux的時間
01/03 16:34, 19F

01/03 16:38, , 20F
疑@@ 這樣不是對的嗎
01/03 16:38, 20F

01/03 19:44, , 21F
我晚點寄給你們兩位
01/03 19:44, 21F

01/03 20:27, , 22F
有需要也可站內信我喔
01/03 20:27, 22F

01/03 20:34, , 23F
(D) 我是覺得從MEM改到EX 應該會降低cycle time吧
01/03 20:34, 23F

01/03 21:45, , 24F
Mem stage 通常access memory delay 會比較大 所以
01/03 21:45, 24F

01/03 21:45, , 25F
移走應該沒什麼差別
01/03 21:45, 25F

01/03 21:45, , 26F
先感謝大大惹
01/03 21:45, 26F

01/04 14:36, , 27F
喔喔我昨天第二次才是腦筋打結 把improve想成increase囧
01/04 14:36, 27F

01/04 14:36, , 28F
這樣我就又想選了XD 硬要說錯可能就AND gate可能會很久
01/04 14:36, 28F

01/04 14:36, , 29F
加起來超過100 cycle time就變長了
01/04 14:36, 29F

01/04 14:36, , 30F
我有學長給我考卷了~還是謝謝
01/04 14:36, 30F

01/04 14:38, , 31F
and gate跟data memory是平行執行的 所以移走cycle time
01/04 14:38, 31F

01/04 14:38, , 32F
應該是不會減少(?
01/04 14:38, 32F

01/04 15:16, , 33F
我直接說我的想法@@~ 我認為這邊的Branch handling
01/04 15:16, 33F

01/04 15:16, , 34F
是在指 Flush unit,原本flush unit 應該是在ID
01/04 15:16, 34F

01/04 15:17, , 35F
但這題說是要移到EXE 因此必須STALL 一次
01/04 15:17, 35F

01/04 15:18, , 36F
通常我們在說決定branch 是否跳 or 不跳在MEM stage
01/04 15:18, 36F

01/04 15:18, , 37F
好像不太會說 branch handling 在 mem (?
01/04 15:18, 37F

01/04 15:32, , 38F
https://goo.gl/Yz7qds 第八頁開始
01/04 15:32, 38F

01/04 15:39, , 39F
剛剛看完這個,應該是在指pipeline branch 後的
01/04 15:39, 39F

01/04 15:40, , 40F
penalty 吧~ 所以CPI 增加應該是沒錯的
01/04 15:40, 40F
文章代碼(AID): #1OQnsa2Z (Grad-ProbAsk)