第05章中央处理器(1微程序控制器)课件_第1页
第05章中央处理器(1微程序控制器)课件_第2页
第05章中央处理器(1微程序控制器)课件_第3页
第05章中央处理器(1微程序控制器)课件_第4页
第05章中央处理器(1微程序控制器)课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章第五章 中央处理器中央处理器nCPUCPU的功能和组成的功能和组成n指令周期指令周期n时序产生器时序产生器n微程序控制器组成微程序控制器组成n微程序设计技术微程序设计技术n硬布线控制器硬布线控制器 第五章第五章 中央处理器中央处理器 5.1 CPU 5.1 CPU的功能和组成的功能和组成 5.1.1 CPU5.1.1 CPU的功能的功能 * *指令控制指令控制: :产生下一条指令地址产生下一条指令地址( (在内存中的在内存中的) ) * *操作控制操作控制: :产生各种产生各种微操作微操作信号送往相应部信号送往相应部件件, ,以控制完成指令所要求的动作以控制完成指令所要求的动作 * *时

2、间控制时间控制: :对各种操作信号实施时间上的控对各种操作信号实施时间上的控制(制(节拍、时序节拍、时序), ,以保证计算机有条不紊地以保证计算机有条不紊地连续自动工作连续自动工作 * *数据加工数据加工: :执行所有的执行所有的算术算术运算和运算和逻辑逻辑运算运算, ,并进行逻辑测试并进行逻辑测试DR译码译码器器时序时序与与 控制控制DBCB内内部部控控制制线线内内部部控控制制线线ACLALBSHPSWIRPCSPGPRGPRARAB内部总线内部总线内部总线内部总线1.控制器控制器程序计数器程序计数器PC指令寄存器指令寄存器IR指令译码器指令译码器时序发生器时序发生器操作控制器操作控制器功能

3、功能是负责协调与是负责协调与控制整个计算机系控制整个计算机系统的操作。统的操作。控制器的结构可分控制器的结构可分为为硬布线控制器硬布线控制器和和微程序控制器微程序控制器两种。两种。ALU5.1.2 CPU的组成的组成由两个主要部分组成由两个主要部分组成: :控制器与运算器控制器与运算器MBR译码译码器器时序时序与与 控制控制DBCB内内部部控控制制线线内内部部控控制制线线ACACTTMPSHFIRPCSPGPRGPRMARAB内部总线内部总线内部总线内部总线ALUDRACLALBSHPSWIR译码译码器器时序时序与控制与控制PCSPGPRGPRAR 2. 运算器运算器通用寄存器组通用寄存器组G

4、PR算术逻辑单元算术逻辑单元ALU累加寄存器累加寄存器AC程序状态字寄存器程序状态字寄存器 PSW数据暂存器数据暂存器LA、LB移位器移位器SH功能功能是执行所有的算是执行所有的算术运算和逻辑运算。术运算和逻辑运算。5.1.2 CPU的组成的组成MBR译码译码器器时序时序与与 控制控制DBCB内内部部控控制制线线内内部部控控制制线线ACACTTMPSHFIRPCSPGPRGPRMARAB内部总线内部总线内部总线内部总线ALUDRACLALBSHPSWIR译码译码器器时序时序与控制与控制PCSPGPRGPRAR5.1.3 内部寄存器组内部寄存器组1. 通用寄存器通用寄存器GPR(General

5、Purpose Register) 可用于存放操作数(包括源操作数、目的操作数及中可用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。间结果)和各种地址信息等。MBR译码译码器器时序时序与与 控制控制DBCB内内部部控控制制线线内内部部控控制制线线ACACTTMPSHFIRPCSPGPRGPRMARAB内部总线内部总线内部总线内部总线ALUDRACLALBSHPSWIR译码译码器器时序时序与控制与控制PCSPGPRGPRAR2. 专用寄存器专用寄存器SPR (1)程序计数器程序计数器PC (Program Counter) 存放下一条要执行的指令的地址,控制指令的执行顺序。

6、存放下一条要执行的指令的地址,控制指令的执行顺序。 (2) 指令寄存器指令寄存器IR (Instruction Register) 存放正在执行的指令代码。存放正在执行的指令代码。 (3) 堆栈指示器堆栈指示器SP (Stack Pointer) 存放堆栈栈顶的指针存放堆栈栈顶的指针MBR译码译码器器时序时序与与 控制控制内内部部控控制制线线内内部部控控制制线线ACACTTMPSHFIRPCSPGPRGPRMAR内部总线内部总线内部总线内部总线ALUDRACLALBSHPSWIR译码译码器器时序时序与控制与控制PCSPGPRGPRAR数据缓冲寄存器数据缓冲寄存器DR:存放存放CPU与主存或外设

7、交换的信息与主存或外设交换的信息地址缓冲寄存器地址缓冲寄存器AR:存放存放CPU向主存或外设发送的地址向主存或外设发送的地址DBCBAB5.1.4 CPU与外部总线接口与外部总线接口MBR译码译码器器时序时序与与 控制控制DB内内部部控控制制线线内内部部控控制制线线ACACTTMPSHFIRPCSPGPRGPRMARAB内部总线内部总线内部总线内部总线ALUDRACLALBSHPSWIR译码译码器器时序时序与控制与控制PCSPGPRGPRAR作为作为 CPU与主存、外设之间信息传递的中转站与主存、外设之间信息传递的中转站补偿补偿 CPU与主存、外设之间操作速度的差别与主存、外设之间操作速度的差

8、别5.1.4 缓冲寄存器的作用缓冲寄存器的作用CB5.1.5 5.1.5 数据通路数据通路把寄存器与运算器之间传递信息的线路称为把寄存器与运算器之间传递信息的线路称为“数数据通路据通路” 1.1.用数据总线用数据总线: :在各寄存器以及在各寄存器以及ALUALU之间建立一之间建立一条或者几条数据总线条或者几条数据总线, ,寄存器间的数据传输通过寄存器间的数据传输通过这些总线完成。如下图所示。这些总线完成。如下图所示。 2.2.用专用的通路用专用的通路: :在各寄存器与在各寄存器与ALUALU之间建立专之间建立专用的数据传输与接收通路。在用的数据传输与接收通路。在RISCRISC处理器中都采处理

9、器中都采用专用通路结构用专用通路结构, ,便于运算的并行进行。便于运算的并行进行。 指令译码指令译码/ /控制器控制器控制控制信号信号IRIRPCPCMARMARMDRMDRR0R0R RN-1N-1Y YALUALUPSWPSWSHA AB B存储器存储器ABUSABUSDBUSDBUS单总线单总线CPUCPU的结构的结构控制信号包括控制信号包括: : R0outR0out:R0:R0的输出控制的输出控制 R0inR0in:R0:R0的输入控制的输入控制 R1outR1out:R1:R1的输出控制的输出控制 R1inR1in:R1:R1的输入控制的输入控制 YinYin:Y:Y的输入控制的输

10、入控制 IRinIRin:IR:IR的输入控制的输入控制 IRoutIRout:IR:IR的输出控制的输出控制 PCinPCin:PC:PC的输入控制的输入控制 PCoutPCout:PC:PC的输出控制的输出控制 PC+1PC+1:PC:PC计数更新控制计数更新控制 例例: :CPUCPU的结构如下图所示。其中的结构如下图所示。其中ACAC为累加器为累加器,PSW,PSW为状态寄存器为状态寄存器, ,另另外还有外还有4 4个寄存器。各部件之间的连线表示数据通路个寄存器。各部件之间的连线表示数据通路, ,箭头表示信息箭头表示信息传递的方向。要求传递的方向。要求: :(1)(1)标明标明4 4个

11、寄存器的名称。个寄存器的名称。(2)(2)说明指令从主存取到控制器的数据说明指令从主存取到控制器的数据通路。通路。(3)(3)说明数据在运算器和主存之间进行存说明数据在运算器和主存之间进行存/ /取时的数据通路。取时的数据通路。PSWPSWACACa a存储器存储器M M操作控制器操作控制器d dc cb bCPUCPU结构示意图结构示意图+1+1CPUCPUPSWPSWACACa a存储器存储器M M操作控制器操作控制器d dc cb bCPUCPU结构示意图结构示意图+1+1CPUCPUMDRMDRMARMARPCPCIRIR解:解:例例:CPU结构图如下所示结构图如下所示,其中包括一个累

12、加器其中包括一个累加器AC、一个状态寄存器和其它四个寄、一个状态寄存器和其它四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。 (1).标明图中四个寄存器的名称。标明图中四个寄存器的名称。(2)简述取指令的数据通路。简述取指令的数据通路。(3)简述完成指令简述完成指令LDA X的数据通路的数据通路 ( X为内存地址为内存地址,LDA功能为功能为 (X) AC。(4)简述完成简述完成 ADD Y的的数据通路数据通路 ( Y为内存地址为内存地址,ADD功能为功能为 (AC)+(Y) AC。(5)简述完成简述完成 STA Z的数

13、的数据通路据通路 ( Z为内存地址为内存地址,STA功能为功能为(AC) (Z) 。主存储器主存储器 MAACCD微操作控制器微操作控制器状态寄存器状态寄存器B+1ALU解解:(1) A为数据缓冲寄存器为数据缓冲寄存器MDR B为指令寄存器为指令寄存器IR C为主存地址寄存器为主存地址寄存器MAR D为程序计数器为程序计数器PC(2)取指令的数据通路)取指令的数据通路: PCMAR MM MDR IR(3)指令)指令LDA X的数据通路的数据通路: X MAR MM MDR ALU AC(4)指令)指令ADD Y的数据通路的数据通路: Y MAR MM MDR ALU ADD AC(5)指令)

