作者terry8575 (豪哥)
看板Grad-ProbAsk
標題[理工] 計組 single-cycle machine
時間Sun Apr 19 09:26:38 2020
想請教一下這題的第(2)(3)小題
https://i.imgur.com/aYU8Jr0.jpg
https://i.imgur.com/UUbNaEJ.jpg
好像是要分別求出最寬鬆和最急迫的control signal
解答部分看得不是很懂
為什麼第2題要的是Jump 指令啊?
是因為他會用到的control signal 最少嗎?
我看解答是把最長的lw(1300)去減掉I-Mem (400)跟 Mux(30) ,剩下的部分就是題
目要求的執行時間了這樣嗎?
還有第三題我覺得滿難理解題意的,
我記得老師上課有說要找最快被產生的,可是想了很久還是不懂意思...
看了後面解答怎麼一開始直接就寫說ALUOp、ALUSrc是most critical 了呢??
是如何判斷出來的呀?
後面的算式想了整晚還是讀不懂
附上課本前面的圖:
https://i.imgur.com/XQnVrnT.jpg
懇請版上的學霸大神幫忙了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.41.40 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1587259600.A.02F.html
※ 編輯: terry8575 (101.12.41.40 臺灣), 04/19/2020 13:07:27
1F:推 z000000000: 2.題目要找最寬鬆(時間最長)產生control signal的方法04/23 00:33
2F:→ z000000000: ,因為每個指令都會經過解碼,所以會先扣掉解碼(I-MEM04/23 00:33
3F:→ z000000000: )的時間,之後再找哪一個logic block時間最短者。04/23 00:33
4F:→ z000000000: 可以看到經過MUX時間最短,再扣掉MUX即是control sign04/23 00:33
5F:→ z000000000: al產生的時間,而會是jump指令的原因在於datapath符合04/23 00:33
6F:→ z000000000: 只通過I-MEM和MUX。04/23 00:33
7F:→ z000000000: 3.ALU op和 ALU src是最早碰到control signal的,反之04/23 00:33
8F:→ z000000000: 如果是RegWrite和RegDst,是要在最後WB,把指令寫回re 04/23 00:33
9F:→ z000000000: gister 那一步才會用到並設為1。04/23 00:33
10F:→ z000000000: 如果哪裡有錯煩請糾正QQ04/23 00:33
謝謝大大! 您解釋的好清楚!
但我還是有一點點問題想請教...
就是關於RegDst的部分, 不是只有在lw、sw指令時才會設1嗎?
而一開始I-Mem解碼完後知道指令的當下不是也會直接設定RegDst 的值了嗎?
還是說RegDst其實會跟RegWrite 一樣在WB回來時才會去做0/1設定呢?
另外有一個想再請教的部分,
是關於第3題的a, b小題,
弱弱的問為什麼ALUOp、 ALUSrc要用ALU control 和 MUX 去比較來選擇呢?
a小題後面為什麼要把230減掉50?
b小題為什麼直接就是220了呀?
抱歉我問題有點多....
※ 編輯: terry8575 (101.12.41.40 臺灣), 04/23/2020 10:32:19
11F:→ terry8575: 我再來想看看好了 04/23 17:48