第5章 中央处理器_第1页
第5章 中央处理器_第2页
第5章 中央处理器_第3页
第5章 中央处理器_第4页
第5章 中央处理器_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5 5章章 中央处理器中央处理器本章内容:本章内容:vCPUCPU的组成和功能的组成和功能v指令周期指令周期v时序产生器和控制方式时序产生器和控制方式v微程序控制器微程序控制器v微程序设计技术微程序设计技术v硬布线控制器硬布线控制器v传统和现代传统和现代CPUCPU介绍介绍5.1 CPU的功能和组成的功能和组成vCPUCPU的功能的功能 程序是存放在内存储器中能够解决某个问题的一组指令序程序是存放在内存储器中能够解决某个问题的一组指令序列,计算机中能够完成列,计算机中能够完成自动自动取出指令取出指令并并执行指令执行指令的部件称为的部件称为中中央处理器央处理器,简称,简称CPUCPU。CPU

2、CPU有如下基本功能:有如下基本功能: 指令控制:保证机器按顺序执行程序指令控制:保证机器按顺序执行程序 操作控制:操作控制:把指令的各种操作信号送往相应的部件,从而把指令的各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。控制这些部件按指令的要求进行动作。 时间控制:保证指令的各种操作信号按照严格的时序关系时间控制:保证指令的各种操作信号按照严格的时序关系送往相应的部件,送往相应的部件, 使计算机有条不紊的按序工作。使计算机有条不紊的按序工作。 数据加工:数据加工:数据加工就是对数据进行算术运算和逻辑运算数据加工就是对数据进行算术运算和逻辑运算处理,这是处理,这是CPUCPU

3、的基本功能。的基本功能。 vCPUCPU的基本组成的基本组成传统传统CPUCPU基本组成:运算器、控制器。基本组成:运算器、控制器。( (在诺曼机的定义中在诺曼机的定义中) ) 现代现代CPUCPU基本组成:运算器、控制器、浮点运算器和基本组成:运算器、控制器、浮点运算器和CacheCache。 控制器的组成:程序计数器、指令寄存器、指令译码器、控制器的组成:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器。时序产生器和操作控制器。 控制器的主要功能:控制器的主要功能: 1)1)从内存中取出指令,并指出下一条指令在内存中的位置。从内存中取出指令,并指出下一条指令在内存中的位置。 2)

4、2)对指令进行译码并产生相应的控制信号启动规定的动作。对指令进行译码并产生相应的控制信号启动规定的动作。 3)3)控制控制CPUCPU与内存或与内存或CPUCPU与输入与输入/ /输出设备之间数据传递。输出设备之间数据传递。 运算器的组成:算术逻辑单元运算器的组成:算术逻辑单元(ALU)(ALU)、通用寄存器、数据缓、通用寄存器、数据缓冲寄存器和状态寄存器。冲寄存器和状态寄存器。 运算器的主要功能:运算器的主要功能:1)1)执行所有的算术运算。执行所有的算术运算。2)2)执行所有的逻辑运算。执行所有的逻辑运算。vCPUCPU内部的主要寄存器内部的主要寄存器程序计数器程序计数器PCPC用来确定下

5、一条待执行的用来确定下一条待执行的指令在指令存储器中的地址,顺序寻址指令在指令存储器中的地址,顺序寻址PC+1-PCPC+1-PC;跳跃寻址将指令中的地址码;跳跃寻址将指令中的地址码装入。装入。数据缓冲寄存器用来暂存数据缓冲寄存器用来暂存ALU的运算结的运算结果或者由内存读出或者向内存写入的数果或者由内存读出或者向内存写入的数据或者指令据或者指令状态寄存器用来保存上次算术或逻辑结状态寄存器用来保存上次算术或逻辑结果的某些特性,例如运算结果是否有进果的某些特性,例如运算结果是否有进位、运算结果是否溢出等。位、运算结果是否溢出等。指令译码器对指令的操作码进行测试,指令译码器对指令的操作码进行测试,

6、向操作控制器发送具体操作的信号。向操作控制器发送具体操作的信号。通用寄存器组,暂存参加运算的操作数通用寄存器组,暂存参加运算的操作数或运算结果,为或运算结果,为ALUALU提供工作区。目前提供工作区。目前的的CPUCPU中有中有1616个、个、3232个或者更多的累加个或者更多的累加寄存器构成通用寄存器组。寄存器构成通用寄存器组。控制器控制器运算器运算器数据地址寄存器用来保存数据地址寄存器用来保存CPU所访问的所访问的数据存储器单元的地址,在数据存储器单元的地址,在CPU读写数读写数据存储器的期间驱动数据地址总线上的据存储器的期间驱动数据地址总线上的地址信息。地址信息。Cache指令寄存器保存

7、当前执行的指令,是指指令寄存器保存当前执行的指令,是指令译码器的输入。令译码器的输入。CPU取指时通过指令取指时通过指令总线将指令送指令寄存器。总线将指令送指令寄存器。v操作控制器与时序产生器操作控制器与时序产生器 在在CPU中有很多寄存器,信息从什么地方开始,中间经过中有很多寄存器,信息从什么地方开始,中间经过哪个寄存器,最后传送到哪个寄存器,都要加以控制。在各寄哪个寄存器,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,这是由称为存器之间建立数据通路的任务,这是由称为操作控制器操作控制器的部件的部件来完成的。来完成的。操作控制器的功能:根据指令操作码和时序信号,产生各

