第六章 指令流水线.pdf

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

Ch6:InstructionPipeline

指令流水线

第一讲流水线数据通路和控制逻辑

第二讲流水线冒险处理

第三讲高级流水线技术

第一讲流水线数据通路和控制

主要内

°日常生活中的流水线处理例子:洗衣服

°单周期处理器模型和流水线性能比较

°什么样的指令集适合于流水线方式执行

°如何设计流水线数据通路

•以MIPS指令子集来说明

°如何设计流水线控制逻辑

•分析每条指令执行过程中的控制信号

•给出控制器设计过程

°流水线冒险的概念

单周期指令模型与流水模型的性能比较

°假定以下每步操作所花时间为:

-取指:2ns

-寄存器读:1nsLoad指令执行时间总计为:8ns

-ALU操作:2ns(假定控制单元、PC访问、信号传

-存储器读:2ns递等没有延迟)

-寄存器写:1ns

°单周期模型

•每条指令在一个时钟周期内完成

•时钟周期等于最长的lw指令的执行时间,即:8ns

•串行执行时,N条指令的执行时间为:8Nns

°流水线性能

•时钟周期等于最长阶段所花时间为:2ns

•每条指令的执行时间为:2nsx5=10ns

•N条指令的执行时间为:(4+N)x2ns

•在N很大时,比串行方式提高约4倍

•若各阶段操作均衡(例如,各阶段都是2ns),则提高倍数为5倍。

流水线方式下,单条指令执行时间不能缩短,但能大大提高指令吞吐率!

流水线指令集的设计

°具有什么特征的指令集有利于流水线执行呢?

•长度尽量一致,有利于简化取指令和指令译码操作

-MIPS指令32位,下址计算方便:PC+4

-X86指令从1字节到17字节不等,使取指部件极其复杂

•格式少,且源寄存器位置相同,有利于在指令未知时就可取操作数

-MIPS指令的rs和rt位置一定,在指令译码时就可读rs和rt的值

312621161160

oprsrtrdshamtfunc

6bits5bits5bits5bits5bits6bits

若位置随指令不同而不同,则需先确定指令类型才能取寄存器编号

•load/Store指令才能访问存储器,有利于减少操作步骤,规整流水线

-lw/sw指令的地址计算和运算指令的执行步骤规整在同一个周期

-X86运算类指令操作数可为内存数据,需计算地址、访存、执行

•内存中”对齐”存放,有利于减少访存次数和流水线的规整

总之,规整、简单和一致等特性有利于指令的流水线执行

R-type指令的4个阶段

Cycle1Cycle2Cycle3Cycle4

R-typeIfetchReg/DecExecWr

°Ifetch:取指令并计算PC+4

°Reg/Dec:从寄存器取数,同时指令在译码器进行译码

°Exec:在ALU中对操作数进行计算

°Wr:ALU计算的结果写到寄存器

Load指令的流水线

Cycle1Cycle2Cycle3Cycle4Cycle5Cycle6Cycle7

Clock

1stlwIfetchReg/DecExecMeWr

2ndlwIfetchReg/DecExecMeWr

文档评论(0)

187****8802 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档