还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
指令动态调度指令动态调度是指在执行阶段实时地重排指令,以最大化处理器资源的利用率,提高程序执行效率什么是指令动态调度?定义目的关键指令动态调度是指在程序最大程度利用处理器资源,实时、动态的判断和调整执行过程中,对指令进行提高程序性能和效率指令执行顺序,以解决数实时调度和重排序的一种据相关性和控制相关性的技术问题动态调度和静态调度的区别动态调度1实时地对指令进行调度和重排序,根据当前的系统状态进行优化,灵活适应不同的程序和环境静态调度2在编译或汇编阶段对指令进行调度和重排序,固定的顺序,不灵活常用的调度方法执行执行超标量执行In-Order Out-of-Order按照指令在程序中的顺序,根据指令之间的相关性和依同时执行多条指令,充分利依次执行,保持指令的原有赖关系,灵活地调整指令的用处理器的多个功能单元顺序执行顺序指令调度的优化技术重排指令1通过调整指令的执行顺序,减少数据相关性和控制相关性,提高指令级并行度动态调度2根据当前的系统状态和资源利用情况,动态地调整指令的执行顺序,提高程序执行效率分支预测3预测分支指令的执行路径,减少分支相关性对程序性能的影响指令级并行执行的介绍概念现代处理器流水线指令级并行是指在同一时间周现代处理器利用超标量执行、流水线是指将指令的执行过程期内执行多条指令,提高处理动态调度等技术实现指令级并划分为多个阶段,提高处理器器的性能行执行的吞吐量如何处理指令之间的相关性数据相关性1通过数据依赖分析和数据旁路技术,解决数据相关性问题控制相关性2使用分支预测和分支目标缓冲,减少分支相关性对程序性能的影响指令窗口3通过指令窗口缓存和重命名技术,实时判断指令之间的相关性,动态调整指令的执行顺序如何处理分支指令相关性静态分支预测动态分支预测12根据分支指令的属性和程序统计信息,预通过分支历史表、转移预测缓冲等技术,测分支的执行路径根据程序运行时的实际分支情况,预测分支的执行路径动态调度的实现方法算法算法Scoreboarding Tomasulo基于资源约束和数据相关性的触发条件,动态通过使用寄存器重命名和保留站技术,实现动地调度和重排序指令的执行态调度和乱序执行算法的介绍Tomasulo原理通过将指令的执行和操作数的准备解耦,实现指令级并行执行优点有效利用处理器资源,提高并行度和程序执行效率缺点实现复杂,对硬件要求较高,需要较多的硬件资源算法的介绍Scoreboarding原理通过建立和管理保留站,并进行指令发射、执行和完成的控制,实现动态调度和执行优点简单、可控、资源消耗较少,适用于大部分处理器和指令集架构缺点对分支指令和数据相关性处理不够灵活,可能会导致性能下降处理器的介绍VLIW概念特点12(超长指通过静态调度和指令级并行,同时执行多Very LongInstruction Word令字)处理器,一条指令包含多个操作条操作,提高处理器性能架构的指令动态调度实现IA-64架构指令动态调度1IA-642由和合作开发的处理器架构,广架构提供了丰富的指令集和硬件支Intel HPIA-64泛应用于服务器和高性能计算领域持,实现了高效的指令动态调度。