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

下载本文档

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

文档简介

1、第第6 6章章 输入输出系统输入输出系统I/OI/O接口的概念(什么是接口的概念(什么是I/OI/O接口?)接口?) 把外围设备同微型计算机连接起来的电路把外围设备同微型计算机连接起来的电路称为外设接口电路,简称外设接口。称为外设接口电路,简称外设接口。第第6 6章章 输入输出系统输入输出系统主机(主机(CPUCPU)和)和I/OI/O设备之间传送的信息格式设备之间传送的信息格式(1)(1)数据信息:数据信息: 数字量(计算机可以直接接收和处理的数据)数字量(计算机可以直接接收和处理的数据) 模拟量模拟量 开关量开关量(2)(2)状态信息状态信息 状态信息是状态信息是CPUCPU与外设之间交换

2、数据时的联络信息。与外设之间交换数据时的联络信息。CPUCPU通过读取外设状态信号,可知外设的工作状态。通过读取外设状态信号,可知外设的工作状态。特点特点: :CPUCPU外设接口外设接口 可读(不可写)可读(不可写)(3)(3)控制信息控制信息 控制信息是设置控制信息是设置I/OI/O外设外设( (包括包括I/OI/O接口接口) )的工作模式、的工作模式、 命令字的有关信息。命令字的有关信息。 如如“启动启动”、“停止停止”信息。信息。特点特点: :CPUCPU外设接口外设接口 可写(不可读)可写(不可读)例如:对于输入设备的例如:对于输入设备的“Ready” Ready” 对于输出设备的对

3、于输出设备的“Busy”Busy”第第6 6章章 输入输出系统输入输出系统I/OI/O接口的基本功能接口的基本功能( (为什么要用为什么要用I/OI/O接口电路接口电路) )总的来说,总的来说,I/OI/O接口具有下述三方面功能:接口具有下述三方面功能:(1 1)速度的匹配)速度的匹配(2 2)信息格式的变换)信息格式的变换(3 3)提供主机和外设间传送数据所必须的状态和)提供主机和外设间传送数据所必须的状态和控制信息。控制信息。串并转换,如串并转换,如A/D,D/AA/D,D/A转换;电平转换等。转换;电平转换等。第第6 6章章 输入输出系统输入输出系统I/OI/O接口的基本结构接口的基本结

4、构 通常,每个接口电路包含一组寄存器:通常,每个接口电路包含一组寄存器: 数据输入数据输入 输出寄存器、状态寄存器、控制寄存器输出寄存器、状态寄存器、控制寄存器 通常称这些寄存器为通常称这些寄存器为I/OI/O端口端口(I/O PORT)(I/O PORT),每个端口,每个端口有一个端口地址有一个端口地址数据口DB数据状态口控制口ABCBCPU状态信息控制信息外设第第6 6章章 输入输出系统输入输出系统CPUCPU与外设数据的传输控制方式主要包括下面与外设数据的传输控制方式主要包括下面4 4种种1 1、程序控制方式、程序控制方式无条件传送方式无条件传送方式 程序查询方式程序查询方式2 2、中断

5、控制方式、中断控制方式3 3、DMADMA方式方式4 4、IOPIOP方式方式第第6 6章章 输入输出系统输入输出系统1 1、程序控制方式、程序控制方式无条件传送方式无条件传送方式适用于总是处于准备好状态的外设适用于总是处于准备好状态的外设优点优点:软件及接口硬件简单:软件及接口硬件简单缺点缺点:只适用于简单外设,适应范围较窄:只适用于简单外设,适应范围较窄如:开关、发光器件如:开关、发光器件( (如发光二极管、如发光二极管、7 7段数段数码管、灯泡等码管、灯泡等) )、继电、继电器、步进电机器、步进电机第第6 6章章 输入输出系统输入输出系统(a a)无条件传送的输入方式)无条件传送的输入方

6、式(b) (b) 无条件传送的输出方式无条件传送的输出方式数据三态缓冲器来自外设地址译码器IO/MRD88数据总线地址总线(a)锁存器到外设地址译码器IO/MWR88数据总线地址总线(b)CE&由于数据保持时间比由于数据保持时间比CPUCPU的处理的处理时间长,输入端必须用输入缓时间长,输入端必须用输入缓冲器与冲器与CPUCPU的数据总线相连。的数据总线相连。显然,显然,CPUCPU在执行输入指令时,在执行输入指令时,要求外设的数据已经准备好,要求外设的数据已经准备好,否则就会出错。否则就会出错。由于外设速度较慢,要求接口有由于外设速度较慢,要求接口有锁存功能,锁存功能, 即即CPUC

7、PU送给外设的数送给外设的数据应该在接口中保持一段时间。据应该在接口中保持一段时间。显然,显然,CPUCPU在执行输出指令时,在执行输出指令时,必须保证锁存器是空闲的。必须保证锁存器是空闲的。从以上分析可以看出,无条件传从以上分析可以看出,无条件传送是最简便的传送方式,送是最简便的传送方式, 它所它所需的硬件和软件都较少。需的硬件和软件都较少。第第6 6章章 输入输出系统输入输出系统查询方式查询方式 适用于外设并不总是准备好,而且对传送速率、传送适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。效率要求不高的场合。 对外设的要求对外设的要求:应提供设备状态信息:应提供设备状态信

