曹红根《计算机组成原理》第6章控制器原理

上传人:人*** 文档编号:586709251 上传时间:2024-09-05 格式:PPT 页数:201 大小:1.28MB
返回 下载 相关 举报
曹红根《计算机组成原理》第6章控制器原理_第1页
第1页 / 共201页
曹红根《计算机组成原理》第6章控制器原理_第2页
第2页 / 共201页
曹红根《计算机组成原理》第6章控制器原理_第3页
第3页 / 共201页
曹红根《计算机组成原理》第6章控制器原理_第4页
第4页 / 共201页
曹红根《计算机组成原理》第6章控制器原理_第5页
第5页 / 共201页
点击查看更多>>
资源描述

《曹红根《计算机组成原理》第6章控制器原理》由会员分享,可在线阅读,更多相关《曹红根《计算机组成原理》第6章控制器原理(201页珍藏版)》请在金锄头文库上搜索。

1、第第 6 6 章章 控制系统与控制系统与CPUCPU2024/9/51本章学习本章学习内容内容n控制器的功能与组成控制器的功能与组成n控制方式与时序系统控制方式与时序系统nCPUCPU的总体结构的总体结构n组合逻辑控制器设计组合逻辑控制器设计n微程序控制器设计微程序控制器设计n流水线处理技术流水线处理技术2024/9/526.1 6.1 控制器的基本概念控制器的基本概念n控制器和运算器一起组成中央处理器,即控制器和运算器一起组成中央处理器,即CPUCPU。n控制器是计算机的指挥和控制中心,由它把计算机的运控制器是计算机的指挥和控制中心,由它把计算机的运算器、存储器、算器、存储器、I/OI/O设

2、备等联系成一个有机的系统,并设备等联系成一个有机的系统,并根据各部件具体要求,适时地发出各种控制命令,控制根据各部件具体要求,适时地发出各种控制命令,控制计算机各部件自动、协调地进行工作。计算机各部件自动、协调地进行工作。n控制器的功能是根据事先编好并存放在存储器中的解题控制器的功能是根据事先编好并存放在存储器中的解题程序,控制各部件有条不紊地、自动协调地进行工作。程序,控制各部件有条不紊地、自动协调地进行工作。2024/9/53计算机运行程序的基本过程:计算机运行程序的基本过程:1.1.取指令取指令:根据指令地址(由根据指令地址(由PCPC提供),从存储器中取出所要执行的提供),从存储器中取

3、出所要执行的指令。指令。2.2.分析指令分析指令: 对取出的指令进行译码分析。确定指令应完成的操对取出的指令进行译码分析。确定指令应完成的操 作,产生相应操作的控制电位去参与形成该指令功作,产生相应操作的控制电位去参与形成该指令功 能所需要的全部控制命令(微操作控制信号)。能所需要的全部控制命令(微操作控制信号)。 根据寻址方式的分析和指令功能要求,形成操作数的根据寻址方式的分析和指令功能要求,形成操作数的 有效地址,并按此地址取出操作数据(运算型指令)有效地址,并按此地址取出操作数据(运算型指令) 或形成转移地址或形成转移地址( (转移类指令转移类指令) )以实现程序转移。以实现程序转移。6

4、.1.1 6.1.1 指令执行的基本步骤指令执行的基本步骤 2024/9/543.3.执行指令执行指令:根据指令分析所产生的操作控制信号和形成的有效地址,根据指令分析所产生的操作控制信号和形成的有效地址,按一定的算法形成指令操作控制序列,控制有关部件完成按一定的算法形成指令操作控制序列,控制有关部件完成指令规定的功能。指令规定的功能。一条指令执行结束,若没有异常情况和特殊请求,则按程一条指令执行结束,若没有异常情况和特殊请求,则按程序顺序,再去取出并执行下一条指令。序顺序,再去取出并执行下一条指令。控制器的主要功能控制器的主要功能就是按取指令、分析指令、执行指令这就是按取指令、分析指令、执行指

5、令这样的步骤进行周而复始的控制过程,直到完成程序所规定样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。的任务并停机为止。2024/9/55ADD A, R7的执行过程的执行过程2024/9/566.1.2 6.1.2 控制器的基本功能控制器的基本功能1 1控制指令的正确执行控制指令的正确执行包括指令流出的控制,分析指令和执行指令的控包括指令流出的控制,分析指令和执行指令的控制,指令流向的控制。制,指令流向的控制。 指令流出控制(对取指令的控制)指令流出控制(对取指令的控制) 取指令时需进行的操作取指令时需进行的操作(PC)MAR(PC)MAR,Read Read ;给出指令

6、地址,并向;给出指令地址,并向MEMMEM发发 出读命令出读命令(MDR)IR (MDR)IR ;读出的指令经;读出的指令经MDRMDR存放到指存放到指 令寄存器令寄存器IRIR中中(PC)(PC)增量增量PC PC ;为取下一条指令作准备;为取下一条指令作准备2024/9/57 分析指令和执行指令的控制分析指令和执行指令的控制IRIR中的指令经指令译码器中的指令经指令译码器(ID)(ID)译码分析,确定操作性质,译码分析,确定操作性质,判明寻址方式并形成操作数的有效地址。判明寻址方式并形成操作数的有效地址。控制器根据分析的结果和形成的有效地址产生相应的操作控制器根据分析的结果和形成的有效地址

7、产生相应的操作控制信号序列,控制有关的部件完成指令所规定的操作功控制信号序列,控制有关的部件完成指令所规定的操作功能。能。例:设某指令的例:设某指令的IRIR1515IRIR121200000000时为时为MOVMOV指令,则指令,则 MOV MOV 的控制信号为:的控制信号为:2024/9/58 指令流向的控制指令流向的控制指令流向控制即下条指令地址的形成控制。指令流向控制即下条指令地址的形成控制。 按指令序列顺序执行时,通过按指令序列顺序执行时,通过PCPC自动增量形成下条指自动增量形成下条指 令的地址。令的地址。 当需要改变指令流向时,需改变程序计数器当需要改变指令流向时,需改变程序计数

8、器PCPC中的内中的内 容。容。 转移指令的执行:把形成的转向地址送入转移指令的执行:把形成的转向地址送入PCPC; 转子指令的执行:把子程序入口地址送入转子指令的执行:把子程序入口地址送入PCPC; 中断处理:将中断服务程序入口地址送入中断处理:将中断服务程序入口地址送入PCPC。 为了正确返回,转子和中断还需保留为了正确返回,转子和中断还需保留PCPC被改变之前的被改变之前的 内容内容( (即返回地址即返回地址) )。2024/9/592.2.控制程序和数据的输入及结果的输出控制程序和数据的输入及结果的输出为完成某项任务而编制的程序及所需数据,必须通过某为完成某项任务而编制的程序及所需数据

9、,必须通过某些输入设备预先存放在存储器中,运算结果要用输出设些输入设备预先存放在存储器中,运算结果要用输出设备输出。所以必须由控制器统一指挥,完成程序和数据备输出。所以必须由控制器统一指挥,完成程序和数据的输入及结果的输出。的输入及结果的输出。3 3异常情况和特殊请求的处理异常情况和特殊请求的处理机器在运行程序过程中,往往可能会遇到一些异常情况机器在运行程序过程中,往往可能会遇到一些异常情况(如电源掉电、运算溢出等)或某些特殊请求(如打印(如电源掉电、运算溢出等)或某些特殊请求(如打印机请求传送打印字符等)。这些异常和请求往往是事先机请求传送打印字符等)。这些异常和请求往往是事先无法预测的,控

10、制器必须具有检测和处理这些异常情况无法预测的,控制器必须具有检测和处理这些异常情况和特殊请求的功能。和特殊请求的功能。2024/9/510n宏观上每条指令的执行过程均是取指、译码、执行,但宏观上每条指令的执行过程均是取指、译码、执行,但每条指令有不同的操作序列,需要在不同时间产生不同每条指令有不同的操作序列,需要在不同时间产生不同的控制序列,并有严格的时序要求。控制器必须根据不的控制序列,并有严格的时序要求。控制器必须根据不同指令产生不同的控制序列。同指令产生不同的控制序列。n控制器的主要任务控制器的主要任务 根据不同的指令、不同的状态条件,在不同的时间,产根据不同的指令、不同的状态条件,在不

11、同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地生不同的控制信号,控制计算机的各部件自动、协调地进行工作。进行工作。2024/9/511指指令令执执行行的的一一般般流流程程2024/9/512 6.1.3 6.1.3 控制器的组成控制器的组成2024/9/513指令部件的主要功能是完成指令部件的主要功能是完成取指令取指令和和分析指令分析指令。 程序计数器程序计数器 PCPC (指令计数器、指令地址寄存器)(指令计数器、指令地址寄存器)程序计数器用于保证程序按规定的序列正确运行,并提供将要执行程序计数器用于保证程序按规定的序列正确运行,并提供将要执行指令的指令地址。指令的指令地址。由

12、于由于PCPC可以指向主存中任一单元的地址,因此它的位数应能表示主可以指向主存中任一单元的地址,因此它的位数应能表示主存的最大容量并与主存地址寄存器存的最大容量并与主存地址寄存器MARMAR的位数相同。的位数相同。在在CPUCPU中可以单独设置程序计数器,也可以指定通用寄存器中的某中可以单独设置程序计数器,也可以指定通用寄存器中的某一个作为一个作为PCPC使用。使用。程序顺序执行时的程序顺序执行时的PCPC增量可以通过增量可以通过PCPC本身的计数逻辑实现,也可以本身的计数逻辑实现,也可以由运算器的由运算器的ALUALU实现。不同机器,实现方法可有所不同。实现。不同机器,实现方法可有所不同。

13、1 1指令部件指令部件2024/9/514(2) (2) 指令寄存器指令寄存器 IR:IR:用于存放当前正在执行的指令。用于存放当前正在执行的指令。当指令从主存取出后,经当指令从主存取出后,经MDRMDR传送到指令寄存器中,以便传送到指令寄存器中,以便实现对一条指令执行的全部过程的控制。实现对一条指令执行的全部过程的控制。 (3) (3) 指令译码器指令译码器 ID:ID:是指令分析部件。是指令分析部件。对指令寄存器中的指令操作码进行译码分析,产生相应操对指令寄存器中的指令操作码进行译码分析,产生相应操作的控制电位,提供给微操作控制信号形成部件。对寻址作的控制电位,提供给微操作控制信号形成部件

14、。对寻址方式字段进行译码分析,以控制操作数有效地址的形成。方式字段进行译码分析,以控制操作数有效地址的形成。(4) (4) 地址形成部件:地址形成部件:根据寻址方式,形成有效地址。根据寻址方式,形成有效地址。在一些微、小型机中,为简化硬件逻辑,通常不设置专门在一些微、小型机中,为简化硬件逻辑,通常不设置专门的地址形成部件,而是借用运算器实现有效地址的计算。的地址形成部件,而是借用运算器实现有效地址的计算。2024/9/5152 2时序控制部件时序控制部件时序控制部件时序控制部件:用于产生一系列时序信号,为各个微操作:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。定时,以

15、保证各个微操作的执行顺序。n从宏观从宏观( (即程序控制即程序控制) )上看,计算机的解题过程实质上是上看,计算机的解题过程实质上是指令序列即一条条指令的执行过程。指令序列即一条条指令的执行过程。n从微观从微观( (即指令控制即指令控制) )上看,计算机的解题过程是微操作上看,计算机的解题过程是微操作序列即一个个序列即一个个( (或一组组或一组组) )微操作的执行过程。微操作的执行过程。微操作微操作:机器最简单的基本操作:机器最简单的基本操作一条指令的执行过程可以分解为若干微操作。这些微操作一条指令的执行过程可以分解为若干微操作。这些微操作有着严格的时间顺序要求,不可随意颠倒。有着严格的时间顺

16、序要求,不可随意颠倒。2024/9/516(1)(1)脉冲源:脉冲源:用于产生一定频率的主时钟脉冲。用于产生一定频率的主时钟脉冲。一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,一般采用石英晶体振荡器作为脉冲源。计算机电源一接通,脉冲源立即按规定频率给出时钟脉冲。脉冲源立即按规定频率给出时钟脉冲。 (2)(2)启停电路:启停电路:控制整个机器工作的启动与停止。控制整个机器工作的启动与停止。实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信实际上是保证可靠地送出或封锁主时钟脉冲,控制时序信号的发生与停止。号的发生与停止。(3)(3)时序信号发生器:时序信号发生器:用于产生机器所需的各种时序信

17、用于产生机器所需的各种时序信号,以便控制有关部件在不同的时间完成不同的微操作。号,以便控制有关部件在不同的时间完成不同的微操作。不同的机器,有着不同的时序信号。不同的机器,有着不同的时序信号。在同步控制的机器中,一般包括周期、节拍、脉冲等三级在同步控制的机器中,一般包括周期、节拍、脉冲等三级时序信号。时序信号。2024/9/517n微操作控制信号形成部件微操作控制信号形成部件:根据指令部件提供的操作控:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号以及有关的状制电位、时序部件所提供的各种时序信号以及有关的状态条件,产生机器所需要的各种微操作控制信号。态条件,产生机器所需要的各种微

18、操作控制信号。n不同的指令,完成不同的功能,需要不同的微操作控制不同的指令,完成不同的功能,需要不同的微操作控制信号序列。每条指令都有自己对应的微操作序列。控制信号序列。每条指令都有自己对应的微操作序列。控制器必须根据不同的指令,在不同的时间,产生并发出不器必须根据不同的指令,在不同的时间,产生并发出不同的微操作控制信号,控制有关部件协调工作,完成指同的微操作控制信号,控制有关部件协调工作,完成指令所规定的任务。令所规定的任务。4 4中断控制逻辑(中断机构)中断控制逻辑(中断机构)n用于实现异常情况和特殊请求的处理。用于实现异常情况和特殊请求的处理。3 3微操作控制信号形成部件微操作控制信号形

19、成部件2024/9/518n程序状态寄存器:用于存放程序的工作状态程序状态寄存器:用于存放程序的工作状态( (如管态、如管态、目态等目态等) )和指令执行的结果特征和指令执行的结果特征( (如结果为零、结果溢出如结果为零、结果溢出等等) ),把它所存放的内容称为程序状态字,把它所存放的内容称为程序状态字(PSW)(PSW)。 例:例:8086 CPU8086 CPU中的中的PSWPSW的格式的格式5 5程序状态寄存器程序状态寄存器 PSRPSR2024/9/519n 控制台用于实现人与机器之间的通信联系,如启动或控制台用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对

20、程序进行必要停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。的修改或干预等。n早期有硬件控制台,用于设置地址和指令。现在,在大早期有硬件控制台,用于设置地址和指令。现在,在大型机中有软件控制台。通过控制台命令,控制机器的启型机中有软件控制台。通过控制台命令,控制机器的启停,干预机器的工作。停,干预机器的工作。6 6控制台控制台2024/9/520n控制器的组成方式主要是指微操作控制信号形成控制器的组成方式主要是指微操作控制信号形成部件采用何种组成方式产生微操作控制信号。部件采用何种组成方式产生微操作控制信号。n控制器的组成方式主要是指微操作控制信号形成控制器的组成方式主要是指微

21、操作控制信号形成部件的组成方式。部件的组成方式。n根据产生微操作控制信号的方式不同,控制器可根据产生微操作控制信号的方式不同,控制器可分为分为组合逻辑型、存储逻辑型、组合逻辑与存储组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型逻辑结合型三种,它们的根本区别在于微操作信三种,它们的根本区别在于微操作信号发生器的实现方法不同,而控制器中的其他部号发生器的实现方法不同,而控制器中的其他部分基本上是大同小异的。分基本上是大同小异的。6.1.4 6.1.4 控制器的组成方式控制器的组成方式2024/9/5211 1组合逻辑型组合逻辑型n组合逻辑控制器组合逻辑控制器是根据控制要求和状态,采用组合逻辑是根

