Re: [理工] [計組] single cycle machine
看板Grad-ProbAsk作者ken52011219 (ken52011219)時間9年前 (2016/11/14 19:37)推噓3(3推 0噓 1→)留言4則, 3人參與討論串3/3 (看更多)
※ 引述《kyuudonut (善良老百姓)》之銘言:
: ※ 引述《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) 並沒有算到它阿@@
: 有沒有我理解錯誤的地方? 謝謝
※ 引述《kyuudonut (善良老百姓)》之銘言:
: ※ 引述《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) 並沒有算到它阿@@
: 有沒有我理解錯誤的地方? 謝謝
早上到下午忙延徵的事情到現在終於有空來看題目
看了第四版的詳解才發現一件事情,其實它只是單純" load " one instruction
進入此 Single cycle instruction,而並非是讀取「 load 」 instruction
(還是其實是只有我看錯QQ...)
所以在任何instruction的情況下,都必須在 1 cycle 內得到正確值
┌────────────────────────┐
│ ┌──>2─────┬──┐ │
│ ┌ Add──────┐ ├ Mux┴ Mux─┘
│ │ │ ├Add ┘
│ │ │ ┌>2─┘
PC──Imem─┼─── Reg──┬─┐
│ │ │├─┘ ├ ALU─Dmem─ mux──┐
├ Mux──┤├ Mux─┘ │ │
└ S/E┴──┴─── ALUCtl │
└───────────────┘
t=0───────────────────────────→t=n
═══════════════════════════════
ALU(Src+op) MEMtoReg
R : PC→IM─→Reg─────→ALU───────→Mux→Reg→PC
ALUop MemRead MEMtoReg
lw : PC→IM─→Reg─────→ALU───→DM──→Mux→Reg→PC
ALUop MemWrite
Sw : PC→IM─→Reg─────→ALU───→DM───────→PC
ALU(Src+op) Branch jump
Beq: PC→IM─→Reg─────→ALU─────→Mux──→Mux→PC
jump
j : PC→IM───→<<2───────────→ll──→Mux→PC
═══════════════════════════════
To Single Cycle with no pipeline,各signal發生時間:
RegDst :在 Mux 延遲之前
ALUSrc :在 Mux 延遲之前
ALUop :雖然 lw 沒有在 Critical Path 經過ALUsrc,但 R type同
時經過 ALUsrc or ALUcontrol or ALUsrc + ALUcontrol
,因此在 Single Cycle with no piepeline 中必須同時考量
到各式 type 中 各傳輸 signal 的一致性
在 ALU-Control 延遲之前
MemRead :在 DM 延遲之前
MemWrite:在 DM 延遲之前
MemtoReg:以一般狀況中,R type的 MemtoReg 會比 I type 的 MemtoReg 還快接
收,但是給予的signal必須一致
必須在 Mux 延遲之前
branch :在第一個Mux延遲之前
jump :在第二個Mux延遲之前
補上聖經本題目:
http://imgur.com/a/xj578
http://imgur.com/a/uKwq7
http://imgur.com/a/3VIs8
歡迎討論 @@~
--
有一個香錦囊,是從一個神話般的守軍的血屍頂上剝下的。那一次我們部隊遭受從未
有過的頑強抵抗,我們犧牲了三個艦隊,一個裝甲師和無以數計小組推進的敢死排,才摧
毀了那處隘口的碉堡。但是竟然發現,使我們遭受如此慘烈傷亡的守軍,總數只有一人。
士兵們起鬨地在他胸前發現這枚香袋,大家都相信這是一枚具有神奇力量的護身符。
我們把他的頭顱砍斷,取下香袋,剝開,
裡面一張被血浸紅的宣紙竟用漢字娟娟秀秀四個整齊的楷書寫著-「盼君早歸。」
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.4.186
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1479123422.A.499.html
※ 編輯: ken52011219 (36.224.4.186), 11/14/2016 21:58:42
推
11/15 00:28, , 1F
11/15 00:28, 1F
→
11/15 00:29, , 2F
11/15 00:29, 2F
推
11/16 18:58, , 3F
11/16 18:58, 3F
推
11/20 21:16, , 4F
11/20 21:16, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):