8、息 对接口的要求对接口的要求:需要提供状态端口:需要提供状态端口 CPUCPU在与外设交换数据前必须询问外设状态在与外设交换数据前必须询问外设状态 。 优点优点:软件比较简单:软件比较简单 缺点缺点:CPUCPU效率低,数据传送的实时性差,速度较慢效率低,数据传送的实时性差,速度较慢你准备好没有?你准备好没有?第第6 6章章 输入输出系统输入输出系统查询式输入查询式输入 下图所示为查询式输入的接口电路,该电路有两个端下图所示为查询式输入的接口电路,该电路有两个端口寄存器,即状态口寄存器和数据口寄存器。口寄存器,即状态口寄存器和数据口寄存器。输入装置锁存器数据选通信号 5VDRQ缓冲器(1)数据

9、三态缓冲器(8)Ready状态信息去数据总线DB地址译码IO/M状态端口译码IO/MRDRD地址译码数据端口译码地址总线&数据传送过程的数据传送过程的3 3个步骤:个步骤:CPUCPU先读取状态字先读取状态字检查状态字表明输入设备是否准备就绪检查状态字表明输入设备是否准备就绪如果准备就绪,则执行输入指令读取数据,且使如果准备就绪,则执行输入指令读取数据,且使状态位复位。这样便开始下一个数据传输过程。状态位复位。这样便开始下一个数据传输过程。查询输入的程序段如下:查询输入的程序段如下: SCANSCAN: IN ALIN AL,Stat _PortStat _Port;取状态信息;取状态

10、信息 TEST ALTEST AL, 01H 01H ; 测状态标志测状态标志 JZ SCANJZ SCAN;没有准备好继续检测;没有准备好继续检测 IN AL IN AL ,Data_Port Data_Port ; ;准备好了,输入数据准备好了,输入数据第第6 6章章 输入输出系统输入输出系统 当输入设备准备好数据之后,发出选通信号。它一方面把输入数据锁存到数据锁存器中,另一方面使状态标志触发器置1。状态标志是一位信号,通过缓冲器后,接到CPU数据总线的某一位上,假设接至D7位。CPU先读状态口,查询D7是否为1。若D7=1,表示输入数据已经准备好,再读数据口,取走输入数据,同时使状态标志

11、触发器复位第第6 6章章 输入输出系统输入输出系统查询式输出查询式输出 当当CPUCPU要往一个外设输出数据时,先读取接口中的要往一个外设输出数据时,先读取接口中的状态字,如果状态字表明外设有状态字,如果状态字表明外设有“空空”或或“不不忙忙”, ,可以往外设输出数据,此时可以往外设输出数据,此时CPUCPU才执行输出才执行输出指令,否则指令,否则CPUCPU等待。接口电路如图:等待。接口电路如图:第第6 6章章 输入输出系统输入输出系统查询式输出查询式输出 下图所示为查询式输出的接口电路,该电路有两个下图所示为查询式输出的接口电路,该电路有两个端口寄存器,即状态口寄存器和数据口寄存器。端口寄

12、存器,即状态口寄存器和数据口寄存器。数据传送过程的数据传送过程的3 3个步骤:个步骤:CPUCPU先读取状态字先读取状态字检查状态字表明外设是否空闲(即不忙)检查状态字表明外设是否空闲(即不忙)如果空闲,则执行输出指令写数据,且使状态位如果空闲,则执行输出指令写数据,且使状态位清零。这样便开始下一个数据传输过程。清零。这样便开始下一个数据传输过程。查询输出的程序段如下:查询输出的程序段如下: SCANSCAN: IN ALIN AL,Stat _PortStat _Port;取状态信息;取状态信息 TEST ALTEST AL, 01H 01H ; 测状态标志测状态标志 JNZ SCANJNZ

13、 SCAN;“忙忙”则继续检测则继续检测 OUT Data_Port OUT Data_Port , ALAL ;“ ;“空闲空闲”则输出数据则输出数据第第6 6章章 输入输出系统输入输出系统输出过程: 当前输出设备空闲时,状态标志触发器清0。 CPU在输出数据之前,先读取状态信息。假设忙闲标志接至数据线D0位,当D0=0时,表示输出设备空闲,CPU再对数据口执行输出指令。 数据口选中信号一方面把输出数据写入锁存器,一方面使状态标志触发器置1,通知输出设备。当输出设备取走当前数据后,向接口发出确认信号ACK,使状态标志触发器清0, 表示输出设备空闲。第第6 6章章 输入输出系统输入输出系统查询

14、输出的程序段如下: SCAN: IN AL, 状态口地址为;取状态信息 TEST AL, 01H ; 测忙闲标志 JNZ SCAN ; 忙, 转移 MOV AL, 某数 OUT 数据口地址, AL ;空闲,输出数据第第6 6章章 输入输出系统输入输出系统2 2、中断控制的输入、中断控制的输入/ /输出方式输出方式 中断控制的输入和输出方式,也称中断控制的输入和输出方式,也称中断传送方式中断传送方式,即当外设的输入数据准备好或接收数据的锁存器即当外设的输入数据准备好或接收数据的锁存器为空时,主动向为空时,主动向CPUCPU发出中断请求,使发出中断请求,使CPUCPU中断原中断原来执行的程序来执行

15、的程序( (主程序主程序) ),转去执行为外设服务的,转去执行为外设服务的输入或输出操作,服务完毕,输入或输出操作,服务完毕,CPUCPU再继续执行原来再继续执行原来的程序。的程序。 必须经过必须经过 (1)(1)暂停主程序,实现程序的转移,即中暂停主程序,实现程序的转移,即中断响应。(断响应。(2 2)保护和恢复有关寄存器内容。()保护和恢复有关寄存器内容。(3 3)执行执行I/OI/O操作,并实现内存到累加器再到端口之间操作,并实现内存到累加器再到端口之间的传送。(的传送。(4 4)实现中断返回。)实现中断返回。中断方式的特点:中断方式的特点:a a)CPUCPU的效率高,提高了控制程序执

