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

下载本文档

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

文档简介

1、第六章第六章 中央处理器中央处理器6.1 6.1 控制器的组成控制器的组成6.2 6.2 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.3 6.3 微程序设计技术微程序设计技术6.4 6.4 硬布线控制的计算机硬布线控制的计算机6.5 6.5 流水线工作原理流水线工作原理6.6 CPU6.6 CPU举例举例6.7 6.7 计算机的供电计算机的供电本章教学内容本章教学内容本章学习目标本章学习目标从两个方面来认识从两个方面来认识CPUCPU:lCPUCPU的结构组成的结构组成lCPUCPU如何工作如何工作计算机组成:计算机组成:运算器、控制器、存储器、输入设备和输出运算器、控制器

2、、存储器、输入设备和输出设备设备五大部件五大部件 微处理器微处理器: :运算器运算器+ +控制器控制器集成在一个芯片上,通常称之为集成在一个芯片上,通常称之为中央处理部件中央处理部件( (CPUCPU) )。控制器的组成和功能控制器的组成和功能: :(6.16.1节节) 协调并控制计算机的各个部件执行程序的指令序列。协调并控制计算机的各个部件执行程序的指令序列。控制器分为微程序控制器(控制器分为微程序控制器(6.26.2节、节、6.36.3节)和硬布线控节)和硬布线控制器(制器(6.46.4节)。节)。机器加电和机器加电和resetreset:(1 1)可以利用可以利用resetreset信号

3、将某值信号将某值( (例如全例如全 “0 0”) )置于程序计数器置于程序计数器PCPC中,此即为中,此即为开机后执行的第一条指令的地址,也就是固定程序入口地址。开机后执行的第一条指令的地址,也就是固定程序入口地址。(2 2)也可以直接在指令寄存器中置入一条无条件转移指令)也可以直接在指令寄存器中置入一条无条件转移指令( (转移到固定程序入转移到固定程序入口口) ),然后开始执行程序。,然后开始执行程序。执行程序:执行程序:固定程序固定程序: :先对计算机各部件进行测试,然后引导进入操作系统环境,先对计算机各部件进行测试,然后引导进入操作系统环境,等候从键盘、鼠标等送入的命令。等候从键盘、鼠标

4、等送入的命令。( (一般放在一般放在ROMROM中中) ) 程序执行过程:程序执行过程:计算机从计算机从程序入口地址开始程序入口地址开始执行该程序的指令序列,执行该程序的指令序列,是不断地是不断地取指令、分析指令取指令、分析指令和和执行指令执行指令这样一个周而复始的过程。这样一个周而复始的过程。 当前当前正在执行的指令地址是放在控制器的程序计数器正在执行的指令地址是放在控制器的程序计数器(PC)(PC)中的。中的。停机和停电:停机和停电:(P129P129)停机:停机:一般停机时电压任维持正常(晶振停振),寄存器与存储器仍一般停机时电压任维持正常(晶振停振),寄存器与存储器仍保持信息不变。重启

5、后从断点处继续执行。保持信息不变。重启后从断点处继续执行。停电:停电:寄存器与存储器内容消失,加电后产生的寄存器与存储器内容消失,加电后产生的resetreset信号使机器从固信号使机器从固定入口重新开始运行。定入口重新开始运行。断电触发的中断保护断电触发的中断保护计算机的工作过程计算机的工作过程: 加电加电产生产生resetreset信号信号执行程序执行程序停机停机停电停电6 61 1 控制器的组成控制器的组成6.1.1 6.1.1 控制器的功能控制器的功能 计算机对信息进行处理计算机对信息进行处理( (或计算或计算) )是通过是通过程序的程序的执行执行而实现的,程序是完成某个确定算法的而实

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

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

8、外来的干预为止。此循环,直到遇到停机指令或外来的干预为止。部件或设备发出:部件或设备发出: (1)(1)“中断请求中断请求”信号信号 待待CPUCPU执行完当前指令后,响应该请求,中止当前执行执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断程序。当处理完毕后,再返回原程序的程序,转去执行中断程序。当处理完毕后,再返回原程序继续运行下去。继续运行下去。 (2)DMA(2)DMA请求信号请求信号 等等CPUCPU完成当前机器周期操作后,暂停工作,让出总线完成当前机器周期操作后,暂停工作,让出总线给给I IO O设备,在完成设备,在完成I IO O设备与存储器之间的传送数据操作设备与存

