计算机系统结构第五_第1页
计算机系统结构第五_第2页
计算机系统结构第五_第3页
计算机系统结构第五_第4页
计算机系统结构第五_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章重叠、流水和向量处理机概述本章着重讲述在计算机组成设计中,如何通过采用重叠和流水等控制方式来提高解释机器语言程序的速度。介绍这些控制方式的基本原理,所用的控制机构,实现中要解决的问题和办法,以及对其性能的分析。目标:采取什么方式可以加快机器指令的解释速度。本章的基本要求(1)领会重叠方式的工作原理;采用重叠方式工作时,对计算机在组成设计上的要求;“一次重叠”方式的定义及好处。在给出了指令之间各种微操作时间重叠关系的要求之后,能够熟练地计算出连续执行完N条指令需要花费的全部时间。本章的基本要求(2)领会流水方式的工作原理。了解从不同角度对流水线的分类和定义。熟练掌握有关流水线时空图的画法。在给出的流水线上,能够计算出流水的最大吞吐率,及解具体题目所达到的实际吞吐率、效率和加速比。掌握为消除流水线速度性能瓶颈可采用两种不同途径的时空图画法、吞吐率和效率的计算。在双功能静态流水线上,根据给出的具体计算式,能调整其操作的流入顺序;在满足尽可能高的性能条件下,画出执行此计算式相应的流水时空图;计算出此时的实际吞吐率、效率和加速比。本章的基本要求(3)

熟练掌握在单功能非线性流水线上所采用的任务流入流水线的最佳调度方案,求出此时的极限吞吐率。按最佳调度方案实际调入流水线若干个任务,能画出在此情况下流水线工作的时空图,并计算出实际的吞吐率和效率。一、重叠解释方式1提高指令执行速度的途径有如下三种:提高处理机的工作频率;采用更好的算法;如采用RISC技术以减少执行指令的平均周期数;多条指令并行执行;

