第八章输入输出系统.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章输入输出(I/O)系统计算机的I/O系统提供主机与外部世界通信的手段。从计算机科学观点看:I/O系统典型地反映着硬件与软件的相互结合。从用户的角度看:现代计算机的I/O系统的复杂性大都隐藏在操作系统中,用户只需通过一些简单的命令或程序请求便可调用各种I/O过程。8.1概术•I/O系统的特点复杂性、异步性、时实性、设备关联性(标准接口、驱动程序)。•I/O系统要解决的问题(1)控制方式CPU如何控制输入/输出?(输入/输出方式)(2)传输方式使用传输通道、方式、速率等(总线、接口)(3)数据识别和转换数/模转换、语音识别等,转换为字符、数据等计算机能识别的格式(设备)I/O系统的功能(1)选择I/O设备和反映I/O设备的工作状态。(2)实现主机与外设的联络控制。(3)在选定的I/O设备和主机之间交换信息。(4)完成有关的数据格式变换(串—并),数据拆卸与装配等辅助操作。I/O系统的组成由I/O设备、设备控制器、以及同I/O操作有关的硬件和软件组成。现代计算机对I/O系统的要求是:在执行每一项由具体I/O设备实现I/O操作的过程中,应保证有效地利用主存和CPU。•I/O设备与主机的连接方式每当I/O操作取得某项进展,都要反映到系统级的连接上面来。如何连接外围设备,如何形成外围设备到主机的通路,如何支持I/O操作与其它CPU操作的并行执行,这是设计一个I/O系统的关键问题。不同的I/O系统有不同的连接方式,主要差别在于:(a)从外设到主机通路上控制功能分布的不同。(b)通路数目的不同。(c)各种外设接到各个通路的灵活性的不同。(d)外设与外设之间,外设与主机之间的并行工作程度不同等等。(1)外设与主机之间通过I/O接口连接I/O接口:实现主机与外设的联络和数据缓冲。设备控制器:对设备进行启停控制,辅助操作控制,指示设备的工作状态等。程序直接控制I/O方式和程序中断控制I/O方式采用此结构。I/O接口外设主机设备控制器(2)外设和主机之间通过通道连接CU:设备控制器。D:I/O设备。通道:一种专用的I/O处理器,负责管理外设的I/O操作。主机通道通道CUDCUDCUDCUDD输入输出控制方式(信息交换方式)(1)程序查询方式由CPU通过程序不断查询I/O设备是否已准备好,从而控制I/O设备与主机交换信息。优点:简单、易控制。缺点:主机与外设串行工作,CPU效率低。I/O控制方式主要由软件(程序)实现主要由附加硬件实现程序查询方式程序中断方式DMA方式通道方式PPU方式(2)程序中断方式I/O中断:指CPU启动外设后继续执行自身的程序,外设准备好后向CPU发中断请求,CPU响应中断,暂停正在执行的现行程序,转去执行中断服务程序(实现外设与主机的信息交换),服务完后再返回到原断点处继续执行原来的CPU程序。中断控制I/O方式就是将中断环节引用于I/O的过程,使CPU与外设在一定程度上并行工作,从而提高CPU的利用率。中断的另一个重要作用,就是使计算机及时处理随机事件,保证机器可靠地工作。(3)DMA(直接存储器存取)方式在外设与主机之间设置一条专用的数据交换通路,在DMA控制器的控制下,实现外设与主机成批交换数据。(4)通道控制I/O方式通道是从属于CPU的专用I/O处理机,某些应用中称为输入输出处理器(IOP),能独立地执行用通道命令编写的I/O控制程序,完成复杂的输入输出过程,即通道是采用软、硬结合的方式来实现I/O操作的。(5)外围处理机(PPU)方式外围处理机是一种功能更强的I/O处理机,基本上独立于主机工作,完成I/O操作。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。目前,单片机和微型机中多采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机中。•设计输入/输出系统考虑的问题(1)性能–考虑吞吐量和延迟–适应各种不同类别的设备的性能的差异–从操作系统、驱动程序等各方面综合考虑–考虑到设备性能的提高(2)可扩展性–允许更多的设备接入到输入/输出系统(3)可适应性–设备有无–设备故障8.2程序查询方式在这种方式控下,I/O设备与主机之间的信息交换,一般需经过CPU中的寄存器,而且通常一次只传送否一个字(节)。是未完完设置计数器设置内存缓冲区首址启动外设准备好?传送一个数据修改内存地址修改计数值传送完?结束I/O传送设备编址:(1)统一编址(2)独立编址②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB程序查询方式的接口电路①②③⑤⑥1010④以输入为例8.3程序中断方式在计算机系统中引入中断的概念,并使其具有中断处理功能,这是计算机系统结构发展的一大进步。中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。•中断的基本概念中断(Interrupt)是指CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。中断处理过程示例主程序只是在设备A,B,C数据准备就绪时,才去处理A,B,C,进行数据交换。在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序。在这个意义上说,CPU和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。(1)中断系统需解决的问题设计一个中断系统应考虑以下问题:(a)中断源和中断请求问题。(b)中断判优问题。(c)CPU在什么条件、什么时候、以什么方式来响应中断问题。(d)中断现场保护问题。(e)中断服务程序的进入及其本身的设计问题。(f)多重中断问题。(g)中断现场恢复问题。要解决上述七个问题,必须在中断系统中有相应的软、硬件支持。(2)中断的作用(a)主机与外设(在一定程度上)并行工作。(b)故障处理:硬件故障、软件故障。(c)人机联系。(d)时实控制(处理)。(e)多道程序切换和多用户分时共享计算机资源。(f)目态程序和管态程序的联系。(g)多机系统中各机之间的联系。(3)中断的分类(a)按中断处理方式分程序中断:通过执行中断服务程序来处理有关事件的中断。简单中断:采用DMA处理外设中断(不保护现场)。(b)按中断产生方式分自愿中断:事先在程序某处设置断点,引出服务程序进行中断处理。强迫中断:随机产生的中断(硬故障、I/O设备请求等)。(c)按中断源来自处理机内部或外部分:内中断、外中断。(d)按是否产生向量地址分向量中断:中断服程序入口由中断源产生向量地址提供。非向量中断:中断服务程序入口由CPU查询得到。I/O中断处理过程(1)中断请求:中断源向CPU发出的申请中断的要求。中断源:通常将能引起中断的各个因素称作中断源。引起中断的因素很多,大致可分为以下几类:(a)人为设置中断:又称自愿中断。(b)程序性事故:如溢出、操作码不能识别、除法错等。(c)硬件故障:如插件接触不良、磁表面损坏、电源掉电等。(d)I/O设备:I/O设备请求CPU服务等。(e)外部事件:操作员干预等。中断请求标记:为了记录中断事件的发生,一般给每个中断源设置一个中断请求(标记)触发器,保留中断请求信号。当其状态为“1”时,表示中断源有请求,并向CPU发出请求信号。这种触发器可分散到各个中断源的接口电路中,也可以集中设在CPU内,组成一个中断请求标记寄存器。1576011CPCDQCPUINTR(中断请求信号)中断触发器控制与状态寄存器(PR)OC门外设向CPU发中断请求的条件:①PR6=1,CPU允许外设请求(无屏蔽)。②PR7=1,外设已准备好。外设向CPU发中断请求的条件:(a)外设已就绪;(b)CPU允许外设中断且未屏蔽。(2)中断响应:指终止CPU现行程序到转入中断服务程序过程。(a)保护断点和状态(硬措施),保护其它现场(软措施)。中断隐指令是CPU在中断周期内由硬件自动完成的一条指令。该指令通常完成保护程序断点、寻找中断服务程序的入口地址、关中断等一系列操作。采用中断隐指令,是为了提高中断处理速度。通常在中断服务程序的起始部分安排若干条存数指令,将寄存器的内容送至存储器中保存;或用进栈指令将寄存器的内容压入堆栈保存,以免中断服务程序用到相应的寄存器而破坏其原内容。响应中断的条件:①允许中断触发器=1(由开中断指令置1,关中断指令置0)②中断请求标记触发器=1(有中断请求)响应中断的时间:CPU通常在指令执行周期结束后,响应任何中断请求。若有中断,CPU则进入中断周期。(b)识别中断源(中断判优):软件查询法、硬件查询法。任何一个中断系统,在任一时刻,只能响应一个中断源的请求。但许多中断源提出请求都是随机的,当某一时刻有多个中断源提出中断请求时,中断系统必须按其优先顺序予以响应,即中断判优。设备优先级的确定,由许多因素决定:①中断条件的紧迫性:故障中断→实时中断→I/O中断→用户程序中断②设备的工作速度:高速设备→低速设备③数据恢复的难易程度:不易恢复数据的设备→易恢复数据的设备④要求CPU提供的服务量:需CPU干预少的设备→需CPU干预多的设备软件排队是通过编写查询程序实现的。程序按中断源的优先等级,从高到低逐级查询各个中断源是否有中断请求,这样就可保证CPU首先响应级别高的中断源的请求。(c)引出中断服务程序:向量法、非向量法。硬件向量法:硬件向量法就是利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。向量地址由中断向量地址形成部件产生,这个电路可分散设置在各个接口电路中,也可设置在CPU内。由向量地址寻找中断服务程序的入口地址通常采用两种方法:①在向量地址内存放一条无条件转移指令,CPU响应中断时,只要将向量地址送至PC,执行这条指令,便可无条件转向服务程序的入口地址。②在内存中设置一个中断向量表,存储单元的地址为向量地址,存储单元的内容为服程序的入口地址,只要访问向量地址所指示的存储单元,便可获得入口地址。向量地址形成部件中断向量地址来自中断源排队器输出121314向量地址入口地址200软件查询法:用软件寻找中断服务程序入口地址的方法叫软件查询法。查询程序按中断源的优先等级,从高至低逐级查询,当查到某一中断源由中断请求时,接着安排一条转移指令,直接指向此中断源的中断服务程序入口地址,机器便能自动进入中断处理。入口地址300入口地址400主存(3)中断服务:执行中断服务程序,进行中断处理。CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。只有在中断屏蔽标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把中断屏蔽标志置“1”,即关闭中断。这样,CPU不能再受理另外的新的中断源发来的中断请求。如果只有在CPU把中断服务程序执行完毕以后,它才重新使中断屏蔽标志置“0”,即开放中断,并返回主程序。这种中断称为单重中断。如果在中断服务过程中就开中断,允许优先级更高的中断源请求中断并响应,这就是所谓的多重中断。(4)中断返回:恢复现场,转至原断点处继续执行原CPU程序。恢复现场是指在中断返回前,必须将寄存器的内容恢复到中断处理前的状态,这部分工作也由中断服务程序完成。单重中断和多重中断的服务程序流程中断否?保护现场设备服务恢复现场开中断中断返回取指令执行指令中断服务程序中断响应程序断点进栈关中断向量地址PC中断周期是中断返回保护现场设备服务恢复现场开中断开中断开中断中断隐指令中断隐指令否取指令执行指令中断否?否中断响应程序断点进栈关中断向量地址PC中断周期是中断服务程序单重多重设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功