6:中央处理器.ppt

上传人:s****8 文档编号:67328129 上传时间:2022-12-24 格式:PPT 页数:81 大小:673KB
返回 下载 相关 举报
6:中央处理器.ppt_第1页
第1页 / 共81页
6:中央处理器.ppt_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《6:中央处理器.ppt》由会员分享,可在线阅读,更多相关《6:中央处理器.ppt(81页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第6章章 中央处理器中央处理器思考:思考:实现我们业务逻辑的是我们编写的应用程序?实现我们业务逻辑的是我们编写的应用程序?而计算机是具有层次的体系结构,那么在底层,实现我而计算机是具有层次的体系结构,那么在底层,实现我们应用程序的归根到底又是什么呢?们应用程序的归根到底又是什么呢?主要学习内容主要学习内容6.1 计算机的硬件系统计算机的硬件系统6.2 控制器的组成控制器的组成6.3 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.4 微程序设计技术微程序设计技术6.5 硬布线控制的计算机硬布线控制的计算机6.6 控制器的控制方式控制器的控制方式6.7 流水线工作原理流水线工作

2、原理6.9 计算机的加电及控制过程计算机的加电及控制过程6.1 计算机的硬件系统计算机的硬件系统Intel 80386微机系统框图微机系统框图(1)80386微处理器是系统中主要的处理、控制部件,微处理器是系统中主要的处理、控制部件,从存储器中取出的从存储器中取出的指令主要在指令主要在80386中处理中处理。(2)80384时钟发生器。机器加电时,首先由它产生整机复位时钟发生器。机器加电时,首先由它产生整机复位信号信号(reset),使计算机各个部件处于初始状态;为计算操作,使计算机各个部件处于初始状态;为计算操作提供节拍。提供节拍。(3)80387协处理器扩充了协处理器扩充了80386指令系

3、统,主要完成浮点运指令系统,主要完成浮点运算和高精度整数运算。算和高精度整数运算。80386自动将取得的协处理器指令传自动将取得的协处理器指令传送给送给80387。(4)总线控制逻辑。总线控制逻辑。80386通过总线与存储器、通过总线与存储器、IO设备交换信息设备交换信息(5)存储器与输入输出系统。存放数据、指令以及存储器与输入输出系统。存放数据、指令以及完成输入输出操作的系统。完成输入输出操作的系统。(6)DMA控制器及中断控制器。控制器及中断控制器。(7)“准备好准备好”(ready)逻辑,由存储器发向逻辑,由存储器发向80386。2.80386结构及外部连线结构及外部连线各个信号的功能解

4、释如下:各个信号的功能解释如下:(1)D0D31:32位数据总线,是传送数据的双向总位数据总线,是传送数据的双向总线。线。(2)A2A31,BE0BE3:A0A31是是32位地址位地址线,其中线,其中A0,A1在在80386内部转换成内部转换成“字节使能字节使能”信号信号BE0BE3,分别是字节,分别是字节0字节字节3的选择的选择信号,符号表示低电位有效。信号,符号表示低电位有效。(3)CLK2:输入到:输入到80386的时钟。的时钟。(4)reset:总清或复位信号。:总清或复位信号。(5)WR、DC、MIO、LOCK:是总:是总线周期定义信号。线周期定义信号。(6)ADS、NA、BS16、

5、Ready:是总线控制:是总线控制信号。信号。(7)HOLD和和HLDA:为总线仲裁信号。:为总线仲裁信号。(8)INTR和和NMI:为中断请求信号和不可屏蔽中断请:为中断请求信号和不可屏蔽中断请求信号。求信号。(9)PEREQ,BUSY#,ERROR:为协处理器接口信:为协处理器接口信号。号。6.2 控制器的组成控制器的组成 CPU由运算器、由运算器、控制器控制器和寄存器及实现它们之和寄存器及实现它们之间联系的数据、控制及状态的总线构成。间联系的数据、控制及状态的总线构成。6.2.1 控制器的功能控制器的功能控制器的作用是控制程序的执行控制器的作用是控制程序的执行,它必须具有,它必须具有以下

6、基本功能:以下基本功能:1.取指令取指令当程序已在存储器中时,首先根据程序入口取当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。出第一条指令,为此要发出指令地址及控制信号。然后不断取出第然后不断取出第2,3,条指令。条指令。2.分析指令分析指令或叫解释指令、指令译码等。是对当前取得的指令进或叫解释指令、指令译码等。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作命令,如果参与操作的数据在存储器中,还需要形成操作数地址。数地址。3.执行指令

7、执行指令根据分析指令时产生的根据分析指令时产生的“操作命令操作命令”和和“操作数地址操作数地址”形成相应的操作控制信号序列,通过形成相应的操作控制信号序列,通过CPU及输入输出设及输入输出设备的执行,实现每条指令的功能,其中还包括对运算结果备的执行,实现每条指令的功能,其中还包括对运算结果的处理以及下条指令地址的形成。的处理以及下条指令地址的形成。计算机不断重复顺序执行上述三种基本操作:取指、计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行分析、执行;再取指、再分析、再执行,如此循环,如此循环,直到遇到停机指令或外来的干预为止。直到遇到停机指令或外来的干预为止。

8、此外,程序和数据要输入机器,运算结果要输此外,程序和数据要输入机器,运算结果要输出,机器运行过程中出现的某些异常情况或请求要出,机器运行过程中出现的某些异常情况或请求要进行处理,人与机器之间要进行对话,因此控制器进行处理,人与机器之间要进行对话,因此控制器还应该具有以下功能:还应该具有以下功能:4.控制程序和数据的输入与结果输出控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成输入输出设备发出一些相应的命令来完成I/O功能,功能,这实际上也是通过执行程序来完成的。这实际上也是通过执行程序来完成的。5

9、.对异常情况和某些请求的处理对异常情况和某些请求的处理(1)“中断请求中断请求”信号。信号。(2)DMA请求信号。请求信号。6.2.2 控制器的组成控制器的组成 6.2.2 控制器的组成控制器的组成 1.程序计数器程序计数器(PC)即即指令地址寄存器指令地址寄存器。在某些计算机中用来存放当前正。在某些计算机中用来存放当前正在执行的指令地址;而在另一些计算机中则用来存放即将在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址;而在有指令预取功能的计算机要执行的下一条指令地址;而在有指令预取功能的计算机中,一般还需要增加一个程序计数器用来存放下一条要取中,一般还需要增加一个程序

10、计数器用来存放下一条要取出的指令地址。出的指令地址。2.指令寄存器指令寄存器(IR)用以存放当前正在执行的指令,以便在指令执行过程用以存放当前正在执行的指令,以便在指令执行过程中,控制完成一条指令的全部功能。中,控制完成一条指令的全部功能。3.指令译码器或操作码译码器指令译码器或操作码译码器对指令寄存器中的操作码进行分析解释,产生相应的对指令寄存器中的操作码进行分析解释,产生相应的控制信号。控制信号。4.时序控制信号形成部件(教材中的第时序控制信号形成部件(教材中的第5点)点)根据当前正在执行的指令的需要,产生相应的时序控根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件

11、的反馈信号调整时序控制信制信号,并根据被控功能部件的反馈信号调整时序控制信号。号。5.脉冲源及启停线路(教材中的第脉冲源及启停线路(教材中的第4点)点)脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号时,还应产生一个总清信号(reset)。启停线路保证可靠地送。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使之停机。动机器工作或使之停机。6.2

12、.3 指令执行过程指令执行过程 1.组成控制器的基本电路组成控制器的基本电路计算机中采用的电路,基本上分为两种类型:计算机中采用的电路,基本上分为两种类型:一类是一类是具有记忆功能具有记忆功能的触发器以及由它组成的寄存的触发器以及由它组成的寄存器、计数器和存储单元等。其特点是当输入信号消器、计数器和存储单元等。其特点是当输入信号消失后,原信息仍保留其中。失后,原信息仍保留其中。另一类是另一类是没有记忆功能没有记忆功能的门电路及由它组成的加法的门电路及由它组成的加法器、算术逻辑运算单元器、算术逻辑运算单元(ALU)和各种逻辑电路等。和各种逻辑电路等。其特点是当输入信号改变后,输出跟着变化。其特点

13、是当输入信号改变后,输出跟着变化。2.指令执行过程举例(指令执行过程举例(p181、179、180)一条加法指令的执行过程一条加法指令的执行过程从存储器取指令,送入指令寄存器,并进行操作码从存储器取指令,送入指令寄存器,并进行操作码译码译码(分析指令分析指令)。计算数据地址,将计算得到的有效地址送地址寄存计算数据地址,将计算得到的有效地址送地址寄存器器AR。到存储器取数。到存储器取数。进行加法运算,结果送寄存器,并根据运算结果置进行加法运算,结果送寄存器,并根据运算结果置状态位状态位N,Z,V,C。6.3 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理 6.3.1 微程序控制的基

14、本概念微程序控制的基本概念微指令微指令:在微程序控制的计算机中,将由同时发出:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令,所以的控制信号所执行的一组微操作称为微指令,所以微指令就是把同时发出的控制信号的有关信息汇集微指令就是把同时发出的控制信号的有关信息汇集起来而形成的。将一条指令分成若干条微指令,按起来而形成的。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。次序执行这些微指令,就可以实现指令的功能。组组成微指令的微操作,又称微命令成微指令的微操作,又称微命令。微程序微程序:计算机的程序由指令序列构成,而计算机:计算机的程序由指令序列构

15、成,而计算机每条指令的功能均由微指令序列解释完成,这些微每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就叫做微程序。指令序列的集合就叫做微程序。控制存储器控制存储器:微程序是存放在存储器中的,由于该:微程序是存放在存储器中的,由于该存储器主要存放控制命令存储器主要存放控制命令(信号信号)与下一条执行的微与下一条执行的微指令地址指令地址(简称为下址简称为下址),所以被叫做控制存储器。,所以被叫做控制存储器。一般计算机指令系统是固定的,所以实现指令系统一般计算机指令系统是固定的,所以实现指令系统的微程序也是固定的,于是控制存储器可以用只读的微程序也是固定的,于是控制存储器可以用只读存储

16、器实现。存储器实现。执行一条指令实际上就是执行一段存放在控制执行一条指令实际上就是执行一段存放在控制存储器中的微程序。存储器中的微程序。6.3.2 实现微程序控制的基本原理实现微程序控制的基本原理1.控制信号控制信号加法指令的伪指令解析:加法指令的伪指令解析:(1)取指微指令取指微指令 指令地址送地址总线:指令地址送地址总线:PCAB(1)发访存控制命令:发访存控制命令:ADS(21),MIO1(22),WR0(23)。从存储器取指令送数据总线。从存储器取指令送数据总线。指令送指令寄存器:指令送指令寄存器:DBIR(5)程序计数器程序计数器+1:PC+1(3)(2)计算地址微指令计算地址微指令

17、 取两个源操作数取两个源操作数(计算地址用计算地址用):rs1GR(8),(rs1)ALU(10),dispALU(4)。加法运算:加法运算:“+”(13)。有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)。(3)取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)。发访存控制命令:发访存控制命令:ADS(21),MIO(22),W/R(23)。由存储器将数据送数据总线。由存储器将数据送数据总线DB。数据送数据寄存器:数据送数据寄存器:DBDR(6)(4)加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送ALU:rsGR(9),(rs

18、)ALU(11);DRALU(12)。加法运算:加法运算:“+”(13)送结果:送结果:ALUGR(17)这每一个微指令的若干个操作步骤都在这每一个微指令的若干个操作步骤都在控制控制数据通路数据通路 CPU中有许多控制关节点中有许多控制关节点序号控制信号功能序号控制信号功能1PCAB指令地址送地址总线13+ALU进行加法运算2ALUPC转移地址送PC14-ALU进行减法运算3PC+1程序计数器加115ALU进行逻辑乘运算4imm(disp)ALU立即数或位移量送ALU16ALU进行逻辑加运算5DBIR取指到指令寄存器17ALUGRALU运算结果送通用寄存器6DBDR数据总线上的数据送数据寄存器

