第5章中央处理部件_第1页
第5章中央处理部件_第2页
第5章中央处理部件_第3页
第5章中央处理部件_第4页
第5章中央处理部件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

中央处理部(CPU)5.1计算机的硬件系统5.2控制器的组成5.3微程序控制计算机的基本工作原理5.4微程序设计技术5.5控制器的控制方式5.6流水线工作原理第

5章

CPU的组成原理;

掌握在计算机运行过程中各个硬件部件的作用;了解CPU中各个部件的操作过程及其实现方法的原理。掌握程序是如何执行的;计算机怎样实现各条指令的功能;又如何保证逐条指令的连续执行过程。教学要求控制器的作用、组成;指令的执行过程;微程序控制器的工作原理、组成、产生控制信号的方法;微程序控制器的基本概念、与机器指令级的比较。教学重点难点第5.1节计算机的硬件系统计算机组成:运算器、控制器、存储器、输入设备和输出设备五大部件。中央处理部件:微处理器将运算器与控制器集成在一个芯片上,通常称之为CPU。控制器的作用:是协调并控制计算机的各个部件执行程序的指令序列。信息处理过程:首先将数据和程序输入计算存储器中,然后从“程序入口”开始执行该程序,得到所需的结果后,结束运行.一、基本理论机器加电时:RAM和寄存器都处于随机状态,可能会执行一些不该执行的操作,为保证正常工作,机器利用加电产生一个RESET信号使计算机处于初始状态,并从ROM的程序入口开始运行;先对各部件进行测试,然而自举操作系统,等候操作员的命令机器加电方法:可以利用RESET信号将某值置于程序计数器PC中,此即为开机后执行的第一条指令的地址,也就是固定程序入口地址;也可以直接在指令寄存器中置入一条无条件转移指令(转移到固定程序入口),然后开始执行程序。计算机的工作过程:

加电→产生reset信号→执行程序→停机→停电

程序执行过程:计算机从程序入口地址开始执行该程序的指令序列,是不断地取指令、分析指令和执行指令这样一个周而复始的过程.实现原理:当前正在执行的指令地址是放在控制器的程序计数器(PC)中的。取指令→分析指令→执行指令2.Intel80386结构及外部连线80386包括:指令部件:完成取指及指令译码功能;执行部件:包括ALU、乘法部件、寄存器等;存储管理部件:用来确定存储器地址80386微处理器芯片通过引出端与计算机的其它部件连接。各引出端的功能(图2)1.Intel80386微机系统以Intel80386微处理器等器件组成的微机系统为例,80386是32位微处理器。(图1)图1Intel80386微机系统框图是系统中主要的处理、控制部件机器加电时产生reset信号,计算机各个部件处于初始状态。执行的第1条指令的地址为0FFFFFFF0H,为一条转移指令,转到引导程序入口。CLK是CLK2的二分频时钟信号80386通过总线与存储器和I/O设备交换信息。对总线的使用需要总线控制逻辑来管理。快速设备通过DMA方式与主存交换信息。慢速设备通过中断方式与主存交换信息。CPU与主存交换信息时,由于速度不匹配,CPU需要等待,ready信号是由存储器发出的,表明CPU需要的读写命令已完成。80287/387协处理器与80386并行工作,扩充了80386的指令系统,主要完成浮点运算和高精度整数运算,80386自动将取得的协处理器指令传给80387。ADS:地址状态信号,表示地址线、总线周期定义信号已有效,开始总线周期进行读写。NA:本次读/写操作虽未完成,允许送下一周期的地址和读写信息,使两次操作重叠。ready:当存储器或I/O设备完成操作后发出的信号。386接到此信号后,结束本周期。BS16:表示被访问的存储器或I/O设备的数据传送宽度为16位。PEREQ:协处理器请求386在存储器与协处理器之间传送一个数据。BUSY:协处理器忙,不能接收另一个指令。ERROR:协处理器出现了一个错误主设备:占用总线的设备。从设备:与主设备通信的设备。I/O设备作主设备时,发出hold信号申请。当CPU同意总线请求,可以释放总线,发hlda。其余引出端均呈高阻状态。INTR为中断请求信号,NMI不可屏蔽中断请求信号,RESET为总清或复位信号在80386与存储器或I/O设备之间传送(读写)一个数据的时间称为总线周期。W/R#区分是写周期(当W/R#为1时)还是读周期(当W/R#为0时)D/C#表示是数据周期还是控制(取指)周期M/IO#表示是访问存储器还是I/O设备LOCK#为总线锁定信号,当它为低电位时,不允许芯片外部的信号打断当前总线周期的操作,即CPU不允许让出总线控制权。图2第5.2节控制器的组成5.2.1控制器的功能1.取指令根据程序入口地址取出第一条指令2.分析指令(或叫解释指令,指令译码)产生相应的操作形成操作数的地址3.执行指令操作命令和操作数地址形成操作控制信号序列。通过CPU或I/O设备执行,还包括对运算结果的处理和下条指令地址的形成。计算机不断重复顺序执行上述三种基本操作直到遇到停机指令或外来的干预为止。4.控制程序和数据的输入和输出5.对异常情况和某些请求进行处理:即异常和中断的处理。“中断请求”信号。待CPU执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断程序。当处理完毕后,再返回原程序继续运行下去。DMA请求信号。等CPU完成当前机器周期操作后,暂停工作,让出总线给I/O设备,在完成I/O设备与存储器之间的传送数据操作后,CPU从暂时中止的机器周期开始继续执行指令。指令周期状态图指令的执行过程:取指令,取操作数,操作数运算,存结果操作数,查询有无中断请求,中断处理/不处理,如果不是字符串指令或向量指令则取下一条指令。5.2.2控制器的组成

