高等计算机系统结构指令级并行处理
高等计算机系统结构
指令级并行处理
(第二讲)
程 旭
2013年3月25日
北京大学微处理器研究开发中心 北京大学计算机系统结构研究所
复习: 三种数据冒险
对于执行如下类型的指令序列:
r (r ) op (r )
k i j
真数据相关(True Data-dependence)
r (r ) op (r ) Read-after-Write
3 1 2
r (r ) op (r ) (RAW) hazard
5 3 4
反相关(Anti-dependence)
r (r ) op (r ) Write-after-Read
3 1 2
r (r ) op (r ) (WAR) hazard
1 4 5
输出相关(Output-dependence)
r (r ) op (r ) Write-after-Write
3 1 2
r (r ) op (r ) (WAW) hazard
3 6 7
北京大学微处理器研究开发中心 北京大学计算机系统结构研究所
数据冒险示例
dest src1 src2
I1 DIVD f6, f6, f4
I2 LD f2, 45(r3)
I3 MULTD f0, f2, f4
I4 DIVD f8, f6, f2
I5 SUBD f10, f0, f6
I6 ADDD f6, f8, f2
先写后读冒险(RAW Hazards)
先读后写冒险(WAR Hazards)
写写冒险(WAW Hazards)
北京大学微处理器研究开发中心 北京大学计算机系统结构研究所
复杂指令流水线
ALU Mem
IF ID Issue WB
Fadd