9、储器之间的传送数据操作后,后,CPUCPU从暂时中止的机器周期开始继续执行指令。从暂时中止的机器周期开始继续执行指令。4 4控制程序和数据的输入与结果输出控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向输入输出设根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成备发出一些相应的命令来完成I IO O功能,这实际上也是通过执功能,这实际上也是通过执行程序来完成的。行程序来完成的。5 5对异常情况和某些请求的处理对异常情况和某些请求的处理6.1.2 6.1.2 控制器的组成控制器的组成1程序计数器程序计数器(PC)(PC)即指令地址寄存器。在某些计算

10、机中用来存即指令地址寄存器。在某些计算机中用来存放当前正在执行的指令地址;而在另一些计算放当前正在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址机中则用来存放即将要执行的下一条指令地址;而在有指令预取功能的计算机中,一般还需;而在有指令预取功能的计算机中,一般还需要增加一个程序计数器用来存放下一条要取出要增加一个程序计数器用来存放下一条要取出的指令地址。的指令地址。2 2指令寄存器(指令寄存器(IRIR)用以存放当前正在执行的指令,以便在指令用以存放当前正在执行的指令,以便在指令执行过程中,控制完成一条指令的全部功能。执行过程中,控制完成一条指令的全部功能。3 3指令译

11、码器或操作码译码器(指令译码器或操作码译码器(IDID)对指令寄存器中的操作码进行分析解释,产对指令寄存器中的操作码进行分析解释,产生相应的控制信号。生相应的控制信号。 4 4脉冲源及启停线路(脉冲源及启停线路(CLKCLK)脉冲源产生一定频率的脉冲信号,作为整个机器的时脉冲源产生一定频率的脉冲信号,作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。在机器刚加钟脉冲,是机器周期和工作脉冲的基准信号。在机器刚加电时,还应产生一个总清信号电时,还应产生一个总清信号(reset)(reset)。启停线路保证可靠地送出或封锁时钟脉冲,控制时序启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发

12、生或停止,从而启动机器工作或使之停机。信号的发生或停止,从而启动机器工作或使之停机。5 5时序控制信号形成部件(时序控制信号形成部件(C CONON)当机器启动后,在当机器启动后,在CLKCLK时钟作用下,根据当前正在执行时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。能部件的反馈信号调整时序控制信号。 即指令地址寄存器。即指令地址寄存器。存放当前正在执行存放当前正在执行的指令地址或下一的指令地址或下一条指令地址。条指令地址。指 令 地 址 形 成指 令 地 址 形 成 : : (

13、PC)+1-PC(PC)+1-PC。或。或: :转移指令修改其内转移指令修改其内容容用以存放当前正用以存放当前正在执行的指令在执行的指令对指令寄存器中对指令寄存器中的操作码进行分的操作码进行分析解释,产生相析解释,产生相应的控制信号。应的控制信号。脉冲源产生一定频率的脉冲信号作脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。期和工作脉冲的基准信号。根据当前正在执行的指令的需根据当前正在执行的指令的需要,产生相应的时序控制信号要,产生相应的时序控制信号图6.1控制器基本组成框图1 1、控制器包括哪几个组成部分,各个部分的功能是什么

14、?、控制器包括哪几个组成部分,各个部分的功能是什么?2 2、控制器需要向哪些逻辑电路发送控制信号?各发送哪些控、控制器需要向哪些逻辑电路发送控制信号?各发送哪些控制信号?制信号?1.1.组成控制器的基本电路组成控制器的基本电路计算机中采用的电路,基本上分为两种类型。计算机中采用的电路,基本上分为两种类型。 一类是具有记忆功能一类是具有记忆功能的触发器以及由它组成的触发器以及由它组成的寄存器、计数器和存的寄存器、计数器和存储单元等。储单元等。 一类是没有记忆功能的门电路及由它组成的加法器、一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元算术逻辑运算单元( (ALU)ALU)和各种逻

15、辑电路等和各种逻辑电路等。6.1.36.1.3指令执行过程指令执行过程图6.2记忆电路2 2指令执行过程举例指令执行过程举例数据通路:数据通路:控制器组成控制器组成: :图图6.16.1 运算器组成运算器组成: :图6.4 4 中央处理器组成:中央处理器组成:图图6 6. .6 6u一条加法指令的执行过程一条加法指令的执行过程: : 指令格式指令格式: :rsrs,rdrd,rsrs1 1为通用寄存器地址;为通用寄存器地址;imm(imm(或或disp)disp)为立即数为立即数( (或位移量或位移量) )。加法指令功能:加法指令功能:(rs)+(rs1)+disp- rd(rs)+(rs1)

16、+disp- rd取指令取指令计算地址取数取数运算送结果运算送结果划分机器周期划分机器周期的原则的原则: :总线总线不冲突不冲突. .( (时序图时序图) )返回指令执行返回指令执行图6.1控制器基本组成框图返回指令执行返回指令执行图6.4运算器框图返回指令执行返回指令执行返回指令执行返回指令执行取指令取指令: : PCABWR=0,M I O = 1 ;DBIR;PC+1计算地址计算地址rslGR,(rsl) ALU,dispALU;“+” ;ALUAR返回指令执行返回指令执行返回指令执行返回指令执行取数取数: : AR ABWR=0MIO=1DB DR返回指令执行返回指令执行运算送结果运算

17、送结果: : rs GR (rs) ALUDR ALU“+” :rd GRALU rd 置置N,Z,V,C返回指令执行返回指令执行取指令取指令: : PCABWR=0,M I O = 1 ;DBIR;PC+1计算地址计算地址rslGR,(rsl) ALU,dispALU;“+” ;ALUAR取数取数: : AR ABWR=0MIO=1DB DR运算送结果运算送结果: : rs GR (rs) ALUDR ALU“+” :rd GRALU rd 置置N,Z,V,C2)2)条件转移指令的执行过程条件转移指令的执行过程 指令功能:指令功能:根据根据N N,Z Z,V V,C C的状态,决定的状态,决

18、定是否转换。如转移条件成立,则转移到本条指是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。令所指定的地址,否则顺序执行下一条指令。 指令执行步骤:指令执行步骤: (1)(1)从存储器取指令,送入指令寄存器,并进从存储器取指令,送入指令寄存器,并进行操作码译码。行操作码译码。 程序计数器加程序计数器加1 1,如不转移,即为下一条要执,如不转移,即为下一条要执行的指令地址。行的指令地址。 本操作对所有指令都是相同的。本操作对所有指令都是相同的。 (2)(2)如转移条件成立,根据指令规定的寻址方如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻

19、址方式,式计算有效地址,转移指令经常采用相对寻址方式,此时此时转移地址转移地址=PC+disp=PC+disp。此处。此处PCPC是指本条指令的地址,是指本条指令的地址,而在上一机器周期已执行而在上一机器周期已执行PC+1PC+1操作,因此计算时应取操作,因此计算时应取原原PCPC值,或对运算进行适当修正。最后将转移地址送值,或对运算进行适当修正。最后将转移地址送PCPC。控制信号控制信号: :PC ALUPC ALUdispALUdispALU “+ +” ALUPCALUPC 其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最

20、后将所有的控制信号进行综合简化。 控制器的功能就是按每条指令的要求产每条指令的要求产生所需的控制信号生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。 产生控制信号一般有产生控制信号一般有微程序控制微程序控制和和硬布线控制硬布线控制两种方法。两种方法。6.6.2 2 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.2.1 6.2.1 微程序控制的基本概念微程序控制的基本概念1.1.微操作微操作( (微命令微命令) ) 实现一条指令的功能按一定次序执行一系列基本操作,这实现一条指令的功能按一定次序执行一系列基本操作,这些基本操作称为些基本操

21、作称为。微操作是指微操作是指不可再分解的操作不可再分解的操作,进行微操,进行微操作需要相应的控制信号作需要相应的控制信号(称为微操作控制信号或微操作命令称为微操作控制信号或微操作命令) 例如,前面讲到的加法指令,分成四步例如,前面讲到的加法指令,分成四步( (取指令、计算地址、取指令、计算地址、取数、加法运算取数、加法运算) )完成,每一步实现若干个微操作。完成,每一步实现若干个微操作。2.2.微指令微指令 由同时发出的控制信号所执行的一组微操作称为微指令,由同时发出的控制信号所执行的一组微操作称为微指令,它含控制命令它含控制命令( (信号信号) )与下一条执行的微指令地址。与下一条执行的微指

22、令地址。 将一条机器指令分成若干条微指令,按次序执行这些微将一条机器指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。指令,就可以实现指令的功能。3.3.微程序微程序 执行一条机器指令所对应的多条微指令构成一段微程序。执行一条机器指令所对应的多条微指令构成一段微程序。 如:加法指令如:加法指令“add rd/rsadd rd/rs,immrs1immrs1”所对应的微程序由所对应的微程序由以下四条微指令组成一段微程序:以下四条微指令组成一段微程序:取指微指令取指微指令计算有效地址微指令计算有效地址微指令取数微指令取数微指令运算微指令运算微指令 微程序段中各条微指令既可连续存储、

23、也可分散存储。微程序段中各条微指令既可连续存储、也可分散存储。4 4、控制存储器(、控制存储器(CSCS:Control StoreControl Store)控制字段控制字段下下一条微指令一条微指令地地址字段址字段控制存储器的工作原理控制存储器的工作原理依据从内存中读取的指令的操作码,找到与该条机器指令相对应依据从内存中读取的指令的操作码,找到与该条机器指令相对应的一段微程序的入口地址,并按下址字段提供的微地址逐条从控的一段微程序的入口地址,并按下址字段提供的微地址逐条从控制存储器中读出微指令,由控制字段提供的微命令控制计算机各制存储器中读出微指令,由控制字段提供的微命令控制计算机各功能部件

24、工作(接收、输出、执行算术或逻辑运算)功能部件工作(接收、输出、执行算术或逻辑运算)。执行机器指令的实质是什么?执行机器指令的实质是什么? 执行一段微程序执行一段微程序微程序微指令微操作(微命令)控制信号微指令的格式微指令的格式存放所有微程序的存储器。它可以用只读存储器实现存放所有微程序的存储器。它可以用只读存储器实现。6.2.2 6.2.2 实现微程序控制的基本原理实现微程序控制的基本原理1 1控制信号控制信号返回控制信号返回控制信号 以执行以执行一条加法指令一条加法指令为例,它由为例,它由四条微指令四条微指令解解释执行,一条微指令中的所有控制信号是同时发出释执行,一条微指令中的所有控制信号

25、是同时发出的。每条微指令所需的控制信号如下:的。每条微指令所需的控制信号如下: (2)(2)计算地址微指令计算地址微指令 取两个源操作数取两个源操作数( (计算地址用计算地址用) ): rslGR(8)rslGR(8),(rsl) ALU(10)(rsl) ALU(10),dispALU(4)dispALU(4)。 加法运算加法运算:“+ +”(13)(13)。 有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)ALUAR(19)。(1)(1)取指微指令取指微指令 指令地址送地址总线:指令地址送地址总线:PCAB(1)PCAB(1) 发访存控制命令,发访存控制命令,ADS(21)A

26、DS(21),M MIO=1(22)IO=1(22), W WR=0(23)R=0(23)。从存储器取指令送数据总线。从存储器取指令送数据总线。 指令送指令寄存器:指令送指令寄存器:DBIR(5)DBIR(5) 程序计数器程序计数器+1+1:PC+1(3)PC+1(3) (3)(3)取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)ARAB(20)。 发访存控制命令:发访存控制命令:ADS(21)ADS(21),M MIO(22)IO(22),W WR(23)R(23)。由存储器将数据送数据总线由存储器将数据送数据总线DBDB。 数据送数据寄存器:数据送数据寄存器:

27、DBDR(6)DBDR(6)(4)(4)加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送ALUALU:rsGR(9)rsGR(9),(rs) ALU(11)(rs) ALU(11);DRALU(12)DRALU(12)。 加法运算加法运算:“+ +”(13) (13) 送结果;送结果;ALUGR(17)微指令如何产生控制信号微指令如何产生控制信号? ? 微指令最简单的组成形式: 将每个控制信号用一个控制将每个控制信号用一个控制位来表示,当该位为位来表示,当该位为“1 1”时,时,定义为有控制信号,当该位定义为有控制信号,当该位为为“0 0”时,没有控制信号。时,没有控制信

28、号。W/R (W/R (写:写:1 1;读:;读:0)0)控制存储器容量为控制存储器容量为4K4K字,字,则每条微指令还需要则每条微指令还需要1212位位来表示下址。来表示下址。控制存储器控制存储器的容量取决于实现指令系的容量取决于实现指令系统所需的微程序长度。统所需的微程序长度。 图图6.76.7为加法指令的四条微指令编码,每一小为加法指令的四条微指令编码,每一小格表示一位格表示一位( (二进制二进制) ),空格表示,空格表示0 0,第,第2424位到第位到第3535位为下址。位为下址。假设四条微指令的地址如下:(取指微指令下址假设四条微指令的地址如下:(取指微指令下址XXXXXX为微程序入

29、口地址)为微程序入口地址)取指微指令:取指微指令:10001000Q Q计算有效地址微指令:计算有效地址微指令:10011001Q Q(加法指令入口地址)(加法指令入口地址)取数微指令:取数微指令:10021002Q Q计算并存数微指令:计算并存数微指令: 1003 1003Q Q图6.7加法指令的微指令编码微程序用流程图来表示微程序用流程图来表示方框:方框:表示微表示微指令指令右下角的右下角的数字:表数字:表示下址示下址上方的数字:上方的数字:微指令的地址微指令的地址图6.8微程序流程图举例微程序控制器的基本工作原理:微程序控制器的基本工作原理: 当指令取入当指令取入IRIR中以后,中以后,

30、根据操作码进行译码,根据操作码进行译码,得到相应指令的第一得到相应指令的第一条微指令的地址。条微指令的地址。指令译码部件可用指令译码部件可用只读存储器组成,只读存储器组成,将操作码作为只读将操作码作为只读存储器的输入地址,存储器的输入地址,该单元的内容即为该单元的内容即为相应的微指令在控相应的微指令在控制存储器中的地址。制存储器中的地址。据根控制存储器中的据根控制存储器中的地址从控制存储器取地址从控制存储器取出微指令,并将它存出微指令,并将它存放在微指令寄存器中。放在微指令寄存器中。控制字段各位的输出控制字段各位的输出通过连接线直接与受通过连接线直接与受控制的门相连,于是控制的门相连,于是就提

31、供了在本节所提就提供了在本节所提出的控制信号。出的控制信号。2 2微程序控制器微程序控制器时序时序控制控制信号信号形成形成部件部件图6.9微程序控制器简化框图3、时序信号及工作脉冲的形成、时序信号及工作脉冲的形成分析分析(P126(P126)图)图6.106.10中输出与输入波形之间的关系中输出与输入波形之间的关系结论:结论:CLKCLK2 2二分频得到二分频得到CLKCLKCLKCLK二分频二分频 得到得到T T1 1T T1 1反相反相 得到得到T T2 2时序图时序图CLKTCLKCP22CLKTCPCLK211CLKCPCLKCP21两个工作脉冲的叠加信号两个工作脉冲的叠加信号T T2

32、 2的末尾产的末尾产生一个生一个CPCP,用来保存计算用来保存计算结果或接收传结果或接收传送的数据及指送的数据及指令等。令等。T T1 1的末尾产的末尾产生另一个工作生另一个工作脉冲。脉冲。4电路配合中的常见问题电路配合中的常见问题1 1)电路延迟引起的波形畸变电路延迟引起的波形畸变 图6.11符合电路及波形F/FF/F无无延迟延迟CLKCLK无无畸变畸变F/FF/F有延有延迟迟CLKCLK有有畸变畸变图6.12延迟引起的毛刺2 2)机器周期的确定)机器周期的确定 (1)机器周期 应大于等于一条微指令中执行时间最长的微操作。 主要考虑存储器访问时间和一次算术运算所需的时间。 (2)机器周期的延