1.程序计数器(PC):存放将要执行的下一条指令地址.2.指令寄存器(IR):存放当前正在执行的指令.

3.指令译码器或操作码译码器:对操作码进行译码,产生相应的控制信号.4.脉冲源及启停线路:产生时钟脉冲,是机器周期和工作脉冲的基准信号,启停线路保证可靠地送出或封锁时钟脉冲.5.时序控制信号形成部件:产生相应的时序控制信号,并根据反馈信号调整时序控制信号.

即指令地址寄存器。存放当前正在执行的指令地址或下一条指令地址。指令地址形成:

(PC)+1->PC。或:转移指令修改其内容用以存放当前正在执行的指令对指令寄存器中的操作码进行分析解释,产生相应的控制信号。脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。根据当前正在执行的指令的需要,产生相应的时序控制信号返回指令执行返回微程序控制器5.2.3指令执行过程

1.组成控制器的基本电路

计算机中采用的电路,基本上分为两种类型:一类是具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元等。一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。2.指令执行过程举例(1)加法指令的执行过程指令格式:

rs,rd,rs1---为通用寄存器地址imm(或disp)---立即数(或位移量)功能:rd←

(rs)+((rs1)+disp)取指令计算地址取数运算送结果操作码rs,rdrs1Imm(或disp)返回指令执行返回指令执行返回指令执行返回指令执行指令操作:①从M中取指送IR,OP译码,PC+1

PC→AB;W/R=0,M/IO=1;DB→IR,PC+1;

②计算操作数地址((rsl)+disP),将有效地址送AR

(rs1)→GR;(rs1)→ALU;disp→ALU;“+”;ALU→AR③取操作数((rsl)+disP):

AR→AB;W/R=0,M/IO=1;DB→DR;④做加法运算,结果送寄存器,设置标志:

(rs)→GR;(rs)→ALU;DR→ALU;“+”;rd→GR;ALU→rd,置状态位。(2)条件转移指令的执行过程指令功能:根据状态位决定是否转换。条件成立,转移到本条指令所指定的地址,否则顺序执行下一条指令。完成的操作:此处PC是指本条指令的地址,在上一机器周期已执行PC+1操作,因此对运算进行适当修正.本条指令只需要两个机器周期;如转移条件成立,在第二机器周期增加一个ALU→PC信号;如为相对转移,则用PC→ALU信号取代加法指令第二周期中的(rs1)→ALU信号,其他信号与加法指令的前两个机器周期中的信号相同.控制器的功能:就是按每条指令的要求产生所需的控制信号,系统设计师应提供完整的无二义性的指令系统说明书.返回

其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综合简化。控制器的功能就是按每条指令的要求产生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。产生控制信号一般有微程序控制和硬布线控制两种方法。第5.3节微程序控制计算机的微操作

完成指令功能的各种基本操作。微指令

由控制器发出的控制信号所执行的一组微操作。

