浙江工商大学-计算机体系结构-第3章指令级并行的课件.ppt(37页)
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《浙江工商大学-计算机体系结构-第3章指令级并行的课件.ppt(37页)》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 工商大学 计算机体系结构 指令 并行 课件
- 资源描述:
-
1、第3章 指令级并行的限制o介绍o指令级并行限制的研究 o实际处理器中指令级并行性限制o硬件和软件推测的限制o多线程 3.1 介绍o问题引出 上一章我们介绍了流水线机制、多发射机制、动态调度机制和推测机制。当前设计者将精力集中在优化设计上,尝试在不改变发射速率的情况下获得更快的时钟频率,即开发指令级并行的时代即将结束。 本章我们讨论指令级并行的限制,如程序结构、硬件的预算以及转移预测的准确率等;最后讨论线程级并行线程级并行,作为指令级并行的替代和补充。3.2 指令级并行性限制的研究o研究五个方面的内容 指令级并行性限制的研究涉及以下五个方面的内容:硬件模型、窗口的大小和最大发射数的限制、实际转移
2、和跳转预测的影响、有限寄存器的影响以及非完美别名分析的影响。3.2 指令级并行性限制的研究o硬件模型 理想处理器:是指消除了所有指令级并行约束的处理器,在理想处理器中,对指令级并行的唯一约束来自寄存器或存储器中的实际数据流。 理想处理器包含以下方面的假设:寄存器重命名、转移预测、跳转预测、存储器地址别名分析、最优Cache。 3.2 指令级并行性限制的研究o理想处理器 寄存器重命名寄存器重命名 可用的虚寄存器数量没有限制,可以避免WAW和WAR冒险,可以有无限的指令同时开始执行 转移预测转移预测 最佳的转移预测,能够准确预测所有条件转移条件转移 跳转预测跳转预测 能够准确预测所有跳转,包括返回
3、跳转和需要计算的跳转 3.2 指令级并行性限制的研究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说明实际转移预测带来的影响。 转移预测的
8、5个等级: 1、完美 所有的的转移在执行开始时准确预测 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非
展开阅读全文