14、指令 STA Z的数据通路的数据通路: Z MAR,AC MDR MM5.2 指令周期指令周期 5.2.1指令周期的基本概念指令周期的基本概念l指令周期指令周期:取出一条指令并执行该指令的时间:取出一条指令并执行该指令的时间lCPU周期(机器周期、总线周期)周期(机器周期、总线周期):CPU同主存或外设进行一次同主存或外设进行一次信息交换所需的最短时间信息交换所需的最短时间l时钟周期(节拍周期、时钟周期(节拍周期、T周期)周期):CPU执行一个微操作的最小时间执行一个微操作的最小时间单位单位三者关系三者关系:一个指令周期包含若干个:一个指令周期包含若干个CPU周期,一个周期,一个CPU周期的功

15、周期的功能由多个时钟周期来完成能由多个时钟周期来完成 T周期周期CPU周期周期(取指令取指令)CPU周期周期(执行指令执行指令)指令周期指令周期定长定长CPU周期组成的指令周期周期组成的指令周期CLAADD 30STA 40NOPJMP 21指令举例指令举例;使累加器使累加器AC清零清零; AC AC+(30); (40) AC; 空操作空操作; 程序跳转到地址为程序跳转到地址为21处处八进制地址八进制地址八进制内容八进制内容 助记符助记符020021022023024030031040 250 000021 040140 021.000 006000 040存和数单元存和数单元CLASTA

