程序查询流程
1测试指令,查询IO设备是否就绪。2传送指令,当已经就绪时,执行传送功能。3转移指令,未就绪时,转移至继续测试IO设备的状态。当需要启动某一IO设备时,必须将该程序插入到现行程序中。1,由于这种传送数据时要占用CPU寄存器,先将寄存器内容保护起来。2,传送的是一批数据,先设置IO设备与主机交换数据的计数值3,设置欲传送数据在主存缓冲区的首地址4,CPU启动IO设备5,将IO接口中的设备状态标志取至CPU并测试IO设备是否准备就绪。如果就绪就传输,如果没就绪等待。6,CPU执行IO指令,或从IO接口的数据缓冲寄存器读一个数据,或把一个数据写入IO接口中的数据缓冲寄存器内,同时将接口中的状态标志复位。7,修改主存地址。8,修改计数值。9,判断计数值10,结束IO传送,继续执行现行程序。程序中断方式中断接口:1,中断请求触发器和中断屏蔽触发器每台设备必须配置一个请求触发器INTR,当为1时,表示该设备向CPU提出中断请求。提出中断请求时,本身必须准备就绪。多个中断源向CPU提出中断请求时,CPU必须坚持一个原则,即在任何瞬间,只能接受一个中断请求。其他的进行排队,接受级别高的。在IO接口中设置一个屏蔽触发器MASK,当为1时,表示屏蔽,即封锁其中中断源的请求。请求触发器和屏蔽触发器在IO接口中是成对出现的。CPU总是在统一的时间,每条指令执行阶段的最后时刻,查询所有的设备是否有中断请求。仅当设备准备就绪D=1,设备未屏蔽MASK=0,CPU中断查询信号可将中断请求触发器设置为1,INTR=12排队器多个中断源同时向CPU提出请求时,根据性质不同,给予不同等级的优先权。速度越高的IO,优先级越高,因为若CPU不及时响应高速IO请求,其信息可能立即丢失。3中断向量地址形成部件一旦响应了IO中断,就要暂停现行程序,转去执行改设备中的中断服务程序。每个服务程序都有一个入口地址。硬件方法寻找地址:通过向量地址来寻找设备的中断服务程序入口地址。中断向量地址形成部件的输入时来自排队器的输出INTP1,INTP2...INTPN。它的输出是中断向量,位数与计算机可以处理中断源的个数有关。一个中断源对应一个向量地址。其中12H,13H是向量地址,200,300是打印机服务程序和显示器服务程序入口地址。
IO中断处理过程1,CPU响应中断的条件和时间。CPU响应中断的时间是每条指令执行阶段的结束时刻。2,IO中断处理过程。当CPU通过IO指令的地址码选中某设备后1,由CPU发动启动IO设备命令,将接口中B设置1,D设置02,接口启动输入设备开始工作3,输入设备将数据传送到数据缓冲寄存器。4,输入设备向接口发送设备工作结束信号,D设置为1,B设置为0,标志设备准备就绪。5,当设备准备就绪D=1,且本设备未被屏蔽MASK=0,在指令结束时,由CPU发送出中断查询信号。6,设备中断请求触发器INTR设置为1,标志设备向CPU提出中断请求,同时,INTR送至排队器,进行中断判优7,若CPU允许中断EINT=1,设备又被排队选中,进入中断响应。由中断响应信号INTA将排队器输出送至编码器形成向量地址。8,向量地址送至PC,作为下一条指令的地址。9,由于向量地址中存放的是一条无条件转移指令,所以指令结束后,转至程序入口地址,开始执行中断服务程序。10,中断服务程序最后一条指令是中断返回指令,当执行结束,返回到源程序的断点。以上可以简单的归纳为:中断请求,中断判优,中断响应,中断服务,中断返回。中断服务程序的流程1,保护现场1)保存程序的断点,由中断隐指令完成。2)保存通用寄存器和状态寄存器内容,由中断服务程序完成。2,中断服务对于不同中断请求,服务内容是不同的。比如,打印,显示字符。3,恢复现场通常采用取数指令或出栈指令(POP),将保存在储存器或堆栈中的信息送回到原来的寄存器中。4,中断返回返回到原来程序的断点处。DMA方式DMA特点:在主存和DMA之间有一条数据通路,主存和设备交换信息不需要通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场。适合高速IO或辅存与主存之间的信息交换。若高速IO和CPU同时访问主存,CPU必须将总线占有权给DMA使用,即DMA采用周期窃取的方式占用一个存取周期。为了有效分时使用主存,通常DMA与主存交换数据时采用的方法:1,停止CPU访问主存特点:适用数据传输率很高的IO设备实现成组数据传输。缺点是DMA接口在访问主存时,CPU基本上处于不工作状态或保持原态。可以再DMA接口中设置一个小容量储存器,使IO设备先与小容量储存器交换数据,然后再与主存交换。减少占用时间。减少CPU暂停工作时间。2,周期挪用每当IO设备发出DMA请求时,IO设备便挪用或窃取总线占用权,或几个主存周期,而DMA不请求时,CPU扔继续访问主存。UI设备请求DMA传送三个情况:1,CPU不需要访问主存,IO设备与CPU不冲突。2,IO请求DMA传送时,CPU访问主存。此时等存取周期结束,CPU才能将总线占有权让出。3,IO设备访问主存时,CPU也要访问,出现冲突。IO设备优先于CPU,窃取存储周期,延缓了CPU访问主存。IO设备每挪用一个主存周期都要申请总线控制权,建立总线控制权和归还总线控制权。周期挪用的方法比较适合IO设备的读写周期大于主存周期。3,DMA与CPU交替访问。此方法适合CPU工作周期比主存存取周期长的情况。这种情况下不需要总线使用权的申请,建立和归还。DMA接口功能和组成DMA接口功能:1,向CPU申请DMA传送2,在CPU允许DMA工作时,处理总线控制权的转交,避免进入DMA而影响CPU正常活动。3,在DMA期间管理系统总线,控制数据传输。4,确定数据传送的起始地址和数据长度,修正传输过程中的数据地址和数据长度。5,在数据块传送结束时,给出DMA操作完成的信号。接口基本组成:1,主存地址寄存器ARAR用于存放主存中需要交换数据的地址。2,字计数器WCWC用于记录传送数据的总字数,通常交换字数的补码值预置。3,数据缓冲寄存器BRBR用于暂存每次传送的数据。4,DMA控制逻辑5,中断机构当字计数器全0时,表示数据交换完毕,由溢出信号通过中断向CPU发出中断请求。6,设备地址寄存器DAR存放IO设备的设备码DMA工作过程1,预处理在DMA接口开始工作之前,CPU给他预置信息。DMA逻辑控制指明传输方向,读主存,写主存。DMA设备地址寄存器送入设备号,启动设备DMA主存地址寄存器送入交换数据的主存起始地址对字计数器赋予交换数据的个数。2,数据传送DMA以数据块为单位传送的。 \\ \\_ .---(') o( )_-\_3,后处理包括校验送入主存数据正确性,是否继续传送等。DMA接口和系统接连方式与程序中断方式相比,DMA方式特点:1,程序中断方式靠程序传输,DMA靠硬件传输。2,中断在一条指令执行结束时响应,DMA在指令周期内任意存取周期结束时响应。3,中断有异常处理事件能力,DMA没有。4,中断需要保护现场,DMA不中断程序,无需保护现场。5,DMA优先级比中断高。DMA接口类型1,选择型DMA接口2,多路型DMA接口