19、18ALUDRALU运算结果送数据寄存器7DRDB数据寄存器中的数据送数据总线19ALUARALU计算得的有效地址送地址寄存器8rs1GR寄存器地址送通用寄存器20ARAB地址寄存器内容送地址总线9rs,rdGR寄存器地址送通用寄存器21ADS地址总线上地址有效10(rs1)ALU寄存器内容送ALU22M/IO访问存储器或I/O11(rs)ALU寄存器内容送ALU23W/R写或读12DRALU数据寄存器内容送ALUALU涉及的部分控制信号涉及的部分控制信号基于控制信号的微指令基于控制信号的微指令基于微指令的指令基于微指令的指令实际上,下址字段的出现,已经是微程序的概念。实际上,下址字段的出现,

20、已经是微程序的概念。加法指令示例(加法指令示例(P185)微程序流程图举例微程序流程图举例2.微程序控制器微程序控制器5.微程序控制计算机的工作过程简单的总结微程序控制计算机的工作过程简单的总结(参阅图参阅图6.8)机器加电后,首先由机器加电后,首先由reset信号在信号在PC内置入开机后内置入开机后执行的第一条指令的地址,同时在微指令寄存器内执行的第一条指令的地址,同时在微指令寄存器内置入一条置入一条“取指取指”微指令,并将其他一些有关的状微指令,并将其他一些有关的状态位或寄存器置于初始状态。正常启动后,以节拍态位或寄存器置于初始状态。正常启动后,以节拍作为时序参考,开始执行程序,不断地取出

21、指令、作为时序参考,开始执行程序,不断地取出指令、分析指令、执行指令。分析指令、执行指令。程序可以存放在固定存储器中,也可以利用一小段程序可以存放在固定存储器中,也可以利用一小段引导程序引导程序(在固存中在固存中)将要执行的程序和数据从外部将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并控制字段中的各位直接控制信

22、息和数据的传送,并进行相应的处理。进行相应的处理。3.时序信号、工作脉冲及控制信号的形成时序信号、工作脉冲及控制信号的形成分频分频 5.微程序控制计算机的工作过程简单的总结微程序控制计算机的工作过程简单的总结(参阅图参阅图6.8)机器加电后,首先由机器加电后,首先由reset信号在信号在PC内置入开机后内置入开机后执行的第一条指令的地址,同时在微指令寄存器内执行的第一条指令的地址,同时在微指令寄存器内置入一条置入一条“取指取指”微指令,并将其他一些有关的状微指令,并将其他一些有关的状态位或寄存器置于初始状态。正常启动后,以节拍态位或寄存器置于初始状态。正常启动后,以节拍作为时序参考,开始执行程

23、序,不断地取出指令、作为时序参考,开始执行程序,不断地取出指令、分析指令、执行指令。分析指令、执行指令。程序可以存放在固定存储器中,也可以利用一小段程序可以存放在固定存储器中,也可以利用一小段引导程序引导程序(在固存中在固存中)将要执行的程序和数据从外部将要执行的程序和数据从外部设备调入主存。实现各条指令的微程序是存放在微设备调入主存。实现各条指令的微程序是存放在微程序控制器中的。当前正在执行的微指令从微程序程序控制器中的。当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并控制字段中的

24、各位直接控制信息和数据的传送,并进行相应的处理。进行相应的处理。6.4 微程序设计技术微程序设计技术实际系统中应该关心的问题:实际系统中应该关心的问题:(1)如何缩短指令字长)如何缩短指令字长(2)如何减少微程序长度)如何减少微程序长度(3)如何提高为程序的执行速度)如何提高为程序的执行速度6.4.1 微指令的编译法微指令的编译法(编码译码方法编码译码方法)1.直接控制法直接控制法在在6.3节中所讲的就是这种方法。但在某些复杂节中所讲的就是这种方法。但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容指