22、据控制要求和状态,采用组合逻辑技术来实现的。其微操作信号发生器是由门电路组成的技术来实现的。其微操作信号发生器是由门电路组成的复杂树形网络构成的。复杂树形网络构成的。n组合逻辑组合逻辑控制器也称为控制器也称为硬联逻辑硬联逻辑或或硬布线逻辑硬布线逻辑。n组合逻辑组合逻辑控制器的设计目标:使用最少器件数和取得最控制器的设计目标:使用最少器件数和取得最高操作速度。高操作速度。n优点:速度快优点:速度快n缺点:微操作信号发生器结构不规整,设计、调试、维缺点:微操作信号发生器结构不规整,设计、调试、维修较困难,难以实现设计自动化。一旦控制部件构成之修较困难,难以实现设计自动化。一旦控制部件构成之后,要想

23、增加新的控制功能是不可能的。后,要想增加新的控制功能是不可能的。2024/9/5222 2存储逻辑型存储逻辑型n存储逻辑型存储逻辑型控制器称为控制器称为微程序控制器微程序控制器。它是采用存储逻。它是采用存储逻辑来实现的。辑来实现的。n存储逻辑型存储逻辑型控制器的实现方法:控制器的实现方法: 把微操作信号代码化,使每条机器指令转化成为一段微把微操作信号代码化,使每条机器指令转化成为一段微程序存入控制存储器中。执行指令时,读出控存中的微程序存入控制存储器中。执行指令时,读出控存中的微指令,由微指令产生微操作控制信号。指令,由微指令产生微操作控制信号。n优点:设计规整,调试、维修以及更改、扩充指令方

24、便优点:设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主的优点,易于实现自动化设计,已成为当前控制器的主流。流。n缺点:由于它增加了一级控制存储器,所以指令的执行缺点:由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。速度比组合逻辑控制器慢。2024/9/5233 3组合逻辑和存储逻辑结合型组合逻辑和存储逻辑结合型n组合逻辑和存储逻辑结合型控制器称为组合逻辑和存储逻辑结合型控制器称为PLAPLA控制器,它控制器,它是吸收前两种的设计思想来实现的。是吸收前两种的设计思想来实现的。nPLAPLA控制器实际上也是一种组合逻辑控制器,但它的输控

25、制器实际上也是一种组合逻辑控制器,但它的输出程序可编的,某一微操作控制信号由出程序可编的,某一微操作控制信号由PLAPLA的某一输出的某一输出函数产生。函数产生。nPLAPLA控制器是组合逻辑技术和存储逻辑技术结合的产物,控制器是组合逻辑技术和存储逻辑技术结合的产物,它克服了两者的缺点,是一种较有前途的方法。它克服了两者的缺点,是一种较有前途的方法。 2024/9/524n以上几种控制器的设计方法是不同的,但产生的微操作以上几种控制器的设计方法是不同的,但产生的微操作命令的功能是相同的,并且各个控制条件基本上也是一命令的功能是相同的,并且各个控制条件基本上也是一致的,都是由时序电路、操作码译码

26、信号,以及被控部致的,都是由时序电路、操作码译码信号,以及被控部件的反馈信息有机配合而成的。件的反馈信息有机配合而成的。n从功能上看,这几种控制器只是微操作信号发生器的结从功能上看,这几种控制器只是微操作信号发生器的结构和原理不同,而外部的输入条件和输出结果几乎完全构和原理不同,而外部的输入条件和输出结果几乎完全相同。相同。2024/9/525微操作信号发生器微操作信号发生器2024/9/526 6.2 6.2 控制器的控制方式与时序系统控制器的控制方式与时序系统 计算机执行指令的过程实际上是执行一系列的微操作的计算机执行指令的过程实际上是执行一系列的微操作的过程。每一条指令都对应着一个微操作

27、序列,这些微操过程。每一条指令都对应着一个微操作序列,这些微操作中有些可以同时执行,有些则必须按严格的时间关系作中有些可以同时执行,有些则必须按严格的时间关系执行。执行。n控制器的控制方式需解决的问题是:控制器的控制方式需解决的问题是: 如何在时间上对各种微操作信号加以控制。如何在时间上对各种微操作信号加以控制。6.2.1 6.2.1 控制方式控制方式 常用的控制方式有常用的控制方式有同步控制同步控制、异步控制异步控制和和联合控制联合控制。2024/9/5271 1同步控制方式同步控制方式 同步控制方式:同步控制方式:任何指令的运行或指令中各个微操作的任何指令的运行或指令中各个微操作的执行,均

28、由确定的具有统一基准时标的时序信号所控制。执行,均由确定的具有统一基准时标的时序信号所控制。 即所有的操作均由统一的时钟控制,在标准的时间内完即所有的操作均由统一的时钟控制,在标准的时间内完成。成。n在在同步控制方式下,同步控制方式下,每个时序信号的结束就意味着安排每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。动转向下条指令的运行。2024/9/528 典型的同步控制方式是:典型的同步控制方式是:n以微操作序列最长的指令和执行时间最长的微操作为标以微操作序列最长的指令和执行时间最长的微操作为标

29、准,把一条指令执行过程划分为若干个相对独立的阶段准,把一条指令执行过程划分为若干个相对独立的阶段(称为周期)或若干个时间区间(称为节拍),采用完(称为周期)或若干个时间区间(称为节拍),采用完全统一的周期(或节拍)控制各条指令的执行。全统一的周期(或节拍)控制各条指令的执行。n优点:时序关系简单,控制方便优点:时序关系简单,控制方便n缺点:浪费时间。缺点:浪费时间。n因为对比较简单的指令,将有很多节拍是不用的,处于因为对比较简单的指令,将有很多节拍是不用的,处于等待。所以,在实际应用中都不采用这种典型的同步控等待。所以,在实际应用中都不采用这种典型的同步控制方式,而是采用某些折衷的方案。制方式

30、,而是采用某些折衷的方案。2024/9/529(1)(1)采用中央控制与局部控制相结合的方法采用中央控制与局部控制相结合的方法n中央控制中央控制:统一节拍的控制统一节拍的控制 根据大多数指令的微操作序列的情况,设置一个统一的根据大多数指令的微操作序列的情况,设置一个统一的节拍数,使之大多数指令均能在统一的节拍内完成。节拍数,使之大多数指令均能在统一的节拍内完成。n局部控制局部控制:在延长节拍内的控制在延长节拍内的控制 对于少数在统一节拍内不能完成的指令,采用延长节拍对于少数在统一节拍内不能完成的指令,采用延长节拍或增加节拍数,使之在延长节拍内完成,执行完毕再返或增加节拍数,使之在延长节拍内完成

31、,执行完毕再返回中央控制。回中央控制。2024/9/530例:设某计算机的指令通常用例:设某计算机的指令通常用8 8个节拍完成,即有个节拍完成,即有8 8个中个中央节拍央节拍 W W0 0W W7 7,当某指令在,当某指令在8 8个节拍中不能完成时,就个节拍中不能完成时,就插入若干局部节拍插入若干局部节拍 W W6 6* *,经过若干局部节拍,经过若干局部节拍 W W6 6* *后,再后,再返回中央节拍返回中央节拍 W W7 7。2024/9/531(2) (2) 采用不同的机器周期和延长节拍的方法采用不同的机器周期和延长节拍的方法n把一条指令执行过程划分为若干机器周期,如取指、取把一条指令执

32、行过程划分为若干机器周期,如取指、取数、执行等周期。根据所执行指令的不同需要,选取不数、执行等周期。根据所执行指令的不同需要,选取不同的机器周期数。在节拍安排上,每个周期划分为固定同的机器周期数。在节拍安排上,每个周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。的节拍,每个节拍都可根据需要延长一个节拍。n这种方法可以解决执行不同的指令所需时间不统一问题。这种方法可以解决执行不同的指令所需时间不统一问题。n在在Intel 8088 Intel 8088 的指令执行过程中有读写周期、内部周的指令执行过程中有读写周期、内部周期等,其中读写周期为期等,其中读写周期为4 4个节拍,但可以延长若干

33、个节个节拍,但可以延长若干个节拍。拍。2024/9/532(3) (3) 采用分散节拍的方法采用分散节拍的方法 分散节拍:运行不同指令时,需要多少节拍,时序部件分散节拍:运行不同指令时,需要多少节拍,时序部件就发生多少节拍。就发生多少节拍。n这种方法可完全避免节拍轮空,是提高指令运行速度的这种方法可完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法使时序部件复杂化。同时还不能有效方法,但这种方法使时序部件复杂化。同时还不能解决节拍内那些简单的微操作因等待所浪费的时间。解决节拍内那些简单的微操作因等待所浪费的时间。2024/9/533 2 2异步控制方式异步控制方式 异步控制方式:没有统

34、一的同步信号,采用问答方式进异步控制方式:没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启行时序协调,将前一操作的回答信号作为下一操作的启动信号。动信号。n异步控制方式异步控制方式不仅要区分不同指令对应的微操作序列的不仅要区分不同指令对应的微操作序列的长短,而且要区分其中每个微操作的繁简,每条指令、长短,而且要区分其中每个微操作的繁简,每条指令、每个微操作需要多少时间就占用多少时间。每个微操作需要多少时间就占用多少时间。n这种方式不再有统这种方式不再有统的周期、节拍,各个操作之间采用的周期、节拍,各个操作之间采用应答方式衔接,前一操作完成后给出回答信号,启动下

35、应答方式衔接,前一操作完成后给出回答信号,启动下一个操作。一个操作。2024/9/5343 3联合控制方式联合控制方式 联合控制方式:联合控制方式:将同步控制和异步控制相结合。将同步控制和异步控制相结合。n联合控制方式联合控制方式通常的设计思想:在功能部件内部采用同通常的设计思想:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。采用异步方式。n例如,对可以统一的微操作采用同步控制,对难以统一例如,对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。的微操作采用异步控制。n实际上现代计算机中几乎没有完全

36、采用同步或完全采用实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。异步的控制方式,大多数都采用联合控制方式。2024/9/5356.2.2 6.2.2 时序系统时序系统 时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。时序系统是控制器的心脏,由它为指令的执行提供各种定时信号。通常,设计时序系统主要是针对同步控制方式的。通常,设计时序系统主要是针对同步控制方式的。1 1指令周期与机器周期指令周期与机器周期 指令周期指令周期:从取指令、分析指令到执行完一条指令所需的全部时:从取指令、分析指令到执行完一条指令所需的全部时间。间。 由于各种指令的操作

37、功能不同,繁简程度不同,因此各种指令的由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。指令周期也不尽相同。n机器周期(机器周期(CPUCPU周期):周期):指令周期中的某一工作阶段所需的时间。指令周期中的某一工作阶段所需的时间。在指令执行过程中,各机器周期相对独立。在指令执行过程中,各机器周期相对独立。 一条指令的指令周期由若干个机器周期所组成,每个机器周期完一条指令的指令周期由若干个机器周期所组成,每个机器周期完成一个基本操作。所以机器周期也称为基本周期。成一个基本操作。所以机器周期也称为基本周期。2024/9/536n一般机器的一般机器的CPUCPU周期有取指周

38、期、取数周期、执行周期,周期有取指周期、取数周期、执行周期,中断周期等。中断周期等。n每个机器周期设置一个周期状态触发器与之对应,机每个机器周期设置一个周期状态触发器与之对应,机器运行于哪个周期,与其对应的周期状态触发器被置器运行于哪个周期,与其对应的周期状态触发器被置为为“1”1”。显然,机器运行的任何时刻都只能建立一个。显然,机器运行的任何时刻都只能建立一个周期状态,因此同一时刻只能有一个周期状态触发器周期状态,因此同一时刻只能有一个周期状态触发器被置为被置为“1”1”。n不同工作周期所占的时间可以不等。由于不同工作周期所占的时间可以不等。由于CPUCPU内部操作内部操作速度快,而速度快,

39、而CPUCPU访存所花时间较长,所以许多计算机系访存所花时间较长,所以许多计算机系统往往以主存周期为基础来规定统往往以主存周期为基础来规定CPUCPU周期,以便二者工周期,以便二者工作协调配合。作协调配合。2024/9/537 节拍节拍:把一个机器周期等分成若干个时间区间,每一时:把一个机器周期等分成若干个时间区间,每一时间区间称为一个间区间称为一个节拍节拍。一个节拍对应一个电位信号,控。一个节拍对应一个电位信号,控制一个或几个微操作的执行。制一个或几个微操作的执行。n在一个机器周期内,要完成若干个微操作,这些微操作在一个机器周期内,要完成若干个微操作,这些微操作不但需要占用一定的时间,而且有

40、一定的先后次序。因不但需要占用一定的时间,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一个机此,在同步控制方式中,基本的控制方法就是把一个机器周期等分成若干个节拍,每一个节拍完成一步基本操器周期等分成若干个节拍,每一个节拍完成一步基本操作,如一次传送、一次加减运算等。作,如一次传送、一次加减运算等。n一个节拍电位信号的宽度取决于一个节拍电位信号的宽度取决于CPUCPU完成一个基本操作完成一个基本操作的时间。的时间。 2 2节拍节拍2024/9/538n 节拍提供了一项基本操作所需的时间分段,但有的操节拍提供了一项基本操作所需的时间分段,但有的操作作(如打入寄存器如打入寄存

41、器),还需严格的定时脉冲,以确定在哪,还需严格的定时脉冲,以确定在哪一时刻打入。节拍的切换,也需要严格的同步定时。一时刻打入。节拍的切换,也需要严格的同步定时。所所以在一个节拍内,有时还需要设置一个或几个工作脉冲,以在一个节拍内,有时还需要设置一个或几个工作脉冲,用于寄存器的复位和接收数据等。用于寄存器的复位和接收数据等。 脉冲脉冲:一个节拍内设置的一个或几个工作脉冲。:一个节拍内设置的一个或几个工作脉冲。3. 3. 脉冲(定时脉冲)脉冲(定时脉冲)2024/9/539n常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲常见的设计是在每个节拍的末尾发一次工作脉冲,脉冲前沿可用来打入运算结果(或传

42、送),脉冲后沿则实现前沿可用来打入运算结果(或传送),脉冲后沿则实现周期的切换。周期的切换。n也有的计算机,在一个节拍中先后发出几个工作脉冲,也有的计算机,在一个节拍中先后发出几个工作脉冲,有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位有的脉冲位于节拍前端,可用作清除脉冲;有的脉冲位于中部,用作控制外围设备的输入于中部,用作控制外围设备的输入/ /输出脉冲;有的脉输出脉冲;有的脉冲位于尾部,前沿用作冲位于尾部,前沿用作CPUCPU内部的打入,后沿实现周期内部的打入,后沿实现周期切换。切换。2024/9/540n周期、节拍、脉冲构成了三级时序系统,它们之间关系周期、节拍、脉冲构成了三级时序系统

43、,它们之间关系如下图所示。图中包括两个机器周期如下图所示。图中包括两个机器周期M M1 1、M M2 2,每个周期,每个周期包含四个节拍包含四个节拍W W0 0W W3 3,每个节拍内有一个脉冲,每个节拍内有一个脉冲P P。2024/9/541n微型机中常用的时序系统与上述三级时序系统有所不同,称之为微型机中常用的时序系统与上述三级时序系统有所不同,称之为时钟周期时序系统。下图所示的是一典型指令的基本时序,一个时钟周期时序系统。下图所示的是一典型指令的基本时序,一个指令周期包含三个机器周期:取指周期、存储器读周期和存储器指令周期包含三个机器周期:取指周期、存储器读周期和存储器写周期,三个周期中

