您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第6章 中央处理器(1)-控制器和微程序
第六章中央处理器6.1控制器的组成6.2微程序控制计算机的基本工作原理6.3微程序设计技术6.4硬布线控制的计算机6.5流水线工作原理6.6CPU举例6.7计算机的供电本章教学内容本章学习目标从两个方面来认识CPU:CPU的结构组成CPU如何工作计算机组成:运算器、控制器、存储器、输入设备和输出设备五大部件微处理器:运算器+控制器集成在一个芯片上,通常称之为中央处理部件(CPU)。控制器的组成和功能:(6.1节)协调并控制计算机的各个部件执行程序的指令序列。控制器分为微程序控制器(6.2节、6.3节)和硬布线控制器(6.4节)。机器加电和reset:(1)可以利用reset信号将某值(例如全“0”)置于程序计数器PC中,此即为开机后执行的第一条指令的地址,也就是固定程序入口地址。(2)也可以直接在指令寄存器中置入一条无条件转移指令(转移到固定程序入口),然后开始执行程序。执行程序:固定程序:先对计算机各部件进行测试,然后引导进入操作系统环境,等候从键盘、鼠标等送入的命令。(一般放在ROM中)程序执行过程:计算机从程序入口地址开始执行该程序的指令序列,是不断地取指令、分析指令和执行指令这样一个周而复始的过程。当前正在执行的指令地址是放在控制器的程序计数器(PC)中的。停机和停电:(P129)停机:一般停机时电压任维持正常(晶振停振),寄存器与存储器仍保持信息不变。重启后从断点处继续执行。停电:寄存器与存储器内容消失,加电后产生的reset信号使机器从固定入口重新开始运行。断电触发的中断保护计算机的工作过程:加电→产生reset信号→执行程序→停机→停电6.1控制器的组成6.1.1控制器的功能计算机对信息进行处理(或计算)是通过程序的执行而实现的,程序是完成某个确定算法的指令序列,要预先存放在存储器中。控制器的作用:控制程序的执行,它必须具有以下基本功能:1.取指令当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。然后不断取出第2,3,…条指令。2.分析指令或叫解释指令、指令译码等。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。3.执行指令根据分析指令时产生的“操作命令”和“操作数地址”形成相应的操作控制信号序列,通过CPU及输入输出设备的执行,实现每条指令的功能,其中还包括对运算结果的处理以及下条指令地址的形成。计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行……,如此循环,直到遇到停机指令或外来的干预为止。部件或设备发出:(1)“中断请求”信号待CPU执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断程序。当处理完毕后,再返回原程序继续运行下去。(2)DMA请求信号等CPU完成当前机器周期操作后,暂停工作,让出总线给I/O设备,在完成I/O设备与存储器之间的传送数据操作后,CPU从暂时中止的机器周期开始继续执行指令。4.控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能,这实际上也是通过执行程序来完成的。5.对异常情况和某些请求的处理6.1.2控制器的组成1.程序计数器(PC)即指令地址寄存器。在某些计算机中用来存放当前正在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址;而在有指令预取功能的计算机中,一般还需要增加一个程序计数器用来存放下一条要取出的指令地址。2.指令寄存器(IR)用以存放当前正在执行的指令,以便在指令执行过程中,控制完成一条指令的全部功能。3.指令译码器或操作码译码器(ID)对指令寄存器中的操作码进行分析解释,产生相应的控制信号。4.脉冲源及启停线路(CLK)脉冲源产生一定频率的脉冲信号,作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。在机器刚加电时,还应产生一个总清信号(reset)。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使之停机。5.时序控制信号形成部件(CON)当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。即指令地址寄存器。存放当前正在执行的指令地址或下一条指令地址。指令地址形成:(PC)+1-PC。或:转移指令修改其内容用以存放当前正在执行的指令对指令寄存器中的操作码进行分析解释,产生相应的控制信号。脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。根据当前正在执行的指令的需要,产生相应的时序控制信号图6.1控制器基本组成框图1、控制器包括哪几个组成部分,各个部分的功能是什么?2、控制器需要向哪些逻辑电路发送控制信号?各发送哪些控制信号?1.组成控制器的基本电路计算机中采用的电路,基本上分为两种类型。一类是具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元等。一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。6.1.3指令执行过程图6.2记忆电路2.指令执行过程举例数据通路:控制器组成:图6.1运算器组成:图6.4中央处理器组成:图6.6(1)一条加法指令的执行过程:指令格式:操作码rs,rdrs1imm(或disp)rs,rd,rs1为通用寄存器地址;imm(或disp)为立即数(或位移量)。加法指令功能:(rs)+[(rs1)+disp]-rd取指令计算地址取数运算送结果划分机器周期的原则:总线不冲突.(时序图)返回指令执行图6.1控制器基本组成框图返回指令执行图6.4运算器框图返回指令执行返回指令执行取指令:PC→ABW/R=0,M/IO=1;DB→IR;PC+1计算地址rsl→GR,(rsl)→ALU,disp→ALU;“+”;ALU→AR返回指令执行返回指令执行取数:AR→ABW/R=0M/IO=1DB→DR返回指令执行运算送结果:rs→GR(rs)→ALUDR→ALU“+”:rd→GRALU→rd置N,Z,V,C返回指令执行取指令:PC→ABW/R=0,M/IO=1;DB→IR;PC+1计算地址rsl→GR,(rsl)→ALU,disp→ALU;“+”;ALU→AR取数:AR→ABW/R=0M/IO=1DB→DR运算送结果:rs→GR(rs)→ALUDR→ALU“+”:rd→GRALU→rd置N,Z,V,C2)条件转移指令的执行过程指令功能:根据N,Z,V,C的状态,决定是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。指令执行步骤:(1)从存储器取指令,送入指令寄存器,并进行操作码译码。程序计数器加1,如不转移,即为下一条要执行的指令地址。本操作对所有指令都是相同的。(2)如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址=PC+disp。此处PC是指本条指令的地址,而在上一机器周期已执行PC+1操作,因此计算时应取原PC值,或对运算进行适当修正。最后将转移地址送PC。控制信号:PC→ALUdisp→ALU“+”ALU→PC其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综合简化。控制器的功能就是按每条指令的要求产生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。产生控制信号一般有微程序控制和硬布线控制两种方法。6.2微程序控制计算机的基本工作原理6.2.1微程序控制的基本概念1.微操作(微命令)实现一条指令的功能按一定次序执行一系列基本操作,这些基本操作称为~。微操作是指不可再分解的操作,进行微操作需要相应的控制信号(称为微操作控制信号或微操作命令)例如,前面讲到的加法指令,分成四步(取指令、计算地址、取数、加法运算)完成,每一步实现若干个微操作。2.微指令由同时发出的控制信号所执行的一组微操作称为微指令,它含控制命令(信号)与下一条执行的微指令地址。将一条机器指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。3.微程序执行一条机器指令所对应的多条微指令构成一段微程序。如:加法指令“addrd/rs,imm[rs1]”所对应的微程序由以下四条微指令组成一段微程序:取指微指令计算有效地址微指令取数微指令运算微指令微程序段中各条微指令既可连续存储、也可分散存储。4、控制存储器(CS:ControlStore)控制字段下一条微指令地址字段控制存储器的工作原理依据从内存中读取的指令的操作码,找到与该条机器指令相对应的一段微程序的入口地址,并按下址字段提供的微地址逐条从控制存储器中读出微指令,由控制字段提供的微命令控制计算机各功能部件工作(接收、输出、执行算术或逻辑运算)。执行机器指令的实质是什么?执行一段微程序微程序←微指令←微操作(微命令)←控制信号微指令的格式存放所有微程序的存储器。它可以用只读存储器实现。6.2.2实现微程序控制的基本原理1.控制信号返回控制信号以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:(2)计算地址微指令①取两个源操作数(计算地址用):rsl→GR(8),(rsl)→ALU(10),disp→ALU(4)。②加法运算:“+”(13)。③有效地址送地址寄存器:ALU→AR(19)。(1)取指微指令①指令地址送地址总线:PC→AB(1)②发访存控制命令,ADS(21),M/IO=1(22),W/R=0(23)。从存储器取指令送数据总线。③指令送指令寄存器:DB→IR(5)④程序计数器+1:PC+1(3)(3)取数微指令①数据地址送地址总线:AR→AB(20)。②发访存控制命令:ADS(21),M/IO(22),W/R(23)。由存储器将数据送数据总线DB。③数据送数据寄存器:DB→DR(6)(4)加法运算和送结果微指令①两源操作数送ALU:rs→GR(9),(rs)→ALU(11);DR→ALU(12)。②加法运算:“+”(13)③送结果;ALU→GR(17)微指令如何产生控制信号?微指令最简单的组成形式:将每个控制信号用一个控制位来表示,当该位为“1”时,定义为有控制信号,当该位为“0”时,没有控制信号。W/R(写:1;读:0)控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。图6.7为加法指令的四条微指令编码,每一小格表示一位(二进制),空格表示0,第24位到第35位为下址。假设四条微指令的地址如下:(取指微指令下址XXX为微程序入口地址)取指微指令:1000Q计算有效地址微指令:1001Q(加法指令入口地址)取数微指令:1002Q计算并存数微指令:1003Q图6.7加法指令的微指令编码微程序用流程图来表示方框:表示微指令右下角的数字:表示下址上方的数字:微指令的地址图6.8微程序流程图举例微程序控制器的基本工作原理:当指令取入IR中以后,根据操作码进行译码,得到相应指令的第一条微指令的地址。指令译码部件可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址。据根控制存储器中的地址从控制存储器取出微指令,并将它存放在微指令寄存器中。控制字段各位的输出通过连接线直接与受控制的门相连,于是就提供了在本节所提出的控制信号。2.微程序控制器时序控制信号形成部件图6.9微程序控制器简化框图3、时序信号及工作脉冲的形成分析(P126)图6.10中输出与输入波形之间的关系结论:CLK2二分频---得到CLKCLK二分频---得到T1T1反相---得到T2时序图CLKTCLKCP22CLKTCPCLK211CLKCPCLKCP21两个工作脉冲的叠加信号T2的末尾产生一个CP,用来保存
本文标题:第6章 中央处理器(1)-控制器和微程序
链接地址:https://www.777doc.com/doc-3404610 .html