16、行的实的效率高,提高了控制程序执行的实时性时性b b)CPUCPU与外设可并行工作与外设可并行工作c c)外设具有申请服务的主动权)外设具有申请服务的主动权第第6 6章章 输入输出系统输入输出系统中断传送时的接口电路如图所示:中断传送时的接口电路如图所示:输入装置锁存器数据中断类型码5VDQ三态缓冲器INTR去数据总线DB地址总线选通装置中断允许WR地址译码器IO/M去数据总线DB三态缓冲器INTA(中断响应信号)&第第6 6章章 输入输出系统输入输出系统3 3、直接存储器存取、直接存储器存取(DMA(DMA:Direct Memory Access)Direct Memory Acc

17、ess)控控制方式制方式概念:概念:数据在数据在I/OI/O接口与存储器之间的传送,接口与存储器之间的传送,不经不经CPUCPU的干预的干预,而是,而是在专用硬件电路的控制下直接传送在专用硬件电路的控制下直接传送。这。这种方法称为种方法称为DMA DMA 。特点特点:在专门的硬件控制电路(:在专门的硬件控制电路(DMACDMAC)控制之下,由)控制之下,由DMACDMAC发出地址及读发出地址及读/ /写信号来实现高速数据传输。在此写信号来实现高速数据传输。在此过程中,过程中,CPUCPU放弃总线控制权,数据传送不经过放弃总线控制权,数据传送不经过CPUCPU。在这种方式下,传送的速在这种方式下

18、,传送的速度就只取决于存储器和外度就只取决于存储器和外设的工作速度。这大大提设的工作速度。这大大提高了数据传送速度。高了数据传送速度。第第6 6章章 输入输出系统输入输出系统应用:应用:DMADMA传送主要应用于高速度大批量数据传送传送主要应用于高速度大批量数据传送的系统中,如磁盘存取、图像处理、高速数据采的系统中,如磁盘存取、图像处理、高速数据采集系统等,以提高数据的吞吐量。集系统等,以提高数据的吞吐量。DMADMA传送一般有三种传送一般有三种形式形式:存储器与存储器与I/OI/O设备之间的数据传送;设备之间的数据传送;存储器与存储器之间的数据传送;存储器与存储器之间的数据传送;I/OI/O

19、设备与设备与I/OI/O设备之间的传送。设备之间的传送。 第第6 6章章 输入输出系统输入输出系统 为实现为实现DMADMA工作方式而设计的专用接口电路,称为工作方式而设计的专用接口电路,称为DMADMA控控制器制器(DMAC)(DMAC)。例如,。例如,IntelIntel公司的公司的82578257、82378237,ZilogZilog公公司的司的Z 8410(Z80 DMAC)Z 8410(Z80 DMAC),MotorolaMotorola公司的公司的MC6844MC6844等,都等,都是能实现是能实现DMADMA方式的可编程方式的可编程DMACDMAC芯片。芯片。DMADMA控制器

20、必须有控制器必须有以下功能:以下功能:能接收外设发出的能接收外设发出的DMA DMA 请求信号,然后向请求信号,然后向CPU CPU 发出总线发出总线接管请求信号。接管请求信号。当当CPUCPU发出总线请求允许信号并放弃对总线的控制后,发出总线请求允许信号并放弃对总线的控制后,DMACDMAC能接替对总线的控制,进入能接替对总线的控制,进入DMADMA方式。方式。DMACDMAC得到总线控制权后,要往地址总线发送地址信号,得到总线控制权后,要往地址总线发送地址信号,能修改地址指针,并能发出读写控制信号。能修改地址指针,并能发出读写控制信号。能决定本次能决定本次DMADMA传送的字节数,判断传送

21、的字节数,判断DMADMA传送是否结束。传送是否结束。DMADMA过程结束时,能发出过程结束时,能发出DMA DMA 结束信号,将总线控制权结束信号,将总线控制权交还给交还给CPUCPU。第第6 6章章 输入输出系统输入输出系统6 63 3 中断控制器中断控制器8259A8259A 第第6 6章章 输入输出系统输入输出系统1. Intel 8259A1. Intel 8259A的主要性能和内部结构的主要性能和内部结构 (1 1)Intel 8259AIntel 8259A的主要性能的主要性能 Intel 8259AIntel 8259A是被广泛使用的可编程中断控制器,在是被广泛使用的可编程中断

22、控制器,在IBM-IBM-PC/XTPC/XT机中,就使用机中,就使用Intel 8259AIntel 8259A作为中断控制器。它用来管理作为中断控制器。它用来管理输入到输入到CPUCPU的可屏蔽中断请求,其主要功能有:的可屏蔽中断请求,其主要功能有:第第6 6章章 输入输出系统输入输出系统 1) 1) 可以直接管理可以直接管理8 8个中断源,级联方式下不用附加个中断源,级联方式下不用附加电路就可以管理电路就可以管理6464个可屏蔽中断源,并具有优先权判决个可屏蔽中断源,并具有优先权判决功能。功能。 2) 2) 能为中断源提供中断向量码。能为中断源提供中断向量码。 3) 3) 可以对每一级中