也称为指令级并行技术,是目前和将来的主要途径,其中又有三种基本方法:重叠技术;流水技术;超长指令字技术;一、重叠解释方式2指令的执行过程:取指:按PC的内容访存,取指令到指令寄存器中;分析:对指令操作码译码,利用地址字段通过寻址方式产生操作数真地址,并取回操作数,形成下条指令的地址;执行:对操作数运算,并存储运算结果。取指分析执行05二月2023第五章重叠、流水和向量处理机8一、重叠解释方式3顺序解释指令的顺序解释方式指的是指令与指令之间顺序串行,指令内的各个微操作之间也是顺序串行的。即:只有当前指令执行完后,才能开始下条指令的运行。优点:每条指令转入下条指令的时间关系是确切的,指令间相互的关联关系易于得到控制和处理。缺点:程序解释的速度低,系统内各部件的时间利用率低。执行k分析k取指k执行k+1分析k+1取指k+1取指分析执行05二月2023第五章重叠、流水和向量处理机9一、重叠解释方式4重叠解释指令的重叠解释方式是在相邻的指令之间,让取指令、分析、执行各部分的操作在时间上错开重叠地进行,而指令内部的微操作仍然是顺序串行的。重叠解释不能加快每条指令的解释速度,但在硬件增加不多的情形下,可以加快相邻两条指令以及整段程序的解释,使系统的性能价格比有显著提高。取指k分析k执行k取指k+2分析k+2执行k+2有什么缺点?如何改进?取指k+1分析k+1执行k+105二月2023第五章重叠、流水和向量处理机10一、重叠解释方式缺点:会造成访存冲突;解决办法:思路一:分别设置各自独立编址的数据存贮器和指令存贮器,让存、取操作数和取指令可同时访存;思路二:让主存用逻辑上统一编址的多分体交叉访问的并行组成方式。思路三:在硬件上,增设有一定容量的指令缓冲器和数据缓冲器,让主存抽空将预取的指令存入指令缓冲器,或将要写入的数据暂时存入数据缓冲器中。现状:目前多采用第二、三种办法的组合,形成一次重叠。05二月2023第五章重叠、流水和向量处理机11一、重叠解释方式5一次重叠一次重叠:任何时刻都只有指令K的执行过程与指令K+1的分析过程相互重叠。采用“一次重叠”的好处是系统只需要一套指令分析部件和一套指令执行部件,节省了硬件,也简化了指令之间的相关控制。为了使“一次重叠”方式的系统能有较高的重叠效率,应使“分析”和“执行”的时间尽可能调整成一样的。分析k执行k分析k+1执行k+105二月2023第五章重叠、流水和向量处理机12一、重叠解释方式6“一次重叠”方式的相关控制1)主存空间数据相关主存空间数相关是在相邻指令之间出现了对主存同一单元要求在先的指令必须先完成写,在后的指令才能读的“先写后读”相关。例如:K:addA1,A2,A3K+1:addA4,A1,A505二月2023第五章重叠、流水和向量处理机13一、重叠解释方式6“一次重叠”方式的相关控制1)主存空间数据相关解决方法:采取推后后续指令对相关单元的读操作的办法来解决。理论依据:发生主存空间数相关的概率很低,牺牲时间换取空间具体措施:对访存申请进行排队时,让访存的“写”申请优先于“读”申请。05二月2023第五章重叠、流水和向量处理机14一、重叠解释方式2)通用寄存器相关通用寄存器相关相关是指在相邻指令之间出现了对同一寄存器要求在先的指令必须先完成写,在后的指令才能读的“先写后读”相关。例如:K:opR1,A2K+1:opR1,R2其中:源操作数(k+1)=目的操作数(k)05二月2023第五章重叠、流水和向量处理机15一、重叠解释方式2)通用寄存器相关解决方法:采用设置R1和R2的相关专用通路来解决。理论依据:通用寄存器组的数相关发生的概率很高,牺牲空间换取时间。05二月2023第五章重叠、流水和向量处理机16二、流水方式“流水线”(pipeline)是Intel首次在486芯片中开始使用的。流水线的工作方式就像工业生产上的装配流水线。在CPU中由5~6个不同功能的电路单元组成一条流水线来处理指令,然后将一条指令分成5~6步,再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期内完成一条指令,因此可大大提高CPU的运算速度。05二月2023第五章重叠、流水和向量处理机17二、流水方式早期的486只有一条流水线,通过流水线中取指令、译码、产生地址、执行指令和数据写回五个电路单元,分别同时执行那些已经分成五步的指令,从而实现在每个时钟周期中完成一条指令的目的。进入Pentium时代后,设计人员在CPU中设置了两条或多条具有各自独立电路单元的流水线,这样CPU在工作时就可以通过这两条或多条流水线来同时执行多条指令,因此在理论上就可以实现在一个时钟周期中完成多条指令的目的。05二月2023第五章重叠、流水和向量处理机18二、流水方式超流水线“超流水线”(superpipelined)是指某型号的CPU内部的流水线超过通常的5~6步,例如PentiumPro的流水线就长达14步。流水线设计的步(级)数越多,其完成指令的速度就越快,因此就能适应主频更高的CPU。05二月2023第五章重叠、流水和向量处理机19二、流水方式1)定义:流水是重叠的引申流水则是把指令的解释分成更多个(m个)子过程,让相邻的m条指令的解释在时间上错开重叠。05二月2023第五章重叠、流水和向量处理机20二、流水方式2)流水线的特点(1)流水线处理连续的任务时才能发挥其效率;(2)把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的部件来完成;(3)在流水线的每个功能部件后面都有一个锁存器,用于保存本段的执行结果和平滑各部件之间的时间差异,所有锁存器都受同一时钟信号控制,实现各部件信息流的同步推进;05二月2023第五章重叠、流水和向量处理机21二、流水方式2)流水线的特点(4)流水线中各段的时间应尽量相等,否则将影响流水线的效率;(5)流水线需要有装入时间和排空时间;05二月2023第五章重叠、流水和向量处理机22二、流水方式2流水线的分类1)按照流水技术用于系统的等级不同分为:部件级流水:部件内务子部件间的流水,如分析部件内部的取指、译码、地址形成和取数之间的流水,浮点运算器内的求阶差、对阶、尾数加/减和尾数规格化之间的流水,以及Cache存贮器内查地址映象表进行地址变换与访物理Cache之间的流水;处理机级流水:部件间的流水,如取指、分析、执行部件间的流水;系统级流水:处理机之间的流水,如宏流水。05二月2023第五章重叠、流水和向量处理机23二、流水方式2)按流水线具有功能的多少将流水线分成:单功能流水线:单功能流水线指的是流水线内各段固定连接,只能完成单一的一种功能。多功能流水线:多功能流水线指的是流水线中各个段可以有多种不同的连接,以实现多种不同的功能。05二月2023第五章重叠、流水和向量处理机24二、流水方式3)多功能流水线又可分为:静态流水线:静态流水线指的是在流水线内各个段于同一时间里只能按其中的一种功能流水,只有等各个段全部空闲后,才能切换成按另一种功能的连接来流水。静态流水线要求编译生成的目的指令串应尽可能调整成都是同一种功能,之后才是另一种功能的指令串。05二月2023第五章重叠、流水和向量处理机25二、流水方式3)多功能流水线又可分为:动态流水线:动态流水线的各个段可以同时为不同的功能服务。相比而言,动态流水的控制较静态流水的要复杂些。静态流水是把功能负担加到软件调整上,动态流水则是把功能负担加到硬件控制上。05二月2023第五章重叠、流水和向量处理机26二、流水方式4)按流水线处理机是否具有向量数据表示分成:向量流水机:向量流水机是向量数据表示和流水线的结合。标量流水机:标量流水机则只有流水线,没有向量数据表示,处理向量、数组时需要借用程序的循环和变址,所以标量流水机对向量、数组处理的支持不如向量处理机的好。05二月2023第五章重叠、流水和向量处理机27二、流水方式4)按流水线功能段之间有无反馈回路将流水线分为:线性流水线:线性流水线中各个段之间串行地连接,无反馈也无跳越,每个任务流经流水线中各个段均只有一次;反之,则就是非线性流水线。05二月2023第五章重叠、流水和向量处理机28二、流水方式3流水线处理机的主要性能

