第8章流水线处理技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成与结构 第8章 指令级并行技术简介 多指令发射技术 超标量(Superscalar)处理机 超流水线(Superpipelining)处理机 超标量超流水线(Superscalar Superpipeling)处理机 超长指令字(Very Long Instruction Word)处理机 指令级并行技术简介 超标量处理机 通常把一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机。 为了能够在一个时钟周期内同时发射多条指令,超标量处理机必须有两条或者两条以上能够同时工作的指令流水线。 高性能超标量处理机一般还有一个先行指令窗口,它能够从指令Cache中预取多条指令,而且能够对这些指令进行数据相关性分析和功能部件冲突检测。 超标量处理机开发空间并行性,在每个时钟周期可以平均执行完成多条指令。如果一台超标量处理机每个时钟周期同时发射m条指令,则它的指令级并行度ILP的期望值就为m。但由于资源冲突、数据相关、控制相关等原因,实际的ILP不可能达到m,通常是1<ILP<m。 流水线的实现原理 简单的DLX基本流水线 每一个时钟周期启动一条新的指令,就可以使DLX数据通路成功流水,每一个时钟周期就是流水线的一个流水段。每一条指令经过5个时钟周期执行完成,而在每一个时钟周期内,硬件将启动一条新的指令并执行5条不同指令的某个部分。 流水线的实现原理 实际的流水线就这么简单吗?——NO! 必须保证在指令重叠执行时不会存在任何流水线资源冲突问题,即要保证流水线的各段在同一个时钟周期内不会使用相同的数据通路资源。 简化的DLX流水线数据通路 下图从使用流水线资源的角度描述上述流水线的流水过程,这张图显示了不同数据通路的重叠,其中周期5表示稳定状态。 在包围每个流水段的线框中,如果实线在右侧,说明是读操作;如果实线在左侧,说明是写操作;其他部分用虚线。 主要的功能部件都在不同的时钟周期内使用,因而多条指令重叠执行时引入的冲突很少 。 分开的指令存储器(IM)和数据存储器(DM)。对存储器性能要求? 在两个流水线段都使用了寄存器:ID段读,WB段写。这两个流水段使用的寄存器一般是不同的。如果读写相同的寄存器呢? 没有考虑PC的问题,流水要求IF段要形成新的PC值。如何处理分支指令呢? 流水线的实现原理 简化的DLX流水线数据通路 流水线的实现原理 DLX流水线数据通路 流水线的实现原理 DLX流水线数据通路 在流水线的各个流水段之间加入了被称为流水线寄存器(流水线锁存器)的寄存器堆,并在这些寄存器堆上标明所连接的流水段。 所有用于在同一条指令的各个时钟周期之间保存临时数据的寄存器,都归入流水线寄存器这一类中。 流水线寄存器保存着从一个流水段传送到下一个流水段的所有数据和控制信息。 PC值多路选择器被移到IF段,这样做的目的是保证对PC值的写操作只出现在一个流水段内,否则当分支转移成功的时候,流水线中两条指令都试图在不同的流水段修改PC值,从而发生写冲突。 每个时刻,每条指令都只在一个流水段上是活动的,因此,任何指令所作的任何动作都发生在一对流水线寄存器之间,具体操作由指令类型决定。 流水线的相关问题 什么是流水线中的“相关”? 在流水线中经常有一些被称为“相关”的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些“相关”可能会降低流水线可以获得的理想性能。 流水线中的相关可以分为以下三种类型 第一种是结构相关,是指令在重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生硬件资源冲突而产生的相关。 第二种是数据相关,是指在同时重叠执行的几条指令中,一条指令依赖于前面指令执行结果数据,但是又得不到时发生的相关。 第三种是控制相关,它是指流水线中的分支指令或者其他需要改写PC的指令造成的相关。 解决流水线中“相关”问题的重要性 流水线相关问题是流水线执行过程中的主要障碍,会给流水线中指令序列的顺利执行带来许多不利的影响。如果不能较好的处理流水线相关问题,就可能影响流水线的性能,甚至使程序运行产生错误的结果。 结构相关和相应解决方法 如果因资源冲突而无法使用某种指令组合,那么就称该流水线产生了结构相关。例如:指令和数据都共享一个存储器,在某个时钟周期内,流水线既要完成某条指令对数据的存储器访问操作,又要完成后续的另一条指令的取指令操作,这样就会发生存储器访问冲突问题,产生结构相关。 结构相关和相应解决方法 消除结构相关的最简单方法就是引入暂停周期,如下图所示,这必然要降低流水线的性能。 结构相关和相应解决方法 解决结构相关的基本方法 结构相关的起因是资源争用,那么可以考虑采用资源充分重复设置的方法来避免结构相关。 解决存储器争用冲突的办法 (1)如果指令和数据放在同一个存储器,可使用双端口存储器,

文档评论(0)

2266685ss + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档