23、断进行屏蔽或允许控制。可以对每一级中断进行屏蔽或允许控制。 4) 4) 可提供多种可供选择的工作方式,并能通过编可提供多种可供选择的工作方式,并能通过编程或硬件连接进行控制。程或硬件连接进行控制。 5 5)可直接与)可直接与CPUCPU连接,不需要外接硬件电路连接,不需要外接硬件电路第第6 6章章 输入输出系统输入输出系统(2) Intel 8259A(2) Intel 8259A的内部结构的内部结构 8259A的内部结构框图每一条请求线上有一个相应的触发器每一条请求线上有一个相应的触发器来保存请求信号,它们构成了中断请来保存请求信号,它们构成了中断请求寄存器求寄存器IRR(Interrupt

24、 Request IRR(Interrupt Request Register)Register)。IMR(Interrupt Mask Register)IMR(Interrupt Mask Register)用来存放屏用来存放屏蔽位信息,蔽位信息,IMRIMR的每一位可以禁止的每一位可以禁止IRRIRR中对应中对应位的中断请求输入信号进入。位的中断请求输入信号进入。ISR(Interrupt Service Register)ISR(Interrupt Service Register)存放当前存放当前正在进行服务的所有中断。正在进行服务的所有中断。ISRISR中相应位的置中相应位的置位是

25、在中断响应的位是在中断响应的INTAINTA脉冲期间,由优先权脉冲期间,由优先权判决电路根据判决电路根据IRRIRR中各请求位的优先权级别和中各请求位的优先权级别和IMRIMR中屏蔽位的状态,将中断的最高优先级请中屏蔽位的状态,将中断的最高优先级请求位选通到求位选通到ISRISR中。中。它在中断响应期间,根据控制逻辑规定的优它在中断响应期间,根据控制逻辑规定的优先权级别和先权级别和IMRIMR的内容,把的内容,把IRRIRR中允许中断的中允许中断的优先权最高的中断请求位送入优先权最高的中断请求位送入ISRISR。控 制 逻 辑数据总线缓冲器读/写控制电路级联缓冲/比较器中 断服 务寄存器(IS

26、R)优先权判 决电 路中断请求寄存器(IRR)中断屏蔽寄存器(IMR)IR0IR1IR2IR3IR4IR5IR6IR7D7D0RDWRCS0ACAS0CAS1CAS2EN/SPINTAINT有一组预置命令字寄存器和一组操作命令字寄存器。有一组预置命令字寄存器和一组操作命令字寄存器。当有未被屏蔽的高级别的中断请求时,通过控制逻当有未被屏蔽的高级别的中断请求时,通过控制逻辑输出高电平的辑输出高电平的INTINT信号,向信号,向CPUCPU申请中断。申请中断。当当CPUCPU允许中断时,发出中断响应信号允许中断时,发出中断响应信号INTAINTA。在中断。在中断响应期间,它允许响应期间,它允许ISR

27、ISR的相应位置位,并发送相应的的相应位置位,并发送相应的中断向量,通过数据总线缓冲器输出到总线上。中断向量,通过数据总线缓冲器输出到总线上。第第6 6章章 输入输出系统输入输出系统 其内部各组成模块有如下功能。 1) 中断请求寄存器IRR 8259A有8条外部中断请求输入信号线IR0IR7,每一条请求线上有一个相应的触发器来保存请求信号,它们构成了中断请求寄存器IRR(Interrupt Request Register)。外部设备产生中断请求有两种方式:一种是边沿触发方式,它利用脉冲上升沿的跳变,并一直保持高电平直到中断被响应为止;另一种是电平触发方式,它通过输入并保持高电平来实现中断请求

28、。第第6 6章章 输入输出系统输入输出系统 2) 中断屏蔽寄存器IMR IMR(Interrupt Mask Register)用来存放屏蔽位信息,IMR的每一位可以禁止IRR中对应位的中断请求输入信号进入。但屏蔽优先权级别较高的中断请求输入,不会影响优先级较低的中断请求输入。 3) 中断服务寄存器ISR ISR(Interrupt Service Register)存放当前正在进行服务的所有中断。ISR中相应位的置位是在中断响应的INTA脉冲期间,由优先权判决电路根据IRR中各请求位的优先权级别和IMR中屏蔽位的状态,将中断的最高优先级请求位选通到ISR中。第第6 6章章 输入输出系统输入输

29、出系统 4) 优先权判决电路 它在中断响应期间,根据控制逻辑规定的优先权级别和IMR的内容,把IRR中允许中断的优先权最高的中断请求位送入ISR。 5) 控制逻辑在8259A的控制逻辑电路中有一组预置命令字寄存器和一组操作命令字寄存器,利用它们通过编程设置来管理8259A的工作方式。当有未被屏蔽的高级别的中断请求时,通过控制逻辑输出高电平的INT信号,向CPU申请中断。当CPU允许中断时,发出中断响应信号INTA。在中断响应期间,它允许ISR的相应位置位,并发送相应的中断向量,通过数据总线缓冲器输出到总线上。第第6 6章章 输入输出系统输入输出系统 6) 数据总线缓冲器 这是8位双向三态缓冲器

30、,用作8259A与数据总线的接口,传输命令控制字、状态字和中断向量。 7) 读/写控制电路 该部件接收来自CPU的读/写命令,实现对8259A的读/写操作。 8) 级联缓冲器/比较器 它们实现8259A芯片之间的级联,使得中断源可以由8级扩展至64级。第第6 6章章 输入输出系统输入输出系统 2. 8259A2. 8259A的工作过程的工作过程 根据根据8259A8259A的内部结构,其工作的过程如下:的内部结构,其工作的过程如下:(1)(1)外部中断源通过外部中断源通过IR0-IR7IR0-IR7输入高电平中断请求信号输入高电平中断请求信号(2) (2) 外部中断源的中断请求信号使中断请求触

