计算机组成原理-第17-18讲(第5章)_第1页
计算机组成原理-第17-18讲(第5章)_第2页
计算机组成原理-第17-18讲(第5章)_第3页
计算机组成原理-第17-18讲(第5章)_第4页
计算机组成原理-第17-18讲(第5章)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理计算机组成原理计算机学院1l在在CPUCPU(运算控制器)逻辑框图中,由(运算控制器)逻辑框图中,由“时序控时序控制信号形成部件制信号形成部件”产生控制计算机各部分操作所产生控制计算机各部分操作所需的控制信号。这个部件的组成一般有两种方式,需的控制信号。这个部件的组成一般有两种方式,一种为一种为微程序控制方式微程序控制方式;另一种为;另一种为硬布线控制方硬布线控制方式式,l硬布线控制方式是通过逻辑电路直接连线而产生硬布线控制方式是通过逻辑电路直接连线而产生控制信号的,所以又称为组合逻辑控制方式。本控制信号的,所以又称为组合逻辑控制方式。本节主要讨论硬布线控制方式与微程序控制的差别

2、节主要讨论硬布线控制方式与微程序控制的差别上,相同部分不在重复。上,相同部分不在重复。计算机组成原理计算机组成原理计算机学院2l一条加法指令的实现可分成取指、计算地址、取一条加法指令的实现可分成取指、计算地址、取数及执行等几个步骤,在微程序中,每一步由一数及执行等几个步骤,在微程序中,每一步由一条微指令实现;在硬布线控制方式中由指令的操条微指令实现;在硬布线控制方式中由指令的操作码直接控制并产生实现上述各步骤所需的控制作码直接控制并产生实现上述各步骤所需的控制信号。在大部分情况下,每一步由一个机器周期信号。在大部分情况下,每一步由一个机器周期实现,实现,如何区分一条指令的四个机器周期呢?如何区

3、分一条指令的四个机器周期呢?可可以采用两位计数器的译码输出来表示当前所处的以采用两位计数器的译码输出来表示当前所处的机器周期。机器周期。计算机组成原理计算机组成原理计算机学院3计算机组成原理计算机组成原理计算机学院4也可用四个触发器来分别表示四个周期,当机器也可用四个触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于处于某一周期时,相应的触发器处于“1”1”状态,状态,而其余三个触发器处于而其余三个触发器处于“0”0”状态,四位移位寄存状态,四位移位寄存器即可实现此功能。器即可实现此功能。设以设以cy1,cy2,cy3,cy4cy1,cy2,cy3,cy4分别表示四个机器周期,在

4、分别表示四个机器周期,在初始化初始化resetreset)时,令)时,令cy1cy1处于处于“1”1”状态,其余的状态,其余的均处于均处于“0”0”状态,即机器处于取指周期,然后实状态,即机器处于取指周期,然后实现循环移位,可保证四个触发器中有一位且仅有现循环移位,可保证四个触发器中有一位且仅有一位处于一位处于“1”1”状态状态计算机组成原理计算机组成原理计算机学院5然而由于每条指令的功能不同,所需的机器周期数可能就不然而由于每条指令的功能不同,所需的机器周期数可能就不相同,因此某些指令可能缺少某个周期,而有些复杂指令则相同,因此某些指令可能缺少某个周期,而有些复杂指令则需延长,从而使得上述计

5、数器或移位寄存器的工作时序发生需延长,从而使得上述计数器或移位寄存器的工作时序发生变化,而且其变化规律与指令有关。变化,而且其变化规律与指令有关。例如,执行例如,执行A A指令时需要四个机器周期,因此计数器的变化指令时需要四个机器周期,因此计数器的变化规律是规律是0001101100011011;而执行而执行B B指令时仅需三个机器周期(假如不用计算地址),指令时仅需三个机器周期(假如不用计算地址),因此计数器的变化规律是因此计数器的变化规律是001011001011。根据根据A,B指令计数器状态变化真值表指令计数器状态变化真值表列出表达式。列出表达式。计算机组成原理计算机组成原理计算机学院6

