第六章控制器部件课件

上传人:沈*** 文档编号:241703208 上传时间:2024-07-17 格式:PPT 页数:62 大小:241.50KB
返回 下载 相关 举报
第六章控制器部件课件_第1页
第1页 / 共62页
第六章控制器部件课件_第2页
第2页 / 共62页
第六章控制器部件课件_第3页
第3页 / 共62页
点击查看更多>>
资源描述
第六章 中央处理部件CPU主要介绍中央处理器及其控制器的设计原理、控制技术CPU的功能随着集成电路的出现和集成度的提高,出现了微处理器,将运算器和控制器集成在一个芯片上,通常也称为CPU。CPU的功能:1.指令控制2.即对程序运行的控制。程序由一个指令序列构成,这些指令在逻辑上的相互关系不能改变。CPU必须对指令的执行进行控制,保证指令序列执行结果的正确性。2.操作控制3.即对指令内操作步骤的控制。一条指令的功能一般需要几个步骤来实现,CPU必须控制这些操作步骤的实施。4.操作控制包括时间控制,即对各种操作进行时间上的控制。因为各种操作信号均受时间的严格限制,必须控制各个信号之间的相互关系。3.数据运算4.即对数据进行算术运算和逻辑运算,这是CPU最基本的功能。主要在运算器中完成。4.异常处理和中断处理 如运算中的溢出处理、出错情况,以及处理外设的服务请求等。此外,CPU还有存储管理、总线管理、电源管理等扩展功能。存储管理:包括虚拟存储器的管理,以及存储器的保护等;总线管理:对CPU所连接的系统总线的裁决、同步等;电源管理:为了减少CPU的电源消耗以及减少CPU芯片的发热。CPU的基本组成CPU的组成控制器:包括PC、IR、时序产生器、操作控制器以及 一些特殊的寄存器组成。运算器:算术逻辑单元和各种寄存器组成。控制器的功能:协调并控制计算机的各个部件执行程序的指令序列。即正确且自动地连续执行指令,正确地分步完成每一条指令规定的功能。进一步说,就是向计算机各功能部件发出协调运行每一个步骤所需要的控制信号。运算器的功能:接受控制器的命令进行算术或逻辑运算操作。CPU中的寄存器CPU中有多种寄存器。如在CISC系统中,一般有五种寄存器:(1)指令寄存器IR:存放当前正在执行的指令,为指令译码器提供信息;(2)程序计数器PC:存放下一条要执行指令的地址。一般采用具有计数功能的寄存器作PC寄存器。(3)数据寄存器DR:存放操作数、运算结果和中间结果,或者访存操作的数据。存放中间结果的数据寄存器,即可放ALU的运算结果,又可向ALU提供操作数,与ALU一起可以进行数据累加,因此又可称为累加器。如果多个数据寄存器都具有累加器功能时,就称为通用寄存器。(4)地址寄存器AR:专门存放操作数的地址。通用寄存器即可存放操作数,又可存放操作数地址,因此许多设置有通用寄存器的计算机都不设置专门的地址寄存器。(5)状态寄存器SR:存放运算状态以及处理器的状态,这些信息是控制程序的条件。RISC处理器中一般不设置专门的SR,状态都存放在通用寄存器中。控制器分类:微程序控制器和硬布线控制器数据总线数据总线时序控制时序控制信号信号形成部件形成部件译码译码IRPC输出输出设备设备输入输入设备设备主主存存运算器运算器部件部件时时序序启停启停地地址址寄寄存存器器地址总线地址总线控制总线控制总线.控制条件控制条件控制器信号控制器信号主振主振硬布线硬布线方案的方案的控制器控制器6.1 计算机的硬件系统1.Intel 80386微机系统时钟发生器80387协处理器80386微处理器82258DMA控制器总线控制逻辑总线控制逻辑READY逻辑8259A中断控制器存储器输入 输出设备中断设备总线resetCLKCLK22.80386结构及外部连线Intel 80386包括指令部件、执行部件和存储管理部件等。指令部件完成取指及指令译码功能,并产生控制信号;执行部件包括ALU、乘法部件、寄存器组等;存储管理部件用来确定存储器地址。80386CLK2D0D31数据总线地址总线A2A31BE3#BE2#BE1#BE0#32位地址W/R#D/C#M/IO#LOCK#总线周期定义ADS#NA#BS16#READY#总线控制HOLDHLDA总线仲裁INTRNMIRESET中断VCCGND电源连接PEREQBUSY#ERROR#协处理器信号6.2 控制器的组成(1)取指令 根据PC给出的指令地址,从内存中取得指令,放到IR中。(2)分析指令(译码)对当前指令进行分析译码,产生相应的操作控制命令。如 果操作数在存储器中,还需要形成操作数地址。(3)执行指令 根据译码时产生的操作命令和操作数地址,形成相应的 操作控制信号序列,通过CPU及输入输出设备的执行,实 现指令的功能,并产生下一条指令的地址。(4)控制程序和数据输入与结果输出 在适当的时候向输入输出设备发出一些相应的命令完成 I/O功能。6.2.1 控制器的功能 协调并控制计算机的各个部件执行程序的指令序列。(5)对异常和某些请求的处理 当机器出现某些异常情况,比如算术运算的溢出、数据传送的奇偶错等;或者出现某种外来请求,比如辅存与主存之间要传送数据、I/O设备与存储器之间要传送数据等,由这些设备或部件发出中断请求信号或者DMA请求信号。中断请求信号 CPU执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断处理程序,处理完毕后,再返回原程序继续运行。DMA信号 等CPU完成当前机器周期操作后,暂停工作,让出总线给I/O设备,在完成I/O设备与存储器之间的数据传送操作后,CPU从中止的机器周期开始继续执行指令。在此期间,不允许改变CPU中任一寄存器的状态。6.2.2 控制器的组成根据控制器的功能,得出其基本组成如下:1.程序计数器PC2.即指令地址寄存器,存放当前正在执行的指令地址。(某些计算机则用来存放即将要执行的下一条指令地址)3.有两种途径可以形成指令地址:4.(1)顺序执行的情况,通过程序计数器加“1”形成下一条指令地址(假如存储器按字节编址,而指令长度为4个字节,则加“4”)。5.(2)非顺序执行时,由转移指令形成转移地址送往PC,作为下一条指令的地址。2.指令寄存器IR3.存放当前正在执行的指令。3.指令译码器 对指令寄存器中的操作码进行分析解析,产生相应的控制信号。4.脉冲源及启停线路 脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或者停止,从而启动机器或使之停机。5.时序控制信号形成部件6.当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控部件的反馈信号调整时序控制信号。运算器存储器I/O时序控制信号形成部件脉冲源启停线路操作码 地址码指令译码器程序计数器状态寄存器数据总线DB地址总线AB控制总线CB数据操作数地址+1指令指令寄存器IRresetCLKPC转移地址地址码指令地址6.2.3 指令执行过程指令周期:从一条指令的启动到下一条指令启动的间隔时间。机器周期:指令执行中每一步操作所需的时间。时钟周期:一般CPU采用一个统一的时钟信号,这个时钟信号 的周期称为时钟周期。指令的执行过程一般包含若干个机器周期,每个机器周期完成一个基本操作步骤。一个机器周期可以由一个或多个时钟周期构成。周期:是指令运行过程中相对独立的阶段。一般把指令的运行过程分为取指令、读操作数和执行(包括写结果)三个基本工作周期。(当然,不是所有的指令都必须包含这三个基本周期)例:加法指令执行过程加法指令功能:将寄存器(rs)中的一个数与存储器中的一个数(其地址为(rs1)+disp)相加,结果放在寄存器rd中。(rs和rd为同一个寄存器)操作码 rs,rd rs1 imm或disp指令格式(1)从存储器中取指令,送入IR,并对操作码进行译码分析;同时PC+1,为下一条指令做好准备。控制信号:PC AB,ADS,W/R=0,M/IO=1,DB IR,PC+1(2)计算数据地址,将计算得到的有效地址送入AR。控制信号:rs1 GR,(rs1)ALU,disp ALU,“+”ALU,ALU AR(3)到存储器取数 控制信号:AR AB,ADS,W/R=0,M/IO=1,DB DR(4)进行加法运算,结果送rd寄存器,并根据运算结果置状 态位N、Z、V、C。控制信号:rs GR,(rs)ALU,DR ALU,“+”ALU,rd GR,ALU rd,置N、Z、V、C例:条件转移指令执行过程指令功能:根据N、Z、V、C的状态,决定是否转移。如果转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。(1)从存储器中取指令,送入指令寄存器,并进行操作码译码。控制信号:PC AB,W/R=0,M/IO=1,DB IR,PC+1(2)如果条件成立,则根据指令给出的寻址方式,计算有效地 址。比如采用相对寻址,则转移地址=PC+disp(此处PC 值应该先还原)控制信号:PC ALU,disp ALU,“+”ALU,ALU AR ALU PC6.3 微程序控制器的基本工作原理一条指令的功能是通过一定次序执行一系列的基本操作完成的。一条指令的功能是通过一定次序执行一系列的基本操作完成的。这些操作称为这些操作称为微操作(微命令)。微操作(微命令)。微指令:微指令:同时发出的控制信号所执行的一组微操作。同时发出的控制信号所执行的一组微操作。将一条指令分成若干条微指令,按次序执行这些微指令,就将一条指令分成若干条微指令,按次序执行这些微指令,就 可以实现指令的功能。可以实现指令的功能。微程序:微程序:用多条用多条微指令微指令解释每条机器指令的整个执行过程,这解释每条机器指令的整个执行过程,这几条几条微指令微指令构成解释该条机器指令的一个构成解释该条机器指令的一个微程序(或称为微程微程序(或称为微程序段)。序段)。控制存储器:控制存储器:保存微程序的存储器。微程序控制器的微指令寄保存微程序的存储器。微程序控制器的微指令寄存器接收每次读出的一条微指令。存器接收每次读出的一条微指令。微指令地址(下一条要执行的微指令地址称为下地址)微指令地址(下一条要执行的微指令地址称为下地址)执行一条微指令所用的时间被称为一个执行一条微指令所用的时间被称为一个微周期微周期。6.3.2 实现微程序控制的基本原理1.控制信号2.表6.13.4.“加法”指令:它由四条微指令解释执行(每条微指令所需的控制信号 P174)5.(1)取指微指令6.(2)计算地址微指令7.(3)取数微指令8.(4)加法运算和送结果微指令 1 2 23 35 微指令的格式和内容控制字段下地址字段PC ABALU PCW/R实际上,计算机的控制信号数量要远大于23个,而且控制存储器的容量一般也大于4K。通常,微指令字的长度在100位以上。控制存储器的容量取决于实现指令系统所需的微程序的长度实现指令系统所需的微程序的长度。当前正在执行的微指令从控制存储器中取出后放在微指令寄存器中,该寄存器的各个控制位的输出直接连到各个控制门上。得到下地址的方法 由指令操作码译码得到 微指令顺序执行 微指令必转或条件转移 多路微地址转移 微子程序调用和返回 按次数循环一段微程序 其他:如特定入口微地址用流程图来表示微程序取指PC+1计算地址 1000计算地址 1005取数 1006减法运算 1000计算地址 1002取数 1003加法运算 1000加法指令 1001减法指令 1004转移指令 1100100010021003100510062.微程序控制器操作码 地址码 指令译码控制存储器控制字段 下址指令寄存器 IR形成本条指令的微程序入口地址微指令寄存器 基本工作原理:1.指令取入IR之后,根据操作码进行译码,得到相应指令的第一条微指令的地址。2.然后,由微指令的下址字段给出下一条微指令的地址。指令译码器:可用只读存储器组成。将操作码作为输入地址,而该单元的内容是相应的微指令在控制存储器中的地址。根据此地址从控制存储器中取出微指令,放入微指令寄存器中。控制字段各位的输出,通过连线直接和受控制的门相连,于是提供了各种控制信号。微程序控制器工作流程CPU开始执行取指令微程序的入口地址 uAR读微指令 uIR产生下一条微指令地址 uIR(uPC)取出指令 IR译码,形成本指令的微程序入口地址 uIR(uPC)执行微程序本微程序执行完了吗?取指令微程序执行完了吗?是否是否3.时序信号及工作脉冲的形成 CLK2经过二分频得到CLK,再将CLK分频得到T1,T1反相得到T2。一般利用触发器进行分频。假设一个机器周期由T1和T2组成,在T2的末尾需要产生一个工作脉冲CP来保存计算结果或接受传送的数据、指令等。CP=T2 CLK CLK2CP1=T1 CLK CLK2机器周期的确定一条微指令在一个机器周期内完成。而微指令由若干个微操作组成,不同的微指令要完成得微操作是不同的。所以,机器周期应该大于或等于执行时间最长的微操作时间。微程序控制器的主要特点及优缺点(1)微程序定义了计算机的指令系统,因此可以借助改变微程序存储器的内容来改变指令系统,使得指令系统的设计、修改以及扩充都成为不太困难的事情。这为计算机设计者及用户提供了相当大的灵活性。(一般而言,并不需要改变微程序存储器的内容,所以通常用只读存储器ROM充当微程序存储器)(2)任何机器指令的执行,都将多次访问到控制存储器,因此它的速度在决定计算机总的速度时起主要的作用。优点:与组合逻辑的控制方法相比,大大减少了控制器的复杂性和非标准化程度,从而把硬件的用量限制在很小范围内。缺点:比硬布线控制器速度慢。6.4 微程序设计技术6.4.1 微指令的编译法微指令的编译法 1.直接控制法直接控制法直接用微指令字的一位作一个控制信号,简单且速度快,但会使微直接用微指令字的一位作一个控制信号,简单且速度快,但会使微指令字变得很长。指令字变得很长。2.字段直接编译法字段直接编译法 把互斥的微命令分在一组加以编码,经译码器给出命令,把互斥的微命令分在一组加以编码,经译码器给出命令,速度会稍慢,但可大大减短微指令字长度,确保互斥。速度会稍慢,但可大大减短微指令字长度,确保互斥。3.字段间接编译法字段间接编译法 是对直接译码的的一种改进,可进一步缩短微指令字长度,即一个是对直接译码的的一种改进,可进一步缩短微指令字长度,即一个字段的某些微命令还受另一字段的制约。字段的某些微命令还受另一字段的制约。4.常数源字段常数源字段E 微指令中分配几位,用于给出特定用途的有关数值微指令中分配几位,用于给出特定用途的有关数值。设计微指令结构的目标(1)缩短微指令的长度(2)减小控制存储器的容量(3)提高微程序的执行速度(4)有利于微指令的修改(5)提高微程序设计的灵活性6.4.2 微程序流的控制现行微指令:正在执行的微指令。现行微地址:现行微指令所在的控制存储器单元的地址。后继微指令:下一条要执行的微指令。后继微地址:后继微指令所在的控制存储器单元的地址。微程序流的控制:当前微指令执行完后,怎样控制产生后继 微指令的地址。产生后继微地址的几种方法:(1)以增量方式产生后继微地址 顺序执行微指令时,后继微地址=现行微地址+一个增量(通常为1)非顺序执行(遇到转移类微指令)由uPC与形成转移微地址的逻辑电路组合形成后继地址(2)增量与下地址字段结合产生后继微地址将微指令的下址字段分成两部分:转移控制字段BCF 和 转移地址字段BAF当微程序实现转移时,将BAF送uPC,否则顺序执行下一条微指令(uPC+1)。假定有8种转移情况,定义了8个微命令,BCF取3位。P186表6.2BAF的长度有两种情况:(1)与uPC位数相等,则可以从控制存储器的任一单元中取微指令。(2)比uPC短;由原来的uPC的若干位与BAF组合形成转移微地址。(3)多路转移方式一条微指令存在多个转移分支的情况,称为多路转移。在若干个微地址中选择一个,作为后继微地址。典型的例子:根据操作码产生不同的后继微地址。执行过程中,有时要根据某些硬件状态来决定后继微地址。根据一种状态(只涉及微地址中的一位)可有两个转移方向,即两路转移;根据两种状态(涉及了微地址中的两位)可有四个转移方向,即四路转移;(4)微中断在微程序执行过程中,一旦出现微中断请求信号,在完成当前指令的微程序后响应该微中断请求。当CPU响应微中断请求时,由硬件产生微中断程序的入口地址。6.4.3 微指令格式微指令格式大体上可分为两类:水平型微指令和垂直型微指令。决定微指令格式的主要因素:微指令的编码译码方法1.水平型微指令2.基本特点:一条微指令中定义并执行多个并行操作微命令。3.典型例子:采用直接控制法进行编码的微指令4.实际应用中,直接控制法、字段编译法(直接、间接)经5.常用在同一条水平型微指令中。全水平型译码控制方式的水平型混合方式水平型2.垂直型微指令在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。特点:格式与指令相似;不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一两种操作。假定微指令字长16位,微操作码3位,则有8条微指令。格式见P1923.水平型和垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强;垂直型微指令则相对差一些。(2)水平型微指令执行一条指令的时间短;垂直型微指令执行时间则长。(3)由水平型微指令解释的微程序,具有微指令字比较长,但微程序短的特点;垂直型微指令则相反,微指令字较短而微程序长。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,掌握起来相对容易一些。6.4.4 微程序控制存储器和动态微程序设计1.微程序控制存储器2.3.一般由只读存储器ROM构成,因为指令系统一般来说是相对固定的。4.也可以用RAM做控制存储器。但是由于RAM是易失性存储器,所以开机后首先要将外存上的微程序调入控制存储器,然后才能执行程序。5.优点:可以修改微程序,即可以修改指令系统。6.可以考虑部分控存用ROM构成,实现固定的指令系统;7.部分控存由RAM构成,用于扩充或修改某些指令。2.动态微程序设计在一台微程序控制的计算机中,假如能根据用户的要求改变微程序,则称这台计算机有动态微程序设计功能。出发点:为了使计算机更加灵活、更加有效地适应于不同的应用目标。动态微程序设计需要可写控制存储器的支持。用于动态微程序的控制存储器称为可写控制存储器(WCS)或用户控制存储器(UCS)。3.控制存储器的操作执行一条微指令的过程,基本上分为两步:取微指令、执行微指令的各个微操作。这两个步骤,在时间上,可以采用串行或者并行方式。4.毫微程序设计毫微程序可以看作是用来解释微程序的一种微程序。因此,毫微指令可以看作是解释微指令的微指令。采用毫微程序设计的主要目的:减少控制存储器的容量。毫微程序设计思想:采用二级微程序设计方法。第一级采用垂直微程序,第二级采用水平微程序。每一级都有一个控制存储器,分别放置垂直型微指令和水平型毫微指令。第一级垂直微程序,是根据实现指令系统的需要而编制的,有严格的顺序结构,由它确定后继微指令的地址。第二级水平微指令,是由第一级调用的,具有并行操作控制的能力,但不包含后继微指令地址的信息。6.4.5 微程序设计语言设计者或其他用户用来编制微程序的语言,叫做微程序设计语言。用微程序设计语言编制的程序,叫做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后,才能装入控制存储器中。6.5 硬布线控制的计算机“时序控制信号形成部件”产生控制计算机各部件的控制信号。此部件的组成,有两种方式:一种,是微程序控制方式。另一种,是硬布线控制方式,又称为组合逻辑控制方式。由指令的操作码直接控制并产生控制信号由指令的操作码直接控制并产生控制信号6.5.1 时序与节拍指令的实现,大致分为四步:取指、计算地址、取数、执行。一般,每一步由一个机器周期实现。可以考虑用两位计数器的译码输出两位计数器的译码输出表示当前所处的机器周期;或者四位触发器分别表示四个周期。计数器状态变化A指令B指令 cyA cyB cyA cyB cyA cyB cyA cyB 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 cyA=cyA cyB+cyA cyBcyB=cyA cyB+cyA cyB=cyBcyA=cyA cyB+cyA cyB=cyBcyB=cyA cyBA指令:B指令:6.5.2 操作控制信号的产生1.操作码译码器 输入为操作码(n位),输出有 2n 根线。每根输出线表示一条指令。有且仅有一根是高电位,其余均为低电位(或者相反)。译码器的输出可以反映当前正在执行的指令。由译码器的输出和机器周期状态cy1cy4作为输入,使用逻辑电路产生操作控制信号。P2012.操作控制信号的产生(1)取指周期cy1所产生的信号,对所有指令都是相同的,与当前执行的指令无关。(2)通常,一个控制信号在若干条指令的某些周期中会用到,为此,要把它们组合起来。(3)例如:“+”命令(4)在加法指令的cy2、cy4时需要;(5)在减法指令的cy2时需要;(6)在转移指令的cy2时需要;(7)(8)“+”=加法指令(cy2+cy4)+减法指令cy2+转移指令cy2+假设操作码为7位(OP0OP6),若加法指令的操作码为0001100,则 加法指令=OP0 OP1 OP2 OP3 OP4 OP5 OP6(3)同种类型的指令所需的控制信号大部分相同,仅有少量区别;不同类型的指令,控制信号差别较大。例如:加法指令和减法指令 除了一个信号不同(“+”命令或“-”命令),其他信号 都相同所有算术逻辑运算指令,只在ALU的操作命令以及是否置状态位上有差别。(4)确定指令操作码时,为了便于逻辑表达式的化简以减少逻辑电路的数量,往往给与特别关注。例如:有16条算术逻辑运算指令,可以设置这些指令的前三位(OP0OP2)相同,比如001,而后四位分别表示这16条指令。若命令A是所有这16条指令在cy2周期都需产生的,则A=加法指令cy2+减法指令cy2+逻辑加指令cy2+=(加法指令+减法指令+逻辑加指令+)cy2 =OP0 OP1 OP2 cy26.5.3 控制器的组成1.程序计数器和中断控制逻辑程序计数器的输入来源:reset信号(开机后将PC置初始地址);PC+1,形成下一指令的地址(顺序执行情况);由ALU送来的转移地址(程序转移时);由中断控制逻辑部件中断控制逻辑部件产生的中断入口地址(当有外来中断 请求,而CPU响应该中断时);中断入口地址一个多个 向量中断 响应时间快软中断(陷阱指令Trap):中断入口地址由指令的地址码指令的地址码部分给出。2.译码器所以,译码器和硬布线逻辑的分界线往往是模糊的。一般意义上讲,译码器的每条输出线,代表一条指令。然而,同类指令的控制信号大部分相同,所以在操作码的设计上,给于特别关注。因此,在译码器的输出信号中,还可能增加有关指令类型的信号。3.硬布线逻辑的实现途径1)逻辑表达式较简单时,用两级门电路组成;2)实际逻辑复杂时,将若干个电路串联、并联后组合使用3)半定制电路门阵列实现4)全定制电路实现(集成在VLSI的CPU芯片中)6.5.4 硬布线控制逻辑设计中的若干问题1.指令操作码的代码分配2.指令操作码的长度和位置不固定,增加了控制逻辑部件复杂性和凌乱性。3.合理分配指令操作码,能节省控制部件的电路,减少延迟时间 2.确定机器周期、节拍与主频3.基本取决于指令的功能和器件的速度。4.一般可先考虑典型指令的执行步骤和每一步骤时间。5.应该保证绝大多数指令的操作能在一个机器周期内完成。6.一般来说,机器周期是根据存储器的速度以及执行周期的基本时间来确定的。3.根据指令的功能,确定每条指令所需的机器周期数以及每个周期所完成的操作 对于机器周期cy1cy4的处理,实际情况很复杂,除了某些指令不出现某些周期外,有些指令又要将某些周期延长。在确定每条指令每一机器周期完成的操作时,也就得出了相应的操作控制命令 操作控制命令=指令名*机器周期*节拍*条件例如:采用“加减交替法”进行除法运算,根据上一次执行结果的符号,决定本次执行加法还是减法 “+”操作命令=除法指令*cy4*N “-”操作命令=除法指令*cy4*N 4.综合所有指令的每一个操作命令先写出逻辑表达式,然后化简“+”=加法指令(cy2+cy4)+减法指令cy2+转移指令cy2+乘法指令(cy2+cy4 y31)+除法指令(cy2+cy4N)+6.5.5 硬布线控制与微程序控制的比较1.实现2.微程序控制器的控制功能,是在控制存储器和微指令寄存器3.的直接控制下实现的。4.硬布线控制,则由逻辑门组合实现。5.2.性能 微程序控制的速度比硬布线控制的速度低。6.6 控制器的控制方式控制器控制一条指令运行的过程,是依次执行一个确定的微操作序列的过程。控制器的控制方式,就是指如何形成不同微操作序列的时序控制信号。常用的有:同步控制方式、异步控制方式、联合控制方式。1.同步控制方式 在程序运行时,任何指令的执行或者指令中每个微操作的执行都受事先确定的时序信号所控制。每个时序信号的结束意味着一个微操作或者一条指令已经完成。在任何情况下,一条已定的指令在执行时所需的机器周期数和节拍数都固定不变,则为同步控制方式。一条机器指令由确定的机器周期组成,每个机器周期又分为两个节拍。同步控制方式可以选取的方案(1)采用完全统一的机器周期(或节拍)执行各种不同的指令。(2)即以最繁的微操作为标准,采取统一的、具有相同时间间隔和相同数目的节拍作为机器周期。(3)(2)采用不同节拍的机器周期,以解决微操作执行所需时间不统一的问题。(4)通常把大多数微操作安排在一个较短时间内完成,而对某些较繁的微操作,则采取延长机器周期或增加节拍的办法解决。(5)(3)采用中央控制和局部控制相结合的方法。(6)将机器的大部分指令安排在一个统一的较短的机器周期内完成,称为中央控制。(7)将少量操作复杂的指令的某些操作另行处理,称为局部控制。例如:乘法操作、除法操作、浮点运算等。2.异步控制方式当控制器发出进行某个微操作的控制信号后,等待执行部件完成该操作后发回的“回答”信号或者“结束”信号,再开始新的微操作。这种方式,称为异步控制方式。每条指令、每个微操作需要多少时间,就占用多少时间。微操作序列没有固定的周期节拍和严格的时钟同步。3.联合控制方式同步控制和异步控制相结合的方式。大部分微操作安排在一个固定的机器周期内,并在同步时序信号控制下进行;而对那些时间难以确定的微操作,则以执行部件送回的“回答”信号作为本次微操作的结束。4.人工控制为了调机和软件开发的需要,在计算机面板或内部往往设置一些开关或按键,以进行人工控制。最常见的有:reset键、连续执行或单条执行的转换开关、符合停机开关等。(1)reset按键 (2)产生reset信号,使计算机处于初始状态。(3)当计算机处于死锁状态或无法继续运行时,可按此键。(4)(2)连续或单条转换开关(5)连续工作:计算机按正常速度执行程序;(6)单条执行:每执行一条指令后计算机自动停机;(7)(3)符合停机(8)在机器内部设置一组开关,当程序运行时:(9)假如访问存储器的地址和设置开关值相等,机器停止运行-地址符合停机(10)假如指令的地址和设置开关值相等,机器停止运行-该地址称为程序断点6.7 流水线工作原理 机器的各部分,在某些周期内进行操作,而在某些周期则是空闲的。如果控制器调度恰当,让各个部件紧张工作,就可以提高机器的运行速度。1.流水线基本工作原理顺序执行程序时,执行过程如下(设四个周期完成一条指令):取指1计算地址1取数1计算存结果1取指2计算地址2或者,在某些计算机中,CPU分为指令部件I和执行部件E,分别完成取指译码和运算存结果操作。则执行过程如下:I1E1I2E2把若干条指令在时间上重叠起来执行,可以大幅度提高程序的执行效率。取指计算地址取数运算取指计算地址取数运算取指计算地址取数运算取指计算地址取数运算I1I2I3I4I1E1I2E2I3E3计算机的流水工作方式,就是将一个计算任务细分为若干个子任务,每个子任务由专门的部件处理。流水线由一系列串联的功能部件组成,各个功能部件之间设有缓冲寄存器,以暂时保存上一功能部件对子任务处理的结果。由于流水线相邻两段在执行不同的指令(或操作),因此必须在相邻两段之间设置锁存器或寄存器,以保证在一个周期内流水线的输入信号不变。-流水寄存器流水线在启动执行时有一个填充的过程,而在结束执行时有一个排空过程。这两个过程中,流水线的部分流水段没有被利用;而在这两个过程之间,则可以连续不断的执行指令,达到流水线装满的稳定状态,此时处理速率最高。IFIdExMWIFIdExMWIFIdExMWIFIdExMW在有些计算机系统中,把流水线分为五个阶段:2.流水线的相关问题指令流水线的一个特点是,流水线中的各条指令之间存在一些依赖性,或称相关性,使指令的执行受到影响。这些相关性分三类:数据相关、控制相关、资源相关。(1)数据相关数据相关,是由于指令之间存在数据依赖性而引起的。根据指令间对同一寄存器读和写操作的先后次序关系,可将数据相关性分为三种:写后读(RAW):上一条指令的写数据与下一条指令的读数据操作之间的相关。-真相关读后写(WAR):上一条指令的读数据与下一条指令的写数据操作之间的相关。-反相关写后写(WAW):两条指令的写数据操作之间的相关。-输出相关WAR和WAW相关都是因为采用了相同寄存器或存储单元而引起的,因此又称为名字相关。名字相关名字相关(与真相关不同),相关指令之间不传递数据,因此只要改变指令中使用的名字,或者调整指令的执行顺序,就可解除相关性。数据相关性是指令流水执行的障碍。例如:以下两条指令的执行,就存在数据相关性 SUB R2,R1,R3 /(R2)=(R1)(R3)ADD R4,R2,R5 /(R4)=(R2)+(R5)遇到数据相关时,后一条指令必须等到上一条指令写完以后才能读取操作数。IF IdExMWSUB R2,R1,R3ADD R4,R2,R5IF IdExMW消除数据相关性的一种方法是采用编译的方法。要求编译程序产生没有数据相关的程序代码。可以在两条相关指令之间插入其他不相关的指令;如果没有其他可插入的指令,则可以插入空操作指令NOP。另外,为了减少等待时间,很多计算机系统在硬件设计中使得寄存器的写操作在前半个周期进行,读操作在后半个周期进行。这样,在同一个周期中进行读和写操作时,读操作就能得到刚刚写入的数据。IF IdExMWSUB R2,R1,R3ADD R4,R2,R5IF IdExMWIF IdExMWIF IdExMWnopnop消除数据相关性的另一种方法是,由硬件监测相关性的存在并设法解决数据相关。当一条指令要写某个寄存器,而另一条指令要读同一个寄存器时,实际上只需要将写入寄存器的数据提前送入ALU的输入端,也就是直接向后面的指令传递结果数据。-前向传递相关性的检测,可以根据流水寄存器的值来进行。比如:MEM/WB.RegisterRd=ID/EX.RegisterRs=R2前向传递专用通路的控制信号,在执行阶段根据数据相关性检测的结果产生。有时候,前向传递专用通路也不能解决数据相关问题,这时要在流水线中插入停顿周期,使后面的指令推迟执行。流水线的停顿,是在硬件的控制下进行的。它的作用和编译程序插入nop指令是一样的,只是少了一个取指的操作。(2)指令流水线的控制相关控制相关主要是由程序流控制语句引起。在指令流水线中,控制相关主要由转移指令引起。解除控制相关的通常做法是:继续读取下一条指令,在转移发生的时候将后继指令的执行作废,从转移目标处重新读取指令。或者,改进转移指令执行性能的方式,将转移指令的执行在流水线中提前执行,把它前面的一条指令(与之没有相关性)位置对换。(3)指令流水线的资源相关当有两条指令在同一个机器周期需要使用同一个功能部件时发生的相关性,称为资源相关,又叫结构相关。结构相关是资源使用的冲突,主要的解决办法就是增加资源的数量。一种典型的结构相关是当某些功能部件的数量不够多时。当指令序列中出现结构相关时,流水线就停止其中的某些指令的流水执行,而让另一些指令继续执行,直到结构相关消除。另一种常见的结构相关,是某些功能部件的工作周期大于流水周期。比如,浮点运算部件通常需要较多的运算时间,当有多条指令使用这个功能部件时,就不能以流水节拍向前流动了。3.程序转移对流水线的影响“猜测法”技术:机器先选定转移分支中的一个,按它继续取指并处理。假如条件的结果出来后,证明猜测正确,则流水线可以继续进行下去;否则,猜错了,要返回分支点,并保证在分支后已经进行的操作不能破坏原有现场。当遇到条件转移指令时,只有当它流出流水线时,才能确定转移条件的结果并决定下一条指令的地址。机器运行时,当I/O设备发出中断请求或者出现某种故障时,要求中止当前程序的执行而转入中断处理程序。流水线机器处理中断的方法有两种:精确断点法:不等已经进入流水线的指令执行完毕,就尽 早地转入中断处理。不精确断点法:对还未进入流水线的后继指令,不允许其进入 流水线,而对已经在流水线中的所有指令,则 仍执行完毕,再转入中断处理程序。6.9 计算机的加电及控制
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!