【例如】加法指令的执行可分为:取指、计算地址、取操作数和加法运算四步,每一步都由一组微操作实现。微周期

执行一条微指令所需要的时间。微程序

微指令序列的集合。控制存储器

存放控制信号和下一地址的存储器。5.3.1微程序控制的基本概念控制存储器:存放微程序的存储器。控制存储器可以用只读存储器实现。控制存储器的字长比机器字长要长得多。联系:执行一条机器指令实际上就是执行一段存放在控制存储器中的微程序。5.3.2实现微程序控制的基本原理1.微程序控制信号的编号和意义返回指令执行返回控制信号【例】加法指令所需的控制信号它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:

微指令最简单的组成形式:是将每个控制信号用一个控制位来表示,当该位为“1”时,定义为有控制信号,当该位为“0”时,没有控制信号。微程序指令的组织控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。加法指令的四条微指令编码,每一小格表示一位(二进制),空格表示0,第24位到第35位为下址。典型运算的微程序流程图取指

PC+12.微程序控制器控制存储器和微指令寄存器替代了时序控制信号形成部件.基本工作原理:指令译码部件可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址。当指令取入IR中以后,根据操作码进行译码,得到相应指令的第一条微指令的地址。根据控制存储器中的地址从控制存储器取出微指令,并将它存放在微指令寄存器中。控制字段各位的输出通过连接线直接与受控制的门相连,于是就提供了在本节所提出的控制信号。3.微程序控制计算机的工作过程

机器加电后,RESET信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置成初始状态。当电压达到稳定值后,自启动机器工作,产生节拍电位和时钟脉冲.为保证机器正常工作,开机后的第一个机器周期信号必须完整,该周期的末尾,产生第一个工作脉冲CP。然后机器开始执行程序,不断的取出指令,分析指令,执行指令。3.微程序控制计算机的工作过程实现各条指令的微程序是存放在微程序控制器中,当前的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命令时,应该待当前这条指令执行完,至少在本机器周期结束时再停机.停机后重新启动要保证机器继续工作且不出任何错误。停机与停电停机时电压仍正常,因此寄存器与存储器仍保持信息不变,重新启动后从程序停顿处继续执行.停电后,寄存器与存储器的内已消失,加电后RESET信号重新自举操作系统.某些机器具有停电后自动再启动功能.停电时,依靠后备电源将主存储器内容,PC内容(断点地址)基层单位器内容以及状态字(例N,Z,V,C)等调入外存.当交流电源恢复正常时,具有自动再启动功能的计算机自动将外存的内容调入主存,并从断点继续工作.第5.4节微程序设计技术5.4微程序设计技术5.4.1微指令的编译法5.4.2微程序流的控制5.4.3微指令格式5.4.4微程序控制存储器和动态微程序设计微程序设计应关心的三个问题:(1)如何缩短微指令字长;(2)如何减少微程序长度;(3)如何提高微程序的执行速度。

5.4.1微指令的编译法

(编码译码方法)--控制字段1.直接控制法微指令控制字段中的每一位代表一个微命令;设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成“1”或“0”,这样就可打开或关闭某个控制门.

缺点:

控制字段长,有三四百位控制存储器容量要大

2.字段直接编译法

基本概念微周期:一条微指令执行所需要的时间。相容性:同一时刻或同一机器周期内的微指令分在不同组内,以便实行并行操作。互斥性:如果有一组(若干个)微命令,在每次使用它们的微周期内,只有一个微命令起作用则这若干个微命令为互斥。

代价:在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。优点:缩短了微指令长度。把互斥的微命令编为一组(即每一组译码器输出的微操作必须为互斥)对微命令编码要留出一个代码表示本段不发微命令;增设微命令译码器;字段长度n与所能表示的微命令数m的关系:

m=2n-1字段长度互斥微命令数2位2~33位4~74位8~15【例】当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。3.字段间接编码一个字段的某些微命令由另一个字段的某些微命令来解释;字段A受字段B的控制(当A=000时,不产生控制命令)优点:进一步减少了指令长度。缺点:削弱微指令的并行控制能力,译码电路较复杂,译码时间长。控制字段下址字段5.4.2微程序流的控制现行微指令

当前正在执行的微指令现行微地址

现行微指令所在的控制存储器单元的地址后继微指令

