第3章流水线技术资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 流水线技术 主讲: 顾一禾 本章学习内容 流水线的基本概念和工作原理 流水线性能分析 流水线操作中存在的主要障碍和解决方法 向量处理机 3.1 重叠执行和先行控制 3.1.1 重叠执行 1. 顺序解释方式 一条指令完全解释执行完毕后,才开始对下一条指令进行解释执行。 顺序解释方式的特点 控制简单,节省设备。 处理机执行指令的速度慢。 功能部件的利用率很低。 2. 重叠解释方式 在两条相邻指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。这样在一条指令解释执行完成之前就可以开始下一条指令的解释工作。 重叠方式 1 重叠方式 2 设各阶段周期均为t0,则执行n条指令共需 T=nt0+2t0=(n+2)t0 重叠解释方式的特点 与顺序执行方式相比,缩短了程序的执行时间。 提高了功能部件的利用率。 需要增加硬件支持。 需要设置独立的取指令部件、指令分析部件和指令执行部件。 访问主存冲突的解决方法 ⑴ 程序与数据分存于两个独立的存储器中 两个独立的存储器独立编址和控制,可以同时访问,这样可以解决取指与取数的访存冲突问题。 ⑵ 指令和数据仍然混合存放在同一个主存中,但设置两个Cache,即指令Cache和数据Cache。 这种程序空间和数据空间相互独立的系统结构被称为哈佛结构。 ⑶ 采用多模块交叉存取技术 将数据与程序存放在内存不同的存储体内,即可同时访问。但此方法有一定的局限性。 ⑷ 采用指令缓冲站,存放预取的后续指令 在主存空闲时,将所需的后续指令预取到指令缓冲存储区中。在“取指令”阶段需取指时,到指令缓冲存储区中取;而在取操作数时,到内存取。 指令缓冲站的工作过程 先行控制下的一次重叠工作方式 采用指令缓冲站方法时,由于访问寄存器速度较快,可取指与分析指令合并为一步,任何时候只允许上条指令的“执行”与下条指令的 “分析”相重叠。这种重叠工作方式称为“一次重叠”。 采用一次重叠工作方式,完成n条指令所需的执行时间为: T=(n+1)×t0 因为一次重叠工作方式中前后指令的重叠时间有一定的约束,因此只需要一套指令分析和执行部件就可以完成重叠工作,使得硬件简单。 执行时间不等时的一次重叠工作方式 当取指和分析部件的执行时间不等时,执行时间短的部件,必须等待执行时间长的部件功能的完成,导致部件的空闲,使得完成n条指令所需的执行时间变为: 3.1.2 先行控制 缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。 预处理技术:预取指令、对指令进行加工以及预取操作数等。 先行控制技术: 将缓冲技术和预处理技术相结合,通过对指令流和数据流的预处理和缓冲,使指令分析部件和执行部件都能分别连续不断地工作。 先行控制方式的基本思想 在控制器内设置先行读数站,先行操作站,后行写数站等,使分析部件和执行部件能够分别连续不断地分析和执行指令。 采用先行控制后指令的执行情况 理想情况下,指令执行部件应该一直忙碌。连续执行n条指令的时间为: 先行控制的基本结构 采用先行控制方式的处理机结构 三个独立的控制器 指令分析(控制)器:完成指令译码,形成操作数的有效地址,进行指令预处理。 存储控制器:完成对存储器的读写控制。 运算控制器:完成对运算器的操作控制。 四个缓冲站 设置缓冲站的目的:平滑主存、指令分析部件、运算器三者之间的工作。 先行指令站:预取并存放后续指令。 先行读数站:预取并存放后续指令所需的操作数。 先行操作站:将预处理后的指令变换成运算器能够执行的操作命令并保存。 后行写数站:接收运算器的运算结果,向主存发出写数请求。 各缓冲站均由一组若干个能快速访问的存储单元和相关的控制逻辑组成,均采用先进先出的工作方式。 各缓冲部件的深度(个数): D指缓≥D操作栈≥D读数≥D写数 存储器控制器响应存储器请求的优先级: 通道→写数→读数→取指 3.2 流水线的基本概念 流水方式 把一个重复的过程分为若干个子过程,由专门的功能部件来实现。 把多个处理过程在时间上错开,每个子过程都可以有效地在其专用功能段上与其它子过程同时执行。 流水线的级(段) 流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。 流水线的深度 流水线中的段数。 流水线举例 指令流水线 浮点加法流水线 流水处理的时空图 时空图从时间和空间两个方面描述流水线的工作过程。 在时空图中,横坐标代表时间,纵坐标代表流水线的各个段。 4段指令流水线的时空图 流水寄存器(锁存器) 流水线每一个功能部件后面的缓冲寄存器(锁存器),称为流水寄存器。 作用:在流水线相邻的两段之间传送数据,以保证提供后面要用到的数据,并把各段的处理工作相互隔离。 如果每个流水段的延迟时间(通过

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档