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

下载本文档

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

文档简介

第十章输入输出系统10.1输入输出系统概述

I/O系统包括外部设备及其与主机之间的控制部件。后者称之为设备控制器,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。本章主要介绍设备控制器的工作原理及其与主机之间传送数据的协议,即系统总线。2输入输出接口的基本结构CPU和外设之间通常传递的信息:数据、状态、控制组成:寄存器组、控制逻辑电路、主机与接口和接口与I/O设备之间的信号联接线、数据地址线、控制状态信号线CPU控制电路DRSRCRI/O设备地址数据IO/MRDWR数据状态控制310.1.1输入输出设备的编址及设备控制器的基本功能为了便于CPU对I/O设备进行寻址和选择,必须给众多的I/O设备进行编址,也就是说给每一台设备规定一些地址码,称之为设备号或端口地址。一般有两种编址方式:(1)I/O端口独立编址优:专门的I/O指令,与访存分开;指令执行快;不占内存地址空间。缺:需专用指令、寻址方式少(2)存储器、I/O接口统一编址优:访存指令可访问端口,这样寻址类型多,编程较方便。缺:占用存储器空间;速度慢。4设备控制器的基本功能:(1)实现主机和外围设备之间的数据传送控制。其中包括设备选择、中断控制等。(2)实现数据缓冲,以达到主机和外围设备之间速度的匹配。(3)接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。510.1.2主机与外设间

数据传送控制方式

(1)程序直接控制(programdirectcontrol)传递方式(2)程序中断传送(programinterrupttransfer)方式(3)直接存储器存取(directmemoryaccess)DMA方式(4)I/O通道控制(I/Ochannelcontrol)方式(5)外围处理机(peripheralprocessorunit)方式61、程序直接控制传送方式又叫查询方式。是完全通过程序来控制主机和外围设备之间的信息传送。通常的办法是在用户的程序中安排一段由输入输出指令和其他指令所组成的程序段直接控制外围设备的工作。也就是说CPU要不断地查询外围设备的工作状态,一旦外围设备“准备好”或“不忙”,即可进行数据的传送。71、程序直接控制传送方式该方法是主机与外设之间进行数据交换的最简单、最基本的控制方法。无条件传送只有在外设总处于准备好状态程序查询方式优点:较好协调主机与外设之间的时间差异所用硬件少。缺点:主机与外设只能串行工作主机一个时间段只能与一个外设进行通讯CPU效率低。从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态完成否未准备就绪现行程序是出错已准备就绪否82、程序中断传送方式当外围设备完成数据传送的准备后,便主动向CPU发出“中断请求”信号。若CPU允许中断,则在一条指令执行完后,响应中断请求,转去执行中断服务子程序,完成数据传送,通常传送一个字或一个字节。传送完后继续执行原程序。中断请求方式在一定程度上实现了CPU和外围设备的并行工作。若在某一时刻有几台设备发出中断请求,CPU可根据预先定好的优先级,去处理几台外设的数据传送。但是对于工作频率较高的外设,如磁盘,数据交换通常是成批的,若采用中断方式,则不合适。一般采用DMA方式。92、程序中断传送方式优点:避免频繁查询,适合随机出现的服务和中低速外设使用。缺点:成批数据交换时,中断影响传送效率,一次传送一个字符,中断处理时间大于传送数据时间。需要一定的硬件电路。103、直接存储器访问方式1.DMA方式的引入前两种方式以CPU为中心,占用CPU时间。DMA方式以内存为中心。2.基本工作原理在外围设备和主存之间开辟直接的数据通路。在正常工作时,所有的工作周期均用于执行CPU的程序。当外围设备完成I/O的准备工作后,占用CPU的工作周期,和主存直接交换数据。完成后,CPU又继续控制总线,执行原程序。完成这项工作的是系统中增设的DMA控制器。11直接存储器访问方式DMA控制器在进行DMA传送之前,由CPU将每次传送的主存地址、数据的个数等参数传送给DMA控制器,然后具体的数据传送就由DMA控制器实现,无须CPU的参与。缺点:

CPU需要在DMA传送的开始和结束时参与;每个需要进行DMA传送的外设都要对应一个DMA控制器,且DMA控制器是由硬件实现的,不易修改。于是在大型计算机系统中通常设置专门的硬件装置—通道。12三种方式的CPU工作效率比较存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送CPU

执行现行程序CPU查询等待并传输I/O数据CPU

