1、Chapter 6 中央处理器中央处理器介绍介绍CPUCPU的功能和组成;的功能和组成;指令周期流程;指令周期流程;时序产生器和控制方式;时序产生器和控制方式;重点讲解微程序控制器;重点讲解微程序控制器;硬布线控制器和门阵列控制器;硬布线控制器和门阵列控制器;Pentium4Pentium4的逻辑结构的逻辑结构6.1 CPUCPU的功能和组成的功能和组成 CPUCPU的功能的功能控制器的基本组成与最简单控制器的基本组成与最简单CPUCPU模型模型 CPUCPU中的主要寄存器中的主要寄存器CPUCPU操作控制器与时序产生器操作控制器与时序产生器 1、CPU CPU 的功能的功能 CPUCPU是计
2、算机的核心组成部分,装入内存的程序在是计算机的核心组成部分,装入内存的程序在CPUCPU的控制下,完成取出指令和执行指令的任务。的控制下,完成取出指令和执行指令的任务。CPUCPU的基本功能的基本功能:n指令控制指令控制:实现程序中指令的执行顺序控制。(结合指令:实现程序中指令的执行顺序控制。(结合指令的寻址方式,要实现此控制,的寻址方式,要实现此控制,CPUCPU内部设置程序计数器内部设置程序计数器PCPC)n操作控制操作控制:就一条机器指令而言,指令不同其操作码也不:就一条机器指令而言,指令不同其操作码也不同,该控制实现指令所需操作命令的控制,需要指令寄存同,该控制实现指令所需操作命令的控
3、制,需要指令寄存器(器(IRIR)和指令译码器()和指令译码器(IDID)。)。n时间控制时间控制:对各种操作命令实施时间上的控制,保证计算:对各种操作命令实施时间上的控制,保证计算机有条不紊地自动工作,设置操作控制器和时序发生器。机有条不紊地自动工作,设置操作控制器和时序发生器。n数据加工数据加工:对数据进行算术运算和逻辑运算处理。:对数据进行算术运算和逻辑运算处理。2、控制器基本组成与、控制器基本组成与CPUCPU模型模型n控制器的组成控制器的组成:程序计数器、指令寄存器、指令译码器、:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器。时序产生器和操作控制器。3、CPUCPU中的
4、主要寄存器中的主要寄存器 CPU中最基本寄存器:中最基本寄存器:n指令寄存器(指令寄存器(IR):保存正在执行的指令):保存正在执行的指令n程序计数器(程序计数器(PC):存放要执行的指令的地址):存放要执行的指令的地址n地址寄存器(地址寄存器(AR):保存当前所要访问的内存单元的地址):保存当前所要访问的内存单元的地址n数据缓冲寄存器(数据缓冲寄存器(DR):):l作为作为CPU和内存、外围设备之间信息传送的中转站;和内存、外围设备之间信息传送的中转站;l补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;l在单累加器结构的运算器中,数据缓冲寄存器还
5、可兼作在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。操作数寄存器。n累加寄存器(累加寄存器(AC):暂时存放):暂时存放ALU运算的结果信息运算的结果信息n状态条件寄存器(状态条件寄存器(PSW):):4、CPUCPU操作控制器与时序产生器操作控制器与时序产生器 n操作控制器操作控制器的功能的功能:根据指令操作码和时序信号,产生各种根据指令操作码和时序信号,产生各种操作控制信号,以正确建立数据通路,完成取指令和执行操作控制信号,以正确建立数据通路,完成取指令和执行指令的控制。指令的控制。n根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:(1)(1)硬布线
6、控制器:采用组合逻辑技术来实现;硬布线控制器:采用组合逻辑技术来实现;(2)(2)微程序控制器:采用存储逻辑来实现;微程序控制器:采用存储逻辑来实现;(3)(3)门阵列控制器:吸收前两种的设计思想来实现的。门阵列控制器:吸收前两种的设计思想来实现的。n时序产生器时序产生器:产生对控制信号进行时间上控制的定时信号产生对控制信号进行时间上控制的定时信号.6.2 指令周期指令周期n指令周期的基本概念指令周期的基本概念 n几种典型指令的指令周期分析几种典型指令的指令周期分析lCLACLA指令的指令周期指令的指令周期 lADDADD指令的指令周期指令的指令周期 lSTASTA指令的指令周期指令的指令周期
7、 lNOPNOP指令和指令和JMPJMP指令的指令周期指令的指令周期 n用方框图语言表示指令周期用方框图语言表示指令周期 1、指令周期的基本概念、指令周期的基本概念 n指令周期指令周期:取出并执行一条指令的时间。指令不同,其指令周:取出并执行一条指令的时间。指令不同,其指令周期不尽相同。期不尽相同。n机器周期机器周期:也称也称CPUCPU周期周期。指令周期由若干个。指令周期由若干个CPUCPU周期组成。周期组成。通常通常:用内存中读取一个指令字的最短时间来规定用内存中读取一个指令字的最短时间来规定CPUCPU周期周期。n时钟周期:时钟周期:常称为节拍。一个常称为节拍。一个CPUCPU周期又包含
8、若干个时钟周期,周期又包含若干个时钟周期,它是处理操作的最基本单位。它是处理操作的最基本单位。2、几种典型指令周期分析几种典型指令周期分析 CLACLAnCLACLA指令功能:清累加器。是一个指令功能:清累加器。是一个非访内指令非访内指令。n取指令阶段:取指令阶段:(1)(1)从内存取出指令;从内存取出指令;(2)(2)对程序计数器对程序计数器PCPC加加1 1,为取下一条指令做好准备;为取下一条指令做好准备;(3)(3)对指令操作码进行译码或测对指令操作码进行译码或测试,以确定进行什么操作。试,以确定进行什么操作。n执行指令阶段:执行指令阶段:CPUCPU根据对指令操作码的译码或测试,进行根
9、据对指令操作码的译码或测试,进行指令所要求的操作。指令所要求的操作。(1 1)CLACLA取指令阶段取指令阶段CLACLA执行指令阶段执行指令阶段(2 2)ADDADDADD 30 ADD 30 指令功能:取存储单元指令功能:取存储单元(30)(30)中的操作数和累加器的内容中的操作数和累加器的内容相加,结果送累加器。这是一条相加,结果送累加器。这是一条访问内存取数并执行加法的访问内存取数并执行加法的指令指令。三个。三个CPUCPU周期组成:取指、送操作数地址、去操作数进周期组成:取指、送操作数地址、去操作数进行相加运算并将结果放回累加器。行相加运算并将结果放回累加器。ADD(3 3)STAS
10、TA)nSTA 40 STA 40 指令的功能:把累加器内容送存储单元(指令的功能:把累加器内容送存储单元(4040)。这是一条这是一条访内存存数指令访内存存数指令。n由三个由三个CPUCPU周期组成。周期组成。STA(4 4)NOPNOP和和JMP)nNOPNOP:空操作指令。在第二:空操作指令。在第二CPUCPU周期中不发出任何控制信号。周期中不发出任何控制信号。nJMPJMP指令是一个程序控制指令,在执行周期中只是改变了指令是一个程序控制指令,在执行周期中只是改变了PCPC的内容。的内容。JMP指令周期分析需注意事项指令周期分析需注意事项n指令周期分取指令阶段、执行指令阶段;对所有的指令
11、周期分取指令阶段、执行指令阶段;对所有的指令取指令阶段完全相同,指令之所以不同在于执指令取指令阶段完全相同,指令之所以不同在于执行指令阶段不同,因此,取指令阶段作为公共操作。行指令阶段不同,因此,取指令阶段作为公共操作。n由于指令的执行阶段不同,所包括的由于指令的执行阶段不同,所包括的CPU周期个数周期个数不同,究竟几个不同,究竟几个CPU周期与寻址方式有关;周期与寻址方式有关;nCPU周期的划分原则:不仅要考虑指令周期的定义周期的划分原则:不仅要考虑指令周期的定义来规定来规定CPUCPU周期周期,更要结合具体模型更要结合具体模型,以信息在以信息在总线总线上传输不冲突为原则。上传输不冲突为原则
12、。6.3 指令周期流程图指令周期流程图n流程图的构成:流程图的构成:l方框方框代表一个代表一个CPUCPU周期,其内容表示数据通路的操作或某周期,其内容表示数据通路的操作或某种控制操作。种控制操作。l菱形菱形表示某种判断或测试,时间上依附于它前面方框的表示某种判断或测试,时间上依附于它前面方框的CPUCPU周期,不单独占用一个周期,不单独占用一个CPUCPU周期。周期。l“”表示公操作,指一条指今执行完毕后,表示公操作,指一条指今执行完毕后,CPUCPU所开所开始进行的一些操作。这些操作可能是始进行的一些操作。这些操作可能是CPUCPU对外设请求的处对外设请求的处理,如中断处理、通道处理等,若
13、没有外设请求,理,如中断处理、通道处理等,若没有外设请求,CPUCPU将将转入下一个转入下一个“取指令取指令”。因此取指令也可以认为是公操。因此取指令也可以认为是公操作。作。n指令周期流程图指令周期流程图指令周期流程图指令周期流程图指令周期流程图指令周期流程图(1)“ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程的功能操作,画出其指令周期流程图,假设该指令的地址已放入图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。中。并列出相应的微操作控制信号序列。(2)“SUB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其指令期
14、流程图,并的操作,画出其指令期流程图,并列出相应的微操作控制信号序列列出相应的微操作控制信号序列 指令周期流程图指令周期流程图6.4 时序产生器和控制方式时序产生器和控制方式 一、时序信号一、时序信号二、时序信号产生器二、时序信号产生器 三、控制方式三、控制方式 一、时序信号一、时序信号 对各种控制信号实现在时间上进行控制的信号,他正如控对各种控制信号实现在时间上进行控制的信号,他正如控制信号的制信号的“作息时间作息时间”表,在这个时间小段控制产生这个控制表,在这个时间小段控制产生这个控制信号,在那个时间小段控制产生那个控制信号,而控制信号又信号,在那个时间小段控制产生那个控制信号,而控制信号
15、又控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什么。么。因此因此各种控制信号不仅仅是时间的函数(时序信号),也是空各种控制信号不仅仅是时间的函数(时序信号),也是空间的函数(部件)间的函数(部件)。如果每一个时间小段称为一个节拍脉冲,那么一个如果每一个时间小段称为一个节拍脉冲,那么一个CPUCPU周期称周期称为一个节拍电位,时序信号最基本的体制便是为一个节拍电位,时序信号最基本的体制便是节拍电位节拍节拍电位节拍脉冲制。脉冲制。
16、二、时序信号产生器二、时序信号产生器 时序信号产生器由时序信号产生器由时钟源时钟源、环形脉冲发生器环形脉冲发生器、节拍脉冲和节拍脉冲和读写时序译码逻辑读写时序译码逻辑、启停控制逻辑启停控制逻辑等部分组成。等部分组成。时序信号产生器时序信号产生器环形脉冲发生器环形脉冲发生器:产生一组有序的产生一组有序的间隔相等或不等间隔相等或不等的脉冲序列,以的脉冲序列,以便最后形成所需便最后形成所需要的节拍脉冲。要的节拍脉冲。C C1 1、C C2 2、C C3 3就是环就是环形脉冲发生器产形脉冲发生器产生的信号。生的信号。(C C3 3C C2 2C C1 1的状态转的状态转移:移:000000001001
17、011011111111000000)时序信号产生器时序信号产生器节拍脉冲和读写时序译码:节拍脉冲和读写时序译码:T T1 10 0、T T2 20 0、T T3 30 0、T T4 40 0和和RDRD0 0、WEWE0 0、MREQMREQ0 0、IORQIORQ0 0,其中前四个,其中前四个信号是环形脉冲发生器产信号是环形脉冲发生器产生,后四个信号受微程序生,后四个信号受微程序控制器产生的控制信号控制器产生的控制信号RDRD、WEWE、MERQMERQ、IORQIORQ的控制。的控制。启停控制逻辑:启停控制逻辑:T T1 10 0、T T2 20 0、T T3 30 0、T T4 40
18、0和和RDRD0 0、WEWE0 0在启停控制电路控制下在启停控制电路控制下产生一组节拍信号产生一组节拍信号T T1 1、T T2 2、T T3 3、T T4 4三、节拍电位与节拍脉冲时序关系图三、节拍电位与节拍脉冲时序关系图四、四、控制方式控制方式1 1、同步控制方式、同步控制方式:该控制方式的控制方法简单,取指令周期最长的指令作该控制方式的控制方法简单,取指令周期最长的指令作为所有指令的指令周期,势必降低为所有指令的指令周期,势必降低CPUCPU效率。由于指令周期又效率。由于指令周期又包含包含CPUCPU周期和时钟周期,所以,同步控制方式又可以进一步周期和时钟周期,所以,同步控制方式又可以
19、进一步分成多种同步方法,具体而言,分成多种同步方法,具体而言,CPUCPU周期和时钟周期严格意周期和时钟周期严格意义上同步和广泛意义上同步。义上同步和广泛意义上同步。2 2、异步控制方式、异步控制方式:指令需要多少时间就占用多少时间,控制复杂,必须指令需要多少时间就占用多少时间,控制复杂,必须采用应答方式。采用应答方式。三、三、控制方式控制方式(2)3 3、联合控制方式、联合控制方式:上述两种情况的结合。大部分操作序列安排在固定的机器上述两种情况的结合。大部分操作序列安排在固定的机器周期中,对某些周期中,对某些时间难以确定时间难以确定的操作则以执行部件的的操作则以执行部件的“回答回答”信号作为
20、本次操作的结束。机器周期的节拍脉冲数固定,但信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。是各条指令周期的机器周期数不固定。6.5 微程序控制器微程序控制器前言前言:n基本思想:利用软件方法设计硬件。早在基本思想:利用软件方法设计硬件。早在1951年,英国剑年,英国剑桥大学的桥大学的M.V.Wilkes教授提出了微程序设计,其实质是用教授提出了微程序设计,其实质是用程序设计的思想方法来组织操作控制逻辑,把各条指令的程序设计的思想方法来组织操作控制逻辑,把各条指令的微操作序列编制成微程序,并存放在控制存储器中,执行微操作序列编制成微程序,并存放在控制存储器
21、中,执行机器指令时,通过读取并执行相应的微程序来实现这条机机器指令时,通过读取并执行相应的微程序来实现这条机器指令的功能。微程序控制器特点:具有规整性、灵活性、器指令的功能。微程序控制器特点:具有规整性、灵活性、可维护性等一系列优点。可维护性等一系列优点。一、一、基本概念基本概念 n微命令:控制部件通过控制线向执行部件发出各种控制命微命令:控制部件通过控制线向执行部件发出各种控制命令;微命令是构成控制信号序列的最小单位令;微命令是构成控制信号序列的最小单位 n微操作:执行部件接受微命令后所进行的操作。微操作:执行部件接受微命令后所进行的操作。微操作是微操作是执行部件中最基本的操作执行部件中最基
22、本的操作 基本概念基本概念l相容性的微操作相容性的微操作:在同时或同一个在同时或同一个CPUCPU周期内可以并行执周期内可以并行执行的微操作行的微操作;l相斥性的微操作相斥性的微操作:不能同时或同一个不能同时或同一个CPUCPU周期内并行执行周期内并行执行的微操作的微操作。基本概念基本概念 n微指令微指令:在机器的一个:在机器的一个CPUCPU周期中,一组实现一定操作功能的微命令的周期中,一组实现一定操作功能的微命令的组合。我们知道一条机器指令的指令周期包含多个组合。我们知道一条机器指令的指令周期包含多个CPUCPU周期,根据微指周期,根据微指令的概念,一个令的概念,一个CPUCPU周期对应一
23、条微指令,因此,一条机器指令的功能周期对应一条微指令,因此,一条机器指令的功能是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的功能微指令的有序集合称为功能微指令的有序集合称为微程序微程序。n微指令格式:微指令格式:不仅要产生一组微命令,还要形成后继微地址,即执行完不仅要产生一组微命令,还要形成后继微地址,即执行完某一条微指令后,必须给出下一条微指令的地址,下一条微指令的地址某一条微指令后,必须给出下一条微指令的地址,下一条微指令的地址也称为后继微地址,以便当前微指令执行完毕后能正确取出下一条微指也称为后继微地址,以便当
24、前微指令执行完毕后能正确取出下一条微指令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址。基本概念基本概念 微指令长度为微指令长度为2323位,操作控制字段占位,操作控制字段占1717位,顺序控制字段占位,顺序控制字段占6 6位,其中位,其中4 4位(位(20202323)用来直接形成后继微地址,第)用来直接形成后继微地址,第1818、1919位两位作为判断测位两位作为判断测试标志。当此两位都为试标
25、志。当此两位都为“0”0”时,表示不进行测试,直接将微指令中第时,表示不进行测试,直接将微指令中第20202323位作为后继微地址;当微指令的第位作为后继微地址;当微指令的第1818位或第位或第1919位为位为“1”1”时,表时,表示要进行示要进行P1P1或或P2P2的判断测试,根据测试结果,需要对微指令中第的判断测试,根据测试结果,需要对微指令中第20202323位的某一位或某几位进行修改,将修改后的地址作为后继微地址。位的某一位或某几位进行修改,将修改后的地址作为后继微地址。二、二、微程序控制器组成微程序控制器组成 微程序控制器的组成与结构如图所示。它主要由控制存储器、微程序控制器的组成与
26、结构如图所示。它主要由控制存储器、微指令寄存器和微指令地址形成部件三大部分组成。微指令寄存器和微指令地址形成部件三大部分组成。微程序控制器组成微程序控制器组成(1)控制存储器(CM)控制存储器是用来存放指令系统所对应的全部微程序,它是一种读出时间较快的只读存储器,其容量视指令系统而定,其字长由控制命令的多少、微指令的编码格式以及下址字段的宽度而定。(2)微指令寄存器(IR)微指令寄存器是用来存放从控制存储器读出的一条微指令。顺序控制字段用来产生将要执行的下一条微指令的地址,操作控制字段则用来产生一组微命令。微程序控制器组成微程序控制器组成(3)微指令地址形成部件 微指令地址形成部件又称微指令地
27、址发生器或后继微地址形成部件,是用来形成将要执行的下一条微指令的地址(简称后继微地址)。一般情况下,下一条微指令的地址由上一条微指令的顺序控制字段直接决定。当微程序出现分支时,将由状态条件的反馈信息去形成转移地址;当取指令公共操作完成后,可以根据指令的操作码去产生微指令入口地址。微程序的执行过程微程序的执行过程(1)读取并执行公共的“取指令”微指令 从控制存储器中取出一条公共的“取指令”微指令,并送到微指令寄存器IR。由于这是一条公用的微指令,一般存放在控制存储器的0号或1号地址单元。微指令实现从主存中读取机器指令并将其送到指令寄存器IR。微程序控制器组成微程序控制器组成(2)形成微程序入口地
28、址 根据指令寄存器IR中的指令操作码,通过微地址形成线路产生相应的微程序入口地址,并将微程序入口地址送往微地址寄存器AR。(3)执行微程序 根据微地址寄存器AR中的微地址,取出微程序中第一条微指令并送入微指令寄存器IR,开始执行IR中的微指令,该微指令执行结束时,将顺序控制字段所形成的后继微地址再送入微地址寄存器AR,去读取下一条微指令。如此重复,直至微程序中的最后一条微指令。(4)实现返回 执行完一条机器指令对应的一段微程序后,返回0号或1号微地址单元,读取并执行“取指令”微指令。由此可见,微程序控制器的工作过程涉及到两个层面:一个层面是程序员所看到的传统机器级,包括指令、程序、主存储器;另
29、一个层面是设计者所看到的微程序级,包括微指令、微程序、控制存储器(相对程序员是“透明”的)。三、三、微程序设计微程序设计 微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微程序的执行速度,如何有利于对微指令的修改,以便提高微程序设计的程序的执行速度,如何有利于对微指令的修改,以便提高微程序设计的灵活性。灵活性。1、微命令编码、微命令编码 微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法
30、微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法有直接表示法、编码表示法、混合表示法。有直接表示法、编码表示法、混合表示法。(1)直接表示法)直接表示法 操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出可直接用于控制,一条微指令可以定义并执行多个并行的微命令。可直接用于控制,一条微指令可以定义并执行多个并行的微命令。微程序设计微程序设计(2)编码表示法)编码表示法 编码表示法把一组相斥性的微命令组成一个字段,然后通过编码表示法把一组相斥性的微命令组成一个字段,然后通过微命令译码器对每一个字段进行译码,译码
31、输出作为微命令。微命令译码器对每一个字段进行译码,译码输出作为微命令。采用编码表示法,可以用较少的二进制信息位表示较多的微采用编码表示法,可以用较少的二进制信息位表示较多的微命令。命令。微程序设计微程序设计(3)混合表示法)混合表示法 混合表示法把直接表示法和编码表示法相混合使用,以便能混合表示法把直接表示法和编码表示法相混合使用,以便能综合考虑微指令字长、灵活性和执行速度等方面的要求。综合考虑微指令字长、灵活性和执行速度等方面的要求。2、后续微地址的形成方法、后续微地址的形成方法 微指令执行的顺序控制问题,实际上是如何确定下一条微微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问
32、题。通常,产生后续微地址的方法有计数器方指令的地址问题。通常,产生后续微地址的方法有计数器方式、增量方式与断定方式结合、多路转移方式三种。式、增量方式与断定方式结合、多路转移方式三种。(1)计数器方式)计数器方式 这种方式与用程序计数器这种方式与用程序计数器PC来产生后续指令地址的方法类来产生后续指令地址的方法类似。似。微程序设计微程序设计nPC兼作控制存储器的地址寄存器,其输入有兼作控制存储器的地址寄存器,其输入有4个。下址字个。下址字段仅有两位,其功能是选择段仅有两位,其功能是选择3个输入源的一个作为个输入源的一个作为PC的输的输入,而微程序入口是由专门的硬件电路产生,不受下址字段入,而微
33、程序入口是由专门的硬件电路产生,不受下址字段控制。控制。n计数器方式的基本特点是:微指令的顺序控制字段较短,微计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。灵活性较差。微程序设计微程序设计(2)增量方式与断定方式的结合)增量方式与断定方式的结合 在这种方式中,微指令顺序控制字段又分为条件选择字段和在这种方式中,微指令顺序控制字段又分为条件选择字段和转移地址字段两部分,其中条件选择字段用来规定转移地址字段两部分,其中条件选择字段用来规定“条件转条件转移移”微指令要测试的外
34、部条件;转移地址字段可用作后继微微指令要测试的外部条件;转移地址字段可用作后继微地址。地址。PC是微程序计数器,具有计数和并行接受数据的是微程序计数器,具有计数和并行接受数据的功能功能微程序设计微程序设计 假设必须测试的两个状态条件变量为假设必须测试的两个状态条件变量为V1和和V2,故需使用一,故需使用一个个2位的条件选择字段位的条件选择字段S1S0:当当S1S0=00时,微程序时,微程序不转移。当不转移。当S1S0=01时,如果时,如果V1=1则转移,否则顺序则转移,否则顺序执行。当执行。当S1S0=10时,如果时,如果V2=1则转移,否则顺序执则转移,否则顺序执行。当行。当S1S0=11时
35、,无条件转移。与此对应,多路开关时,无条件转移。与此对应,多路开关有有4个输入个输入X0、X1、X2、X3,其中,其中X0=0,X1=V1,X2=V2,X3=1。因此,当。因此,当S1S0=i时,它选通多路开关输时,它选通多路开关输出出Xi。从而控制。从而控制“转移地址转移地址”字段的内容送入或不送入字段的内容送入或不送入PC(3)多路转移方式)多路转移方式 在执行一条微指令时,可能会遇到从若干个微地址中选择在执行一条微指令时,可能会遇到从若干个微地址中选择一个作为后续微地址的情况,这种转移方式称为多路转移。一个作为后续微地址的情况,这种转移方式称为多路转移。微程序设计微程序设计 微程序设计实
36、践表明,实现两路转移的情况较多,其次是四微程序设计实践表明,实现两路转移的情况较多,其次是四路转移,而四路以上转移的情况比较少见。两路转移只涉及路转移,而四路以上转移的情况比较少见。两路转移只涉及微地址的一位;四路转移涉及微地址的两位,一般就定在微微地址的一位;四路转移涉及微地址的两位,一般就定在微地址的最后两位地址的最后两位。多路转移方式的特点是:多路转移方式的特点是:能与较短的顺序控制字段配合,实能与较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度快,但转移地址逻辑需要现多路并行转移,灵活性好,速度快,但转移地址逻辑需要用组合逻辑方法实现。用组合逻辑方法实现。四、四、微程序设计举例
37、微程序设计举例 微程序设计的关键是设计微指令的结构,而微指令的结构设微程序设计的关键是设计微指令的结构,而微指令的结构设计又取决于控制器和运算器的结构。在此我们以图计又取决于控制器和运算器的结构。在此我们以图6-20所所示的运算器、图示的运算器、图6-21所示的微指令格式为例,来具体说明所示的微指令格式为例,来具体说明“十进制加法十进制加法”指令的微程序设计过程。指令的微程序设计过程。1、十进制加法指令的功能、十进制加法指令的功能 微程序设计举例微程序设计举例2、十进制加法指令的微程序流程图、十进制加法指令的微程序流程图 假设两个一位十进制数假设两个一位十进制数a和和b已存放在图已存放在图6-
38、20中的中的R1和和R2寄存器中,数寄存器中,数6存放在存放在R3寄存寄存器中。其算法采用先进行器中。其算法采用先进行a+b+6运算,再判断结果有无进位,运算,再判断结果有无进位,若有进位若有进位Cy=1,不减,不减6;若无进位若无进位Cy=0,减去,减去6。因此,。因此,完成十进制加法指令的微程序流程完成十进制加法指令的微程序流程00000001000010011000 0000RD 0000Cy=0Cy=1PCARABUSDBUSDRIR,PC+1P1R1+R2R2R2+R3R2P2R2-R3R2微程序设计举例微程序设计举例3、十进制加法指令的微程序、十进制加法指令的微程序根据图根据图6-
39、28可知,十进制加法指令的微程序由可知,十进制加法指令的微程序由4条微指令组成。条微指令组成。第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在控制存储器的地址为控制存储器的地址为0000,其编码为:其编码为:000 000 000 000 11111100000 这条微指令在执行时,一方面操作控制字段产生这条微指令在执行时,一方面操作控制字段产生5个微命令,他们分别个微命令,他们分别是是LDAR、RD、LDDR、LDIR、PC+1。LDAR 执行执行PCAR;PC+1执行执行PC+1PC;RD 和和LDDR 执行执行M
40、DR;LDIR 执行执行DRIR。假设十进制加法指令的操作码为。假设十进制加法指令的操作码为1000,那么指令寄存器,那么指令寄存器IR中的指令操作码是中的指令操作码是1000。另一方面,顺序控制字段指明下一条微指令。另一方面,顺序控制字段指明下一条微指令的地址为的地址为0000。由于判断字段中。由于判断字段中P1=1,表示测试的,表示测试的“状态条件状态条件”是指是指令寄存器令寄存器IR中的指令操作码中的指令操作码1000,即用指令操作码,即用指令操作码1000作为下一条微作为下一条微指令的地址,因此,此微指令的下址指令的地址,因此,此微指令的下址0000并不是下一条微指令的真正并不是下一条
41、微指令的真正地址。下一条微指令的真正地址是指令的操作码地址。下一条微指令的真正地址是指令的操作码1000,于是,微地址,于是,微地址寄存器寄存器AR的内容修改为的内容修改为1000。微程序设计举例微程序设计举例 第二条微指令是完成第二条微指令是完成a+b运算操作,该微指令的微地址为运算操作,该微指令的微地址为1000,其编码为:,其编码为:010 100 100 100 00000001001 根据微地址寄存器根据微地址寄存器AR的内容的内容1000,取出第二条微指令并,取出第二条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别
42、是分别是R1X、R2Y、+、LDR2。于是,运算器完成。于是,运算器完成R1+R2R2的操作。另一方面,顺序控制字段中判断测试的操作。另一方面,顺序控制字段中判断测试字段字段P1和和P2均为均为0,表示不进行测试,于是,该微指令的,表示不进行测试,于是,该微指令的下址字段下址字段1001直接作为下一条微指令的地址,并传送到微直接作为下一条微指令的地址,并传送到微地址寄存器地址寄存器AR。微程序设计举例微程序设计举例 第三条微指令是完成第三条微指令是完成a+b+6运算操作,该微指令的微地址运算操作,该微指令的微地址为为1001,其编码为:,其编码为:010 001 001 100 0000001
43、0000 根据微地址寄存器根据微地址寄存器AR的内容的内容1001,取出第三条微指令并,取出第三条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别是分别是R2X、R3Y、+、LDR2。于是,运算器完成。于是,运算器完成R2+R3R2的操作。另一方面,顺序控制字段中判断测试的操作。另一方面,顺序控制字段中判断测试字段字段P2为为1,表示对,表示对P2进行测试,测试的进行测试,测试的“状态条件状态条件”为为进位标志进位标志Cy,根据进位标志,根据进位标志Cy的状态来修改微地址寄存器的状态来修改微地址寄存器AR的最后一位:若的最后一位
44、:若Cy=0时,下一条微指令的地址为时,下一条微指令的地址为0001;若;若Cy=1时,下一条微指令的地址为时,下一条微指令的地址为0000。由此可。由此可见,该微指令的下址见,该微指令的下址0000并不是下一条微指令的真正地址。并不是下一条微指令的真正地址。下一条微指令的真正地址是对下址下一条微指令的真正地址是对下址0000的修改。在此假设的修改。在此假设Cy=0,则要执行的下一条微指令的地址为,则要执行的下一条微指令的地址为0001,送到微,送到微地址寄存器地址寄存器AR。微程序设计举例微程序设计举例 第四条微指令是完成第四条微指令是完成a+b-6运算操作,该微指令的微地址为运算操作,该微
45、指令的微地址为0001,其编码为:,其编码为:010 001 001 001 00000000000 根据微地址寄存器根据微地址寄存器AR的内容的内容0001,取出第四条微指令并,取出第四条微指令并执行。执行时,一方面操作控制字段产生执行。执行时,一方面操作控制字段产生4个微命令,他们个微命令,他们分别是分别是R2X、R3Y、-、LDR2。于是,运算器完成。于是,运算器完成R2-R3R2的操作。另一方面,顺序控制字段中判断测试的操作。另一方面,顺序控制字段中判断测试字段字段P1和和P2均为均为0,表示不进行测试,于是,该微指令的,表示不进行测试,于是,该微指令的下址字段下址字段0000直接作为
46、下一条微指令的地址,并传送到微直接作为下一条微指令的地址,并传送到微地址寄存器地址寄存器AR,按该地址取出的微指令为,按该地址取出的微指令为“取指取指”微指令。微指令。如果第三条微指令进行测试时Cy=1,那么,下一条微指令的地址为0000,将不执行第四条微指令,而是直接由第三条微指令就转向“取指”微指令,便开始从内存中取第二条机器指令,再转去执行该机器指令相应的微程序。五、五、CPUCPU周期与微指令周期的关系周期与微指令周期的关系 n在串行方式的微程序控制器中,在串行方式的微程序控制器中,微指令周期微指令周期 =读出微指令的时间读出微指令的时间 +执行该条微指令的时间执行该条微指令的时间n为
47、了保证整个机器控制信号的同步为了保证整个机器控制信号的同步,一般将一般将一个微指令周期一个微指令周期时间设计得恰好和时间设计得恰好和CPUCPU周期时间相等周期时间相等。六、机器指令与微程序的关系六、机器指令与微程序的关系 图图5.275.27很好地说明了机器指令和微指令之间的关系,也方便很好地说明了机器指令和微指令之间的关系,也方便深层次地解释程序的执行过程:取指令入深层次地解释程序的执行过程:取指令入IRIR后通过微程序后通过微程序执行指令。执行指令。小结小结:l一条机器指令的功能是由若干条微指令组成的序列来实现一条机器指令的功能是由若干条微指令组成的序列来实现的。的。l从指令与微指令,程
48、序与微程序,地址与微地址的一一对从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,应关系来看,前者前者与内存储器有关,与内存储器有关,后者后者与控制存储器有与控制存储器有关。关。l每一个每一个CPUCPU周期就对应一条微指令。周期就对应一条微指令。6.6 硬布线控制器 硬布线控制器硬布线控制器:把控制部件看做产生专门固定时序控制信号的:把控制部件看做产生专门固定时序控制信号的逻辑电路。由逻辑电路。由门电路和触发器构成门电路和触发器构成复杂树形网络。与微程序复杂树形网络。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中控制相比,硬布线控制的速度较快。其原因是微程序控制中每
49、条微指令都要从控存中读取一次,影响了速度,而硬布线每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。由于硬布线控制器的电路结构很控制主要取决于电路延迟。由于硬布线控制器的电路结构很复杂,设计和调试都非常困难,后来就被微程序控制器所替复杂,设计和调试都非常困难,后来就被微程序控制器所替代。但是随着新一代机器及代。但是随着新一代机器及VLSIVLSI技术的发展,硬布线逻辑设技术的发展,硬布线逻辑设计思想又得到了重视。因此,近年来在某些超高速新型计算计思想又得到了重视。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使机结构中,又选用了硬布
50、线控制,或与微程序控制器混合使用。用。硬布线控制器设计(1)n组合逻辑控制器由组合逻辑线路、模组合逻辑控制器由组合逻辑线路、模k时序产生器和时序产生器和1/k译译码器等部件组成,其原理如图所示。码器等部件组成,其原理如图所示。硬布线控制器设计(2)例例4 图图6.32中五条指令的微操作控制信号的产生。中五条指令的微操作控制信号的产生。回顾指令流程回顾指令流程写出逻辑函数写出逻辑函数LDAR=M1T2+M2(ADD+STA)T2LDDR=M1T3+M3(ADD+STA)T3LDIR=M1T4RD=M1+M3ADDWE=M3STA其中:其中:M1、M2、M3是三个节拍电位信号是三个节拍电位信号;T