16、40JMP 21数数据据5.2.2 CLA指令的指令周期指令的指令周期CLA是一条非访内指令是一条非访内指令,需要两个需要两个CPU周期。周期。即分别进行取指令和执行指令。即分别进行取指令和执行指令。AC 0NOPADD 30 030 030000 000ALU000 020000 020IRDR指令指令译码器译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态反馈状态反馈CLA ADD 30STA 40NOPJMP 21.000 006202122232430+1PCARABUSDBUSAC(1) PCAR(2) PC+1(3) AR ABUS(4) DBUS DR(5) DR IR(

17、6) 译码运行指令译码运行指令 取取CLA指令指令ALU000 020000 020IRDR指令指令译码器译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态反馈状态反馈CLA ADD 30STA 40NOPJMP 21.000 006202122232430+1PCARABUSDBUSAC(1) PCAR(2) PC+1(3) AR ABUS(4) DBUS DR(5) DR IR(6)译码运行指令译码运行指令 执行执行CLA指令指令(1) 清清AC000 000(2)控制命令控制命令ALU000 000000 022000 030IRADD 30DR指令指令译码器译码器操作控制器操作

18、控制器时序产生器时序产生器时钟时钟状态反馈状态反馈CLA ADD 30STA 40NOPJMP 21.000 006202122232430+1PCARABUSDBUSAC5.2.3 ADD指令的指令周期指令的指令周期 (第一个第一个CPU周期取指令和周期取指令和CLA一样一样) (第二个第二个CPU周期周期-送操作数地址送操作数地址)(1) IR ARALU000 000000 022000 030IR000 006DR指令指令译码器译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态反馈状态反馈CLA ADD 30STA 40NOPJMP 21.000 006202122232430

19、+1PCARABUSDBUSAC5.2.3 ADD指令的指令周期指令的指令周期(第三个第三个CPU周期:两操作数相加周期:两操作数相加)(1) AR ABUS(2) DBUS DR(3) DR ALU(3) AC ALU(4)ALU AC在进行计算机设计时,可以采用在进行计算机设计时,可以采用方框图语言方框图语言来来表示一条指令的指令周期。表示一条指令的指令周期。方框方框 代表一个代表一个CPUCPU周期周期,方框中的内容表示数,方框中的内容表示数据通路的操作或某种控制操作。据通路的操作或某种控制操作。 菱形菱形 通常用来表示某种判别或测试,不过时通常用来表示某种判别或测试,不过时间上它依附于

20、紧接它的前面一个方框的间上它依附于紧接它的前面一个方框的CPUCPU周周期,而不单独占用一个期,而不单独占用一个CPUCPU周期。周期。公操作公操作 一条指令执行完毕后一条指令执行完毕后,CPU,CPU所开始进行所开始进行的一些操作的一些操作, ,如如: :中断处理等。中断处理等。5.2.55.2.5 指令指令STASTA、NOPNOP和和JMPJMP的指令周期的指令周期 P162P162自学自学5.2.6 5.2.6 用方框图语言表示指令周期用方框图语言表示指令周期5.2.6 5.2.6 用方框图语言表示指令周期用方框图语言表示指令周期开始开始PC AR ABUSDBUS DR IRPC+1

21、译码或测试译码或测试CLAADDSTAJMPNOP0 ACIR ARIR ARIR PCRDWEAR ABUSDBUS DRDR ALUALU ACAR ABUSAC DRDR DBUS取指令取指令动作依附于前面一个方框动作依附于前面一个方框的的CPU周期周期内存读命令内存读命令例例:P166页下图所示为页下图所示为双总线双总线结构机器的数据通路结构机器的数据通路,M为主存为主存(受受R/W信号控信号控制制),ALU由加、减控制信号决定完成何种操作,控制信号由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。控制的是一个门电路。另外,线上标注有小圈表示有控制信号,如另外,线上标注有

