第3章-1流水线技术教程.pptx

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章-1流水线技术教程

1; 附录A 流水线技术;3;4;5;;;8;流水线设计者:平衡每个流水段的时间,使之等长。 因此,每条指令在流水线的平均时间在理想情况下为:;10;11;12;13;14;三、非流水线方式下RISC指令系统的实现;多周期实现 Multi-cycle implementation;17;18;19;20;21;22;多周期实现;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;A.2 流水线的主要障碍—流水线冒险(相关) ;一、冒险分类与有停顿流水线性能;冒险分类;数据冒险:例子;冒险总是可以用停顿解决;Bubble;有停顿的流水线性能;非流水线是多周期实现的情况;有: Clock cycle unpipelined = Clock cycle pipelining ;二、结构冒险:流水段竞争;寄存器堆的多重访问;在一个时钟周期WB段先写,ID段后读;多重访问单端口存储器;插入停顿 Stall;无结构冒险机器的CPI更低;;没有完全流水化的功能部件: 可能引起结构冒险 ;为什么允许结构冒险?;结构冒险总结;三、 数据冒险;数据冒险;数据冒险:例子;寄存器堆WB段先写,ID段后读;提出的解决方法;Bubble;怎样停顿? 增加硬件互锁(Interlock) !;互锁: 插入 stalls ;Forwarding (前推、直通、转发、相关数据通路);直通技术:减少数据冒险停顿;Forwarding的硬件变化;Forwarding 的其他输入路径;Forwarding 不能解决的问题;插入stall: Load stall;Forwarding的硬件变化;Forwarding 和 Load 延迟例子;解决方法:没有forwarding;解决方法:forwarding;Forwarding 的其他输入路径;load stall的性能影响 ;不同测试程序中load 产生stall的比例;编译器重排序避免load stall;数据冒险总结;86;四、控制冒险;流水线冒险;控制冒险;例子: Branches;回忆:基本流水线通路;控制冒险;处理控制冒险;回忆:插入 stalls解决冒险 ;流水线状态;冻结或 冲刷流水线;转移Stalls 会造成大的性能损失;总是停顿——降低了转移不发生的性能;假设转移不发生会怎样?;预测转移未选中(Predict –not-taken);如果转移是发生的会怎样?;如果转移是发生的会怎样?;另一种方法:假定转移选中;预测转移选中(Predict –taken);转移选中:转移地址提前计算;预测转移选中的流水线状态;转移未选中/选中的问题;将转移计算提前;将转移计算提前更早;提早后结果:MIPS改善后的数据通路;冲刷 : 只需插入one stall解决控制冒险 (硬件固定);为什么“浪费”取到的指令?;预测转移未选中predict-not-taken(硬件固定);转移延迟(Delayed branch);转移延迟槽;怎样调度代码?三种策略;例子:重写代码 (a);例子:重写代码(b-1);例子:重写代码(b-2);调度策略对比性能改善;转移延迟的限制;撤销功能;带有撤销功能的转移预测 (图A.14 (b)调度策略);124;Efficiency of delayed branch ;关于转移延迟;4种方案的性能比较;4种情况的流水线状态;比较结果 ;Pipeline hazards;控制冒险总结

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档