为什么按序流动只可能出现RAW即写后读相关?

1 补充知识

1.1 区分两种流动

  • 按序流动:意为,若1指令比2指令先发出,则1指令取操作数在2取操作数之前,且1指令写回结果在2写回结果之前
  • 非按序流动:意为,虽然1指令比2指令先发出,但2指令取操作数/写回结果 这两种操作 都可能 在1指令取操作数/写回结果 这两种操作之前

1.2 各种相关的含义

  • RAR读后读:无影响

    (以下三种皆属于数据冲突,又称数据相关)

  • RAW写后读:means本应先1写后2读,但→先2读后1写,此时2读到错误的旧数据(简单理解为出现了错误的读后写

  • WAR读后写:means本应先1读后2写,但→先2写后1读,此时1读到错误的新数据(简单理解为出现了错误的写后读

  • WAW写后写:means本应先1写后2写,但→先2写再1写,此时只保留了1写的错误旧数据(简单理解为出现了错误的写后写

2 疑问解答

2.1 非按序流动产生的RAW相关,WAR相关,WAW相关是怎样的?

  • RAW相关:2指令的取数操作在1指令的写回操作前面进行
  • WAR相关:2指令的写回操作在1指令的取数操作前面进行
  • WAW相关:2指令的写回操作在1指令的写回操作前面进行

2.2 为什么按序流动只可能出现RAW即写后读相关?

  • 讨论RAW相关:因为按序流动,只有2指令的取数操作可能在1指令的写回操作前面,进而可能出现错误的读后写(RAW相关)
  • 讨论WAR相关:而2的写回不可能在1的取数前面,所以不会出现错误的写后读(WAR相关)
  • 讨论WAW相关:2的写回不可能在1的写回前面,所以不会出现错误的写后写(WAW相关)
  • 45
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值