33、长如图6.5, 信号来自存储器,若无 信号时,CPU在将插入等待脉冲,延长一个或一个以上T2节拍信号,等待存储器访问的完成。readyready图6.13触发器之间传送信息的电路3)时钟脉冲时钟脉冲CLKCLK和工作脉冲和工作脉冲CPCP的标准性的标准性当满足当满足condcond条件时,才产条件时,才产生生CPCPB B和和CP-CCP-C信号。信号。CPCP脉冲不受控制,总是作用在触脉冲不受控制,总是作用在触发器上,但当条件不成立时,使发器上,但当条件不成立时,使触发器处于保持状态触发器处于保持状态, ,而当条件而当条件成立时,接受新状态。成立时,接受新状态。打入脉冲的同时性:在控制打入脉

34、冲的机器中,总是尽量将总是尽量将CPCP信号送到信号送到控制门的最后一级控制门的最后一级。以免延迟造成失真和不同步。图6.14 CP脉冲在电路中的安排5. 微程序控制计算机的工作过程简单的总结微程序控制计算机的工作过程简单的总结1)机器加电后,首先由reset信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。当电压达到稳定值后,自动启动机器工作,产生节拍电位T1,T2和CP。2)机器开始执行程序,不断地取出指令、分析指令、执行指令。程序可以存放在固定存储器中,也可以利用一小段引导程序(在固存中)将要执行的程序