22、小圈表示有控制信号,如yi表示表示y寄存器的输入控制信号,寄存器的输入控制信号,R1o为寄存器为寄存器R1的输出控制信号,未标注字符的线为直通线,不受控制。的输出控制信号,未标注字符的线为直通线,不受控制。 (1)ADD R2,R0的功能为(的功能为(R0)+(R2) R0,画出指令周期流程图,并列,画出指令周期流程图,并列出相应的微操作控制信号序列。出相应的微操作控制信号序列。 (2)SUB R1,R3的功能为(的功能为(R3)-(R1) R3,要求同上。,要求同上。总线总线总线总线双总线结构机器的数据通路双总线结构机器的数据通路IRoIRiIRPCPCiPCoARARiR/W MDRDRi

23、DRoR0R1R2R3yixiXYALU+_G控控制制器器自增功能自增功能R3oR3i5.3 5.3 时序产生器时序产生器CPUCPU中一个类似中一个类似“作息时间作息时间”的东西,使计算机的东西,使计算机可以准确、迅速、有条不紊地工作。机器一旦可以准确、迅速、有条不紊地工作。机器一旦被启动,即被启动,即CPUCPU开始取指令并执行指令时,操作开始取指令并执行指令时,操作控制器就控制器就利用定时脉冲的顺序和不同的脉冲间利用定时脉冲的顺序和不同的脉冲间隔隔,有条理、有节奏地指挥机器的动作,规定有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时在这个脉冲到来时做什么,在那

24、个脉冲到来时又做什么,给计算机又做什么,给计算机 各部分提供工作所需的时各部分提供工作所需的时间标志间标志。为此,需要采用多级时序体制。为此,需要采用多级时序体制。从从时间时间上来说,取指令事件发生在指令周期的上来说,取指令事件发生在指令周期的第一个第一个CPUCPU周期中,即发生在周期中,即发生在“取指令取指令”阶段,阶段,而取数据事件发生在指令周期的后面几个而取数据事件发生在指令周期的后面几个CPUCPU周周期中,即发生在期中,即发生在“执行指令执行指令”阶段。阶段。从从空间空间上来说,如果取出的代码是指令,那么上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据一定

25、送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。由此可见,时间控制,那么一定送往运算器。由此可见,时间控制对计算机来说是太重要了。对计算机来说是太重要了。 思考思考 用二进制码表示的指令和数据都放用二进制码表示的指令和数据都放在内存里,那么在内存里,那么CPUCPU是怎样识别出它们是是怎样识别出它们是数据还是指令呢数据还是指令呢? ?5.3 5.3 时序产生器时序产生器5.3.1 5.3.1 多级时序的概念多级时序的概念 (1)(1)指令周期指令周期: :在时序系统中通常不为指令周期设置时间在时序系统中通常不为指令周期设置时间标志信号标志信号, ,因而也不将其作为时序的一级。因而也不

26、将其作为时序的一级。 (2)(2)机器周期机器周期: :设置一组周期状态触发器设置一组周期状态触发器, ,以标志不同的以标志不同的机器周期。任一时刻只允许其中的一个触发器为机器周期。任一时刻只允许其中的一个触发器为1,1,表表明明CPUCPU当前处在哪个机器周期。当前处在哪个机器周期。 (3)(3)时钟周期时钟周期: :一个时钟周期内完成一步基本操作。一个时钟周期内完成一步基本操作。 (4)(4)时钟脉冲信号时钟脉冲信号: :作为时序系统的基本定时信号。作为时序系统的基本定时信号。硬布线控制器中硬布线控制器中,时序信号往往采用,时序信号往往采用主状态周期主状态周期- -节拍电节拍电位位- -节

27、拍脉冲节拍脉冲三级体制。三级体制。在微程序控制器中在微程序控制器中,时序信号比较简单,一般采用,时序信号比较简单,一般采用节拍节拍电位电位- -节拍脉冲节拍脉冲二级体制。二级体制。一个指令周期一个指令周期机器周期机器周期M1机器周期机器周期M2机器周期机器周期M3时钟周期时钟周期T1时钟周期时钟周期T2时钟周期时钟周期T3时钟脉冲时钟脉冲CLK5.3.25.3.2 多级时序信号之间的关系多级时序信号之间的关系: 由于指令周期不作为时序的由于指令周期不作为时序的一级一级,下图反映了机器周期、时钟周期、时钟脉冲三级时序信号的下图反映了机器周期、时钟周期、时钟脉冲三级时序信号的关系。关系。一个时序系

28、统的组成如图所示一个时序系统的组成如图所示:脉冲发生器脉冲发生器节拍发生器节拍发生器周期状态周期状态触发器触发器脉冲源脉冲源启动启动暂停暂停M1M2T1T25.3.3 时序系统的组成时序系统的组成1.脉冲源脉冲源:由由石英晶体震荡器石英晶体震荡器及及“与非门与非门”组合的震荡电路组成组合的震荡电路组成2.脉冲发生器脉冲发生器:通常是一个环行脉冲发生器通常是一个环行脉冲发生器,采用循环移位寄存器的形式采用循环移位寄存器的形式,产产生一组有序的、间隔相等或不等的脉冲序列生一组有序的、间隔相等或不等的脉冲序列3.节拍发生器节拍发生器:按先后顺序按先后顺序,循环地发出若干时钟周期信号循环地发出若干时钟

29、周期信号,最后通过译码电最后通过译码电路路,产生最后所需的节拍脉冲产生最后所需的节拍脉冲,通常由计数译码器电路组成。通常由计数译码器电路组成。4.周期状态触发器周期状态触发器:产生电路与节拍发生器产生电路类似。产生电路与节拍发生器产生电路类似。5.启停控制逻辑启停控制逻辑:控制时钟系统控制时钟系统,只有当启动机器运行时只有当启动机器运行时,才允许发出所需的才允许发出所需的时钟脉冲时钟脉冲,而且而且,由于机器的启停是随机的由于机器的启停是随机的,必须考虑发出的脉冲是必须考虑发出的脉冲是完整完整的。的。机器周期机器周期时钟周期时钟周期时钟脉冲时钟脉冲例例:P169某时序产生器的主要逻辑电路如图所示

30、某时序产生器的主要逻辑电路如图所示, 为脉冲时钟源输出的方波脉为脉冲时钟源输出的方波脉冲冲,C1-C4为为D触发器触发器,T1-T4为四个输出的节拍脉冲。为四个输出的节拍脉冲。脉冲源脉冲源23QQDCPC4CLRSRT4T1T2T3QQDCP+5VDCPQQC1C2C3QQDCPT1-T4为四个输出节拍脉冲为四个输出节拍脉冲,其译码逻辑表达式为其译码逻辑表达式为:T1=C1*C2 T2=C2*C3 T3=C3 T4=C112345678910CPU周期周期CPU周期周期T1T2T3T4C4C1C2C3时时钟钟周周期期脉脉冲冲循循环环移移位位启停控制逻辑启停控制逻辑当计算机启动时,一定要从第一个

31、节拍脉冲前当计算机启动时,一定要从第一个节拍脉冲前沿开始工作,而在停机时,一定要在第四个节沿开始工作,而在停机时,一定要在第四个节拍脉冲结束后关闭时序产生器。只有这样,才拍脉冲结束后关闭时序产生器。只有这样,才能使送出去的脉冲都是完整的的脉冲。能使送出去的脉冲都是完整的的脉冲。=0 =0T4的上沿就是的上沿就是T1的上沿时刻的上沿时刻=1 启动启动 =0 停机停机启停控制逻辑启停控制逻辑 例例:时序产生器需要在一个时序产生器需要在一个CPU周期中产生三个节拍脉冲信周期中产生三个节拍脉冲信号号:T1(200ns),T2(400ns),T3(200ns),主脉冲源的频率为主脉冲源的频率为5MHZ,

32、请设计时序逻辑电路请设计时序逻辑电路(不考虑启停控制不考虑启停控制)脉冲源脉冲源23QQDCPC4CLRSRT3QQDCP+5VDCPQQC1C2C3QQDCPT1-T3为四个输出节拍脉冲为四个输出节拍脉冲,其其译码逻辑表达式为译码逻辑表达式为:T1=C1*C2 T2=C2 T3=T1T2C112345678910CPU周期周期CPU周期周期T1T2T3C4C1C2C3200ns400ns200ns5.3.3 5.3.3 控制器的时序控制方式控制器的时序控制方式1.1.同步控制方式同步控制方式( (集中控制方式集中控制方式):):对机器的所有指令采对机器的所有指令采用统一的时序信号。用相同数目

33、的机器周期用统一的时序信号。用相同数目的机器周期, ,相同数相同数目的节拍脉冲来形成每条指令的控制操作序列。目的节拍脉冲来形成每条指令的控制操作序列。 特点特点: :时序关系简单时序关系简单, ,但以牺牲速度为代价。但以牺牲速度为代价。2.2.异步控制方式异步控制方式( (分散控制方式分散控制方式):):每条指令、每个微操每条指令、每个微操作需要多少时间就占用多少时间,不采用统一的周期作需要多少时间就占用多少时间,不采用统一的周期和节拍,时间上的衔接通过应答方式和节拍,时间上的衔接通过应答方式( (握手方式握手方式) )实现。实现。 特点特点: :无时间浪费无时间浪费, ,但时序控制比较复杂。

34、但时序控制比较复杂。3.3.联合控制方式联合控制方式: :是同步控制与异步控制相结合。是同步控制与异步控制相结合。 情况(情况(1 1)大部分操作序列安排在固定的机器周期中,大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的对某些时间难以确定的操作则以执行部件的“回答回答”信号作为本次操作的结束;信号作为本次操作的结束; 情况(情况(2 2)机器周期的节拍脉冲数固定,但是各条指机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。令周期的机器周期数不固定。5.5 5.5 微程序控制器微程序控制器5.5.1 5.5.1 微程序控制器的组成和基本原理微程序控制器的

35、组成和基本原理指令的执行有很强的指令的执行有很强的阶段性阶段性,把控制信号以二进制的编码,把控制信号以二进制的编码形式存入存储器,然后按顺序一条一条的读出,一条一条形式存入存储器,然后按顺序一条一条的读出,一条一条的控制,最终完成一条指令的执行,这就是的控制,最终完成一条指令的执行,这就是微程序控制的微程序控制的思想思想。简单来讲就是控制信号的软件化。简单来讲就是控制信号的软件化。微程序控制的思想是英国剑桥大学微程序控制的思想是英国剑桥大学WILKES教授教授1951年提年提出的。出的。微程序控制是将程序设计的思想引入硬件逻辑控制,微程序控制是将程序设计的思想引入硬件逻辑控制,把控制信号编码并

36、有效地存储起来,将一条指令的执行过把控制信号编码并有效地存储起来,将一条指令的执行过程替换成一条条微指令的读出和控制过程程替换成一条条微指令的读出和控制过程,简化了控制器,简化了控制器的设计。的设计。缺点:缺点:每一条指令的执行意味着若干次存储器的读操作,每一条指令的执行意味着若干次存储器的读操作,使指令的执行速度比组合逻辑方式要慢。使指令的执行速度比组合逻辑方式要慢。ALU状态寄存器状态寄存器PSWACPCAR指令译码器指令译码器操作控制器操作控制器存储器存储器数据总线数据总线OPIR(AR)+1PC ARMREQR/WDBUS ARDBUS PCCDR ACAC DRDR ALUIRDRD

37、R IRIR(AR) DBUS+_DBUS DRDR DBUSCPU结构示意图结构示意图ALU DR5.5.25.5.2微程序控制的基本概念微程序控制的基本概念 1.1.微命令与微操作微命令与微操作 微命令微命令: : 构成控制信号序列的构成控制信号序列的最小单位最小单位, ,如如: : PC AR 。 微操作微操作: : 由微命令控制实现的最基本的操作。由微命令控制实现的最基本的操作。 2.2.微指令和微程序微指令和微程序 微指令微指令: :在机器的一个节拍中在机器的一个节拍中, ,一组实现一定操作功能的一组实现一定操作功能的微命令微命令, ,或者说或者说, ,控制存储器中每个单元存放的微命

38、令信息控制存储器中每个单元存放的微命令信息( (一串一串2 2进制编码进制编码) )组成一条微指令。组成一条微指令。 微程序微程序: :由微指令组成的序列称为微程序由微指令组成的序列称为微程序, ,一个微程序的一个微程序的功能对应一条机器指令的功能。功能对应一条机器指令的功能。 3. 3.机器指令机器指令: :指提供给使用者编程的基本单位指提供给使用者编程的基本单位,每每一条机器指令可以完成一个独立的算术运算或逻一条机器指令可以完成一个独立的算术运算或逻辑运算操作辑运算操作。一条机器指令对应一组微指令组成的微程序一条机器指令对应一组微指令组成的微程序。一条微指令可为多个机器指令服务一条微指令可

39、为多个机器指令服务。 4.4.控制存储器控制存储器CM(Control Memory) 用于存放全部指令的所有微程序用于存放全部指令的所有微程序,采用只读存储器采用只读存储器结构结构(固化固化) 。控制存储器的字长等于微指令的长度控制存储器的字长等于微指令的长度,其总容量决定于所有微程序的总长度其总容量决定于所有微程序的总长度。已知某计算机有已知某计算机有80条指令条指令 ,平均每条指令由平均每条指令由 12条条微指令组成微指令组成,其中有一条取指微指令是所有指令其中有一条取指微指令是所有指令共用的共用的,设微指令长度为设微指令长度为32位位,计算计算CM容量容量。 解解:微指令所占的二进制位

40、数微指令所占的二进制位数 =(1+80*(12-1)*32=881*32 所以所以,CM容量可选容量可选1K*32(881*32) 例例: P.210第第6题题 5.微指令周期微指令周期:从控制从控制存储器中读取一条微指存储器中读取一条微指令并执行这条微指令所令并执行这条微指令所需的时间需的时间,通常通常一个微一个微指令周期与一个指令周期与一个CPU周周期的时间相等期的时间相等。微指令中的微命令可以微指令中的微命令可以用节拍脉冲来同步定时。用节拍脉冲来同步定时。有多个同步节拍脉冲的有多个同步节拍脉冲的微周期微周期,称为多周期。称为多周期。微周期微周期子周期子周期T1T2T3T4多周期节拍脉冲多

41、周期节拍脉冲T1T2T3T4T1T2T3T4读微指令读微指令执行微指令执行微指令微指令周期微指令周期CPU周期周期周期之间的关系周期之间的关系指令周期指令周期CPU周期周期微程序的执行过程(四个过程)微程序的执行过程(四个过程)1、取微指令阶段、取微指令阶段由于任何指令的执行都是从取微指令开始的,由于任何指令的执行都是从取微指令开始的,所以是公操作,与所有指令对应的微程序的首所以是公操作,与所有指令对应的微程序的首地址都相同,都是从地址都相同,都是从CM的固定单元取出第一条的固定单元取出第一条用于取指令的微指令。用于取指令的微指令。2、取数阶段、取数阶段根据寻址方式,确定微程序的流向。根据寻址

42、方式,确定微程序的流向。3、执行阶段、执行阶段根据操作码确定各自执行阶段微程序的入口根据操作码确定各自执行阶段微程序的入口4、微程序的最后一条微指令的次地址字段、微程序的最后一条微指令的次地址字段指向指向CM的取指令单元,又开始了下一段微的取指令单元,又开始了下一段微程序的执行。程序的执行。 微程序的执行过程(四个过程)微程序的执行过程(四个过程)5.6 5.6 微程序设计技术微程序设计技术 5.6.1 微命令的编码方式微命令的编码方式微命令编码微命令编码:对微指令中的操作控制字段采用的对微指令中的操作控制字段采用的 表示方法。表示方法。 1.直接表示法直接表示法(不译码法不译码法):将微指令

43、操作控制字段的每个将微指令操作控制字段的每个二进制位定义为一个微命令,直接送往相应的控制点。二进制位定义为一个微命令,直接送往相应的控制点。微命令微命令微命令字段微命令字段顺序控制字段顺序控制字段微指令寄存器微指令寄存器微指令微指令5.6.1 微命令的编码方式微命令的编码方式2. 字段直接译码法字段直接译码法:将微指令的控制字段分为若将微指令的控制字段分为若干小字段干小字段,把把相斥性相斥性微命令组合在同一字段中,微命令组合在同一字段中,而而相容性相容性微命令组合在不同的字段中微命令组合在不同的字段中,然后通过然后通过小组译码器对每一个微命令信号进行译码。小组译码器对每一个微命令信号进行译码。

44、译码译码译码译码译码译码微命令微命令微命令微命令微命令微命令微命令字段微命令字段顺序控制字段顺序控制字段微指令寄存器微指令寄存器3.混合表示法混合表示法:直接表示法和字段直接译码法的混合使用。直接表示法和字段直接译码法的混合使用。假设假设CPU结构见下页,以结构见下页,以ADD I D为例。它由五条微指令解释执行。为例。它由五条微指令解释执行。图中每个小方框代表一条微指令,图中每个小方框代表一条微指令,框内为该微指令的全部微命令,框框内为该微指令的全部微命令,框外右上角标明该微指令在外右上角标明该微指令在控存的地控存的地址址。 微指令格式如下微指令格式如下:ADDR,DBUS ARPC ARR

45、 , +1DBUS DRDR IRIR(AR) DBUSDBUS ARR,DBUS DRIR12=1IR12=0DR ALU,+000000000100110001010010000011. 1 2 16判别测试字段判别测试字段下址字段下址字段PC ARDBUS DR控制字段控制字段顺序控制字段顺序控制字段ADD I D ; I=0为直接寻址为直接寻址,即即(AC)+(D) AC; I=1为间接寻址为间接寻址,即即(AC)+(D) AC5.6.2 微程序执行顺序的控制微程序执行顺序的控制(微地址产生方式微地址产生方式)方框图表示机器指令周期方框图表示机器指令周期ALU状态寄存器状态寄存器PSW

46、ACPCAR指令译码器指令译码器操作控制器操作控制器存储器存储器数据总线数据总线OPIR(AR)+1PC ARMREQR/WDBUS ARDBUS PCCDR ACAC DRDR ALUIRDRDR IRIR(AR) DBUS+_DBUS DRDR DBUSCPU结构示意图结构示意图ALU AC译码器工作原理框图译码器工作原理框图微地址形成电路微地址形成电路微地址寄存器微地址寄存器AR地址地址译码译码驱动驱动机器指令寄存器机器指令寄存器IR主存储器器主存储器器RAM译译 码码微操作控制字段微操作控制字段顺序控制顺序控制P字段字段.控制存储器控制存储器CM(ROM)微命令寄存器微命令寄存器IR微

47、命令微命令转移地址来源转移地址来源运行状态运行状态PSW指令操作码指令操作码R1.计数器方式计数器方式:顺序执行微指令时顺序执行微指令时,后续微指令后续微指令地址由现行微指令地址加一个增量地址由现行微指令地址加一个增量(通常为通常为1)而形成而形成;遇到转移时遇到转移时,由由转移微指令转移微指令给出转移微给出转移微地址使微地址按新的方式执行。故:地址使微地址按新的方式执行。故:顺序执顺序执行的微指令序列必须安排在控制存储器的连行的微指令序列必须安排在控制存储器的连续的单元中续的单元中。转移微指令的一般格式简化如下转移微指令的一般格式简化如下: 操作码操作码 转移地址转移地址转移控制转移控制5.

48、6.2 微程序执行顺序的控制微程序执行顺序的控制(微地址产生方式微地址产生方式)PC ARR,+1DBUS DRDR IRT=1000011P1=1(IR15IR14IR13=000)CCLA000011IR(AR) DBUSDBUS AR001011ADDT=1 001110 P2=1R,DBUS ARR,DBUS DRDR ALU, +T=1 000000 P1=0 P2=0001100IR12=1001110IR12=0001111010000010001IR(AR) DBUSDBUS ART=1 010110 P2=1R,DBUS ARAC DRDR DBUSW T=1 000000

49、P1=0 P2=0010011STA010100IR12=1010110010111011000LDAJMP地址转移逻辑表达式为地址转移逻辑表达式为:PC5=IR15 P1 T2 PC4=IR14 P1 T2 PC3=IR13 P1 T2 PC0=IR12 P2 T200000000000100001000000000T=1000100( 001 )( 010 )( 011 )( 100 )IR12=0微程序设计微程序设计IR(AR) DBUS DBUS ARR,DBUS DR DR ACT=1 011110 P2=1IR12=1R,DBUS ARIR12=0T=1 000000 P1=0 P

50、2=0011011011100011110011111100000100001转移微指令,地址为转移微指令,地址为6位。图中有位。图中有两种转移情两种转移情况况,用,用P1、P2来控制,来控制, 转移微指令格式为:转移微指令格式为:转移微指令标志转移微指令标志T转移地址(转移地址(A5A4A3A2A1A0)转移控制转移控制P1 P2转移地址修改方案为转移地址修改方案为: PC5 PC4 PC3 PC2 PC1 PC0PC5 PC4 PC3 PC2 PC1 PC0IR15IR14IR13IR12P1=1 P2=1计数器法的微程序控制器组成如下计数器法的微程序控制器组成如下:IR 指令寄存器指令寄

51、存器微地址转移逻辑微地址转移逻辑微程序计数器微程序计数器PCCM微指令寄存器微指令寄存器IRIR T P1 P2 T P1 P2时序时序微指令译码器微指令译码器IR15 IR14 IR13 IR12PC5 PC4 PC3PC ARAC DR微操作命令微操作命令P2P1P1P2T1T2说明说明:当当T=0时时,微指令寄存器微指令寄存器IRIR输出微操作命令输出微操作命令; ;当当T=1T=1时时, ,微指令寄存器微指令寄存器IRIR输出微转输出微转移指令移指令。T1和和T2用于定时一条微指令中的微命令用于定时一条微指令中的微命令;另外另外,T1=1时时,将转移地址送至将转移地址送至PC,PC,T

52、2=1时时,如果如果P1+P2=1,则修改则修改PCPCT2T2PC02.多路转移方式多路转移方式(下址字段法下址字段法/断定法断定法):当微程序不产生分支时当微程序不产生分支时,后续微指令地后续微指令地址由微指令的顺序字段给出址由微指令的顺序字段给出;否则有若干个后续地址可以选择否则有若干个后续地址可以选择,此时必须由顺序此时必须由顺序控制字段的控制字段的“判别测试判别测试”和和“状态条件状态条件”信息来选择其中一个微地址。没有信息来选择其中一个微地址。没有转移指令。转移指令。微指令格式如下微指令格式如下:其微程序组成原理图如下其微程序组成原理图如下:微命令字段微命令字段判别测试字段判别测试

53、字段(P字段字段)下地址字段下地址字段操作控制操作控制顺序控制顺序控制控制存储器控制存储器地址译码地址译码微地址寄存器微地址寄存器地址转移地址转移逻辑逻辑P字段字段控制字段控制字段OPIR状态条件状态条件其中其中:微地址寄存器对应下地址字段微地址寄存器对应下地址字段,P字段即为判别测试字段字段即为判别测试字段,控制字段即控制字段即为微命令字段为微命令字段,后两部分组成微指令字段。后两部分组成微指令字段。例例:已知已知MOV,ADD,COM,ADT四条指令微程序流程图如下所示四条指令微程序流程图如下所示:0000RS RDRS RDR2+R1 R2R2+R3 R2R2-R3 R2P(1)P(2)

54、RS+RDRDMOVADDCOMADT1000000010010000101010111111000001000000Ci=1Ci=0 (1) P(1)的条件码是指令寄存器的的条件码是指令寄存器的OP字段字段,即即IR7和和IR6, P(2)的条件码是进位寄存器的条件码是进位寄存器Ci,请设计出微程序控制器地址转移逻辑图。请设计出微程序控制器地址转移逻辑图。 (2)现设定控制存储器现设定控制存储器EPROM容量为容量为16个个单元单元,其字长符合微指令格式要求。请给出其字长符合微指令格式要求。请给出微程序流程图中每条微指令的当前微地址微程序流程图中每条微指令的当前微地址与下一微地址。与下一微地

55、址。100010000000取指令取指令1111下地址下地址当前微指令地址当前微指令地址 解解: (1)从流程图可以看出从流程图可以看出,P(1)处微程序出现四个分支处微程序出现四个分支,对应四个微地址对应四个微地址,因此用因此用OP码修改微地址寄存器的最后两个触发器即可码修改微地址寄存器的最后两个触发器即可;在在P(2)处微程序出现处微程序出现2路分支路分支,对对应两个微地址。转移逻辑表达式如下应两个微地址。转移逻辑表达式如下: A0=P1A0=P1* *T4T4* *IR6IR6A1=P1A1=P1* *T4T4* *IR7IR7A2=P2A2=P2* *T4T4* *CiCi 微地址转移

56、逻辑电路如下微地址转移逻辑电路如下: :QDQA3QQDA2QQA1QQA0T1CM3CM2CM1CM0T4P2CiP1IR7P1IR6S控制存储器控制存储器CM中取中取出的微指令中包含的出的微指令中包含的的下一条微指令地址的下一条微指令地址1 10 00 00 0初值初值解解: :因为因为EPROMEPROM容量为容量为1616单元单元, ,微地址寄存器微地址寄存器4 4位即可位即可, ,设为设为A3 - A0A3 - A0, ,七条微指令地址分配如下表所示七条微指令地址分配如下表所示: :微指令序号微指令序号当前微地址当前微地址下一微地址下一微地址1 12 23 34 4 5 5 6 6

57、7 700000000100010001001100110101010 101110111111111101000100100010000000000000000000000000001111111100000000000000005.6.3 5.6.3 微指令格式微指令格式 1.1.水平型微指令水平型微指令: :在一个在一个CPUCPU周期周期( (即微周期即微周期) )内同时给出多个能内同时给出多个能并行操作并行操作的微的微命令的微指令命令的微指令, ,均称为水平型微指令。均称为水平型微指令。 其格式为其格式为: :操作控制字段操作控制字段判别测试字段判别测试字段下址字段下址字段提供微命令

58、提供微命令提供下一条微指令的地址提供下一条微指令的地址2.2.垂直型微指令垂直型微指令: :采用采用完全编码完全编码方法方法, ,将全部微命令代码化。将全部微命令代码化。 其格式为其格式为: :微操作码字段微操作码字段源部件地址字段源部件地址字段 目的部件地址字段目的部件地址字段 下址字段下址字段水平型微指令与垂直型微指令的比较水平型微指令与垂直型微指令的比较: : * *水平型微指令并行操作能力强水平型微指令并行操作能力强 * *水平型微指令执行一条指令的时间短:水平型微指令执行一条指令的时间短:垂直型微指令要译码垂直型微指令要译码 * *由水平型微指令解释指令的微程序由水平型微指令解释指令

59、的微程序, , 微指令字较长微指令字较长, ,微程序短微程序短 * *水平型微指令用户难以掌握水平型微指令用户难以掌握例例:(P210.11):(P210.11)已知某机采用微程序控制方式已知某机采用微程序控制方式, ,控存容量为控存容量为512512* *4848位。位。微程序可在整个控存中实现转移微程序可在整个控存中实现转移, ,控制微程序转移的条件共有控制微程序转移的条件共有4 4个个, ,微指令采用水平型微指令微指令采用水平型微指令, ,后继微指令地址采用断定方式后继微指令地址采用断定方式( (多路转移多路转移方式方式) )。请问。请问: : (1) (1)微指令的三个字段分别应为多少

60、位微指令的三个字段分别应为多少位? ? (2) (2)画出对应这种微指令格式的微程序控制器逻辑。画出对应这种微指令格式的微程序控制器逻辑。 解解: :微指令格式为微指令格式为: : 微命令字段微命令字段判别测试字段判别测试字段下地址字段下地址字段操作控制操作控制顺序控制顺序控制假设假设判别测试字段判别测试字段中每一位作为一个判别标志中每一位作为一个判别标志, ,那末由于有那末由于有4 4个个转移条件转移条件, ,故该字段为故该字段为4 4位。因为控存容量为位。因为控存容量为512512单元单元, ,所以所以下地下地址字段址字段为为9 9位位 。微命令字段微命令字段则是则是(48-4-9)=35

温馨提示

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

评论

0/150

提交评论