25、令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译量控制存储器,为了改进设计出现了以下各种编译法。法。2.字段直接编译法字段直接编译法 微周期微周期:指的是一条微指令所需的执行时间。:指的是一条微指令所需的执行时间。在计算机中的各个控制门,在任一微周期内,不可能在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的同时被打开,而且大部分是关闭的(即相应的控制位为即相应的控制位为“0”)。如果有若干个。如果有若干个(一组一组)微命令,在每次选择使用它们微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命的微周期内,

26、只有一个微命令起作用,那么这若干个微命令是互斥的。令是互斥的。选出互斥的微命令,并将这些微命令编成一选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。组,成为微指令字的一个字段,用二进制编码来表示。而而在微指令寄存器的输出端,为该字段增加一个译码器,该在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。译码器的输出即为原来的微命令。3.字段间接编译法字段间接编译法字段间接编译法是在字段直接编译法的基础上,进一字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法。如果在字段直接编译法步缩短微指令字长的一种编译法

27、。如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。某些微命令来解释,称为字段间接编译法。本方法进一步减少了指令长度,但很可能会削弱微指本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅令的并行控制能力,因此通常只作为直接编译法的一种辅助手段。助手段。6.4.2 微程序流的控制微程序流的控制 当前正在执行的微指令,称为当前正在执行的微指令,称为现行微指令现行微指令,现,现行微指令所在的控制存储器单元的地址称为行微指令所在的控制存储器单元的地址