6、A A指令指令B B指令指令cyA cyBcyA cyBcyA cyBcyA cyB0 00 10 11 0 0 01 0 1 01 11 01 11 10 01 10 0计算机组成原理计算机组成原理计算机学院7对于对于A A指令,其表达式为:指令,其表达式为: 对于对于B B指令,其表达式为指令,其表达式为 cyBcyAcyBcyAcyAcyBcyAcyBcyAcyBcyBcyAcyBcyAcyAcyBcyAcyB计算机组成原理计算机组成原理计算机学院8译码器输出产生毛刺的原因及处理方法译码器输出产生毛刺的原因及处理方法计算机组成原理计算机组成原理计算机学院91.1.操作码译码器操作码译码器

7、指令由操作码与地址码两部分组成,其中操作码表示当前指令由操作码与地址码两部分组成,其中操作码表示当前执行的是什么指令,例如加法指令还是减法指令。假如操执行的是什么指令,例如加法指令还是减法指令。假如操作码有作码有7 7位,则最多可表示位,则最多可表示128128条指令,一般在机器设置一条指令,一般在机器设置一个指令译码器,其输入为个指令译码器,其输入为7 7位操作码,输出有位操作码,输出有128128根线,在根线,在任何时候,有且仅有一根线为高电位,其余均为低电位任何时候,有且仅有一根线为高电位,其余均为低电位(或一根线为低电位,其余为高电位),每根输出线表示(或一根线为低电位,其余为高电位)

8、,每根输出线表示一条指令,因此译码器的输出反映当前正在执行的指令。一条指令,因此译码器的输出反映当前正在执行的指令。计算机组成原理计算机组成原理计算机学院10由译码器的输出由译码器的输出和机器周期状态和机器周期状态cy1cy1cy4cy4作为输作为输入,使用逻辑电入,使用逻辑电路产生操作控制路产生操作控制信号。信号。计算机组成原理计算机组成原理计算机学院112.2.操作控制信号的产生操作控制信号的产生主要讨论主要讨论“组合逻辑电路组合逻辑电路”的组成。的组成。仍以执行一条加法指令为例,假设一条加法指令的仍以执行一条加法指令为例,假设一条加法指令的功能是由四个机器周期功能是由四个机器周期cy1c

9、y1cy4cy4完成的,分别为取完成的,分别为取指、计算有效地址、取操作数、进行加法运算并送指、计算有效地址、取操作数、进行加法运算并送结果。结果。 计算机组成原理计算机组成原理计算机学院12(1 1)取指周期操作指令(用逻辑式表示)取指周期操作指令(用逻辑式表示) cy1=PCABcy1=PCAB cy1 cy1T1=ADST1=ADS cy1=M/IO# cy1=M/IO# cy1=W/R# cy1=W/R# cy1=DBIR cy1=DBIR cy1 = = PC+1计算机组成原理计算机组成原理计算机学院13(2 2)计算有效地址(用逻辑式表示)计算有效地址(用逻辑式表示) 加法指令加法

10、指令cy2=rs1GRcy2=rs1GR 加法指令加法指令cy2= (rs1)ALUcy2= (rs1)ALU :加法指令加法指令cy2=ALUAR 计算机组成原理计算机组成原理计算机学院14对所有指令的全部表达式进行综合分析后可得出如对所有指令的全部表达式进行综合分析后可得出如下结论:下结论:(1 1)取指周期)取指周期cy1cy1所产生的信号,对所有指令都是所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。简单的形式。(2 2)通常,同一个控制信号在若干条指令的某些)通常,同一个控制信号在若干条指令的某些周期中都

11、需要,为此需要把它们组合起来。周期中都需要,为此需要把它们组合起来。计算机组成原理计算机组成原理计算机学院15例如,例如,“+”+”命令在加法指令的命令在加法指令的cy2cy2与与cy4cy4时需要;在减法指时需要;在减法指令的令的cy2cy2时需要;在转移指令的时需要;在转移指令的cy2cy2时需要;时需要;用逻辑表达式如下:用逻辑表达式如下:“+”=+”=加法指令加法指令(cy2+cy4)+cy2+cy4)+减法指令减法指令cy2+cy2+转移指转移指cy2+cy2+ = =加法指令加法指令cy2+cy2+加法指令加法指令cy4+cy4+ 减法指令减法指令 cy2 + cy2 +转移指令转