8、种操操作控制器的功能:根据指令操作码和时序信号,产生各种操作控制号,以便正确地建立数据通路,从而完成取指令和执行作控制号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。指令的控制。 根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:1)1)采用时序逻辑技术实现的采用时序逻辑技术实现的硬布线控制器硬布线控制器 2)2)采用存储逻辑实现的采用存储逻辑实现的微程序控制器微程序控制器3)3)前两种方式的组合的控制器前两种方式的组合的控制器操作控制器对各部件产生的控制信号必须严格遵守时序关操作控制器对各部件产生的控制信号必须严格遵守时序关系,这是由系,这是由时序产生器时序

9、产生器的部件完成的。的部件完成的。时序产生器的功能:对各种操作实施时间上的限制。时序产生器的功能:对各种操作实施时间上的限制。5.2 指令周期指令周期 CPU从内存取出一条指令并执行该指令;紧接着又是取指从内存取出一条指令并执行该指令;紧接着又是取指令,执行指令令,执行指令,如此周而复始构成了一个封闭的循环。除,如此周而复始构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去,所以计算机非遇到停机指令,否则这个循环将一直继续下去,所以计算机能够自动的工作下去。能够自动的工作下去。开始开始取指令取指令执行指令执行指令 指令和数据都以二进制的指令和数据都以二进制的形式存放在内存形式存

10、放在内存中,中,CPU能够能够准确的判断哪些是指令,哪些准确的判断哪些是指令,哪些是数据并送往相应的寄存器并是数据并送往相应的寄存器并进行相应的操作,这是计算机进行相应的操作,这是计算机自动工作的前提。本节讨论一自动工作的前提。本节讨论一些典型指令的工作周期,加深些典型指令的工作周期,加深对对CPUCPU工作过程的理解。工作过程的理解。v指令周期的概念指令周期的概念时钟周期:时钟周期:时钟周期是时钟周期是CPUCPU的基本时间计量单位,的基本时间计量单位,它是它是CPUCPU一一切操作的计时标准和基本控制信号切操作的计时标准和基本控制信号,它由计算机的主频决定。,它由计算机的主频决定。 808

11、68086的主频为的主频为5MHZ5MHZ,则一个时钟周期为,则一个时钟周期为200ns200ns 80486 80486主频为主频为100MHZ100MHZ,则一个时钟周期为,则一个时钟周期为10ns10ns机器周期机器周期(CPU(CPU周期周期) ):CPUCPU通过总线从内存读取一个机器字通过总线从内存读取一个机器字的时间称为一个的时间称为一个CPUCPU周期,一般需要周期,一般需要4 4个时钟周期,分别称为个时钟周期,分别称为T1T1、T2T2、T3T3、T4T4状态。状态。机器周期机器周期 T1T2T3T4CLK时钟周期时钟周期CLK该机器周期读取的一个机器字可以是指令也可以该机器

12、周期读取的一个机器字可以是指令也可以是数据。如果是指令,该机器周期称是数据。如果是指令,该机器周期称取指周期取指周期指令周期:指令周期:执行一条指令需要经过读取指令,指令译码及指执行一条指令需要经过读取指令,指令译码及指令执行的过程,把执行一条指令所需要的时间称为指令周期。令执行的过程,把执行一条指令所需要的时间称为指令周期。 不同指令的指令周期是不等长的,最短时间为两个机器周不同指令的指令周期是不等长的,最短时间为两个机器周期,一个机器周期取指令,一个机器周期执行指令;有的复杂期,一个机器周期取指令,一个机器周期执行指令;有的复杂的指令需要更多机器周期。的指令需要更多机器周期。CLK机器周期

13、机器周期 机器周期机器周期 机器周期机器周期 (取指令)(取指令) (取有效地址)(取有效地址) (执行指令)(执行指令) 指令周期指令周期T1T2T3T4T1T2T3T4T1T2T3T4非访存非访存指令指令T1T2T3T4T1T2T3T4机器周期机器周期(取指令)(取指令)指令周期指令周期机器周期机器周期 (执行指令)(执行指令) 访存访存指令指令 下面给出下面给出6条指令组成的一个程序,通过每一条指令的取指条指令组成的一个程序,通过每一条指令的取指阶段和执行阶段的分解动作,了解指令的指令周期和阶段和执行阶段的分解动作,了解指令的指令周期和CPU执行执行程序的过程。程序的过程。 内存地址内存

14、地址 助记符助记符 说明说明 101 101 MOV R0,R1 MOV R0,R1 传送指令:非访存指令传送指令:非访存指令 102102 LAD R1,6 LAD R1,6 取数指令:取数指令:访存指令访存指令 103 103 ADD R1,R2 ADD R1,R2 加法指令:非访存指令加法指令:非访存指令 104104 STO R2,(R3) STO R2,(R3) 存数指令:访存指令存数指令:访存指令 105 105 JMP 101 JMP 101 跳转指令:程序控制指令跳转指令:程序控制指令 106 106 AND R1,R3 AND R1,R3 与与指令:指令: 非访存指令非访存指