吞吐率和效率是反映流水机器性能的主要指标。1)吞吐率极限吞吐率TPmax

:是流水线连续流动时的最大吞吐率。实际吞吐率TP:指在单位时间内,流水线完成的任务数和输出的结果数。05二月2023第五章重叠、流水和向量处理机29二、流水方式2)效率流水线的效率是指流水线中设备(部件)的时间利用率。它是程序在执行过程中,流水线设备(部件)有效工作的时间与总的加电时间的比值。05二月2023第五章重叠、流水和向量处理机30二、流水方式3)加速比(SP)表示流水线方式相对于非流水线顺序方式速度提高的比值。设某流水线分m段,每段用时t,完成n个任务所需时间为:顺序方式:T1=n*m*t流水方式:T2=m*t+(n-1)*t则:SP=T1/T2=m/(1+(m-1)/n)当n>>m时,SP→m05二月2023第五章重叠、流水和向量处理机31二、流水方式4消除流水线性能瓶颈的方法1)瓶颈子过程再细分;2)将多个瓶颈子过程并联。分析:前者所增加的设备量少,成本低,控制简单。若实在不能细分时,再考虑将多个瓶颈子过程并联,此时,需要解决任务在并联的各段之间如何轮流地分配和同步的问题,因此所增加的设备量较多,成本较高。05二月2023第五章重叠、流水和向量处理机32二、流水方式例3有一个4段的流水线如下图所示。(1)求其Tpmax和完成3个任务时的TP和效率。(2)用瓶颈子过程再细分的方法消除流水线性能瓶颈后,求其完成3个任务时的TP和效率。(3)用将多个瓶颈子过程并联的方法消除流水线性能瓶颈后,求其完成3个任务时的TP和效率。Δt1234入出3ΔtΔtΔt05二月2023第五章重叠、流水和向量处理机33二、流水方式例1向量A和B各有6个元素,计算A·B=a1b1+a2b2+…+a6b6(1)若在顺序方式下,一次加需4Δt,一次乘需3Δt,则执行完A·B需多少时间?(2)在如图所示的静态双功能流水线上计算,其中1→2→3→4为加法流水线,1→5→4为乘法流水线,输出可以直接返回输入,功能切换的时间忽略不计,设计合理的算法,使完成A·B的时间最少。①画出流水时空图;②求其吞吐率TP;③求其效率。12345ΔtΔtΔtΔtΔt输入输出05二月2023第五章重叠、流水和向量处理机34问题:非线形流水线如何实现不发生冲突又尽可能地提高其效率呢?设有由5个功能段组成的单功能非线形流水线,每任务经过流水线需要9拍,其预约表如下表所示:1234567891√√2√√√3√4√√5√√1延迟禁止表:F={1,5,6,8}2冲突向量:C=(10110001)拍号n部件k二、流水方式6流水线的调度05二月2023第五章重叠、流水和向量处理机351延迟禁止表:F={1,5,6,8}2冲突向量:C=(10110001)3流水线状态转移图二、流水方式6流水线的调度05二月2023第五章重叠、流水和向量处理机36调度方案平均间隔拍数(2,2,7)3.67(2,7)4.5(3,4)3.5(4,3)3.5(3,4,7)4.67(3,7)5(4,3,7)4.67(4,7)5.5(7)74各种调度方案的平均间隔拍数5最佳调度方案:(3,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论