8第八章输入输出系统.docx
《8第八章输入输出系统.docx》由会员分享,可在线阅读,更多相关《8第八章输入输出系统.docx(18页珍藏版)》请在冰点文库上搜索。
8第八章输入输出系统
《第八章输入输出系统》
8.1外围设备的定时方式和信息交换方式
8.2程序查询方式
8.3程序中断方式
8.4DMA方式
8.5通道方式
8.6通用I/O标准接口
8.1外围设备的定时方式和信息交换方式
一、外围设备的速度分级
外设种类繁多,存在以下几种情况:
Ø不同种类的外设数据传输速率差别很大
Ø同一种设备在不同时刻传输速率也可能不同
v高速的CPU与速度参差不齐的外设怎样在时间上同步呢?
------解决办法是在CPU和外设之间发生数据传送时加以定时。
◆速度极慢或简单的外设----CPU只需要接受或者发送数据即可
◆慢速或者中速的设备-------可以采用异步定时的方式
◆高速外设----------------------采用同步定时方式
二、信息交换方式
✓程序查询方式
✓程序中断方式
✓DMA方式
✓通道方式
8.2程序查询方式
v1、设备编址
统一编址
独立编址
v2、必须插入
输入输出指令
v3、程序查询接口
设备选择电路
数据缓冲寄存器
设备状态寄存器
(1)先向I/O设备发出命令字,请求进行数据传送;
(2)从I/O接口读入状态字;
(3)检查状态字中的标志,看看数据交换是否可以进行;
(4)假如这个设备没有准备就绪,则第
(2)、第(3)步重复进行,一直到这个设备准备好交换数据,发出准备就绪信号“Ready”为止;
(5)CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。
与此同时,CPU将接口中的状态标志复位。
(6)数据传送
8.3程序中断方式
8.3.1中断的概念、功能
8.3.2程序中断方式的基本接口
8.3.3单级中断
8.3.4多级中断
8.3.5Pentium中断机制
8.3.1中断的概念、功能
v中断(Interrupt)是指CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。
v中断系统是计算机实现中断功能的软硬件总称。
v一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。
v中断源:
能够向CPU发出中断请求的事件。
v常见中断源有:
✧输入、输出设备中断。
如键盘、打印机等工作过程中已做好接收或发送准备。
✧数据通道中断。
如磁盘、磁带等要同主机进行数据交换等。
✧实时时钟中断。
✧故障中断。
例如电源掉电、设备故障等要求CPU进行紧急处理等。
✧系统中断。
如运算过程出现溢出、数据格式非法,数据传送过程出现校验错,控制器遇到非法指令等等。
为了调试程序而设置的中断。
中断处理过程注意几个问题:
◆响应中断时机:
外界中断请求时随机的,但CPU只有在当前指令执行完毕后,才转至公操作。
◆断点保护问题(PC,寄存器内容和状态的保存)
◆原子操作:
开中断和关中断问题。
◆中断是由软硬件结合起来实现的
8.3.2程序中断方式的基本接口
设备选择器:
用来判别总线上送出的地址(或称呼叫的设备)是否为本设备,它实际上是设备地址的译码比较电路。
BS外设接口忙(BuSy)标志
RD外设准备就绪(ReaDy)标志
EI(EnableInterrupt中断允许触发器)
IR(InterruptRequest)中断请求触发器
IM(InterruptMask)中断屏蔽触发器
①表示由程序启动外设,将该外设接口的“忙”标志BS置“1”,“准备就绪”标志RD清“0”;
②表示接口向外设发出启动信号;
③表示数据由外设传送到接口的缓冲寄存器;
④表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一
控制信号,将数据“准备就绪”标志RD置“1”;
⑤表示允许中断标志EI为“1”时,接口向CPU发出中断请求信号;
⑥表示在一条指令执行末尾CPU检查中断请求线,
将中断请求线的请求信号接收到“中断请求”标志IR;
⑦表示如果“中断屏蔽”标志IM为“0”时,CPU在一条指令执行结束
后受理外设的中断请求,向外设发出响应中断信号并关闭中断;
⑧表示转向该设备的中断服务程序入口;
⑨表示在中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至CPU中的寄存器;
表示CPU发出控制信号C将接口中的BS和RD标志复位。
8.3.3单级中断
所有中断源属于同一级,离CPU越近,
优先级越高,图8.7类似于第六章的链
式查询方式。
中断源的识别:
串行排队链法
IR1,IR2,IR3为中断请求信号
IS1,IS2,IS3为中断选中信号
INTI为中断排队输入
INTO为中断排队输出
中断向量的产生
向量地址转移法
中断向量:
当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址)由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。
8.3.4多级中断
概念:
每级有一个中断优先权
一维多级中断和二维多级中断
说明:
✧一个系统有n级中断,则CPU中有n个IR,n个IM,某级中断被响应后,则关闭本级和低于本级的IM,开放更高级的IM。
✧多级中断可以嵌套,但同一级的中断不允许嵌套
✧中断响应时,确定哪一级中断和中断源采用硬件实现。
采用了独立请求方式和链式查询方式相结合的方式。
✧使用多级堆栈保存现场(包括IM)
多级中断源的识别
中断优先排队电路
中断向量产生电路
举例
例1、参见图所示的二维中断系统。
请问:
(1)在中断情况下,CPU和设备的优先级如何考虑?
请按降序排列各设备的中断优先级。
(2)若CPU现执行设备B的中断服务程序,IM2,IM1,IM0的状态是什么?
如果CPU执行设备D的中断服务程序,IM2,IM1,IM0的状态又是什么?
(3)每一级的IM能否对某个优先级的个别设备单独进行屏蔽?
如果不能,采取什么办法可达到目的?
(4)假如设备C一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?
分析
(1)在中断情况下,CPU的优先级最低。
各设备的优先次序是:
A→B→C→D→E→F→G→H→I→CPU。
(2)执行设备B的中断服务程序时IM2IM1IM0=111;执行设备D的中断服务程序时,IM2IM1IM0=011。
(3)每一级的IM标志不能对某个优先级的个别设备进行单独屏蔽。
可将接口中的EI(中断允许)标志清“0”,它禁止设备发出中断请求。
(4)要使设备C的中断请求及时得到响应,可将设备C从第2级取出来,单独放在第3级上,使第3级的优先级最高,即令IM3=0即可。
8.3.5中断控制器
8259中断控制器是一个集成电路芯片,它将中断接口与优先级判断等功能汇集于一身,常用于微型机系统。
v8位中断请求寄存器(IR)接受8个外部设备送来的中断请求,每一位对应一个设备。
v中断请求寄存器的各位送入优先权判断器,根据中断屏蔽寄存器(IM)各位的状态来决定最高优先级的中断请求,并将各位的状态送入中断状态寄存器IS。
IS保存着判优结果。
由控制逻辑向CPU发出中断请求信号INT,并接受CPU的中断响应信号INTA。
v数据缓冲器用于保存CPU内部总线与系统数据总线之间进行传送的数据。
v读/写逻辑决定数据传送的方向,其中IOR为读控制,IOW为写控制,CS为设备选择,A0为I/O端口识别。
v多个8259进行级联以处理多达64个中断请求。
在这种情况下允许有一个主中断控制器和多个从中断控制器,称为主从系统。
v优先级选择方式有四种:
①完全嵌套方式:
是一种固定优先级方式,连至IR0的设备优先级最高,IR7的优先级最低。
这种固定优先级方式对级别低的中断不利,在有些情况下最低级别的中断请求可能一直不能被处理。
②轮换优先级方式A:
每个级别的中断保证有机会被处理,将给定的中断级别处理完后,立即把它放到最低级别的位置上去。
③轮换优先级方式B:
要求CPU可在任何时间规定最优优先级,然后顺序地规定其他IR线上的优先级。
④查询方式:
由CPU访问8259的中断状态寄存器,一个状态字能表示出正在请求中断的最高优先级IR线,并能表示出中断请求是否有效。
8259提供了两种屏蔽方式:
①简单屏蔽方式,提供8位屏蔽字,每位对应着各自的IR线。
被置位的任一位则禁止了对应IR线上的中断。
②特殊屏蔽方式,允许CPU让来自低优先级的外设中断请求去中断高优先级的服务程序。
当8位屏蔽位的某位置“0”时,例如屏蔽字为11001111,说明IR4和IR5线上的中断请求可中断任何高级别的中断服务程序。
8.4DMA方式
8.4.1DMA方式的一般概念
直接存储器访问(DirectMemoryAddress)DMA方式是为了在主存储器与I/O设备间高速交换批量数据而设置的。
基本思想是:
通过硬件控制实现主存与I/O设备间的直接数据传送,在传送过程中无需CPU的干预。
数据传送是在DMA控制器控制下进行的,
优点:
速度快。
有利于发挥CPU的效率。
8.4.1DMA方式的一般概念
✧直接存储器访问(DirectMemoryAddress)DMA方式是为了在主存储器与I/O设备间高速交换批量数据而设置的。
✧基本思想是:
通过硬件控制实现主存与I/O设备间的直接数据传送,在传送过程中无需CPU的干预。
数据传送是在DMA控制器控制下进行的,
✧优点:
速度快。
有利于发挥CPU的效率。
过程描述:
v由DMA控制器给出当前正在传送的数据的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。
v在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。
v在数据传送前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。
8.4.2DMA传送方式
1、CPU暂停方式。
主机响应DMA请求后,让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU,采用这种工作方式的I/O设备,在其接口中一般设置有小容量存储器,I/O设备先与小容量存储器交换数据,然后由小容量存储器与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少了CPU暂停工作的时间。
优点:
控制简单,它适用于数据传输率很高的设备进行成组传送。
2、周期挪用方式
DMA控制器与主存储器之间传送一个数据,占用(窃取)一个CPU周期,即CPU暂停工作一个周期,然后继续执行程序。
3、DMA和CPU交替访问内存工作方式
如果CPU的工作周期比内存存取周期长很多,可以采用该种方法
总线控制权的转移速度快,DMA效率高。
8.4.3DMA传送一个数据的过程
1、DMA基本构成
2、传送过程
当外设有DMA请求时,通常CPU在本机器周期结束后,响应DMA请求。
传送一个数据块可以分为三个阶段。
第一阶段是进行初始化,即CPU通过程序I/O的方式给DMA控制器预置初值,取状态和送传送需要的有关参数。
第二阶段由DMA控制器控制外设与主存之间的数据交换。
第三阶段即CPU中断原程序后进行后处理。
若需要继续交换数据,则又要对DMA进行初始化;若不需要交换数据,则停止外设;若为出错,则转错误诊断及处理程序。
8.4.4选择型和多路型DMA控制器
选择型
多路型
由图看出,T1间隔中控制器首先为打印机服务,因为此时只有打印机有请求。
T2间隔前沿磁盘、磁带同时有请求,首先为优先权高的磁盘服务,然后为磁带服务,每次服务传送一个字节。
在120μs时间阶段中,为打印机服务只有一次(T1),为磁盘服务四次(T2,T4,T6,T7),为磁带服务三次(T3,T5,T8)。
从图上看到,在这种情况下DMA尚有空闲时间,说明控制器还可以容纳更多设备。
8.5通道方式
通道的基本概念
v通道”是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O指令集合—通道命令的I/O处理机。
v在通道控制方式中,一个主机可以连接几个通道。
每个通道又可连接多台I/O设备,这些设备可具有不同速度,可以是不同种类。
这种输入输出系统增强了主机与通道操作的并行能力以及各通道之间、同一通道的各设备之间的并行操作能力。
同时也为用户提供了增减外围设备的灵活性。
v采用通道方式组织输入输出系统,多使用
v主机—通道—设备控制器—I/O设备四级连接方式。
v在CPU启动通道后,通道自动地去内存取出通道指令并执行指令。
直到数据交换过程结束向CPU发出中断请求,进行通道结束处理工作。
通道的功能
执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断等,具体有以下五项任务:
(1)接受CPU的I/O指令,按指令要求与指定的外围设备进行通信。
(2)从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。
通道的功能
(3)组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。
(4)从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。
(5)将外围设备的中断请求和通道本身的中断请求,按次序及时报告CPU。
通道工作过程
在一般用户程序中,通过调用通道来完成一次数据输入输出的过程如图1所示
CPU执行用户程序和管理程序,通道处理机执行通道程序的时间关系如图所示。
8.5通道方式
主要过程分为如下三步进行:
1.在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。
2.通道处理机执行CPU为它组织的通道程序.完成指定的数据输入输出工作
3.通道程序结束后向CPU发中断请求。
CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对输入输出中断请求进行处理。
8.5通道方式
通道的种类
v选择通道
选择通道每次只能从所连接的设备中选择一台I/O设备的通道程序,此刻该通道程序独占了整个通道。
连接在选择通道上的若干设备,只能依次使用通道与主存传送数据
数据传送以成组(数据块)方式进行,每次传送一个数据块,因此,传送速率很高。
选择通道多适合于快速设备(磁盘),这些设备相邻字之间的传送空闲时间极短。
v字节多路通道 (ByteMultiplexorChannel)
Ø是一种简单的共享通道,在时间分割的基础上,服务于多台低速和中速面向字符的外围设备。
Ø字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自分得的时间片内与通道建立传输连接,实现数据的传送。
v数组多路通道(BlockMultiplexorChannel)
数组多路通道把字节多路通道和选择通道的特点结合起来。
它有多个子通道,既可以执行多路通道程序,象字节多路通道那样,所有子通道分时共享总通道;又可以用选择通道那样的方式传送数据。
本章小结
各种外围设备的数据传输速率相差很大。
如何保证主机与外围设备在时间上同步,则涉及外围设备的定时问题。
✧在计算机系统中,CPU对外围设备的管理方式有:
①程序查询方式;②程序中断方式;③DMA方式;④通道方式。
每种方式都需要硬件和软件结合起来进行。
✧程序查询方式是CPU管理I/O设备的最简单方式,CPU定期执行设备服务程序,主动来了解设备的工作状态。
这种方式浪费CPU的宝贵资源。
✧DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续程序。
DMA方式采用以下三种方法:
①停止CPU访内;②周期挪用;③DMA与CPU交替访内。
DMA控制器按其组成结构,分为选择型和多路型两类。
✧通道是一个特殊功能的处理器。
它有自己的指令和程序专门负责数据输入输出的传输控制,从而使CPU将“传输控制”的功能下放给通道,CPU只负责“数据处理”功能。
这样,通道与CPU分时使用内存,实现了CPU内部的数据处理与I/O设备的平行工作。
通道有两种类型:
①选择通道;②多路通道。