现行微指令执行完毕后,下一条要执行的微指令后继微地址

后继微指令所在的控制存储器单元的地址微程序流的控制

当前微指令执行完毕后,如何控制产生后继微指令的微地址。1.产生后继微指令地址的几种方法

(1)以增量方式产生后继微地址顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1);非顺序执行时,则要产生一个转移微地址.机器加电后的微程序入口来自专门的硬件电路,控制实现取指令操作,然后由指令操作码产生后继微地址接下去,若顺序执行,则现行微地址+1产生后继微地址;

若遇到转移类微指令则由μPC与形成转移微地址的逻辑电路组合成后继微地址.以增量方式产生后继地址——顺序执行微程序操作码地址码译码器控制地址寄存器(µPC)控制存储器控制字段转移条件后继地址+1µPC+1微程序入口µLR以增量方式产生后继地址

——转移的控制操作码地址码译码器控制地址寄存器(µPC)控制存储器控制字段转移条件后继地址微程序入口逻辑控制转移地址µLR以增量方式产生后继地址—

“计数器”方式的原理图下址部分很短,只有两位,起选择作用,它选择三个输入源作为μPC的输入:①(μPC)+1→μPC②转移微地址③操作码译码器的输出.微程序入口是由专门的硬件产生的,不受下址字段控制。(2)增量与下址结合产生后继地址微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF;微程序要转移,将BAF送μPC,否则顺序执行下一条微指令(μPC+1)。这样:后继地址的形成就由转移控制字段BCF控制,并由BCF的具体长度决定转移地址形成的方式。若BCF为3位,则最多有8种后继地址的形成方式BCF定义的8条微操作命令。BCF字段的功能①BCF=0,顺序执行微指令,μPC+1为后继微地址②BCF=1,条件转移微指令,结果为0时,将BAF送μPC,否则μPC+1→μPC③BCF=2,条件转移微指令,结果溢出时,将BAF送μPC,否则μPC+1→μPC④BCF=3,无条件转移微指令,将BAF送μPC⑤BCF=4,测试循环微指令,假如CT≠0,表示需要继续执行循环微命令,将循环入口微地址从BAF送μPC,且CT-1.假如CT=0,表示循环结束,后继微地址为μPC+1.⑥BCF=5,转微子程序微命令,把微子程序入口地址从BAF送μPC,从而实现转移.但转移前要把该条微指令的下一地址μPC+1送入返回寄存器RR之中⑦BCF=6,返回微指令,把RR中的返回微地址送入μPC,从而实现微子程序返回到原来的微程序。⑧BCF=7,操作码产生后继微地址。产生后继微地址的微命令下址产生的增量与下址字段方式(3)多路转移一条微指令存在多个转移分支的情况称为多路转移。根据操作码产生后继微地址。不同的操作码产生不同的微地址。用MapROM实现。根据某些硬件状态产生后继微地址①标志位②计数器状态③数据通路状态多个测试位,形成不同的后继地址。【例如】有2个测试位,则可以形成4路转移地址。4个转移地址可以用微地址的最低2位实现。(4)微中断微中断请求微中断请求信号是由程序中断请求信号引起的.微中断响应出现微中断请求信号后,一般在完成现行指令的微程序后再响应,取微中断程序的入口地址送µPC。微中断处理微中断处理程序的入口地址是已经事先安排好的.微中断返回微中断请求处理完后再返回原来被中断的程序(新的后继地址)1.水平型微指令格式控制信号条件字段后继地址ADS#,W/IO#,C/D#,PA->AB,ALU->PC,PC+1,DB->IR,DB->DR,…...微指令的格式分成两类:水平型和垂直型微指令。

5.4.3微指令格式1.水平型微指令在一条微指令中定义,并执行多个并行操作微指令。采用直接控制法,字段编译法(直接或间接)垂直型微指令格式微指令操作码条件码地址码译码器ADS#,W/IO#,C/D#,PA->AB,ALU->PC,PC+1,DB->IR,DB->DR,…...2.垂直型微指令特点在微指令中设置微操作码字段、条件码和微地址字段。一条微指令只要求能控制实现一/二种操作。格式类似于指令,有微操作码字段。【举例】

微指令的字长为16位,一微操作码字段有3位斗8条微指令。【举例】垂直微指令⑴RR传送型

