编译器概述-指令调度的概念

 pipeline指令流水线

假设每个指令为了得到结果都有一个周期 
load为3周期
mult为2周期
div为5周期
store为2周期
add为1周期

注意:这里的周期可以理解为占用的cpu运算资源时间

1        3        load a \rightarrow r1
2        4        load b \rightarrow r2
5        6        mult r1,r2 \rightarrow r3
6        8        load c \rightarrow r4
7        9        load d \rightarrow r5
10      14      div r4,r5 \rightarrow r6
15      15      add r3,r6 \rightarrow r7
16      17      store r7 \rightarrow x

可以看到 第一个load从周期1开始到3经历了1 2 3 三个周期
第二个load不依赖于第一个load 所以不需要等待第一个load执行完毕 就可以直接开始执行
第三个mul

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值