44、分别包含写周期,三个周期中分别包含4 4个、个、3 3个、个、3 3个时钟周期。个时钟周期。2024/9/5426.3 CPU6.3 CPU的总体结构的总体结构 CPUCPU即中央处理器,它包含运算器和控制器两个部分。即中央处理器,它包含运算器和控制器两个部分。其功能为:其功能为: 程序控制程序控制:标准程序按所要求的次序正确执行。:标准程序按所要求的次序正确执行。 操作控制操作控制:管理何产生每条指令所需的操作信号,:管理何产生每条指令所需的操作信号,送往有关部件,控制完成指令规定的操作。送往有关部件,控制完成指令规定的操作。 时序控制时序控制:对各种操作实施时间上的定时,使计算:对各种操作

45、实施时间上的定时,使计算机有条不紊地工作。机有条不紊地工作。 数据加工数据加工:对数据进行算逻运算处理。:对数据进行算逻运算处理。2024/9/543 6.3.1 6.3.1 寄存器的设置寄存器的设置不同计算机的不同计算机的CPUCPU结构存在差别,但在结构存在差别,但在CPUCPU中一般都设置下列寄存器:中一般都设置下列寄存器:(1)(1)指令寄存器指令寄存器 IRIR(2)(2)程序计数器程序计数器 PCPC(3)(3)累加寄存器累加寄存器 ACAC(4)(4)程序状态寄存器程序状态寄存器 PSRPSR(5)(5)地址寄存器地址寄存器 MARMAR(6)(6)数据缓冲寄存器数据缓冲寄存器

46、MDRMDR( (或或MBR)MBR)其中其中、是用户可用的,是用户可用的,、是用户不可用的。是用户不可用的。CPUCPU中还常设置一些程序不能直接访问,用于暂存操作数据或中间中还常设置一些程序不能直接访问,用于暂存操作数据或中间结果的寄存器,称为暂存器。结果的寄存器,称为暂存器。2024/9/544 通用寄存器通用寄存器:一组程序可访问的、具有多种功能的寄存:一组程序可访问的、具有多种功能的寄存器。器。n在指令系统中,为通用寄存器分配了编号(寄存器地在指令系统中,为通用寄存器分配了编号(寄存器地址),可以编程指定使用其中的某个寄存器。址),可以编程指定使用其中的某个寄存器。n通用寄存器自身的

47、逻辑往往很简单并且比较统一,甚通用寄存器自身的逻辑往往很简单并且比较统一,甚至是快速的小规模存储器的一些单元,但通过编程与至是快速的小规模存储器的一些单元,但通过编程与运算器配合,可指定其实现多种功能,如提供操作数、运算器配合,可指定其实现多种功能,如提供操作数、保存中间结果(即作累加器用),或用作地址指针、保存中间结果(即作累加器用),或用作地址指针、基址寄存器、变址寄存器、计数器等。基址寄存器、变址寄存器、计数器等。2024/9/5456.3.2 6.3.2 数据通路结构及指令流程分析数据通路结构及指令流程分析n数据通路:信息传送的基本路径。数据通路:信息传送的基本路径。 CPUCPU内部

48、的数据通路通常是指运算器与寄存器之内部的数据通路通常是指运算器与寄存器之间的信息传输通道。(总线)间的信息传输通道。(总线)n数据通路结构直接影响着数据通路结构直接影响着CPUCPU内各种信息的传送内各种信息的传送路径。数据通路不同,指令执行过程的微操作序路径。数据通路不同,指令执行过程的微操作序列的安排也不同,它将直接影响到微操作信号形列的安排也不同,它将直接影响到微操作信号形成部件的设计。成部件的设计。2024/9/546 1 1总线结构总线结构 单总线结构单总线结构 CPUCPU内部采用单总线内部采用单总线IBUSIBUS将寄存器和算术逻辑运算部件将寄存器和算术逻辑运算部件连接起来。连接

49、起来。CPUCPU、主存、主存、I/OI/O设备也通过一组单总线(系设备也通过一组单总线(系统总线)连接起来。统总线)连接起来。 在单总线结构中,在单总线结构中,CPUCPU内部的任何两个部件间的数据传内部的任何两个部件间的数据传送都必须经过单总线送都必须经过单总线IBUSIBUS,因此单总线结构的控制比较,因此单总线结构的控制比较简单,但传送速度受到限制。在一些微、小型机中常采简单,但传送速度受到限制。在一些微、小型机中常采用这种结构。用这种结构。2024/9/547单总线结构的单总线结构的CPUCPU2024/9/548 双总线结构双总线结构nCPUCPU内部采用两条总线(内部采用两条总线

50、(B B总线和总线和F F总线),将寄存器和总线),将寄存器和算术逻辑运算部件连接起来。各寄存器可通过控制门,算术逻辑运算部件连接起来。各寄存器可通过控制门,建立寄存器与总线之间的联系。建立寄存器与总线之间的联系。CPUCPU通过地址总线通过地址总线ABUSABUS和数据总线和数据总线DBUSDBUS与主存、与主存、I/OI/O设备连接。设备连接。2024/9/549双双总总线线结结构构的的CPUCPU2024/9/5502. 2. 指令流程分析指令流程分析 指令流程指令流程:指令的操作过程。指令的操作过程。 对指令流程的影响因素:指令功能、寻址方式、数据通对指令流程的影响因素:指令功能、寻址

51、方式、数据通路、路、ALUALU的功能、指令执行的基本步骤等。的功能、指令执行的基本步骤等。 指令功能功能不同,操作数的数量不同,指令流程指令功能功能不同,操作数的数量不同,指令流程不同。不同。 寻址方式不同,寻找操作数的过程不同。寻址方式不同,寻找操作数的过程不同。 数据通路不同,传送数据时的控制过程不同。数据通路不同,传送数据时的控制过程不同。 ALUALU的功能不同,指令的执行步骤不同。的功能不同,指令的执行步骤不同。 不同的指令,执行时的基本步骤不同。如访存指令,不同的指令,执行时的基本步骤不同。如访存指令,需要访问存储器;需要访问存储器;RRRR型指令不需要访存。型指令不需要访存。2

52、024/9/551 例:分析单总线结例:分析单总线结构的构的CPUCPU中,指令中,指令 ADD (RADD (R1 1) ),R R0 0的指的指令流程。设前一操令流程。设前一操作数地址为源,后作数地址为源,后一操作数地址为目一操作数地址为目的。的。 解:指令功能:解:指令功能: (R(R1 1) ( R( R0 0)R)R0 012024/9/552指令流程如下:指令流程如下:(1) (PC)MAR,Read,PCY ;送指令地址,读主存;送指令地址,读主存(2) M MDR IR,(Y)+1 Z ;取指令到;取指令到IR,PC+1暂存于暂存于Z(3) (Z) PC ; PC1PC(4)

53、(R1)MAR,Read ;送源操作数地址;送源操作数地址(5) MMDRY ;取出源操作数到;取出源操作数到Y中中(6) (Y)(R0)Z ;执行加法运算,结果暂存;执行加法运算,结果暂存Z(7) (Z)R0 ;加法结果送回目标寄存器;加法结果送回目标寄存器2024/9/553例:分析单总线结构例:分析单总线结构CPUCPU中,转移指令中,转移指令 JC DJC D 的指令流程。的指令流程。解:指令功能:解:指令功能:IF CIF C1 THEN (PC)1 THEN (PC)DPC DPC 指令流程如下:指令流程如下:(1)(PC)MAR(1)(PC)MAR,ReadRead,(PC)(P

54、C)1Z 1Z ;送指令地址读主存;送指令地址读主存(2) (Z)PC (2) (Z)PC ;PCPC1PC1PC(3)(3) MMDRIR MMDRIR ;取指令到;取指令到IR IR (4) IF C(4) IF C1 (PC)Y 1 (PC)Y ;送当前指令地址;送当前指令地址(5) Y(5) YIR(DIR(D部分部分)Z )Z ;计算转移地址;计算转移地址(6)(Z)PC (6)(Z)PC ;下条指令实;下条指令实现转移现转移操作码D2024/9/554根据指令流程还需要作进一步的控制信息分析根据指令流程还需要作进一步的控制信息分析例:分析单总线结构的例:分析单总线结构的CPUCPU

55、中指令中指令ADD X(R1),(R2)ADD X(R1),(R2)+ + 的指令流程和控制信号序列。的指令流程和控制信号序列。设:指令格式为两字节指令,第二字节为变址值设:指令格式为两字节指令,第二字节为变址值X X。源操作数采用变址寻址,目的操作数采用自增型变址寻址。源操作数采用变址寻址,目的操作数采用自增型变址寻址。指令功能:指令功能:(X+(R1)+(R2)(R2), (R2)+1R2(X+(R1)+(R2)(R2), (R2)+1R2解:指令流程和微控制信号序列如下表所示解:指令流程和微控制信号序列如下表所示操作码X2024/9/555IDIDIRIRPCPCR0R0R1R1MARM

56、ARMDRMDRTEMPTEMPY YZ ZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMDRinTEMPoutTEMPinYin0YZoutADDSUB1CinZin主主存存ReadWrite2024/9/556指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1) (PC)MAR(1) (PC)MAR,ReadRead, (PC)(PC)1Z 1Z PCoutPCout,MARinMARin,ReadRead,0Y0Y,1Cin1Cin,ADDADD,Zin Zin 读指令操作码读指令操作码(2) (Z)PC (2) (Z)PC Z

57、outZout,PCinPCinPCPC1PC1PC(3) (MMDR) (3) (MMDR) (MDR)IR (MDR)IRMDRoutMDRout,IRinIRin(4) (PC)MAR(4) (PC)MAR,ReadRead, (PC)(PC)1Z 1Z PCoutPCout,MARinMARin,ReadRead,0Y0Y,1Cin1Cin,ADDADD,ZinZin(5) (Z)PC (5) (Z)PC ZoutZout,PCinPCin读读X X,写入暂存器,写入暂存器Y Y(6) (MDR)Y(6) (MDR)YMDRoutMDRout,YinYinPCPC1PC1PC(7) (

58、Y)+(R1)Z (7) (Y)+(R1)Z R1outR1out,ADDADD,ZinZin计算源操作数变址值计算源操作数变址值(8) (Z)MAR(8) (Z)MAR,ReadReadZoutZout,MARinMARin,ReadRead读源操作数读源操作数2024/9/557(9) (9) 空白空白等待读存储器等待读存储器(10) (MDR)TEMP(10) (MDR)TEMPMDRoutMDRout,TEMPinTEMPin源操作数送临时寄存源操作数送临时寄存器器(11) (R2)MAR(11) (R2)MAR,RaadRaad, (R2)+1ZR2)+1ZR2outR2out,MA

59、RinMARin,RaedRaed,0Y0Y,1Cin1Cin,ADDADD,ZinZin读目的操作数,读目的操作数,R2R2自自增送增送Z Z(12) (Z)R2(12) (Z)R2ZoutZout,R2inR2in(R2)+1R2(R2)+1R2(13) MDRY(13) MDRYMDRoutMDRout,YinYin目的操作数送目的操作数送Y Y(14) (Y)+(TEMP) Z(14) (Y)+(TEMP) ZTEMPoutTEMPout,ADDADD,ZinZin两操作数相加两操作数相加(15) (Z)MDR(15) (Z)MDR,WriteWriteZoutZout,MDRinMD

60、Rin,WriteWrite按现行地址写回结果按现行地址写回结果(16) (16) 空白空白空一个节拍,等待稳空一个节拍,等待稳定写入定写入2024/9/558例:分析双总线结构的例:分析双总线结构的CPUCPU中,指令中,指令 ADD X(R1),(R2)ADD X(R1),(R2)+ + 的指令流程和控制信号。的指令流程和控制信号。设设ALUALU的功能有:的功能有: F FA AB B(ADDADD),),F FA AB B(SUBSUB),), F FA A1 1(INCINC),),F FA A1 1(DECDEC),),F FA A可通过总线连接器可通过总线连接器G G将总线将总线

61、B B的信息直接传到的信息直接传到F F总线。其控总线。其控制信号为制信号为GonGon。2024/9/559IDIDIRIRPCPCR0R0R1R1MARMARMDRMDRTEMPTEMPY YG GIRBPCBR0BR1BFMARMARBTEMPBFYADDSUBA主存主存ReadWriteR7R7R7BABUSDBUSINCDECBGonFTEMPFMDRFR7FR!FR0FPCFIRF FB B2024/9/560指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1) (PC)MAR(1) (PC)MAR,ReadRead, (PC)Y (PC)Y PCBPCB,GonGon,

62、FMARFMAR,ReadRead,FYFY读指令操作码读指令操作码(2) (Y)(2) (Y)1PC 1PC INCINC,FPCFPCPCPC1PC1PC(3) (MDR)IR(3) (MDR)IRMDRBMDRB,GonGon,FIRFIR(4) (PC)MAR(4) (PC)MAR,ReadRead, (PC)Y(PC)YPCBPCB,GonGon,FMARFMAR,ReadRead,FYFY(5) (Y)(5) (Y)1PC 1PC INCINC,FPCFPC读读X X,写入暂存器,写入暂存器Y Y(6) (MDR)Y(6) (MDR)YMDRBMDRB,GonGon,FYFY(7)

63、 (Y)+(R1)MAR(7) (Y)+(R1)MARR1BR1B,ADDADD,FMARFMAR,ReadRead计算源操作数变址计算源操作数变址值,读源操作数值,读源操作数(8) (8) 空白空白等待读存储器等待读存储器(9) (MDR)TEMP(9) (MDR)TEMPMDRBMDRB,GonGon,FTEMPFTEMP源操作数送临时寄源操作数送临时寄存器存器2024/9/561(10) (R2)MAR(10) (R2)MAR, RaadRaad,(,(R2)YR2)YR2BR2B,GonGon,FMARFMAR,ReadRead,FYFY读目的操作数,读目的操作数,R2R2自增送自增送

64、Z Z(11) (Y)(11) (Y)1R21R2INCINC,FR2FR2(R2)+1R2(R2)+1R2(12) MDRY(12) MDRYMDRBMDRB,GonGon,FYFY目的操作数送目的操作数送Y Y(13) (Y)+(TEMP)MDR (13) (Y)+(TEMP)MDR (MDR)MEM(MDR)MEM,WriteWriteTEMPB TEMPB ,ADDADD,FMDR WriteFMDR Write两操作数相加,按两操作数相加,按现行地址写回结果现行地址写回结果(14) (14) 空白空白空一个节拍,等待空一个节拍,等待稳定写入稳定写入如果没有总线连接器如果没有总线连接器

65、G G,则,则ALUALU需要增加功能:需要增加功能:F FB B可以将可以将GonGon信号改为信号改为F FB B。2024/9/562例:在双总线结构的机器中,分析转子指令:例:在双总线结构的机器中,分析转子指令:JSR XJSR X的执的执行过程。设机器中没有总线连接器,行过程。设机器中没有总线连接器,ALUALU的功能为:的功能为: F FA AB B,F FA AB B, F FA A1 1,F FA A1 1, F FA A,F FB B分析:分析:JSRJSR为双字节指令,为双字节指令,X X为子程序入口地址,在第二字为子程序入口地址,在第二字节。节。转子指令的功能:将断点地址

