看板 Grad-ProbAsk 關於我們 聯絡資訊
[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 [2.2] 本來就是只有sw才會給寫入MEM 其他雜七雜八指令都是MemWrite = 0 所以答案沒錯,在sw裡會出錯 這個題目是在問說給這些控制信號會在哪些指令下有錯誤 是這樣解釋沒錯吧? 感覺解答怪怪的 你後面是問jump在ALU裡面的控制信號? jump不會通過ALU 它是把[25:0] 往左位移 2 bit變成 [27:0],和PC+4[31:28]會合後 控制單元在輸出 jump = 1 到一個MUX裡 再回到PC [3][4] 都是multicycle的部份吧? 張凡說multicycle的再第四版已經刪掉了所以跳過 [5] 應該這樣說 若把MUX放在暫存器之前跟單一時脈一樣的話 lw要把rd right back的時候 因為MUX在ID裡的緣故 寫入暫存器的號碼會變成是由IF/ID所提供的,而非lw指令所要保留的 好比說下面這四個指令 add lw sw sub 當add要WB給register的同時,sub也把它自己的暫存器號碼給register 就產生錯誤了 若你問的意思不是這個,只是單純想把MUX往前拉到ID的步驟 設計的理念是 pipeline在IF/ID管線暫存器中解完碼產生所有必要之控制信號後 IF/ID才會傳指令給管線控制單元 因此控制信號都得在ID/EX、EX/MEM、MEM/WB這三個管線暫存器 MUX也就不會待在ID中了 [6] 去減少cycles對於整體總時間沒有用 總時間是(stage-1+N個指令)x(clock cycle time) 決定的 應該說無法減去cycle因為ALU運算要把資料回傳給register需要WB這一步驟 而設計就是5個cycles所以不能減去 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.217.216 ※ 編輯: MVPkobe 來自: 118.166.217.216 (08/09 16:38)
serflygod:第四版把多重時脈刪掉了,有沒有可能明年再考? 08/09 16:27
privatewind:沒人說的準 顆顆 XD 08/09 16:41
MVPkobe:張凡是說縣再也買不到第三版的所以沒道理去考第三版 08/09 16:43
MVPkobe:第2.3提請忽略吧 解答提的部份好像都是multicycle的 08/09 16:46
MVPkobe:難怪我看起來很怪XD 08/09 16:46
serflygod:不好意思打擾問一下,第三版跟第四版聽說差異最大的是管 08/09 16:47
serflygod:線部份,所以如果像我這樣的重考生,只要把管線部份重唸就 08/09 16:48
serflygod:好了嗎?還是其他地方也改很多? 08/09 16:48
MVPkobe:我想你去graduate版問問會更清楚吧!聽說改很多 我也沒買 08/09 16:52
MVPkobe:第四版 08/09 16:52
serflygod:樓上沒買的原因是因為已經考完了嗎? 08/10 09:23
sneak: 不好意思打擾問一下,第 https://daxiv.com 10/24 12:09
sneak: 第2.3提請忽略吧 解 https://noxiv.com 12/15 00:22