12、移指令cy2+cy2+,上式中的加法指令、减法指令等信号通常由操作码译码器输上式中的加法指令、减法指令等信号通常由操作码译码器输出,译码器实际上是由各操作码的二进制代码作为输入的一出,译码器实际上是由各操作码的二进制代码作为输入的一组组“与门与门”。 计算机组成原理计算机组成原理计算机学院16设某机有设某机有7 7位操作码(位操作码(OP0OP0OP6)OP6),已知加法指令的操作码为已知加法指令的操作码为00011000001100,则形成加法指令信号的,则形成加法指令信号的逻辑表达式为:逻辑表达式为:(3 3)同种类型的指令所需的控制信号大部分是相同的,仅)同种类型的指令所需的控制信号大部

13、分是相同的,仅有少量区别,例如算术运算中的加法指令(有少量区别,例如算术运算中的加法指令(ADDADD)和减法指)和减法指令(令(SUBSUB),除了一个),除了一个“+”+”命令与命令与“-”-”命令信号以外,其命令信号以外,其余的控制信号全部相同。余的控制信号全部相同。 7643210OPOPOPOPOPOPOP加法指令计算机组成原理计算机组成原理计算机学院17例如,某机有例如,某机有128128条指令,条指令,7 7位操作码(位操作码(OP0OP0OP6)OP6),其中有十六条算术逻辑运算指令,那么可以令这其中有十六条算术逻辑运算指令,那么可以令这些指令的三位操作码完全相等(例如些指令的

14、三位操作码完全相等(例如OP0OP0OP2OP2为为001001),而),而OP3OP3OP6OP6分别表示分别表示1616条指令,设命令条指令,设命令A是所有算术逻辑运算指令在是所有算术逻辑运算指令在cy2周期中都需要产生周期中都需要产生的,则:的,则: 计算机组成原理计算机组成原理计算机学院18A=A=加法指令加法指令cy2+cy2+减法指令减法指令cy2+cy2+逻辑加指逻辑加指令令cy2+cy2+ = =(加法指令(加法指令+ +减法指令减法指令+ +逻辑加指令逻辑加指令+ +) cy2 cy2 从从16项化简成项化简成1项,用一个与门即可实现。项,用一个与门即可实现。 2210cyO

15、POPOP计算机组成原理计算机组成原理计算机学院19计算机组成原理计算机组成原理计算机学院20l1.1.指令操作码的代码分配指令操作码的代码分配 指令系统确定后,指令操作码的分配对组合逻辑电路的指令系统确定后,指令操作码的分配对组合逻辑电路的组成影响很大,合理地分配操作码能节省控制部分的电组成影响很大,合理地分配操作码能节省控制部分的电路、减少延迟时间。路、减少延迟时间。l2.2.确定机器周期、节拍与主频确定机器周期、节拍与主频 一般情况下,机器的周期基本上是根据存储器的速度及一般情况下,机器的周期基本上是根据存储器的速度及执行周期的基本时间确定的。随之确定机器的主频、每执行周期的基本时间确定

16、的。随之确定机器的主频、每一机器周期的节拍与时钟数。一机器周期的节拍与时钟数。计算机组成原理计算机组成原理计算机学院21l3.3.根据指令功能,确定每一条指令所需的机器周根据指令功能,确定每一条指令所需的机器周期以及每一周期所完成的操作期以及每一周期所完成的操作 在确定每条指令在每一机器周期所完成的操作时,在确定每条指令在每一机器周期所完成的操作时,也就得出了相应的操作控制命令。该命令的一般也就得出了相应的操作控制命令。该命令的一般表达式(允许有空位)为:表达式(允许有空位)为: 操作控制命令名操作控制命令名= =指令名指令名* *机器周期机器周期* *节拍节拍* *条件条件计算机组成原理计算

17、机组成原理计算机学院22例如,在采用例如,在采用“加减交替法加减交替法”进行除法运算时,根进行除法运算时,根据上次运算结果的符号,决定本次执行加法运算还据上次运算结果的符号,决定本次执行加法运算还是减法运算,表达式为:是减法运算,表达式为: “ “+”+”操作命令操作命令= =除法指令除法指令* *cy4cy4* *N N “ “-”操作命令操作命令=除法指令除法指令*cy4*N 计算机组成原理计算机组成原理计算机学院234.4.综合所有指令的每一个操作命令,写出逻辑表达式,并化综合所有指令的每一个操作命令,写出逻辑表达式,并化简之。简之。例如:例如:“+”+”操作命令,在考虑了乘法和除法指令

18、后,将增加操作命令,在考虑了乘法和除法指令后,将增加表达式内容如下:表达式内容如下: “+”=+”=加法指令加法指令* *(cy2+cy4cy2+cy4)+ +减法指令减法指令* *cy2+cy2+转移指令转移指令* *cy2cy2 + +乘法指令乘法指令* *(cy2+cy4cy2+cy4* *y31)+y31)+除法指令除法指令* *(cy2+cy4cy2+cy4* *N N)+ +式中式中y31y31为乘数寄存器的最低位内容为乘数寄存器的最低位内容计算机组成原理计算机组成原理计算机学院24l硬布线控制器与微程序控制器,除了操作控制信硬布线控制器与微程序控制器,除了操作控制信号的形成方法和

