流水线数据相关与冒险

流水线数据相关与冒险(冲突)

在组成原理中,流水线相关包含数据相关,结构相关,控制相关,这里的相关在体系结构中应该称作为冲突(或冒险),实际上相关和冲突在含义上有一些不同

在体系结构中有 3 种不同类型的相关:数据相关(也叫真数据相关)、名相关控制相关

数据相关

若:

  • 指令 i 生成的结果可能会被指令 j 用到
  • 指令 j 数据相关于指令 k,指令 k 相关于指令 i

那么指令 j 数据相关于指令 i

要说明的是,数据相关可能会导致数据冒险

名相关(名称相关)

当两条指令使用相同的寄存器或存储器位置(称为名称),但与该名称相关的指令之间没有数据流动时,就会发生名相关

  • 当指令 j 对指令 i 读取的寄存器或存储器位置执行写操作时,会发生反相关
  • 当指令 i 和指令 j 对同一个寄存器或存储器位置执行写操作时,会发生输出相关

由于没有在指令之间传递值,所以反相关和输出相关都是名称相关,与真数据相关相对。因为名称相关不是真正的相关,因此如果改变这些指令中使用的名称,使这些指令不再冲突,这些指令便可以同时执行,或者重新排序。

控制相关

控制相关决定了指令 i 相对于分支指令的顺序,使指令 i 按正确程序顺序执行,而且只会在应当执行时执行。
一般是分支跳转指令会产生控制相关

数据冒险(数据冲突)

  • 写后读(RAW),与真数据相关对应
  • 写后写(WAW),与输出相关对应
  • 读后写(WAR),源于反相关,或名称相关
  • 读后读(RAR),不是冒险

参考文献:《计算机体系结构:量化研究方法》第五版

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值