流水线处理器冲突问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流水线处理器
–取指(Fetch)
–译码分析(Decode)–执行
–存储器操作
–写回
Time (ps)
Instr Fetch
Instruction
Decode Read Reg
Execute
ALU
Memory Read / Write Write Reg
0100200300400500600
700
800
900
110012001300140015001600170018001900
1000Instr Fetch Instruction
Decode Read Reg
Execute ALU
Memory Read / Write Write Reg
Fetch Instruction
Decode Read Reg Execute ALU
Memory Read/Write Write Reg Fetch Instruction
Decode Read Reg Execute ALU Memory Read/Write Write
Reg
Fetch Instruction
Decode Read Reg Execute ALU
Memory Read/Write
Write Reg
Time (cycles)
lw $s2,40($0)
RF 40
$0RF
$s2
+
DM
RF $t2
$t1RF
$s3
+
DM
RF $s5
$s1RF
$s4
-
DM
RF $t6
$t5RF
$s5
&
DM
RF 20
$s1RF
$s6
+
DM
RF $t4
$t3RF
$s7
|
DM
add $s3, $t1, $t2sub $s4, $s1, $s5and $s5, $t5, $t6sw $s6, 20($s1)or $s7, $t3, $t4
1
2
3
4
5
6
7
8
9
10
add
IM
IM
IM
IM
IM
IM
lw
sub
and
sw
or
–数据冲突–控制冲突
–化解冲突
Time (cycles)
$s0RF $s3
$s2RF
$s0
+
DM
RF $s1
$s0RF
$t0
&
DM
RF $s0
$s4RF
$t1
|
DM
RF $s5
$s0RF
$t2
-
DM
$s0$s0$s0and
IM
IM
IM
IM
add
or
sub
Time RF $s3
$s2RF
$s0
+
DM
RF $s1
$s0RF
$t0
&
DM
RF $s0
$s4RF
$t1
|
DM
RF $s5
$s0RF
$t2
-
DM
and
IM
IM
IM
IM
add
or
sub
RF
RF
DM
nop
IM
RF
RF
DM
nop
IM
Time RF $s3
$s2RF
$s0
+
DM
RF $s1
$s0RF
$t0
&
DM
RF $s0
$s4RF
$t1
|
DM
RF $s5
$s0RF
$t2
-
DM
and
IM
IM
IM
IM
add
or
sub
Time
RF 40
$0RF
$s0
+
DM
RF $s1
$s0RF
$t0
&
DM
RF $s0
$s4RF
$t1
|
DM
RF $s5
$s0RF
$t2
-
DM
and
IM
IM
IM
IM
lw
or
sub
Trouble!