看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《MVPkobe (每一口氣都要活出誓約!!)》之銘言: : [2.1] : 指令 ALUop : lw 00 : sw 00 : BEQ 01 : R-type 10 : 看不太懂解答是什麼意思? : 因為ALUop1 = 0 R-TYPE指令都不能做 : 只能做ALU的加法或減法(lw sw與beq裡的運算) : 至於要怎麼區分要用R-TYPE裡的哪種指令 : 就要看指令裡的Function code : 100000 = Add : 100010 = Sub : 100100 = AND ...之類的 : 再傳不同的信號給ALU ㄜ 我想你可能誤會我的意思了 我的想法是解答為何只排除了R-type中的sub, 為何不能連addㄧ起排除呢? 因為ALUop 00也是可以直接執行加法的 : [2.2] : 本來就是只有sw才會給寫入MEM : 其他雜七雜八指令都是MemWrite = 0 : 所以答案沒錯,在sw裡會出錯 : 這個題目是在問說給這些控制信號會在哪些指令下有錯誤 : 是這樣解釋沒錯吧? 感覺解答怪怪的 是的,至少我的理解是這樣XD : [3][4] : 都是multicycle的部份吧? : 張凡說multicycle的再第四版已經刪掉了所以跳過 : [5] 感謝解惑XD~ : [6] : 去減少cycles對於整體總時間沒有用 : 總時間是(stage-1+N個指令)x(clock cycle time) 決定的 : 應該說無法減去cycle因為ALU運算要把資料回傳給register需要WB這一步驟 : 而設計就是5個cycles所以不能減去 這有ㄧ個問題, 因為題目本身就是在討論能否跳過Beq jump R-type的MEM Stage 所以必須假設如果省去了會得到什麼結果,以及不能省去會得到什麼樣的結果 當然了 他給了ㄧ組沒有lw及sw的前提,來做省去MEM stage的動作 所以並不是說設計5 state就不能省去囉 不過現在我認為作者看到了這題在文句上敘述的漏洞 因為1 cycle其實也是節省,也是有效益的但是非常少 而且少的可憐, 對照題目的3選項,實在讓我不知該選的好 還是不選的好... 最後就是他在4ed把3的選項刪掉了.... XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.187.85
privatewind:對了第四題其實也有問singal-cycle的MemRead 因為情況 08/09 17:15
privatewind:相同 08/09 17:15
privatewind:single-cycle.. 08/09 17:17