15、令指令存储器指令存储器数据存储器数据存储器 内存地址内存地址 数据数据 说明说明 5 5 * * * * 6 6 100 100 LADLAD指令的操作数指令的操作数 7 7 * * * * 8 8 * * * * 30 30 40 40 STOSTO指令的操作数指令的操作数vMOVMOV指令的指令周期指令的指令周期 MOVMOV是一条典型的是一条典型的RRRR指令,属于非访存指令,它需要两个指令,属于非访存指令,它需要两个机器周期,其中取指令阶段需要一个机器周期,执行指令阶段机器周期,其中取指令阶段需要一个机器周期,执行指令阶段需要一个机器周期。需要一个机器周期。第一个机器周期第一个机器周期

16、( (取指令取指令) ): - -从指存取出指令从指存取出指令 - -程序计数器程序计数器PCPC加加1 1 - -对操作码译码并测试对操作码译码并测试第二个机器周期第二个机器周期( (执行指令执行指令) ): 操作控制器按照指令的要操作控制器按照指令的要求发出控制信号,完成指令要求发出控制信号,完成指令要求的操作求的操作, ,在在R0R0和和R1R1之间传递之间传递数据。数据。MOVMOV指令取值周期指令取值周期102102+1+100101011012030MOV R0,R1MOV R0,R110040MOVMOV指令执行周期指令执行周期10210200102030MOV R0,R1MOV

17、 R0,R1101010040vLADLAD指令的指令周期指令的指令周期 LADLAD是一条是一条RSRS型访存指令,它需要三个机器周期,其中取型访存指令,它需要三个机器周期,其中取指令阶段需要一个机器周期,过程与指令阶段需要一个机器周期,过程与MOVMOV指令完全相同,执行指令完全相同,执行指令阶段需要两个机器周期。指令阶段需要两个机器周期。第一个机器周期第一个机器周期( (取指令取指令) ): - -从指存取出指令从指存取出指令 - -程序计数器程序计数器PCPC加加1 1 - -对操作码译码并测试对操作码译码并测试第二个机器周期第二个机器周期( (执行指令执行指令) ): 将指令中的地址

18、码将指令中的地址码6 6送数据送数据地址寄存器驱动数存。地址寄存器驱动数存。第三个机器周期第三个机器周期( (执行指令执行指令) ): 从数存从数存6 6单元取数并送寄存单元取数并送寄存器器R1R1。LADLAD指令取值周期指令取值周期103103+1+110101021022030LAD R1,6LAD R1,610040LADLAD指令执行周期指令执行周期10310310102030LAD R1,6LAD R1,6610040100100vADDADD指令的指令周期指令的指令周期 ADDADD是一条是一条RRRR型非访存指令,它需要两个机器周期,其中型非访存指令,它需要两个机器周期,其中取

19、指令阶段需要一个机器周期,过程与取指令阶段需要一个机器周期,过程与MOVMOV指令完全相同,执指令完全相同,执行指令阶段需要一个机器周期。行指令阶段需要一个机器周期。第一个机器周期第一个机器周期( (取指令取指令) ): - -将将PCPC寄存器中的寄存器中的103103送指令地址总线送指令地址总线, ,启动读命令启动读命令 - -所选指存所选指存103103单元的单元的ADDADD指令经指令总线送入指令寄存器指令经指令总线送入指令寄存器IRIR - -程序计数器程序计数器PCPC加加1 1,变为,变为104104,为下一条指令做好准备,为下一条指令做好准备 - -指令寄存器的操作码指令寄存器

20、的操作码(OP)(OP)送指令译码器被译码测试送指令译码器被译码测试第二个机器周期第二个机器周期( (执行指令执行指令) ): - -选中选中R1R1和和R2R2通用寄存器,通用寄存器,R1R1为源寄存器,为源寄存器,R2R2为目标寄存器为目标寄存器 -ALU-ALU做做R1R1和和R2R2的加法运算的加法运算 -ALU-ALU送结果送结果120120到数据总线到数据总线 - -将数据总线的数据打入缓冲寄存器将数据总线的数据打入缓冲寄存器DRDR,运算结果特征位保存在状态寄存,运算结果特征位保存在状态寄存器器PSWPSW中中 - -将缓冲寄存器将缓冲寄存器DRDR中的数据打入中的数据打入R2R

21、2,R2R2的内容变为的内容变为120120ADDADD指令执行周期指令执行周期1041041002030ADD R1,R2ADD R1,R21201010040120vSTOSTO指令的指令周期指令的指令周期 ST0ST0是一条是一条RSRS型访存指令,它需要三个机器周期,其中取指型访存指令,它需要三个机器周期,其中取指令阶段需要一个机器周期,整个过程与令阶段需要一个机器周期,整个过程与MOVMOV指令完全相同,执行指令完全相同,执行指令阶段需要两个机器周期。指令阶段需要两个机器周期。第一个机器周期第一个机器周期( (取指令取指令) ): - -从指存取出指令从指存取出指令 - -程序计数器

22、程序计数器PCPC加加1 1 - -对操作码译码并测试对操作码译码并测试第二个机器周期第二个机器周期( (执行指令执行指令) ): 将通用寄存器将通用寄存器R3R3中的地址码中的地址码3030送数据地址寄存器驱动数存。送数据地址寄存器驱动数存。第三个机器周期第三个机器周期( (执行指令执行指令) ): 从寄存器从寄存器R2R2中的数据中的数据120120送数送数据总线写入数存据总线写入数存3030单元。单元。STOSTO指令执行周期指令执行周期10510510030STO R2,(R3)STO R2,(R3)101004030120120vJMPJMP指令的指令周期指令的指令周期 JMPJMP