功能:把源寄存器数据送目标寄存器

⑵运算控制型

功能:选择ALU的左,右两输入端的信息,并将结果送入暂存器中。⑶移位控制型功能:将寄存器中的数据按指定的移位方式进行移位⑷访问主存型功能:将存储器中一个单元的信息送入寄存器或将寄存器中的数据送往存储器⑸无条件转移型

功能:实现无条件转移或转微子程序功能

⑹条件转移型功能:根据测试对象的状态决定转移到D所指定的微地址单元,还是顺序执行下一条微指令。3.水平型与垂直型微指令的比较水平型微指令并行操作能力强,效率高,灵活性强;垂直型微指令则差.水平型微指令执行一条指令的时间短;垂直型微指令执行时间长.水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点;垂直型微指令则相反,微指令字比较短而微程序长.水平型微指令用户难以掌握而垂直型微指令与指令比较相似相对来说比较容易掌握.水平型微指令与机器指令差别很大,一般需要对机器的结构,数据通路,时序系统以及微命令很精通才能进行设计.5.4.4微程序控制存储器和

动态微程序设计1.微程序控制存储器构成ROM(只读方式使用)RAM开机时需从外设将微程序调入RAM中.可以修改微程序可以修改指令系统可重构系统结构.ROM+RAMROM中存放固定的指令RAM中存放需要扩充或修改的指令2.控制存储器的操作执行一条微指令的基本过程:第一步取微指令,垂直型微指令还应包括微操作码的译码时间;第二步执行微指令所规定的各个操作.操作方式串行方式:取微指令操作与执行微指令操作是串行的并行方式(流水线方式):执行本条微指令操作与取下一条微指令操作在时间上是重叠的流水线微程序控制存储器控制字段控制字段动态微程序设计动态微程序设计需要可写控制存储器(WCS)的支持,这种存储器或称为用户控制存储器(UCS)设想机器能够根据用户的要求改变微程序计算机能更灵活,更有效地适应于各种不同的应用目标可以获得软件兼容性实现系统配备多套微程序,它们实现不同的指令系统,需要可写控制存储器(WCS)或用户控制存储器(UCS)限制用户必须对计算机的结构和组成非常熟悉3.动态微程序设计第5.5节控制器的控制方式控制方式:形成控制不同微操作的时序控制信号的方法.分类:

同步控制方式;异步控制方式;联合控制方式;人工控制。5.5控制器的控制方式1.同步控制指令执行所需的机器周期数和节拍数均固定不变[例如]加法指令为4个机器周期,转移指令为2个机器周期。每个机器周期分成两拍,在固定频率的脉冲作用下形成节拍和机器周期。方法一:采用完全统一的机器周期或节拍指令的各个工作步骤所需的时间是确定的

方法二:采用不同节拍的机器周期指令的各个工作步骤所需的时间不确定.可以将大多数微操作安排在较短的机器周期之内完成,较为繁琐微操作则采用延长机器周期或增加节拍来解决。

[例如]DRAM的刷新操作使得访存操作的时机不确定方法三:中央控制与局部控制相结合中央控制:将大多数指令安排在一个统一的短周期里完成;局部控制:将少数复杂指令中的某些微操作另行处理.

2.异步控制控制信号发出微操作信号后,等待相关部件发回应答信号后再开始新的微操作;每个指令、每个微操作需要多少时间就占多少时间;这种方式形成的微操作没有固定的周期节拍和严格的时钟同步。3.联合控制同步控制和异步控制方式的结合。同步控制:大部分指令操作在一个固定的机器周期内,并在同步时序信号的控制下进行。异步控制:而对那些时间难以确定的少量指令微操作则以执行部件回送“回答”信号作为本次微操作的结束。