66、保存到堆栈中,将转子指令的功能:将断点地址保存到堆栈中,将X X送入送入PCPC,实现程序转移。,实现程序转移。JSRX2024/9/563IDIDIRIRPCPCR0R0R1R1MARMARMDRMDRTEMPTEMPY YIRBPCBR0BR1BFMARMARBTEMPBFYADDSUBA主存主存ReadWriteR7R7R7BABUSDBUSINCDECBFTEMPFMDRFR7FR!FR0FPCFIRF FB B2024/9/564指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1) (PC)MAR(1) (PC)MAR,ReadRead, (PC)Y (PC)Y PCBPC

67、B,F FB B,FMARFMAR,ReadRead,FYFY读指令操作码读指令操作码(2) (Y)(2) (Y)1PC 1PC F FA A1 1,FPCFPCPCPC1PC1PC(3) (MDR)IR(3) (MDR)IRMDRBMDRB,F FB B,FIRFIR(4) (PC)MAR(4) (PC)MAR,ReadRead, (PC)Y(PC)YPCBPCB,F FB B ,FMARFMAR,ReadRead,FYFY读读X X,写入暂存器,写入暂存器(5) (Y)(5) (Y)1PC 1PC F FA A1 1,FPCFPCTEMPTEMP(6) (MDR)TEMP(6) (MDR)

