网站大量收购独家精品文档,联系QQ:2885784924

第5章(CQ Review)指令级并行及其开发——硬件方法.ppt

第5章(CQ Review)指令级并行及其开发——硬件方法.ppt

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

5.5 多指令流出技术 把能并行执行的多条指令组装成一条很长的指令; (100多位到几百位) 设置多个功能部件; 指令字被分割成一些字段,每个字段称为一个操作槽,直接独立地控制一个功能部件; 在VLIW处理机中,在指令流出时不需要进行复杂的冲突检测,而是依靠编译器全部安排好了。 5.5.3 超长指令字技术 5.5 多指令流出技术 VLIW存在的一些问题 程序代码长度增加了 提高并行性而进行的大量的循环展开; 指令字中的操作槽并非总能填满。 解决:采用指令共享立即数字段的方法,或者采用指 令压缩存储、调入Cache或译码时展开的方法。 采用了锁步机制 任何一个操作部件出现停顿时,整个处理机都要停顿。 机器代码的不兼容性 5.5 多指令流出技术 指令多流出处理器受哪些因素的限制呢? 主要受以下3个方面的影响: 程序所固有的指令级并行性; 硬件实现上的困难; 超标量和超长指令字处理器固有的技术限制。 5.5.4 多流出处理器受到的限制 5.5 多指令流出技术 将每个流水段进一步细分,这样在一个时钟周期内能够分时流出多条指令。这种处理机称为超流水线处理机。 对于一台每个时钟周期能流出n条指令的超流水线计算机来说,这n条指令不是同时流出的,而是每隔1/n个时钟周期流出一条指令。 实际上该超流水线计算机的流水线周期为1/n个时钟周期。 一台每个时钟周期分时流出两条指令的超流水线计算机的时空图。 5.5.5 超流水线处理机 5.5 多指令流出技术 5.5 多指令流出技术 在有的资料上,把指令流水线级数为8或8以上的流水线处理机称为超流水线处理机。 典型的超流水线处理器:SGI公司的MIPS系列R4000 R4000微处理器芯片内有2个Cache: 指令Cache和数据Cache 容量都是8KB 每个Cache的数据宽度为64位 R4000的核心处理部件:整数部件 一个32×32位的通用寄存器组 一个算术逻辑部件(ALU) 一个专用的乘法/除法部件 5.5 多指令流出技术 浮点部件 一个执行部件 浮点乘法部件 浮点除法部件 浮点加法/转换/求平方根部件 (它们可以并行工作) 一个16×64位的浮点通用寄存器组。浮点通用寄存器组也可以设置成32个32位的浮点寄存器。 R4000的指令流水线有8级 5.5 多指令流出技术 5.5 多指令流出技术 各级的功能 IF:取指令的前半步,根据PC值去启动对指令Cache的访问。 IS:取指令的后半步,在这一级完成对指令Cache的访问。 RF:指令译码,访问寄存器组读取操作数,冲突检测,并判断指令Cache是否命中。 EX:指令执行。包括:有效地址计算,ALU操作,分支目标地址计算,条件码测试。 DF:取数据的前半步,启动对数据Cache的访问。 DS:取数据的后半步,在这一级完成对数据Cache的访问。 TC:标识比较,判断对数据Cache的访问是否命中。 WB:load指令或运算型指令把结果写回寄存器组。 5.5 多指令流出技术 MIPS R4000指令流水线时空图 载入延迟为两个时钟周期 习题 5.8 5.9 5.11 5.4 动态分支预测技术 实现前瞻的关键思想: 允许指令乱序执行,但必须顺序确认。 在指令被确认之前,不允许它进行不可恢复的操作。 支持前瞻执行的浮点部件的结构 5.4 动态分支预测技术 ROB中的每一项由以下4个字段组成: 指令类型 指出该指令是分支指令、store指令或寄存器操作指令。 目标地址 给出指令执行结果应写入的目标寄存器号(如果是 load和ALU指令)或存储器单元的地址(如果是store指 令)。 数据值字段 用来保存指令前瞻执行的结果,直到指令得到确认。 就绪字段 指出指令是否已经完成执行并且数据已就绪。 5.4 动态分支预测技术 Tomasulo算法中保留站的换名功能是由ROB来完成的。 采用前瞻执行机制后,指令的执行步骤: (在Tomasulo算法的基础上改造的 ) 流出 从浮点指令队列的头部取一条指令。 如果有空闲的保留站(设为r)且有空闲的ROB项(设为b),就流出该指令,并把相应的信息放入保留站r和ROB项b。 如果保留站或ROB全满,便停止流出指令,直到它们都有空闲的项。 5.4 动态分支预测技术 执行 如果有操作数尚未就绪,就等待,并不断地监测CDB。 (检测RAW冲突) 当两个操作数都已在保留站中就绪后,就可以执行该指令的操作。 写结果 当结果产生后,将该结果连同本指令在流出段所分配到的ROB项的编号放到CDB上,经CDB写到ROB以及所有等待该结果的保留站。 释放产生该结果的保留站。 store指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档