42指令的动态调度静态调度:在出现数据相关时,为了消除或 者减少流水线空转,编译器确定并分离出程 序中存在相关的指令,然后进行指令调度, 并对代码进行优化。动态调度:通过硬件重新安排指令的执行顺序, 来调整相关指令实际执行时的关系,减少处理 器空转。以硬件复杂性的显著增加为代价。 第四章 指令级并行421 动态调度的原理 到目前为止我们所使用流水线的最大的局限性:指令必须顺序流出看下面一
第四章 指令级并行主要内容41指令级并行的概念42指令的动态调度43控制相关的动态解决技术44多指令流出技术42指令的动态调度编译器本质上通过对每个循环迭代中寄存器重命名来展开循环硬件也可通过寄存器重命名和乱序执行来获得同样的效果动态调度记分牌Tomasulo’s算法冒险的检测和调度如果存在数据相关,硬件检测机制会做如下的事情知道相关消除动态调度暂停指令停止取指令和发射指令静态调度(开始于60s,
第四章 指令级并行主要内容41指令级并行的概念42指令的动态调度43控制相关的动态解决技术44多指令流出技术Tomasulo算法产生的背景IBM 360/91比CDC6600晚三年推出商业计算机使用Cache技术之前整个360系列仅一个指令系统和一个编译器要求具有很高的浮点性能,但不是通过高端机器的专用的编译器实现只有四个双精度浮点寄存器,编译器调度的有效性受到很大限制访存时间和浮点计算时间都很长
#
#
41指令级并行的概念当指令之间不存在相关时,它们在流水线中是可以重叠起来并行执行的。这种指令序列中存在的潜在并行性称为指令级并行。(Instruction-Level Parallelism,简记为ILP)本章研究:如何通过各种可能的技术,获得更多的指令级并行性。(硬件技术和软件技术)必须要硬件技术和软件技术互相配合,才能够最大限度地挖掘出程序中存在的指令级并行。第四章 指令级并行1流水线处理器的
#
HauptteiltextZweite EbeneDritte EbeneFolientitelDate:File:PRO2_ S7Siemens AG 2001. All rights Training for Automation and Drives状态位指令S7-CPU 的寄存器和存储器区域累加器ACCU1ACCU4ACCU3ACCU2仅适用于S7-400AR2AR1地址寄存器打开的 D
44 多指令流出技术一个时钟周期内流出多条指令, CPI<1。 多指令流出处理器有三种基本结构:超标量(Superscalar)每个时钟周期流出的指令数不定,它既可以通过编译器静态调度,也可以通过记分牌或Tomasulo算法动态调度, 超流水(Super Pipeline)将每个功能部件进一步流水化,特别是取指令或指令流出被分解为多个段,使得一个功能部件在一拍中可以处理多条指令。第四章
实验六 指令调度1.实验目的: 通过本实验加深对指令调度的理解了解指令调度技术对CPU性能改进 的好处2. 实验内容: (1) 通过Configuration菜单中的Floating point stages选项把除法单 元数设置为3把加法﹑乘法﹑除法的延迟设置为3个时钟周期 (2) 用WinDLX模拟器运行调度前的程序 记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数
违法有害信息,请在下方选择原因提交举报