35、和数据从外部设备调入主存。3)实现各条指令的微程序存放在微程序控制器中当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命令时,应该待当前这条指令执行完再停机或至少在本机器周期结束时再停机。6.6.3 3 微程序设计技术微程序设计技术在实际进行微程序设计时,要考虑下面三个问题:在实际进行微程序设计时,要考虑下面三个问题: (1) (1)如何缩短微指令字长;如何缩短微指令字长; (2) (2)如何减少微程序长度;如何减少微程序长度; (3) (3)如何提高微程序的执行速度。如何提高微程序的执

36、行速度。 6.3.1 6.3.1 微指令控制字段的编译法微指令控制字段的编译法微指令的编码,就是对微指令的控制字段采用的表示方法。微指令的编码,就是对微指令的控制字段采用的表示方法。1 1直接控制法直接控制法( (不译码法不译码法 ) ) 操作控制字段中的每一位代表一个微命令。操作控制字段中的每一位代表一个微命令。“1 1”有效,有效,“0 0”无效。无效。 优点:简单直观,输出直接用于控制优点:简单直观,输出直接用于控制 缺点:微指令字较长,因而使控制存储器容量较大。缺点:微指令字较长,因而使控制存储器容量较大。2 2字段直接编译法(使用较普遍)字段直接编译法(使用较普遍) 微周期:微周期:

