看板 Grad-ProbAsk 關於我們 聯絡資訊
題目: https://i.imgur.com/6SaiTCR.jpg 解答: https://i.imgur.com/a7smcD4.jpg 想請問解答的b ALUop1 stuck at 0時,R-type除了加法以外都不行是因為要考慮lw和sw 的加法運算嗎? 如果是因為這樣的話,不知道為何beq的減法沒算在裡面? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.227.97 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1524927162.A.333.html
maple205: 因為你卡在0的時候,不管是lw/sw剛好ALU都在做加法算記 04/28 23:21
maple205: 憶體位置 04/28 23:21
maple205: 所以R type如果剛好要做加法就會對 04/28 23:21
maple205: 因為題目說此電路只會出現1個錯誤 04/28 23:24
maple205: 所以你op1錯卡0時,op0是正確的也是0 04/28 23:25
maple205: beq是01,不用考慮進去 04/28 23:26
maple205: 推文講得有點亂,希望你有看懂XD 04/28 23:27
我的盲點應該是在 beq的ALUop是01,這邊ALUop1固定0了,但是若ALUop0是1那不就 可執行beq了嗎?(因為題目說只有一個地方會錯,所以ALUop0可以是1) 可執行beq的 話,ALU就進行減法運算了。不知道我想法是錯在哪裡~ ※ 編輯: SIGNAL2017 (118.169.227.97), 04/28/2018 23:57:17
maple205: 可以啊 所以beq不會出問題 04/29 00:02
maple205: 只有R type會出問題啊!因爲R是10結果變00 04/29 00:04
SIGNAL2017: 疑 那不就代表減法也沒問題了? 因beq的ALU做減法 04/29 00:05
maple205: 當你做R時不用考慮beq因為不會壞成01啊 04/29 00:06
SIGNAL2017: 阿...我知道了 04/29 00:06
maple205: 你R type原本是什麼?10對吧? 04/29 00:07
maple205: 你只能壞一根,所以只能00永遠不會01 04/29 00:07
maple205: (壞op1的情況下) 04/29 00:08
SIGNAL2017: 是從10壞掉變00去看,若原本是R壞掉變00則只能做加法? 04/29 00:09
SIGNAL2017: 所以不會是beq01的減法 因為不會變成01 04/29 00:10
maple205: 對!因為00剛好是lw/sw,瞎貓碰到死耗子 04/29 00:10
maple205: 剛好是加法 04/29 00:10
SIGNAL2017: 恩恩 感謝 04/29 00:13