浙江工商大学-计算机体系结构-第3章指令级并行的限制.ppt
《浙江工商大学-计算机体系结构-第3章指令级并行的限制.ppt》由会员分享,可在线阅读,更多相关《浙江工商大学-计算机体系结构-第3章指令级并行的限制.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 章 指令级并行的限制o 介绍o 指令级并行限制的研究 o 实际处理器中指令级并行性限制o 硬件和软件推测的限制o 多线程 3.1 介绍o 问题引出 上一章我们介绍了流水线机制、多发射机制、动态调度机制和推测机制。当前设计者将精力集中在优化设计上,尝试在不改变发射速率的情况下获得更快的时钟频率,即开发指令级并行的时代即将结束。本章我们讨论指令级并行的限制,如程序结构、硬件的预算以及转移预测的准确率等;最后讨论线程级并行,作为指令级并行的替代和补充。3.2 指令级并行性限制的研究o 研究五个方面的内容 指令级并行性限制的研究涉及以下五个方面的内容:硬件模型、窗口的大小和最大发射数的限制、实际
2、转移和跳转预测的影响、有限寄存器的影响以及非完美别名分析的影响。3.2 指令级并行性限制的研究o 硬件模型 理想处理器:是指消除了所有指令级并行约束的处理器,在理想处理器中,对指令级并行的唯一约束来自寄存器或存储器中的实际数据流。理想处理器包含以下方面的假设:寄存器重命名、转移预测、跳转预测、存储器地址别名分析、最优Cache。3.2 指令级并行性限制的研究o 理想处理器 寄存器重命名 可用的虚寄存器数量没有限制,可以避免WAW和WAR 冒险,可以有无限的指令同时开始执行 转移预测 最佳的转移预测,能够准确预测所有条件转移 跳转预测 能够准确预测所有跳转,包括返回跳转和需要计算的跳转 3.2
3、指令级并行性限制的研究o 理想处理器 存储地址别名分析 能够准确确定所有的存储器地址,在不引用同一地址的情况下,load 指令可以移动到store 指令之前,这实现了最佳地址别名分析 最优Cache 所有的存储器访问花费1 个时钟周期,实际应用中处理器通常隐含Cache 缺失,使指令级并行度大受限制 3.2 指令级并行性限制的研究o 理想处理器 转移预测和跳转预测消除了所有的控制相关,寄存器重命名和存储器地址别名分析消除了除真数据相关之外的所有相关性,这些假设意味着经过调度,程序执行过程中任意一条指令都可以在其前序相关指令执行完成之后的时钟周期立即开始执行,同时,还意味着对控制和地址的推测都是
4、完美的。3.2 指令级并行性限制的研究o 硬件模型 处理器模型 假设所有处理器模型均没有限制哪些指令可以在一个时钟周期内执行,即可以在一个时钟周期内发射无数条load 或store 指令;假设所有功能单元时延为1 个时钟周期,因此,所有的相关指令都可以在相继的时钟周期内连续地发射。3.2 指令级并行性限制的研究o 硬件模型 实际处理器 以上假设的理想处理器几乎是不可能实现的。比如IBM Power5 是当前最为先进的超标量处理器之一,其每时钟周期最多发射4 条指令,启动执行最多6 条指令(对指令类型严格限制,如最多2 条load-store 指令),拥有大量的重命名寄存器,强大的转移预测器,并
5、能动态消除存储器二义性。指令级并行度测试见图3.1.3.2 指令级并行性限制的研究o 窗口大小和最大发射数的限制 理想处理器进行了5 个方面的假设,满足这些要求的算法是非常复杂的。假设所有的指令为寄存器指令且可用寄存器数量无限,为了判断要发射的n 条指令是否存在寄存器相关,需要进行n*n量级的比较(排列数),即使只发射50 条指令,也需要近2500 次比较,这限制了一次发射指令的数量。3.2 指令级并行性限制的研究o 窗口大小和最大发射数的限制 为了实现并行执行,需要对指令间是否存在相关性进行检测,被检测指令的集合称为窗口。窗口中的所有指令都必须保存在处理器中,处理器每时钟周期需要比较的次数不
6、小于最大完成速率乘以窗口大小,再乘以每条指令的操作数数量。窗口的大小直接限制了在给定时钟周期内开始执行的指令数量,处理器所拥有的功能单元数量有限,寄存器端口数量也受限制,因此,一个时钟周期内发射执行指令数量要远低于窗口大小。3.2 指令级并行性限制的研究o 窗口大小和最大发射数的限制 多发射处理器的实现受到很多限制,包括每时钟周期发射指令数量、功能单元及单元延迟、寄存器端口、功能单元队列、对转移发射的限制以及对指令提交的限制,所有这些限制都是影响并行度的因素。这里只集中讨论窗口的大小。窗口大小对并行度的影响见图3.2.随着窗口大小的减小,指令级并行度严重下降;定点程序的指令级并行度要低于浮点程
7、序的指令级并行度。3.2 指令级并行性限制的研究o 窗口大小和最大发射数的限制 窗口大小并不是越大越好,太大容量的窗口是不切实际且效率低下的,图3.2 表明,与理想情况相比,实际窗口的大小会使指令的吞吐量严重下降。假设基本窗口大小为2K(为2005 年的10倍),并假设最大发射能力为每时钟周期发射64 条指令(同样为2005 年的10 倍),这些假设不会对非理想处理器开发指令级并行造成限制3.2 指令级并行性限制的研究o 实际转移和跳转预测的影响 理想处理器总是能够准确预测转移和跳转,实际处理器不可能做到。图3.3 说明实际转移预测带来的影响。转移预测的5 个等级:1、完美 所有的的转移在执行
8、开始时准确预测 2、基于Tournament 的转移预测器 使用相关2bit 预测器和不相关2bit 预测器,结合使用选择器,由选择器为每个转移选择最好的预测器3.2 指令级并行性限制的研究o 实际转移和跳转预测的影响 3、标准2bit 预测器 有512 个2bit 入口,还假设使用一个有16 个 入口的缓存负责对返回地址进行预测 4、基于历史的预测器 静态预测器使用程序的历史文件预测转移是否被选中 5、无转移预测 不使用转移预测器,只有跳转被预测3.2 指令级并行性限制的研究o 实际转移和跳转预测的影响 不考虑由错误转移预测引起的额外开销,改变转移预测方法只对基本块之间可开发的并行度产生影响
9、。使用窗口大小为2K 且发射速率为每时钟周期64 条指令的情况下,转移预测方法的选择对并行度非常关键,图3.4 给出了3 种条件转移预测的成功概率(图中以错误率描述)3.2 指令级并行性限制的研究o 有限寄存器的影响 理想寄存器通过使用无限数量的虚拟寄存器消除了所有寄存器访问中的名字相关。前面提及IBM Power5 拥有最多虚拟寄存器,除64 个系统结构寄存器外,还补充了88 个定点和88 个浮点寄存器。在多线程模式下,所有这些240 个寄存器被两个线程共享,并且在单线程模式下所有寄存器对单线程可用。图3.5 给出了减少重命名可用寄存器数量对并行度的影响。3.2 指令级并行性限制的研究o 非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 工商大学 计算机体系结构 指令 并行 限制
限制150内