看板 Grad-ProbAsk 關於我們 聯絡資訊
http://i.imgur.com/35JOaYB.jpg 想問一下第七題該怎麼解釋呢? 看不太懂題目QQ http://i.imgur.com/3ybNH0M.jpg 上面那題軟體偵測overflow 想問一下有號數bne一下三個指令要怎麼解釋呢? 還有無號數的nor要怎麼推出2^32-t1-1? 第一次看張凡的書還是不太懂QQ 下面那個lw的時間我算1470耶 為什麼mux只要算一次呀,reg的rt寫入跟ALU的addr這樣不是兩個嗎? PC+4這個地方是每個指令都要算嗎?還是只有beq需要而已? Sign-extend同樣的問題 http://i.imgur.com/a7gfl1Z.jpg 這裡想問一下don't care跟不執行要怎麼判斷 ADD的mem部份基本上是不會執行的,那麼0跟don't care會有什麼差異呢? 下面的Data hazard,6跟7的t4不會發生嗎? 問題有點多,再麻煩各位大大QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.88.28 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1485874701.A.531.html
lingege32: 第七題的意思是 這段assembly code翻譯有錯 錯在哪 答01/31 23:30
lingege32: 案有四個敘述 哪個是錯誤的原因 選那個01/31 23:30
lingege32: 例如b 意思是說 ra暫存器在這段程式碼的頭尾要做存跟01/31 23:30
lingege32: 取的動作 但題目沒有做所以 這選項指出了一個錯誤 所01/31 23:30
lingege32: 以要選01/31 23:30
AucK: dont care只會出現在RegDst 和MemToReg01/31 23:35
謝謝A大,但是還是想問一下如果Add的MemRead=1會發生什麼事情呢? 因為Add不會用到Mem這樣會有關係嗎?
lingege32: overflow那個主要在比sign bit 相加完後的數字如果跟01/31 23:37
lingege32: 原本數字的sign 不同則overflow,所以t0是sum 和 t1 x01/31 23:37
lingege32: or ,如果sign bit 不同,則t3之sign就會是1 就比0小01/31 23:37
lingege32: 則會跳到overflow01/31 23:37
lingege32: 答案有解釋01/31 23:40
lingege32: 而把0 和t1 nor起來就是t1 bar01/31 23:40
joeboy: 謝謝l大解釋,那想再問一下無號數的overflow他給一個2^3201/31 23:52
joeboy: -1這個是怎麼得到的呢?nor完就會得到的嗎?01/31 23:52
※ 編輯: joeboy (42.73.88.28), 01/31/2017 23:57:43
aa06697: memRead = 1 就會去讀mem內的值了呀 就可能會出錯 02/01 00:09
aa06697: 至於會讀什麼 讀到哪 就要看你add的機器碼切成I type長怎 02/01 00:10
aa06697: 樣 02/01 00:10
joeboy: 可是我讀了之後,後面的多工器是設定讓ALUresult過,這樣 02/01 00:38
joeboy: 也不行嗎? 02/01 00:38
myandy408: 其實是可以X的但課本直接看有無讀取memory來判斷 02/01 04:18
myandy408: 所以就依照課本寫 02/01 04:19
yupog2003: memRead = 1的話也許會多浪費時間? 02/01 07:46
yupog2003: 保證不浪費時間的話設0也許是最保險的,我猜拉 02/01 07:46
iPhone87s: pipeline 中 read不read 時間上應該是一樣的 02/01 08:45
joeboy: 我還是背下來好了,反正don't care 只有兩個 02/01 08:49
joeboy: 話說下面的data hazard有人知道嗎 02/01 08:49
ken52011219: don't care 的原因是因為 一般regdst 和memtoreg 02/01 09:04
ken52011219: 都是「最後」才傳送signal 也沒問題 02/01 09:05
ken52011219: 發想來源是從Multi cycle 的data path 圖可以看出 02/01 09:06
ken52011219: https://i.imgur.com/mWXHWpT.png 02/01 09:07
ken52011219: 你可以從這張圖看到 Control Unit 與 regdst 以及 02/01 09:07
ken52011219: memtoreg是平行的,這可以理解成 control unit 需要 02/01 09:08
ken52011219: delay time , 因此無法在此時傳輸regdst or memtoreg 02/01 09:09
ken52011219: 也可以理解成在multicycle中其實只要在寫回之前 02/01 09:10
ken52011219: 再傳送即可 02/01 09:10
ken52011219: 回到BEQ 為何對此兩種 signal don't care 02/01 09:11
ken52011219: 因為它根本不需要Write back 意思是 02/01 09:11
ken52011219: 「它根本不需要用到regdst or memtoreg 即可完成beq 02/01 09:12
ken52011219: 這部分我印象張凡沒講,聖經本也對multicycle沒有琢 02/01 09:13
ken52011219: 磨,是我自己當初看multi cycle data path 理解的 02/01 09:13
joeboy: 想問一下k大這裡的平行說的是什麼意思呢?訊號嗎 02/01 09:35
ken52011219: 摁.. 以這張圖來說,你會看到control unt 和其他兩個 02/01 09:37
ken52011219: mux 都在同一條直線上 ,我剛剛說的不太好 02/01 09:38
joeboy: 謝謝k大,我再琢磨一下 02/01 09:53
ken52011219: 稍微想了一下,Pipeline beq也不會使用這兩個signal 02/01 10:31
ken52011219: 就不用特意繞到multicycle去想了 02/01 10:32
aa06697: 6是sw 6,7的t4連data dependency都沒有 02/01 16:27
joeboy: 為什麼sw不會有dependency 02/02 20:30