68、TEMPMDRBMDRB,F FB B,FTEMPFTEMPPCPC1PC1PC(7) (SP)Y(7) (SP)YSPBSPB,F FB B,FYFY(8) (Y)(8) (Y)1SP 1SP F FA A1 1,FSPFSP,FMARFMARSPSP1SP1SP(9) (PC)MEM(9) (PC)MEM,WriteWritePCBPCB,F FB B,FMDRFMDR,writewrite断点压入堆栈断点压入堆栈(10(10)TEMPPCTEMPPCTEMPBTEMPB,F FB B,FPCFPCXPCXPC,实现转移,实现转移2024/9/565n上题中,如果上题中,如果ALUALU的

69、功能增加为的功能增加为 F FA AB B,F FA AB B, F FA A1 1,F FA A1 1, F FB B1 1,F FB B1 1, F FA A,F FB B 则控制序列可以进一步简化。则控制序列可以进一步简化。n即指令执行过程与指令功能、寻址方式、数据通路、即指令执行过程与指令功能、寻址方式、数据通路、ALUALU功能等紧密相关。功能等紧密相关。2024/9/566指令流程指令流程控制信号流程控制信号流程操作功能操作功能(1) (PC)MAR(1) (PC)MAR,readread,PCBPCB,F FB B,FMARFMAR,ReadRead读指令操作码读指令操作码(2)

70、 (PC)(2) (PC)1PC 1PC PCBPCB,F FB B1 1,FPCFPCPCPC1PC1PC(3) (MDR)IR(3) (MDR)IRMDRBMDRB,F FB B,FIRFIR(4) (PC)MAR(4) (PC)MAR,ReadRead, (PC)Y(PC)YPCBPCB,F FB B ,FMARFMAR,ReadRead,FYFY读读X X,写入暂存器,写入暂存器Y Y(5) (PC)(5) (PC)1PC 1PC PCBPCB,F FB B1 1, FPCFPC(6) (MDR)Y(6) (MDR)YMDRBMDRB,F FB B,FYFYPCPC1PC1PC(7)

71、(SP)(7) (SP)1SP1SPSPBSPB,F FB B1 1,FSPFSP,FMARFMARSPSP1SP1SP(8) (PC)MEM(8) (PC)MEM,WriteWritePCBPCB,F FB B,FMDRFMDR,WriteWrite断点压入堆栈断点压入堆栈(9(9)YPCYPCF FA A,FPCFPCXPCXPC,实现转移,实现转移2024/9/5676.4 6.4 模型机的总体结构模型机的总体结构n以模型机为例,进一步了解控制器的控制原理和以模型机为例,进一步了解控制器的控制原理和设计方法,建立计算机的整机结构。设计方法,建立计算机的整机结构。2024/9/568202

72、4/9/5696.4.1 6.4.1 模型机的数据通路模型机的数据通路1.1.字长:字长:1616位位2.2.总线结构:总线结构: 内部总线:双总线结构内部总线:双总线结构 BUSBUS1 1:输入总线,:输入总线, BUSBUS2 2:输出总线:输出总线 :输出控制门信号,如:输出控制门信号,如MDRBUS1MDRBUS1 CP CP:输入控制信号,如:输入控制信号,如CPYCPY 系统总线:系统总线: 地址总线:地址总线:ABUSABUS,数据总线:,数据总线:DBUSDBUS I/O I/O与主存共享总线,用与主存共享总线,用 MREQ MREQ 控制访存;用控制访存;用IOREQIOR

73、EQ 控制访问控制访问I/OI/O R/W=1 R/W=1,读,读, R/W=0R/W=0,写,写2024/9/5703. 3. 寄存器寄存器 ( (大多数采用大多数采用D D触发器触发器) )程序可用寄存器程序可用寄存器内部寄存器内部寄存器编号编号寄存器名寄存器名寄存器名寄存器名000000R R0 0MARMAR001001R R1 1MDRMDR010010R R2 2IRIR011011R R3 3TEMPTEMP100100SPSPY Y111111PCPC2024/9/5714. ALU4. ALU 由由SN74181SN74181构成,在控制信号构成,在控制信号S S3 3S S

74、0 0及及M M、C C0 0的控制的控制 下,可完成下,可完成1616种逻辑运算和种逻辑运算和1616种算术运算。种算术运算。 M M0 0:算术运算:算术运算 M M1 1:逻辑运算:逻辑运算 2024/9/572说明:在算术运算中,说明:在算术运算中, 当当 M=0,C0=1时,时, 0110 A-B=A+B+1 1111A+12024/9/5735. 5. 状态标志状态标志用于记录运算结果特征,可作为转移判断条件用于记录运算结果特征,可作为转移判断条件CcCc:进位标志,打入脉冲:进位标志,打入脉冲:CPCcCPCcCzCz:为零标志,打入脉冲:为零标志,打入脉冲:CPCzCPCz6.

75、6.移位器移位器: :采用斜送方式实现移位传递,直送方式实现直采用斜送方式实现移位传递,直送方式实现直接传递。接传递。移位控制信号移位控制信号DM直送直送SL左移一位左移一位SR右移一位右移一位EX字节交换字节交换1 1FnAn1SLSLAn1AnDMDMSRSR2024/9/5747.7.模型机的编址模型机的编址主存按字编址,容量主存按字编址,容量64K64K字,字长字,字长1616位,位,1616位地址可寻址位地址可寻址64K64K。2024/9/5756.4.2 6.4.2 模型机的指令系统模型机的指令系统1.1.指令格式与指令类型指令格式与指令类型 双操作数指令双操作数指令包括:包括:

76、MOVMOV、ADDADD、SUBSUB、ANDAND、OROR、EOREOR1515 0 0OPOP寻址方式寻址方式R RS S寻址方式寻址方式R RD D4 4位位3 3位位3 3位位3 3位位3 3位位源地址源地址ES目的地址目的地址ED2024/9/576包括:包括:INCINC、COMCOM、ROLROL、RORROR1515 0 0OPOP000000备用备用寻址方式寻址方式R RD D4 4位位指令特征指令特征3 3位位3 3位位3 3位位目的地址目的地址ED 单操作数指令单操作数指令2024/9/577转移指令采用相对寻址:转移地址转移指令采用相对寻址:转移地址(PC)(PC)

77、D DD D采用补码,进行运算时,需进行符号扩展采用补码,进行运算时,需进行符号扩展包括:包括:JPJP(无条件转移)、(无条件转移)、JCJC(C C1 1转移转移) )、JZ (ZJZ (Z1 1转转移移) ) 、JSR(JSR(转子转子) )转子指令操作:转子指令操作:(SP)-1SP(SP)-1SP,PC(SP)PC(SP),(PC)+DPC(PC)+DPC15150 0OPOP位移量位移量 D D4 4位位1212位位 转移指令转移指令2024/9/578 返回与停机指令返回与停机指令返回与停机指令均为零地址指令返回与停机指令均为零地址指令RTS RTS 返回返回指令的功能是:从子程

78、序返回主程序指令的功能是:从子程序返回主程序返回地址返回地址PCPC,即,即(SP)PC(SP)PC,(SP)(SP)1SP1SPHALT HALT 停机指令的功能是:停机指令的功能是:0RUN0RUN,将时钟信号截断。,将时钟信号截断。OP000未用000未用特征特征特征特征2024/9/5792024/9/5802.2.寻址方式寻址方式方式方式编码编码表示方式表示方式有效地址有效地址寄存器寻址寄存器寻址000Rn无需访存无需访存寄存器间址寄存器间址001Rn或或(Rn)E(Rn)自增型寄存器间址自增型寄存器间址010(Rn)E(Rn),然后,然后(Rn)1Rn自减型寄存器间址自减型寄存器间

79、址011(Rn)E(Rn)1,并且,并且(Rn)1Rn变址寻址变址寻址100X(Rn)EX(Rn)n除自减型寄存器间址不能使用除自减型寄存器间址不能使用PCPC外,其余寻址方外,其余寻址方式可以使用所有可编程寄存器。式可以使用所有可编程寄存器。2024/9/581自增型寄存器间址中自增型寄存器间址中若若RnRnSPSP,则,则(SP)(SP)为堆栈中的弹出数据操作。为堆栈中的弹出数据操作。若若RnRnPCPC,则为立即寻址,立即数保存在该指令的下一单,则为立即寻址,立即数保存在该指令的下一单元中。元中。注意:如果目的操作数采用立即寻址,则有可能使指令数注意:如果目的操作数采用立即寻址,则有可能

80、使指令数据不安全。据不安全。自减型寄存器间址中自减型寄存器间址中若若RnRnSPSP,则,则(SP)(SP) 为堆栈中的压入数据操作。为堆栈中的压入数据操作。K K操作码操作码K K1 1n n2024/9/582变址寻址指令为双字,取指后需两次访存才能得到操作数。变址寻址指令为双字,取指后需两次访存才能得到操作数。取指令操作码后取指令操作码后 (PC)MAR(PC)MAR,Read Read ;送;送X X的地址,读的地址,读X X (PC) (PC)1PC 1PC ;PCPC增量增量 MMDRY MMDRY ;取;取X X值到值到Y Y (Y) (Y)(Rn)MAR (Rn)MAR ,Re

81、ad Read ;形成有效地址,读操作数;形成有效地址,读操作数变址寻址中,若变址寻址中,若RnRnPCPC,则为相对寻址。,则为相对寻址。K K操作码操作码K K1 1X X2024/9/5836.4.3 6.4.3 模型机的时序系统模型机的时序系统模型机采用同步控制方式、三级时序逻辑系统,即利用周模型机采用同步控制方式、三级时序逻辑系统,即利用周期、节拍、脉冲构成控制时序。期、节拍、脉冲构成控制时序。1. 1. 机器周期机器周期每个机器周期内可以完成一次主存的读每个机器周期内可以完成一次主存的读/ /写操作。写操作。模型机设置六种机器周期模型机设置六种机器周期2024/9/584取指周期取

82、指周期 FTFT:完成取指、分析、:完成取指、分析、(PC)(PC)1PC1PC取源周期取源周期 STST:执行双操作数指令时,完成源操作数的寻:执行双操作数指令时,完成源操作数的寻址,取源操作数。(寄存器寻址时不用)址,取源操作数。(寄存器寻址时不用)取目的周期取目的周期 DTDT:完成目的操作数的寻址,取目的操作数。:完成目的操作数的寻址,取目的操作数。 (寄存器寻址时不用)(寄存器寻址时不用)执行周期执行周期 ETET:完成指令操作,并保存结果。:完成指令操作,并保存结果。中断周期中断周期 ITIT:处理中断请求:处理中断请求DMADMA周期周期 DMATDMAT:实现:实现DMADMA

83、传送。传送。本章暂不讨论本章暂不讨论2024/9/585nCPUCPU中任何时候都只能有一个周期存在,可以用六个状中任何时候都只能有一个周期存在,可以用六个状态标志表示态标志表示CPUCPU当前进入了哪一个周期。当前进入了哪一个周期。n可用六个触发器表示六种不同的周期状态。可用六个触发器表示六种不同的周期状态。nT TENDEND P P为各触发器的打入脉冲,表示在每个机器周期的为各触发器的打入脉冲,表示在每个机器周期的最后一个时钟脉冲时,发出打入脉冲。最后一个时钟脉冲时,发出打入脉冲。2024/9/5862.2.节拍节拍n节拍用于在一个周期中产生不同的微操作信号。节拍用于在一个周期中产生不同

84、的微操作信号。n每个周期中设置四个节拍每个周期中设置四个节拍T T0 0、T T1 1、T T2 2、T T3 3。n为节省节拍,在取目的周期为节省节拍,在取目的周期 DT DT 和执行周期和执行周期 ETET中安排中安排两种节拍,即根据微操作的需要,可选择两个节拍,也两种节拍,即根据微操作的需要,可选择两个节拍,也可选择四个节拍。可选择四个节拍。n每个节拍内设置一个脉冲,用于寄存器接收代码,如每个节拍内设置一个脉冲,用于寄存器接收代码,如CPIRCPIR、CPPCCPPC等均为脉冲信号。寄存器接收数据使用脉冲等均为脉冲信号。寄存器接收数据使用脉冲的前沿。脉冲的后沿用于周期、节拍的转换。的前沿

85、。脉冲的后沿用于周期、节拍的转换。2024/9/5873. 3. 脉冲脉冲模型机在每个节拍内设置一个脉冲,其作用是:模型机在每个节拍内设置一个脉冲,其作用是: 用于寄存器接收代码。如各寄存器的用于寄存器接收代码。如各寄存器的CPCP脉冲。脉冲。 用于周期、节拍的转换。通常利用脉冲的前沿接收数用于周期、节拍的转换。通常利用脉冲的前沿接收数 据,用脉冲的后沿进行周期、节拍的转换。据,用脉冲的后沿进行周期、节拍的转换。2024/9/5882024/9/589PCBUS1PCBUS1CPCPPCPCBUSiBUSiBUS1BUS1BUS2BUS2PCiPCiD DCPCPCPCPMARMARBUSiB

86、USiMARiMARiD DCPCPALUALUA A移位器移位器DMDMi iS3S3S0S0M M例:例:(PC)MAR(PC)MAR所需信号所需信号 PCBUSPCBUS1 1=1=1 S S3 3S S2 2S S1 1S S0 0M=11111M=11111 DM=1 DM=1 CP CPMARMAR是电位信号,需在是电位信号,需在一个节拍内有效;一个节拍内有效;是是脉冲信号,其前沿将数脉冲信号,其前沿将数据打入,后沿变换节拍。据打入,后沿变换节拍。节拍节拍脉冲脉冲2024/9/5906.5 6.5 组合逻辑控制器的设计组合逻辑控制器的设计n用组合逻辑方法设计控制器的微操作控制信号形

87、成部用组合逻辑方法设计控制器的微操作控制信号形成部件,需要根据每条指令的要求,让节拍电位和脉冲有件,需要根据每条指令的要求,让节拍电位和脉冲有步骤地去控制机器的有关部件,一步一步地依次执行步骤地去控制机器的有关部件,一步一步地依次执行指令所规定的微操作序列,从而在一个指令周期内完指令所规定的微操作序列,从而在一个指令周期内完成一条指令所规定的全部操作功能。成一条指令所规定的全部操作功能。2024/9/5916.5.1 6.5.1 组合逻辑控制器的设计步骤组合逻辑控制器的设计步骤 在设计控制器之前,需由计算机系统结构设计人员设计在设计控制器之前,需由计算机系统结构设计人员设计好机器的指令系统、数

88、据表示、时序系统,在此基础上,好机器的指令系统、数据表示、时序系统,在此基础上,才能进行控制器的硬件线路设计。才能进行控制器的硬件线路设计。 组合逻辑控制器设计的设计步骤组合逻辑控制器设计的设计步骤: 1.1.分析指令的执行步骤,绘制指令操作流程图分析指令的执行步骤,绘制指令操作流程图 分析指令操作流程的目的是确定指令执行的具体步骤,分析指令操作流程的目的是确定指令执行的具体步骤,决定各步所需的控制命令。决定各步所需的控制命令。2024/9/592 指令操作流程图指令操作流程图:根据机器指令的结构格式、数据表示:根据机器指令的结构格式、数据表示方式及各种运算的算法,把每条指令的执行过程分解成方

89、式及各种运算的算法,把每条指令的执行过程分解成若干功能部件能实现的基本微操作,并以图的形式排列若干功能部件能实现的基本微操作,并以图的形式排列成有先后次序、相互衔接配合的流程。成有先后次序、相互衔接配合的流程。 指令流程图可以比较形象、直观地表明一条指令的执行指令流程图可以比较形象、直观地表明一条指令的执行步骤和基本过程。步骤和基本过程。2024/9/593 绘制指令流程图的两种思路。绘制指令流程图的两种思路。 以指令为线索以指令为线索,按指令类型分别绘制各条指令的流程。,按指令类型分别绘制各条指令的流程。 这种方法对一条指令的全过程有清晰的线索,易于理解。这种方法对一条指令的全过程有清晰的线

90、索,易于理解。 以周期为线索以周期为线索,按机器周期拟定各类指令在本周期内,按机器周期拟定各类指令在本周期内的操作流程,再以操作时间表形式列出各个节拍内所需的操作流程,再以操作时间表形式列出各个节拍内所需的控制信号及它们的条件。的控制信号及它们的条件。 这种方法便于微操作控制信号的综合、化简,容易取得这种方法便于微操作控制信号的综合、化简,容易取得优化结果。优化结果。 为理解控制器设计方法,模型机设计基本采用了后一种为理解控制器设计方法,模型机设计基本采用了后一种方法。方法。2024/9/594 指令操作时间表指令操作时间表:把指令流程图中的各个微操作具体落:把指令流程图中的各个微操作具体落实

91、到各个机器周期的相应节拍和脉冲中去,并以微操作实到各个机器周期的相应节拍和脉冲中去,并以微操作控制信号的形式编排成一张表。控制信号的形式编排成一张表。n指令操作时间表用于形象地表明控制器应该在什么时间,指令操作时间表用于形象地表明控制器应该在什么时间,根据什么条件发出哪些微操作控制信号。指令操作时间根据什么条件发出哪些微操作控制信号。指令操作时间表是指令流程图的进一步具体化。表是指令流程图的进一步具体化。2. 2. 编排指令操作时间表编排指令操作时间表3. 3. 进行微操作综合进行微操作综合对操作时间表中各个微操作控制信号分别按其条件进行对操作时间表中各个微操作控制信号分别按其条件进行归纳、综

92、合,列出其综合的逻辑表达式,并进行适当的归纳、综合,列出其综合的逻辑表达式,并进行适当的调整、化简,得到比较合理的逻辑表达式。调整、化简,得到比较合理的逻辑表达式。2024/9/5954.4.设计微操作控制信号形成部件设计微操作控制信号形成部件 根据各个微操作控制信号的逻辑表达式,用硬件逻辑电根据各个微操作控制信号的逻辑表达式,用硬件逻辑电路加以实现。路加以实现。 实现方法:实现方法: 根据逻辑表达式画出逻辑电路图,用组合逻辑网络根据逻辑表达式画出逻辑电路图,用组合逻辑网络实现实现 直接根据逻辑表达式用直接根据逻辑表达式用PLDPLD器件如器件如PLAPLA、PALPAL、GALGAL等等实现

93、。实现。2024/9/5966.5.2 6.5.2 模型机的指令流程图及操作时间表模型机的指令流程图及操作时间表1 1取指周期(取指周期(FTFT)操作流程图)操作流程图因为任何指令都必须进入取指周期,所以取指操作也称为因为任何指令都必须进入取指周期,所以取指操作也称为取指公操作。取指公操作。对于涉及访存的周期通常需要有对于涉及访存的周期通常需要有4 4个节拍,其中个节拍,其中3 3个节拍用个节拍用于访存取数,于访存取数,1 1个节拍用于操作和判断。各节拍的操作为:个节拍用于操作和判断。各节拍的操作为:T T0 0:将访存地址送入:将访存地址送入MARMART T1 1:发访存请求信号和读信号

94、,从主存读出信息送入:发访存请求信号和读信号,从主存读出信息送入MDRMDRT T2 2:将读出信息从:将读出信息从MDRMDR传送到有关寄存器。传送到有关寄存器。T T3 3:进行相关操作和判断:进行相关操作和判断2024/9/597在取指周期内,各节拍的操作为:在取指周期内,各节拍的操作为:FTFT0 0:指令地址:指令地址MARMARFTFT1 1:读指令:读指令MDRMDR,PCPC1PC1PCFTFT2 2:将:将MDRMDR中的现行指令传送到中的现行指令传送到IRIR,并由,并由IDID进行译码。进行译码。FTFT3 3:根据指令译码结果进行判断,以确定下面应进入哪:根据指令译码结

95、果进行判断,以确定下面应进入哪 个机器周期。个机器周期。2024/9/5982024/9/599n在在FTFT3 3节拍中,首先判断所取指令是否为转移类指令。节拍中,首先判断所取指令是否为转移类指令。模型机中共定义了模型机中共定义了4 4条转移指令:条转移指令:指令指令操作码操作码IR15IR14IR13IR12JPJP10101010JCJC10111011JZJZ11001100JSRJSR11011101直接进入执行周期直接进入执行周期ETJUMPJUMPIRIR1515(IR(IR1414IRIR1313) )2024/9/5100如果源(如果源(SRSR)和目的()和目的(DRDR)

96、操作数均采用寄存器寻址,也)操作数均采用寄存器寻址,也可以直接进入执行周期可以直接进入执行周期ETET;否则,如果为双操作数指令需;否则,如果为双操作数指令需进入取源周期进入取源周期STST;如果为单操作数指令需进入取目的周期;如果为单操作数指令需进入取目的周期DTDT。指令有源操作数指令有源操作数SRSR时:时:IRIR1111IRIR1010IRIR9 9表示寻址方式表示寻址方式指令有目的操作数指令有目的操作数DRDR时:时:IRIR5 5IRIR4 4IRIR3 3表示寻址方式表示寻址方式令令SRSR IRIR1111IRIR1010IRIR9 9 DRDR IRIR5 5IRIR4 4

97、IRIR3 32024/9/5101SRSRDRDR操作数寻址情况操作数寻址情况0000源和目的均不是寄存器寻址源和目的均不是寄存器寻址0101源不是寄存器寻址,目的是寄存器寻址源不是寄存器寻址,目的是寄存器寻址1010源是寄存器寻址,目的不是寄存器寻址源是寄存器寻址,目的不是寄存器寻址1111源和目的均是寄存器寻址源和目的均是寄存器寻址进入进入STST进入进入DTDT进入进入ETET2024/9/5102各节拍中的控制信号各节拍中的控制信号节拍节拍控制电位信号控制电位信号控制脉冲信号控制脉冲信号FTFT0 0PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,

98、DMDMCPMARPCPMARPFTFT1 1MREQMREQ,R/WR/W1 1,PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,C C0 01 1,DMDMCPPCPCPPCPFTFT2 2MDRBUSMDRBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDMCPIRPCPIRPFTFT3 31STJUMPSR1STJUMPSR1DTJUMPSRDR1DTJUMPSRDR1ETJUMP1ETJUMPSRDRSRDRCPFTPCPFTPCPSTPCPSTPCPDTPCPDTPCPETPCPETPT TENDENDPPnP P表示时

99、钟脉冲的前沿(上升沿)起作用。表示时钟脉冲的前沿(上升沿)起作用。nP P表示时钟脉冲的后沿(下降沿)起作用。表示时钟脉冲的后沿(下降沿)起作用。2024/9/51032 2取源周期(取源周期(STST)的的操作流程图操作流程图n双操作数指令的源寻址方式为非寄存器寻址时,需进入双操作数指令的源寻址方式为非寄存器寻址时,需进入取源周期,完成源操作数寻址并取源操作数。取出的取源周期,完成源操作数寻址并取源操作数。取出的源源操作数暂存在暂存器操作数暂存在暂存器TEMPTEMP中中。n不同寻址方式有效地址形成方法不同,因此操作流程也不同寻址方式有效地址形成方法不同,因此操作流程也不同。不同。2024/

100、9/51042024/9/5105源操作数寻址方式的判断条件:源操作数寻址方式的判断条件:寄存器间接寻址:寄存器间接寻址:(R(RS S) ) IRIR1111IRIR1010IRIR9 9自增型寄存器间接寻址:自增型寄存器间接寻址:(R(RS S) ) IRIR1111IRIR1010IRIR9 9自减型寄存器间接寻址:自减型寄存器间接寻址:(R(RS S) ) IRIR1111IRIR1010IRIR9 9变址寻址:变址寻址:X XS S IRIR1111IRIR1010IRIR9 92024/9/5106取源时间表取源时间表2024/9/51072024/9/51082024/9/510

101、93. 3. 取目的周期取目的周期(DT)(DT)的操作流程图的操作流程图n当双操作数指令和单操作数指令的目的寻址方式为非寄当双操作数指令和单操作数指令的目的寻址方式为非寄存器寻址时,进入取目的周期完成目的操作数地址的寻存器寻址时,进入取目的周期完成目的操作数地址的寻址并读取目的操作数。址并读取目的操作数。n由于目的操作数在执行周期才送入由于目的操作数在执行周期才送入ALUALU的的A A输入端运算,输入端运算,所以所以取出的目的操作数暂不传送,而保留在取出的目的操作数暂不传送,而保留在MDRMDR中中,因,因此对于非变址寻址的寻址方式只安排两个节拍即可完成此对于非变址寻址的寻址方式只安排两个

102、节拍即可完成操作。操作。 nMOVMOV指令的目的寻址为非寄存器寻址时,也需进入目的指令的目的寻址为非寄存器寻址时,也需进入目的周期,但因周期,但因MOVMOV指令只需传送目的地址而不需取目标操指令只需传送目的地址而不需取目标操作数作数,因而操作比较简单。,因而操作比较简单。2024/9/5110非非MOV指令指令2024/9/5111MOV指令指令2024/9/5112取目的时间表取目的时间表2024/9/51132024/9/51142024/9/51154. 4. 执行周期执行周期(ET)(ET)的操作流程图的操作流程图n由于不同指令具有不同的操作功能,不同的寻址方式,由于不同指令具有不

103、同的操作功能,不同的寻址方式,操作数有不同的来源,因此不同指令在执行周期的操操作数有不同的来源,因此不同指令在执行周期的操作流程也各不相同,需要按不同的指令绘制执行周期作流程也各不相同,需要按不同的指令绘制执行周期的操作流程图。的操作流程图。n对于多数指令,执行周期的操作均可在两拍内完成,对于多数指令,执行周期的操作均可在两拍内完成,所以所以多数指令的执行周期内只设两个节拍多数指令的执行周期内只设两个节拍。n但对于但对于JSRJSR、RTSRTS以及双操作数指令的目的寻址为非寄以及双操作数指令的目的寻址为非寄存器寻址(即存器寻址(即DRDR0 0)时,因为需要访存,所以在执行)时,因为需要访存

104、,所以在执行周期内设四个节拍来完成。周期内设四个节拍来完成。n在模型机的节拍发生器中,通过控制触发器在模型机的节拍发生器中,通过控制触发器C C2 2的的T T输入输入端,可以选择执行周期的节拍数。端,可以选择执行周期的节拍数。2024/9/5116模型机严格按照周期、节拍工作,根据各指令所需的周期模型机严格按照周期、节拍工作,根据各指令所需的周期数和各周期所需的节拍数,可以计算每条指令所需的节拍数和各周期所需的节拍数,可以计算每条指令所需的节拍数。数。例:计算指令例:计算指令 ADD RADD R0 0,R R1 1所需的所需的周期和节拍数。周期和节拍数。解:解: R R0 0,R R1 1

105、采用寄存器寻址,采用寄存器寻址,需要取指和执行两个周需要取指和执行两个周期。期。 FTFT周期需周期需4 4个节拍,个节拍,ETET周期需周期需2 2个节拍个节拍 共需共需6 6个节拍个节拍2024/9/5117例:计算指令例:计算指令 ADD XADD X1 1(R(R0 0) ),X X2 2(R(R1 1) )所需的所需的周期和节拍数。周期和节拍数。解:解:周期周期 取指取指取源取源( (变址,变址,重复重复) )取目的取目的( (变址,变址,重复重复) )执行执行( (源、目的源、目的变址变址) )共共6 6个周期个周期节拍节拍4 44 4,4 44 4,2 24 4共共2222个节拍

106、个节拍2024/9/5118CPU控制流程(一条指令的控制流程)控制流程(一条指令的控制流程)2024/9/51196.5.3 6.5.3 微操作控制信号综合微操作控制信号综合n指令操作时间表根据指令流程、时序系统和数据指令操作时间表根据指令流程、时序系统和数据通路结构,列出了实现整个指令系统的全部操作通路结构,列出了实现整个指令系统的全部操作控制信号。将同一种控制信号在不同时间下产生控制信号。将同一种控制信号在不同时间下产生的条件进行归纳、综合、化简后,就可写出该控的条件进行归纳、综合、化简后,就可写出该控制信号的综合逻辑表达式。制信号的综合逻辑表达式。n逻辑表达式中包括下列因素:逻辑表达式

107、中包括下列因素: 微操作控制信号微操作控制信号F(F(周期、节拍、脉冲、指令、周期、节拍、脉冲、指令、状态条件状态条件) )2024/9/5120n例:读信号(例:读信号(R/WR/W)的逻辑表达式)的逻辑表达式n例:脉冲信号例:脉冲信号CPTEMPCPTEMP的逻辑表达式的逻辑表达式n例:脉冲信号例:脉冲信号PCBUSPCBUS1 1的逻辑表达式的逻辑表达式2024/9/5121n可用一个触发器产生重复周期信号可用一个触发器产生重复周期信号RepeatRepeat ResetReset信号使信号使RepeatRepeat0 0。 进入进入STST或或DTDT后,若需要重复周期,就使后,若需要

108、重复周期,就使CPRepeatCPRepeat有有效,效,RepeatRepeat1 1。Q QQ QRepeatRepeatCPCPD DR RResetResetCPRepeatCPRepeat2024/9/5122在重复周期还需要在重复周期还需要CPCP脉冲,使脉冲,使RepeatRepeat翻转为翻转为 0 0。CPRepeatCPRepeat的逻辑表达式的逻辑表达式2024/9/5123设计控制信号形成电路设计控制信号形成电路将逻辑表达式经逻辑综合、化简得到各个微操作控制信号将逻辑表达式经逻辑综合、化简得到各个微操作控制信号的比较合理的表达式后,即可设计实现电路。的比较合理的表达式后

109、,即可设计实现电路。1. 1. 用组合逻辑电路实现用组合逻辑电路实现将各微操作控制信号用组合逻辑电路实现,就构成了组合将各微操作控制信号用组合逻辑电路实现,就构成了组合逻辑控制器的微操作控制信号形成部件。逻辑控制器的微操作控制信号形成部件。在实际设计过程中,用硬件实现逻辑电路图时,有时受逻在实际设计过程中,用硬件实现逻辑电路图时,有时受逻辑门的扇入系数限制,需要修改逻辑表达式,此时就可能辑门的扇入系数限制,需要修改逻辑表达式,此时就可能要增加逻辑电路。如果信号所经过的级数也增加的话,还要增加逻辑电路。如果信号所经过的级数也增加的话,还将增加延迟时间。另外在实现时还有负载问题。将增加延迟时间。另

110、外在实现时还有负载问题。2024/9/5124n例:例:读信号(读信号(R/WR/W)的逻辑电路图)的逻辑电路图2024/9/51252 2 用用PLAPLA器件实现器件实现n可编程逻辑阵列可编程逻辑阵列PLAPLA电路是由与阵列和或阵列组成,电电路是由与阵列和或阵列组成,电路的输出为输入项的与或式。路的输出为输入项的与或式。n经微操作综合而得到的微操作控制信号的逻辑表达式基经微操作综合而得到的微操作控制信号的逻辑表达式基本上都是与或表达式,因而可很方便地用本上都是与或表达式,因而可很方便地用PLAPLA电路实现。电路实现。n例:用例:用PLAPLA器件实现下列逻辑函数器件实现下列逻辑函数20

111、24/9/51262024/9/5127n当用当用PLAPLA器件实现模型机控制信号逻辑时,则将指令码、器件实现模型机控制信号逻辑时,则将指令码、机器周期、节拍、脉冲及某状态条件作为机器周期、节拍、脉冲及某状态条件作为PLAPLA器件的与器件的与阵列输入信号,按微操作信号综合所得的逻辑表达式分阵列输入信号,按微操作信号综合所得的逻辑表达式分别对与阵列、或阵列进行编程,即可由或阵列输出各个别对与阵列、或阵列进行编程,即可由或阵列输出各个控制信号。控制信号。2024/9/51282024/9/51296.6 6.6 微程序控制器设计微程序控制器设计6.6.1 6.6.1 微程序控制器的基本概念微程

112、序控制器的基本概念组合逻辑控制器的缺点组合逻辑控制器的缺点 繁琐、杂乱,缺乏规律性,设计效率低,不利于检查繁琐、杂乱,缺乏规律性,设计效率低,不利于检查 调试调试。 不易修改和扩充,缺乏灵活性不易修改和扩充,缺乏灵活性。因为设计结果用印刷电路板因为设计结果用印刷电路板( (硬连逻辑硬连逻辑) )固定下来以后,就固定下来以后,就很难再修改与扩充。很难再修改与扩充。因此因此, ,我们可将微命令编成代码我们可将微命令编成代码, ,存入存入ROMROM中中, ,需要时取出需要时取出. .2024/9/5130n例:模型机中指令例:模型机中指令 ADD R1ADD R1,R2R2的指令执行过程及控制的指

113、令执行过程及控制信号。信号。(PC)MAR(PC)MAR读主存读主存(PC)(PC)1PC1PC(MDR)IR(MDR)IR1ET1ETFTFT0 0FTFT1 1FTFT2 2FTFT3 3PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPMARCPMARMRQMRQ,R/W=1R/W=1,PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,C C0 0,DMDM,CPPCCPPCMDRBUSMDRBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPIRCPIR1ET,CPET1E

114、T,CPET(R(R1 1)Y)YETET0 0ETET1 1R R0 0BUSBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPRCPR0 0,CPC,CPCC C,CPC,CPCZ ZR R1 1BUSBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPYCPY(R(R0 0)+(Y)R)+(Y)R0 0ENDEND2024/9/5131可以利用二进制编码描述操作系列。可以利用二进制编码描述操作系列。3 3位位5 5位位1 1位位2 2位位2 2位位3 3位位1 1位位2 2位位BUSinBUSinS S3 3S S2 2S

115、 S1 1S S0 0M MC C0 0S SBUSBUS1 1outoutBUSBUS2 2outoutR/WR/WIO/MIO/MBUSin功能000000无无001001R RS SBUSBUS1 1010010R RD DBUSBUS1 1011011TEMPBUSTEMPBUS1 1100100SPBUSSPBUS1 1101101MDRBUSMDRBUS1 1110110IR(D)BUSIR(D)BUS1 1111111PCBUSPCBUS1 1S S3 3S S2 2S S1 1S S0 0M M按按7418174181的的规定规定C C0 0功能功能0 0C C0 00 01

116、1C C0 01 1S S功能功能0000DMDM0101SLSL1010SRSR1111EXEXBUSBUS1 1outout功能功能0000无无0101CPIRCPIR1010CPMARCPMAR1111CPCCPCZ Z、CPCCPCC C2024/9/5132BUSBUS2 2outout功能功能000000无无001001CPRSCPRS010010CPRDCPRD011011CPYCPY100100CPSPCPSP101101CPMDRCPMDR110110CPTEMPCPTEMP111111CPPCCPPCR/WR/W功能功能0 0读读1 1写写IO/MIO/M功能功能0000无

117、无0101MREQMREQ1 1访存访存1010MREQMREQ0 0访访I/OI/O2024/9/5133例:例:微操作:微操作:PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPMAR CPMAR 对应的控制信对应的控制信号编码为:号编码为: 111 11111 0 00 10 000 1 00111 11111 0 00 10 000 1 00微操作:微操作:MRQMRQ,R/W=1R/W=1,PCBUSPCBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,C C0 0,DMDM,CPPC CPPC 对应的控制信号编码为

118、:对应的控制信号编码为: 111 11110 1 00 00 111 1 01111 11110 1 00 00 111 1 01微操作:微操作:MDRBUSMDRBUS1 1,S S3 3S S2 2S S1 1S S0 0M M,DMDM,CPIR CPIR 对应的控制信对应的控制信号编码为:号编码为: 101 11111 0 00 01 000 00101 11111 0 00 01 000 002024/9/5134n将指令要执行的控制信号用二进制编码字编码后将指令要执行的控制信号用二进制编码字编码后依次存入存储器。执行指令时,顺序读出编码字,依次存入存储器。执行指令时,顺序读出编码字

119、,产生控制命令,即可控制有关部件完成规定的操产生控制命令,即可控制有关部件完成规定的操作。作。 这种控制思想称为这种控制思想称为微程序微程序控制控制。n微程序设计将软件设计技术应用到硬件设计中,微程序设计将软件设计技术应用到硬件设计中,其通道是:应用灵活,控制规整,便于计算机设其通道是:应用灵活,控制规整,便于计算机设计自动化,并易于修改和扩充。计自动化,并易于修改和扩充。nCISCCISC系列的小、微型机多采用微程序控制方法设系列的小、微型机多采用微程序控制方法设计控制器。计控制器。2024/9/5135n微程序设计的实质是:用程序设计的思想方法来组织操微程序设计的实质是:用程序设计的思想方

120、法来组织操作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。作控制逻辑,用规整的存储逻辑代替繁杂的组合逻辑。n因为微程序控制是将微操作控制信号以编码字因为微程序控制是将微操作控制信号以编码字( (即微指即微指令令) )的形式存放在控制存储器中。执行指令时,通过依的形式存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组操作控制信号,控制次读取一条条微指令,产生一组组操作控制信号,控制有关功能部件完成一组组微操作。因此,又称为有关功能部件完成一组组微操作。因此,又称为存储逻存储逻辑。辑。2024/9/5136n在微程序控制机器中,涉及到两个层次。在微程序控制机器中,涉及到两个层次。

121、 一个层次一个层次是使用机器语言的程序员所看到的传是使用机器语言的程序员所看到的传统机器级统机器级 机器指令。用机器指令编制工机器指令。用机器指令编制工作程序,完成某一处理任务。作程序,完成某一处理任务。CPUCPU执行的程序存执行的程序存放在主存储器中。放在主存储器中。 另一个层次另一个层次是硬件设计者所看到的微程序级是硬件设计者所看到的微程序级微指令。用微指令编制微程序,用以完成一微指令。用微指令编制微程序,用以完成一条机器指令的功能。微程序存放在控制存储器条机器指令的功能。微程序存放在控制存储器中。微指令用于产生一组控制命令,称为微命中。微指令用于产生一组控制命令,称为微命令,控制完成一

122、组微操作。令,控制完成一组微操作。 2024/9/51371. 1. 基本概念基本概念 微命令微命令;直接作用于部件或控制门电路的控;直接作用于部件或控制门电路的控制命令。是构成控制信号序列的最小单位。制命令。是构成控制信号序列的最小单位。 例如模型机中的例如模型机中的PCBUSPCBUS1 1,R R0 0BUSBUS1 1、CPIRCPIR、R/WR/W等控制信号都称为微命令。等控制信号都称为微命令。 微操作微操作;由微命令控制实现的最基本的操作。;由微命令控制实现的最基本的操作。 微操作的定义可大可小微操作的定义可大可小 例:微操作:例:微操作:(PC)MAR (PC)MAR ;是在一组

123、微命令;是在一组微命令 PCBUSPCBUS1 1、S S3 3S S2 2S S1 1S S0 0M M、DMDM、CPMARCPMAR的控制下实现的控制下实现的。的。2024/9/5138 微指令微指令:用以产生一组微命令,控制完成一:用以产生一组微命令,控制完成一组微操作的二进制编码字称为微指令。组微操作的二进制编码字称为微指令。 微指令存放在控制存储器中。一条微指令通常微指令存放在控制存储器中。一条微指令通常控制实现数据通路中的一步操作过程。控制实现数据通路中的一步操作过程。 微程序微程序:一系列微指令的有序集合称为微程:一系列微指令的有序集合称为微程序。序。 在微程序控制的机器中,一

124、条机器指令对应着在微程序控制的机器中,一条机器指令对应着一段由若干条有序的微指令构成的微程序;通过一段由若干条有序的微指令构成的微程序;通过解释执行一段微程序,可以实现相应的一条机器解释执行一段微程序,可以实现相应的一条机器指令的功能。指令的功能。2024/9/5139 微周期微周期:从控制存储器中读取一条微指令并:从控制存储器中读取一条微指令并执行相应的微操作所需的时间称为微周期。执行相应的微操作所需的时间称为微周期。 在微程序控制的机器中,微周期是它的主要时在微程序控制的机器中,微周期是它的主要时序信号。通常一个时钟周期为一个微周期。序信号。通常一个时钟周期为一个微周期。 微指令的执行采用

125、同步方式,每个微周期的时微指令的执行采用同步方式,每个微周期的时间相同。在模型机中,一个微周期相当于一个间相同。在模型机中,一个微周期相当于一个节拍。节拍。 控制存储器(控制存储器(CMCM):存放微程序的存储器。:存放微程序的存储器。也称为微程序存储器。也称为微程序存储器。 一般计算讥指令系统是固定的,因而实现指令一般计算讥指令系统是固定的,因而实现指令系统的微程序也是固定的,所以控制存储器通系统的微程序也是固定的,所以控制存储器通常用只读存储器实现。常用只读存储器实现。2024/9/51402. 2. 微程序控制器的模型及其工作过程微程序控制器的模型及其工作过程2024/9/5141n在微

126、程序控制器组成框图中,在微程序控制器组成框图中,PCPC、IRIR、PSRPSR等的等的功能与组合逻辑控制器中的功能一致。功能与组合逻辑控制器中的功能一致。n微程序控制器与组合逻辑控制器的主要区别在于微程序控制器与组合逻辑控制器的主要区别在于微操作控制信号形成部件的不同微操作控制信号形成部件的不同: : 组合逻辑控制器中的复杂组合逻辑网络在微组合逻辑控制器中的复杂组合逻辑网络在微程序控制器被规整的存储逻辑所替代。程序控制器被规整的存储逻辑所替代。 存储逻辑中包含了存放微程序的控制存储器。存储逻辑中包含了存放微程序的控制存储器。2024/9/51423. 3. 微程序控制器的主要部分微程序控制器

127、的主要部分 控制存储器控制存储器CMCM:简称控存。控存的每个单元存放一条:简称控存。控存的每个单元存放一条微指令代码。微指令代码。 图中每条横线表示一个单元,其中每个交叉点表示微指图中每条横线表示一个单元,其中每个交叉点表示微指令的一位,有令的一位,有“”表示该位为表示该位为1 1,无,无“”表示该位为表示该位为0 0。 微指令寄存器微指令寄存器IRIR:存放从控存中读取的微指令。:存放从控存中读取的微指令。微指令通常分为两大字段:微指令通常分为两大字段:操作控制字段操作控制字段:经译码或直接产生一组微命令,控制有关:经译码或直接产生一组微命令,控制有关部件完成微指令所规定的微操作。部件完成

128、微指令所规定的微操作。地址控制字段地址控制字段:指示下条微指令地址的形成方式或直接给:指示下条微指令地址的形成方式或直接给出下条微指令地址。出下条微指令地址。2024/9/5143 微地址形成电路微地址形成电路:用于产生起始微地址和后:用于产生起始微地址和后继微地址,保证微程序的连续执行。继微地址,保证微程序的连续执行。 微地址寄存器微地址寄存器MARMAR:接受微地址形成电路:接受微地址形成电路送来的地址,为读取微指令准备好控存的地址。送来的地址,为读取微指令准备好控存的地址。 译码与驱动电路译码与驱动电路:对:对MARMAR中的微地址进行中的微地址进行译码,找到被访问的控存单元并驱动其进行

129、读取译码,找到被访问的控存单元并驱动其进行读取操作,读取微指令并存放于微指令寄存器中。操作,读取微指令并存放于微指令寄存器中。2024/9/51444.4.微程序控制器的工作过程微程序控制器的工作过程 启动取指令微程序启动取指令微程序 (PC)MAR(PC)MAR,读出机器指令,读出机器指令IRIR,PCPC增量,为下增量,为下条指令准备地址。条指令准备地址。 根据根据IRIR中的指令码,通过微地址形成电路产中的指令码,通过微地址形成电路产生该指令的微程序的起始微地址,并送入生该指令的微程序的起始微地址,并送入MARMAR中。中。 MARMAR中的微地址经译码、驱动,从被选的中的微地址经译码、

130、驱动,从被选的控存单元中取出一条微指令并送入控存单元中取出一条微指令并送入IRIR。 IRIR中的微指令的操作控制字段经译码或直中的微指令的操作控制字段经译码或直接产生一组微命令并送往有关的功能部件,控制接产生一组微命令并送往有关的功能部件,控制其完成所规定的微操作。其完成所规定的微操作。2024/9/5145 IRIR中微指令的地址控制字段及有关状态条中微指令的地址控制字段及有关状态条件送往微地址形成电路,产生下条微指令的地件送往微地址形成电路,产生下条微指令的地址,再去读取并执行下条微指令。如此循环,址,再去读取并执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。直到一条机器

131、指令的微程序全部执行完毕。 一条指令的微程序执行结束,再启动取指令一条指令的微程序执行结束,再启动取指令微指令或微程序,读取下条机器指令。根据该微指令或微程序,读取下条机器指令。根据该指令码形成起始微地址,又转入执行它的一段指令码形成起始微地址,又转入执行它的一段微程序。微程序。2024/9/51465. 5. 程序、指令、微程序、微指令、微程序、指令、微程序、微指令、微命令、微操作的关系命令、微操作的关系2024/9/5147说明说明 在在组合逻辑控制器中,一条指令的功能是直接由硬件组合逻辑控制器中,一条指令的功能是直接由硬件解释实现的;而在微程序控制器中,每条指令都对应着解释实现的;而在微

132、程序控制器中,每条指令都对应着一段微程序,指令的功能是由微程序解释实现的,硬件一段微程序,指令的功能是由微程序解释实现的,硬件完成的是微指令的功能。完成的是微指令的功能。 机器设计确定后,指令系统就确定了,所以通常用机器设计确定后,指令系统就确定了,所以通常用ROMROM组成控存。组成控存。 微程序实质上定义了机器的指令系统。只要修改控微程序实质上定义了机器的指令系统。只要修改控存中的微程序,就可以修改机器的指令系统。因此可以存中的微程序,就可以修改机器的指令系统。因此可以通过修改微程序,在相同的硬件中实现不同的指令系统。通过修改微程序,在相同的硬件中实现不同的指令系统。这样就可以允许用户编写

133、指令系统以满足特殊要求。这样就可以允许用户编写指令系统以满足特殊要求。 由于一条机器指令的执行过程中,需要多次访问控由于一条机器指令的执行过程中,需要多次访问控存,所以控存的速度直接影响到机器的速度。存,所以控存的速度直接影响到机器的速度。2024/9/5148 对于大、巨型机而言,由于要求高速运行,所对于大、巨型机而言,由于要求高速运行,所以多采用组合逻辑实现指令,而不用微程序实以多采用组合逻辑实现指令,而不用微程序实现。采用现。采用RISCRISC设计思想的机器,为了实现高速,设计思想的机器,为了实现高速,也较少使用微程序实现。也较少使用微程序实现。2024/9/5149微程序控制器设计的

134、关键微程序控制器设计的关键 微指令的结构格式及编码方法,即如何用一个微指令的结构格式及编码方法,即如何用一个二进制编码字表示各个微命令。二进制编码字表示各个微命令。 微程序的寻址,即微程序顺序控制的方法。也微程序的寻址,即微程序顺序控制的方法。也就是如何解决微程序中微指令之间的衔接和不同就是如何解决微程序中微指令之间的衔接和不同机器指令所对应的微程序之间的逻辑衔接,保证机器指令所对应的微程序之间的逻辑衔接,保证微程序的连续执行。微程序的连续执行。 微指令执行方式,解决如何提高微指令的执行微指令执行方式,解决如何提高微指令的执行速度的问题。速度的问题。2024/9/51506.6.2 6.6.2

135、 微指令的编译方法微指令的编译方法微指令的编译方法:指如何对微指令的操作控制字段进行微指令的编译方法:指如何对微指令的操作控制字段进行编码来表示各个微命令,以及如何把编码译成相应的微命编码来表示各个微命令,以及如何把编码译成相应的微命令。即微指令的格式应如何设计,应怎样进行微指令的译令。即微指令的格式应如何设计,应怎样进行微指令的译码。码。设计微指令的结构格式时,主要考虑的问题设计微指令的结构格式时,主要考虑的问题 如何有利于缩短微指令字长如何有利于缩短微指令字长 如何有利于缩短微程序,减少所需的控存空间如何有利于缩短微程序,减少所需的控存空间 如何有利于提高微程序执行速度如何有利于提高微程序

136、执行速度2024/9/5151通用的微指令编译方法通用的微指令编译方法1 1直接控制法直接控制法(不译法)(不译法) 微指令操作控制字段的每一位都直接表示一个微指令操作控制字段的每一位都直接表示一个微命令,该位为微命令,该位为“1”1”,表示执行这个微命令,表示执行这个微命令,为为“0”0”表示不执行该微命令。由于这种方法不表示不执行该微命令。由于这种方法不需译码,所以也称不译法。需译码,所以也称不译法。n例:在模型机中,若只考虑输入信号,则有例:在模型机中,若只考虑输入信号,则有3535个微命令,因此微指令的操作控制字段应长个微命令,因此微指令的操作控制字段应长3535位。位。n设设IRIR

137、的第的第2222位对应于位对应于C C0 0,则译码时有,则译码时有C C0 0IRIR2222。2024/9/51522 2最短编码法最短编码法n将所有的微命令进行统一编码,每条微指令只定义一个微命令。若微命令总数为N,则最短编码法中操作控制字段的长度L,应满足下列关系: Llog2Nn最短编码法所得的微指令字长最短,但要通过微命令译码器译码才能得到所需的微命令。微命令越多,译码器就越复杂。同时这种方法在某一时间只能产生一个微命令,不能充分利用机器硬件所具有的并行性,使微程序很长,所以这种方法很少独立使用。2024/9/51533 3字段直接编码法字段直接编码法n将微指令操作控制字段划分为若

138、干个子字段,每个子字将微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。因此在这种方法中,不段的所有微命令进行统一编码。因此在这种方法中,不同的子字段的不同编码,表示不同的微命令。同的子字段的不同编码,表示不同的微命令。n子字段的划分原则:子字段的划分原则: 把互斥的微命令(即不允许同时出现的微命令)划把互斥的微命令(即不允许同时出现的微命令)划分在同一字段内,相容的(即允许同时出现)微命令划分在同一字段内,相容的(即允许同时出现)微命令划分在不同字段内。分在不同字段内。 字段的划分应与数据通路结构相适应。字段的划分应与数据通路结构相适应。 一般每个子字段应留出一个状态

139、,表示本字段不发一般每个子字段应留出一个状态,表示本字段不发任何微命令。任何微命令。 每个子字段所定义的微命令数不宜太多,否则将使每个子字段所定义的微命令数不宜太多,否则将使微命令译码复杂。微命令译码复杂。2024/9/51542024/9/51554 4字段间接编码法字段间接编码法n字段间接编码法字段间接编码法:指一个字段的某一编码的意义由另一:指一个字段的某一编码的意义由另一字段的编码来定义。也就是一个字段的编码不能直接独字段的编码来定义。也就是一个字段的编码不能直接独立地定义微命令,它必须与其它字段的编码联合定义。立地定义微命令,它必须与其它字段的编码联合定义。2024/9/51566.

140、6.3 6.6.3 微程序的顺序控制方式微程序的顺序控制方式n在微程序控制的计算机中,机器指令是通过微程序解在微程序控制的计算机中,机器指令是通过微程序解释执行的。每一条指令都对应一段微程序,不同指令释执行的。每一条指令都对应一段微程序,不同指令的微程序存放在控制存储器的不同存储区域内。的微程序存放在控制存储器的不同存储区域内。n微程序顺序控制(或地址控制)微程序顺序控制(或地址控制)需解决的问题是需解决的问题是微程微程序应如何存放和执行,即需考虑序应如何存放和执行,即需考虑初始微地址和后继微初始微地址和后继微地址的各种形成方法地址的各种形成方法。2024/9/5157n微程序的初始微地址微程

141、序的初始微地址(微程序的入口地址):指令所对(微程序的入口地址):指令所对应微程序的第一条微指令所在控制存储器单元的地址。应微程序的第一条微指令所在控制存储器单元的地址。n现行微指令现行微指令:执行微程序过程中,当前正在执行的微指:执行微程序过程中,当前正在执行的微指令。令。n现行微地址现行微地址:现行微指令所在控制存储器单元的地址。:现行微指令所在控制存储器单元的地址。n后继微指令后继微指令:现行微指令执行完毕后,下一条要执行的:现行微指令执行完毕后,下一条要执行的微指令。微指令。n后继微地址后继微地址:后继微指令所在控存单元的地址。:后继微指令所在控存单元的地址。2024/9/51581

142、1初始微地址的形成初始微地址的形成n由于每一条机器指令的执行,都必须首先进行取指令操由于每一条机器指令的执行,都必须首先进行取指令操作,所以要有作,所以要有“取指令取指令”微程序,控制从主存中取出一微程序,控制从主存中取出一条机器指令,这段微程序(通常由一条或几条微指令组条机器指令,这段微程序(通常由一条或几条微指令组成)是公用的,一般安排在从成)是公用的,一般安排在从0 0号控存单元或其它特定号控存单元或其它特定的控存单元开始。机器指令从主存取到的控存单元开始。机器指令从主存取到IRIR以后,要由机以后,要由机器指令操作码转换为该指令所对应的微程序入口地址,器指令操作码转换为该指令所对应的微

143、程序入口地址,即形成初始微地址。即形成初始微地址。2024/9/5159初始微地址的几种形成方式初始微地址的几种形成方式 (1) (1) 一级功能转移一级功能转移 一级功能转移一级功能转移:根据指令操作码,直接转移到相应微程:根据指令操作码,直接转移到相应微程序的入口,即指令操作码直接参与形成微程序的入口地序的入口,即指令操作码直接参与形成微程序的入口地址。址。 当指令操作码的位置与位数均固定时,可直接用操作码当指令操作码的位置与位数均固定时,可直接用操作码作为微地址的低位。作为微地址的低位。n例:模型机有例:模型机有1616条指令,操作码对应条指令,操作码对应IRIR的的15151212位,

144、令位,令微地址为微地址为000 OP000 OP,OPOP为指令操作码。当取出指令后,为指令操作码。当取出指令后,直接由直接由IRIRl5l51212。作为微地址的低。作为微地址的低4 4位。位。n一级功能转移适用于指令操作码的位置和长度比较规整一级功能转移适用于指令操作码的位置和长度比较规整的和固定的情况。的和固定的情况。2024/9/51602024/9/5161(2) (2) 二级功能转移二级功能转移n如果机器指令的操作码的位数和位置不固定,则需采用如果机器指令的操作码的位数和位置不固定,则需采用二级功能转移。二级功能转移。 二二级功能转移级功能转移:先按指令类型标志转移,以区分出哪一:

145、先按指令类型标志转移,以区分出哪一类指令。在每类指令中假定位置和位数是固定的,在第类指令。在每类指令中假定位置和位数是固定的,在第二级按操作码区分出具体是哪条指令,转移到相应微程二级按操作码区分出具体是哪条指令,转移到相应微程序入口。序入口。2024/9/5162取指微程序取指微程序一级功能转移一级功能转移二级功能转移二级功能转移二级功能转移二级功能转移二级功能转移二级功能转移DRDRADDSUB单数单数双数双数MOV二级功能转移二级功能转移2024/9/5163(3) 用PLA电路实现功能转移n利用利用PLAPLA电路实现功能转移:将电路实现功能转移:将指令操作码作为指令操作码作为可编程可编

146、程逻辑阵列逻辑阵列PLAPLA的输入,的输入,PLAPLA的输出就是相应微程序入口地的输出就是相应微程序入口地址。址。 这种方法对于变长度、变位置的操作码尤为有效,而且这种方法对于变长度、变位置的操作码尤为有效,而且转移速度较快。转移速度较快。n例:设有例:设有I I1 1、I I2 2、I I7 7共共8 8条指令,其操作码分别为条指令,其操作码分别为000000、001001、111111,对应的微程序入口地址分别为,对应的微程序入口地址分别为020H020H、031H031H、146H146H。可用。可用PLAPLA实现微程序入口地址实现微程序入口地址的寻址。的寻址。2024/9/516

147、42024/9/51652 2后继微地址的形成后继微地址的形成n找到初始微地址后,开始执行相应的微程序。每条微指找到初始微地址后,开始执行相应的微程序。每条微指令执行完毕,都要根据要求形成后继微地址,以保证微令执行完毕,都要根据要求形成后继微地址,以保证微程序的正常执行。程序的正常执行。n后继微地址的形成方法对微程序编制的灵活性影响很大,后继微地址的形成方法对微程序编制的灵活性影响很大,主要有两种基本类型:增量方式和断定方式。主要有两种基本类型:增量方式和断定方式。2024/9/5166(1) (1) 增量方式增量方式 微地址的控制方式与程序地址控制方式相似,也有顺序微地址的控制方式与程序地址

148、控制方式相似,也有顺序执行、转移、转子之分。执行、转移、转子之分。 增量方式增量方式:当微程序按地址递增顺序一条条地执行微指:当微程序按地址递增顺序一条条地执行微指令时,后继微地址是现行微地址加上一个增量(通常为令时,后继微地址是现行微地址加上一个增量(通常为1 1)。)。n(PC)(PC)增量增量PCPCnPCPC是微程序计数器,微程序控制器中为节省设备,也是微程序计数器,微程序控制器中为节省设备,也可将可将MARMAR做成具有计数功能的寄存器,与做成具有计数功能的寄存器,与PCPC合为一合为一个寄存器。个寄存器。n(MAR)(MAR)增量增量MARMAR2024/9/5167在增量方式中,

149、当微程序转移或调用微子程序时,要在增量方式中,当微程序转移或调用微子程序时,要解决解决转转移微地址的形成问题。移微地址的形成问题。转移微地址的形成方法转移微地址的形成方法 由微地址形成电路产生转移微地址由微地址形成电路产生转移微地址 由由微地址形成电路根据执行的微指令和当前状态形成转微地址形成电路根据执行的微指令和当前状态形成转移微地址。移微地址。 这这种方法的电路比较复杂。种方法的电路比较复杂。 由微指令的下地址控制字段设置转移微地址。由微指令的下地址控制字段设置转移微地址。2024/9/5168通常把微指令的地址控制字段分为两个部分:通常把微指令的地址控制字段分为两个部分:转移地址字段转移

150、地址字段BAFBAF:提供转移地址。:提供转移地址。转移控制字段转移控制字段BCFBCF:规定地址的形成方式。:规定地址的形成方式。微指令执行完毕,根据微指令执行完毕,根据BCFBCF和和BAFBAF中的内容,控制中的内容,控制是否转移和转移到何处。是否转移和转移到何处。若转移,若转移,BAFPCBAFPC,否则,按,否则,按PCPC的现行内容顺的现行内容顺序执行。序执行。2024/9/51692024/9/5170微地址控制方式的原理框图微地址控制方式的原理框图2024/9/5171 C CZ Z:结果为:结果为“0”0”标志标志 C CC C:进位标志:进位标志 CTCT:循环计数器:循环

151、计数器 RRRR:返回地址寄存器:返回地址寄存器 当执行转微子程序的转子微指令时,把现行微指令的当执行转微子程序的转子微指令时,把现行微指令的下一微地址(下一微地址(PCPC1 1)送入返回地址寄存器)送入返回地址寄存器RRRR中。然中。然后将转移地址字段送入后将转移地址字段送入PCPC中。中。 当执行返回微指令时,将当执行返回微指令时,将RRRR中的返回地址送入中的返回地址送入PCPC,返回微主程序。返回微主程序。 微子程序一般不嵌套。如果允许子程序嵌套,则需用微子程序一般不嵌套。如果允许子程序嵌套,则需用微堆栈。微堆栈。 增量方式的特点是:简单,编制微程序容易,但不能增量方式的特点是:简单

152、,编制微程序容易,但不能实现多路转移。实现多路转移。 当需多路转移时,通常采用断定方式。当需多路转移时,通常采用断定方式。2024/9/5172(2) (2) 断定方式断定方式 断断定方式定方式:后继微地址可由设计者指定或由设计者指定:后继微地址可由设计者指定或由设计者指定的测试判定字段控制产生。的测试判定字段控制产生。 采采用断定方式的后继微地址一般由两部分组成:用断定方式的后继微地址一般由两部分组成:n非因变分量非因变分量:由设计者直接指定的部分,一般是微地址:由设计者直接指定的部分,一般是微地址的高位部分。的高位部分。n因变分量因变分量:根据判定条件产生的部分,一般对应微地址:根据判定条

153、件产生的部分,一般对应微地址的低位部分。的低位部分。2024/9/5173例:某机的微指令格式为:例:某机的微指令格式为:nA A、B B为两个判定条件为两个判定条件IROCF微地址高位ABA断定微地址低位B断定微地址低位000MAR1000MAR0011MAR1011MAR010CMAR110VMAR011ZMAR111SMAR02024/9/5174设:微指令的高位地址为设:微指令的高位地址为10110111011011 A A:0101,B B:1111 则后继微指令的微地址为:则后继微指令的微地址为: 1011011 1011011 1 1 S S 这是条件转移微指令这是条件转移微指令

154、 若若S S1 1,后继微地址为:,后继微地址为: 101101111101101111 若若S S0 0,后继微地址为:,后继微地址为: 101101110101101110采用断定方式可以实现快速多路转移,适合于功能转移的采用断定方式可以实现快速多路转移,适合于功能转移的需要。缺点是编制微程序时,地址安排比较复杂,微程序需要。缺点是编制微程序时,地址安排比较复杂,微程序执行顺序不直观。在实际机器中,往往增量方式与断定方执行顺序不直观。在实际机器中,往往增量方式与断定方式混合使用。式混合使用。2024/9/5175举例举例 1n已知某计算机采用微程序控制方式,其控制存储器的已知某计算机采用微

155、程序控制方式,其控制存储器的容量为容量为51232bit。微程序可以在整个控制存储器中。微程序可以在整个控制存储器中实现转移,可控制微程序转移的条件有实现转移,可控制微程序转移的条件有6个,采用直接个,采用直接控制和字段混合编码,后继微指令地址采用断定方式,控制和字段混合编码,后继微指令地址采用断定方式,格式如下:格式如下: 2024/9/5176请说明微指令中请说明微指令中3个字段分别应为多少位。个字段分别应为多少位。解:从本题的已知条件可以得出:解:从本题的已知条件可以得出: 下条指令的微地址应当为下条指令的微地址应当为9位(可访问位(可访问2 9个单元),个单元), 若每个判定条件占若每

156、个判定条件占1位,则测试条件字段共需位,则测试条件字段共需6位,位, 剩下的为操作控制字段可用的位数。(剩下的为操作控制字段可用的位数。(329 6=17位)位),所以所以3段的位数分配是:段的位数分配是: 下条指令微地址下条指令微地址9位,位, 转移测试条件转移测试条件6位,位, 微操作编码微操作编码17位。位。2024/9/5177举例举例2n如如下下图图为一一微微程程序序流流程程,每每一一方方框框为一一条条微微指指令令,用用字字母母AP分分别表表示示微微指指令令执行行的的微微操操作作,该微微程程序序流流程程的的两个分支分两个分支分别是:是: 指令的指令的OP最低两位(最低两位(I1I0)

157、控制)控制4路转移;路转移; 状态标志状态标志CZ的值决定后继微地址的形成。的值决定后继微地址的形成。 请设计该微程序的微指令的顺序控制字段,并为每条微请设计该微程序的微指令的顺序控制字段,并为每条微指令分配一个微地址。指令分配一个微地址。 2024/9/51782024/9/5179解:由图可知,该微程序存在的两个分支是:解:由图可知,该微程序存在的两个分支是:指令操作码的指令操作码的I1I0(2位):指出位):指出4条微指令(控制转移)条微指令(控制转移) 运算结果标志运算结果标志CZ的值决定的值决定2条微指令的执行次序。条微指令的执行次序。本微程序共有本微程序共有16条微指令,下地址需要

158、条微指令,下地址需要4位。位。就本微程序而言,测试条件可用就本微程序而言,测试条件可用2位表示,描述后继地址位表示,描述后继地址的形成方式。的形成方式。因此,本例的微指令格式由因此,本例的微指令格式由3部分内容组成,如下所示:部分内容组成,如下所示:2024/9/51802024/9/5181 地地址址的的分分配配关关键键在在于于分分支支微微指指令令的的安安排排,此此时时,下下地地址址字字段段的的值值具具有有一一定定的的约约束束条条件件,一一般般取取测测试试条条件件控控制制的的那几位为全那几位为全0,目的在于简化地址修改逻辑。,目的在于简化地址修改逻辑。 在在本本题题中中,微微指指令令C按按指

159、指令令OP(I1I0)实实现现4路路分分支支,控控制制在在末末2位位,这这样样,下下地地址址的的约约束束条条件件是是末末2位位全全为为0,地地址址为为0100,微微指指令令C的的后后继继4条条微微指指令令的的地地址址分分别别为为0100、0101、0110、0111,末末2位位实实现现了了按按I1I0转移;转移; 同理,按同理,按CZ转移的地址则为转移的地址则为10x0、10x1;2024/9/5182 余余下下的的微微指指令令地地址址无无约约束束条条件件,可可任任意意分分配配。一一般般可可根根据据微微程程序序流流程程从从小小地地址址到到大大地地址址(或或从从上上到到下下、从从左左到到右右)顺

160、顺序序,将将控控制制存存储储器器中中没没有有分分配配的的微微地地址址安安排排到到不不同的微指令中。同的微指令中。 下下表表是是本本例例微微程程序序的的微微指指令令的的地地址址分分配配结结果果,其其中中,粉粉色部分微指令下地址的形成受测试字段约束条件的控制。色部分微指令下地址的形成受测试字段约束条件的控制。2024/9/51832024/9/5184n在在微微地地址址形形成成电电路路形形成成微微地地址址时时,可可通通过过下下图图的的修修改改电电路生成受约束的微地址(高位地址指定)。路生成受约束的微地址(高位地址指定)。2024/9/51856.6.4 6.6.4 微指令的执行方式微指令的执行方式

161、 微微程序控制器是通过一条一条地执行微指令来实现指令程序控制器是通过一条一条地执行微指令来实现指令控制的。控制的。 执执行一条微指令的过程:行一条微指令的过程: 将微指令从控制存储器中取出,称为取微指令。将微指令从控制存储器中取出,称为取微指令。 执行微指令所规定的各个微操作,称为执行微指令。执行微指令所规定的各个微操作,称为执行微指令。 根根据取后继微指令和执行现行微指令之间的时间关系,据取后继微指令和执行现行微指令之间的时间关系,微指令有两种执行方式:串行执行和并行执行。微指令有两种执行方式:串行执行和并行执行。2024/9/51866.6.5 6.6.5 微程序设计方法微程序设计方法 n

162、微指令格式的设计是微程序设计的主要部分,它直接影微指令格式的设计是微程序设计的主要部分,它直接影响微程序控制器的结构和微程序的编制,也影响着机器响微程序控制器的结构和微程序的编制,也影响着机器的处理速度和控制存储器的容量。的处理速度和控制存储器的容量。n微指令格式的设计除了要实现计算机的整个指令系统之微指令格式的设计除了要实现计算机的整个指令系统之外,还要考虑具体的数据通路、控制存储器速度以及微外,还要考虑具体的数据通路、控制存储器速度以及微程序的编制等因素。程序的编制等因素。n不同机器有不同的微指令格式,但从其所具有的共性来不同机器有不同的微指令格式,但从其所具有的共性来看,通常可分为水平型

163、和垂直型两大类。看,通常可分为水平型和垂直型两大类。2024/9/51876.6.6 微程序控制器设计步骤微程序控制器设计步骤 1) 确定微指令格式和执行方式确定微指令格式和执行方式 根根据据机机器器的的微微命命令令、微微控控制制信信号号等等具具体体情情况况决决定定是是采采用用水水平平微微指指令令格格式式还还是是垂垂直直微微指指令令格格式式,微微指指令令是是串串行行方方式执行还是并行方式执行等。式执行还是并行方式执行等。 2) 定定义义微微命命令令集集、确确定定微微命命令令编编码码方方式式和和微微指指令令排排序序方方式式 根据机器指令的所有微控制信号拟定微命令集,确定微根据机器指令的所有微控制