31、发器外部中断源的中断请求信号使中断请求触发器IRRIRR的的相应位置相应位置“1”1”,并与,并与IMRIMR按位相按位相“与与”,送给优先权判,送给优先权判决电路。决电路。(3) (3) 优先权判决电路从优先权判决电路从IRRIRR中检测出优先级最高的中断请中检测出优先级最高的中断请求位,并将其与求位,并将其与ISRISR中记录的正在被中记录的正在被CPUCPU服务的中断进行服务的中断进行优先级比较。当提请的中断优先级高于正在服务的中断优先级比较。当提请的中断优先级高于正在服务的中断优先级时,中断优先权判决电路就向控制逻辑发出有效优先级时,中断优先权判决电路就向控制逻辑发出有效的中断请求信号

32、。的中断请求信号。 第第6 6章章 输入输出系统输入输出系统 (4) (4) 当控制逻辑收到有效的中断请求信号时,当控制逻辑收到有效的中断请求信号时,向向CPUCPU发出高电平信号发出高电平信号INTINT,请求中断服务。,请求中断服务。 (5) (5) 在中断允许的情况下在中断允许的情况下(IF=1)(IF=1),CPUCPU接受中断接受中断请求请求INTINT,并发出中断响应信号,并发出中断响应信号INTAINTA,对,对8086/8088 8086/8088 CPUCPU,将连续发出两个,将连续发出两个INTAINTA脉冲。脉冲。 (6) (6) 当当8259A8259A接到来自接到来自

33、CPUCPU的第一个的第一个INTAINTA脉冲时,脉冲时,就把允许中断的最高优先级请求位置入就把允许中断的最高优先级请求位置入ISRISR,并把,并把IRRIRR中的相应位复位。如果工作在级联方式下,而中的相应位复位。如果工作在级联方式下,而且设备的优先级最高,则主控且设备的优先级最高,则主控8259A8259A将送出级联地将送出级联地址址CAS0-CAS2CAS0-CAS2,将其加载至从属,将其加载至从属8259A8259A上。上。第第6 6章章 输入输出系统输入输出系统(7) (7) 在第二个在第二个INTAINTA脉冲,对单独使用或是级联方式脉冲,对单独使用或是级联方式下从属的下从属的

34、8259A8259A,将其中断向量发送至数据总线。,将其中断向量发送至数据总线。(8) CPU(8) CPU从数据总线上获取中断向量码,转移到相从数据总线上获取中断向量码,转移到相应的中断处理程序。应的中断处理程序。(9) (9) 中断结束时,通过在中断处理程序中向中断结束时,通过在中断处理程序中向8259A8259A发送一条发送一条EOI(EOI(中断结束中断结束) )命令,使命令,使ISRISR相应位复位,相应位复位,或在或在AEOI(AEOI(自动中断结束自动中断结束) )方式下,由方式下,由8259A8259A在第二在第二个个INTAINTA脉冲的后沿自动将脉冲的后沿自动将ISRISR

35、相应位复位。相应位复位。第第6 6章章 输入输出系统输入输出系统中断响应周期中断响应周期 第第6 6章章 输入输出系统输入输出系统8259A芯片之间的级联第第6 6章章 输入输出系统输入输出系统 级联线CAS0CAS2是8259A相互连接用的专用总线,用来构成8259A的主从式级联控制结构。当8259A作为主设备时,CAS0CAS2是输出信号;当8259A作为从设备时,它们是输入线。编程时设定的8259A的从设备标志保存在级联缓冲器内,系统中全部8259A级联线的对应端互连。在中断响应期间,主8259A把所有申请中断的从设备中优先级最高的8259A的从设备标志输出到级联线CAS0CAS2上,从

36、8259A把这个设备标志与级联缓冲器内保存的从设备标志进行比较。在后续的INTA脉冲期间,被选中的8259A从设备把中断向量送到数据总线上。这个中断向量也是在编程时预先设定的,保存在控制逻辑部件。第第6 6章章 输入输出系统输入输出系统3.Intel 8259A3.Intel 8259A的外部特性的外部特性图 8259A的外围引脚排列8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP28272625242322212019171815161234567891012111413第第

37、6 6章章 输入输出系统输入输出系统在上图中,各引脚的名称如下:D0D7:双向8位双数总线。RD:读输入信号。WR:写输入信号。A0:地址选择输入。CS:片选输入。CAS0CAS2:级联线。第第6 6章章 输入输出系统输入输出系统 SP/EN:双功能线。8259A工作在缓冲方式时,该引脚输出低电平控制信号,用来控制系统总线与8259A数据引线之间的数据缓冲器,使中断向量码能在第二个INTA周期正常从8259A输出。当8259A工作在级联方式时,该引脚为输入,SP=1,设定8259A为主控器;SP=0,设定8259A为从属部件。 IR0IR7:中断请求输入。 INT:8259A向CPU输出的中断