23、是一条程序控制指令,需要两个机器周期,其中取指令是一条程序控制指令,需要两个机器周期,其中取指令阶段需要一个机器周期,执行指令阶段需要一个机器周期。阶段需要一个机器周期,执行指令阶段需要一个机器周期。第一个机器周期第一个机器周期( (取指令取指令) ): - -从指存取出指令从指存取出指令 - -程序计数器程序计数器PCPC加加1 1 - -对操作码译码并测试对操作码译码并测试第二个机器周期第二个机器周期( (执行指令执行指令) ): 将将JMPJMP指令的地址码指令的地址码101101送送程序计数器程序计数器PCPC。JMPJMP指令执行周期指令执行周期10610610030JMP 101J

24、MP 10110100120120101101v用方框图语言表示指令周期用方框图语言表示指令周期 方框代表一个方框代表一个CPUCPU周期,方框中的内容表示数据通路的操作周期,方框中的内容表示数据通路的操作或某种控制操作。或某种控制操作。 菱形表示某种判别或测试,不过时间上它依附于紧接它的菱形表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的前面一个方框的CPUCPU周期,而不单独占用一个周期,而不单独占用一个CPUCPU周期。周期。 符号是公操作符号,表示一条指令已经执行完毕而转入符号是公操作符号,表示一条指令已经执行完毕而转入公操作公操作(CPU(CPU每执行完一条指令,都要测试

25、外部设备有无中断请每执行完一条指令,都要测试外部设备有无中断请求,求,DMADMA控制器有无控制器有无DMADMA请求,这些操作称为公操作请求,这些操作称为公操作) )。如果没。如果没有公操作,有公操作,CPUCPU转入下一条指令的执行。转入下一条指令的执行。 DBUSDBUS表示数据总线表示数据总线 IBUSIBUS表示指令总线表示指令总线 ABUS(D)ABUS(D)表示数据地址总线表示数据地址总线 ABUS(I)ABUS(I)表示指令地址总线表示指令地址总线 RD(I)RD(I)表示读指存表示读指存, RD(D), RD(D)表示读数存表示读数存, , WE(D)WE(D)表示写数存表示

26、写数存取指周期取指周期MOVMOVLADLADADDADDSTOSTOJMPJMPR1-ALUR1-ALUALU-DRALU-DRDR-R0DR-R0IR-PCIR-PC IR-AR IR-ARAR-ABUS(D)AR-ABUS(D)M-DRM-DRDR-R1DR-R1RD(D)RD(D)R1-ALUR1-ALUR2-ALUR2-ALUALU-DRALU-DRDR-R2DR-R2执执行行周周期期WE(D)WE(D)R3-ARR3-ARR2-MR2-MPC-ABUS(I)PC-ABUS(I)M-IBUS-IRM-IBUS-IRPC+1-PCPC+1-PC译码测试译码测试RD(I)RD(I)例:某

27、计算机有如下部件:例:某计算机有如下部件:ALUALU,主存,主存M M,数据寄存器,数据寄存器DRDR,地址寄存器,地址寄存器ARAR,程序计数器程序计数器PCPC,指令寄存器,指令寄存器IRIR,通用寄存器,通用寄存器R0R3 R0R3 ,暂存器,暂存器C C和和D D。1 1)请将各逻辑部件组成一个计算机的数据通路,并标明数据流向。)请将各逻辑部件组成一个计算机的数据通路,并标明数据流向。2 2)画出)画出“ADD R1ADD R1,(R2)”(R2)”指令的指令周期流程图,指令功能是将指令的指令周期流程图,指令功能是将R1R1中的数中的数据和据和R2R2所指内存单元的数据相加结果送所指

28、内存单元的数据相加结果送R1(R1(假设该指令地址已在假设该指令地址已在PCPC中中) )。移位器移位器D DC CPCPCIRIR R R3 3 R R2 2 R R1 1 R R0 0ARARM MDRDRALU ALU +1+1移位器移位器D DC CPCPCIRIR R R3 3 R R2 2 R R1 1 R R0 0ARARM MDRDRALU ALU +1+1ADD R1ADD R1,R2R2指令的指令周指令的指令周期流程图如下所示,该指令期流程图如下所示,该指令功能是将功能是将R1R1中的数据和中的数据和R2R2所所指内存单元的数据相加结果指内存单元的数据相加结果送送R1R1。

