作者mistel (Mistel)
看板Grad-ProbAsk
标题Re: [理工] 计组-WAW危障
时间Thu Aug 22 18:14:37 2019
※ 引述 《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://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1566468879.A.EE5.html
1F:推 mi981027: 先确认一下 这题应该是RAW的Hazard对吗@@08/22 19:33
2F:→ mi981027: 只要走正常的MEM Hazard解决方法就行了吧08/22 19:33
3F:→ mi981027: sw跟add差两个stage, 当他们分别在id/ex, 跟mem/wb时,f08/22 19:33
4F:→ mi981027: orward unit会侦测到RAW Hazard, 判断式课本有08/22 19:33
5F:→ mi981027: 当sw进到EX後,rt会遇上mux,选择要流到ALU的值应该是08/22 19:33
6F:→ mi981027: 原本的rt, ex/mem传回来的值, 或wb传回来的值08/22 19:33
7F:→ mi981027: 选wb传来的值就行了08/22 19:33
8F:→ mi981027: 即时他是sw, 这个stage没有要用也没差,因为sw的rt在EX08/22 19:33
9F:→ mi981027: 时本来就会另外走一条路送到mem stage08/22 19:33
你的意思是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
10F:推 mi981027: 课本这张图少画了一个选imm跟rt的mux了XD 08/22 20:20
11F:→ mi981027: 这张应该只是想介绍forward的概念而已,如果是完整的图 08/22 20:20
12F:→ mi981027: rt在EX会遇上两个mux,先选正确的rt, 再选应该要用imm 08/22 20:20
13F:→ mi981027: 还是用rt的值计算 08/22 20:20
14F:→ mi981027: 但不管如何,rt都会另外牵线送到mem,这是不变的 08/22 20:20
15F:→ mistel: 哦哦哦,了解了,感谢你! 08/22 20:47