作者privatewind (傷神客)
看板Grad-ProbAsk
標題Re: [理工] [計組] 處理器的問題
時間Mon Aug 9 17:12:00 2010
※ 引述《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