4.人工控制用于调机和软件开发而设置一些开关或按键来人工控制。(1)reset键当计算机处于死锁或无法继续运行的状态时,可按此键。机器正常运行时按此键可以破坏机器内的某些状态.如果没有此键,通过停电再加电的方法重新启动计算机.(2)连续或单条转换开关连续运行是指计算机按正常速度执行程序,单条是每执行一条指令后计算机自动停机。机器工作之前将此开关设置好,机器就按照此模式工作。在调试硬件或调试程序可以观察每条指令的执行结果。(3)符合停机在机器内部设置一组开关,当程序运行时,假如访问存储器的地址与所设置的开关值相等时,机器停止运行,称地址符合停机;假如是指令地址和开关值符合,称为程序断点。第5.6节流水线工作原理5.6流水线工作原理【例如】加法指令共有4个机器周期:取指、计算地址、取数、执行。取指、取数机器周期中,访问M,运算器不工作;计算地址和加法运算周期,运算器工作,M不工作。提高机器处理能力的途径:1)提高期间的性能:包括速度、集成度、可靠性、价格等;2)改进系统的结构,开发系统的并行性;并行性指多个事件在同一时间段发生,在时间上存在重叠;通过合理调度,让所有的部件都工作起来,可以提高计算机的运行速度和效率。指令流水是一项重要的技术,流水线结构最先在大型机中采用,如今已经推广到小型机、微型机中。1.流水线基本工作原理(一)指令的串行执行计算机程序的顺序串行执行,是指一条指令执行完后才开始下一条指令,如果一条指令需要4个周期,过程如下:取指1计算地址1取操作数1计算存结果1取指2计算地址2…

下标1--第1条指令,下标2--第2条指令。【例】计算机中只有指令部件I,执行部件E。I完成取指和译码,E完成执行和存结果。现代计算机中,译码速度很快,尤其是RISC机,指令译码的时间忽略了。执行过程如下:I1E1I2E2…程序串行执行,控制简单,但是机器各部分利用率不高。I1E1I2E2…I3E3指令二级流水可以大大提高CPU的处理速度,但并不是成倍增加。1)指令的执行时间一般大于取指时间;2)当遇到转移指令时,必须等到本指令执行结束后才能知道下一条指令的地址。(二)指令的重叠执行如果将两条指令或若干条指令在时间上重叠起来(即指令流水),执行过程如下:两条指令重叠执行取指1计算地址1取操作数1计算存结果1取指2计算地址2取操作数2计算存结果2取指3计算地址3取操作数3计算存结果3取指4计算地址4取操作数4计算存结果44条指令重叠执行如果每个部件完成操作所需的时间为T,每条指令执行的时间为2T。因此,每隔T时间就能到一条指令的处理结果。相当于处理器的速度提高一倍。4条指令重叠执行时,将一条指令分为4段。若每段的执行时间为t,执行一条指令的时间为4t,每隔t时间就能得到一条指令的处理结果,平均处理速度提高4倍。在多段流水线中,开始流水线为空,最高的处理速率要在流水线装满的条件下才能达到。T应该选择所有部件中执行时间最长的,目的是保证所有的功能段的执行时间差别不要太大。为了使得所有的部件不会等待太长时间而影响效率,可能将较短处理时间的功能段合并成一个长时间的功能段,或者将一个长时间的功能段分解为几个较短时间的功能段。2.运算操作流水线算术运算也可采用流水线。【例如】浮点加法运算可以分为“对阶”、“尾数加”、“结果规格化”三段。每一段设置专门的逻辑电路完成制定操作,输出结果放在锁存器中,作为下一段的输入。操作数输入对阶部件锁存器尾数加部件锁存器规格化部件锁存器结果输出对阶尾数加规格化第一段第二段第三段3.流水线中的数据相关问题流水线要保证高效运行,就需要流水充满。由于程序编译原因或者存储器无法连续提供流动所需的指令和数据时,会出现流水线不能连续工作。【例如】4级流水线中,如果第2条指令的操作数地址是第1条指令的处理结果,那么第2条指令的取操作数比须等待t时间才能进行。否则取得的结果是错误的,这种情况称为数据相关。取指1计算地址1取操作数1计算存结果1取指2计算地址2------取操作数2计算存结果2取指3------计算地址3取操作数3计算存结果3

根据数据存放在寄存器中还是存储器中,称为寄存器数据相关或存储器数据相关。为解决这一问题,设置相关的专用通路。当发生数据相关时,指令2的取操作数不去存储器中去操作数,而是直接通过专用通路得到操作数。取指1计算地址1取操作数1计算存结果1取指2计算地址2取操作数2计算存结果2

数据不相关时,仍去寄存器或存储器中取操作数,增加了控制的复杂性。由于计算机中的指令较为复杂,条件各异,执行时间和流水级数不同,相关情况各异,不可避免的条件产生的流水线不能连续的情况,称为流水线阻塞或产生“空泡”。两级流水线不会有数据相关问题。4.响应流水线性能的因素