29、MDRIRMDRIR(R R1 1)C C(R R2 2)ARARMDRD MDRD (C C)+ +(D D)R R1 1 译码译码(PCPC) ARAR,(,(PCPC)+ 1+ 1送当前指令地址到送当前指令地址到ARAR,PC+1PC+1取当前指令到取当前指令到IRIR,指令译码,指令译码取取R1R1操作数操作数C C暂存器暂存器R2R2中的内容是内存地址中的内容是内存地址从内存取出数从内存取出数D D暂存器暂存器暂存器暂存器C C和和D D中的数相加后送中的数相加后送R1R1例:某例:某3232位位CPUCPU其内部结构如下图所示,其中一个累加寄存器其内部结构如下图所示,其中一个累加寄

30、存器ACAC,一个状态,一个状态条件寄存器和其它四个寄存器,各部分之间的连线表示数据通路,箭头表条件寄存器和其它四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。标出示信息传送方向。标出A AD D四个寄存器的名称。写出四个寄存器的名称。写出CPUCPU从内存中读取指令从内存中读取指令的全过程。的全过程。CPUCPU主存储器主存储器M MA AC CACACB BD DALUALU状态寄存器状态寄存器指令译码器指令译码器+1+15.3 时序产生器时序产生器v时序信号的理解时序信号的理解 CPUCPU从内存取出的指令送指令寄存器,取出的数据送累计从内存取出的指令送指令寄存器,取出的

31、数据送累计器器ACAC或运算器或运算器ALUALU,但指令和数据都是以二进制形式存放在存,但指令和数据都是以二进制形式存放在存储器中,储器中,CPUCPU如何知道取得的是指令还是数据?如何知道取得的是指令还是数据? CPUCPU识别指令和数据的方法:从时间上来说,取指令事件识别指令和数据的方法:从时间上来说,取指令事件发生在指令周期的第一个发生在指令周期的第一个CPUCPU周期中,即发生在周期中,即发生在“取指令取指令”阶阶段,而取数据事件发生在指令周期的后面几个段,而取数据事件发生在指令周期的后面几个CPUCPU周期中,即周期中,即发生在发生在“执行指令执行指令”阶段。阶段。 不仅如此,不仅

32、如此,CPUCPU还将一个机器周期分为分为若干个更小的还将一个机器周期分为分为若干个更小的时间段时间段(1(1个机器周期一般等于个机器周期一般等于4 4个时钟周期个时钟周期) ),同时规定在,同时规定在1 1个个时间段内时间段内CPUCPU的动作。这种时间的约束对的动作。这种时间的约束对CPU来说是必要的而来说是必要的而且非常严格,这种时间约束就是时序控制,是由时序产生器的且非常严格,这种时间约束就是时序控制,是由时序产生器的时序信号来控制的。时序信号来控制的。CLKT1T2T3T4时钟周期时钟周期机器周期机器周期机器周期机器周期T1T2T3T4T1T2T3T4时序产生器如何生成规律的时序产生

33、器如何生成规律的T1,T2,T3,T4T1,T2,T3,T4信号和其他信号序列呢?信号和其他信号序列呢?v时序产生器的构成时序产生器的构成 时序信号产生器由:时钟源、环形脉冲发生器、节拍脉冲时序信号产生器由:时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。和读写时序译码逻辑、启停控制逻辑等部分组成。 环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑RDRDWEWE启停控制逻辑启停控制逻辑RDRD0 0WEWE0 0T1T10 0T3T30 0T2T20 0T4T40 0启动启动停止停止RDRDWEWET1T1T3T

34、3T2T2T4T4C1C1C2C2C3C3C4C4时钟周期时钟周期CLKCLK时钟源时钟源 时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。正反馈振荡电路组成,其输出送至环形脉冲发生器。 设时钟源的频率为设时钟源的频率为5MHZ5MHZ,则时钟源的脉冲周期为,则时钟源的脉冲周期为1/5M1/5M200ns200ns时钟周期是时钟周期是CPUCPU的基本时间计量单位的基本时间计量单位环形脉冲发

35、生器环形脉冲发生器 环形脉冲发生器的作用是产生一组有序的间隔相等或不等环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,通过译码电路来产生最后所需的节拍脉冲。为了的脉冲序列,通过译码电路来产生最后所需的节拍脉冲。为了在节拍脉冲上不带干扰毛刺,环形脉冲发生器通常采用循环移在节拍脉冲上不带干扰毛刺,环形脉冲发生器通常采用循环移位寄存器形式。位寄存器形式。 CLKCLK0123457689C C4 4C C1 1C C2 2C C3 3时钟周期在环形脉冲发生器的作用下,时钟周期在环形脉冲发生器的作用下,4 4个个D D型触发器的输出分别如下:型触发器的输出分别如下:节拍脉冲译码节拍脉冲译

36、码 为了在一个机器周期内产生为了在一个机器周期内产生4 4个等间隔的节拍脉冲,我们给个等间隔的节拍脉冲,我们给出译码逻辑如下:出译码逻辑如下:T1T10 0C1C2C1C2T2T20 0C2C3C2C3T3T30 0C3C3T4T40 0C1C1C C4 4C C1 1C C2 2C C3 3T1T10 0C1C2C1C2T1T10 0T2T20 0C2C3C2C3T2T20 0CLKCLK0123457689C C4 4C C1 1C C2 2C C3 3T3T30 0C3C3T3T30 0T4T40 0C1C1T4T40 0CLKCLK0123457689 在译码电路的作用下,一个机器周期

37、内产生在译码电路的作用下,一个机器周期内产生4个等间隔的个等间隔的节拍脉冲。节拍脉冲。T1T10 0T2T20 0T3T30 0T4T40 0机器周期机器周期CLKCLK0123457689注意:注意:T1T10 0、T2T20 0 、T3T30 0 、T4T40 0信号在机器加电后,即时钟脉冲信号在机器加电后,即时钟脉冲源接通电源后便按照顺序周而复始的产生机器需要的原始的源接通电源后便按照顺序周而复始的产生机器需要的原始的机器周期序列。机器周期序列。 其中其中RDRD0 0,WEWE0 0是经过译码逻辑产生的对存储器进行读是经过译码逻辑产生的对存储器进行读/ /写操写操作的时序信号。作的时序

38、信号。RDRD和和WEWE是来自控制器的控制信号,他们的是来自控制器的控制信号,他们的持续时间都是一个机器周期。持续时间都是一个机器周期。RDRDCLKCLK0123457689C C2 2C C3 3WEWE读写信号译码读写信号译码 存储器的读存储器的读/ /写信号必须符合时序的要求,下面给出读写写信号必须符合时序的要求,下面给出读写信号的译码逻辑:信号的译码逻辑: RDRD0 0=(C2C3)RD=(C2C3)RD WEWE0 0=(C2C3)WE=(C2C3)WERDRD 0 0WEWE0 0启停控制逻辑启停控制逻辑 由于由于T1T10 0T4T40 0信号在机器加电后便按照顺序周而复始

39、的产生,然而只有信号在机器加电后便按照顺序周而复始的产生,然而只有在启动机器运行的时候才需要在启动机器运行的时候才需要CPUCPU工作的机器周期信号。利用工作的机器周期信号。利用启停电路控制启停电路控制T1T10 0T4T40 0的发送,经过启停电路的的发送,经过启停电路的T1T10 0T4T40 0我们记做我们记做T1T1、T2T2、T3T3、T4T4。这是。这是CPUCPU工作时需要的机器周期的工作时需要的机器周期的4 4个个T T状态。状态。 读写信号一般为低电平有效,所以读写信号一般为低电平有效,所以启停控制逻辑还要启停控制逻辑还要将将RDRD0 0和和WEWE0 0转化转化为为RDR

40、D和和WE.WE.这才是读写存储器的信号。这才是读写存储器的信号。T1T1T2T2T3T3T4T4CLKCLK0123457689RDRDWEWEv控制方式控制方式 机器指令的指令周期是由数目不等的机器周期组成,一条机器指令的指令周期是由数目不等的机器周期组成,一条指令使用的机器周期的多少反映了指令动作的复杂程度;指令使用的机器周期的多少反映了指令动作的复杂程度; 对一个机器周期而言,由数目不等的操作控制信号组成,对一个机器周期而言,由数目不等的操作控制信号组成,操作控制信号所需的时间也不相同。操作控制信号所需的时间也不相同。 不同操作控制信号的时序控制方法称为控制器的控制方式不同操作控制信号

41、的时序控制方法称为控制器的控制方式同步控制方式同步控制方式 指令执行的机器周期数固定不变,称为同步控制方式。同指令执行的机器周期数固定不变,称为同步控制方式。同步控制方式有下面三种选择方案:步控制方式有下面三种选择方案:1)1)采用完全统一的机器周期执行各种不同的指令。以控制信号采用完全统一的机器周期执行各种不同的指令。以控制信号最复杂繁琐的指令的机器周期作为标准,意味着对简单的操作最复杂繁琐的指令的机器周期作为标准,意味着对简单的操作和指令有时间的浪费。和指令有时间的浪费。2)2)采用不定长机器周期。对简单指令用较短的机器周期完成。采用不定长机器周期。对简单指令用较短的机器周期完成。对较复杂