37、是一条微指令所需的执行时间。是一条微指令所需的执行时间。 如果有若干个如果有若干个( (一组一组) )微命令,在每次选择使用它们的微微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是周期内,只有一个微命令起作用,那么这若干个微命令是互互斥的斥的。 选择互斥的微命令入同组分组编码,用微命令译码器译选择互斥的微命令入同组分组编码,用微命令译码器译码控制。码控制。 如:如:PC-GPC-G、ALU-GALU-G、R0-GR0-G、R1-GR1-G、R2-GR2-G 例:字段长度为例:字段长度为3 3位时,最多只能表示位时,最多只能表示7 7个互斥的微命令,个互斥的微命令

38、,通常代码通常代码000000表示不发微命令表示不发微命令。 字段长度字段长度n n与所能表示的微命令数与所能表示的微命令数m m的关系:的关系:m=2m=2n n-1-1 优点:缩短了微指令长度。优点:缩短了微指令长度。 代价:在微指令寄存器的输出端,为该字段增加一个译代价:在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。码器,该译码器的输出即为原来的微命令。图6.16字段直接编译法3 3、字段间接编译法、字段间接编译法 如果在字段直接编译法中,还规定一个字段的某些微命如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为

39、令,要兼由另一字段中的某些微命令来解释,称为字段间字段间接编译法接编译法。优点:进一步减少了指令长度。优点:进一步减少了指令长度。缺点:削弱微指令的并行控制能力。缺点:削弱微指令的并行控制能力。A A受受B B控制,控制,B B发发b b1 1微命令时,微命令时,字段字段A A发出发出a a1,11,1a a7,17,1中的中的一个微命令。一个微命令。B B发发b b2 2微命令时,微命令时,字段字段A A发出发出a a1 1, ,2 2a a7 7, ,2 2中中的一个微命令。的一个微命令。4.4.常数源字段常数源字段供设计者在填写微指令时作为要使用的常数供设计者在填写微指令时作为要使用的常