164、信号拟定微命令集,确定微命令编码方式和字段的划分,选择微指令排序方法(增命令编码方式和字段的划分,选择微指令排序方法(增量式、断定式等)。量式、断定式等)。2024/9/5188 3) 编制微程序编制微程序 列列出出机机器器指指令令的的全全部部微微命命令令节节拍拍安安排排,按按已已定定的的微微指指令令格格式式编编制制微微程程序序,并并对对所所有有微微程程序序进进行行优优化化和和代代码码化。化。 4) 写入程序写入程序 将二进制表示的全部微程序写入控制存储器。将二进制表示的全部微程序写入控制存储器。2024/9/51896.6.7 6.6.7 模型机的微程序设计模型机的微程序设计1 1模型机的时

165、序系统模型机的时序系统n采用采用微微程序控制以后程序控制以后,指令的微操作序列不再由周期、,指令的微操作序列不再由周期、节拍等时序信号控制,而代之以统一规整的微周期。节拍等时序信号控制,而代之以统一规整的微周期。n模型机采用取微指令与执行微指令顺序串行执行的控制模型机采用取微指令与执行微指令顺序串行执行的控制方式,并采用三相时钟控制。方式,并采用三相时钟控制。 CPCP1 1:用于打入微地址并启动控制存储器读取微指令。:用于打入微地址并启动控制存储器读取微指令。 CPCP2 2:用于把读出的微指令打入到:用于把读出的微指令打入到IRIR中,经译码或直中,经译码或直接产生一组微命令,控制完成规定