19、原理有差别外,其余的组成部分号的形成方法和原理有差别外,其余的组成部分没有本质上的区别。没有本质上的区别。 硬布线控制与微程序控制之间的最显著差异可归硬布线控制与微程序控制之间的最显著差异可归纳为两点纳为两点计算机组成原理计算机组成原理计算机学院251.1.实现实现微程序控制器的控制功能是在存放微程序的控制器微程序控制器的控制功能是在存放微程序的控制器和存放当前正在执行的微指令的寄存器直接控制下和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。前者实现的,而硬布线控制则由逻辑门组合实现。前者电路比较完整,硬布线控制器的控制信号先用逻辑电路比较完整,硬布线控制器

20、的控制信号先用逻辑式列出,经化简后用电路实现,因而显得零乱且复式列出,经化简后用电路实现,因而显得零乱且复杂,当需修改指令或增加指令时是很麻烦的,有时杂,当需修改指令或增加指令时是很麻烦的,有时甚至没有可能,因此微程序控制得到广泛应用。尤甚至没有可能,因此微程序控制得到广泛应用。尤其是指令系统复杂的计算机,一般都采用微程序来其是指令系统复杂的计算机,一般都采用微程序来实现控制功能实现控制功能 计算机组成原理计算机组成原理计算机学院262.2.性能性能在同样的半导体工艺条件下,微程序控制的速度比在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,那是因为执行每条微指令要硬布线控制的速

21、度低,那是因为执行每条微指令要从控存中读取一次,影响了速度,而硬布线逻辑主从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟。要取决于电路延迟。计算机组成原理计算机组成原理计算机学院27l控制器控制一条指令运行的过程是依次执行一个控制器控制一条指令运行的过程是依次执行一个确定的微操作序列的过程。确定的微操作序列的过程。 控制器的控制方式:如何形成控制不同微操作序控制器的控制方式:如何形成控制不同微操作序列的时序控制信号的方法。常用的有列的时序控制信号的方法。常用的有同步控制方同步控制方式式、异步控制方式异步控制方式和和联合控制方式联合控制方式。 计算机组成原理计算机组成原理计算机学院

22、281.1.同步控制方式同步控制方式 一条已定的指令在执行时所需的机器周期数和节拍一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的,则称为数都是固定不变的,则称为同步控制方式同步控制方式。 同步控制方式可以选取的方案:同步控制方式可以选取的方案: (1 1)采用完全统一的机器周期执行各种不同的指)采用完全统一的机器周期执行各种不同的指令;令; (2 2)采用不同节拍的机器周期,以解决微操作执)采用不同节拍的机器周期,以解决微操作执行所需时间不统一的问题;行所需时间不统一的问题; (3)采用中央控制和局部控制相结合的方法。)采用中央控制和局部控制相结合的方法。 计算机组成原理计算机组

