3.1.3控制器分类前述的控制器的基本构成:微操作信号序列形成部件..............微操作命令时序信号及控制指令译码器启停控制指令寄存器脉冲源程序计数器总线控制逻辑......总线输出自运算器自存储器自外设控制器分类主要针对上图中的微操作信号序列形成部件。即:微操作信号序列形成部件采用什么样的方式产生微操作信号。更具体的说:微操作信号序列形成部件采用什么样的硬件构成,能够根据指令译码器的输出、时序控制信号、以及状态信号等产生微操作信号由微操作信号形成(产生)的方式不同,导致了控制器设计方法的不同,由此引出控制器的分类。1、组合逻辑控制器即按照组合逻辑设计方式产生的控制器。该方法的简单描述:将一个操作所需要的所有条件(如什么指令、什么时间、在什么机器状态下等)写成逻辑表达式的形式,加以简化后用逻辑电路实现。比如要完成某一操作OP,需要发出一个微操作信号Micro_op,其条件有A、B、C、D、E。要求条件A和B同时成立并且条件C、D、E至少有一个成立,则可以有逻辑表达式:Micro_op=A•B•(C+D+E)如果将计算机要完成的所有操作所需要的微操作信号都以逻辑表达式的形式表达出来,简化后用逻辑电路予以实现。当要执行某项操作,则其条件成立,逻辑电路发出相应的微操作信号完成该项功能。逻辑电路实现:ABCDEMicro_op该逻辑电路即为微操作信号发生器,由此产生的控制器即为组合逻辑控制器。例:组合逻辑控制例(仅说明原理)(1)执行指令:ADDR1,R2以图3.3(P.80)为硬件模型(此处省去移位器)+R0CLK+R0EN+Lat1ALU暂存器2暂存器1R0Rn+Lat2完成:R1+R2R1+RnEN+RnCLK将指令执行分为三个阶段:+R1EN+Lat1+R2EN+Lat2根据取指(FET)—译码(DE)—执行(EXE)①在执行阶段所需微操作信号:+R1CLK;R1内容输出到内部总线;暂存器1的打入脉冲;R2内容输出到内部总线;暂存器2的打入脉冲;相加结果打入R1②结合时序取指(FET)执行(EXE)译码(DE)FETDEEXE一个节拍T1T2T4T3EXE阶段时间长度.....操作的时机+R1EN=+ADD·EXE·T1+Lat1=+ADD·EXE·T1+R2EN=+ADD·EXE·T2+Lat2=+ADD·EXE·T2+R1CLK=+ADD·EXE·T4(节拍T3等待加法器完成加法操作)(T1表示在上升沿,T1表示在下降沿)(2)执行指令:MOVR1,(R2);在该指令的执行周期EXE,T4时刻:+R1CLK=+MOV·EXE·T4所以:+R1CLK=(+ADD·EXE·T4)+(+MOV·EXE·T4)+(..........)+(..........)......+R1EN=(+ADD·EXE·T1)+(..........)......同理:+Lat2=(+ADD·EXE·T2)+(..........)...........(R2)R1即+R1CLK=(+ADD·EXE·T4)+(+MOV·EXE·T4)+(..........)+(..........)......时间的控制操作应在什么时间进行时机的控制操作什么时候进行(定时)方向的控制信息流动的起点与终点表现形式门电路的开和关、打入脉冲等。执行的指令和机器的状态控制依据控制依据时间控制从什么时刻开始表现形式:脉冲组合逻辑控制器—结论:一条指令是由若干步骤来完成的,拟定每一步骤所需要的微操作信号(不能再分解的操作称为微操作),写出每一微操作信号逻辑表达式。对所有指令进行上述的分解,形成逻辑表达式,然后将所有相同的微操作信号的逻辑表达式进行合并,并简化逻辑表达式,再用逻辑电路予以实现。送存储器微命令序列I/O状态控制台信息运行状态…PSW时序系统IR地址形成操作码D寻址方式来自存贮器送存储器或ALU+1微命令发生器PC译码器—将前述的控制器组成细化为:组合逻辑控制器的特点:指令执行过程有硬件逻辑完成,速度快;硬件复杂,不易修改、扩展和升级。2、微程序控制器微程序控制的基本思想从物理的观点:微操作信号各种电信号即在规定时间产生的电平和脉冲组合逻辑设计:按数字逻辑的方法产生所需要的电信号编码的观点:将不同周期或节拍的微操作进行编码,使不同微操作对应一个编码值,并存入存储器(ROM)。读出编码并译码,同样可产生电信号。微程序设计的基本原理:与组合逻辑控制器设计相同,将指令分解成若干的微操作,完成该操作所需信号即称为微命令信号(简称微命令);将所有微命令进行编码,并存入ROM(称为微程序ROM);当要完成某一操作,从ROM中读出对应的微命令编码,并对该编码进行译码,译码输出信号即为完成该操作的微操作信号。1.将若干微命令编制成一条微指令,控制实现一步操作;2.若干微指令组成一段微程序,解释执行一条机器指令;3.微程序事先存放在控制存储器中,执行机器指令时再取出。微程序设计一般步骤:微程序控制器的组成框图如下所示:微地址形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR微程序控制器的特点:引入了程序技术,使设计规整引入了存储逻辑,使功能易于扩展3.1.4CPU与外设的信息交换1、主机和外设的连接方式(1)辐射式主机I/OI/OI/O早期:不易扩展线路复杂主机接口接口I/OI/OI/O现在:便于扩展(2)总线式特点:便于扩展主机接口接口I/OI/O总线(3)通道式I/O主机通道通道I/OI/OI/O特点:并行能力提高2、信息传送控制方式即如何控制CPU与外部设备之间的数据传送。传送控制方式问题的提出:高速CPU与低速外设之间的时间配合CPU与速度不同的外设之间的时间配合外设如何启动(通知)CPU执行I/O指令外设的工作是否可以与CPU并行I/O操作由硬件完成还是软件完成(1)直接程序传送方式(程序查询方式)用I/O指令编程实现信息传送。①外设状态空闲启动完成一次工作调用完再请求000110工作结束在接口中设置状态字表示这些状态;空闲:调用前,设备不工作;结束:调用后,设备完成工作。②查询流程启动外设外设工作完成?NY输入/出操作用输出指令,设置启动信号;用输入指令,读取工作状态并判断输入或输出指令进行数据传送例:输入设备(8位)+5V数据总线地址总线数据锁存缓冲器端口地址译码器CQDR三态缓冲器D0启动信号04030102复位端口地址01H假设:启动端口地址04H数据端口地址03H状态端口地址02H按查询方式的输入程序如下(假设输入5个数据):OUT04,AL;启动输入设备MOVBL,05;设置计数值SHRAL,1;AL右移一位JNCPOLL;未准备好,再次查询INAL,02;读取状态位POLL:INAL,03;已准备好,读数据MOVDI,DSTOR;设置内存地址MOV[DI],AL;数据送内存INCDI;地址加1DECBL;计数值减1AGAIN:OUT01,AL;准备好信号复位JNEAGAIN;再次启动输入设备③优缺点优点:硬件开销小;缺点:输入/输出期间,CPU不执行与I/O无关的操作,实时处理能力差,并行程度低。④应用场合对CPU效率要求不高的场合;或诊断、调试过程。(2)中断方式①中断的引入查询:程序并行操作主机外设空闲启动等待工作程序交换数据中断:主机程序外设空闲启动工作程序请求中断程序交换数据程序②中断定义③中断流程CPU内设置中断允许标志CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。=1允许响应中断(开中断)=0不允许响应中断(关中断)流程图如下:开中断继续原程序启动外设一条指令结束时有中断请求?N返回Y执行中断服务程序响应CLI;请求关中断,初始化启动;启动设备响应返回例.PC系列机允许中断位0关中断1开中断STI;开中断IF=④程序安排⑤硬件设置设备工作完成请求逻辑屏蔽逻辑非屏蔽CPU送屏蔽字设备提出请求CPU禁止/允许设备请求响应逻辑判优逻辑判别设备优先级CPU响应请求,并转相应服务程序入口(使得CPU可动态改变设备优先级)(6)应用场合用于中、低速I/O操作或处理复杂随机事件。注意区分:送屏蔽字开/关中断CPU对请求的屏蔽和对请求的响应。中低速I/O操作:使得CPU执行中断处理程序在时间上能满足中低速I/O操作的要求。复杂随机事件:CPU无法事先安排处理程序。3.直接存储器存取(DMA)方式(1)定义(DirectMemoryAccess)直接依靠硬件实现主存与I/O间的数据传送,传送期间不需CPU程序干预。1)数据传送直接在I/O接口与主存储器之间进行。2)早期由CPU控制传送;现在由DMA控制器控制传送,DMA控制器接管总线权,传送完毕再交还总线权。3)传送期间只要CPU不访存,DMA与CPU可并行操作。4)传送前和传送后需要程序干预。处理器外设存储器总线接口DMA控制器逻辑断开DMA传送向CPU提出DMA请求CPU响应DMA请求(2)硬件设置操作类型地址计数控制传送方向DMA控制器提供主存地址交换量计数控制传送次数初始化信息(3)DMA流程传递请求暂存交换数据提供外设地址外设寻址请求DMA中断数据缓冲外设接口启动外设总线周期结束时有DMA请求?NY继续程序传送操作类型、主存首址、交换量、外设寻址信息指令结束时有中断请求?YN单字方式一次DMA传送地址+1交换量–1NY成组方式响应N交换量=0?继续程序中断处理主程序实现初始化。DMA三个阶段:程序准备:(4)应用场合用于高速、简单、批量数据传送。硬件实现MI/O。中断处理程序判断传送的正误。DMA传送:结束处理:DMA与中断的相同点:能响应随机请求;可并行操作(CPU与外设)。DMA与中断的不同点:①用程序实现中、低速I/O传送;能处理复杂事件;②一条指令结束时响应请求。①用硬件实现高速、简单I/O传送;一个总线周期结束时响应请求。③程序切换②总线权切换③CPU不参与数据传送中断:DMA: