ir指令、立即数的作用_指令流水线归纳总结

Pipelining

流水线

中山大学

报告目录

一.      思维导图--------------------------------- 3

二.      课件理解--------------------------------- 4

三.      名词解释--------------------------------- 14

四.      归纳总结--------------------------------- 15

五.      参考文献--------------------------------- 18

六.      附录------------------------------------- 18

二.课件理解

Lecture3回顾

n  微编码:一种有效的技术用于管理控制单元的复杂性,发明于60年代。

n  由于ROM和RAM速度的不同,引入了更多复杂的指令。

n  技术的进步导致产生fast SRAM,使得技术预测失效

n  复杂的指令阻碍了并行与流水的实现

n  简化的指令集具有更好的效率(新VLSI上),也导致微处理器的发展与流行

处理器性能的铁律

n  每个程序中的指令数依赖于源代码、编译技术以及ISA

n  每条指令的周期(CPI)数依赖于ISA和微体系结构

n  每个周期的运行时间依赖于微体系结构和基础技术

典型的5-stage RISC流水线

流水线的同步读写

CPI的示例

n  微编码机器:3条指令,22个周期,CPI = 7.33 > 1

n  非流水线机器:3条指令,3个周期,CPI = 1

n  流水线机器:3条指令,3个周期,CPI = 1

流水线中指令间的相互影响

流水线中的一条指令可能需要另一条指令正在使用的资源

n  结构冲突:Structural hazard

-    流水线中的一条指令可能依赖于前面指令产生的结果

-    这种依赖可能是一个数据值

n  数据冲突(也称为数据依赖):Data hazard

-    这种依赖也可能是下一条指令的地址

n  控制冲突(也称为地址依赖):Control hazard

-    解决策略:通常通过向指令中加入气泡(bubbles)的方式使CPI变大。

流水线CPI示例

测量从第一条指令完成到当序列中的最后一个指令完成

n  3条指令在3个周期中完成,CPI = 3/3 = 1

n  3条指令在个4周期中完成,CPI = 4/3 = 1.33

n  3条指令在5个周期中完成,CPI = 5/3 = 1.67

可见,随着流水线的增多,CPI不断增大。

解决结构性冲突

n  当两条指令同时需要相同的资源时就会出现结构性冲突

可以在硬件通过拖延新的指令,先执行旧指令,后执行新指令的方式解决

n  通过增加硬件设计的方式总是可以避免结构性冲突

例如,如果两条指令同时需要存储器的某部件,我们可以通过增加另一个该部件的方式避免冲突。

n  典型的RISC 5-stage纯整数计算流水线一般没有结构性冲突

多周期单元容易引起结构性冲突,比如在乘法器、触发器、浮点运算单元上面易出现结构性冲突,在寄存器的回写部件上面也容易出现结构性冲突

数据冲突类型

考虑下面一系列register-register指令类型:

n  数据依赖:在这种类型是true data-dependence

n  反依赖:

n  输出依赖:

-    反依赖和输出依赖又称为名称依赖(Name-dependence not the DD)不是真正的数据依赖,在简单的流水线中没有这样的冲突,但在复杂的流水线中可能存在。

n  注:我们必须要保证程序按顺序执行读写

对数据冲突的三种策略

n  互锁Interlock(stall):

-    通过控制问题阶段的依赖指令来等待hazard被清理

n  绕行,回避Bypass(forwarding):

-    尽可能快的在早期通过回避数值来解决hazard

n  预测Speculate :

-    先假设一个值,如果假设错误,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值