看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《wheels ()》之銘言: : ※ 引述《alwayswish (望)》之銘言: : 這題張凡8/7台北班時更正過,改為要加入regs的時間 : 原本不加的原因是資料寫回Reg是會在下一個cycle來的前半段才執行 : 不過因為他問過台清交的學生他們老師都教說要加 : 他就把他改為要加了,因為那些老師才是出題老師XD : 此題的critical path為最長時間的lw來看 : 為IM + Reg + ALU + DM + MUX + Reg = 400 + 200 + 120 + 350 + 30 + 200 = 1300ps : 第一小題問的是MemWrite控制線最晚要在什麼時候設定才不會加長critical path的時間 : 因為主要是問最晚,所以只要不要超過1300ps就不會加長critical path的時間 : 先把1300扣掉400為控制線可以開始被設定(也就是ID階段)為900ps : 因為一定要在資料到達memory之前設定完成 : 所以再把900扣掉memory寫入時間350為550ps ----------------------------- 請問這裡為什麼550ps不用再扣掉(30 + 200) MemWrite不是應該要在 MUX、REG 之前被生產出來嗎? 原題目: http://imageshack.us/f/849/0153h.jpg/ : by the way,第三小題也被更正過 : 用lw看的話資料流不會經過Read data2 : 所以從ID起算將最後16個bits經過Sign Extension和MUX到達ALU的時間為20+30=50ps : 將Rt經過Reg到達ALU的時間為200ps : 所以要在200 - 30 = 170ps前設定完ALUSrc這根線 : 要在200 - 50 = 150ps前設定完ALUOp這兩根線 : 所以ALUOp這兩條線是要最快被generate的! : : 上面那題是 最長的cycle 指令 LOAD : : 下面那題是 STORE指令 所以不用 Reg write : : I mem reg read ALU men write reg write : : r-type o o o o : : lw o o o o o : : sw o o o o : : beq o o o : : jum o : : 畫得好爛= = : : 看得懂就好.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.237.64 ※ 編輯: TokiyoHot 來自: 140.123.237.64 (11/17 01:37)
BaaaSwin:因為sw指令不會用到那兩個元件 11/17 01:44
BaaaSwin:sw到MEM而已 11/17 01:44
TokiyoHot:可是這樣不會影響到sw指令的執行嗎,SW:IM+REG+ALU+DM 11/17 02:01
TokiyoHot:不是應該在DM之前用好,這樣不算IM的時間,不是應該只有 11/17 02:03
TokiyoHot:REG+ALU=320p的時間可以用來產生MemWrite,這樣才來得及 11/17 02:04
TokiyoHot:執行sw 11/17 02:04
Bearcome:這是single-cycle machine 一個cycle就是最長(lw)的時間 11/17 09:31
Bearcome:只要在900ns前做完就行了 11/17 09:40
TokiyoHot:感謝 11/17 18:46