38、请求端,与CPU的INTR引脚相连。 INTA:中断响应输入端,接收CPU向8259A输入的中断响应信号。第第6 6章章 输入输出系统输入输出系统8259A与标准总线的连接第第6 6章章 输入输出系统输入输出系统4. 4. 8259A的主要工作方式第第6 6章章 输入输出系统输入输出系统 8259A8259A这些工作方式,这些工作方式,可以通过编程设置或改变可以通过编程设置或改变。(1)(1)优先权的管理方式优先权的管理方式1 1 全嵌套方式全嵌套方式 这是这是8259A8259A默认的优先权设置方式,在全嵌套方式下,默认的优先权设置方式,在全嵌套方式下,8259A8259A所管理的所管理的8

39、 8级中断优先权是固定不变的,其中级中断优先权是固定不变的,其中IR0IR0的中断优先的中断优先级最高,级最高,IR7IR7的中断优先级最低。的中断优先级最低。 CPUCPU响应中断后,请求中断的中断源中,优先级最高的中断源,响应中断后,请求中断的中断源中,优先级最高的中断源,在中断服务寄存器在中断服务寄存器ISRISR中的相应位置位,而且把它的中断矢量中的相应位置位,而且把它的中断矢量送至系统数据总线,在此中断源的中断服务完成之前,送至系统数据总线,在此中断源的中断服务完成之前,与它与它同级或优先级低的中断源的中断请求被屏蔽同级或优先级低的中断源的中断请求被屏蔽。第第6 6章章 输入输出系统

40、输入输出系统22特殊全嵌套方式特殊全嵌套方式 特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当CPUCPU处理某一级中断时,如果有同级中断请求,那么处理某一级中断时,如果有同级中断请求,那么CPUCPU也会也会作出响应,从而形成了对同一级中断的特殊嵌套。作出响应,从而形成了对同一级中断的特殊嵌套。 特殊全嵌套方式特殊全嵌套方式通常应用在有通常应用在有8259A8259A级连的系统中级连的系统中,在这种情,在这种情况下,况下,对主对主8259A8259A编程时,通常使它工作在特殊全嵌套方式下编程时,通常使它工作在特殊全嵌套方式下。这样,一方面,

41、这样,一方面,CPUCPU对于优先级别较高的主片的中断输入是允对于优先级别较高的主片的中断输入是允许的,另一方面,许的,另一方面,CPUCPU对于来自同一从片的优先级别较高(但对于来自同一从片的优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是允许、能够对于主片来讲,优先级别是相同的)的中断也是允许、能够响应的。响应的。第第6 6章章 输入输出系统输入输出系统33优先级自动循环方式优先级自动循环方式 在实际应用中,中断源优先级的情况是比较复杂的,要求在实际应用中,中断源优先级的情况是比较复杂的,要求8 8级中断的优先级在系统工作过程中,可以动态改变。级中断的优先级在系统工作过程中,可以

42、动态改变。 即一个中断源的中断请求被响应之后,其优先级自动降为最即一个中断源的中断请求被响应之后,其优先级自动降为最低。系统启动时,低。系统启动时,8 8级中断优先级默认为级中断优先级默认为IR0IR0IR7IR7,这时,这时,刚好刚好IR4IR4发出了中断请求,发出了中断请求,CPUCPU响应之后,若响应之后,若8259A8259A工作在优工作在优先级自动循环方式下,则中断优先级自动变为先级自动循环方式下,则中断优先级自动变为IR5IR5、IR6IR6、IR7IR7、IR0IR0、IR1IR1、IR2IR2、IR3IR3、IR4IR4。44优先级特殊循环方式优先级特殊循环方式 优先级特殊循环

43、方式与自动循环方式相比,只有一点不同,优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优先级是由程序控制的,而不是默认的即初始化的优先级是由程序控制的,而不是默认的IR0IR0IR7IR7。第第6 6章章 输入输出系统输入输出系统(2)(2)中断源的屏蔽方式中断源的屏蔽方式CPUCPU对于对于8259A8259A提出的中断请求,都可以加以屏蔽提出的中断请求,都可以加以屏蔽控制,屏蔽控制有下列几种方式:控制,屏蔽控制有下列几种方式:11普通屏蔽方式:普通屏蔽方式: 8259A8259A的每个中断请求输入,都要受到屏蔽寄存器中相的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。若

44、相应位为应位的控制。若相应位为“1”1”,则中断请求不能送,则中断请求不能送CPUCPU。屏蔽是通过对屏蔽寄存器屏蔽是通过对屏蔽寄存器IMRIMR的编程(操作命令字的编程(操作命令字OCW1OCW1),来加以设置和改变的。),来加以设置和改变的。第第6 6章章 输入输出系统输入输出系统22特殊屏蔽方式:特殊屏蔽方式: 有些场合下,希望一个中断服务程序的运行过程中,能动态有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中的中断优先级结构,即在中断处理的一部分,地改变系统中的中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级禁止低级中断,而在中

45、断处理的另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式。中断,于是引入了对中断的特殊屏蔽方式。 设置了特殊屏蔽方式后,用设置了特殊屏蔽方式后,用OCW1OCW1对屏蔽寄存器中的某一位复对屏蔽寄存器中的某一位复位时,同时也会是中断服务寄存器位时,同时也会是中断服务寄存器ISRISR中的相应位复位,这样中的相应位复位,这样就不只屏蔽了正在处理的等级中断,而且真正开放了其它优就不只屏蔽了正在处理的等级中断,而且真正开放了其它优先级别较低的中断请求。先级别较低的中断请求。 特殊屏蔽是在中断处理程序中使用的,特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,用了这种方式之后,尽管系统正在

