Re: [理工] 計組-WAW危障
※ 引述 《bernachom (Terry)》 之銘言:
:
:
:
: 請教一下...WAW只會發生在MIPS和PENTIUM的超管線裡嗎?
:
:
:
: 有一個一小段程式是
:
: lw $s0,12($$1)
:
: add $s4,$s0,$s2
:
: addi $s2,$s0,4
:
: sw $s4,12($s1)
:
: add $s2,$s3,$s1
:
:
: 我的問題是,I2和I4會有WAW嗎??
:
: 我不太清楚,在什麼樣的情況下才會有..
:
: 或是有MIPS的例子可以看嗎?
:
: 謝謝幫忙
:
我又來挖古文了......
我的問題跟這篇很類似
先拿他的code當範例
lw $s0,12($$1)
add $s4,$s0,$s2
addi $s2,$s0,4
sw $s4,12($s1)
add $s2,$s3,$s1
I2跟I4是不是WAW HAZARD,這個疑惑點在看完原留言串後解決了,
我的問題是為什麼I2跟I4可以透過forward ing解決呢?
forwarding不是確保緊接在後面的指令在EX階段上的兩個運算元是正確的值嗎?
但是I4理應要被更新的$s4並不是運算元,而是在MEM才能用到的吧?
也就是說我讓I2做forwarding其實並沒有更新到$S4不是嗎?
原po下面的幾個留言也有提到,但都不是很確定的樣子
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.150.143 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1566468879.A.EE5.html
推
08/22 19:33,
6年前
, 1F
08/22 19:33, 1F
→
08/22 19:33,
6年前
, 2F
08/22 19:33, 2F
→
08/22 19:33,
6年前
, 3F
08/22 19:33, 3F
→
08/22 19:33,
6年前
, 4F
08/22 19:33, 4F
→
08/22 19:33,
6年前
, 5F
08/22 19:33, 5F
→
08/22 19:33,
6年前
, 6F
08/22 19:33, 6F
→
08/22 19:33,
6年前
, 7F
08/22 19:33, 7F
→
08/22 19:33,
6年前
, 8F
08/22 19:33, 8F
→
08/22 19:33,
6年前
, 9F
08/22 19:33, 9F
你的意思是SW的rt的電路圖會進入MUX然後流進mem stage,像下圖這樣對嗎?
https://i.imgur.com/CEDj2cE.jpg

但是原本single cycle機器流進MEMORY WRITE的rt是不會進MUX的,像下圖這樣,我剛剛看p
ipeline的電路圖才發現這裡也有動...
https://i.imgur.com/cfcvEPH.jpg

但是如果電路圖是像第一張圖這樣子,那我進入ALU的這個MUX不是應該選擇常數immediate
的值嗎XD
還是這邊也是前半個cycle多工器選擇immediate,後半個cycle多工器選擇forwarding?
你說的我搞清楚了XD 上面這個小問題感覺不用太糾結就是了
※ 編輯: mistel (223.136.150.143 臺灣), 08/22/2019 20:01:27
※ 編輯: mistel (223.136.150.143 臺灣), 08/22/2019 20:03:25
※ 編輯: mistel (223.136.150.143 臺灣), 08/22/2019 20:03:46
※ 編輯: mistel (223.136.150.143 臺灣), 08/22/2019 20:04:18
推
08/22 20:20,
6年前
, 10F
08/22 20:20, 10F
→
08/22 20:20,
6年前
, 11F
08/22 20:20, 11F
→
08/22 20:20,
6年前
, 12F
08/22 20:20, 12F
→
08/22 20:20,
6年前
, 13F
08/22 20:20, 13F
→
08/22 20:20,
6年前
, 14F
08/22 20:20, 14F
→
08/22 20:47,
6年前
, 15F
08/22 20:47, 15F
討論串 (同標題文章)