42、的指令利用较长的机器周期完成。对较复杂的指令利用较长的机器周期完成。 机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)指令周期指令周期T1T2T3T4T1T2T3机器周期机器周期机器周期机器周期(取指令)(取指令)(执行指令)(执行指令)T1T2T3T4T1T2T3T4TT延长延长3)3) 采用中央控制和局部控制的方式。大部分指令安排在固定的采用中央控制和局部控制的方式。大部分指令安排在固定的机器周期内完成。对复杂的指令利用较长的机器周期。机器周期内完成。对复杂的指令利用较长的机器周期。 异步控制方式异步控制方式 没有严格的时钟周期和机器周期,没有严格的时钟周期和机

43、器周期,每条指令、每个操作控每条指令、每个操作控制信号需要多少时间就占用多少时间,当控制器发出某一操作制信号需要多少时间就占用多少时间,当控制器发出某一操作控制信号后,等待执行部件完成操作后发控制信号后,等待执行部件完成操作后发“回答回答”信号,再开信号,再开始新的操作。始新的操作。联合控制方式联合控制方式 该方式为同步控制和异步控制相结合的方式。该方式为同步控制和异步控制相结合的方式。1)1)大部分指令安排在固定的机器周期中,对某些时间难以确定大部分指令安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的的操作则以执行部件的“回答回答”信号作为本次操作的结束;信号作为本次操作的结束

44、;2)2)机器周期的节拍脉冲数固定,但是各条指令周期的机器周期机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。目前广泛采用,一个机器周期有数不固定。目前广泛采用,一个机器周期有4 4个节拍脉冲,即个节拍脉冲,即4 4个个T T状态,指令周期可能是状态,指令周期可能是2 2、3 3或者或者4 4个机器周期。个机器周期。5.4 微程序控制器微程序控制器根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:1)1)采用时序逻辑技术实现的采用时序逻辑技术实现的硬布线控制器硬布线控制器( (组合逻辑控制器组合逻辑控制器) ) 2)2)采用存储逻辑实现的采用存储逻辑实现的微

