6.2 指令的执行,6.3 时序与控制,6.4 组合逻辑控制器与PLA控制器,6.5 微程序控制器,第六章 信息流的控制,6.1 中央处理器的功能、组件与操作,6.6系统总线,§6·1 中央处理器的功能、 组成与操作,6·1·1 中央处理器的功能与组成 指令执行顺序的控制 指令操作的控制 操作时间的控制 数据的加工处理①CPU的功能,②CPU的组成,1.中央处理器的寄存器 (1)指令寄存器(IR)用于保存现行的指令 (2)程序计数器(PC)用于保存将要取出并执行的指令地址,也称指令地址寄存器 (3)通用寄存器组(GR) 可作为ALU的累加器、变址寄存器、地址指针、指令计数器、数据缓冲器,用于存放操作数和各种地址信息 (4)程序状态字寄存器(PSW)用于存放程序运行时的工作方式、运行结果特征及机器的状态等信息,又称状态寄存器 2.指令及地址译码器和微操作产生部件 指令译码器 对指令的操作码进行译码 地址译码器 对指令的寻址方式字段、地址字段进行译码,提供操作数的地址信息微操作产生部件 接受指令译码器送来的信息,与时序信号、条件及状态信息进行组合,形成各种具有时间标志的控制信号(称操作控制序列),作为它的输出信号,发送到计算机的各个部件。
微操作产生部件的结构类型,组合逻辑型,存储逻辑型,PLA 控制型,,3.时序发生器 微操作产生部件产生的微操作控制信号之间应存在着严格的时序关系,因此,在它们输出之前必须对它们进行时间控制,即给予定时,按规定的时刻送到计算机的各个部件这个功能是由时序发生器完成的6.1.2 中央处理器的操作 一、中央处理器的内部数据通路 数据在功能部件之间传送的路径称为数据通路运算器与各寄存器之间的传送路径就是中央处理器内部数据通路 二、中央处理器与主存储器的信息交换 主存储器通过贮存地址寄存器MAR与主存数据寄存器MDR连到BUS上,通过BUS与CPU交换信息起缓冲作用),三、中央处理器的基本操作 (1) 从存储器读出一个字 ADDRESS MAR READ M(AR) MDR MOC,,,(2)向存储器写入一个字 ADDRESS MAR DATA MDR WRITE MOC,首先,CPU将地址置入MAR ;然后发读命令READ启动存储器读操作 ,读出过程用M(AR)表示当读出的数据稳定在MDR后,由存储器发完成信号MOC ,通知CPU读出操作已完成 ,数据已取出。
首先,CPU将地址置入MAR ,然后送数据到MDR , 最后发写命令WRITE 启动存储器写操作当写入操作完成时,存储器向CPU发完成信号MOC.,(3)算术与逻辑操作 DATA1 LA , DATA2 LB ADD ALU BUS BUS DD,,,,,算术与逻辑操作在ALU中进行ALU本身没有寄存器,运算时,要求两个操作数同时出现在A口和B口,且保持到整个操作完毕ALU的运算结果,必须送到总线上,然后将结果送入目的地址4)通用寄存器间的数据传送 CLEAR, R1 LA MOV ALU BUS BUS R2,,,,先用清除脉冲CLEAR将LA、LB清零,然后将R1加载到LA,此时,B口被封锁控制器送来的MOV命令,启动ALU传送操作,最后将操作结果送入R2,6.2.1 指令执行的周期 一、中央处理器的控制流程,执行过程,取指令,取操作数,执行指令,,取指周期,取操作数周期,执行周期,,,,§6·2 指令的执行,CPU控制流程,执行完?,取下一条指令,结束,N,二、指令执行的周期 1. 取指周期,要解决两个问题,CPU到哪个存储单元去取指令?,如何形成后继指令地址?,,指令的地址是由PC给出,取指周期的操作为,按PC内容取出指令,并将PC内容递增。
当出现转移情况时,指令地址在执行周期被修改取操作数周期 要解决的问题是,计算操作数地址并取出操作数 操作数有效地址的形成由寻址方式确定寻址方式不同,有效地址获得的方式、过程不同,提供操作数的途径也不同取操作数周期所进行的操作对不同的寻址方式是不相同的3. 执行周期 执行周期的主要任务是完成由指令操作码规定的动作,包括传送结果及记录状态信息 操作结果送到什么地方由寻址方式确定; 状态信息,主要是条件码,记录在PSW中 若程序出现转移时,则在执行周期内还要决定转移地址因此,执行周期的操作对不同指令也不相同4.指令周期 一条指令从取出到执行完成所需要的时间为指令周期 机器周期 对应了指令执行的不同阶段,如取指周期、取操作数周期、执行周期等时钟周期 T,,,,,,,,,,,,M1 机器周期,M2 机器周期,M3 机器周期,M4 机器周期,6.2.2 指令的执行 一、指令操作流程及指令流程图,每条指令的执行过程可以分解为一组操作序列,进而分解为一组为操作序列这里,“操作”是指功能部件级的动作,它是可以再分解的微操作”是指指令序列中最基本的、不可再分割的动作例如 ,取指令周期中的PC递增操作,它可以分解为下列微操作: (参见图),PC LA 、 1 C0 、ADD、ALU BUS、 BUS PC,,,,,指令操作流程,BEGIN,PC MAR,(PC)+1 PC,READ,MDR IR,,,,,,,,,,,,R LATCH,R MAR,(R)+1 MAR,,,,,,寄存器型,间址型,自增型,,,,,,,(转下一页),,,,取指周期,取指周期的操作是每条指令都要经历的操作,又称公操作。
包括两部分:取指令和修改指令地址前者在存储器中完成;后者在ALU中完成R LATCH,R MAR,(R)+1 MAR,,,寄存器型,间址型,自增型,,,,,,,(接上页),READ,MDR LATCH,两个操作数取完?,,,,,,,,,,,,,(接下页),,,,,取操作数周期,取操作数周期的操作与指令的类型及寻址方式有关图中:第一次取源操作数,第二次取目的操作数源操作数取出后保存在LA中,目的操作数则保存在LB中图中均用LATCH示意两个操作数取完?,,(接上页),A+B BUS,A – B BUS,BUS R,BUS MDR,WRITE,END,,,,,,,,,,,,,,,,,,,,,,ADD,SUB,寄存器型,间址型、自增型,,,,执行周期,执行周期的操作由操作码字段决定操作流程运算操作在ALU中完成运算结果的去向由目的寻址字段决定每个指令周期结束都要进入结束操作,又称END操作END操作的主要内容是进行一系列测试,指示CPU去处理所发生的事件或异常情况,如停机、电源失效、数据通道请求及中断请求等如右图),END,停机?,电源失效?,DMA请求?,中断请求?,FETCH,停机处理,掉电保护处理,DMA处理,中断处理,,,,,,,,,,N,N,N,Y,Y,Y,Y,二、指令的微操作序列,例 加法指令 ADD (R0) , R1; 的微操作序列:,START FETCH(取指周期) V0 PC BUS , BUS MAR , CLEAR, PC LA, 1 C0, ADD; V1 READ, ALU BUS, BUS PC , WAIT; V2 MDR BUS, BUS IR; SOF(取源操作数周期) V0 CLEAR, R0 LA , ADD; V1 ALU BUS , BUS MAR; V2 READ, WAIT; V3 MDR BUS, BUS LA, 1 DOF;,,,,,,,,,,,,,,,DOF (取目的操作数) V0 R1 LB; V1 空操作; V2 空操作; V3 1 EXE; EXE (执行周期) V0 ADD; V1 ALU BUS, BUS R1; V2 空操作; V3 END;,说明: (1)约定两点:一是采用定长机器周期,即每个机器周期包括4个CPU周期,每个CPU周期内的微操作未作定时; 二是在一个机器周期内,只允许一次访问主存,在一个CPU周期内,只能实现一次ALU操作。
(2)WAIT 是等待信号,表示正等待存储器操作的完成当CPU需要访问主存储器时,需送READ或WRITE命令,同时,应给出WAIT信号,表示CPU等待存储器工作故,WAIT信号与READ或WRITE命令必须成对出现3)END信号表示进入指令周期的结束操作,END操作 (4)本例取目的操作数周期中,CPU几乎在空等这是由于采用定长机器周期的缘故,应尽量避免 (5)ADD信号出现3次,每次含义不同:第一次用于PC+1;第二次用于传送地址;第三次真正做加法操作三、指令的执行方式,后继指令的 衔接方式,顺序,重叠,流水,,,,,顺序执行方式,重叠执行方式,流水执行方式,,指令的 执行方式,1.顺序执行方式(串行方式),取指令,取数,执行,取指令,执行,取数,,,,,,,,第K条指令,第K+1条指令,优点:控制简单、实现方便 缺点:不能充分利用各部件、速度慢2.重叠执行方式,取指令,取数,执行,取指令,取数,执行,第K条指令,第K+1条指令,,,,重叠时间,3.流水执行方式,取指令,指令 译码,取操 作数,执行,,,,,,,,A B C D,,,,A B C D,,,,,,,,,,A、B、C、D,入口,1,2,3,4,执行时间,流水线站,§6·3 时序与控制,6.3.1 中央处理器的时序 一、多级时序系统,(1)周期电位 反映了某个状态周期(也即机器周期)的持续时间。
(2)节拍电位 反映了完成某一操作的持续时间 (3)工作脉冲 指的是节拍电位内的控制脉冲,对应了最基本的定时信号 图中 时序系统体现了电位-脉冲工作体制,是一个同步时序系统每个状态周期包含4个节拍电位,一个节拍电位包含4个工作脉冲每进入一个状态周期,就给出一串固定的电位和脉冲状态周期电位,c,节拍电位,v0,v1,v2,v3,p0,p1,p2,p3,,,,,,节拍脉冲,,二、时序发生器,周期节拍发生器,脉冲发生器,脉冲发生器,起停控 制逻辑,,,,,,,,,时序发生器用于产生多级时序系统中需要的时序信号,它有个脉冲源,产生主脉冲,又称基准脉冲,经过逻辑电路的分频与组合产生所需要的周期电位、节拍电位和工作脉冲 时序发生器一般包括:时钟系统、周期节拍发生器、起停控制逻辑6.3.2 控制方式 可分为:同步控制、异步控制和联合控制,一、同步控制方式 同步控制方式,又称固定时序方式,基本思想是选取部件中最长的操作时间作为统一的时间间隔标准,使所有的部件都在这个时间间隔内启动并完成操作 优点:时序关系比较简单,控制器设计方便 缺点:速度慢二、异步控制方式 异步控制方式,又称可变时序控制方式,基本思想是系统不设立统一的时间间隔标准(基准时钟除外),各部件按本身的速度占用时间。
各部件可以设置各自的时序系统或者用同一时钟系统,但按不同的需要来选择时间,不采用统一的周期和节拍,分别实现各自的时序控制,时间上的衔接通过应答通讯方式实现部件A,部件B,部件C,结束,启动,结束,启动,结束,启动,应答通讯方式示意图,CPU与主存时序衔接,CPU与主存都有自己的时钟系统,均按各自的速度工作;它们通过READ和MOC信号,在时间交接处“握手”,优点:各部件都按各自实际需要的速度工作, 从而提高了系统的速度 缺点:控制比较复杂三、联合控制方式 基本思想:将同步控制与异步控制结合,使计算机处于同步与异步交替工作方式 具体实现时,对大多数需要节拍数相近的指令,用相同的节拍数来完成,即采用同步控制;而对少数需要节拍数多的指令或节拍数不固。