28、称为现行微现行微地址地址,现行微指令执行完毕后,下一条要执行的微,现行微指令执行完毕后,下一条要执行的微指令称为指令称为后继微指令后继微指令,后继微指令所在的控存单元,后继微指令所在的控存单元地址称为地址称为后继微地址后继微地址。所谓微程序流的控制是指当所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的前微指令执行完毕后,怎样控制产生后继微指令的微地址。微地址。产生后继微指令地址的两种方法:产生后继微指令地址的两种方法:由指令操作码译码器产生后继微地址。由指令操作码译码器产生后继微地址。由微指令的下址字段指出后继微地址。由微指令的下址字段指出后继微地址。(1)以增量方式产生后

29、继微以增量方式产生后继微地址。地址。在顺序执行微指令时,后在顺序执行微指令时,后继微地址由现行微地址加继微地址由现行微地址加上一个增量上一个增量(通常为通常为1)形成形成的;而在非顺序执行时则的;而在非顺序执行时则要产生一个转移微地址。要产生一个转移微地址。与程序设计相似,在微程序设计中除了顺序执行微程序外还存在转移功能和微循环程序与微子程序等,这将影响下址的形成。1.产生后继微指令地址的几种方法(2)增量与下址字段结合产生后继微地址增量与下址字段结合产生后继微地址微指令的下址字段分成两部分:微指令的下址字段分成两部分:转移控制字段转移控制字段BCF转移地址字段转移地址字段BAF,当微程序实现