23、成原理计算机学院29将机器的大部分指令安排在一个统一的较短的机器将机器的大部分指令安排在一个统一的较短的机器周期内完成,称为周期内完成,称为中央控制中央控制,而将少数操作复杂的,而将少数操作复杂的指令中的某些微操作作另行处理称为指令中的某些微操作作另行处理称为局部控制局部控制。 2.2.异步控制方式异步控制方式 每条指令,每个微操作需要多少时间就占用多少时每条指令,每个微操作需要多少时间就占用多少时间,即控制器发出进行某一微操作控制信号后,等间,即控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的待执行部件完成该操作后发回的“回答回答”或或“结束结束”信号,再开始新的微操作,称

24、为信号,再开始新的微操作,称为异步控制方式异步控制方式。 计算机组成原理计算机组成原理计算机学院303.3.联合控制方式联合控制方式 同步控制和异步控制相结合的方式。对不同指令的同步控制和异步控制相结合的方式。对不同指令的各个微操作实行大部分统一、小部分区别对待的方各个微操作实行大部分统一、小部分区别对待的方式。式。 4.4.人工控制方式人工控制方式 为了调机和软件开发的需要,在计算机面板或内部为了调机和软件开发的需要,在计算机面板或内部往往设置一些开关或按键以进行人工控制。最常见往往设置一些开关或按键以进行人工控制。最常见的有的有resetreset按键、连续执行或单条指令执行的转换按键、连

25、续执行或单条指令执行的转换开关、符合停机开关等。开关、符合停机开关等。 计算机组成原理计算机组成原理计算机学院31l1.1.流水线基本工作原理流水线基本工作原理 l计算机执行程序是按顺序的方式进行的,即程序计算机执行程序是按顺序的方式进行的,即程序中各条机器指令是按顺序串行执行的。如果按四中各条机器指令是按顺序串行执行的。如果按四个周期完成一条指令来考虑,其执行过程如下:个周期完成一条指令来考虑,其执行过程如下: 取指取指1 1计算地址计算地址1 1取操作数取操作数1 1计算存结果计算存结果1 1取指取指2 2计算地址计算地址2 2计算机组成原理计算机组成原理计算机学院32在某些计算机中,在某

26、些计算机中,CPUCPU分成指令部件分成指令部件I I和执行部件和执行部件E E,指令部件完成取指和指令译码等操作,执行部件完指令部件完成取指和指令译码等操作,执行部件完成运算和保存结果等操作。如按指令部件和执行部成运算和保存结果等操作。如按指令部件和执行部件顺序操作来考虑可将程序的执行过程表示如下:件顺序操作来考虑可将程序的执行过程表示如下: I I1 1E E1 1I I2 2E E2 2计算机组成原理计算机组成原理计算机学院33程序是按指令的顺序执行完一条再执行下一条的,程序是按指令的顺序执行完一条再执行下一条的,顺序执行的优点是控制简单,但是机器各部分的利顺序执行的优点是控制简单,但是

27、机器各部分的利用率不高。例如,指令部件(用率不高。例如,指令部件(I I)工作时,执行部)工作时,执行部件(件(E E)基本空闲;而执行部件工作时,指令部件)基本空闲;而执行部件工作时,指令部件基本空闲。假如把两条或若干条指令在时间上重叠基本空闲。假如把两条或若干条指令在时间上重叠起来进行,将大幅度提高程序的执行速度。起来进行,将大幅度提高程序的执行速度。 将部件分解、隔离,指令分步骤在不同部件中重叠执行将部件分解、隔离,指令分步骤在不同部件中重叠执行是实现流水线结构的核心思想。是实现流水线结构的核心思想。l按流水线功能多少分类l单功能流水线:单功能流水线:一条流水线只能完成一种单一的一条流水

