版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 中央处理部件中央处理部件CPU6.1 控制器的组成控制器的组成6.2 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.3 微程序设计技术微程序设计技术6.4 硬布线控制的计算机硬布线控制的计算机6.5 流水线工作原理流水线工作原理6.6 CPU举例举例6.7 计算机的供电计算机的供电引言引言 微处理器将运算器与控制器集成在一个芯片上,称为中央处微处理器将运算器与控制器集成在一个芯片上,称为中央处理器(理器(CPU)。本章以)。本章以CPU内部结构为重点,以掌握逻辑设内部结构为重点,以掌握逻辑设计要点为目标。因第计要点为目标。因第3章已经学习了运算器,因此本章的重点章
2、已经学习了运算器,因此本章的重点放在控制计算机运行的硬件部件,即所谓的控制器上。放在控制计算机运行的硬件部件,即所谓的控制器上。计算机运行首先将一部分数据和程序输入主存储器,然后从计算机运行首先将一部分数据和程序输入主存储器,然后从“程序入口程序入口”开始执行该程序,得到结果并结束运行。开始执行该程序,得到结果并结束运行。“程程序入口序入口”指的是该程序开始执行的第一条指令的地址,控制指的是该程序开始执行的第一条指令的地址,控制器的作用是协调并控制计算机的各个部件执行程序的指令序器的作用是协调并控制计算机的各个部件执行程序的指令序列。列。计算机的工作过程可描述如下:计算机的工作过程可描述如下:
3、加电产生复位信号、初始化、确定程序入口地址加电产生复位信号、初始化、确定程序入口地址执行程序(取指令、分析指令、执行指令)得到结果、停执行程序(取指令、分析指令、执行指令)得到结果、停机停电。机停电。引言(续)引言(续) 本章主要论述本章主要论述CPU中各个部件的操作过程及其实现中各个部件的操作过程及其实现方法的原理,重点讲述方法的原理,重点讲述程序是如何执行程序是如何执行计算机怎么实现各条指令的功能计算机怎么实现各条指令的功能如何保证逐条指令的连续执行如何保证逐条指令的连续执行本章所讲的存储器如没有特别说明即是主存储器本章所讲的存储器如没有特别说明即是主存储器6.1 控制器的组成控制器的组成
4、 6.1.1 控制器的功能控制器的功能计算机对信息进行处理计算机对信息进行处理(或计算或计算)是通过程序的执行而是通过程序的执行而实现的,程序是完成某个确定算法的指令序列,要实现的,程序是完成某个确定算法的指令序列,要预先存放在存储器中。控制器的作用是控制程序的预先存放在存储器中。控制器的作用是控制程序的执行,它必须具有以下基本功能:执行,它必须具有以下基本功能:1. 取指令取指令当程序已在存储器中时,首先根据程序入口取出第当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。然后一条指令,为此要发出指令地址及控制信号。然后不断取出第不断取出第2,3,条指令。条指
5、令。 2. 分析指令分析指令或叫解释指令、指令译码等。是对当前取得的指令或叫解释指令、指令译码等。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。还需要形成操作数地址。3. 执行指令执行指令根据分析指令时产生的根据分析指令时产生的“操作命令操作命令”和和“操作数地操作数地址址”形成相应的操作控制信号序列,通过形成相应的操作控制信号序列,通过CPU及输及输入输出设备的执行,实现每条指令的功能,其中还入输出设备的执行,实现每条指令的
6、功能,其中还包括对运算结果的处理以及下条指令地址的形成。包括对运算结果的处理以及下条指令地址的形成。计算机不断重复顺序执行上述三种基本操作:取指、计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行分析、执行;再取指、再分析、再执行,如此,如此循环,直到遇到停机指令或外来的干预为止。循环,直到遇到停机指令或外来的干预为止。此外,程序和数据要输入机器,运算结果要输出,此外,程序和数据要输入机器,运算结果要输出,机器运行过程中出现的某些异常情况或请求要进行机器运行过程中出现的某些异常情况或请求要进行处理,人与机器之间要进行对话,因此控制器还应处理,人与机器之间要进行对话
7、,因此控制器还应该具有以下功能:该具有以下功能:4. 控制程序和数据的输入与结果输出控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向输入根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成输出设备发出一些相应的命令来完成I/O功能,这实功能,这实际上也是通过执行程序来完成的。际上也是通过执行程序来完成的。5. 对异常情况和某些请求的处理对异常情况和某些请求的处理当机器出现某些异常情况,此时由这些部件或设备当机器出现某些异常情况,此时由这些部件或设备发出:发出: (1) “中断请求中断请求”信号。待信号。待CPU执行完当前指执行完当前指令后,响应该请
8、求,中止当前执行的程序,转去执令后,响应该请求,中止当前执行的程序,转去执行中断程序。当处理完毕后,再返回原程序继续运行中断程序。当处理完毕后,再返回原程序继续运行下去。或行下去。或(2)DMA请求请求信号。等信号。等CPU完成当前机器完成当前机器周期操作后,暂停工作,让出总线给周期操作后,暂停工作,让出总线给I/O设备,在完设备,在完成成I/O设备与存储器之间的传送数据操作后,设备与存储器之间的传送数据操作后,CPU从从暂时中止的机器周期开始继续执行指令。暂时中止的机器周期开始继续执行指令。DMA操作操作不允许改变不允许改变CPU中任一寄存器状态中任一寄存器状态(除除DMA专用部件专用部件外
9、外),否则会影响,否则会影响CPU工作的正确性。工作的正确性。 6.1.2 控制器的组成控制器的组成 1. 程序计数器程序计数器(PC)即即指令地址寄存器指令地址寄存器。在某些计算机中用来存放。在某些计算机中用来存放当前当前正在执行的指令地址;而在另一些计算机中则用来正在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址;而在有指令预存放即将要执行的下一条指令地址;而在有指令预取功能的计算机中,一般还需要增加一个程序计数取功能的计算机中,一般还需要增加一个程序计数器用来存放下一条要取出的指令地址。器用来存放下一条要取出的指令地址。指令地址的形成:指令地址的形成:1)顺序执行
10、的,)顺序执行的,PC+1,1指的是指指的是指令长度;令长度;2)改变顺序执行的,由转移指令形成转移)改变顺序执行的,由转移指令形成转移地址送往地址送往PC,作为下一条指令的地址。,作为下一条指令的地址。2. 指令寄存器指令寄存器(IR)用以存放当前正在执行的指令,以便在指令执行过用以存放当前正在执行的指令,以便在指令执行过程中,控制完成一条指令的全部功能。程中,控制完成一条指令的全部功能。3. 指令译码器或操作码译码器指令译码器或操作码译码器对指令寄存器中的操作码进行分析解释,产生相应对指令寄存器中的操作码进行分析解释,产生相应的控制信号。在执行指令过程中,需要形成有一定的控制信号。在执行指
11、令过程中,需要形成有一定时序关系的操作控制信号序列,为此还需要下述组时序关系的操作控制信号序列,为此还需要下述组成部分。成部分。4. 脉冲源及启停线路脉冲源及启停线路脉冲源产生一定频率的脉冲信号作为整个机器的时脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号器刚加电时,还应产生一个总清信号(reset)。启停线。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使之停机。的发生或停止,从而启动机器工作或使
12、之停机。5. 时序控制信号形成部件时序控制信号形成部件当机器启动后,在当机器启动后,在CLK时钟作用下,根据当前正在时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。根据被控功能部件的反馈信号调整时序控制信号。 图图6.1是控制器基本组成的框图是控制器基本组成的框图 。假设操作数地址和转移地址的计算在运算器中进行,假设操作数地址和转移地址的计算在运算器中进行,运算器与控制器之间有内部连线,而运算器、控制器与存储运算器与控制器之间有内部连线,而运算器、控制器与存储器、器、I/O设备之间均通过
13、总结相连。设备之间均通过总结相连。简化模型:程序存放在主存储器中,非流水线方式取简化模型:程序存放在主存储器中,非流水线方式取指,指令长度固定、限制寻址方式的多样化,程序运行前程指,指令长度固定、限制寻址方式的多样化,程序运行前程序与数据已经存放在主存储器中。序与数据已经存放在主存储器中。图图6.3 控制器基本组成框图控制器基本组成框图 6.1.3 指令执行过程指令执行过程 1. 组成控制器的基本电路组成控制器的基本电路计算机中采用的电路,基本上分为两种类型:计算机中采用的电路,基本上分为两种类型:时序电路。具有记忆功能的时序电路。具有记忆功能的触发器触发器以及由它组成以及由它组成的的寄存器、
14、计数器和存储单元寄存器、计数器和存储单元等。其特点是当输等。其特点是当输入信号消失后,原信息仍保留其中,图入信号消失后,原信息仍保留其中,图6.2即是这即是这样的电路。样的电路。 1. 组合逻辑电路。没有记忆功能的门电路及由它组组合逻辑电路。没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元成的加法器、算术逻辑运算单元(ALU)和各种和各种逻逻辑电路辑电路等。其特点是当输入信号改变后,输出跟等。其特点是当输入信号改变后,输出跟着变化。图着变化。图6.3为加法器电路为加法器电路 。图图6.2 记忆电路记忆电路 图图6.3 没有记忆功能的加法器没有记忆功能的加法器 2. 指令执行过程举例指令
15、执行过程举例(1) 一条加法指令的执行过程一条加法指令的执行过程假设运算器的框图如图假设运算器的框图如图6.4所示。运算器由所示。运算器由8个通用寄个通用寄存器存器GR及一个算术逻运算部件及一个算术逻运算部件ALU组成,并有组成,并有4个个记忆运算结果状态的标志触发器记忆运算结果状态的标志触发器N,Z,V和和C。 N(负数负数): 当运算结果为负数时,置当运算结果为负数时,置“1”,否则为,否则为“0”。Z(零零): 当运算结果为零时,当运算结果为零时,Z1,否则,否则Z0。V(溢出溢出): 当运算结果溢出时,当运算结果溢出时,V1,否则,否则V0。C(进位进位): 当加法运算产生进位信号或减
16、法运算产生当加法运算产生进位信号或减法运算产生借位信号时,借位信号时,C1,否则,否则C0。图图6.4 运算器框图运算器框图 受控制的门,带*的是控制命令图图6.7 加法指令时序图加法指令时序图 指令格式:指令格式:Rsrdrs1为通用寄存器地址,为通用寄存器地址,Imm(或或Disp)为立即数为立即数(或位移量或位移量)加法指令:将寄存器加法指令:将寄存器(rs)中的数与存储器地址为中的数与存储器地址为(rs1)+disp的数的数相加,结果放在寄存器相加,结果放在寄存器rd,rs与与rd为同一寄存器。加法指令完为同一寄存器。加法指令完成以下操作成以下操作从存储器取指令,送入指令寄存器,并进行
17、操作码译码从存储器取指令,送入指令寄存器,并进行操作码译码(分析分析指令指令)。PCAB, W/R=0, M/IO=1; DBIR;PC+1计算数据地址,将计算得到的有效地址送地址寄存器计算数据地址,将计算得到的有效地址送地址寄存器AR。rs1GR, (rs1)ALU, dispALU; “+”ALU; ALUAR(有效有效地址送地址寄存器地址送地址寄存器)到存储器取数。到存储器取数。ARAB, W/R=0, M/IO=1; DBDR;进行加法运算,结果送寄存器,并根据运算结果置状态位进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C。rsGR, (rs)ALU, DRALU;A
18、LU进行加法运算;进行加法运算;rdGR, ALUrd, 置置NZVC状态位。状态位。操作码rs,rdrs1Imm(或Disp)以上操作需要四个机器周期:取指令、计算地址、以上操作需要四个机器周期:取指令、计算地址、取数、运算送结果。取指和取数通过总线访问存取数、运算送结果。取指和取数通过总线访问存储器,计算地址和送结果储器,计算地址和送结果 在在CPU内部操作,此时内部操作,此时总线空闲。总线空闲。0t1t2t3t4取指令计算地址取数运算送结果(2) 条件转移指令的执行过程条件转移指令的执行过程指令功能:根据指令功能:根据N,Z,V,C的状态,决定是否转换。的状态,决定是否转换。如转移条件成
19、立,则转移到本条指令所指定的地址,如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。否则顺序执行下一条指令。本条指令完成以下操作:本条指令完成以下操作:从存储器取指令,送入指令寄存器,并进行操作从存储器取指令,送入指令寄存器,并进行操作码译码。码译码。PC+1,如不转移,即为下一条指令地址。,如不转移,即为下一条指令地址。(本操作对所有指令都是相同的)(本操作对所有指令都是相同的)如转移条件成立,根据指令规定的寻址方式计算如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时有效地址,转移指令经常采用相对寻址方式,此时转移地址转移地址PC+d
20、isp。但。但PC在上一个机器周期已执在上一个机器周期已执行行PC+1操作,所以应取原来的操作,所以应取原来的PC。 本条指令只需要两个机器周期。本条指令只需要两个机器周期。(PC ALU,disp ALU, + ALU, ALU PC)某些计算机对条件转移指令的功能规定为:先进行比某些计算机对条件转移指令的功能规定为:先进行比较运算,根据运算较运算,根据运算(比较比较)结果置条件码,并根据条件码结果置条件码,并根据条件码决定是否转移。完成这样的功能显然要增加周期数。决定是否转移。完成这样的功能显然要增加周期数。其它指令的控制信号也按同样方法分析,根据每条指其它指令的控制信号也按同样方法分析,
21、根据每条指令的功能确定所需的机器周期数,并得出每个机器周令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综期所需要的控制信号,最后将所有的控制信号进行综合简化。合简化。控制器的功能就是按每条指令的要求产生所需的控制控制器的功能就是按每条指令的要求产生所需的控制信号。信号。上面讲到为什么需要控制信号及上面讲到为什么需要控制信号及需要什么样的控制信需要什么样的控制信号号,下面说明,下面说明如何产生控制信号如何产生控制信号。产生控制信号一般。产生控制信号一般有有微程序控制微程序控制和和硬布线控制硬布线控制两种方法。两种方法。6.2 微程序控制计算机的基本工作
22、原理微程序控制计算机的基本工作原理 6.2.1 微程序控制的基本概念微程序控制的基本概念在计算机中,一条指令的功能是通过按一定次序执在计算机中,一条指令的功能是通过按一定次序执行一系列基本操作完成的,这些基本操作称为行一系列基本操作完成的,这些基本操作称为微操微操作作。如前面所讲的加法指令,分成取指、计算地址、。如前面所讲的加法指令,分成取指、计算地址、取数、运算送结果这取数、运算送结果这4步完成,每一步实现若干个微步完成,每一步实现若干个微操作。操作。微指令微指令:在微程序控制的计算机中,将由同时发出:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令,所以的控制信号
23、所执行的一组微操作称为微指令,所以微指令就是把同时发出的控制信号的有关信息汇集微指令就是把同时发出的控制信号的有关信息汇集起来而形成的起来而形成的。如上面的加法指令分成的。如上面的加法指令分成的4步,每一步,每一步就是一条微指令。将一条指令分成若干条微指令,步就是一条微指令。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。按次序执行这些微指令,就可以实现指令的功能。组成微指令的微操作,又称微命令组成微指令的微操作,又称微命令。微程序:计算机的程序由指令序列构成,而计算机微程序:计算机的程序由指令序列构成,而计算机每条指令的功能均由微指令序列解释完成,这些每条指令的功能均
24、由微指令序列解释完成,这些微微指令序列的集合指令序列的集合就叫做微程序。就叫做微程序。控制存储器:微程序是存放在存储器中的,由于该控制存储器:微程序是存放在存储器中的,由于该存储器主要存放控制命令存储器主要存放控制命令(信号信号)与下一条执行的微指与下一条执行的微指令地址令地址(简称为下址简称为下址),所以被叫做控制存储器。一般,所以被叫做控制存储器。一般计算机指令系统是固定的,所以实现指令系统的计算机指令系统是固定的,所以实现指令系统的微微程序也是固定程序也是固定的,于是控制存储器可以用只读存储的,于是控制存储器可以用只读存储器实现。控制存储器的字长比机器字长要长。器实现。控制存储器的字长比
25、机器字长要长。执行一条指令实际上就是执行一条指令实际上就是执行一段存放在控制存储执行一段存放在控制存储器中的微程序器中的微程序。6.2.2 实现微程序控制的基本原理实现微程序控制的基本原理1. 控制信号控制信号将上一节讲到的运算器和控制器组合在一起,即为将上一节讲到的运算器和控制器组合在一起,即为图图6.6。本图假设。本图假设ALU可以进行加可以进行加(+)、减、减(-)、逻辑加、逻辑加()逻辑乘逻辑乘()四种运算,图中的控制信号用符号四种运算,图中的控制信号用符号1,2,3,表示,其意义见表表示,其意义见表6.1。仍以执行一条加法指令为例,它由四条微指令解释仍以执行一条加法指令为例,它由四条
26、微指令解释执行,一条微指令中的所有控制信号是同时发出的。执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:每条微指令所需的控制信号如下:(1) 取指微指令取指微指令 指令地址送地址总线:指令地址送地址总线:PCAB(1)表表6.1 控制信号一览表控制信号一览表序号序号控制信号控制信号功能功能序号序号控制信号控制信号功能功能1PCAB指令地址送地址总线指令地址送地址总线13+ALU进行加法运算进行加法运算2ALUPC转移地址送转移地址送PC14-ALU进行减法运算进行减法运算3PC+1程序计数器加程序计数器加115ALU进行逻辑乘运算进行逻辑乘运算4imm(disp)A
27、LU立即数或位移量送立即数或位移量送ALU16ALU进行逻辑加运算进行逻辑加运算5DBIR取指到指令寄存器取指到指令寄存器17ALUGRALU运算结果送通用寄存器运算结果送通用寄存器6DBDR数据总线上的数据送数据数据总线上的数据送数据寄存器寄存器18ALUDRALU运算结果送数据寄存器运算结果送数据寄存器7DRDB数据寄存器中的数据送数数据寄存器中的数据送数据总线据总线19ALUARALU计算得的有效地址送地计算得的有效地址送地址寄存器址寄存器8rs1GR寄存器地址送通用寄存器寄存器地址送通用寄存器20ARAB地址寄存器内容送地址总线地址寄存器内容送地址总线9rs,rdGR寄存器地址送通用寄
28、存器寄存器地址送通用寄存器21ADS地址总线上地址有效地址总线上地址有效10(rs1)ALU寄存器内容送寄存器内容送ALU22M/IO访问存储器或访问存储器或I/O11(rs)ALU寄存器内容送寄存器内容送ALU23W/R写或读写或读12DRALU数据寄存器内容送数据寄存器内容送ALU图图6.6 CPU(运算控制器)逻辑框图(运算控制器)逻辑框图 发访存控制命令:发访存控制命令:ADS(21),MIO1(22),WR0(23)。从存储器取指令送数据总线。从存储器取指令送数据总线。 指令送指令寄存器:指令送指令寄存器:DBIR(5) 程序计数器程序计数器+1:PC+1(3)(2) 计算地址微指令
29、计算地址微指令 取两个源操作数取两个源操作数(计算地址用计算地址用):rs1GR(8),(rs1)ALU(10),dispALU(4)。 加法运算:加法运算:“+”(13)。 有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)。(3) 取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)。 发访存控制命令:发访存控制命令:ADS(21),MIO(22),W/R(23)。由存储器将数据送数据总线。由存储器将数据送数据总线DB。 数据送数据寄存器:数据送数据寄存器:DBDR(6)(4) 加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送AL
30、U:rsGR(9),(rs)ALU(11);DRALU(12)。 加法运算:加法运算:“+”(13) 送结果:送结果:ALUGR(17)如何产生上述控制信号?如何产生上述控制信号?微指令最简单的组成形式是将每个控制信号用一个控制位来表微指令最简单的组成形式是将每个控制信号用一个控制位来表示,示,1为有控制信号,为有控制信号,0反之。图反之。图6.6共有共有23个控制信号,所以个控制信号,所以共有共有23个控制位,如控制存储器容量为个控制位,如控制存储器容量为4K,则微指令还需,则微指令还需12位来表示下址。实际的计算机控制信号位比上例要大得多,控位来表示下址。实际的计算机控制信号位比上例要大得
31、多,控制存储器容量也大,因此微指令字长通常在制存储器容量也大,因此微指令字长通常在100位以上。位以上。图图6.7为加法指令的四条微指令编码,每一小格表示一位为加法指令的四条微指令编码,每一小格表示一位(二进二进制制),空格表示,空格表示0,第,第24位到第位到第35位为下址。位为下址。微程序也可以用流程图来表示微程序也可以用流程图来表示(图图6.8)。图中每一方框表示一条。图中每一方框表示一条微指令,方框上方表示的是该条微指令的地址,方框内为执行微指令,方框上方表示的是该条微指令的地址,方框内为执行的操作,在其右下角为下一条要执行的微指令的地址,表示在的操作,在其右下角为下一条要执行的微指令
32、的地址,表示在微指令的下址字段中微指令的下址字段中(见图见图6.7)。取指微指令的操作对所有的指。取指微指令的操作对所有的指令都是相同的。所以是一条公用的微指令,其下址由操作码译令都是相同的。所以是一条公用的微指令,其下址由操作码译码产生。码产生。图图6.7 加法指令的微指令编码加法指令的微指令编码图图6.8 微程序流程图举例微程序流程图举例2. 微程序控制器微程序控制器微程序控制器如图微程序控制器如图6.9所示。图中的控制存储器与微指所示。图中的控制存储器与微指令寄存器替代了图令寄存器替代了图6.6中的时序控制信号形成部件。中的时序控制信号形成部件。其基本工作原理如下:当指令取入其基本工作原
33、理如下:当指令取入IR后,根据操作码后,根据操作码进行译码,得到相应指令的每一条微指令的地址。以进行译码,得到相应指令的每一条微指令的地址。以后都由微指令的下址字段指出下一条微指令的地址。后都由微指令的下址字段指出下一条微指令的地址。指令译码可用只读存储器组成,将操作码作为只读存指令译码可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址,根据此地址从控制存储器取出控制存储器中的地址,根据此地址从控制存储器取出微指令,并将它存放在微指令寄存器中。微指令,并将它存放在微指令寄存器中。微指令分成两部分,
34、产生控制信号的部分一般称为控微指令分成两部分,产生控制信号的部分一般称为控制字段,产生下址的部分称为下址字段。制字段,产生下址的部分称为下址字段。控制字段各控制字段各位的输出通过连接线直接与受控制的门相连位的输出通过连接线直接与受控制的门相连,于是就,于是就提供了在本节所提出的控制信号,提供了在本节所提出的控制信号,图图6.9 微程序控制器简框图微程序控制器简框图 3. 时序信号及工作脉冲的形成时序信号及工作脉冲的形成在图在图6.6中,没有画出使一些寄存器(指令寄存器等)中,没有画出使一些寄存器(指令寄存器等)接收数据或计数的工作脉冲(打入脉冲),这些脉接收数据或计数的工作脉冲(打入脉冲),这
35、些脉冲如何形成的?另外冲如何形成的?另外CLK、T1、T2等信号是如何产等信号是如何产生的?生的?首先讨论图首先讨论图6.5中的中的CLK及及T1,T2是怎样产生的,分是怎样产生的,分析它们之间的关系,可以知道析它们之间的关系,可以知道CLK2经过二分频得到经过二分频得到CLK,再将,再将CLK分频得到分频得到T1。而。而T2可从可从T1反相得到反相得到。一般利用触发器电路进行分频,因此从触发器的另一般利用触发器电路进行分频,因此从触发器的另一端输出即为一端输出即为T2。图。图6.10画出了产生画出了产生CLK和和T1,T2信信号的二分频电路及其波形图。号的二分频电路及其波形图。 图图6.12
36、 时序信号及工作脉冲时序信号及工作脉冲 前面曾假设一个机器周期由前面曾假设一个机器周期由T1和和T2组成,在组成,在T2的末尾需的末尾需要产生一个工作脉冲要产生一个工作脉冲CP来保存计算结果或接收传送的来保存计算结果或接收传送的数据及指令等。例如,在第一个机器周期的末尾要将从数据及指令等。例如,在第一个机器周期的末尾要将从存储器取来的指令送入指令寄存器,并完成程序计数器存储器取来的指令送入指令寄存器,并完成程序计数器加加1的操作。在图的操作。在图6.10中画出的工作脉冲中画出的工作脉冲CP可用逻辑式可用逻辑式表示如下:表示如下:CPT2CLKCLK2(6.1)同样将上述一些信号组合可以得到我们
37、想得到的任意时同样将上述一些信号组合可以得到我们想得到的任意时序脉冲。如利用一个与门实现序脉冲。如利用一个与门实现CP1T1CLKCLK2功能功能可在可在T1末尾得到另一个工作脉冲,则末尾得到另一个工作脉冲,则CP+CP1=CLKCLK2在一个机器周期内设置一个或多个工作脉冲?机器周期在一个机器周期内设置一个或多个工作脉冲?机器周期多长,由设计者根据逻辑设计和电路性能决定。多长,由设计者根据逻辑设计和电路性能决定。寄存器的打入脉冲是如何形成的寄存器的打入脉冲是如何形成的?例如,在取指周期,要将指令送入指令寄存器,并将程序计数例如,在取指周期,要将指令送入指令寄存器,并将程序计数器的内容加器的内
38、容加1,从图,从图6.7可见,此时微指令的控制位可见,此时微指令的控制位DBIR和和PC+1为为“1”,因此采用,因此采用“与与”门,如下图门,如下图(a)和下图和下图 (b)所示即所示即可形成可形成IR和和PC的打入脉冲的打入脉冲(CP-IR和和CP-PC)。每个机器周期都要更新的寄存器可直接利用每个机器周期都要更新的寄存器可直接利用CP作打入脉冲。如作打入脉冲。如微指令寄存器,每个机器周期要完成一条微指令,所以每个机微指令寄存器,每个机器周期要完成一条微指令,所以每个机器周期都要从控制存储器中取出一条微指令,并将它卷入微指器周期都要从控制存储器中取出一条微指令,并将它卷入微指令寄存器中,可
39、直接利用令寄存器中,可直接利用CP作为打入脉冲。作为打入脉冲。计算机内所有寄存器和触发器接受信息都需要有打入脉冲,都计算机内所有寄存器和触发器接受信息都需要有打入脉冲,都可以用类似的方法产生。可以用类似的方法产生。有些信号,例如有些信号,例如ADS,仅在,仅在T1时间起作用,可利用微指令控制时间起作用,可利用微指令控制位位ADS和和T1相相“与与”,即可得到,即可得到ADS如下图如下图(c)所示。所示。图图 CP-IR、CP-PC和和ADS信号的形成信号的形成4. 电路配合中的常见问题电路配合中的常见问题(1) 电路延迟引起的波形畸变电路延迟引起的波形畸变信号通过逻辑电路时,由于电路内部的原因
40、以及寄生参数信号通过逻辑电路时,由于电路内部的原因以及寄生参数(如寄生如寄生电容电容)的影响,可能产生不期望的信号畸变或的影响,可能产生不期望的信号畸变或“毛刺毛刺”。如图。如图6.11所示的所示的“符合符合”电路电路 。因为。因为AB比比AB多经过一个门,造成延迟多经过一个门,造成延迟引起在输出端产生一个脉冲。即使信号经过的门的数量(级数)引起在输出端产生一个脉冲。即使信号经过的门的数量(级数)相等,但经过途径不同,也可以产生毛刺。相等,但经过途径不同,也可以产生毛刺。图图6.12 延迟引起的毛刺延迟引起的毛刺 图图6.12(a)是一个分频电路,由触发器和是一个分频电路,由触发器和“与与”门
41、组成。如触发器无延迟,则在门组成。如触发器无延迟,则在与门的输出端可得到宽度与与门的输出端可得到宽度与CLK相同、频率降低一半的相同、频率降低一半的CLKA脉冲;但若触发脉冲;但若触发器有延迟,其输出波形为器有延迟,其输出波形为Q,则在,则在“与与”门的输出端的波形将如门的输出端的波形将如CLKA所示,所示,使信号宽度变窄,又产生使信号宽度变窄,又产生“毛刺毛刺”。这样的电路会引起计算机操作错误。这样的电路会引起计算机操作错误。(2) 机器周期的确定机器周期的确定一条微指令要完成若干个微操作,每个微操作都应一条微指令要完成若干个微操作,每个微操作都应在一个机器周期内完成,即机器周期大于或等于执
42、在一个机器周期内完成,即机器周期大于或等于执行时间最长的微操作时间。一般来说访问存储器的行时间最长的微操作时间。一般来说访问存储器的微操作时间较长,一次算术运算所需时间次之。机微操作时间较长,一次算术运算所需时间次之。机器周期对机器速度影响很大,是计算机的主要指标器周期对机器速度影响很大,是计算机的主要指标之一。之一。 在图在图6.5的波形图中,有一个的波形图中,有一个ready信号,它是信号,它是CPU访访问存储器时,由存储器送回问存储器时,由存储器送回CPU的回答信号,这是的回答信号,这是考虑到存储器的速度可能与考虑到存储器的速度可能与CPU不一致,假如存储不一致,假如存储器的速度较低,则
43、器的速度较低,则ready信号出现较晚,信号出现较晚,CPU将延长将延长一个或一个以上一个或一个以上T2节拍信号。节拍信号。(3) 时钟脉冲时钟脉冲CLK和工作脉冲和工作脉冲CP的标准性的标准性CLK和和CP是控制全机工作的脉冲,因此对它的幅度是控制全机工作的脉冲,因此对它的幅度及宽度要求是很严格的。及宽度要求是很严格的。CP主要作为寄存器和触发主要作为寄存器和触发电路的打入脉冲。例如,有电路的打入脉冲。例如,有A,B,C三个触发器,三个触发器,当满足条件当满足条件cond时,将时,将A触发器内容送触发器内容送B,同时将原,同时将原B触发器内容送触发器内容送C。对。对CP的控制有两种方式:一种
44、方的控制有两种方式:一种方式是控制式是控制CP-B与与CP-C信号如图信号如图6.13(a)所示,当满足所示,当满足cond条件时,才产生条件时,才产生CP-B和和CP-C信号。另一种方式信号。另一种方式是是CP脉冲不受控制,总是作用在触发器上,但当条脉冲不受控制,总是作用在触发器上,但当条件不成立时,使触发器处于保持状态件不成立时,使触发器处于保持状态(即维持原状态即维持原状态不变不变),而当条件成立时,接受新状态如图,而当条件成立时,接受新状态如图6.13(b)所所示。示。图图6.13 触发器之间传送信息的电路触发器之间传送信息的电路触发器触发器A,B,C是具有维持阻塞功能的是具有维持阻塞
45、功能的D型触发器。型触发器。在图在图6.13中假设中假设CP-B与与CP-C是同时作用的脉冲,因是同时作用的脉冲,因此能可靠传送数据,但假如此能可靠传送数据,但假如CP-B比比CP-C来得早,那来得早,那么有可能将么有可能将B触发器刚接收的新数据传送到触发器刚接收的新数据传送到C触发器。触发器。在图在图6.13(a)中,中,CP-B和和CP-C不是来自同一处,假如不是来自同一处,假如设计时不注意这一问题,就可能产生设计时不注意这一问题,就可能产生CP-B早于早于CP-C的情况。在控制打入脉冲的机器中,总是的情况。在控制打入脉冲的机器中,总是尽量将尽量将CP信号送到控制门的最后一级信号送到控制门
46、的最后一级。例如,图。例如,图6.14(a)与与(b)都能实现都能实现F=ABCDECP的功能,但在图的功能,但在图6.14(a)中,中,CP所经过的门比图所经过的门比图6.14(b)少一级,所以图少一级,所以图6.14(a)的的电路比图电路比图6.14(b)为好。为好。 图图6.14 CP脉冲在电路中的安排脉冲在电路中的安排 图图6.13(b)利用时钟脉冲利用时钟脉冲CP直接作为触发器的打入脉冲,直接作为触发器的打入脉冲,提高了可靠性提高了可靠性,但是增加了电路的复杂性,因为在某些,但是增加了电路的复杂性,因为在某些情况下,要保持原触发器状态不变。另外也要看到,在情况下,要保持原触发器状态不
47、变。另外也要看到,在这种计算机中这种计算机中CP的负载一定很重的负载一定很重,实际上要用若干个,实际上要用若干个驱动电路并行工作如图驱动电路并行工作如图6.15所示。各所示。各CLKi(i1,2,3,)之间的波形不会完全相同,但由于它们经过的门的之间的波形不会完全相同,但由于它们经过的门的级数相同,而且在同一芯片内部,所以相差不大,又由级数相同,而且在同一芯片内部,所以相差不大,又由于寄存器或触发器的状态变化有一定的延迟时间,因此于寄存器或触发器的状态变化有一定的延迟时间,因此允许允许CLKi在一定范围内变化。如图在一定范围内变化。如图6.15的电路由多个芯的电路由多个芯片组成,则要选择性能相
48、同的芯片。片组成,则要选择性能相同的芯片。经过多级门的时钟脉冲,还可能改变脉冲宽度。例如,经过多级门的时钟脉冲,还可能改变脉冲宽度。例如,TTL电路的输出波形,上升边较缓,下降边较陡,假如电路的输出波形,上升边较缓,下降边较陡,假如各级门负载不同,会导致脉冲宽度增加或减少。在传送各级门负载不同,会导致脉冲宽度增加或减少。在传送CLK的线上或产生打入脉冲的信号线上不允许出现的线上或产生打入脉冲的信号线上不允许出现“毛毛刺刺”,否则将引起误动作。,否则将引起误动作。图图6.15 负载很重情况下的电路负载很重情况下的电路 5. 微程序控制计算机的工作过程简单的总结微程序控制计算机的工作过程简单的总结
49、(参阅图参阅图6.6)机器加电后,首先由机器加电后,首先由reset信号在信号在PC内置入开机后执内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入行的第一条指令的地址,同时在微指令寄存器内置入一条一条“取指取指”微指令,并将其他一些有关的状态位或微指令,并将其他一些有关的状态位或寄存器置于初始状态。当电压达到稳定值后,自动启寄存器置于初始状态。当电压达到稳定值后,自动启动机器工作,产生节拍电位动机器工作,产生节拍电位T1,T2和和CP。为保证机。为保证机器正常工作,必须由电路保证开机工作后第一个机器器正常工作,必须由电路保证开机工作后第一个机器周期信号的完整性,在该周期的末尾,产生
50、开机后第周期信号的完整性,在该周期的末尾,产生开机后第一个工作脉冲一个工作脉冲CP。然后机器开始执行程序,不断地。然后机器开始执行程序,不断地取出指令、分析指令、执行指令。取出指令、分析指令、执行指令。 程序可以存放在固定存储器中,也可以利用一小段引程序可以存放在固定存储器中,也可以利用一小段引导程序导程序(在固存中在固存中)将要执行的程序和数据从外部设备将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在调入主存。实现各条指令的微程序是存放在微程序控微程序控制器制器中的。当前正在执行的微指令从微程序控制器中中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由
51、微指令的控制字段中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命令时,应该待当前理。当遇到停机指令或外来停机命令时,应该待当前这条指令执行完再停机或至少在本机器周期结束时再这条指令执行完再停机或至少在本机器周期结束时再停机。在停机后重新启动要保证机器继续工作且不出停机。在停机后重新启动要保证机器继续工作且不出任何错误。任何错误。 停机与停电是两个不同的概念,停机时电压仍维持正停机与停电是两个不同的概念,停机时电压仍维持正常,因此寄存器与存储器仍保持信息不变,重新启动常,因此
52、寄存器与存储器仍保持信息不变,重新启动后从程序停顿处后从程序停顿处(称为断点称为断点)继续执行下去。而停电后继续执行下去。而停电后情况大不相同,此时寄存器与存储器的内容已消失,情况大不相同,此时寄存器与存储器的内容已消失,加电后产生的加电后产生的reset信号,使机器从固定入口重新开始信号,使机器从固定入口重新开始运行。某些机器不设停机指令,而是不断循环执行一运行。某些机器不设停机指令,而是不断循环执行一条或几条无实质内容的指令实现动态停机。此时一般条或几条无实质内容的指令实现动态停机。此时一般依靠外来中断请求信号,启动机器继续工作。依靠外来中断请求信号,启动机器继续工作。某些机器具有停电后自
53、动再启动功能。这种工作方式某些机器具有停电后自动再启动功能。这种工作方式适用于电源有故障或短时间内交流电压不稳定的情况,适用于电源有故障或短时间内交流电压不稳定的情况,在无人操作的情况下还能保证机器继续工作。而更为在无人操作的情况下还能保证机器继续工作。而更为一般的工作方式是在人工操作下让机器重新开始工作。一般的工作方式是在人工操作下让机器重新开始工作。6.3 微程序设计技术微程序设计技术在上节中讲述了微程序控制计算机的基本工作原理,目的是说在上节中讲述了微程序控制计算机的基本工作原理,目的是说明在计算机中程序是如何实现的以及控制器的功能。在实际进明在计算机中程序是如何实现的以及控制器的功能。
54、在实际进行微程序设计时,还应关心下面行微程序设计时,还应关心下面3个问题:个问题:如何缩短微指令字长如何缩短微指令字长如何减少微程序长度如何减少微程序长度如何提高微程序的执行速度如何提高微程序的执行速度6.3.1 微指令控制字段的编译法微指令控制字段的编译法1. 直接控制法直接控制法在微指令的控制字段中,每一位代表一个微命令,在设计微指在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成令时,是否发出某个微命令,只要将控制字段中相应位置成“1”或或“0”,这样就可打开或关闭某个控制门,这就是直接控,这样就可打开或关闭某个控制门,这就是直接控
55、制法,在制法,在6.2节中所讲的就是这种方法。但在某些复杂的计算机节中所讲的就是这种方法。但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法。现了以下各种编译法。 2. 字段直接编译法字段直接编译法在计算机中的各个控制门,在任一微周期内,不可在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的能同时被打开,而且大部分是关闭的(即相应的控制即相应的控制位为位为“0”)。所
56、谓微周期,指的是一条微指令所需的。所谓微周期,指的是一条微指令所需的执行时间。如果有若干个执行时间。如果有若干个(一组一组)微命令,在每次选择微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。选出互斥的微命令,么这若干个微命令是互斥的。选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。而在微指令寄存器的输段,用二进制编码来表示。而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出出端,为该字段增加一个译码器,该译码器的输出
57、即为原来的微命令即为原来的微命令(图图6.16)。 图图6.16 字段直接编译法字段直接编译法字段长度与所能表示的微命令数的关系如下:字段长度与所能表示的微命令数的关系如下: 字段长度字段长度 微命令数微命令数2位位233位位474位位815一般每个字段要留出一个代码,表示本段不发出任一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为何微命令,因此当字段长度为3位时,最多只能表示位时,最多只能表示7个互斥的微命令,通常代码个互斥的微命令,通常代码000表示不发微命令。表示不发微命令。这样看来,表示这样看来,表示7个互斥的微命令只需要个互斥的微命令只需要3位,比原位,比原来的
58、来的7位减少了位减少了4位。位。3. 字段间接编译法字段间接编译法字段间接编译法是在字段直接编译法的基础上,进字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法。如果在字段直一步缩短微指令字长的一种编译法。如果在字段直接编译法中,接编译法中,还规定一个字段的某些微命令,要兼还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接由另一字段中的某些微命令来解释,称为字段间接编译法编译法。如图。如图6.17所示。所示。本方法进一步减少了指令长度,但很可能会削弱微本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法指令的
59、并行控制能力,因此通常只作为直接编译法的一种辅助手段。的一种辅助手段。图图6.17 字段间接编译法字段间接编译法4. 常数源字段常数源字段E在微指令中,一般设有一个常数源字段在微指令中,一般设有一个常数源字段E,就如指令,就如指令中的直接操作数一样。中的直接操作数一样。E字段一般仅有几位,用来给字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数某些部件发送常数,故有时称为发射字段。该常数有时作为操作数送入有时作为操作数送入ALU运算;有时作为计算器初运算;有时作为计算器初值,用来控制微程序的循环次数等。值,用来控制微程序的循环次数等。6.3.2 微程序流的控制微程序流的控制
60、当前正在执行的微指令,称为当前正在执行的微指令,称为现行微指令现行微指令,现行微指,现行微指令所在的控制存储器单元的地址称为令所在的控制存储器单元的地址称为现行微地址现行微地址,现,现行微指令执行完毕后,下一条要执行的微指令称为行微指令执行完毕后,下一条要执行的微指令称为后后继微指令继微指令,后继微指令所在的控存单元地址称为,后继微指令所在的控存单元地址称为后继后继微地址微地址。所谓微程序流的控制是指当前微指令执行完。所谓微程序流的控制是指当前微指令执行完毕后,毕后,怎样控制产生后继微指令的微地址怎样控制产生后继微指令的微地址。在上一节。在上一节中,我们已经讲到产生后继微指令地址的两种方法:中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【2021届备考】2021届全国名校生物试题分类解析汇编第六期(11月)-D单元-细胞的生命历程
- 【名师一号】2020-2021学年高中生物(人教版)必修三双基限时练15-生态系统的能量流动
- 2021高一物理-1.2-运动的合成与分解-每课一练1(教科版必修2)
- 【语法突破-师说】2021高考(人教版)英语全程复习构想-课时训练53-专题十三-数词与主谓一致
- 河北省保定市四县一中2024-2025学年高二上学期12月联考化学试题 (含答案)
- 2021年高考英语考点总动员系列-专题05-动词和动词短语(解析版)
- 【全程复习方略】2020年北师版数学文(陕西用)课时作业:第十章-第一节随机事件的概率
- 【中学教材全解】2020-2021学年人教版高中物理必修2-第7章-第2节-功备课资料素材库
- 【名师一号】2021高考化学(苏教版)一轮复习考点突破:5-3微粒之间的相互作用力和物质的多样性
- 大学生毕业实习报告(15篇)
- 办公大楼物业服务投标方案(完整技术标)
- 中国国家标准英文翻译指南
- 高速公路隧道工程施工方案
- 中国营养科学全书
- 针灸推拿试题(附参考答案)
- 《机械制图》说课课件-画组合体视图的方法和步骤
- 2023-2024学年成都市锦江区四年级数学第一学期期末统考模拟试题含答案
- (完整版)初中英语语法专练动名词Word版含答案
- 医院人才培养和梯队建设制度
- 幼儿园医护助教知识学习培训PPT
- 管体结构尺寸与配筋设计图册
评论
0/150
提交评论