微机原理输入输出与中断

上传人:hjk****65 文档编号:253026090 上传时间:2024-11-27 格式:PPT 页数:43 大小:988KB
返回 下载 相关 举报
微机原理输入输出与中断_第1页
第1页 / 共43页
微机原理输入输出与中断_第2页
第2页 / 共43页
微机原理输入输出与中断_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章 输入/输出与中断,教学内容,本章介绍输入输出接口的基本概念,,CPU,与外设间的数据传送方式,中断传送方式及相关技术,以及可编程中断控制器8259,A,的结构及编程方法。具体内容如下:,1、,I/O,接口概述,2、,CPU,与外设之间数据传送的方式,3、中断技术,4、8086/8088中断系统,5、可编程中断控制器,Intel 8259A,学习要求,1、了解,I/O,作用,掌握,I/O,的编址方式。,2、理解,I/O,设备与主机之间交换数据的控制方式。,3、了解8086/8088中断系统。,4、熟悉8259,A,中断控制器的结构及应用,。,第7章 输入/输出与中断,7.1,I/O,接口概述,7.2,CPU,与外设之间数据传送的方式,7.3 中断技术,7.4 8086/8088 中断系统,7.5 可编程中断控制器,Intel,8259A,7.1 I/O,接口概述,7.1.1 I/O,接口的作用,主机与外界交换信息称为输入,/,输出,(I/O),。,主机与外界的信息交换是通过输入,/,输出设备进行的。,一般的输入,/,输出设备都是机械的或机电相结合的产物,比如常规的外设有键盘、显示器、打印机、扫描仪、磁盘机、鼠标器等,它们相对于高速的中央处理器来说,速度要慢得多。,此外,不同外设的信号形式、数据格式也各不相同。因此,外部设备不能与,CPU,直接相连,需要通过相应的电路来完成它们之间的速度匹配、信号转换,并完成某些控制功能。,通常把介于主机和外设之间的一种缓冲电路称为,I/O,接口电路,简称,I/O,接口,(Interface),,,如图,7.1,所示。对于主机,,I/O,接口提供了外部设备的工作状态及数据;对于外部设备,,I/O,接口记忆了主机送给外设的一切命令和数据,从而使主机与外设之间协调一致地工作。,对于微型计算机来说,设计微处理器,CPU,时,并不设计它与外设之间的接口部分,而是将输入,/,输出设备的接口电路设计成相对独立的部件,通过它们将各种类型的外设与,CPU,连接起来,从而构成完整的微型计算机硬件系统。,因此,一台微型计算机的输入,/,输出系统应该包括,I/O,接口、,I/O,设备及相关的控制软件。一个微机系统的综合处理能力,系统的可靠性、兼容性、性价比,甚至在某个场合能否使用都和,I/O,系统有着密切的关系。输入,/,输出系统是计算机系统的重要组成部分之一,任何一台高性能计算机,如果没有高质量的输入,/,输出系统与之配合工作,计算机的高性能便无法发挥出来。,7.1.2 CPU,与外设交换的信息,主机与,I/O,设备之间交换的信息可分为,数据信息、状态信息和控制信息三类,。通过不同的端口地址来区分不同的信息。,1,数据信息,数据信息又分为,数字量、模拟量和开关量,三种形式。,1),数字量,数字量是计算机可以直接发送、接收和处理的数据,。例如,由键盘、显示器、打印机及磁盘等,I/O,外设与,CPU,交换的信息,它们是以二进制形式表示的数或以,ASCII,码表示的数符。,2),模拟量,当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,,如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换,(A/D,转换,),后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字量向模拟量的转换,(D/A,转换,),,把数字量转换成模拟量才能去控制现场。,3),开关量,开关量可表示两个状态,,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接。,开关量只要用一位二进制数即可表示,。,2.,状态信息,状态信息作为,CPU,与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是,外设通过接口送往,CPU,的。,CPU,通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好,(READY),信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙,(BUSY),信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收,CPU,输出的信息,否则,CPU,要暂停送数。因此,状态信息能够保障,CPU,与外设正确地进行数据交换。,3,控制信息,控制信息是,CPU,通过接口传送给外设,的,,CPU,通过发送控制信息设置外设,(,包括接口,),的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。,虽然数据信息、状态信息和控制信息含义各不相同,但在微型计算机系统中,,CPU,通过接口和外设交换信息时,只能用输入指令,(IN),和输出指令,(OUT),传送数据,所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。,7.1.3 I/O,接口的基本结构,I/O,接口的基本结构如图,7.2,所示。每个接口电路中都包含一组寄存器,,CPU,与外设进行信息交换时,各类信息在接口中存入不同的寄存器,一般称这些寄存器为,I/O,端口,简称为口,(Port),。,用来保存,CPU,和外设之间传送的数据,(,如数字、字符及某种特定的编码等,),、对输入,/,输出数据起缓冲作用的数据寄存器称为,数据端口,;用来存放外设或者接口部件本身状态的状态寄存器称为,状态端口,;用来存放,CPU,发往外设的控制命令的控制寄存器称为,控制端口,。,图7.2 一个典型的,I/O,接口,正如每个存储单元都有一个物理地址一样,每个端口也有一个地址与之相对应,该地址称为端口地址。有了端口地址,,CPU,对外设的输入,/,输出操作实际上就是对,I/O,接口中各端口的读,/,写操作。,数据端口一般是双向,的,数据是输入还是输出,取决于对该端口地址进行操作时,CPU,发往接口电路的读,/,写控制信号。由于,状态端口只做输入操作,,,控制端口只做输出操作,,因此,有时为了节省系统地址空间,在设计接口时往往将这两个端口共用一个端口地址,再用读,/,写信号来分别选择访问。,应该指出,输入,/,输出操作所用到的地址总是对端口而言,而不是对接口而言的。,接口和端口是两个不同的概念,若干个端口加上相应的控制电路才构成接口,。,7.1.4,I/O,端口的编址,微型计算机系统中,I/O,端口编址方式有两种:,I/O,端口与内存单元统一编址和,I/O,端口与内存单元独立编址。,1,I/O,端口与内存单元统一编址,这种编址方式是对,I/O,端口和存储单元按照存储单元的编址方法统一编排地址号,由,I/O,端口地址和存储单元地址共同构成一个统一的地址空间。例如,对于一个有16根地址线的微机系统,若采用统一编址方式,其地址空间的结构如图7.3所示。,图,7.3,I/O,端口与内存单元统一编址,采用统一编址方式后,,CPU,对,I/O,端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问,I/O,端口,因此无需专门的,I/O,指令,从而简化了指令系统的设计;同时,对存储器的各种寻址方式也同样适用于对,I/O,端口的访问,给使用者提供了很大的方便。但由于,I/O,端口占用了一部分存储器地址空间,因而相对减少了内存的地址可用范围。,2,I/O,端口与内存单元独立编址,在这种编址方式中,建立了两个地址空间,一个为内存地址空间,一个为,I/O,地址空间。内存地址空间和,I/O,地址空间是相对独立的,通过控制总线来确定,CPU,到底要访问内存还是,I/O,端口。为确保控制总线发出正确的信号,除了要有访问内存的指令之外,系统还要提供用于,CPU,与,I/O,端口之间进行数据传输的输入/输出指令。,80,x86 CPU,组成的微机系统都采用独立编址方式。在8086/8088系统中,共有20根地址线对内存寻址,内存的地址范围是00000,HFFFFFH;,用地址总线的低16位对,I/O,端口寻址,所以,I/O,端口的地址范围是0000,HFFFFH,,如图7.4所示。,CPU,在访问内存和外设时,使用了不同的控制信号来加以区分。例如,当8086,CPU,的,M/IO,信号为1时,表示地址总线上的地址是一个内存地址;为0时,则表示地址总线上的地址是一个端口地址。,图7.4,I/O,端口与内存单元独立编址,采用独立编址方式后,存储器地址空间不受,I/O,端口地址空间的影响,专用的输入/输出指令与访问存储器指令有明显区别,便于理解和检查。但是,专用,I/O,指令增加了指令系统复杂性,且,I/O,指令类型少,程序设计灵活性较差;此外,还要求,CPU,提供专门的控制信号以区分对存储器和,I/O,端口的操作,增加了控制逻辑的复杂性。,3,I/O,端口的地址译码,微机系统常用的,I/O,接口电路一般都被设计成通用的,I/O,接口芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所有接口芯片都有片选信号线和用于片内端口寻址的地址线。例如,某接口芯片内有四个端口地址,则该芯片外就会有两根地址线。本书第8章中将详细介绍几种常用的,I/O,接口芯片。,I/O,端口地址译码的方法有多种,一般的原则是把,CPU,用于,I/O,端口寻址的地址线分为高位地址线和低位地址线两部分,将低位地址线直接连到,I/O,接口芯片的相应地址引脚,实现片内寻址,即选中片内的端口;将高位地址线与,CPU,的控制信号组合,经地址译码电路产生,I/O,接口芯片的片选信号。,7.2 CPU,与外设之间数据传送的方式,7.2.1,程序传送方式,1,无条件传送方式,微机系统中的一些简单的外设,如开关、继电器、数码管、发光二极管等,在它们工作时,可以,认为输入设备已随时准备好向,CPU,提供数据,而输出设备也随时准备好接收,CPU,送来的数据,这样,在,CPU,需要同外设交换信息时,就能够用,IN,或,OUT,指令直接对这些外设进行输入,/,输出操作,。由于在这种方式下,CPU,对外设进行输入,/,输出操作时无需考虑外设的状态,故称之为无条件传送方式。,对于简单外设,若采用无条件传送方式,其接口电路也很简单。如简单外设作为输入设备时,输入数据保持时间相对于,CPU,的处理时间要长得多,所以可直接使用三态缓冲器和数据总线相连,如图,7.5(a),所示。当执行输入的指令时,读信号有效,选择信号,M/IO,处于低电平,因而三态缓冲器被选通,使其中早已准备好的输入数据送到数据总线上,再到达,CPU,。,所以要求,CPU,在执行输入指令时,外设的数据是准备好的,即数据已经存入三态缓冲器中。,图,7.5,无条件传送方式,(a),无条件传送数据输入;,(b),无条件传送数据输出,简单外设为输出设备时,由于外设取数的速度比较慢,要求,CPU,送出的数据在接口电路的输出端保持一段时间,因而一般都需要锁存器,如图,7.5(b),所示。,CPU,执行输出指令时,,M/IO,和,WR,信号有效,于是,接口中的输出锁存器被选中,,CPU,输出的信息经过数据总线送入输出锁存器中,输出锁存器保持这个数据,直到外设取走。,无条件传送方式下,程序设计和接口电路都很简单,但是为了保证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。对少量的数据传送来说,无条件传送方式是最经济实用的一种传送方法。,2,查询传送方式,查询传送也称为条件传送,是指在执行输入指令,(IN),或输出指令,(OUT),前,,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,,CPU,才执行输入,/,输出指令与外设交换信息,。为此,接口电路中既要有数据端口,还要有状态端口。,查询传送方式的流程图见图,7.6,。从图中可以看出,采用查询方式完成一次数据传送要经历如下过程:,(1) CPU,从接口中读取状态字。,(2) CPU,检测相应的状态位是否满足“就绪”条件。,(3),如果不满足,则重复,(1),、,(2),步;若外设已处于“就绪”状态,则传送数据。,图7.6 查询传送方式的流程图,图7.7给出的是采用查询传送方式进行输入操作的接口电路。输入设备在数据准备好之后向接口发选通信号,此信号有两个作用:一方面将外设中的数据送到接口的锁存器中;另一方面使接口中的一个,D,触发器输出“1”,从而使三态缓冲器的,READY,位置“1”。,CPU,输入数据前先用输入指令读取状态字,测试,READY,位,若,READY,位为“1”,说明数据已准备就绪,再执行输入指令读入数据。由于在读入数据时信号已将状态位,READY,清0,于是可以开始下一个数据输入过程。,图7.7 查询式输入的接口电路,图,7.8,给出的是采用查询传送方式进行输出操作的接口电路。,CPU,输出数据时,先用输入指令读取接口中的状态字,测试,BUSY,位,若,BUSY,位为,0,,表明外设空闲,此时,CPU,才执行输出指令,否则,CPU,必须等待。执行输出指令时由端口选择信号、,M/IO,信号和写信号共同产生的选通信号将数据总线上的数据写入接口中的数据锁存器,同时将,D,触发器置,1,。,D,触发器的输出信号一方面为外设提供一个联络信号,通知外设将锁存器锁存的数据取走;另一方面使状态寄存器的,BUSY,位置,1,,告诉,CPU,当前外设处于忙状态,从而阻止,CPU,输出新的数据。输出设备从接口中取走数据后,会送一个回答信号,ACK,,,该信号使接口中的,D,触发器置,0,,从而使状态寄存器中的,BUSY,位清,0,,以便开始下一个数据输出过程。,图7.8 查询式输出的接口电路,查询传送方式的主要优点是能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。但是,在这种方式下,,CPU,花费了很多时间查询外设是否准备就绪,在这些时间里,CPU,不能进行其他的操作;此外,在实时控制系统中,若采用查询传送方式,由于一个外设的输入,/,输出操作未处理完毕就不能处理下一个外设的输入,/,输出,故不能达到实时处理的要求。因此,查询传送方式有两个突出的缺点:浪费,CPU,时间,实时性差。所以,查询传送方式适用于数据输入,/,输出不太频繁且外设较少、对实时性要求不高的情况。,不论是无条件传送方式还是查询传送方式,都不能发现和处理预先无法估计的错误和异常情况。为了提高,CPU,的效率、增强系统的实时性,并且能对随机出现的各种异常情况做出及时反应,通常采用中断传送方式。,7.2.2,中断传送方式,中断传送方式是指当外设需要与,CPU,进行信息交换时,由外设向,CPU,发出请求信号,使,CPU,暂停正在执行的程序,转去执行数据的输入,/,输出操作,数据传送结束后,,CPU,再继续执行被暂停的程序。,查询传送方式是由,CPU,来查询外设的状态,,CPU,处于主动地位,而外设处于被动地位。,中断传送方式则是由外设主动向,CPU,发出请求,等候,CPU,处理,在没有发出请求时,,CPU,和外设都可以独立进行各自的工作。,目前的微处理器都具有中断功能,而且已经不仅仅局限于数据的输入,/,输出,而是在更多的方面有重要的应用。例如实时控制、故障处理以及,BIOS,和,DOS,功能调用等。,中断传送方式的优点是:,CPU,不必查询等待,工作效率高,,CPU,与外设可以并行工作;由于外设具有申请中断的主动权,故系统实时性比查询方式要好得多,。,但采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次,CPU,,,CPU,每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多,CPU,的时间。,故这种传送方式一般适合于少量的数据传送。对于大批量数据的输入,/,输出,可采用高速的直接存储器存取方式,即,DMA,方式。,7.2.3,直接存储器存取,(DMA),传送方式,1,DMA,传送方式简介,DMA,传送方式是在存储器和外设之间、存储器和存储器之间直接进行数据传送,(,如磁盘与内存间交换数据、高速数据采集、内存和内存间的高速数据块传送等,),,传送过程无需,CPU,介入,这样,在传送时就不必进行保护现场等一系列额外操作,传输速度基本取决于存储器和外设的速度,。,DMA,传送方式需要一个专用接口芯片,DMA,控制器,(DMAC),对传送过程加以控制和管理,。在进行,DMA,传送期间,,CPU,放弃总线控制权,将系统总线交由,DMAC,控制,由,DMAC,发出地址及读,/,写信号来实现高速数据传输。传送结束后,DMAC,再将总线控制权交还给,CPU,。,一般微处理器都设有用于,DMA,传送的联络线。,图7.9,DMA,系统结构框图,2,DMA,控制器的工作方式,1) 单字节传输方式,在该方式下,,DMAC,每次控制总线后只传输一个字节,传输完后即释放总线控制权。这样,CPU,至少可以得到一个总线周期,并进行有关操作。,2) 成组传输方式(块传输方式),采用这种方式,,DMAC,每次控制总线后都连续传送一组数据,待所有数据全部传送完后再释放总线控制权。显然,成组传输方式的数据传输率要比单字节传输方式高。但是,成组传输期间,CPU,无法进行任何需要使用系统总线的操作。,3) 请求传输方式,在该方式下,每传输完一个字节,,DMAC,都要检测,I/O,接口发来的,DMA,请求信号是否有效。若有效,则继续进行,DMA,传输;否则就暂停传输,将总线控制权交还给,CPU,,直至,DMA,请求信号再次变为有效,再从刚才暂停的那一点继续传输。,3,DMA,操作的基本过程,1),DMAC,的初始化,DMAC,的初始化主要做如下几方面工作:,(1) 指定数据的传送方向。即指定外设对存储器是做读操作还是写操作,这就要对控制/状态寄存器中的相应控制位置数。,(2) 指定地址寄存器的初值。即给出存储器中用于,DMA,传送的数据区的首地址。,(3) 指定计数器的初值。即明确有多少数据需要传送。,2),DMA,数据传送,DMA,数据传送(以数据输入为例)按以下步骤进行:,(1) 外围设备发选通脉冲,把输入数据送入缓冲寄存器,并使,DMA,请求触发器置1。,(2),DMA,请求触发器向控制/状态端口发准备就绪信号,同时向,DMA,控制器发,DMA,请求信号。,(3),DMA,控制器向,CPU,发出总线请求信号(,HOLD)。,(4),CPU,在完成了现行机器周期后,即响应,DMA,请求,发出总线允许信号(,HLDA),,并由,DMA,控制器发出,DMA,响应信号,使,DMA,请求触发器复位。此时,由,DMA,控制器接管系统总线。,(5),DMA,控制器发出存储器地址,并在数据总线上给出数据,随后在读/写控制信号线上发出写的命令。,(6) 来自外设的数据被写入相应存储单元。,(7) 每传送一个字节,,DMA,控制器的地址寄存器加1,从而得到下一个地址,字节计数器减1。返回(5),传送下一个数据。如此循环,直到计数器的值为0,数据传送完毕。,3),DMA,结束,DMA,传送完毕,由,DMAC,撤消总线请求信号,从而结束,DMA,操作。,CPU,撤消总线允许信号,恢复对总线的控制。,前面介绍的三种传送方式各有利弊,在实际使用时,要根据具体情况选择既能满足要求,又尽可能简单的方式。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!