28、线只能完成一种单一的任务。任务。l多功能流水线:多功能流水线:能够改变部件之间的连接,从而能够改变部件之间的连接,从而达到改变其功能的流水线。达到改变其功能的流水线。l1)静态流水线:)静态流水线:当执行某一规定功能的指令全当执行某一规定功能的指令全部流出后,才允许改变部件间连接的多功能流水部流出后,才允许改变部件间连接的多功能流水线。线。l2)动态流水线:)动态流水线:可以在任何时候根据需要改变可以在任何时候根据需要改变其部件连接的多功能流水线。其部件连接的多功能流水线。l按功能部件能否通过反馈进行重复使用分类l线性流水线:是在部件上是在部件上无反馈连接的流水线。在这种的流水线。在这种流水线

29、中,流水线中,指令依次通过各个部件仅一次。目前。目前CPU内内所使用的流水线绝大部分都是这类流水线。所使用的流水线绝大部分都是这类流水线。l非线性流水线:是指在各部件除了串行的连接外,还通是指在各部件除了串行的连接外,还通过反馈线使某些部件得以重复使用。指令在通过这种流过反馈线使某些部件得以重复使用。指令在通过这种流水线时,水线时,可能在反馈部件上重复运行若干次。l关于流水线的分类还有多种,具体可以参见教材。关于流水线的分类还有多种,具体可以参见教材。时空图时空图:时空图是分析流水线性能的基本工具,可以直观地表现流水线的工作过程。横轴表示时间时间,可以以时钟周期为单位时钟周期为单位;纵轴表示空

30、间纵轴表示空间,以功能部件为单功能部件为单位位。图中每一个方格称为一个时空区时空区。时间 t4t5 t3 t2 t1 0空间指令执行 指令分析 分析k 分析k+1 分析k+2 分析k+3 执行k 执行k+3 执行k+2 执行k+12级流水线工作时空图l线性流水线的性能分析l1吞吐率l把流水线在单位时间内完成的任务量把流水线在单位时间内完成的任务量定义为吞吐率定义为吞吐率。l式中,式中,n为完成任务的总数,在指令流水线中就是完成的为完成任务的总数,在指令流水线中就是完成的指令总条数;指令总条数;Tk是完成是完成n个任务所用的时间。个任务所用的时间。kTnTP l一条一条k级的流水线,执行级的流水