(1)访存冲突避免方法:设置两个存储器系统分别放置指令和数据采用预取指令技术——设置预指令队列,在执行指令过程中利用存储器空闲时间取下一条指令,只要预指令队列有空,就可以取下一条指令。4.响应流水线性能的因素

(2)相关问题指程序中相近指令之间出现某种关联关系,使得指令流出现停顿。控制相关当一条指令需要等到前一条指令(或前几条指令)作出转移方向的决定后才能进入流水线,即产生控制相关。数据相关指几条指令共用了同一个存储单元(或寄存器)的内容时所发生的关联。可以采取旁路技术部分解决。数据相关主要有读—写相关、写—读相关和写—写相关。

5.程序转移对流水线的影响

(1)转移指令转移指令进入流水线后到确定下一条指令地址之前,流水线不能继续处理后面的指令而处于等待状态,只有当它流出流水线时,才能知道是否转移以及需要转移时下一条指令的地址,从而影响流水线的效率。

解决方法

:“猜测法”

即选择转移分支中之一执行,继续执行后面的指令;如果猜测正确,流水线可以继续进行下去;如果猜错,要返回分支点,而且要保证分支后进行的操作不会破坏原有的现场,否则将发生错误。

(2)中断服务转入中断服务程序时,流水线中已经存在了几条指令。如何“断流”是流水线设计需要考虑的问题。解决方法:如是I/O中断请求,可以让流水线中的指令全部完成,新指令按中断处理程序处取。如果是地址错、存储器错、运算错而中断时,假如是由第i条指令发生的,对于已进入流水线的第i+1条、第i+2条、第i+3条、…是不应该再执行的。

流水线机器处理中断的方法:不精确断点法:未进入流水线的后续指令不允许进入,已在流水线中的指令执行完毕后,进入中断处理程序。精确断点法:不等待流水线中的指令执行完毕就转入中断处理程序。练习一、填空题1.目前的CPU包括__1__、__2__和cache.2.中央处理器(CPU)的四个主要功能是:__1__、__2__、__3__、__4__.3.CPU中,保存当前正在执行的指令的寄存器为__1__,保存下一条指令地址的寄存器为__2__,保存CPU访存地址的寄存器为__3__.4.CPU从主存取出一条指令并执行该指令的时间叫做__1__,他常用若干个__2__来表示,而后者又包含若干个__3__.5.运算器进行的全部操作都是由控制器发出的控制信号来指挥的,所以他是____部件.答案:1.控制器;运算器2.指令控制;操作控制;时间控制;数据加工3.指令寄存器IR;程序计数器;内存地址寄存器4.指令周期;机器周期;时钟周期5.执行6.在程序执行过程中,控制器控制计算机的运行总是处于__1__、分析指令和__2__的循环之中.7.顺序执行的PC的值__1__,遇到转移和调用指令时,后继指令的地址(即PC的内容)是从指令寄存器中的__2__取得的.8.CPU中用于存放当前正在执行的指令并为指令译码器提供信息的部件是____.9.在微程序控制中,计算机执行一条指令的过程就是执行一个确定的____的过程.10.微程序控制器的核心部件是存储微程序的__1__,它一般用__2__构成的.答案:6.取指令;执行指令7.自动加1;地址字段8指令寄存器IR9.微指令程序10.控制存储器;只读存储器11.于数据通路之间的结构关系,微操作可以分为__1__和__2__两种.答案:1.相容性2.互斥性

12.微程序入口地址是__1__根据指令的__2__产生的.答案:1.译码器2.操作码

13.微指令的格式可分为__1__微指令和__2__指令格式.答案:1.水平型2.垂直型14.任何指令周期的第一步必定是____周期.答案:取指

15.计算机执行一条指令的周期可以是__1__,也可以是__2__的,前者指的是在一个周期中含有的节拍数相同.答案:1.相同2.不同16.一条机器指令的执行可以与一段微指令构成的__1__相对应.微指令可由一系列__2__组成.答案:1.微程序2.微命令17.在同一微周期中__1__的微命令,称之为互斥的微指令;在同一微周期中__2__的微指令,称之为相容的微命令.显然,__3__不能放在一起译码.答案

温馨提示

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

评论

0/150

提交评论