- 1、本文档共178页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[研究生入学考试]四川大学计算机系统结构第三章
第三章 流水线技术 提高计算机性能(速度)的两个重要方法: 1. 缩短执行每条指令所需的平均周期数CPI,如:RISC技术。 2. 提高处理机在执行指令中的并行度,即同一时刻中处理机内同时运行多条指令。如:采用流水线技术。 3.1 重叠执行和先行控制 一.指令的重叠执行 一条指令的执行过程可以粗略地分为:取指令、分析和执行三个阶段,且这个次序是不能改变的。 3.1 重叠执行和先行控制 如果连续执行一段程序,计算机对前后相邻指令的执行过程可以有两种不同的选择: 1.顺序执行方式,即等前一条指令执行完毕,紧接着执行下一条指令. 3.1 重叠执行和先行控制 一次重叠执行方式: 3.1 重叠执行和先行控制 二.先行控制技术 1.实现重叠执行存在的问题 (1)问题一: 需要独立的取指部件,分析部件,执行部件。 解决方案: 设置对应存储控制器,指令控制器和运算控制器。 3.1 重叠执行和先行控制 (2)问题二: 主存访问冲突 取指令时,处理机必须按指令计数器的指示访问存储器; 分析指令时,可能需要从存储器中获取操作数; 执行指令时,也可能要求将结果写回到存储器中。 处理机中三个独立的部件可能同时提出对存储器读写的请求,从而发生存储器访问冲突。 3.1 重叠执行和先行控制 解决方案: 1)分别设置两个独立的存储器:指令存储器和数据存储器,或一级Cache分为程序Cache和数据Cache ,同时工作解决同时读指令和读数据引起的冲突。 程序空间和数据空间相互独立并具有独立的指令总线和数据总线的系统结构就称为哈佛结构 缺点:结构复杂,需要大量的数据线,对汇编程序员和机器程序员不透明 2)多体交叉存储器结构也可减少冲突的发生。 3)先行控制技术是最根本的办法。 3.1 重叠执行和先行控制 在复杂的计算机指令系统中,各种指令在分析和执行阶段所需的时间可能有很大的差别。于是,前面对三个阶段所需时间t相等的假设就可能不成立,所得到的节约三分之二时间的结论也被动摇了。下图形象地表示了这种情况所造成的影响。 3.1 重叠执行和先行控制 2.采用先行控制技术的处理机 3.1 重叠执行和先行控制 缓冲栈实际上是一个以先进先出(FIFO)方式工作的移位寄存器组,上图表示了缓冲栈所处的地位。前置部件的输出不直接送入后置部件,而是通过缓冲栈暂存后才输出。 3.1 重叠执行和先行控制 3.先行控制原理 3.1 重叠执行和先行控制 先行控制技术中采取了两个根本的措施:指令预处理技术和缓冲技术。由于指令和数据的缓冲,保证了指令分析和指令的执行都能全速地运行。 3.2 流水线的基本概念 一.什么是流水线 1. 流水线技术(pipelining) 把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。 把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。 流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。 3.2 流水线的基本概念 2.流水线结构 重叠执行是流水线结构的思想基础,只要在指令分析器与指令执行部件之后都加上一个锁存器,就成了一个简单的流水线结构。 3.时空图 时空图可以直观地表现流水线的工作过程 3.2 流水线的基本概念 4.流水线的工作特点 1)一条流水线通常由多个流水段组成,在每一个流水段有专门的功能部件来实现。 2)各流水段所需的时间应尽可能相等,否则将引起流水线堵塞、断流。 3)流水线每个功能部件后面都有一个缓冲寄存器,称为流水寄存器。 4)流水线的工作一般分为3个阶段,即建立(填入)、填满和排空。 5)流水线技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。 3.2 流水线的基本概念 二. 流水线的种类 1、 按处理机分类 操作部件级 为最低级别的流水线。是把处理机的算术逻辑运算部件分段。如果某一部件的处理过程比较复杂,如浮点运算,需要较长的时间。这时可以将该部件分为若干子部件,分别完成浮点运算中有关的子操作,这种在部件范围内形成的流水线称为操作部件级流水线。 3.2 流水线的基本概念 一个浮点加法部件的流水线: 3.2 流水线的基本概念 处理机级 又称为指令流水线,就是将一条指令的解释执行过程分解成若干个子过程,使每个子过程分别在一个部件中完成。 处理机间级 处理机间流水线通常是多处理机系统中对任务采取的一种处理策略。 3.2 流水线的基本概念 上图是处理机间流水线示意图,图中每个处理机是以任务为单位进行处理的,而处理机间的任务传递则是由公用存储器完成的。应当指出,图中给出的是一个处理的“流水”
文档评论(0)