31、线,执行n条指令所需的总时间为条指令所需的总时间为l(没有考虑相关瓶颈)n-1 123nn-1123nn-1123nn-1123n k t (n-1)tn t (k-1)tTk时间空间S1S2S3S4各级执行时间相等流水线的时空图tnkTkD D- - ) 1(l所以,对一条各级执行时间相等的所以,对一条各级执行时间相等的k级流水线而言,级流水线而言,在不考虑相关瓶颈的前提下,其吞吐率为:在不考虑相关瓶颈的前提下,其吞吐率为:l当当n时,(时,(k 1)可以忽略不计,得到的最大吞)可以忽略不计,得到的最大吞吐率为:吐率为:tnknTPD D- - ) 1(ttnknTPnD D D D- -

32、1) 1(limmax2 2加速比加速比(没考虑相关瓶颈)(没考虑相关瓶颈)如果顺序结构执行n条指令所用的时间为T0,流水线结构所用时间为Tk,那么加速比就是S=T0/Tk。顺序结构执行n条指令所需时间就为T0=nkt。而一个采用流水线的处理机所需时间为Tk=(k+n1)t。所以加速比就为:1)1(0- - D D- - D D nknktnktknTTSk最大加速比:knknkSn - - 1limmax如果考虑各级执行时间不等的情况时,可得到加速比为: D DD DD D- - D DD D kikikiitttnttnS1211),(max)1( 3 3效率效率(没考虑相关瓶颈)(没考虑

33、相关瓶颈) 效率被定义为个流水线级占用的总时空区个流水线级占用的总时空区条指令占用的时空区条指令占用的时空区knE 各级执行时间相等的流水线效率等于1) 1(- - D D- - D D nkntnkktknE显然,n越大,空闲部件占据的比例就小,流水线表现的效率越高。最高效率为11limmax - - nknEn吞吐率与效率之间的关系:E=TP t,或为TP=E /t。前提:功能部件个数相等,且各功能部件定义完全一致,即同等资源条件下前提:功能部件个数相等,且各功能部件定义完全一致,即同等资源条件下效率与加速比的关系:E=S/k,或S=k E。时间空间12349123491234912349

34、12349 1 2 3 18 4 5 6 7 8 9 10 11 12 13 14 15 16 17S5S1S2S3S45级线性流水线一种工作时空图5555566666777778888810101010101111111111121212121213131313131414141414吞吐率TP:TP=n/Tk=14/18t= 1/2t流水线的加速比:S=T0/Tk=(5*14 t/(18t)=5效率:E=14/18=7/9计算机组成原理计算机组成原理计算机学院44由于流水线相邻两段在执行不同指令(或操作),因此无论由于流水线相邻两段在执行不同指令(或操作),因此无论是指令流水线或运算操作流

35、水线,在相邻两段之间必须设置是指令流水线或运算操作流水线,在相邻两段之间必须设置锁存器或寄存器,以保证在一个周期内流水线的输入信号不锁存器或寄存器,以保证在一个周期内流水线的输入信号不变。变。 2.2.流水线中的相关问题流水线中的相关问题 流水线不能连续工作的原因,除了编译形成的程序不能发挥流水线不能连续工作的原因,除了编译形成的程序不能发挥流水线的作用或存储器供应不上为连续流动所需的指令和数流水线的作用或存储器供应不上为连续流动所需的指令和数据以外,还因为出现了据以外,还因为出现了“相关相关”情况或遇到了程序转移指令情况或遇到了程序转移指令。 计算机组成原理计算机组成原理计算机学院45“数据

36、相关数据相关”:假如第二条指令的操作数地址即为:假如第二条指令的操作数地址即为第一条指令保存结果的地址,那么取操作数第一条指令保存结果的地址,那么取操作数2 2的动的动作需要作需要t t时间才能进行,否则取得的数据是错误的,时间才能进行,否则取得的数据是错误的,这种情况称为数据相关。(根据数据是存储在存储这种情况称为数据相关。(根据数据是存储在存储器或通用寄存器中,分别称为存储器数据相关或寄器或通用寄存器中,分别称为存储器数据相关或寄存器数据相关。)存器数据相关。) 计算机组成原理计算机组成原理计算机学院46“流水线阻塞流水线阻塞”:由于计算机内有较多指令存在,:由于计算机内有较多指令存在,其

37、繁简程度不一,执行时间及流水线级数不同,相其繁简程度不一,执行时间及流水线级数不同,相关的情况各异,有时避免不了产生不能连续工作的关的情况各异,有时避免不了产生不能连续工作的情况,这种现象称为流水线阻塞或产生了情况,这种现象称为流水线阻塞或产生了“气泡气泡”。计算机组成原理计算机组成原理计算机学院47计算机组成原理计算机组成原理计算机学院483.3.程序转移对流水线的影响程序转移对流水线的影响 在大多数流水线机器中,当遇到条件转移指令时,在大多数流水线机器中,当遇到条件转移指令时,确定转移与否的条件往往由条件转移指令本身或由确定转移与否的条件往往由条件转移指令本身或由它前一条指令形成,只有当它流出流水线时,才能它前一条指令形成,只有当它流出流水线时,才能建立转移条件并决定下条指令地址。因此当条件转建立转移条件并决定下条指令地址。因此当条件转移指令进入流水线后直到确定下一地址之前,流水移指令进入流水线后直到确定下一地址之前,流水线不能继续处理后面的指令而处于等待状态,因而线不能继续处理后面的指令而处于等待状态,因而影响流水线效率(产生影响流水线效率(产生“断流断流”)。)。 计算机组成原理计算机组成原理计算机学院49在某些计算机中采用了在某些计算机中采用了“猜测法猜测法”技术,机器先确定转移分技术,机

温馨提示

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

评论

0/150

提交评论