40、数E E;参与其它控制字段的间接编码。参与其它控制字段的间接编码。适用于扩充定义零星、不常用的微操作。适用于扩充定义零星、不常用的微操作。 O C FES C F6.3.2 微程序流的控制微程序流的控制基本概念基本概念现行微指令现行微指令 : :当前正在执行的微指令。当前正在执行的微指令。现行微地址现行微地址: :现行微指令所在的控制存储器单元的地址。现行微指令所在的控制存储器单元的地址。后继微指令:后继微指令:下一条要执行的微指令。下一条要执行的微指令。后继微地址:后继微地址:后继微指令所在的控制存储器单元地址。后继微指令所在的控制存储器单元地址。微程序流控制:微程序流控制:当前微指令执行完

41、毕后,产生后继微指当前微指令执行完毕后,产生后继微指令的微地址的方法。令的微地址的方法。1 1、增量与下址字段结合产生后继微指令地址的方法、增量与下址字段结合产生后继微指令地址的方法 A A)微程序入口:微程序入口:首条微指令,由专门硬件电路产生首条微指令,由专门硬件电路产生B B)顺序执行:顺序执行:后继微地址现行微地址后继微地址现行微地址1 1C C)转移:转移:后继微地址现行微地址转移条件译码(相对转移量)后继微地址现行微地址转移条件译码(相对转移量)D D)由操作码产生后继地址由操作码产生后继地址在图中,在图中,PCPC兼作控制兼作控制存储器的地址寄存器,输入存储器的地址寄存器,输入有