30、转移时,将当微程序实现转移时,将BAF送送PC,否则顺序执行下,否则顺序执行下一条微指令一条微指令(PC+1)。但是,条件是什么呢?但是,条件是什么呢?条件是条件是BCF!(!(P196)“增量与下址字段增量与下址字段”方式的原理图方式的原理图(3)多路转移方式多路转移方式一条微指令存在多个转移分支的情况称为多路转一条微指令存在多个转移分支的情况称为多路转移。实现此功能的电路通常是由移。实现此功能的电路通常是由PROM(可编程序只可编程序只读存储器读存储器)组成的,也有把它称为组成的,也有把它称为MAP ROM(映像只映像只读存储器读存储器)的。该存储器的特点是以指令的操作码作的。该存储器的特

31、点是以指令的操作码作为地址输入,而相应的存储单元内容即为该指令的为地址输入,而相应的存储单元内容即为该指令的第一条微指令的入口地址。第一条微指令的入口地址。(4)微中断微中断微中断请求信号是由程序中断请求信号引起的。微中断请求信号是由程序中断请求信号引起的。设计人员在进行微程序设计时,已安排好微中断处设计人员在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的入理程序在控制存储器的位置,因此该微程序段的入口地址是已知的。口地址是已知的。当当CPU响应微中断请求时,由硬响应微中断请求时,由硬件产生微中断程序的入口地址。当中断处理完毕后,件产生微中断程序的入口地址。当中断

32、处理完毕后,再返回到原来被中断的程序。这也是产生后继微地再返回到原来被中断的程序。这也是产生后继微地址的一种情况。址的一种情况。2.控制器应用举例控制器应用举例以以AM2900系列芯片构成的微程序系列芯片构成的微程序CPU(P198199)6.4.3 微指令格式微指令格式 微指令的编译法是决定微指令格式的主要因素微指令的编译法是决定微指令格式的主要因素,在设,在设计计算机时考虑到速度价格等因素采用不同的编译法,即计计算机时考虑到速度价格等因素采用不同的编译法,即使在一台计算机中,也有几种编译法并存的局面存在。使在一台计算机中,也有几种编译法并存的局面存在。1.水平型微指令水平型微指令其基本特点

33、是其基本特点是在一条微指令中定义并执行多个并行操在一条微指令中定义并执行多个并行操作微命令作微命令。2.垂直型微指令垂直型微指令在微指令中设置有微操作码字段,采用微操作码编译在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。法,由微操作码规定微指令的功能,称为垂直型微指令。其特点是不强调实现微指令的并行控制功能,通常一条微其特点是不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指指令只要求能控制实现一二种操作。这种微指令格式与指令相似:每条指令有一个操作码;每条微指令有一个微操令相似:每条指令有一个操作码;

34、每条微指令有一个微操作码。作码。(1)寄存器寄存器-寄存器传送型微指令寄存器传送型微指令微指令格式微指令格式0 1 2 3 7 8 12 13 150 0 0 源寄存器编址源寄存器编址 目标寄存器编址目标寄存器编址 其他其他功能:把源寄存器数据送目标寄存器。功能:把源寄存器数据送目标寄存器。(2)运算控制型微指令运算控制型微指令微指令格式微指令格式0 1 2 3 7 8 12 13 150 0 1 左输入源编址左输入源编址 右输入源编址右输入源编址 ALU功能:选择运算器功能:选择运算器(ALU)的左、右两输入端的信息,的左、右两输入端的信息,按按ALU字段所指定的运算功能进行处理,并将结果字

35、段所指定的运算功能进行处理,并将结果送入暂存器中。送入暂存器中。垂直微指令举例:垂直微指令举例:(3)移位控制型微指令移位控制型微指令微指令格式微指令格式0 1 2 3 7 8 12 13 150 1 0 寄存器编址寄存器编址 移位次数移位次数 移位方式移位方式功能:将寄存器中的数据按指定的移位方式进行移功能:将寄存器中的数据按指定的移位方式进行移位。位。(4)访问主存微指令访问主存微指令微指令格式微指令格式 0 1 2 3 7 8 12 13 14 150 1 1 寄存器编址寄存器编址 存储器编址存储器编址 读写读写 其他其他功能:将存储器中一个单元的信息送入寄存器或将功能:将存储器中一个单

36、元的信息送入寄存器或将寄存器中的数据送往存储器。寄存器中的数据送往存储器。3.水平型微指令与垂直型微指令的比较水平型微指令与垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。性强,垂直型微指令则差。(2)水平型微指令执行一条指令的时间短,垂直型水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。微指令执行时间长。(3)由水平型微指令解释指令的微程序,具有微指由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序

37、长。相反,微指令字比较短而微程序长。(4)水平型微指令用户难以掌握,而垂直型微指令水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。与指令比较相似,相对来说,比较容易掌握。6.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计1.微程序控制存储器微程序控制存储器ROM为主,为主,RAM为辅。为辅。2.动态微程序设计动态微程序设计动态微程序设计的出发点是为了使计算机能更灵活、更有效动态微程序设计的出发点是为了使计算机能更灵活、更有效地适应于各种不同的应用目标地适应于各种不同的应用目标。动态微程序设计动态微程序设计需要可写控制存储器的支持需要可写

38、控制存储器的支持,否则难以改变,否则难以改变微程序的内容。微程序的内容。用于动态微程序设计的控存称为可写控制用于动态微程序设计的控存称为可写控制存储器存储器(WCS)或用户控制存储器或用户控制存储器(UCS)。由于动态微程序设计要求用户对计算机的结构与组成非常熟由于动态微程序设计要求用户对计算机的结构与组成非常熟悉,因此悉,因此真正由用户自行编写微程序是很困难的,所以尽真正由用户自行编写微程序是很困难的,所以尽管设想很好,事实上难以推广管设想很好,事实上难以推广。而前面讲到的一台机器实。而前面讲到的一台机器实现两套微程序等方案也是由机器设计人员实现的。现两套微程序等方案也是由机器设计人员实现的

39、。3.控制存储器的操作控制存储器的操作执行一条微指令的过程基本上分为两步,执行一条微指令的过程基本上分为两步,第一第一步步将微指令从控制存储器中取出,称为将微指令从控制存储器中取出,称为取微指令取微指令,对于垂直型微指令还应包括微操作码译码的时间。对于垂直型微指令还应包括微操作码译码的时间。第二步执行微指令第二步执行微指令所规定的各个操作。根据这两步所规定的各个操作。根据这两步是串行还是并行进行而具有下述的两种方式:是串行还是并行进行而具有下述的两种方式:(1)串行方式串行方式 微周期微周期:执行一条微指令所需要的时间称为微周期:执行一条微指令所需要的时间称为微周期。微周期即是控制存储器的工作

40、周期,包括取微指。微周期即是控制存储器的工作周期,包括取微指令和执行微指令两部分时间。令和执行微指令两部分时间。串行微程序控制器串行微程序控制器(2)并行方式并行方式4.毫微程序设计的基本概念毫微程序设计的基本概念毫微程序可以看作是用以毫微程序可以看作是用以解释微程序的一种微解释微程序的一种微程序程序,因此组成毫微程序的毫微指令就可看作是解,因此组成毫微程序的毫微指令就可看作是解释微指令的微指令。释微指令的微指令。采用毫微程序设计的采用毫微程序设计的主要目的是减少控制存储主要目的是减少控制存储器的容量器的容量,实现方法是,实现方法是两级微程序设计方法两级微程序设计方法。通常。通常第一级采用垂直

41、微程序,第二级采用水平微程序。第一级采用垂直微程序,第二级采用水平微程序。6.4.5 微程序设计语言微程序设计语言设计者或其他用户用来编制微程序的语言叫做设计者或其他用户用来编制微程序的语言叫做微程序设计语言微程序设计语言,用微程序设计语言编制的程序叫,用微程序设计语言编制的程序叫做源微程序。源微程序不能直接装入控制存储器,做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。要将它转换成二进制代码后才能装入控制存储器。将源微程序翻译成二进制码的程序叫做将源微程序翻译成二进制码的程序叫做微编译程序微编译程序。微程序设计基本上沿用了程序设计的方法,可微程序设计基

42、本上沿用了程序设计的方法,可以仿照程序设计语言来建立微程序设计语言,因此以仿照程序设计语言来建立微程序设计语言,因此可以把它分成初级的和高级的两种类型。初级的微可以把它分成初级的和高级的两种类型。初级的微程序设计语言有微指令语言、微汇编语言、框图语程序设计语言有微指令语言、微汇编语言、框图语言等。高级微程序设计语言类似于高级程序设计语言等。高级微程序设计语言类似于高级程序设计语言,比较接近于数学描述或自然语言。言,比较接近于数学描述或自然语言。6.5 硬布线控制的计算机硬布线控制的计算机(产生控制信号的另外一种方式)(产生控制信号的另外一种方式)6.5.1 时序与节拍时序与节拍微指令方式:微指

43、令方式:一条指令的实现可分成取指、计算地址、取数一条指令的实现可分成取指、计算地址、取数及执行等几个步骤。在微程序控制方式中,每一步及执行等几个步骤。在微程序控制方式中,每一步由一条微指令实现。(实际上是反映先后顺序!)由一条微指令实现。(实际上是反映先后顺序!)硬布线方式:硬布线方式:由指令的操作码直接控制并产生实现上述各步由指令的操作码直接控制并产生实现上述各步骤所需的控制信号。那么,骤所需的控制信号。那么,到底是怎么样产生时序到底是怎么样产生时序和节拍呢?和节拍呢?在大部分情况下,每一步由一个机器周期实现,如何在大部分情况下,每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢区分

44、一条指令的四个机器周期呢?可以考虑用两位计数器的可以考虑用两位计数器的译码输出来表示当前所处的机器周期,如图译码输出来表示当前所处的机器周期,如图6.31所示;或用所示;或用四位触发器来分别表示四个周期,当机器处于某一周期时,四位触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于相应的触发器处于“1”状态,而其余三个触发器则处于状态,而其余三个触发器则处于“0”状态,四位移位寄存器即可实现此功能状态,四位移位寄存器即可实现此功能。时序的表示:用四位信息来分别表示四个周期。时序的表示:用四位信息来分别表示四个周期。译码器的输入:译码器的输入:对于有四个周期的,其输入可用对于有四个周

45、期的,其输入可用00、01、10、11来表示(假来表示(假设该指令为设该指令为A););周期不足四个的,还可以再简化,如周期不足四个的,还可以再简化,如00、10、11(假设该指(假设该指令为令为B)。)。假设执行假设执行A指令时需要四个机器周期,因此计数器的变化规指令时需要四个机器周期,因此计数器的变化规律是律是00011011;而执行;而执行B指令计数器的变化规律为指令计数器的变化规律为001011。输出四位信息的译码器,其输入只需要两位信息:输出四位信息的译码器,其输入只需要两位信息:XX(两位)。(两位)。表表6.3中中cyA,cyB表示当前周期的计数器状态,表示当前周期的计数器状态,

46、cyA,cyB表示下一周期计数器状态。表示下一周期计数器状态。根据真值表列出表达式,对于根据真值表列出表达式,对于A指令,其表达式为指令,其表达式为cyAcyAcyB+cyAcyB;(6.2)cyBcyA cyB+cyAcyBcyB。(6.3)对于对于B指令,其表达式为指令,其表达式为cyAcyA cyB+cyAcyBcyB;(6.4)cyBcyAcyB。(6.5)根据表达式得出逻辑图根据表达式得出逻辑图6.32。6.5.2 操作控制信号的产生操作控制信号的产生 1.硬件基础硬件基础假如操作码有7位,则最多可表示128条指令,那么,这里的译码器可以反映出当前正在执行的指令。但是在实际系统中,这

47、里译码器和组合逻辑电路的界限是非常模糊的。可以把它们统一理解成控制信号的产生电路。为访问存储器,需要将地址送往地址总线为访问存储器,需要将地址送往地址总线(PCAB),并发出启动存储器所需的信号,并发出启动存储器所需的信号ADS、M/IO及及W/R,然后将取得的指令送往指令寄存器,然后将取得的指令送往指令寄存器(DBIR)。用逻辑式表示之:用逻辑式表示之:PCAB加法指令加法指令cy1 PCABcy1ADS加法指令加法指令cy1T1ADScy1T1M/IO加法指令加法指令cy1 M/IOcy1W/R加法指令加法指令cy1W/Rcy1DBIR加法指令加法指令cy1DBIRcy1PC+1加法指令加

48、法指令cy1 PC+1cy12.操作控制信号的产生操作控制信号的产生以加法指令为例,对于第以加法指令为例,对于第1个周期:个周期:同样,在计算地址周期同样,在计算地址周期cy2完成有效地址的计算完成有效地址的计算(rs1)+Disp),为此要将,为此要将rs1的内容取出与的内容取出与IR中的位移量一起送中的位移量一起送ALU,发,发出出rs1GR(送通用寄存器地址送通用寄存器地址),(rs1)ALU,DispALU以及以及“+”命令,最后将运算结果送地址总线,发出命令,最后将运算结果送地址总线,发出ALUAR信号。信号。列出逻辑表达式列出逻辑表达式rs1GR加法指令加法指令cy2(rs1)AL