执行现行程序启动I/OI/O准备及传送指令执行周期结束CPU执行现行程序CPU执行现行程序启动I/O中断请求I/O准备I/O准备CPU处理中断服务程序实现I/O与主机之间的传送间断启动I/O启动I/OI/O准备中断请求启动I/OI/O准备一个存取周期DMA请求程序查询方式程序中断方式DMA方式I/O准备及传送13

4、I/O通道控制方式I/O通道具有少数专用的指令系统,能实现指令所控制的操作,管辖其相应的设备控制器,所以I/O通道已具备简单处理机的功能。但它仅仅是面向外围设备的控制和数据的传送,其指令系统也仅仅是几条简单的与I/O操作有关的命令。I/O通道要在CPU的I/O指令指挥下启动、停止或改变工作状态。因此,l/O通道不是一个完全独立的处理机,它只是从属于CPU的一个专用I/O处理器。它的进一步发展是引入专用的输入输出处理机。通道方式的出现进一步提高了CPU的效率。但需更多的硬件电路。14I/O通道控制方式MM:主存CPU:中央处理器CH:通道CU:接口D:I/O设备MMCHCHCHCPUCUCUCUCUCUCUCUDDDDDDDDDDD155、输入输出处理机(IOP)方式有单独的存储器和独立的运算部件,可访问系统的内部存储器除数据传输外,还应有以下功能:能处理传送过程中出错及异常情况,数据格式翻译,数据块校验。IOP方式是通道方式的进一步的发展。它们大多应用在中、大型计算机中。1610.2程序中断控制技术中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。中断系统是计算机实现中断功能的软、硬件总称。在CPU一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相应的中断服务程序。17I/O中断的产生以针式打印机为例发中断请求空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回启动打印机传送数据传送数据CPUCPU与打印机并行工作18中断作用(1)CPU与I/O设备并行工作(2)硬件故障处理(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。(4)实现多道程序和分时操作(5)实现实时处理(6)实现应用程序和操作系统的联系(7)多处理机系统各处理机间的联系1910.2.1中断的概念(1)中断源:引起中断的事件,即发出中断请求的来源。■外中断:I/O设备等来自主机外部设备的中断。■内中断:处理器硬件故障或程序出错引起的中断。■软中断:由“Trap”指令产生的软中断,这是在程序中预先安排好的中断触发器:每个中断源的接口电路中都有一个“中断触发器”,用于保存中断源向CPU的中断请求信号。多个中断触发器构成中断寄存器。(2)中断的分级与中断优先权在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。20(3)禁止中断和中断屏蔽一、禁止中断:产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU的内部设置一个“中断允许”触发器,只有该触发器为“1”时,才允许处理机响应中断,反之,则不响应所有中断源的中断请求。“中断允许”触发器可以通过“开中断”和“关中断”指令来置位和复位。21(3)禁止中断和中断屏蔽二、中断屏蔽当产生中断请求时,用程序方式有选择地封锁部分中断,而允许其余部分的中断仍能得到响应。实现的方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。各个设备的中断屏蔽触发器构成中断屏蔽寄存器。当然有些中断源的中断请求是不可屏蔽的。所以中断又分为可屏蔽中断和非屏蔽中断。2210.2.2中断处理中断请求:是指中断源(引起中断的事件或设备)向CPU

发出的请求中断的要求。中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;中断响应:指CPU中止现行程序转至中断服务程序的过程;中断处理:就是指CPU执行中断服务程序;中断返回:执行完中断服务程序后,返回到被中断的程序一个完整的中断过程包括:23关

保存断点、保存现场

判别中断条件

转入中断服务程序

开中断

执行中断服务程序

关中断

恢复现场、恢复断点

开中断

返回断点

24

(1)关中断由硬件自动实现。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序。(2)保存断点和现场现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。(3)判别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下。本次实际响应的只能是优先权最高的那个中断源、所以,需进一步判别中断源,并转入相应的中断服务程序入口。中断处理过程25

(4)开中断。接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应。实现中断嵌套。(5)执行中断服务程序。(6)退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此,常常称为‘中断隐指令’。中断处理过程26

判别中断源可以用软件和硬件两种方法来判优。(1)查询法(软件法)由测试程序按一定优先排队次序检查各个设备的“中断触发器”。当遇到第一个‘1’标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。(2)串行排队链法(硬件判优)由硬件确定中断源。问题:找到优先级最高的中断请求后,如何转入其中断服务程序?一般采用中断向量法:向量中断方式是为每一个中断源设置一个中断向量(就是中断服务程序的入口地址),所有的中断向量存放在主存的某个固定位置(中断向量表)。CPU响应某个中断源的中断请求时,根据设备提供的中断类型码,访问中断向量表,就可以找到该中断源的中断服务程序的入口地址。2.判别中断源27中断请求逻辑图:CPU主存I/O设备n设备控制器设备控制器I/O设备0......系统总线中断触发器INTRINTR0INTRn28中断请求串行排队逻辑图:INTI293.多重中断处理——中断嵌套在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,转去进行新的中断处理服务程序。一般情况下与它同级的或比它低级的新中断请求,CPU不能响应其请求。中断优先级的响应次序由硬件排队线路决定。一旦设计完成,系统的优先级别就决定了,缺乏改变优先权级别的灵活性。在有优先级中断屏蔽码控制的条件下,可以不改变系统排队线路,使其中断响应次序不同。30多重中断的概念klmk

+1l

+1m

+1第一次中断第二次中断第三次中断程序断点k+1,l+1,m+1中断屏蔽技术31

10.3DMA(DirectMemoryAccess)输入输出方式高速大容量存储器和主存之间交换时,若采用程序直接传送或程序中断传送的方式,则会有如下问题发生。1)采用程序直接传送,主机工作效率受到限制。2)采用中断控制数据传送可以提高主机效率,但用于高速外设和主机交换信息,会使主机处于频繁的中断与返回过程中,从而加重了与中断有关的额外负担(即保护旧现场,恢复新现场),这样降低了CPU的性能,还有丢失数据的可能。32