42、四个来源。下址字段仅有有四个来源。下址字段仅有两位,其功能是选择三个输两位,其功能是选择三个输入源中的一个作为入源中的一个作为PCPC的输的输入,而微程序入口是由专门入,而微程序入口是由专门的硬件产生的,不受下址字的硬件产生的,不受下址字段控制。段控制。优点:可使微指令的下址字优点:可使微指令的下址字段很短,仅起选择作用。段很短,仅起选择作用。缺点:微程序转移很不灵活,缺点:微程序转移很不灵活,使得微程序在控存中的物理使得微程序在控存中的物理空间分配相当困难。空间分配相当困难。 产生后继微地址的基本方式产生后继微地址的基本方式增量与下址字段结合产生后继微地址增量与下址字段结合产生后继微地址微指

43、令的下址字段分成两部分:微指令的下址字段分成两部分: 转移控制字段转移控制字段BCFBCF和转移地址字段和转移地址字段BAFBAF, BCFBCF控制转移条件,控制转移条件,BAFBAF控制转控制转移的目标地址。移的目标地址。 当条件成立时,微程序要转移,将当条件成立时,微程序要转移,将BAFBAF送送PCPC,否则顺序执行下一条微,否则顺序执行下一条微指令指令(PC+1)(PC+1)。 执行微程序条件转移时,决定转移与否的硬件条件有好几种。由执行微程序条件转移时,决定转移与否的硬件条件有好几种。由BCFBCF定定义的八个微命令见表义的八个微命令见表6 62 2。BCF=0BCF=0,顺序执,

44、顺序执行微命令,行微命令,PC+PC+1 1为后继为后继微地址。微地址。BCF=4BCF=4;测试循环微命;测试循环微命令,假如令,假如CTCT0 0,表,表示需要继续执行循环示需要继续执行循环微命令,将循环人口微命令,将循环人口微地址从微地址从BAFBAF送送PCPC。假如假如CT=0CT=0,表示循环,表示循环结束,后继微地址为结束,后继微地址为PC+1PC+1。本条微命令。本条微命令同时完成同时完成CT-1CT-1操作。操作。BCF=5BCF=5,转微子程序微,转微子程序微命令,把微子程序入命令,把微子程序入口地址从口地址从BAFBAF送送PCPC,从而实现转移。在转从而实现转移。在转移

45、之前要把该条微指移之前要把该条微指令的下一地址令的下一地址(PC+1)(PC+1)送入返回寄存器送入返回寄存器RRRR之之中。中。BCF=6BCF=6,返回微命令,返回微命令,把把RRRR中的返回微地址中的返回微地址送入送入PCPC,从而实现,从而实现从微子程序返回到原从微子程序返回到原来的微程序。来的微程序。BCF=7BCF=7,操作码产生,操作码产生后继微地址的微命令,后继微地址的微命令,这是取指后,按现行这是取指后,按现行指令执行的第一条微指令执行的第一条微指令。指令。图6.18“增量与下址字段”方式的原理图BCF=1BCF=1,条件转,条件转移微命令,当移微命令,当运算结果为运算结果为

46、0 0时,时,将将BAFBAF送送PCPC,否则否则PC+lPC+lPCPCBCF=3BCF=3,无条件,无条件转移微命令,将转移微命令,将BAFBAF送送PCPC。BCF=2BCF=2,条件转,条件转移微命令,当移微命令,当运算结果溢出运算结果溢出时,将时,将BAFBAF送送PCPC,否则,否则PC+1PC+1PCPC BAFBAF的长度有两种情况:的长度有两种情况:与与PCPC的位数相等;的位数相等;可以从控制存储器的可以从控制存储器的任一单元取微指令。任一单元取微指令。 特点特点: :转移灵活,但增加了微指令的长度转移灵活,但增加了微指令的长度. .比比PCPC短;短;考虑到转移点在考虑