49、U加法指令加法指令cy2ALUAR加法指令加法指令cy2然后按同样方法列出后面两个机器周期所需产然后按同样方法列出后面两个机器周期所需产生的控制信号的逻辑表达式。生的控制信号的逻辑表达式。在此基础上,进行综合分析后可得出下述结论:在此基础上,进行综合分析后可得出下述结论:第第1周期(取指周期)周期(取指周期)cy1所产生的信号,对所有指令都是相同的,即与所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。当前执行的指令无关,逻辑式得到最简单的形式。第第2、3、4周期周期“加法指令加法指令”:加法指令的操作码为:加法指令的操作码为0001100,则形,则形成加法指

50、令信号的逻辑表达式为:成加法指令信号的逻辑表达式为:加法指令加法指令优化方法:优化方法:+、-等微命令在设计上的优化(复用)等微命令在设计上的优化(复用)通常,同一个控制信号在若干条指令的某些周通常,同一个控制信号在若干条指令的某些周期期(或再加上一些条件或再加上一些条件)中都需要,为此需要把它们中都需要,为此需要把它们组合起来。组合起来。例如,例如,“+”命令在加法指令的命令在加法指令的cy2(计算有效地计算有效地址址)与与cy4(操作数相加操作数相加)时需要;在减法指令的时需要;在减法指令的cy2(计计算有效地址算有效地址)时需要;在转移指令的时需要;在转移指令的cy2(计算转移地计算转移

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com