第八章输入输出系统_第1页
第八章输入输出系统_第2页
第八章输入输出系统_第3页
第八章输入输出系统_第4页
第八章输入输出系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章输入输出(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设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应

INTA中断请求命令译码①②③④⑤⑥⑦⑧程序中断方式的基本I/O接口

①10&DBR④⑤⑦⑧设备选择电路01以输入为例②③⑥多重中断的概念和屏蔽技术

当CPU正在执行某个中断服务程序时,又发生了优先级别更高的中断源的中断请求,于是CPU暂停服务,保护好现场,转去响应更高级别的中断请求,进行新的中断服务,即多重中断,又称中断嵌套。中断屏蔽技术主要用于多重中断。每个中断源对应一个屏蔽触发器MASK(若MASK=1则屏蔽,MASK=0则未屏蔽),将所有屏蔽触发器组合在一起,便构成一个屏蔽寄存器,其内容称作屏蔽字。屏蔽字与中断源的优先级别是一一对应的,所以在中断服务程序中设置适当的屏蔽字,能起到对优先级别不同的中断源的屏蔽作用,同时利用屏蔽字也可以任意改变中断源的优先级。例1:某计算机系统有4台外设D1、D2

、D3

、D4

,4台外设的响应优先级次序为:D1>D2>D3>

D4,且允许多重中断。设屏蔽位Bi=1为屏蔽,Bi=0为开放。(a)要求中断服务次序

D1>D2>D3>

D4

则屏蔽字设置为:

CPU的运行轨迹如下:中断服务程序级别

D1D2D3D4屏蔽字B1B2B3B4111011100110001中断服务程序D4D3D2D1主程序D3D2D4D2D1若将中断服务次序改为:

D1>D4>D3>

D2

则相应的屏蔽字设置为:

CPU的运行轨迹为:中断服务程序级别屏蔽字B1B2B3B4

D1D2D3D4

1111010001100111中断服务程序D4D3D2D1主程序D3D2D4D2D18.4DMA方式

DMA方式用于高速外设与主存在DMA控制器的控制下成批交换数据。DMA的基本概念

直接内存访问(DMA)是一种通过硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。

优点:速度快。有利于发挥CPU的效率。DMA传送方式(1)停止CPU访问内存方式

由DMA控制器发停止信号给CPU,DMA控制器从CPU处获得总线控制权后,进行数据传送。数据传送后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。(2)周期挪用(窃取)方式

DMA控制器与主存储器之间传送一个数据,占用(窃取)一个内存周期,即CPU暂停工作一个周期,然后继续执行程序。

(3)DMA与CPU交替访问方式如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA传送和CPU同时发挥最高的效率。DMA接口的组成和功能(1)DMA控制器的基本组成一个最简单的DMA控制器由以下逻辑部件组成:

(a)内存地址计数器用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。(b)字计数器用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发中断信号。

(c)数据缓冲寄存器用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。(d)“DMA请求”标志每当设备准备好一个数据字后给出一个控制信号,使“DMA请求”标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。

(e)“控制/状态”逻辑由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。(f)中断机构当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。

(2)DMA控制器的功能(a)向CPU申请DMA传送;(b)在CPU允许DMA工作时处理总线控制权的转交;(c)在DMA期间管理系统总线,控制数据传送;(d)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度;(e)在数据块传送结束时,给出DMA操作完成的信号。DMA数据传送过程(1)预处理阶段:确定数据传送方向,给相关寄存器置初始值。如向DMA控制器的设备地址寄存器中送入设备号并启动设备,向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数等。(2)数据传送阶段:DMA挪用主存周期,控制数据传送。DMA的数据传送是以数据块为基本单位进行的,因此,每次DMA控制器占用总线后,无论是数据输入操作,还是输出操作,都是通过循环来实现的。当进行输入操作时,外围设备的数据(一次一个字或一个字节)传向内存;当进行输出操作时,内存的数据传向外围设备。(3)后处理阶段:申请CPU中断,结束DMA操作。一旦DMA的中断请求得到响应,CPU停止主程序的执行,转去执行中断服务程序做一些DMA的结束处理工作。这些工作包括校验送入内存的数据是否正确;决定继续用DMA方式传送下去,还是结束传送;测试在传送过程中是否发生了错误等等。

预处理:主存起始地址设备地址传送数据个数启动设备DMADMADMA数据传送:继续执行主程序同时完成一批数据传送后处理:中断服务程序做DMA结束处理继续执行主程序CPU

DMA传送过程示意允许传送?主存地址送总线数据送I/O设备(或主存)主存地址加1传送个数减1数据块传送结束?向CPU申请程序中断DMA请求否否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论