166、的微操作。接产生一组微命令,控制完成规定的微操作。 CPCP3 3:用于把操作结果打入到相应的寄存器中。:用于把操作结果打入到相应的寄存器中。2024/9/5190模型机的微程序时序关系模型机的微程序时序关系2024/9/51912 2模型机的微指令格式模型机的微指令格式n模型机的微指令格式设计要根据模型机数据通路结构的模型机的微指令格式设计要根据模型机数据通路结构的需要和微操作的相容性与相斥性。相斥的操作可以编在需要和微操作的相容性与相斥性。相斥的操作可以编在微指令的一个字段中,相容的操作必须编在微指令的不微指令的一个字段中,相容的操作必须编在微指令的不同字段中。同字段中。 例如,模型机中例

167、如,模型机中R Ri iBUSBUS1 1均为相斥操作,可以编在一个均为相斥操作,可以编在一个字段;而字段;而CPRCPRi i与与CPMARCPMAR是相容的,必须安排在不同字段,是相容的,必须安排在不同字段,因此在模型机的微指令中给因此在模型机的微指令中给CPCP信号安排了两个字段信号安排了两个字段BUSBUS0101和和BUSBUS0202。2024/9/5192模型机的微指令格式模型机的微指令格式30300 0BUSinBUSinS S3 3S S2 2S S1 1S S0 0M MC C0 0S SBUSBUSO1O1BUSBUSO2O2R/WR/WMREQ/IOREQMREQ/IO