DMA是l/O设备与主存之间由硬件组成的直接数据通路,主要用于高速I/O设备与主存之间的成组数据传送。数据传送时是在DMA控制器控制下进行的,由DMA控制器给出当前正在传送的数据字的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。在数据传送之前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。对磁盘的读写是以数据块为单位进行的,一旦找到数据块的起始位置就将连续地读写。33DMA方式具有如下特点:

(1)外围设备访问请求直接发往主存储器。

(2)不需要CPU进行保存现场和恢复现场。

(3)DMA控制器中,需设置数据寄存器、设备状态或控制寄存器、主存地址寄存器、设备地址寄存器和数据交换个数计数器(4)在DMA方式开始和结束时,需要处理机进行管理。(5)在DMA方式中,数据的传送过程不需要CPU的干预。34

1.CPU暂停方式主机响应DMA请求后让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU。2.CPU周期窃取方式

DMA控制器与主存之间传送一个数据占用一个CPU周期即CPU暂停工作一个周期,然后继续执行程序。3.直接访问存储器工作方式这是标准的DMA工作方式。如传送数据时CPU正好不占用存储总线,则对CPU不产生任何影响。如同时需要访问存储总线,则DMA的优先级高于CPU。10.3.1DMA三种工作方式35

10.3.2DMA控制器组成DMA控制器包括多个设备寄存器、中断控制和DMA控制逻辑等。主要的寄存器有:(1)主存地址寄存器(MAR):(2)外围设备地址寄存器(ADR):(3)字数计数器(WC):(4)控制与状态寄存器(CSR):(5)数据缓冲寄存器(DBR):36DMA控制器结构37

10.3.3DMA的数据传送过程DMA的数据传送过程可分为三个阶段:DMA预处理DMA数据传送DMA传送后处理38

10.4

通道控制方式和外围处理机方式在大、中型计算机中,外设配置多,数据传送频繁,如仍采用DMA方式存在下述问题:(1)如果为数众多的外设都配置专用的DMA控制器,将大幅度增加硬件因而提高成本,而且要为解决众多DMA同时访问主存的冲突使控制复杂化。(2)采用DMA传送方式的众多外设均直接由DMA管理控制,由CPU进行初始化势必会占用更多的CPU时间,而且频繁的周期挪用会降CPU执行程序的效率。为避免上述弊病,在大、中型计算机系统中采用通道方式或外围处理机方式进行数据交换。39

10.4.1I/0通道的种类根据多台设备共享通道的不同情况,可将通道分为三类:1.字节多路通道2.选择通道3.数组多路通道40

10.4.2通道型I/O处理机和外围处理机

通道技术的进一步发展,出现了独立性与功能更强的输入输出处理机IOP。其具有比较丰富的指令系统,结构接近于一般的处理机,由自己的局部存储器。IOP不是一台独立的计算机,而是计算机系统中的一个部件。IOP可以和CPU并行工作,提供高速的DMA处理能力,实现数据的高速传送。此外有些IOP还提供数据的变换、搜索和字装配/分拆等能力,有较多的I/O指令集。外围处理机结构更接近于一般处理机,或者就是选用已有的通用机。外围机基本上是独立于主处理机工作的,应用于大型高效率的计算机系统中。在巨型机中,常采用多台外微

温馨提示

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

最新文档

评论

0/150

提交评论