您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第6章 输入输出与中断技术第1讲
第6章输入输出与中断技术第六章输入输出与中断技术6.1输入输出接口概述6.2CPU与外设数据传送方式6.3中断技术与中断控制器8259A第6章输入输出与中断技术学习目标1.理解I/O接口的基本概念2.掌握CPU与外设之间数据的传送与控制方式3.掌握有关中断的基本概念、中断优先级、中断嵌套、中断屏蔽、中断向量等基本概念。4.掌握8259A内部组成及其关系,重点掌握其初始化编程。第6章输入输出与中断技术问题1:什么是输入/输出设备?计算机有各种用途,但不论用于何种场合,都离不开信息处理。所处理的信息,均要由输入设备提供,而处理后的结果数据,则要送给输出设备,以各种形式报告给用户。例如,键盘、鼠标器、磁盘和扫描仪等是大家熟悉的输入设备,而磁盘、CRT显示器、打印机、绘图仪等则是最常见的输出设备。亦即能够完成输入/输出操作的设备就叫输入/输出设备,简称外设或I/O设备。6.1输入输出接口概述第6章输入输出与中断技术问题2:输入/输出设备与CPU信息交换时有什么问题?外部设备种类繁多,从工作原理来讲,可分为机械式、电动式、电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,这就给计算机和外设之间的信息交换带来以下一些问题:(1)速度不匹配:CPU的速度很快,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配:CPU所使用的信号都是TTL电平,而外设大多是复杂的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系统和信号电平。(3)信号格式不匹配:CPU系统总线上传送的通常是8位、16位或32位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。(4)时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。第6章输入输出与中断技术问题3:什么是输入/输出接口?因此,要实现外部设备与主机之间的连接(connection)和信息交换,必须经过一个数据转换和传输的设备。这种设备叫做I/O接口(interface)。I/O接口:是指把外设同微型计算机连接起来实现数据传送的中间控制电路。第6章输入输出与中断技术问题4:CPU和外设之间需要交换的信息种类有哪些?1.数据信息:送入CPU进行加工处理的信息或输出到外设的运算结果。–数字量:通常由键盘、磁盘驱动器等读入的信息,或由CPU送给打印机、磁盘驱动器、显示器或绘图仪的信息。它们是二进制形式数据或ASCII码表示的数据及字符。–模拟量:当微型计算机用于控制时,多数情况下的输入信息是现场连续变化的物理量(如温度、压力、流量、位移、速度等),它们常常需要被转化成电压或电流信号,然后进行模拟/数字(Analog/Digit)转换,变成数字量,送入计算机。相反,输出控制时又要将数字量转换成模拟量(D/A)来驱动被控对象。第6章输入输出与中断技术–开关量:开关量可以表示两个状态,如开关的通、断,电机的启动和停止等。常常可以把一组开关量组成一个数字量,以便于计算机的处理。2.状态信息:反映了外设当前所处的工作状态的信息,作为CPU与外设间可靠交换数据的条件,输入时,它告知CPU:有关输入设备是否准备好(READY=1?);输出时,它告知CPU:输出设备是否空闲(BUSY=0?)。3.控制信息:是CPU发出的,用以控制外设的工作方式或外设的启动和停止。8255A+5VK0(CPU数据总Ïߣ©D0~D7(8088A1)A1RESET(CPU)WR(CPU)RD(8088A0)A0CSPB0PB7PC0PC3K7K8K11..................PA0PC7PC4PA7发光二级管驱动器......L0L11L8L7......................+5V第6章输入输出与中断技术CPU和外设之间需要交换三种信息:CPU与外设之间不是直接交换数据、控制、状态信息,而是通过接口间接传送的。以上三种信息在形式上都是二进制代码,它们都是通过DB来传送的,分别放在接口内的不同端口中。而接口对DB上数据识别其类型是根据相应的端口地址来进行。A1A0端口00011011ABC控制口第6章输入输出与中断技术在计算机的操作过程中,最基本的最大量的操作是数据传送。在微机系统中,数据主要在CPU、存储器和I/O接口之间传送,在数据传送过程中,关键问题是数据传送的控制方式,微机系统中的数据传送的控制方式主要有软件传送方式(程序控制方式)和硬件传送方式(主要是DMA直接存储器存取)方式。其中,软件传送方式又包括:无条件传送方式、查询传送方式和中断传送方式。6.2CPU与外设数据传送方式第6章输入输出与中断技术一、软件传送方式(程序控制方式)1、无条件传送方式无条件传送方式也称为同步传送方式,无条件传送方式用得较少,只用在对一些简单外设的操作,如指示灯,数码管显示等;或者用于控制CPU与低速接口之间的信息交换,例如温度、压力、流量等(A/D)转换器。由于这些信号变化的速度相对于CPU的处理速度慢得多,所以,CPU可以间隔较长的时间才去访问这些外设,而外设也就有充裕的时间来准备数据。一般,这些外设随时做好了数据传送的准备,而无须检测其状态。无条件传送分为两种情况:无条件输入(外设CPU)、无条件输出(CPU外设)若外设是输入设备,由于外设数据更新的速度很慢,所以输入端可直接用输入缓冲器作为接口与CPU的数据总线相连。若外设是输出设备,因为外设的速度较慢,所以要求CPU送到外设的数据只能暂时保存在接口中,直到外设取完全部数据;所以此时应选用有锁存能力的接口(锁存器)。第6章输入输出与中断技术【例】图中外设是简单的发光二极管.此外设的接口是用锁存器来实现的。锁存器在CP上升沿将输入端D的数据锁存在它的输出Q端。编写点亮二极管的程序。(端口地址为0000H)MOVAL,81HMOVDX,0000H;送端口地址OUTDX,AL;点亮发光二极管第6章输入输出与中断技术2、查询传送方式查询传送也称条件方式传送,用查询方式传送时,CPU通过执行程序不断读取并测试外设的状态,如果外设处于准备好状态(输入设备)或者空闲状态(输出设备),则CPU执行输入指令或输出指令与外设交换信息。因此,接口电路除了有传送数据的端口,还要求有传送状态的端口。对于查询传送来说,一个数据传送过程由3个环节组成:⑴CPU从接口中读取状态字;⑵CPU检测状态字的对应位是否满足“就绪”的条件,如果不满足,则回到前一步读取状态字;⑶如状态字表明外设已处于“就绪”状态,则传送数据。第6章输入输出与中断技术D7状态(STATUS1位)D0D1D2D3D4D5D6D7数据(DATA8位)READY查询传送方式查询输入:输入状态信息READY=1?输入数据YN第6章输入输出与中断技术例题:查询输入程序POLL:INAL,STATUS_PORT;读状态端口的信息TESTAL,80H;设”准备就绪READY”信息在D7位JEPOLL;未”准备好”,则循环再查INAL,DATA_POTR;已准备就绪(READY=1),则读入数据第6章输入输出与中断技术D7状态(STATUS1位)D0D1D2D3D4D5D6D7数据(DATA8位)BUSY查询传送方式查询输出:输入状态信息BUSY=1?输入数据NYBUSY=0时才传送数据第6章输入输出与中断技术例题:查询输出程序POLL:INAL,STATUS_PORT;查询状态端口中的状态信息D7TESTAL,80H;设”准备就绪READY”信息在D7位JNEPOLL;D7=1,则忙线=1,则循环再查MOVAL,STORE;否则,外设空闲,则由内存读取数据OUTDATA_POTR,AL;输出到DATA地址端口单元第6章输入输出与中断技术查询传送方式当系统中有多个外设时查询方式如何工作?由图可见,CPU逐个外设进行查询。若发现那个外设准备就绪,就对该外设实施数据传送。然后再对下一外设查询,依次循环。结果,在查询过程中,CPU不能做别的事情,这就大大降低了CPU的效率。而且,假如某一外设刚好在查询过后处于就绪状态,那么它必须等到CPU查询完所有外设,再次查询此外设时才能发现它处于就绪状态,而后对此外设服务。这样就不能对外设进行实时数据交换,这对许多实时性要求较高的外设来说,就有可能丢失数据。1号外设准备就绪?对1号外设服务是否2号外设准备就绪?对2号外设服务是否3号外设准备就绪?对3号外设服务是否第6章输入输出与中断技术查询传送方式•优点:接口电路和程序设计都较为简单,容易实现。•缺点:CPU外设不能并行工作,CPU的效率低,外设得不到及时响应。•适用场合:这种传送方式适用于一般工作速度较慢的外设,特别是外设数量不多,实时性要求不高的场合。第6章输入输出与中断技术3、中断传送方式中断传送方式会在每次外设准备好或空闲时,主动向CPU发出中断请求,以示要传送数据,CPU响应该请求后,执行中断服务程序,实现与外设的数据传送。其工作过程简述如下:⑴暂停主程序,实现程序的转移,即中断响应;⑵保护和恢复有关寄存器的内容;⑶执行I/O操作;⑷实现中断返回。第6章输入输出与中断技术中断传送方式•优点:系统的工作效率高,CPU、I/O设备可以并行工作,外设可以主动向CPU请求,能够得到CPU的及时响应。•缺点:每次传送数据,CPU都要做许多额外的工作,传送速度仍然不是很快。•适用场合:这种方式适用于一般工作速度不是很快的外设,特别是实时控制、检测场合。第6章输入输出与中断技术1.DMA传送方式的提出①比起程序方式来,利用中断方式进行数据传送可以大大提高CPU的工作效率,但效率仍然不是很高:在中断方式下,仍然是通过CPU执行中断程序来实现数据的传送,与数据传输无关的额外开销,要使CPU花费很多时间;中断处理子程序都是按字节或字来进行传输数据,不能实现按数据块传输。②DMA传送方式的提出DMA是直接存储器访问的英文缩写,顾名思义它不需要经过CPU的中转,由硬件逻辑直接控制实现按数据块直接传输,大大提高了传输效率。在利用DMA方式进行数据传输时,要利用系统的数据总线、地址总线和控制总线。因此在用DMA方式进行数据传输时,DMA接口电路要向CPU发出请求,使CPU让出总线,即把总线控制权交给控制DMA传输的接口电路。这种接口电路就是DMA控制器(DMAC)。4、DMA(DirectMemoryAccess)控制方式第6章输入输出与中断技术2.DMA控制器的功能和DMA传送的原理①当外设准备就绪,希望进行DMA操作时,会向DMA控制器发出DMA请求信号,DMA控制器接到此信号后,应能向CPU发总线请求信号。②CPU接到总线请求信号后,如果允许,则会发出DMA响应信号,从而CPU放弃对总线的控制,这时DMA控制器应能实行对总线的控制。③DMA控制器得到总线控制权以后,要往地址总线发送地址信号,并能够按照数据块传输的要求自动修改地址指针。④在DMA传送期间,DMA控制器应能按照时序要求产生读/写控制信号。⑤为了决定所传送的字节数,并且判断DMA传送是否结束,在DMA控制器内部必须有1个字节计数器,用来存放所传送的字节数。一开始由软件设置数据长度。在DMA过程中,每传送1个字节,字节计数器的值便自动减1,减为0时,则DMA过程结束。⑥DMA过程结束时,DMA控制器应向CPU发出结束信号,将总线控制权交还给CPU。
本文标题:第6章 输入输出与中断技术第1讲
链接地址:https://www.777doc.com/doc-3803890 .html