168、REQSCFSCF下地址下地址3 3位位5 5位位1 1位位2 2位位2 2位位3 3位位1 1位位2 2位位4 4位位8 8位位2024/9/5193微程序举例微程序举例 例例1. 某计算机采用微程序控制器设计,已知每某计算机采用微程序控制器设计,已知每条机器指令的执行过程均可分解成条机器指令的执行过程均可分解成8条微指令组条微指令组成的微程序,该机指令系统成的微程序,该机指令系统64条,采用定长操条,采用定长操作码格式,控制存储器至少应能容纳多少条微指作码格式,控制存储器至少应能容纳多少条微指令?如何确定机器指令操作码与该指令微程序的令?如何确定机器指令操作码与该指令微程序的起始地址的对应

169、关系,请给出具体方案。起始地址的对应关系,请给出具体方案。2024/9/5194 解:解:6位位 64种功能(种功能(64条指令)条指令) 有:有:64*8=512 条条 地址宽度:地址宽度:29 uMAR地址格式地址格式(起始地址起始地址) OP码(码(6位)位) X X X2024/9/5195 例例2. 某计算机的某计算机的CPU内部有:一个支持内部有:一个支持16种算术运算种算术运算和和16种逻辑运算的种逻辑运算的ALU,一个具有,一个具有8种操作的斜送电路,种操作的斜送电路,16个寄存器。若所有操作采用微程序设计,请给出该个寄存器。若所有操作采用微程序设计,请给出该机的微指令格式(不

170、考虑后继地址)。机的微指令格式(不考虑后继地址)。 解:解:ALU 功能:功能:32种种 5位,位, 8功能的功能的斜送电路斜送电路 3位,位, 16个寄存器个寄存器 每个每个寄存器有:接收、发送控制信号寄存器有:接收、发送控制信号 每个每个寄存器可以是源操作数,也可以寄存器可以是源操作数,也可以 是目的操作数。是目的操作数。 源和目的分时出现。源和目的分时出现。2024/9/5196因此微指令可以分成下列字段:因此微指令可以分成下列字段:ALU+斜送电路斜送电路+Rsin+Rsout+Rdin+Rdout即格式为:即格式为: 5位 3位 1位 1位 1位 1位2024/9/51976.6.8

171、 6.6.8 微程序设计技术的应用微程序设计技术的应用 微程序控制方式的优点。微程序控制方式的优点。 用规整的存储逻辑代替了复杂的、不规整的硬连逻用规整的存储逻辑代替了复杂的、不规整的硬连逻辑,简化了硬件结构,有利于设计自动化。辑,简化了硬件结构,有利于设计自动化。 适宜作系列机的控制器,可以用比较简单的硬件结适宜作系列机的控制器,可以用比较简单的硬件结构实现较复杂的指令系统。构实现较复杂的指令系统。 对组合逻辑控制器来说,随着指令系统功能的增加,其对组合逻辑控制器来说,随着指令系统功能的增加,其价格将迅速增加,控制逻辑也变得复杂。微程序控制的价格将迅速增加,控制逻辑也变得复杂。微程序控制的计

172、算机在同一系列内,功能的增加主要表现为微程序的计算机在同一系列内,功能的增加主要表现为微程序的增加,即控制存储器容量的增加,其他硬件增加不多,增加,即控制存储器容量的增加,其他硬件增加不多,所以性能所以性能/ /价格比相对较高。价格比相对较高。2024/9/5198 易于修改和扩充,灵活性、通用性强。在数据通路结易于修改和扩充,灵活性、通用性强。在数据通路结构不变的前提下,可以通过修改微程序,修改指令功能构不变的前提下,可以通过修改微程序,修改指令功能或增加新的指令。或增加新的指令。 可靠性高,易于诊断与维护。这是因为微程序控制结可靠性高,易于诊断与维护。这是因为微程序控制结构简单、规整,易于

173、采用诊断技术。构简单、规整,易于采用诊断技术。n相对于组合逻辑控制方式,微程序控制方式的主要缺相对于组合逻辑控制方式,微程序控制方式的主要缺点点是:是: 速度慢,因为增加了从控制存储器中读取微指令的时速度慢,因为增加了从控制存储器中读取微指令的时间。间。 由于一条微指令的操作比一条机器指令所能定义的操由于一条微指令的操作比一条机器指令所能定义的操作简单,因而可能会降低并行操作能力,影响执行效率。作简单,因而可能会降低并行操作能力,影响执行效率。2024/9/5199*6.7 流水线处理技术流水线处理技术 n指令的执行方式指令的执行方式 根据各条指令之间的衔接关系,指令的执行可分为顺序、根据各条指令之间的衔接关系,指令的执行可分为顺序、重叠、流水三种方式重叠、流水三种方式 2024/9/5200数据数据间隔可变间隔可变发送准发送准备好备好数据已数据已接受接受n这种方式可根据每条指令的操作的实际需要而分配时间,这种方式可根据每条指令的操作的实际需要而分配时间,所以没有时间上的浪费,效率高。但设计复杂且费设备。所以没有时间上的浪费,效率高。但设计复杂且费设备。2024/9/5201

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号