6计算机组成原理第6章流水线原理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《6计算机组成原理第6章流水线原理.ppt》由会员分享,可在线阅读,更多相关《6计算机组成原理第6章流水线原理.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 流水线原理及其流水线原理及其1 重叠方式重叠方式通常提高指令执行速度的途径有如下三种:通常提高指令执行速度的途径有如下三种:1.提高处理机的工作主频。提高处理机的工作主频。2.采用更好的算法和设计更好的功能部件。采用更好的算法和设计更好的功能部件。3.多条指令并行执行,称为指令级并行技术。多条指令并行执行,称为指令级并行技术。可以从两个方面来开发处理机内部的并行性:可以从两个方面来开发处理机内部的并行性:空间并行性:即在一个处理机内设置多个独空间并行性:即在一个处理机内设置多个独立的操作部件,并让这些操作部件并行工作,立的操作部件,并让这些操作部件并行工作,这种处理机称为多操作部件
2、处理机或超标量这种处理机称为多操作部件处理机或超标量处理机处理机;时间并行性:就是采用流水线技术。流水线时间并行性:就是采用流水线技术。流水线技术是一种非常经济、对提高处理机的运算技术是一种非常经济、对提高处理机的运算速度非常有效的技速度非常有效的技 术。采用流水线技术可以术。采用流水线技术可以不增加硬件或只需要增加少量硬件就能够把不增加硬件或只需要增加少量硬件就能够把处理机的运算速度提高几倍处理机的运算速度提高几倍 它是目前使用非常普遍的一种并行处理方式。它是目前使用非常普遍的一种并行处理方式。本章学习标量计算机上使用的流水加速技术。主要内本章学习标量计算机上使用的流水加速技术。主要内容有流
3、水技术的分类、流水线性能指标计算、非线性流水容有流水技术的分类、流水线性能指标计算、非线性流水线的调度算法。线的调度算法。标量计算机指只能直接进行标量运算的计算机,与能标量计算机指只能直接进行标量运算的计算机,与能够直接进行向量运算的向量计算机相对应。够直接进行向量运算的向量计算机相对应。流水处理方式的特征,是让多个依次启动的任务,尽流水处理方式的特征,是让多个依次启动的任务,尽量同时使用系统的不同部件,通过时间重叠来提高处理速量同时使用系统的不同部件,通过时间重叠来提高处理速率。这种技术理论上不增加成本。率。这种技术理论上不增加成本。标量计算机上使用的流水加速技术属于指令级并行技标量计算机上
4、使用的流水加速技术属于指令级并行技术。术。每条指令的处理过程,可以划分为取指、译码、每条指令的处理过程,可以划分为取指、译码、取数、运算、送结果取数、运算、送结果5 5个子过程,也可以分得更细个子过程,也可以分得更细或更粗一些。划分的原则是各部分时间长度大致或更粗一些。划分的原则是各部分时间长度大致相等、并使用相等、并使用CPUCPU中不同的部件,这样才有利于多中不同的部件,这样才有利于多任务重叠处理。任务重叠处理。基本名词术语基本名词术语标量处理机,超标量处理机:标量处理机指只能进行标量标量处理机,超标量处理机:标量处理机指只能进行标量运算的处理机,超标量处理机指能在一个时钟周期内同时运算的
5、处理机,超标量处理机指能在一个时钟周期内同时发射多条指令的处理机;发射多条指令的处理机;指令级并行技术:指能使多条指令并行执行的技术,包括指令级并行技术:指能使多条指令并行执行的技术,包括流水技术、多操作部件技术和超长指令字技术;流水技术、多操作部件技术和超长指令字技术;流水线处理机,超流水线处理机:流水线处理机指用流水流水线处理机,超流水线处理机:流水线处理机指用流水作业方式并行解释多条指令的处理机,超流水线处理机指作业方式并行解释多条指令的处理机,超流水线处理机指能在一个时钟周期内分时发射多条指令的处理机;能在一个时钟周期内分时发射多条指令的处理机;超长指令字技术超长指令字技术VLIW:指
6、让一条指令包含多个独立的操作:指让一条指令包含多个独立的操作字段,并且分别控制多个功能部件并行工作的技术。字段,并且分别控制多个功能部件并行工作的技术。一重叠解释方式一重叠解释方式1.1.一条指令的几个过程段一条指令的几个过程段 1 1)取取指指令令:根根据据PCPC(指指令令计计数数器器)从从M M(存存储储器器)取取出指令送到出指令送到IRIR(指令寄存器)(指令寄存器)2 2)译译码码分分析析:译译出出指指令令的的操操作作性性质质,准准备备好好所所需需数数据据 3 3)执执行行:将将准准备备好好的的数数按按译译出出性性质质进进行行处处理理,主主要要涉及涉及ALUALU(算术逻辑运算部件)
7、(算术逻辑运算部件)2.2.对指令执行的几种方式对指令执行的几种方式1 1)顺序执行)顺序执行 (传统机采用传统机采用)只只有有在在前前一一条条指指令令的的各各过过程程段段全全部部完完成成后后,才才从存储器取出下一条指令从存储器取出下一条指令 2)仅仅两两条条指指令令重重叠叠:第第i i条条指指令令的的执执行行与与第第i+1i+1条条的的取取指指重叠。重叠。3)三三条条指指令令重重叠叠:第第i i条条指指令令的的执执行行与与第第i+1i+1条条的的译译码码及及第第i+2i+2条的取指重叠条的取指重叠。取 译 执 取 译 执 i条 i+1条 i条取译执 i+1条取译执 i+2条取译执i条取译执取
8、译执 i+1条 若一条指令的过程段划分更多时,重叠组合方式更多。若一条指令的过程段划分更多时,重叠组合方式更多。重重叠叠解解释释并并不不能能加加快快一一条条指指令令的的实实现现,但但能能加加快快一一段段程序的解释。程序的解释。3.重叠方式中所需时间表达式及所需时间计算重叠方式中所需时间表达式及所需时间计算1 1)条条件件:设设一一条条指指令令分分为为三三个个过过程程段段,各各过过程程段段分分别别用用t t取取、t t译译、t t执执表示。表示。执执行行K K条条指指令令,分分别别采采用用顺顺序序执执行行、两两条条重重叠叠、三条重叠。三条重叠。假设假设:各个功能段时间相同各个功能段时间相同,公式
9、见教材公式见教材P285P285各个功能段时间不相同各个功能段时间不相同,公式见公式见顺序执行顺序执行 k*k*(t t取取+t+t译译+t+t执)执)两条重叠两条重叠 t t取取+k*t+k*t译译+(k-1)*(t+(k-1)*(t取取,t,t执执)max+t)max+t执执三条重叠三条重叠 t t取取+(t+(t译译,t,t取取)max+(k-2)*)max+(k-2)*(t t取取,t,t译译,t ,t 执)执)max+(tmax+(t执执,t,t译译)max+t)max+t执执3)3)例子例子 当当k=200k=200,t t取取=3t=3t,t t译译=4t=4t,t t执执=5t
10、=5t,时,时,分别计算上述三种执行方式的时间。分别计算上述三种执行方式的时间。顺序执行:顺序执行:200200(3+4+5)=2400t(3+4+5)=2400t 两条重叠:两条重叠:3+2003+2004+(200-1)4+(200-1)5+5=1803t5+5=1803t 三条重叠:三条重叠:3+4+(200-2)3+4+(200-2)5+5+5=1007t5+5+5=1007t4 4 重叠方式需要解决的问题重叠方式需要解决的问题1 1)对存储器的频繁访问)对存储器的频繁访问 有有哪哪些些访访问问:取取指指令令、取取操操作作数、存放执行结果数、存放执行结果,I/O,I/O通道访问通道访问
11、.希希望望存存储储器器为为多多体体结结构构,以以适适应多种访问源的需要。应多种访问源的需要。当当存存储储器器为为单单体体结结构构时时,需需要要将访问源排队,先后顺序为:将访问源排队,先后顺序为:取取指指令令、取取数数据据、I/OI/O通通道道访访问问、存存结果结果先行控制(先行控制(look-ahead)技术最早在)技术最早在IBM公司研制的公司研制的STRETCH机器中采用。目前,许多处理机中都已经采用机器中采用。目前,许多处理机中都已经采用了这种技术,包括超流水处理机和超标量处理机等。了这种技术,包括超流水处理机和超标量处理机等。先行控制技术的关键是缓冲技术和预处理技术,以及两先行控制技术
12、的关键是缓冲技术和预处理技术,以及两者的结合。者的结合。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。缓冲栈,用以平滑它们的工作。预处理技术是把进入运算器的指令都处理成寄存器寄预处理技术是把进入运算器的指令都处理成寄存器寄存器(存器(RR型)指令,为进入运算器的指令准备好所需要型)指令,为进入运算器的指令准备好所需要的全部操作数的全部操作数。6.1 6.1 先行控制技术先行控制技术采用先行控制方式的处理机结构采用先行控制方式的处理机结构2)应具有先行控制部件)应具有先行控制部件 先先行行:在在重重叠叠操操作作中中,当
13、当前前一一条条指指令令在在执执行行过过程程中中就就需需要要提提前前取取出出后后面面的的指指令令进进行行相相应应处处理理,这这种种提提前取出后继指令进行相应处理,称为先行。前取出后继指令进行相应处理,称为先行。先行控制部件的主要包括先行控制部件的主要包括)先先行行地地址址站站,包包括括先先行行指指令令地地址址站站和和先先行行操操作作数数地址站;地址站;)先行指令站,用来存放多条指令;先行指令站,用来存放多条指令;)先行操作数站先行操作数站,用来存放多个操作数;用来存放多个操作数;)先行地址形成部件,用来形成先行指令地址先行地址形成部件,用来形成先行指令地址 以及先行操作数地址;以及先行操作数地址
14、;)先行操作码译码站,用来完成对多条指令的先行操作码译码站,用来完成对多条指令的 译码并保留译码输出状态。译码并保留译码输出状态。也应具有后行部件也应具有后行部件 后行部件:对指令执行后的结果进行处理的器件,称后行部件:对指令执行后的结果进行处理的器件,称 后行部件。包括:后行部件。包括:后行数地址站,提供后行数存放地址。后行数地址站,提供后行数存放地址。后行数站,存放运行的结果,并且,这些结果需送存后行数站,存放运行的结果,并且,这些结果需送存 储器。储器。6.2.1 基本思想6.2 流水处理的概念6.2.2 流水技术流水技术 流水技术流水技术:将一个重复的时序过程分解成为若干个子过:将一个
15、重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。子过程同时执行。时空图时空图:从时间和空间两个方面描述了流水线的工作从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。线的各个段。CPU中的各个部件按流水处理顺序连接起来,就称为一中的各个部件按流水处理顺序连接起来,就称为一条条流水线流水线。6.2.3 流水线工作原理流水线工作原理流水线方式是把一个复杂的过程分解为若干个子过流水线方式是把一个复杂的过程分解为若干
16、个子过程,每个子过程与其他子过程同时进行。程,每个子过程与其他子过程同时进行。处理机解释程序的方式有顺序方式、重叠方式、流处理机解释程序的方式有顺序方式、重叠方式、流水方式等水方式等 顺序方式是解释完一条指令再开始解释下一条;顺序方式是解释完一条指令再开始解释下一条;流水方式是把一个重复的过程分解为若干个子过程,流水方式是把一个重复的过程分解为若干个子过程,每个子过程可以与其它子过程同时进行,以此提高每个子过程可以与其它子过程同时进行,以此提高单位时间内解释指令的数目;单位时间内解释指令的数目;重叠方式是一种简单的流水方式,它把指令分成重叠方式是一种简单的流水方式,它把指令分成2个子过程个子过
17、程 每条指令只与下一条指令相重叠。每条指令只与下一条指令相重叠。重叠方式流水线重叠方式流水线当分析部件完成上一条指令的当分析部件完成上一条指令的“分析分析”后,就立即将之送入后,就立即将之送入执行部件,同时分析部件可以开始处理下一条指令。执行部件,同时分析部件可以开始处理下一条指令。虽然从执行一条指令的全过程来看,仍需要虽然从执行一条指令的全过程来看,仍需要2t的的时间时间,但从,但从机器的机器的输输出端来看,却是每隔一个出端来看,却是每隔一个t就能就能给给出一条指令的出一条指令的执执行行结结果。果。流水线结构图 流水线工作时空图流水线工作时空图 6.2.4 6.2.4 流水线的特点流水线的特
18、点1.流水过程由多个相联系的子过程组成,每个子过程称流水过程由多个相联系的子过程组成,每个子过程称为流水线的级或段,段的数目称为流水线的深度。为流水线的级或段,段的数目称为流水线的深度。2.在流水线中处理的必须是连续任务,只有不断的提供在流水线中处理的必须是连续任务,只有不断的提供任务才能充分发挥流水线的效率。任务才能充分发挥流水线的效率。3.把一个任务分解为几个有联系的子任务,每个子任务把一个任务分解为几个有联系的子任务,每个子任务由一个专门的功能部件来实现。由一个专门的功能部件来实现。4.在流水线的每一个功能部件的后面都要有一个缓冲器,在流水线的每一个功能部件的后面都要有一个缓冲器,用于保
19、存本段的执行结果。用于保存本段的执行结果。5.5.各个功能段所需时间应尽量相等,否则时间长的功能各个功能段所需时间应尽量相等,否则时间长的功能各个功能段所需时间应尽量相等,否则时间长的功能各个功能段所需时间应尽量相等,否则时间长的功能段将成为流水线的段将成为流水线的段将成为流水线的段将成为流水线的“瓶颈瓶颈瓶颈瓶颈”,会造成流水线的,会造成流水线的,会造成流水线的,会造成流水线的“堵塞堵塞堵塞堵塞”和和和和“断流断流断流断流”。这个时间一般为一个时钟周期(节拍)。这个时间一般为一个时钟周期(节拍)。这个时间一般为一个时钟周期(节拍)。这个时间一般为一个时钟周期(节拍)。6.流水线需要有流水线需
20、要有“装入时间装入时间”和和“排空时间排空时间”。6.3 6.3 流水技术的分类流水技术的分类1)按各过程段用时是否全等划分)按各过程段用时是否全等划分 均匀流水线:各过程段用时全等均匀流水线:各过程段用时全等 非均匀流水线:各过程段用时不全等(如非均匀流水线:各过程段用时不全等(如上图)上图)时间匹配的均匀流水线。)时间匹配的均匀流水线。)时间不匹配的非均匀流水线。)时间不匹配的非均匀流水线。2)按处理的数据类型)按处理的数据类型标标量量流流水水线线:用用于于对对标标量量数数据据进进行行流流水水处处理。理。向向量量流流水水线线:用用于于对对向向量量数数据据进进行行流流水水处处理。(向量很适合
21、流水处理)理。(向量很适合流水处理)3)按流水线的规模)按流水线的规模操操作作流流水水线线:如如将将一一条条指指令令划划分分为为多多个个过过程段进行流水处理。规模最小程段进行流水处理。规模最小指指令令流流水水线线:以以指指令令为为单单位位进进行行处处理理,用用于多进程、多任务。规模较大于多进程、多任务。规模较大 宏宏流流水水线线:以以程程序序的的逻逻辑辑功功能能段段为为单单位位进行流水处理。规模最大进行流水处理。规模最大4)按流水线具有功能的多少)按流水线具有功能的多少 单单功功能能流流水水线线:各各过过程程段段之之间间固固定定连连接接,不能重新构成其它流水线不能重新构成其它流水线固定流水线固
22、定流水线 多功能流水线分:多功能流水线分:静静态态流流水水线线:各各过过程程段段之之间间可可重重新新连连接接,但不同时刻只能重构成一种不同的流水线。但不同时刻只能重构成一种不同的流水线。动动态态流流水水线线:各各过过程程段段之之间间可可重重新新连连接接,不同时刻可重构成多种流水线。不同时刻可重构成多种流水线。5)按部件在同一时刻送出支路数的多少来分。)按部件在同一时刻送出支路数的多少来分。一一维维流流水水线线:在在同同一一时时刻刻,部部件件只只能能向向一个地方传送结果。一个地方传送结果。阵阵列列流流水水线线:在在同同一一时时刻刻,部部件件可可同同时时向多个地方传送结果。向多个地方传送结果。5.
23、4.5 5.4.5“瓶颈瓶颈”问题及其解决方法问题及其解决方法瓶颈:瓶颈就是瓶颈:瓶颈就是titi最大的段,它使流水线最大的段,它使流水线“流流速速”减慢。减慢。S1S1S2S2S3S3S4S4tt3t3t tttt方法方法1 1:再细分:再细分 将瓶颈设备再细分为下一级将瓶颈设备再细分为下一级流水线流水线S1S1S2aS2aS2bS2bS2cS2cS3S3S4S4tttttttttttt方法方法2 2:并行设置:并行设置 将瓶颈设备重复设置多套。将瓶颈设备重复设置多套。衡量流水线的主要指标有吞吐率,加速比和效率。衡量流水线的主要指标有吞吐率,加速比和效率。6.4.1 6.4.1 吞吐率吞吐率
24、TPTP吞吐率(吞吐率(TP ThroughPut)指流水线在单位时间内执行的任务数,)指流水线在单位时间内执行的任务数,可以用输入任务数或输出任务数表示。可以用输入任务数或输出任务数表示。其中其中k表示流水线划分的段数。表示流水线划分的段数。当满足当满足 条件时,有条件时,有。6.4 6.4 线性流水线性能分析线性流水线性能分析 S4 1 2 3 4 N-1 N S3 1 2 3 4 N-1 N S2 1 2 3 4 N-1 N S1 1 2 3 4 N-1 N 时间 KT (N-1)T NT (K-1)T Tk 流水线产生流水线产生n n个结果所需要的时间:个结果所需要的时间:实际吞吐率实
25、际吞吐率:最大吞吐率:最大吞吐率:最大吞吐率与实际吞吐率的关系:最大吞吐率与实际吞吐率的关系:(1 1)流水线各段的执行时间相等流水线各段的执行时间相等 实际吞吐率:实际吞吐率:最大吞吐率:最大吞吐率:(2 2)流水线各段的执行时间不等流水线各段的执行时间不等6.4.2 6.4.2 加速比(即吞吐率之比,)加速比(即吞吐率之比,)不使用流水线所用的时间与使用流水线所用的时间之比不使用流水线所用的时间与使用流水线所用的时间之比一般表示:一般表示:s=Ts=T0 0/T/TK K其中其中 实际加速比:实际加速比:最大加速比:最大加速比:段效率:,各段平均效率:其中 表示第i段设备量占整条流水线全部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 流水线
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内