45、程序控制器微程序控制器优点:优点:微程序控制器同硬布线控制器相比较具有规整性、灵活微程序控制器同硬布线控制器相比较具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的硬布线控制器,并已被广泛地应用。早期采用的硬布线控制器,并已被广泛地应用。基本思想:基本思想:微程序设计技术是利用软件方法来设计硬件的一门微程序设计技术是利用软件方法来设计硬件的一门技术。即仿照通常的解题程序的方法,把操作控制信号编成所技术。即仿照通常的解题程序的方法,把操作控制信号编成所谓的谓的“微指令微指令”,存放到一个只读存储器里。当机器运行时

46、一,存放到一个只读存储器里。当机器运行时一条又条又条地读出这些条地读出这些“微指令微指令”,从而产生全机所需要的各种,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。操作控制信号,使相应部件执行所规定的操作。v微命令和微操作微命令和微操作 一台计算机分为两个部分,控制部件和执行部件,控制器一台计算机分为两个部分,控制部件和执行部件,控制器就是控制部件,而运算器,存储器,外围设备对控制器来说就就是控制部件,而运算器,存储器,外围设备对控制器来说就是执行部件。是执行部件。 控制部件和执行部件的联系:控制部件和执行部件的联系:1)1)控制部件通过控制总线向执行部件发送的各种控制信号

47、称为控制部件通过控制总线向执行部件发送的各种控制信号称为微命令微命令,执行部件接受信号后所进行的操作称为,执行部件接受信号后所进行的操作称为微操作。微操作。2)2)执行部件通过反馈线向控制部件反映操作的情况,使控制部执行部件通过反馈线向控制部件反映操作的情况,使控制部件根据执行部件的件根据执行部件的“状态状态”下达新的微命令。下达新的微命令。 由于数据通路的结构关系,微操作可以分为两类:由于数据通路的结构关系,微操作可以分为两类:1)1)相容性微操作,指在同时或同一个相容性微操作,指在同时或同一个CPUCPU周期内可以并行执行周期内可以并行执行的微操作。的微操作。 2)2)相斥性微操作,指不能

48、在同时或不能在同一个相斥性微操作,指不能在同时或不能在同一个CPUCPU周期内并周期内并行执行的微操作。行执行的微操作。 相相斥斥操操作作相容操作相容操作相相斥斥操操作作相相斥斥操操作作v微指令微指令 在机器的一个在机器的一个CPUCPU周期中,一组实现一定操作功能的微命令的组合,构周期中,一组实现一定操作功能的微命令的组合,构成一条成一条微指令微指令。微指令字长微指令字长2323位位11微指令中如果操作控制字段的某一位的信息为微指令中如果操作控制字段的某一位的信息为“1 1”时,表示发出微命令,为时,表示发出微命令,为“0 0”时,表示时,表示不发出微命令。不发出微命令。某条微指令的二进制编

49、码是:某条微指令的二进制编码是: 100 110 000 100 00000 100 110 000 100 00000 * * * * * * * *完成的四个微操作是:完成的四个微操作是: R1-X R3-Y + LDR1R1-X R3-Y + LDR1运算器完成了运算器完成了R1+R3-R1R1+R3-R1的操作。的操作。 非访存指令非访存指令ADD R1ADD R1,R3R3的执行周期:的执行周期:PC-AR-ABUSPC-AR-ABUSDBUS-DR-IRDBUS-DR-IRPC+1-PCPC+1-PC开始开始译码测试译码测试R1-ALUR1-ALUR3-ALUR3-ALUALU-R

50、1ALU-R1ADDADD 为了在第二个机器周期执行该指令,为了在第二个机器周期执行该指令,微指令给出微指令给出R1-XR1-X的选通信号的选通信号44,R3-YR3-Y的选通信号的选通信号55,ALUALU的加信号的加信号+和和R1R1的选通信号的选通信号11,它们都在一个机器周期内有,它们都在一个机器周期内有效,但这效,但这4 4个信号的到来有严格的时间顺序关系,由时序信号个信号的到来有严格的时间顺序关系,由时序信号T1,T2,T3,T4T1,T2,T3,T4来控制。来控制。微指令:微指令:100 110 000 100 00000 100 110 000 100 00000 * * *

