1、第六章第六章 输入输出接口基输入输出接口基础(础(CPU与外设之间的与外设之间的数据传输)数据传输)把数据给我吧Sorry,I cant understand.哇第六章第六章微机与外设之间的数据传输微机与外设之间的数据传输主要内容 接口的基本概念接口的基本概念 CPUCPU与端口(外设)之间的数据传送与端口(外设)之间的数据传送方式方式 简单接口电路的扩展简单接口电路的扩展6.1 接口的基本概念接口的基本概念一、基本问题一、基本问题1 1、什么是、什么是I/OI/O接口(电路)?接口(电路)?I/OI/O接口是位于系统与外设间、用来协助完接口是位于系统与外设间、用来协助完成数据传送和控制任务的
2、逻辑电路成数据传送和控制任务的逻辑电路PCPC机系统板的可编程接口芯片、机系统板的可编程接口芯片、I/OI/O总线槽总线槽的电路板(适配器)都是接口电路的电路板(适配器)都是接口电路6.1 接口的基本概念接口的基本概念2 2、为什么需要、为什么需要I/OI/O接口(电路)?接口(电路)?需要分析一下外部设备的输入需要分析一下外部设备的输入/输出操作和输出操作和存储器读存储器读/写操作的写操作的不同之处不同之处:存储器都是用来保存信息的,功能单一,传送方存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送式单一(一次必定是传送1 1个字节或者个字节或者1 1个字),个字),品种很有限
3、品种很有限(只有只读类型和可读只有只读类型和可读/可写类型可写类型),存取速度基本上和存取速度基本上和CPUCPU的工作速度匹配。的工作速度匹配。外部设备的功能多种多样的(输入设备,输出设外部设备的功能多种多样的(输入设备,输出设备,输入设备备,输入设备/输出设备),信息多样(数字式输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比行的),外设的工作速度通常比CPUCPU的速度低得的速度低得多,而且各种外设的工作速度互不相同,这也要多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入求通过接口电
4、路对输入/输出过程起一个缓冲和输出过程起一个缓冲和联络的作用。联络的作用。6.1 接口的基本概念接口的基本概念微机的外部设备多种多样微机的外部设备多种多样工作原理不同工作原理不同机械、电子、机电、电磁机械、电子、机电、电磁传送信息类型多样传送信息类型多样数字量、模拟量、开关量数字量、模拟量、开关量传送速度差别极大传送速度差别极大传送方式不尽相同传送方式不尽相同串行、并行串行、并行编码方式不同编码方式不同二进制、二进制、BCDBCD码、码、ASCIIASCII码码6.1 接口的基本概念接口的基本概念它们不能与它们不能与CPUCPU直接相连直接相连必须经过中间电路再与系统相连必须经过中间电路再与系
5、统相连这部分电路被称为这部分电路被称为I/OI/O接口电路接口电路6.1 接口的基本概念接口的基本概念3、什么是微机接口技术?、什么是微机接口技术?处理微机系统与外设间联系的技术处理微机系统与外设间联系的技术注意其软硬结合的特点注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接口电路,编制配套的接口程序,支持和连接有关的设备有关的设备6.1 接口的基本概念接口的基本概念4 4、接口的功能、接口的功能对对I/OI/O端口端口进行寻址,对送来的片选信号进行进行寻址,对送来的片选信号进行识别;识别;(2)(2)根据读
6、根据读/写信号决定当前进行的是输入操作还写信号决定当前进行的是输入操作还是输出操作,对输入输出数据进行缓冲和锁存是输出操作,对输入输出数据进行缓冲和锁存输出接口有输出接口有锁存环节锁存环节;输入接口有;输入接口有缓冲环节缓冲环节实际的电路常见:实际的电路常见:输出锁存缓冲环节输出锁存缓冲环节、输入锁存缓冲环节输入锁存缓冲环节锁存器:功能是把来自设备的输入信息锁存起来,并一直锁存器:功能是把来自设备的输入信息锁存起来,并一直稳定地保持它,直到微处理器取走信息。如图所示:稳定地保持它,直到微处理器取走信息。如图所示:18DDENCP.oQQoCP CP 锁存信号锁存信号D D 数据输入数据输入Q
7、Q数据输出数据输出功能:功能:CPCP有效,有效,Q QD DCPCP无效,无效,Q Q保持不变保持不变三态缓冲器是微处理器并行总线接口中必须要使用的一种三态缓冲器是微处理器并行总线接口中必须要使用的一种接口部件。如图所示:接口部件。如图所示:oEN输入输出为0其中EN开门:输入为1时输出为1输入为0时其中EN关门:输入为1/0,输出为高阻6.1 接口的基本概念接口的基本概念(3)(3)数据转换功能:数据转换功能:对信号的形式和数据的格式进行对信号的形式和数据的格式进行变换;变换;(4)(4)联络功能:联络功能:与与CPUCPU和和I/OI/O设备进行联络设备进行联络就绪信号,就绪信号,忙信号
8、等;忙信号等;中断管理:发出中斯请求信号、接收中断响应信中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管理号、发送中断类型码的功能。并具有优先级管理功能;功能;复位:接收复位信号,从而使接口本身以及所连复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动;的外设进行重新启动;可编程:用软件来决定其工作方式,用软件来设可编程:用软件来决定其工作方式,用软件来设置有关的控制信号;置有关的控制信号;6.1 接口的基本概念接口的基本概念错误检测:一类是传输错误错误检测:一类是传输错误,比如奇偶校验。比如奇偶校验。另另类是覆盖错误,数据还没有被取走之类是覆盖错误
9、,数据还没有被取走之前就被新的数据覆盖掉了。通过在相应的前就被新的数据覆盖掉了。通过在相应的状态端口的某一位来控制实现状态端口的某一位来控制实现。注:一些接口还可根据具体情况设置其它注:一些接口还可根据具体情况设置其它的检测信息。的检测信息。5、接口的分类、接口的分类接口电路按功能可分为两类接口电路按功能可分为两类:是使微处理器正常工作所需要的辅助电路:时是使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;钟信号或中断请求等;是输入是输入/输出接口电路:输出接口电路:CPUCPU与外部设备信息的与外部设备信息的传送(接收、发送)。传送(接收、发送)。最常用的外部设备:如键盘、显示装置、
10、打印最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入机、磁盘机等都是通过输入/输出接口和总线输出接口和总线相连的,完成检测和控制的仪表装置也属于外相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。部设备之列,也是通过接口电路和主机相连。辅助电路接口辅助电路接口二、二、CPUCPU与输入输出设备之间的信号(三类)与输入输出设备之间的信号(三类)数据信息数据信息:包括三种形式:数字量、模拟量包括三种形式:数字量、模拟量 、开关量。、开关量。状态信息状态信息:是外设通过接口往:是外设通过接口往CPUCPU传送的传送的 如:如:“准备好准备好”(READY
11、)(READY)信号、信号、“忙忙”(BUSYBUSY)信号。信号。控制信息控制信息:是:是CPUCPU通过接口传送给外设的通过接口传送给外设的 如:外设的启动信号、停止信号就是常见的如:外设的启动信号、停止信号就是常见的控制信息。控制信息。6.1 接口的基本概念接口的基本概念三、接口与系统的连接三、接口与系统的连接1 1、接口部件的典型结构、接口部件的典型结构控制总线控制总线CB地址总线地址总线ABI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器接口芯片的典型结构6.1 接口的基本概念接口的基本概念接
12、口电路的内部结构接口电路的内部结构CPUCPU与外设主要有数据、状态和控制信息需与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:要相互交换,于是从应用角度看内部:数据寄存器数据寄存器输入数据寄存器:保存外设给输入数据寄存器:保存外设给CPUCPU的数据的数据输出数据寄存器:保存输出数据寄存器:保存CPUCPU给外设的数据给外设的数据 状态寄存器状态寄存器保存外设或接口电路的状态保存外设或接口电路的状态 控制寄存器控制寄存器保存保存CPUCPU给外设或接口电路的命令给外设或接口电路的命令6.1 接口的基本概念接口的基本概念接口电路的外部特性接口电路的外部特性主要体现在引脚上,
13、分成两侧信号主要体现在引脚上,分成两侧信号面向面向CPUCPU一侧的信号:一侧的信号:用于与用于与CPUCPU连接连接主要是数据、地址和控制信号主要是数据、地址和控制信号面向外设一侧的信号:面向外设一侧的信号:用于与外设连接用于与外设连接提供的信号五花八门提供的信号五花八门功能定义、时序及有效电平等差异较大功能定义、时序及有效电平等差异较大6.1 接口的基本概念接口的基本概念接口电路芯片的分类接口电路芯片的分类接口电路核心部分往往是一块或数块大规接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):模集成电路芯片(接口芯片):通用接口芯片通用接口芯片支持通用的数据输入输出和控制的接口
14、芯片支持通用的数据输入输出和控制的接口芯片面向外设的专用接口芯片面向外设的专用接口芯片针对某种外设设计、与该种外设接口针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片面向微机系统的专用接口芯片与与CPUCPU和系统配套使用,以增强其总体功能和系统配套使用,以增强其总体功能6.1 接口的基本概念接口的基本概念接口电路的可编程性接口电路的可编程性许多接口电路具有多种功能和工作方式,许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种可以通过编程的方法选定其中一种接口需进行物理连接,还需编写接口软件接口需进行物理连接,还需编写接口软件接口软件有两类:接口软件有两类:初始化程
15、序段初始化程序段设定芯片工作方式等设定芯片工作方式等数据交换程序段数据交换程序段管理、控制、驱动外设,管理、控制、驱动外设,负责外设和系统间信息交换负责外设和系统间信息交换端口(端口(PORT)2 2、接口部件的、接口部件的I/OI/O端口端口CPUCPU和外设进行数据传输时,各类信息在接口中和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为进入不同的寄存器,一般称这些寄存器为I/OI/O端端口,每个端口有一个端口地址。口,每个端口有一个端口地址。一个接口电路可以具有多个一个接口电路可以具有多个I/OI/O端口(寄存器),端口(寄存器),每个端口用来保存和交换不同的信息
16、每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的数据寄存器、状态寄存器和控制寄存器占有的I/OI/O地址常依次被称为地址常依次被称为数据端口数据端口、状态端口状态端口和和控控制端口制端口,用于保存数据、状态和控制信息,用于保存数据、状态和控制信息返回注意:注意:输入还是输出,所用到的地址总是输入还是输出,所用到的地址总是对端口对端口而言而言的,不是对接口部件而言的。的,不是对接口部件而言的。为了节省地址空间,将数据输入端口和数据输为了节省地址空间,将数据输入端口和数据输出端口对应出端口对应同一个端口地址同一个端口地址。同样,状态端口和。同样,状态端口和控制端口也常用控制
17、端口也常用同一个端口地址同一个端口地址。CPUCPU对外设的输入对外设的输入/输出操作就归结为对接口芯输出操作就归结为对接口芯片各片各端口的读端口的读/写操作写操作。6.1 接口的基本概念接口的基本概念3 3、输入输出的寻址方式(端口的编址方式)、输入输出的寻址方式(端口的编址方式)接口电路占用的接口电路占用的I/OI/O端口有两类编排形式端口有两类编排形式I/OI/O端口与存储器统一编址端口与存储器统一编址它们共享一个地址空间它们共享一个地址空间如如M6800M6800I/OI/O端口单独编址端口单独编址I/OI/O地址空间独立于存储地址空间地址空间独立于存储地址空间如如8086/80888
18、086/80886.1 接口的基本概念接口的基本概念统一编址方式统一编址方式优点:优点:不需要专门的不需要专门的I/OI/O指令指令I/OI/O数据存取与存储器数数据存取与存储器数据存取一样灵活(多种据存取一样灵活(多种寻址方式)寻址方式)缺点:缺点:I/OI/O端口要占去部分存储端口要占去部分存储器地址空间器地址空间程序不易阅读(不易分程序不易阅读(不易分清访存和访问外设)清访存和访问外设)内存内存部分部分I/O部分部分存储器空间存储器空间00000FFFFF6.1 接口的基本概念接口的基本概念独立编址方式独立编址方式优点:优点:I/O端口的地址空间独立端口的地址空间独立控制和地址译码电路相
19、对简单控制和地址译码电路相对简单专门的专门的I/O指令使程序清晰易读指令使程序清晰易读缺点:缺点:I/O指令没有存储器指令丰富指令没有存储器指令丰富内存内存空间空间I/O空间空间FFFFF0FFFF80 x86采用采用I/O端口独立编址端口独立编址6.1 接口的基本概念接口的基本概念对于对于80868086,M M和和IOIO的不同之处:的不同之处:地址线的条数:地址线的条数:2020、1616地址的范围:地址的范围:2 22020、2 21616、指令不同产生的信号不同:指令不同产生的信号不同:M/IOM/IO8088/8086的输入输出指令的输入输出指令输入输出指令举例输入输出指令举例输入
20、指令输入指令(ININ:将外设数据传送给:将外设数据传送给CPUCPU内的内的AL/AXAL/AX)IN AL,8IN AL,8;字节输入字节输入IN AL,DXIN AL,DX;字节输入字节输入IN AX,8IN AX,8;字输入字输入IN AX,DXIN AX,DX;字输入字输入输出指令输出指令(OUTOUT:将:将CPUCPU内的内的AL/AXAL/AX数据传送给外设)数据传送给外设)OUT 8,ALOUT 8,AL;字节输出字节输出OUT DX,ALOUT DX,AL;字节输出字节输出OUT 8,AXOUT 8,AX;字输出字输出OUT DX,AXOUT DX,AX;字输出字输出演示演
21、示演示演示IN AL,21H返回OUT 43H,AL返回第第6章:章:8088/8086的的I/O端口端口8088只能通过输入输出指令与外设进行数只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口据交换;呈现给程序员的外设是端口(Port),即),即I/O地址地址8086用于寻址外设端口的地址线为用于寻址外设端口的地址线为16条,条,端口最多为端口最多为21665536(64K)个,端口)个,端口号为号为0000H FFFFH每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据第第6章:章:I/O寻址方式寻址方式8088/8086的的端口有端口有64K个,无需分段
22、,设个,无需分段,设计有两种寻址方式计有两种寻址方式v直接寻址直接寻址:只用于寻址:只用于寻址00H FFH前前256个个端口,操作数端口,操作数8表示端口号表示端口号v间接寻址间接寻址:可用于寻址全部:可用于寻址全部64K个端口,个端口,DX寄存器的值就是端口号寄存器的值就是端口号对大于对大于FFH的端口只能采用间接寻址方式的端口只能采用间接寻址方式第第6章:数据交换方式章:数据交换方式如果输入输出一个字节,利用如果输入输出一个字节,利用AL寄存器寄存器如果输入输出一个字,利用如果输入输出一个字,利用AX寄存器寄存器输入一个字,实际上是从连续两个端口输入输入一个字,实际上是从连续两个端口输入
23、两个字节,分别送两个字节,分别送AL(对应低地址端口)(对应低地址端口)和和AH(对应高地址端口)(对应高地址端口)输出一个字,实际上是将输出一个字,实际上是将AL(对应低地址(对应低地址端口)和端口)和AH(对应高地址端口)两个字节(对应高地址端口)两个字节的内容输出给连续两个端口的内容输出给连续两个端口第第6章:章:IN指令实例(指令实例(从从20H端口输入一个字)端口输入一个字);方法;方法1 1:直接寻址,字量输入:直接寻址,字量输入in ax,20hin ax,20h;方法;方法2 2:间接寻址,字量输入:间接寻址,字量输入mov dx,20hmov dx,20hin ax,dxin
24、 ax,dx;方法;方法3:直接寻址,字节量输入直接寻址,字节量输入in al,21hin al,21hmov ah,almov ah,alin al,20hin al,20h;方法;方法4:间:间接寻址,字节量输入接寻址,字节量输入mov dx,21hmov dx,21hin al,dxin al,dxmov ah,almov ah,aldec dxdec dxin al,dxin al,dx第第6章:章:OUT指令实例(向指令实例(向300H端口输出一个字节)端口输出一个字节);唯一的方法:间接寻址,字节量输出;唯一的方法:间接寻址,字节量输出mov al,bvarmov al,bvar;
25、bvarbvar是字节变量是字节变量mov dx,300hmov dx,300hout dx,alout dx,al4 4、接口与系统的连接、接口与系统的连接接口电路位于接口电路位于CPUCPU与外设之间,从结构上看,与外设之间,从结构上看,可以把一个接口分为两个部分:可以把一个接口分为两个部分:用来和用来和I/OI/O设备相连;设备相连;用来和系统总线相连,这部分接口电路结用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。构类似,连在同一总线上。下图是一个典型的下图是一个典型的I/OI/O接口和外部电路的连接接口和外部电路的连接图图 联络信号:读联络信号:读/写信号,以便决定数据传
26、输方写信号,以便决定数据传输方向。向。地址译码器,片选信号:地址译码器除了接收地址译码器,片选信号:地址译码器除了接收地址信号外,还用来区分地址信号外,还用来区分I/0I/0地址空间和内存地址空间和内存地址空间的信号地址空间的信号(M/)(M/)用于译码过程。用于译码过程。注:注:一个接口通常有一个接口通常有若干个寄存器若干个寄存器可读可读/写,写,一般用一般用1-21-2位低位地址位低位地址结合读结合读/写信号来实现写信号来实现对接口内部寄存器的寻址。对接口内部寄存器的寻址。P2796.2 CPU6.2 CPU与外设之间数据的传送方式与外设之间数据的传送方式 CPUCPU与外设之间传输数据的
27、控制方式通常有与外设之间传输数据的控制方式通常有三种:三种:程序方式程序方式:无条件传送方式和有条件传送方式无条件传送方式和有条件传送方式中断方式中断方式DMADMA方式方式 6.2 CPU6.2 CPU与外设之间数据的传送方式与外设之间数据的传送方式一、程序方式一、程序方式 指用输入指用输入/输出指令,来控制信息传输输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式制的方法不同,又可以分为无条件传送方式和条件传送方式。和条件传送方式。1 1、无条件传送方式、无条件传送方式条件:利用程控方式与外设交换信息时
28、,条件:利用程控方式与外设交换信息时,如果输入如果输入/输出的时刻,都可以保证外设总输出的时刻,都可以保证外设总是处于是处于“准备好准备好”状态,则可以直接利用状态,则可以直接利用输入输入/输出指令进行信息的输入输出指令进行信息的输入/输出操作。输出操作。适合于简单设备,如适合于简单设备,如LEDLED数码管、按键或按数码管、按键或按纽等纽等无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪这种传送有前提:外设必须随时就绪工作原理图无条件传送流程无条件传送流程第第6章:章:6.3 查询传送方式及其接口查询传送方式及其接口2 2、条件传送方式、条件传
29、送方式又称查询方式,即通过程序查询相应设备又称查询方式,即通过程序查询相应设备的状态,若状态不符合,则的状态,若状态不符合,则CPUCPU不能进行输不能进行输入入/输出操作,需要等待;只有当状态信号输出操作,需要等待;只有当状态信号符合要求时,符合要求时,CPUCPU才能进行相应的输入才能进行相应的输入/输输出操作。出操作。CPUCPU需要先了解(查询)外设的工作状态,然后在需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入外设可以交换信息的情况下(就绪)实现数据输入或输出或输出对多个外设的情况,则对多个外设的情况,则CPUCPU按一定顺序依次查询按一定顺序依
30、次查询(轮询)。先查询的外设将优先进行数据交换(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送查询传送的特点是:工作可靠,适用面宽,但传送效率低效率低就绪就绪(Ready)在输入场合在输入场合“就绪就绪”说明输入接口已准备好送往说明输入接口已准备好送往CPUCPU的数据,的数据,正等着正等着CPUCPU来读取来读取该状态也可用接口中数据缓冲器已该状态也可用接口中数据缓冲器已“满满”来描述来描述 在输出场合在输出场合“就绪就绪”说明输出接口已做好准备,等待接收说明输出接口已做好准备,等待接收CPUCPU要输出的数据要输出的数据该状态也可用接口数据缓冲器已该状态
31、也可用接口数据缓冲器已“空空”、或者用、或者用接口(外设)接口(外设)“闲闲”或不或不“忙(忙(BusyBusy)”来描述来描述返回就绪:满,空、闲、不忙就绪:满,空、闲、不忙第第6章:查询传送的两个环节章:查询传送的两个环节数据的传送环节由三个环节组成数据的传送环节由三个环节组成(1)(1)读取状态字读取状态字寻址状态口寻址状态口读取状态寄存器的标志位读取状态寄存器的标志位(2)(2)查询环节查询环节检测是否满足,若不就绪就继续查询,检测是否满足,若不就绪就继续查询,直至就绪直至就绪 传送环节传送环节寻址数据口寻址数据口是输入,通过输入指令从数据端口读入是输入,通过输入指令从数据端口读入数据
32、数据是输出,通过输出指令向数据端口输出是输出,通过输出指令向数据端口输出数据数据输入状态输入状态就绪?就绪?数据交换数据交换YN流程流程 查询式输入接口电路查询式输入接口电路ooooooooo+5VIO/MRDABReadyRDIO/MCSCS 输输 入入 装装 置置数据数据选通信选通信号号DQ锁存锁存器器缓冲缓冲器器缓冲器缓冲器地址译码地址译码地址译地址译码码状态口状态口数据口数据口数据数据去去DB状态信息状态信息&R数据端口数据端口状态端口状态端口当输入装置数据准备好发出一个选通信号当输入装置数据准备好发出一个选通信号,一面把数据锁一面把数据锁存起来存起来,一面送一面送D D触发器的触发器
33、的CLKCLK端端,将将D=1D=1打入打入Q Q端端,使使Q=1Q=1;CPUCPU读入状态信息读入状态信息READYREADY;当;当READY=1,READY=1,输入数据;读输入数据;读入数据同时入数据同时,将状态信号清零。将状态信号清零。程序段如下:程序段如下:G0:G0:ININAL,STATUS-PORTAL,STATUS-PORT;读入状态信息;读入状态信息TESTTESTAL,10HAL,10H;READY=1READY=1?JZJZG0G0;未准备好;未准备好,再查再查ININAL,DATA-PORTAL,DATA-PORT;准备好;准备好,读入读入查询式输出接口电路查询式
34、输出接口电路地址译码地址译码oooooooo输入装置输入装置数据数据锁存器锁存器缓冲器缓冲器缓冲器缓冲器中断矢量中断矢量去去DBINTA(中断响应信号中断响应信号)INTR去数据总线去数据总线DB地址总线地址总线选通选通IOR+5VDQ&RCS地址译码地址译码以输入为例以输入为例:输入装置输入一数据输入装置输入一数据,发出选通信号发出选通信号,一方面把数据存入锁存器一方面把数据存入锁存器,一方面又使一方面又使D D触发器置触发器置1,1,在中断允许下在中断允许下,发出发出INTR,CPUINTR,CPU在现行指令执行完在现行指令执行完后后,发出发出INTA,INTA,把外设送来的中断向量放到把
35、外设送来的中断向量放到DBDB上上,于是于是CPUCPU转入中断服务程序转入中断服务程序,读入数据读入数据,同时清除中同时清除中断请求断请求INTR,INTR,中断处理完中断处理完,CPU,CPU返回被中断处理的程返回被中断处理的程序继续执行。序继续执行。n中断请求中断请求n中断响应中断响应n关中断关中断n断点保护断点保护n中断识别中断识别n现场保护现场保护n中断服务中断服务n恢复现场恢复现场n开中断开中断n中断返回中断返回中断服务是进行数据交换的实质性环节中断服务是进行数据交换的实质性环节中断工作过程中断工作过程3 3、中断优先级问题的解决、中断优先级问题的解决 当系统中有多个设备提出中断请
36、求时,当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有先级的问题,解决优先级的问题一般可有三种方法:三种方法:软件查询法、简单硬件方法及软件查询法、简单硬件方法及专用硬件方法专用硬件方法。软件查询法软件查询法 只需有简单的只需有简单的硬件电路,如将硬件电路,如将A A、B B、C C三台设备的中三台设备的中断请求信号断请求信号“或或”后作为系统后作为系统INTRINTR。进入中断服务子程进入中断服务子程序后,再用软件查序后,再用软件查询的方式分别对不询的方式分别对不同的设备的服务,同的设备的服务,查询
37、程序的设计思查询程序的设计思想同查询式。想同查询式。第第6章:中断查询接口章:中断查询接口A0A15锁锁存存器器INTR三态三态缓冲器缓冲器译码译码 8001HD0D7中断中断A中断中断B中断中断CIOR简单硬件方法:以链式中断优先权排队简单硬件方法:以链式中断优先权排队电路为例,菊花链法电路为例,菊花链法基本设计思想:将所有的设备连成一条链,靠近基本设计思想:将所有的设备连成一条链,靠近CPUCPU的设备优先级最高,越远的设备优先级别越低,的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号
38、的同时,封锁其断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低只有等它的中断服务结束以后才开放,允许为低级的设备服务级的设备服务。设备1设备2设备3接口接口接口Cpu以及总线控制逻辑INTAINTR菊花链逻辑电路菊花链逻辑电路菊花链逻辑电路中断回答中断请求INTAINTR菊花链逻辑电路中断回答中断请求中断菊花链优先级及其逻辑电路中断菊花链优先级及其逻辑电路专用硬件方式专用硬件方式采 用 可 编 程 的 中 断 控 制 器 芯 片,如采 用 可 编 程 的 中 断 控 制 器
39、芯 片,如Intel8259AIntel8259A 中断源的识别中断源的识别第第6章:章:问题问题1 1:系统有多个中断请求,:系统有多个中断请求,CPUCPU如何识别中断源?如何识别中断源?解答解答1:向量中断向量中断解答解答2:中断查询中断查询中断优先权排队中断优先权排队计算机按中断源优先权高低逐次响应的过计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件程称优先权排队,这个过程可通过硬件电路来实现,也可以软件实现电路来实现,也可以软件实现第第6章:章:6.4.3 中断优先权中断优先权(续(续1)问题问题2 2:有多个中断同时请求,:有多个中断同时请求,CPUCPU如何
40、应对?如何应对?解答解答1:链式优先权排队电路链式优先权排队电路解答解答2:优先权编码电路优先权编码电路解答解答3:软件查询软件查询中断嵌套中断嵌套当当CPU响应某一中断时,若有优先权高的中断源发出中响应某一中断时,若有优先权高的中断源发出中断请求,则断请求,则CPU能中断正在进行的中断服务程序,并能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套的中断服务程序,这个过程称为中断嵌套。第第6章:
41、章:6.4.3 中断优先权中断优先权(续(续2)问题问题3 3:中断处理过程中,:中断处理过程中,又有中断提出请求,怎么办?又有中断提出请求,怎么办?解答解答1:链式优先权排队电路链式优先权排队电路解答解答2:优先权编码电路优先权编码电路第第6章:章:6.5 DMA传送方式传送方式3、DMA传送方式传送方式希望克服程序控制传送的不足:希望克服程序控制传送的不足:外设外设CPU存储器存储器外设外设CPU存储器存储器直接存储器存取直接存储器存取DMA:外设外设存储器存储器外设外设存储器存储器CPU释放总线,由释放总线,由DMA控制器管理控制器管理第第6章:传送方式的比较章:传送方式的比较4 4、传
42、送方式的比较、传送方式的比较无条件传送无条件传送:慢速外设需与:慢速外设需与CPUCPU保持同步保持同步查询传送查询传送:简单实用,效率较低简单实用,效率较低中断传送中断传送:外设主动,可与:外设主动,可与CPUCPU并行工作,并行工作,但每次传送需要大量额外时间开销但每次传送需要大量额外时间开销 DMADMA传送传送:DMACDMAC控制,外设直接和存储器控制,外设直接和存储器进行数据传送,适合大量、快速数据传进行数据传送,适合大量、快速数据传送送6.3 6.3 简单接口电路的扩展简单接口电路的扩展例例1 1 逻辑门电路进行逻辑门电路进行I/OI/O地址译码地址译码A9A8A7A6A5A2A
43、4A3AENA1A074LS033E7HA9 A8 A7 A6 A5 A21 1 1 1 1 1A4 A30 0A1 A01 1A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 1 1 1 0 0 1 1 1 3E7H例例2 74LS1382 74LS138应用举例应用举例G1G2AG2BCBALS138Y0Y1Y2Y3Y4Y5Y6Y7A7A6A5A4A3A2A7A6A5A4A3A2A1A0G1G2A G2B CBA100000Y080H-83H100001Y184H-87H100010Y288H-8BH100011Y38CH-8FH100100Y490H-93H100101Y
44、594H-97H100110Y698H-9BH100111Y79CH-9FH无条件传送:输入示例无条件传送:输入示例IOR三态缓冲器OEI/O装置地址译码器CSD7D0A15A1A00160HMOV DX,160HIN AL,DX无条件传送:输入实例无条件传送:输入实例MOV DX,160HIN AL,DX74LS244+5V10K x 8G1 G2数据总线数据总线CSRD无条件传送:输出示例无条件传送:输出示例地址译码器数据锁存器A15A1IOWA0CS0160H输出设备D7D0MOV DX,160HMOV AL,BXOUT DX,AL无条件传送:输出实例无条件传送:输出实例MOV DX,1
45、60HMOV AL,BXOUT DX,AL+5V74LS373300 x 8LE OE数据总线数据总线CSWR无条件传送:输入输出接口无条件传送:输入输出接口K7K1K0+5VD0D7A0A15CLKLS06反相反相驱动器驱动器LS2738D锁存器锁存器LS244三态三态缓冲器缓冲器8000H译码译码+5VLED0LED7GIOWIORnext:mov dx,8000h;DX指向数据端口指向数据端口in al,dx;从输入端口读开关状态;从输入端口读开关状态not al;反相;反相out dx,al;送输出端口显示;送输出端口显示call delay;调子程序延时;调子程序延时jmp next
46、;重复;重复查询输入接口查询输入接口IOR+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D0D输入输入设备设备IORSTBmov dx,8000h;DX指向状态端口指向状态端口status:in al,dx;读状态端口;读状态端口test al,01h;测试标志位;测试标志位D0jz status;D00,未就绪,继续查询,未就绪,继续查询inc dx;D01,就绪,就绪,DX指向数据端口指向数据端口in al,dx;从数据端口输入数据;从数据端口输入数据查询输出接口查询输出接口8D锁存器锁存器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D7D+5V输出输出设备设备ACKIOWIORmov dx,8000h;DX指向状态端口指向状态端口status:in al,dx;读取状态端口的状态数据;读取状态端口的状态数据test al,80h;测试标志位;测试标志位D7jnz status;D71,未就绪,继续查询,未就绪,继续查询inc dx;D70,就绪,就绪,DX指向数据端口指向数据端口mov al,buf;变量;变量buf送送ALout dx,al;将数据输出给数据端口;将数据输出给数据端口本章结束