看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/CbZfsJI.jpg
答案是False 想請問 edge-triggered 是什麼意思,以及這題錯在哪? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.96.199 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1567359627.A.AC8.html
FXW11314: edge-triggered的意思是在信號改變的瞬間觸發動作 09/02 02:09
FXW11314: mips是在0→1的時候執行write,1→0的時候執行read 09/02 02:09
FXW11314: 舉個例子,考慮這句程式碼: 09/02 02:14
FXW11314: addi $1 $1 123 09/02 02:14
FXW11314: 則CU會在某個clock從1→0的時候把$1的內容讀出來丟給AL 09/02 02:14
FXW11314: U,然後在下一個cycle從0→1的時候寫入$1 09/02 02:14
FXW11314: 因此從頭到尾只需要一個register 09/02 02:14
FXW11314: *只需要一個register file 09/02 04:12
fmtshk: 好像有想起上課講過@@ 09/02 11:01
fmtshk: https://i.imgur.com/V13iNxT.jpg 09/02 11:02
fmtshk: ↑這樣腦補正確嗎? 09/02 11:02
ok8752665: 順便問一下 那structural hazard也可以這樣解嗎 09/02 11:08
ok8752665: 0→1 做Load/Store 1→0讀指令? 09/02 11:08
FXW11314: 圖應該沒錯,簡單來說你可以把register file想像成一個 09/02 15:07
FXW11314: 有入口跟出口兩扇門的房間,這兩扇門不可以同時打開不 09/02 15:07
FXW11314: 然資料會錯誤 09/02 15:07
FXW11314: 如果發生需要打開兩扇門的情況就要用一些方式解決,MIP 09/02 15:07
FXW11314: S的解決方法是edge triggered,就是一半的時間開放入口 09/02 15:07
FXW11314: 一半的時間開放出口 09/02 15:07
FXW11314: 有些架構則是用shadow register之類的方式 09/02 15:07
FXW11314: 然後structural hazard應該是pipeline類型的問題,張凡 09/02 15:58
FXW11314: 上課講得很模糊,實際上可以再分成兩種,第一種是像我 09/02 15:58
FXW11314: 剛剛的比喻,假設register file只有一個門,但是在pipe 09/02 15:58
FXW11314: line的情況下有可能發生兩個人同時要進來的情況,這是 09/02 15:58
FXW11314: 第一種structural hazard也就是張凡上課講的,多開幾個 09/02 15:58
FXW11314: 門就好了 09/02 15:58
FXW11314: edge triggered反而解決不了問題 09/02 15:58
FXW11314: 第二種就是你講的狀況,但是pipeline裡面對register的 09/02 15:58
FXW11314: 存取都需要一整個clock cycle所以也沒辦法分成兩半來用 09/02 15:58
FXW11314: ,我想應該是這樣 09/02 15:58
ok8752665: 所以我問的這種關於memory 的 structural hazard不能靠 09/02 16:10
ok8752665: 增加clock cycle time 讓它可以在一個clock裡面做完嗎 09/02 16:10
mistel: 你有考慮到control unit要怎麼設memWrite跟memRead的訊號 09/02 16:53
mistel: 嗎? 09/02 16:53
mistel: 像lw同時要寫跟讀,所以你在同一個clock下,MemREAD跟Mem 09/02 16:56
mistel: WRITE同時打開的情況下,如果再做IF會不會把奇怪的資料弄 09/02 16:56
mistel: 進memory? 我覺得應該會有問題吧 09/02 16:56
ok8752665: 好吧 09/02 19:34
antagonism: Reg file 可設計成clock的前半週期做寫 後半週期做讀 09/02 23:33
antagonism: 是因為 進出此零件的資料很小 而structure harzard的 09/02 23:33
antagonism: mem若也如此設計的話 例如sw在ME階段 其他指令在IF階 09/02 23:33
antagonism: 段 會造成一個clock cycle過長 因為進出mem的資料可 09/02 23:33
antagonism: 到Gb等級 大大降低pipeline 效能 這樣就失去管線化之 09/02 23:33
antagonism: 目的 09/02 23:33
antagonism: 若是lw在ME 其他指令在IF 他們本來就在搶mem來access 09/02 23:37
antagonism: 因此本來就無法solve by延長clock cycle 09/02 23:37
ok8752665: 瞭解 謝謝 09/03 07:48