Re: [理工] [計組] single cycle machine

看板Grad-ProbAsk作者 (善良老百姓)時間9年前 (2016/11/13 19:33), 9年前編輯推噓1(1018)
留言19則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《kyuudonut (善良老百姓)》之銘言: : 想問一下這題 : 張凡[上] P-389 的第三小題 : https://imgur.com/a/OXTWh : 後續計算方式了解 : 但不太知道為什麼第一句 就直接肯定 : ALUOp and ALUSrc would be "the most critical" to generate quickly. : 請問這兩個是怎麼被選出來的? critical path 上應該還有其他的訊號線可以選擇? : 就我的了解 critical path 應該是 load 的路徑對吧? 實際執行時間最長的指令? 第二次看第三小題又有問題跑出來 先附上解答: http://imgur.com/a/aTjxG 張凡 ALUop 的算法: 200 + 30 - 50 = 180 我理解的意思為: "instruction 讀到後,在 ALU 前所花的時間" 為 200 + 30 ps 故 ALUsrc 可產生之時間為 200 ps,ALUop 可產生之時間為 180 ps 但張凡上課講的 critical path (lw) 路徑為: I-MEM -> Regs --------------> ALU -> D-MEM -> MUX -> Regs (1) (critical path) -> SE Unit -> MUX ---| (2) 他把 ALUsrc 這個 MUX 放在第 (2) 條路徑 (跟Regs同時進行?) 我不太懂的是第三小題為什麼在 "instruction讀到後,在ALU前所花的時間" 又要加上 ALUsrc 這顆 MUX 的 latency? 因為原本的 critical path(1300ps) 並沒有算到它阿@@ 有沒有我理解錯誤的地方? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.251.85 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1479036806.A.FDB.html

11/13 20:12, , 1F
難怪我課本上面寫一個難字
11/13 20:12, 1F

11/13 20:15, , 2F
ALUop在何時得到訊號且"最晚"不影響Critical path
11/13 20:15, 2F
可是 ALUsrc 原本就不在 critical path 上?

11/13 20:17, , 3F
ALUSrc必須等到Reg & S/E 得到input的同時
11/13 20:17, 3F

11/13 20:18, , 4F
再得到訊號即可 因此t = 230 時得到ALUsrc訊號
11/13 20:18, 4F
等等,t = 230 時才得到 ALUsrc 反而會延長 critical path 吧@@?

11/13 20:19, , 5F
而ALU必須 在ALUsrc得到訊號之前的幾秒前得到訊號
11/13 20:19, 5F

11/13 20:20, , 6F
才能趕得及在ALUsrc訊號抵達時送出output的時候
11/13 20:20, 6F

11/13 20:21, , 7F
ALUOP能及時運作
11/13 20:21, 7F

11/13 20:23, , 8F
t = 200(Reg) + 30(ALUSrc) - 50(ALUOP Delay time)
11/13 20:23, 8F
困惑我是這個 230 在 R-type 的路徑上,ALU 前面是 Regs + MUX 沒錯 (230 ps) 但是在 lw 的路徑上,ALU 前面是 Regs (如我文章裡的圖) 如果定義一個絕對的時間軸,在 critical path 上 ALU 計算發生在第 (I-MEM + Regs) sec 而機器在第 (I-MEM) sec 時得到指令,再扣掉 MUX 的運作時間, 會變成有 (Regs - MUX) sec 可以產生 ALUsrc 有 (Regs - ALUop) sec 可以產生 ALUop 可否指出我有問題的地方@@?

11/13 20:23, , 9F
抱歉更正 第一個t 應該是230
11/13 20:23, 9F
我幫你改囉

11/13 20:24, , 10F
t = 180 必須開始傳送ALUop的signal才不會delay
11/13 20:24, 10F

11/13 20:42, , 11F
lw要rs + imme 他不用管rt的值 所以ALUSrc 是算在imme在
11/13 20:42, 11F
原來如此 謝謝補充

11/13 20:42, , 12F
同理R type ALUSrc是算在rt上
11/13 20:42, 12F
※ 編輯: kyuudonut (220.132.251.85), 11/13/2016 22:21:37 ※ 編輯: kyuudonut (220.132.251.85), 11/13/2016 22:28:05

11/13 23:33, , 13F
試想 Critical Path 為 Reg + ALU (僅限到ALUop)
11/13 23:33, 13F

11/13 23:33, , 14F
只要在這 200 + 120 內得到 前面正確的Data即可
11/13 23:33, 14F

11/13 23:34, , 15F
那只要符合這時間內,怎麼樣排列都可以因為不會影響
11/13 23:34, 15F

11/13 23:38, , 16F
不對 ALU不能算在裡面
11/13 23:38, 16F

11/14 00:48, , 17F
11/14 00:48, 17F

11/14 00:48, , 18F
http://imgur.com/a/3VIs8 我快不能思考了 QQ
11/14 00:48, 18F

11/14 00:49, , 19F
詳解在這我明天看 XDD
11/14 00:49, 19F
文章代碼(AID): #1OA4-6_R (Grad-ProbAsk)
文章代碼(AID): #1OA4-6_R (Grad-ProbAsk)