51、* * * * *T1T2T3T4CLK45+145+1设设4=T14,5=T15,+=(T2T34=T14,5=T15,+=(T2T3)+,1=T41+,1=T41微指令的操作控制字段决定给出的微命令,时序产生器决定微命令的时序关系微指令的操作控制字段决定给出的微命令,时序产生器决定微命令的时序关系 一条微指令就能完成一条机器指令吗?一条微指令就能完成一条机器指令吗? 考虑考虑ADD R2,30ADD R2,30的执行过程,的执行过程,ADDADD指令需要三个机器周期组成,第一个指令需要三个机器周期组成,第一个是取指周期,后两个是执行周期,微操作如下所示:是取指周期,后两个是执行周期,微操作

52、如下所示:取指周期:取指周期:PC-AR AR-ABUS RAM-DR DR-IR PC+1-PCPC-AR AR-ABUS RAM-DR DR-IR PC+1-PC第一个执行周期:第一个执行周期: IR-AR IR-AR (指令的地址码送地址寄存器)(指令的地址码送地址寄存器)第二个执行周期:第二个执行周期: AR-ABUSAR-ABUS RAM-DR RAM-DR DR-ALU(X DR-ALU(X端端) ) R2-ALU(Y R2-ALU(Y端端) ) ALU ALU完成加运算完成加运算 ALU-R2 ALU-R2 微指令微指令 010 000 110 100 00000 010 000

53、 110 100 00000 * * * * * * * *完成完成v微程序微程序 一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常叫做指令序列通常叫做微程序微程序。 完成完成一条机器指令一条机器指令微操作命令微操作命令 1微操作命令微操作命令 2微操作命令微操作命令 n微指令微指令 110100000微程序微程序00010010微操作命令微操作命令 n+1微指令微指令 nv微程序控制器的结构微程序控制器的结构 微程序控制器主要由控制存储器、微地址寄存器、微命令微程序控制器主要由控制存储器、微地址寄存器、微命令

54、寄存器和地址转移逻辑构成。寄存器和地址转移逻辑构成。 将微程序存入到高速的只读存储器中,机器指令的解释执行通过读取对将微程序存入到高速的只读存储器中,机器指令的解释执行通过读取对应的微程序来完成,存储逻辑实现的控制器称为微程序控制器。应的微程序来完成,存储逻辑实现的控制器称为微程序控制器。 微指令的微指令的操作控制部分操作控制部分决定给出的微命令,决定给出的微命令,顺序控制部分顺序控制部分决定下一条微决定下一条微指令在只读存储器中的地址,由指令在只读存储器中的地址,由P P测试字段测试字段和和后续直接地址后续直接地址构成。如果判别构成。如果判别测试字段全为测试字段全为0 0,后续直接地址给出下

55、一条微指令的地址;否则修改后续直,后续直接地址给出下一条微指令的地址;否则修改后续直接地址作为下一条微指令的地址。接地址作为下一条微指令的地址。控制存储器:存放实现全部指令系统的微程序,它是一种只读型存储器。控制存储器:存放实现全部指令系统的微程序,它是一种只读型存储器。要求速度快,读出周期短。要求速度快,读出周期短。 微地址寄存器:存放读出微指令的直接地址,决定要读取的下一条微指令微地址寄存器:存放读出微指令的直接地址,决定要读取的下一条微指令的地址。的地址。微命令寄存器:保存读出微指令的操作控制字段和判别测试字段的信息。微命令寄存器:保存读出微指令的操作控制字段和判别测试字段的信息。 地址

56、转移逻辑:承担自动完成修改微地址的任务。地址转移逻辑:承担自动完成修改微地址的任务。控制字段控制字段 P字段字段 直接地址直接地址 微指令微指令地址转移逻辑:地址转移逻辑:P1=0P1=0,P2=0P2=0,不修改微地址寄存器中的直接地址,是下一条微指令地址。,不修改微地址寄存器中的直接地址,是下一条微指令地址。P1=1P1=1,P2=0P2=0,则指令寄存器中的指令的操作码的后四位修改微地址寄存器,则指令寄存器中的指令的操作码的后四位修改微地址寄存器的四位地址,给出的四位地址,给出1616路分支。如某条指令的操作码是路分支。如某条指令的操作码是0000101000001010,则下一条,则下

57、一条微指令的地址是微指令的地址是10101010。P1P1称为操作码测试。称为操作码测试。P1=0P1=0,P2=1P2=1,则利用进位标志,则利用进位标志CYCY求反修改微地址寄存器的最后一位。求反修改微地址寄存器的最后一位。v微程序举例微程序举例 下面以一个下面以一个“十进制十进制”加法的机器指令来说明微程序以及加法的机器指令来说明微程序以及微程序的控制。微程序的控制。“十进制十进制”加法指令就是利用加法指令就是利用BCDBCD码让运算器码让运算器完成十进制的加法运算。完成十进制的加法运算。4 4位位2 2进制数进制数BCDBCD码码000000000 0000100011 1001000

58、102 2001100113 3010001004 4010101015 5011001106 6011101117 7100010008 8100110019 9在计算机中,可以用在计算机中,可以用4 4位二进位二进制数表示制数表示1 1位十进制数,这种位十进制数,这种代码称为代码称为BCDBCD码。码。BCDBCD码只有码只有0 09 9十种编码,对十种编码,对于二进制数于二进制数1010101011111111在在BCDBCD码中无意义码中无意义BCDBCD码调整原理码调整原理 0000 1000 0000 1000+0000 0111+0000 0111 0000 1111 0000

59、1111(0F0F)例如:例如:8+78+71515BCDBCD码是逢码是逢1010进进1 1,4 4位二进制位二进制数是逢数是逢1616进进1 1,如果如果1 1位位BCDBCD码码所对应的所对应的4 4位二进制数超过位二进制数超过9 9,可以补加一个可以补加一个6 6。+0000 0110+0000 0110 0001 01010001 0101(1515)运算器进行运算器进行BCDBCD码的加法运算时,将被加数、加数相加后再加码的加法运算时,将被加数、加数相加后再加6 6,如果低,如果低4 4位向高位向高4 4位有进位,不需要调整;否则得到的和减位有进位,不需要调整;否则得到的和减6 6

60、。 0000 0111 0000 0111+0000 0110+0000 0110 0000 1101 0000 1101(0D0D)例如:例如:7+67+61313+0000 0110+0000 0110 0001 00110001 0011(1313)有进位有进位正确正确 0000 0011 0000 0011+0000 0101+0000 0101 0000 1000 0000 1000(0808)例如:例如:3+53+58 8+0000 0110+0000 0110 0000 11100000 1110(0E0E)无进位无进位不正确不正确-0000 0110-0000 0110 000

温馨提示

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

评论

0/150

提交评论