指令流水.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令流水

第三节 指令 流水 一个日常生活中的例子--洗衣服 一个日常生活中的例子--洗衣服 Ann, Brian, Cathy, Dave 四个人各有一袋衣服要洗、烘干和熨烫 漂洗需30 分钟 烘干需40 分钟 熨烫需20 分钟 串行洗衣方式 串行方式下四袋衣服花6 个小时 如果用流水线方式,则效果怎样呢? 流水洗衣方式 流水方式下4 袋衣服只需三小时半!! 计算机中指令的流水操作 问题的提出 早期机器采用串行方式控制指令的执行。每条指令按顺序取出、执行,因而各指 令执行时所启动的微操作序列也是串行的 。 这样,便限制了速度的提高,使机器内部各部件处于忙闲不匀的状态,系统总的 利用率不高。例如,取指时IR、PC 、MM 忙,而 ALU 和 GRS 空闲;取数时MM 忙,而ALU 和PC 等空闲。为了提高机器速度, 必须使各部件能并行工作。也即,让机器同时运行多条指令。 最直观的方式是指令流水线。 重叠原理和先行控制结构 重叠处理是指同时执行两条以上指令。 最简单的流水线控制 重叠深度为 2 的流水线控制最简单。 它将指令周期分为两个阶段:取指和执 行。 称为指令预取或取重叠,也称为2 段指令流水线。 最简单的流水线控制不能成倍提高性能,因为: 执行阶段比取指阶段所花时间可能长得多。所以要将执行阶段继续分小。 所以要将执行阶段继续分小。 条件转移指令的出现,使得下条指令的取出要等本条指令执行结束。 更多阶段的流水线控制 假定指令过程分为以下六个阶段: Fetch Instruction(FI) :取指令送缓冲器 Decode Instruction(DI) :对指令进行译码 Calculate Operands(CO) :计算每个操作数的有效地址 Fetch Operands(FO) :从存储器中取出操作数(在寄存器中操作数不需要取) Execute Instruction(EI) :执行指定的操作,并存结果 Write Operand (WO) :保存结果到存储器 示例:六段流水线 流水线分段时应使每个阶段所需时间相差不大,并最终以最长的时间为基准设计 流水线 。 上述六阶段流水线操作的时间图为: 关于六段流水线的几点说明 (演示一 演示二 演示三) (1)每条指令不一定都包含这六个阶段。 为简化硬件设计,把每条指令统一为相同阶段的流水线。 (2)每个阶段不一定都能并行工作。 例如,可能发生访存冲突。同一时刻出现 FI、FO 和WO 时,会发生访存冲突。 但 FI 可从指缓器预取,FO 和 WO 在某些指令中可能是空操作。另外,操作数可能在 Cache 中。所以访存冲突对流水线效率的影响不是很大。 (3)每个阶段不一定都花一样长的时间( 以最慢的子过程为基准) 。 (4)条件转移使有些指令的预取无效。 若指令3 为转移指令,则指令4-8 的预取可能无效。 (5) 中断的发生也可能使有些指令的预取无效。 (6)指令地址相关可能使流水线被破坏。 指令地址相关:下条指令的操作数是上条指令的结果。 发生上述(2) (4) (5) (6) 的情况,会使流水线被破坏。(1)和(3)使得一条指令的执行时 间拉长。 超标量处理器结构 超标量处理器能使若干条指令(如整数运算、浮点运算、装入、条件转移等) 同 时启动并独立运行。所以在结构上有如下特点: 因为每个时钟周期发射多条指令,所以应设计多套取指部件和指令译码部件。 因为同时有多条指令在执行,故应有多个功能部件。如:定点处理部件、浮点处 理部件、乘除法部件、取数存数部件、图形加速部件等。 超标量技术在 RISC 技术之后出现,但该技术既能用于 RISC ,也能用在 CISC 中。不过,几乎所有已实现的超标量都是在RISC 或类 RISC 机上实现 。 超标量流水线

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档