46、处理高级中断,但对外界来讲,只有同级中断尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求。被屏蔽,而允许其它任何级别的中断请求。 第第6 6章章 输入输出系统输入输出系统(3)(3)结束中断处理的方式结束中断处理的方式 按照对中断结束(复位中断响应寄存器按照对中断结束(复位中断响应寄存器ISRISR中相应位)的不同中相应位)的不同处理,处理,8259A8259A有两种工作方式,即有两种工作方式,即自动结束方式(自动结束方式(AEOIAEOI)和和非非自动结束方式自动结束方式(EOI)(EOI)。而非自动结束方式又可进一步分为一般而非自动结束方式又可进一步

47、分为一般的中断结束方式和特殊的中断结束方式。的中断结束方式和特殊的中断结束方式。11中断自动结束方式中断自动结束方式(AEOI)(AEOI) 这种方式仅适用于只有单片这种方式仅适用于只有单片8259A8259A的场合,在这种方式下,系的场合,在这种方式下,系统一旦响应中断,那么统一旦响应中断,那么CPUCPU在发第二个在发第二个INTAINTA脉冲时,就会使中脉冲时,就会使中断响应寄存器断响应寄存器ISRISR中相应位复位,这样一来,虽然系统在进行中相应位复位,这样一来,虽然系统在进行中断处理,但对于中断处理,但对于8259A8259A来讲,来讲,ISRISR没有相应的指示,就象中没有相应的指

48、示,就象中断处理结束,返回主程序之后一样。断处理结束,返回主程序之后一样。CPUCPU可以再次响应任何级可以再次响应任何级别的中断请求。别的中断请求。第第6 6章章 输入输出系统输入输出系统22一般的中断结束方式一般的中断结束方式 一般的中断结束方式适用在全嵌套的情况下,一般的中断结束方式适用在全嵌套的情况下,当当CPUCPU用输出指令向用输出指令向8259A8259A发一般中断结束命令发一般中断结束命令OCW2OCW2时,时,8259A8259A才会使中断响应寄存器才会使中断响应寄存器ISRISR中优中优先级别最高的位复位。先级别最高的位复位。 第第6 6章章 输入输出系统输入输出系统33特

49、殊的中断结束方式特殊的中断结束方式 在特殊全嵌套模式下,系统无法确定哪一级中断为最后响应在特殊全嵌套模式下,系统无法确定哪一级中断为最后响应和处理的中断,也就是说,和处理的中断,也就是说,CPUCPU无法确定当前所处理的是哪无法确定当前所处理的是哪级中断,这时就要采用特殊的中断结束方式。级中断,这时就要采用特殊的中断结束方式。 特殊的中断结束方式是指在特殊的中断结束方式是指在CPUCPU结束中断处理之后,向结束中断处理之后,向8259A8259A发送一个特殊的发送一个特殊的EOIEOI中断结束命令,这个特殊的中断结束中断结束命令,这个特殊的中断结束EOIEOI命令,明确指出了中断响应寄存器命令

50、,明确指出了中断响应寄存器ISRISR中需要复位的位。中需要复位的位。 这里,我们还要指出一点,在级联方式下,一般不用自动中这里,我们还要指出一点,在级联方式下,一般不用自动中断结束方式,而需要用非自动结束中断方式,一个中断处理断结束方式,而需要用非自动结束中断方式,一个中断处理程序结束时,都必须发两个中断结束程序结束时,都必须发两个中断结束EOIEOI命令,一个发往主命令,一个发往主片,一个发往从片。片,一个发往从片。 第第6 6章章 输入输出系统输入输出系统(4)(4)系统总线的连接方式系统总线的连接方式 当当8259A8259A以级联方式用在一个大的系统下时,就以级联方式用在一个大的系统

51、下时,就要求对数据总要求对数据总线进行驱动缓冲线进行驱动缓冲。缓冲方式就是用来设定系统总线与。缓冲方式就是用来设定系统总线与8259A8259A数数据总线之间是否需要进行缓冲。据总线之间是否需要进行缓冲。 11非缓冲方式。在指定非缓冲方式时,非缓冲方式。在指定非缓冲方式时,SP/ENSP/EN作为输入,用来作为输入,用来识别识别8259A8259A是主控制器还是从属控制器。是主控制器还是从属控制器。 22缓冲方式。此方式下缓冲方式。此方式下SP/ENSP/EN为输出,为输出,ENEN作为允许缓冲器发送作为允许缓冲器发送/ /接收的控制信号。接收的控制信号。第第6 6章章 输入输出系统输入输出系

52、统(5)(5)引入中断请求的方式引入中断请求的方式 按照引入中断请求的方式,按照引入中断请求的方式,8259A8259A有下列几种工作方式:有下列几种工作方式: 11边沿触发方式边沿触发方式 8259A8259A将中断请求输入端出现的上升沿,作为中断请求信号,上将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后升沿后 相应引脚,可以一直保持高电平。相应引脚,可以一直保持高电平。 第第6 6章章 输入输出系统输入输出系统22电平触发方式电平触发方式 8259A8259A将中断请求输入端出现的高电平作为中断请求信号,将中断请求输入端出现的高电平作为中断请求信号,在这种方式下,必须注意:中断响

53、应之后,高电平必须及在这种方式下,必须注意:中断响应之后,高电平必须及时撤除,否则,在时撤除,否则,在CPUCPU响应中断,开中断之后,会引起第响应中断,开中断之后,会引起第二次不应该有的中断。二次不应该有的中断。第第6 6章章 输入输出系统输入输出系统33中断查询方式中断查询方式 当系统中的中断源很多,超过当系统中的中断源很多,超过6464个时,则可以使个时,则可以使8259A8259A工作在工作在查询方式下,中断查询方式的特点是:查询方式下,中断查询方式的特点是: 中断源仍往中断源仍往8259A8259A发中断请求,但发中断请求,但8259A8259A却不使用却不使用INTINT信号向信号

54、向CPUCPU发中断请求信号。发中断请求信号。 CPUCPU内部的中断允许标志复位,所以内部的中断允许标志复位,所以CPUCPU对对INTINT引脚上出现的中引脚上出现的中断请求呈禁止状态。断请求呈禁止状态。 CPU CPU 用软件查询的方法来确定中断源,从而实现对设备的中用软件查询的方法来确定中断源,从而实现对设备的中断服务。可见,中断查询方式既有中断的特点,又有查询的断服务。可见,中断查询方式既有中断的特点,又有查询的特点,从外设的角度看,是靠中断的方式来请求服务,但从特点,从外设的角度看,是靠中断的方式来请求服务,但从CPUCPU的角度来看,是用查询方式来确定发中断请求的中断源。的角度来

55、看,是用查询方式来确定发中断请求的中断源。第第6 6章章 输入输出系统输入输出系统 查询是通过查询是通过CPUCPU向向8259A8259A发查询命令来实现,查询命令字由发查询命令来实现,查询命令字由OCW3OCW3构成,其格式如下:构成,其格式如下: D7 D7 。 。 。 D3 D2 D1 D0D3 D2 D1 D0 X 0 0 0 1 1 0 0 X 0 0 0 1 1 0 0 其中其中D2=1D2=1,是查询命令的特征位。,是查询命令的特征位。 8259A8259A在接到在接到CPUCPU发来的上述格式的查询命令之后,立即组成发来的上述格式的查询命令之后,立即组成状态字,等待状态字,等

56、待CPUCPU来读取,状态字的格式如下:来读取,状态字的格式如下: D7 D7 。 。 。 D3 D2 D1 D0D3 D2 D1 D0 I X X X X W2 W1 W0 I X X X X W2 W1 W0 若若I=0I=0,则表示该,则表示该8259A8259A芯片没有中断请求,若芯片没有中断请求,若I=1I=1,则表示,则表示有中断请求,有中断请求,W2W2、W1W1、W0W0即为本片中中断请求优先级别最高即为本片中中断请求优先级别最高的中断源的编码。的中断源的编码。第第6 6章章 输入输出系统输入输出系统5.82595.8259的初始化编程的初始化编程 初始化编程:指系统在上电或复

57、位后对可编程器件进行控制初始化编程:指系统在上电或复位后对可编程器件进行控制字设定的一段程序字设定的一段程序 8259A8259A的命令控制字包括两个部分:的命令控制字包括两个部分: 初始化命令字和操作命令字初始化命令字和操作命令字 初始化命令字:一般在系统复位后的初始化编程中设置,用初始化命令字:一般在系统复位后的初始化编程中设置,用于确定于确定8259A8259A的基本工作方式,设置以后一般保持不变的基本工作方式,设置以后一般保持不变 操作命令:是在初始化以后的正常工作中写入的,它实现对操作命令:是在初始化以后的正常工作中写入的,它实现对8259A8259A的状态,中断方式和过程的的状态,

58、中断方式和过程的动态控制动态控制,在工作中可随,在工作中可随时写入操作命令字,以修改某些控制方式时写入操作命令字,以修改某些控制方式第第6 6章章 输入输出系统输入输出系统 8259A8259A内部有内部有7 7个寄存器,分为两组:个寄存器,分为两组:初始化命令寄存器组包括初始化命令寄存器组包括4 4个寄存器:个寄存器:ICW1ICW1ICW4ICW4对应的寄存器对应的寄存器操作命令寄存器组包括操作命令寄存器组包括3 3个寄存器:个寄存器:OCW1 OCW1 OCW3OCW3对应的寄存器对应的寄存器 由于由于8259A8259A只有一条地址线只有一条地址线A0A0,所以它只能有两个端口地址,所

59、以它只能有两个端口地址,而而8259A8259A有有7 7个命令字,每个命令字要写入相应的寄存器。为个命令字,每个命令字要写入相应的寄存器。为此,采取以下几点措施:此,采取以下几点措施: 1 1)以端口地址区分)以端口地址区分 2 2)把命令字中的某些位作为特征码来区分)把命令字中的某些位作为特征码来区分 3 3)以命令字的写入顺序来区分)以命令字的写入顺序来区分 在在PC/XTPC/XT中,中,8259A8259A的两个端口地址分别为的两个端口地址分别为20H20H和和21H21H第第6 6章章 输入输出系统输入输出系统 (1 1)8259A8259A的初始化控制字的初始化控制字 初始化控制

60、字初始化控制字ICW(Initialization Control ICW(Initialization Control Word)Word)是在计算机启动的过程中设定完成的,计算机启是在计算机启动的过程中设定完成的,计算机启动起来后,动起来后,8259A8259A就按初始设定的状态工作。就按初始设定的状态工作。 1) 8259A1) 8259A初始化的顺序初始化的顺序 8259A8259A有四条初始化控制字有四条初始化控制字ICWICWl l、ICWICW2 2、ICWICW3 3和和ICWICW4 4,由于,由于8259A8259A只有一根地址线,只有一根地址线,因此对各个控制字因此对各个控制字的操作是按照一定

温馨提示

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

评论

0/150

提交评论