47、到转移点在PCPC附近,或附近,或者在控制存储器的某区域内,所以由原来的者在控制存储器的某区域内,所以由原来的PCPC的若干位与的若干位与BAFBAF组合成转移微地址。组合成转移微地址。 特点特点: :转移地址受到限制,但可缩短微指转移地址受到限制,但可缩短微指令长度。令长度。 2.2.多路转移方式多路转移方式 一一条微指令存在多个转移分支的情况称为条微指令存在多个转移分支的情况称为多路转移。多路转移。 后继微地址的产生条件:运算结果所置的标志位后继微地址的产生条件:运算结果所置的标志位N N、Z Z、V V、C C等,计数器状态,通据通路状态等,计数器状态,通据通路状态。 例如例如: :根据

48、某些硬件状态来决定后继微地址根据某些硬件状态来决定后继微地址。根据根据一种状态一种状态( (非非0 0即即1)1)来决定微地址可以有两种情况,即来决定微地址可以有两种情况,即两路转移两路转移;而根据而根据两种状态两种状态来决定微地址可以有四种情况,来决定微地址可以有四种情况,即即四路转移四路转移。四路转移涉及微地址的两位,一般就定在微地址的最后两四路转移涉及微地址的两位,一般就定在微地址的最后两位,也就是说当执行转移微指令时,根据条件可转移到四个位,也就是说当执行转移微指令时,根据条件可转移到四个微地址中的一个,这四个微地址的高位部分相等,仅是最低微地址中的一个,这四个微地址的高位部分相等,仅

49、是最低两位不同。两位不同。优点优点: :实现多路转移可减少微程序的长度。实现多路转移可减少微程序的长度。 3.3.微中断微中断 微中断与程序中断的概念相似,当某一条件满微中断与程序中断的概念相似,当某一条件满足时,发出微中断请求信号,足时,发出微中断请求信号,CPUCPU在完成现行指令在完成现行指令的微程序后响应该中断请求,进入微中断处理程序。的微程序后响应该中断请求,进入微中断处理程序。该微程序的入口地址该微程序的入口地址(硬件产生)(硬件产生)即为刚刚执行的即为刚刚执行的微程序的后继微地址。微程序的后继微地址。 设计人员在进行微程序设计时,已安排好微中断处理设计人员在进行微程序设计时,已安

50、排好微中断处理程序在控制存储器的位置,因此该微程序段的入口地址是程序在控制存储器的位置,因此该微程序段的入口地址是已知的。当已知的。当CPUCPU响应微中断请求时,由微中断程序的入口地响应微中断请求时,由微中断程序的入口地址。当中断处理完毕后,再返回到原来被中断的程序。这址。当中断处理完毕后,再返回到原来被中断的程序。这也是产生后继微地址的一种情况。也是产生后继微地址的一种情况。微指令的格式大体上可分成两类:微指令的格式大体上可分成两类:水平型微指令和垂直型微指水平型微指令和垂直型微指令。令。 1. 1. 水平型微指令水平型微指令 特点特点: :在一条微指令中定义并执行多个并行操作微命令。在一

51、条微指令中定义并执行多个并行操作微命令。一般格式为:一般格式为: 控制字段判别测试字段下地址字段控制字段判别测试字段下地址字段 在实际应用中,直接控制法、字段编译法在实际应用中,直接控制法、字段编译法( (直接、间直接、间接编译法接编译法) )经常应用在同一条水平型微指令中。从速度经常应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,所以来看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。会增加一些延迟时间。6.3.3 6.3.3 微指令的格式微指令的格式2. 2. 垂直型微指令垂直型微指令 在微指令中设置有在微指令中设置有微操作码字段微操作码字段,采用微操,采用微操作码编译法,作码编译法,由微操作码规定微指令的功能由微操作码规定微指令的功能,称,称为垂直型微指令。为垂直型微指令。微操作码微操作码微操作数微操作数 特点:不强调实现微指令的并行控制功能,通常一特点:不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似;每条指令有一个操作码;每条微指令有式与指令相似;每条指令有一个操作码;每条微指令有

温馨提示

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

最新文档

评论

0/150

提交评论