《《微机与操作系统贯通教程》第6章IO接口与设备管理.ppt》由会员分享,可在线阅读,更多相关《《微机与操作系统贯通教程》第6章IO接口与设备管理.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LOGO新世纪高职高专实用规划教材新世纪高职高专实用规划教材微机与操作系统贯通教程微机与操作系统贯通教程王宝军王宝军 著著 清华大学出版社清华大学出版社第第6章章 I/O接口与设备管理接口与设备管理6.1 I/O接口技术接口技术6.2 I/O设备管理及软件设备管理及软件6.3 中断技术和缓冲技术中断技术和缓冲技术v学习目的与要求学习目的与要求外设是微机系统的重要组成部分。正由于外设种类繁多、物理特性各异,所以任何外设都必须通过I/O接口连接到系统总线上,并在I/O软件的控制和管理下,屏蔽了具体设备的物理特性,降低了用户使用设备的复杂性。通过本章的学习和上机操作,了解I/O接口的功能、结构、端口
2、编址、常用可编程接口芯片以及各层次I/O软件的功能与实现,重点掌握四种I/O控制方式、设备独立性的实现,以及中断技术、缓冲技术和SPOOLing技术的原理与实现,能运用Windows系统的设备管理器和注册表对设备进行各种配置。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社6.1 I/O接口技术接口技术主要内容主要内容1.I/O接口概述接口概述2.I/O控制方式控制方式3.可编程接口芯片可编程接口芯片4.8255A应用实例应用实例 重点关注:重点关注:I/O接口的功能与结构接口的功能与结构 四种四种I/O控制方式的特点控制方式的特点 I/O端口编址
3、方法端口编址方法 8255和和8253的功能与应用的功能与应用 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社1.I/O接口概述接口概述(一)(一)(1 1)I/OI/O接口的基本概念接口的基本概念n为何外设必须通过为何外设必须通过I/OI/O接口电路才能连接到系统总线接口电路才能连接到系统总线半导体存储器由于其工作速度与CPU基本相匹配、电平特性与总线相符、功能和传送方式单一,所以它与CPU之间可以直接通过总线相连。但是,外设的功能多种多样,其I/O信号电平和种类也各不相同;且外设工作速度比CPU低得多,不同外设的速度差异也很大。n什么是什么是
4、I/OI/O接口技术接口技术把CPU和内存等组成的基本系统与外设连接起来,从而实现主机与外设通信的一门技术。I/O接口设计包括两个方面:一是设计I/O接口电路,即硬件的设计;二是编制用于控制I/O接口电路按要求进行工作的驱动程序,即软件的设计。(2 2)I/OI/O接口的分类接口的分类按照电路和设备的复杂程度,I/O接口的硬件主要分为以下两大类:nI/OI/O接口芯片接口芯片大多是可编程的大规模集成电路。它们可通过CPU输出不同的命令和参数,灵活地控制与之相连的I/O电路或某些简单的外设进行相应的操作,如中断控制器8259A、定时/计数器芯片8253、并行接口芯片8255等。nI/OI/O接口
5、卡(接口卡(AdapterAdapter)通常由若干个集成电路按一定的逻辑结构组装成一个部件,它可能直接与CPU拼接在一个系统板上,也可能制成一个独立的电路板插件插在主板的总线槽上,如PC机常用的显卡、声卡、网卡等。按照所连接外设控制的难易程度,I/O接口卡的核心器件或为一般的接口芯片或为微处理器。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社1.I/O接口概述接口概述(二)(二)(3 3)I/OI/O接口的功能与结构接口的功能与结构数据缓冲功能数据缓冲功能设备选择功能设备选择功能检测控制外设检测控制外设其其 它它 功功 能能CPU和外设速度不匹
6、配的问题可以通过在接口电路中设置数据缓冲来解决,常使用锁存器、缓冲器和RAM。数据寄存器控制寄存器状态寄存器I/O设备状态线控制线数据线数据总线控制总线地址总线CPU在同一时间只能与一个外设交换信息,这就要借助于接口中的地址译码和设备选择逻辑以选定外设。接口接受CPU送来的命令和控制信号以控制和管理外设;外设工作状态和应答信号也通过接口返回给CPU。不同用途的I/O接口电路还可能具备其他功能。如信号电平转换、模/数(A/D)转换、并/串传送方式转换等。其其 它它 功功 能能不同用途的I/O接口电路还可能具备其他功能。如信号电平转换、模/数(A/D)转换、并/串传送方式转换等。数据寄存器用于数据
7、缓冲;控制寄存器用于存放CPU发来的控制命令等信息;状态寄存器用于保存外设现行各种状态信息供CPU读取。每个寄存器被称为一个I/O端口,并有惟一的地址,即端口地址。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社1.I/O接口概述接口概述(三)(三)(4 4)I/OI/O端口的编址方式端口的编址方式n统一编址方式统一编址方式把每个端口视为一个内存单元,并赋予相应的内存地址。由于端口地址被映像到内存空间的一部分,因此统一编址也称为存储器映像编址。优点:优点:无需专门的I/O操作指令,任何访存操作指令都可用于I/O操作,既简化了指令系统和读/写控制逻辑
8、,又使I/O操作的功能增强,而且端口数目几乎不受限制。缺点:缺点:占用了一部分内存空间,使可用的内存空间减少;由于访问内存的指令一般较长,使原本极为简单的I/O操作速度减慢。n独立编址方式独立编址方式将I/O端口单独编址,不占用内存空间,即两者的地址空间是相互独立的,所以CPU访问I/O端口必须采用专用的I/O操作指令。优点:优点:节省内存空间,而且由于系统需要的I/O端口数目比内存单元数目要少得多,端口寻址所需的地址线较少,所以端口地址译码较简单,寻址速度较快。缺点:缺点:专用于I/O操作的指令类型少,远不如访存指令丰富,且I/O指令一般只能在累加器和I/O端口之间交换信息,其处理能力不如统
9、一编址方式强大。n许多单片机都采用统一编址方式,如Intel MCS-51系列单片机等。n基于80 x86的PC系列及其兼容机采用的是独立编址方式,对I/O端口的寻址只用低10位地址总线,寻址1024个端口。其中,前256个端口地址(000H0FFH)专供I/O接口芯片使用;后756个端口地址(100H3FFH)为I/O接口控制卡使用。nPC系列不同机型端口编程并不完全兼容,对端口的分配和使用只能做到大体一致。说明说明 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.I/O控制方式控制方式(一)(一)(1 1)程序控制方式)程序控制方式是否 R
10、EADY?Not BUSY?或CPU读外设状态输入或输出数据n无条件(同步)传送方式无条件(同步)传送方式如果程序员在任何时候都能确信一个外设已准备好数据或处于接收就绪状态,那就不必检查外设的状态而直接进行数据的输入/输出。特点与适用场合:特点与适用场合:方法简单,所需的硬件和软件都较少,但外设未能及时准备好则可能导致重复读取上次输入内容或覆盖未输出内容等错误。只能适用于那些时序较为固定的简单外设操作,如开关、七段数码管等。n条件(查询)传送方式条件(查询)传送方式数据传送之前,CPU先从I/O接口读入外设当前状态,如果输入设备未准备好数据或者输出设备未处于空闲(即忙碌)状态,则反复读入并测试
11、外设状态,仅当外设已准备好数据或空闲时,CPU才用I/O指令与外设传送数据。特点与适用场合:特点与适用场合:需要在I/O接口中设置状态端口,数据传送可靠,可用于任何速度外设的传送。在两种程序控制方式中,CPU与外设之间的数据传送均由程序控制下完成,只适用于CPU速度较慢、外设较少的系统,现代微机中已很少使用,因为都存在以下缺点:nCPU与外设只能串行工作,CPU利用率低;n无法实现设备之间的并行工作;n无法发现和处理因设备或其它硬件所产生的错误。共同共同特点特点 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.I/O控制方式控制方式(二)(二)
12、(2)中断控制方式)中断控制方式n方法方法当输入设备已准备好数据或输出设备已准备好接收数据时,由外设通过I/O接口主动向CPU发出中断请求;CPU执行完当前指令并检测到有外部中断请求后,在中断允许(IF=1)的情况下便响应外设的中断请求,暂停执行目前的工作,转去执行一个为外设服务的中断处理程序;当完成CPU与外设的数据传送(即中断服务完毕)后,CPU又返回到原来的程序继续执行。断点程序A指令n指令n+1RET中断服务程序中断请求I/O传送断点保护转入断点恢复返回n特点特点中断方式传送过程看上去与子程序调用过程相似,但中断方式是因外设有数据传送的中断请求引起的,而子程序是由主程序中的CALL指令
13、而调用的。中断方式的主要特点:减少了CPU的等待时间,但数据传送过程仍由CPU执行程序来完成,CPU与外设并未真正并行。需要较多的软硬件支持。需要断点的保护与恢复(CS和IP等)。n适用场合适用场合正是由于断点的保护与恢复都需要一定的CPU辅助开销,所以中断方式只适用于外设速度较慢、传送数据量较少的场合。对于高速外设与主机之间大批量数据传送,CPU会因为过于频繁地处理中断而大大增加辅助开销,反而使CPU效率降低,这种情况下往往采用下面的DMA传送方式。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.I/O控制方式控制方式(三)(三)(3)DMA
14、方式方式n方法方法DMA是直接存储器存取(Direct Memory Access)的简称,其基本思想是:在外设和内存之间开辟直接的数据交换通路,从而在外设和主存之间可直接传送大批量数据(以数据块为单位)。nDMA传送过程传送过程DMA请求请求DMA响应响应DMA传送传送DMA结束结束DMA方式用硬件代替软件实现了数据传送,提高了CPU与外设的并行程度。DMA接管总线的方式有3种:CPU停止法周期挪用法交替访存法 nDMA接管总线方法接管总线方法 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.I/O控制方式控制方式(四)(四)(4)通道方式)
15、通道方式n方法方法与DMA方式类似,也是一种以内存为中心,实现外设与内存直接交换数据的控制方式。但通道是一个独立于CPU的专管输入/输出控制的处理机,它有自己的一套简单的指令系统,通道方式的I/O数据传送就是由通道执行通道程序来完成的。n通道传送过程通道传送过程通道启动通道启动形成通道程序形成通道程序启动通道启动通道通道传送通道传送通道结束通道结束运行通道程序运行通道程序完成数据传送完成数据传送向向CPU中断请求中断请求关闭通道关闭通道n通道与通道与DMA比较比较通道方式通过执行通道程序完成数据传送;而DMA方式是借助于硬件完成的。一个通道可以连接多个不同类型的外设,同时进行数据交换;而一个D
16、MA控制器只能连接同类设备,多个同类外设也只能串行工作。通道方式中CPU只需发一个I/O指令启动通道,由通道自己完成对外设初始化;而DMA控制器对自身及外设初始化工作由CPU完成。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社3.可编程接口芯片可编程接口芯片(一)(一)(1)并行接口芯片)并行接口芯片8255A 8255A是Intel公司生产的通用可编程并行I/O接口芯片,可为外设提供三个8位端口,又可分为两组编程,能工作于三种模式,允许采用同步、异步和中断方式传送I/O数据。n功能结构功能结构数据总线缓冲器三个8位端口PA、PB和PCA组和B组
17、控制电路读/写控制逻辑n工作方式工作方式方式0基本输入/输出方式方式1单向选通输入/输出方式方式2双向选通输入/输出方式n初始化初始化 将方式选择控制字、PC口置位/复位控制字两种控制命令字写入8255A的控制寄存器端口,以设置各种工作方式。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社3.可编程接口芯片可编程接口芯片(二)(二)(2)定时)定时/计数器芯片计数器芯片8253n定时与计数功能及实现定时与计数功能及实现对频率固定的时钟信号计数,实际上就是定时功能。定时信号可以利用软件编程或硬件方法得到,而硬件定时又有采用不可编程的数据逻辑电路(如定
18、时器555)和采用可编程定时/计数器(如微机中常用的8253)。n功能结构与工作方式功能结构与工作方式说说明明n8253初始化先把工作方式控制字写入控制端口,紧接着把计数初始值的低8位和高8位分两次相继写入控制端口(注意计数初值设置为0表示最大计数值)。nPC/XT机中8253三个计数器分别用于:计数器0用作系统时钟(方式3)计数器1用作DRAM的刷新定时(方式2)计数器2用作扬声器的告警或伴音信号(方式3,1000Hz)。D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD00计数器001计数器110计数器211未用00计数器锁存操作(供CPU读)01只读/写计数器低8
19、位10只读/写计数器高8位11先读/写低8位,后读/写高8位000方式0(计数结束中断)001方式1(可编程单稳)X10方式2(频率发生器)X11方式3(方波发生器)100方式4(软件触发选通)101方式5(硬件触发选通)016位二进制计数14位十进制(BCD)码计数 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社4.8255A应用实例应用实例n并行打印接口连续实例并行打印接口连续实例 PC机的并行打印接口采用Centronics标准的插头插座,8086系统与打印机接口之间的连接如图所示。其中,为打印机选通信号;BUSY为忙碌信号。;*PRINT
20、子程序*mov cx,0600;置延迟参数delay:loop delay;延迟一段时间 pop cx mov al,82h;8255A初始化 mov dx,portcon out dx,al mov al,80h;往PC口送80H mov dx,portc;使选通信号无效 out dx,alstat:mov dx,portb;从PB口读状态 in al,dx test al,01;测试BUSY jnz stat;忙碌则等待 mov dx,prota;空闲则输出字符 mov ax,bp+4 out dx,al sub al,al;使PC7为低电平 mov dx,protc;即输出选通信号 ou
21、t dx,al mov al,80h;使选通信号无效 out dx,al 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社6.2 I/O设备管理及软件设备管理及软件主要内容主要内容2.设备管理的功能设备管理的功能3.I/O软件的层次结构软件的层次结构5.设备分配策略设备分配策略6.SPOOLing技术技术1.外部设备的分类外部设备的分类4.设备驱动程序设备驱动程序 重点关注:重点关注:设备管理的主要功能及实现过程设备管理的主要功能及实现过程 设备独立性的含义与实现设备独立性的含义与实现 I/O设备管理软件的层次结构设备管理软件的层次结构 SPOOL
22、ing技术及其应用技术及其应用 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社1.外部设备的分类外部设备的分类设备管理是操作系统的重要组成部分,主要有三个方面的任务:n按照用户的要求来控制I/O设备操作,减轻用户的编程负担;n按照一定的算法把外设分配给请求它的进程,以保证系统有条不紊地工作;n尽可能提高种类繁多的外设与CPU之间的并行操作程度,以提高系统效率。系统设备系统设备用户设备用户设备安装操作系统时就纳入系统管理范围的各种标准设备。系统设备之外的非标准设备,在操作系统安装后由用户安装配置相应的驱动程序。按设备的从按设备的从属关系分类属关系分
23、类按资源分配按资源分配角度来分类角度来分类独享设备独享设备共享设备共享设备任何时刻只允许一个进程或作业使用的设备,大多慢速字符设备均为此类。允许多个进程或作业同时使用的设备,大多属于高速、可直接存取的设备。字符设备字符设备块设备块设备以字符为单位来组织和传送信息的设备,通常是慢速设备,往往具有交互特点。以数据块为单位组织和传送信息的设备,多为高速、大量数据传送的存储设备。按信息交换按信息交换单位来分类单位来分类另外,按使用特性可以把设备分为存储设备、输入或输出设备、终端设备三类;按操作系统对设备安装的支持程度又可分为即插即用(PnP)设备和非即插即用设备两大类。微机与操作系统贯通教程微机与操作
24、系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.设备管理的功能设备管理的功能支持支持支持支持SPOOLingSPOOLing技术技术技术技术设备分配设备分配设备分配设备分配提供中断提供中断提供中断提供中断处理机制处理机制处理机制处理机制设备管理的功能设备管理的功能设备管理的功能设备管理的功能提供设备提供设备提供设备提供设备驱动程序驱动程序驱动程序驱动程序或其接口或其接口或其接口或其接口提供设备提供设备提供设备提供设备的独立性的独立性的独立性的独立性管理缓冲区管理缓冲区管理缓冲区管理缓冲区 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学
25、出版社3.I/O软件的层次结构软件的层次结构用户级I/O软件I/O请求独立于设备的软件设备驱动程序中断处理程序硬 件I/O响应包括实现设备独立性、缓冲技术及设备分配包括实现设备独立性、缓冲技术及设备分配指操作系统提供给程序员使用的指操作系统提供给程序员使用的I/O系统调用系统调用(1)设备标识)设备标识n用户程序在使用设备时,不愿涉及到设备的具体物理特性。设备管理引入了逻辑设备和物理设备的概念,使设备的独立性得以实现。n逻辑设备是对实际物理设备的抽象,并不限于某个具体的物理设备。n按照用户习惯为逻辑设备起的名字称为逻辑设备名,而系统为了能识别每个具体的物理设备,必须为它们分配一个惟一不变的名字
26、,称为物理设备名。(2)设备独立性)设备独立性n所谓设备独立性,是指用户编程时所使用的逻辑设备与实际使用的物理设备无关,也称设备无关性。n当用户程序以逻辑设备名来请求使用某类设备时,系统将在该类设备中,根据设备的使用情况选择一台合适的物理设备分配给用户程序。在将设备逻辑设备名转换为物理设备名之后,即可调用相应的设备驱动程序来管理这台物理设备。n设备独立性给用户带来了以下两方面的好处:便于同类设备的合理调度使用;便于实现虚拟设备。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社4.设备驱动程序设备驱动程序n设备驱动程序是I/O接口技术中由软件实现的部
27、分,它是通过I/O接口电路直接驱动物理设备,使其按用户的意图完成各种操作的软件。将抽象要将抽象要求转换为求转换为具体要求具体要求检查检查I/O请求的请求的合法性合法性检查设检查设备状态备状态传送必传送必要参数要参数设备驱动程序的处理过程设备驱动程序的处理过程设备驱动程序的处理过程设备驱动程序的处理过程n将用户命令中的逻辑设备名转换为物理设备名,系统只是完成了第一步工作。要具体操纵一台物理设备非常复杂,于是操作系统的设计者把所有与物理设备直接相关的软件部分独立出来,构成设备驱动程序库。注意注意设备驱动程序与设备的特性紧密相关,它是设备的灵魂,不同类型的外设有着不同的驱动程序,即使是不同厂商生产的
28、同一类外设,其驱动程序也不完全一样,只有正确安装了驱动程序,设备才有生命力。启动启动I/O设备设备 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社5.设备分配策略设备分配策略(一)(一)(1)数据结构)数据结构n能充分发挥设备使用效率,并使系统中的设备得到均衡使用;n尽量满足用户要求,但又要避免由于不合理的分配方法而造成进程死锁。(2)设备分配原则)设备分配原则n静态分配在用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器和通道。这种方法不会出现死锁,但设备的使用效率低。n动态分配在进程执行过程中根据需要向系统提出对设备的请求,由
29、系统按某种策略分配所需要的设备、控制器和通道,一旦用完之后,便立即释放。(3)设备分配方式)设备分配方式 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社5.设备分配策略设备分配策略(二)(二)(4)设备分配算法)设备分配算法 当某个进程提出I/O请求之后,设备分配程序使用系统提供的SDT、DCB、COCB、CHCB等数据结构,按设备、控制器、通道的顺序实施分配,流程如图所示。(5)设备分配流程)设备分配流程n先请求先分配n优先级高者先分配检查设备分配安全性是指采用某种算法,判定分配此设备给进程是否安全,即分配后系统是否可能出现死锁。为了实现设备独
30、立性,系统要将用户请求的逻辑设备名和分配到的设备物理名填入一张称为逻辑设备表LUT的表目中。对于独占设备的分配,在支持SPOOLing技术的系统中也可以共享使用。注意注意 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社6.SPOOLing技术及应用技术及应用主机预输入程序用户程序预输出程序输入设备输入井输出井输出设备辅存 现代操作系统都支持假脱机(SPOOLing)技术,在大容量外存的支持下,由预输入程序和预输出程序来进行数据传输,实现了将独享设备虚拟为可共享的虚拟设备。在磁盘上开辟两个空间,分别称为“输入井”和“输出井”。预输入程序将输入设备的
31、数据写到磁盘输入井中。当用户进程需要输入数据时,直接从输入井读入内存。用户进程将要输出的数据送到磁盘输出井中。预输出程序从输出井取出数据,送到输出设备输出。应用实例:应用实例:Windows系统中“后台打印”功能的实现,就是SPOOLing技术的典型应用。当采用后台打印时,CPU无需等待打印机就绪,就可以直接将要打印的所有作业存放到磁盘中而排成打印队列。CPU则返回继续做其他事情,以后等到合适的时机,由专门守候在后台的打印进程把要打印的信息从磁盘送到打印机,并管理打印机的打印工作。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社6.3 中断技术和缓
32、冲技术中断技术和缓冲技术主要内容主要内容1.中断及中断类型中断及中断类型2.中断的技术实现中断的技术实现3.中断控制器中断控制器8259A4.缓冲技术及其实现缓冲技术及其实现 重点关注:重点关注:中断的用途与分类中断的用途与分类 中断优先级管理方法中断优先级管理方法 中断向量及其计算中断向量及其计算 缓冲技术的实现方法缓冲技术的实现方法 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社1.中断及中断类型中断及中断类型n中断技术在操作系统的各个方面都起着不可替代的作用,它是事件驱动的基础。在人机联系、故障处理、实时处理、程序调试与监测等方面都要用到中
33、断技术,设备管理中没有中断技术就不可能实现设备与主机、设备与设备、设备与用户、设备与程序的并行。中断技术不仅仅只是在设备管理中广泛使用,它还用于整个系统中对各种异常事件的处理。异常(陷入)异常(陷入)由CPU和内存内部引起的中断,中断类型码通常由系统规定的,如:0号除0出错1号单步运行3号断点中断4号溢出错误内中断内中断(CPU内部或内存引起的中断)主机主机软中断软中断由程序中执行了中断指令而引起的中断。这类中断的类型码是在中断调用指令中给出的,如DOS和BIOS调用中用的“INT n”指令,其中的n即为类型码。外设外设外中断外中断(外部设备引起的中断)非屏蔽中断非屏蔽中断为外部紧急请求提供服
34、务的中断,它不受中断允许标志IF的屏蔽,其类型码为2。典型例子就是启动电源故障程序。可屏蔽中断可屏蔽中断来自各种外设服务请求的中断,它受中断允许标志IF的控制,其类型码是由外设通过数据总线提供,由CPU执行完当前指令后响应。INTRNMI 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.中断的技术实现中断的技术实现(一)(一)n中断向量即是指中断服务程序的入口地址,每个中断类型对应一个中断向量,一个中断向量占4个字节,前后各两个字节分别存放中断处理程序入口地址的偏移量和段地址。n80 x86系列微机能处理256种中断类型,其中断向量按类型码由低
35、到高存放于内存最低地址的1KB空间,形成一张中断向量表。因此,中断类型码与中断向量有如下关系:中断向量=中断类型码4(1)中断向量和中断向量表)中断向量和中断向量表实例实例A:若中断类型码为20H,则转入中断服务程序的过程如图所示。10H20H30H40H0000:00000000:00800000:00810000:00820000:00834030:2010中断服务程序20H42010HCSIP4030H80H实例实例B(思考):(思考):17H号中断处理程序存放在2345:7890H开始的内存区域,则该中断向量存放在哪个地址?中断向量4个字节的内容分别是什么?微机与操作系统贯通教程微机与
36、操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.中断的技术实现中断的技术实现(二)(二)nCPU响应外部中断的过程(硬件实现)(2)中断响应和中断处理过程)中断响应和中断处理过程从数据线读取中断类型码暂存从数据线读取中断类型码暂存有有INTR请求、请求、IF=1、CPU执行完当前指执行完当前指令即响应中断(往令即响应中断(往 发两个负脉冲)发两个负脉冲)标志寄存器标志寄存器FLAG压入堆栈压入堆栈IF、TF清零,暂时屏蔽其他外部中断清零,暂时屏蔽其他外部中断断点保护(即断点保护(即CS和和IP压入堆栈)压入堆栈)按类型码计算中断向量,转入中断服务按类型码计算中断向量,转入
37、中断服务保护现场(保护现场(CS、IP和和FLAG除外)除外)开中断(开中断(IF置置1)中断处理内容中断处理内容关中断关中断恢复现场恢复现场中断返回(中断返回(IRET)n中断处理过程(即中断服务程序内容)微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社2.中断的技术实现中断的技术实现(三)(三)CPU响应外部中断涉及三个问题:如何判断中断请求来自哪个外设?多个外设同时请求时响应哪个外设的中断请求?CPU正在执行某个中断处理程序时是否响应更高级中断请求以形成中断嵌套?归根到底是两个问题,即中断源的识别和判优,有三种实现方法。(3)中断源的识别与判
38、优)中断源的识别与判优n软件查询方式软件查询方式 在中断处理前利用程序段,按某种顺序分别查询每个外设是否有中断请求。其特点是节省硬件电路,由程序查询顺序决定外设中断优先级,但速度慢。n简单硬件方式(菊花链法)简单硬件方式(菊花链法)用菊花链硬件电路实现,简单实用,但其优先级由硬件电路决定,灵活性差,越靠近CPU的接口其优先级越高。n专用硬件方式专用硬件方式 现在PC中都采用可编程中断控制器8259A实现中断源的识别和判优。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社3.中断控制器中断控制器8259An8259A是由Intel公司专为控制中断优先
39、级而设计的可编程中断控制器芯片。n一片8259A可直接管理8级中断,通过多片级联,最多可构成64级优先中断控制系统。n通过编程可以设定以下五种不同的中断功能和工作方式:中断请求寄存器(IRR)用来记录所有要求服务的中断请求,每一位对应一个来自I/O设备的中断源,IR0IR7的优先级可通过对8259A的编程设定。中断服务寄存器(ISR)用来记录正被CPU服务的所有中断级。中断屏蔽寄存器(IMR)用来屏蔽或开放对应位的中断,可通过编程设置。优先级分析器(PR)用于确定中断请求寄存器IRR中各位的优先级。当有中断请求信号将IRR中的相应位置1时,PR就选出其中的最高优先级,并置入ISR相应位置。完全
40、嵌套方式默认的固定优先级方式自动循环方式特殊循环方式特殊屏蔽方式查询排序方式n主要部件:微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社4.缓冲技术及其实现缓冲技术及其实现(一)(一)u引入缓冲的目的:引入缓冲的目的:CPU的速度远远高于外设,中断技术使CPU无需反复地检测外设的状态或请求而浪费时间,提高了外设与CPU的并行程度和效率。那么,引入缓冲技术的主要原因是为了缓和CPU和外设之间速度不匹配的矛盾。u缓冲实现的方法:缓冲实现的方法:硬件缓冲由外设自带的专用寄存器构成,硬件缓冲器的大小也成为衡量设备性能的一个指标,缓冲容量越大,其价格也越昂贵
41、。软件缓冲在内存中专门开辟若干单元作为缓冲区,根据缓冲区设置个数的多少以及管理方法的不同,可以分为单缓冲、双缓冲、环形缓冲和缓冲池等几种。一般来说,缓冲区个数越多,缓冲效果也越好。在发送者和接收者之间只有一个缓冲区,方法最为简单,但发送者和接收者不能并行工作,因为缓冲区是临界资源,不能同时对它进行操作。(1)单缓冲)单缓冲BUF发送接收BUF1发送接收BUF2 在发送者和接收者之间设两个缓冲区,发送者和接收者交替使用它们,一定程度上具备了并行工作的能力。(2)双缓冲)双缓冲 微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社4.缓冲技术及其实现缓冲技
42、术及其实现(二)(二)系统中设置多个缓冲区,并将所有缓冲区链接起来,最后一个缓冲区的指针指向第一个缓冲区而形成一个环,所以称为环形缓冲。(3)环形缓冲)环形缓冲 由多个大小相同的缓冲区组成,并由系统统一管理,缓冲池中的缓冲区被系统中所有进程共享使用。当某个进程需要使用缓冲区时,管理程序将缓冲池中合适的缓冲区分配给它,使用完毕再将缓冲区释放回缓冲池。为了便于管理,系统将相同类型的缓冲区链成一个队列,缓冲池中有三种缓冲队列:(4)缓冲池)缓冲池STARTFULLEMPTYCPU提取输入收容输出输入设备输出设备收容输入提取输出 环形缓冲的缓冲区数量可以灵活设置,缓解速度不匹配的矛盾更有效,但缓冲区占
43、用的内存开销随之增加,因为它是每个设备的专用资源,而且缓冲区利用率不高。空缓冲队列输入队列输出队列 采用公用的缓冲池,对缓冲区进行统一管理,动态分配,用少量的缓冲区为许多进程服务,提高了 缓冲区的利用率,进一步缓解了CPU和外设速度不匹配的问题,改善了他们的并行程度。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社第第6章小结章小结(一)(一)n外设不能像半导体存储器那样直接与总线相连,而必须通过专门的I/O接口才能连接到系统总线上。I/O接口可分为接口芯片和接口卡两大类,它们都有数据缓冲、设备选择、对外设的控制与检测三个基本功能,根据不同用途还可
44、能具备信号电平转换、模/数(A/D)转换、并/串转换、中断或DMA管理等功能。因此,I/O接口的编程结构应包含数据、控制和状态三个寄存器,分别用于数据缓冲、CPU向外设发出控制命令、供CPU读取外设的当前状态。每个寄存器称为一个I/O端口,具有惟一的端口地址。从端口地址与内存地址的关系上来说,端口编址有统一编址和独立编址两种方式,基于80 x86的PC系列及其兼容机采用的是独立编址方式。n可编程接口芯片是I/O接口的其中一类,它们可通过CPU控制或设置不同参数而处于不同的工作方式,从而灵活地应用于各种不同的场合。微机中常用的可编程接口芯片有并行接口芯片8255A、串行接口芯片8251A、定时/
45、计数器芯片8253等。在CPU与外设传送数据的过程中,尽量减少CPU对外设的控制和干预,提高CPU与外设的并行度,将对整个系统的高效运行至关重要。常用的I/O控制方式主要有程序方式、中断方式、DMA方式和通道方式四种,它们需要不同复杂程度的软硬件支持,适用场合也不同。n事实上,I/O接口包括I/O接口电路(硬件)和相应的驱动程序(软件)两部分。只是我们通常所说的I/O接口是指硬件部分,而设备驱动程序-(续)微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社第第5章小结章小结(二)(二)则交给操作系统来统一管理和调用。按设备管理的功能进行划分,I/O软
46、件可分为中断处理程序、设备驱动程序、独立于设备的系统软件和用户级I/O软件四个层次。设备独立性是指用户编程时所使用的逻辑设备与实际使用的物理设备无关,这是I/O软件最重要的实现目标。系统将用户对设备的逻辑请求转换为物理设备名后,按设备、控制器、通道的顺序采用某种策略为用户分配合适的物理设备。然后,调用相应的设备驱动程序,通过I/O接口直接驱动物理设备,使其按用户的意图完成各种I/O操作。现代操作系统都支持SPOOLing技术,把独享设备虚拟为共享设备,Windows中后台打印功能的实现就是一个典型的例子。n中断技术不仅仅用于I/O数据传送,它是事件驱动的基础,在计算机系统的各个方面都起着不可替
47、代的作用。基于80 x86系列PC及其兼容机可以处理256种中断,所有中断服务程序入口地址组成的中断向量表占内存最低地址的1KB空间。按中断源不同,中断可分为外中断、内中断和软中断三大类,外中断又有非屏蔽和可屏蔽中断两种。在有多个外设同时发出中断请求信号,或者CPU正处理中断而又有新的中断请求时,就必然涉及中断源的识别和判优问题,常用的有采用软件查询、简单菊花链硬件电路和可编程中断控制器8259A专用硬件等方法。n引入缓冲技术是为了缓和CPU和外设之间速度不匹配的矛盾,同时也可提高CPU与外设的并行程度。按照缓冲实现方法不同,有硬件缓冲和软件缓冲两种;根据缓冲区设置个数以及管理方法的不同,又可以分为单缓冲、双缓冲、环形缓冲和缓冲池等几种。一般来说,缓冲区个数越多,缓冲效果也越好。微机与操作系统贯通教程微机与操作系统贯通教程 王宝军王宝军 著著 清华大学出版社清华大学出版社LOGO王宝军王宝军 著著 清华大学出版社清华大学出版社