→ shownlin: 對了這是張凡上冊 p.476練習題04/23 21:22
→ shownlin: 還有全部是在問part a的情況04/23 21:29
※ 編輯: shownlin (101.13.48.122), 04/23/2017 22:52:52
推 momoko0581: 1.解感覺有誤曲 如果用nop 04/24 00:58
→ momoko0581: 2.因為add指令在EXE就計算完 04/24 01:00
→ momoko0581: 就算不用傳經MEM值還是一樣 04/24 01:00
→ momoko0581: 因為他不是 lw/sw有mem位置 04/24 01:01
→ momoko0581: 問題 所以可以直接pass使用 04/24 01:01
推 momoko0581: 補充1.它們確實都造成hazard 04/24 01:05
→ momoko0581: 只是剛好I2 I3間差2nop 同時 04/24 01:06
→ momoko0581: 可以解決 但不表示它不是data 04/24 01:07
→ momoko0581: hazard 04/24 01:07
推 gary70812: 所以是add在exe計算完後存到IF/ID的register嗎? 04/24 02:07
所以Data Hazard跟Data Dependency是一樣的東西嗎?
因為我以為發生hazard就代表一定會有penalty存在...
另外第二題就是要想成MEM1跟MEM2兩個都有各自的pass路徑囉?
原本是想成原本的forwarding因為一分為二,
所以bypass的路徑一定是落在MEM1或MEM2其中一個階段...
所以是指原本的EX Hazard 和 MEM Hazard之外又多了一條pass的路徑?
※ 編輯: shownlin (220.135.175.163), 04/24/2017 03:56:46
→ momoko0581: add在exe後 值還是要穿過MEM再WB回IF File 04/24 17:23
→ momoko0581: 有Dependency但不一定會有Hazard 04/24 17:24
→ momoko0581: 路徑是先過Mem1再過Mem2 但Path有forward Unit 在 04/24 17:26
→ momoko0581: EXE和Mem Stage中都會有拉線路 因為規格是要執行MIPS 04/24 17:27
→ momoko0581: 每一道指令 路徑IF>ID>EXE>Mem1>Mem2>WB 課本這麼寫的 04/24 17:28
→ shownlin: 所以MEM1跟MEM2不管哪個階段都可以看成可以有forwardin 04/24 19:00
→ shownlin: g path嗎 04/24 19:00
→ shownlin: 那我大概知道了 04/24 19:01
→ momoko0581: 原本單元是Data Mem(Mem Unit) 切成兩個整理還是Data 04/24 20:03
→ momoko0581: Mem 指令在跑Path的原理和原本只有單一Mem是一樣的 04/24 20:05
→ momoko0581: 只是切Mem好處單一clock可能降低 但整理管線拉長 04/24 20:06
→ momoko0581: penalty會增加 04/24 20:07