《六章输入输出和中断技术1ppt课件》由会员分享,可在线阅读,更多相关《六章输入输出和中断技术1ppt课件(50页珍藏版)》请在金锄头文库上搜索。
1、第第6章章 输入输入/输出和中断技术输出和中断技术6.1 输入输出及接口输入输出及接口6.2 输入和输出的传送方式输入和输出的传送方式6.3 中断技术中断技术6.4 80X86/Pentium中断系统中断系统6.5 8259A可编程中断控制器可编程中断控制器6.6 中断程序设计中断程序设计 第第6章章 输入输入/输出和中断技术输出和中断技术6.1 输入输出及接口输入输出及接口接口接口 I/O接口是位于系统与外设间、用来协助完成数接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路据传送和控制任务的逻辑电路,它不仅包括接口它不仅包括接口的电路,还包括接口电路的管理驱动程序。的电路,还
2、包括接口电路的管理驱动程序。为什么需要为什么需要I/O接口接口I/OI/O设备工作速度不同设备工作速度不同I/OI/O设备数据字长不同设备数据字长不同I/0I/0设备可能是模拟或数字的设备可能是模拟或数字的I/OI/O设备的控制信号不同设备的控制信号不同第第6章章 输入输入/输出和中断技术输出和中断技术I/O接口接口I/O的功能的功能输入输出数据的缓冲和锁存输入输出数据的缓冲和锁存输出接口有输出接口有锁存环节锁存环节输入接口有输入接口有缓冲环节缓冲环节信号形式和数据格式的变换信号形式和数据格式的变换I/O端口寻址、控制信号产生端口寻址、控制信号产生电气特性匹配电气特性匹配I/O信息信息数据信息
3、:数字量、模拟量、开关量数据信息:数字量、模拟量、开关量状态信息状态信息控制信息控制信息第第6章章 输入输入/输出和中断技术输出和中断技术I/O接口的构成接口的构成端口端口: I/O接口通常设置有若干个寄存器,用来暂存接口通常设置有若干个寄存器,用来暂存CPU和外设之和外设之间传输的数据、状态和控制信息间传输的数据、状态和控制信息,接口内的寄存器通常被称为端口。接口内的寄存器通常被称为端口。根据寄存器内暂存信息的类型,分别称为根据寄存器内暂存信息的类型,分别称为数据端口、控制端口和状数据端口、控制端口和状态端口态端口每个端口有一个独立的地址,每个端口有一个独立的地址,CPU可以用端口地址代码来
4、区别各个可以用端口地址代码来区别各个不同的端口,并对它们分别进行读不同的端口,并对它们分别进行读/写操作写操作第第6章章 输入输入/输出和中断技术输出和中断技术I/O端口端口IN AL, 21HIN AL, 21H第第6章章 输入输入/输出和中断技术输出和中断技术I/O端口端口OUT 43H, ALOUT 43H, AL第第6章章 输入输入/输出和中断技术输出和中断技术I/O接口的编址接口的编址存储器映象编址存储器映象编址I/OI/O单独编址单独编址属性属性统一编址统一编址单独编址单独编址应用应用motorola的的M6800系列,系列, iMCS51系列系列80X86 ,MCS96系列,系列
5、,Z80系列系列特点特点1.I/O1.I/O端口相当于内存的一部分端口相当于内存的一部分, ,使内存容量减小使内存容量减小2.2.对对I/OI/O端口的读端口的读/ /写与对存储写与对存储器的读器的读/ /写相同,所有可对内存写相同,所有可对内存操作的指令对操作的指令对I/OI/O端口均可使用端口均可使用3.3.指令系统中不专设指令系统中不专设I/OI/O指令指令1.1.端口与存储器分别独立编端口与存储器分别独立编址,端口不占用内存空间址,端口不占用内存空间2.2.设设有有专专门门的的 I/OI/O指指令令对对端端口口进进行行读读写写,内内存存操操作作的的指指令不能用于令不能用于I/OI/O端
6、口端口第第6章章 输入输入/输出和中断技术输出和中断技术I/O接口的编址接口的编址独立编址独立编址统一编址统一编址第第6章章 输入输入/输出和中断技术输出和中断技术端口地址译码端口地址译码门电路译码门电路译码门电路译码是最基本的也是最简单的地址译码门电路译码是最基本的也是最简单的地址译码方法,通常采用各种门电路,如与门、或门、方法,通常采用各种门电路,如与门、或门、非门等电路的组合。非门等电路的组合。 设计时首先分配好地址,然后写成二进制形式,设计时首先分配好地址,然后写成二进制形式,再根据地址总线数分配各与非门输入管脚地址。再根据地址总线数分配各与非门输入管脚地址。门电路译码需要芯片较多,且
7、译出的端口地址门电路译码需要芯片较多,且译出的端口地址单一,接口中用到的端口地址不能更改单一,接口中用到的端口地址不能更改第第6章章 输入输入/输出和中断技术输出和中断技术门电路译码门电路译码【例例】设计端口地址为设计端口地址为218H的译码电路的译码电路分析:分析:CPU执行执行IN/OUT指令时,发出端口的地址信号指令时,发出端口的地址信号 MOV DX, 218H IN AL, DX 或或 OUT DX, AL对应对应218H端口的地址信号为(只取端口的地址信号为(只取A9A0):): A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 (地址信号地址信号) 1 0 0 0 0
8、1 1 0 0 0 B 2 1 8 H只要满足此地址取值的译码电路均可只要满足此地址取值的译码电路均可第第6章章 输入输入/输出和中断技术输出和中断技术门电路译码门电路译码译码电路部分满足:译码电路部分满足:只当地址信号只当地址信号A9 A0为为:A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0即即218H时,输出时,输出“0 ” , 使使I/O接口的接口的CS有效有效否则输出否则输出“1 ” 使使I/O接口的接口的CS无效无效地地址址重重叠叠(16(16根根地地址址线线) ):6464个个地地址址重重叠叠区区,如如218,618, A18,E
9、18 等等等等第第6章章 输入输入/输出和中断技术输出和中断技术译码器译码译码器译码若接口电路中需使用多个端口地址,则采若接口电路中需使用多个端口地址,则采用译码器译码比较方便。用译码器译码比较方便。译码器的型号很多,如译码器的型号很多,如38译码器译码器74LS138;416译码器译码器74LS154;双;双24译码器译码器74LS139、74LS155等。等。这些译码器通常由三个部分组成:译码控这些译码器通常由三个部分组成:译码控制端,选择输入端,译码输出端。制端,选择输入端,译码输出端。第第6章章 输入输入/输出和中断技术输出和中断技术译码器译码译码器译码当当端端口口地地址址信信号为:号
10、为:A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0即即 218H时时,Y0输输出出0,I/O接接口的口的CS有效有效第第6章章 输入输入/输出和中断技术输出和中断技术比较器译码比较器译码将将比比较较器器的的A(A(或或B)B)输输入入端端输输入入地地址址信信号号,B(B(或或A)A)端端接接一一组组DIP(DualDIP(Dual In-line In-line Package)Package)开开关关。地地址址总总线线所所送送的的地地址址与与DIPDIP所所设设置置的的地地址址相相等等时时,产产生生一选通信号输出。一选通信号输出。特点:特点
11、:可可以以通通过过改改变变DIPDIP开开关关的的设设置置,很很容容易易地地改改变变接接口口的的地地址。址。不不但但同同一一功功能能的的模模块块在在不不同同微微型型计计算算机机应应用用中中可可以以被被分分配配不不同同的的地地址址,而而且且即即使使在在同同一一微微型型计计算算机机系系统统中中,也可通过改变也可通过改变DIPDIP开关的设置而控制不同的设备开关的设置而控制不同的设备. .。这这种种译译码码电电路路应应用用非非常常广广泛泛,常常用用的的比比较较器器有有四四位比较器位比较器74LS8574LS85和八位比较器和八位比较器74LS68874LS688。第第6章章 输入输入/输出和中断技术
12、输出和中断技术比较器译码比较器译码第第6章章 输入输入/输出和中断技术输出和中断技术锁存和缓冲锁存和缓冲输入接口的锁存和缓冲输入接口的锁存和缓冲内内部部数数据据总总线线外外部部数数据据引引脚脚锁存控制锁存控制锁存器锁存器缓冲器缓冲器DCDCDCQQQ选通选通第第6章章 输入输入/输出和中断技术输出和中断技术锁存和缓冲锁存和缓冲输出接口的锁存和缓冲输出接口的锁存和缓冲内内部部数数据据总总线线外外部部数数据据引引脚脚锁存控制锁存控制DCQDCQDCQ读数据读数据第第6章章 输入输入/输出和中断技术输出和中断技术6.2 输入输出的传送方式输入输出的传送方式程序控制的输入输出程序控制的输入输出无条件传
13、送无条件传送查询传送查询传送中断控制的输入输出中断控制的输入输出直接存储器访问方式(直接存储器访问方式(DMA)第第6章章 输入输入/输出和中断技术输出和中断技术无条件传送方式无条件传送方式所谓无条件,就是假设外设已处于就绪状态,数所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而据传送时,程序就不必再去查询外设的状态,而直接执行直接执行I/O指令进行数据传输,如指令进行数据传输,如LED等。等。当当简简单单外外设设作作为为输输入入设设备备时时,其其输输入入数数据据的的保保持持时时间间相相对对于于CPU的的处处理理时时间间要要长长得得多多,所所以以可可直直接使
14、用三态缓冲器与系统数据总线相连。接使用三态缓冲器与系统数据总线相连。当当简简单单外外设设作作为为输输出出设设备备时时,由由于于外外设设的的速速度度较较慢慢,CPU送送出出的的数数据据必必须须在在接接口口中中保保持持一一段段时时间间,以适应外设的动作,因此输出采用锁存器。以适应外设的动作,因此输出采用锁存器。第第6章章 输入输入/输出和中断技术输出和中断技术无条件传送方式无条件传送方式第第6章章 输入输入/输出和中断技术输出和中断技术无条件传送方式无条件传送方式第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式查询传送方式查查询询传传送送方方式式在在传传送送数数据据前前先先查查询询外
15、外设设的的状状态态,当当外外设设准准备备好好时时,CPU执执行行I/O指指令令传传送送数数据据;若若未准备好时,则未准备好时,则CPU等待。等待。要要求求CPU与与外外设设间间的的接接口口电电路路需需要要两两个个端端口口:数数据端口和状态端口。据端口和状态端口。优优点点:能能较较好好地地协协调调外外设设与与CPU之之间间的的定定时时关关系系,因而比无条件传送方式容易实现准确传送。因而比无条件传送方式容易实现准确传送。缺缺点点:该该方方式式需需要要不不断断查查询询外外设设的的状状态态,大大量量时时间间花花在在等等待待循循环环中中,当当主主机机与与中中、低低速速外外设设交交换换信信息时,大大降低了
16、息时,大大降低了CPU利用率。利用率。第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式查询传送方式第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式输入查询传送方式输入第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式输入查询传送方式输入例:设接口电路中状态端口的地址为例:设接口电路中状态端口的地址为STATUS,数,数据端口的地址为据端口的地址为DATA,则,则CPU读取输入设备的读取输入设备的数据应执行下列程序段:数据应执行下列程序段: POLL: IN AL, STATUS ; TEST AL, 80H ; JE POLL ; IN AL, DATA
17、 ;第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式输出查询传送方式输出第第6章章 输入输入/输出和中断技术输出和中断技术查询传送方式输出查询传送方式输出例:设接口电路中状态端口的地址为例:设接口电路中状态端口的地址为STATUS,数,数据端口的地址为据端口的地址为DATA,则,则CPU将内存将内存STORE单单元的内容送至输出设备应执行下列程序段:元的内容送至输出设备应执行下列程序段: POLL: IN AL, STATUS ; TEST AL, 80H ; JNE POLL ; MOV AL, STORE ; OUT DATA, AL ;第第6章章 输入输入/输出和中断技术输
18、出和中断技术中断控制的输入输出中断控制的输入输出含含义义: :在在中中断断方方式式下下,外外设设掌掌握握向向CPUCPU申申请请服服务务的的主主动动权权,当当输输入入设设备备将将数数据据准准备备好好,或或者者输输出出设设备备已已做做好好接接收收数数据据的的准准备备时时,向向CPUCPU发发出出中中断断请请求求信信号号,要要求求CPUCPU为为其其服服务务。若若此此时时中中断断允允许许触触发发器器是是开开放放的的,则则CPUCPU暂暂停停目目前前的的工工作作,与与外外设设进进行行一一次次数数据据传传输输,等等I/OI/O操操作作完完成成以以后后,CPUCPU继继续续执行原来的程序。执行原来的程序
19、。优优点点: :保保证证了了CPUCPU对对外外设设的的实实时时服服务务,又又不不会会因因对对各各I/OI/O设设备备的的随随时时关关照照而而花花费费CPUCPU太太多多的的机机时时,使使高高速速运运行行的的CPUCPU与与速速度度参参差差不不齐齐的的各各种种外外设设之之间间形形成成了了良良好好的的匹匹配配( (并并行行工工作作) )关系,确保了关系,确保了CPUCPU的高效率。的高效率。缺缺点点: :为为了了实实现现中中断断传传送送,要要求求在在CPUCPU与与外外设设之之间间设设置置中中断断控制器,增加了硬件开销。控制器,增加了硬件开销。第第6章章 输入输入/输出和中断技术输出和中断技术中
20、断控制的输入输出中断控制的输入输出第第6章章 输入输入/输出和中断技术输出和中断技术中断控制的输入输出中断控制的输入输出第第6章章 输入输入/输出和中断技术输出和中断技术直接存储器访问直接存储器访问(DMA)DMADMA控制器从控制器从CPUCPU完全接管对总线的控制,完全接管对总线的控制,数据交换不经过数据交换不经过CPUCPU,而直接在内存和,而直接在内存和I/OI/O设备之间进行。设备之间进行。优点优点: :传送速率很高,这对高速度大批量数传送速率很高,这对高速度大批量数据传送特别有用。据传送特别有用。缺点缺点: :要求设置要求设置DMADMA控制器,电路结构复杂,控制器,电路结构复杂,
21、硬件开销大硬件开销大第第6章章 输入输入/输出和中断技术输出和中断技术直接存储器访问直接存储器访问(DMA)第第6章章 输入输入/输出和中断技术输出和中断技术6.3 中断技术中断技术中断源中断源中断处理过程中断处理过程中断服务子程序中断服务子程序中断系统的功能:中断系统的功能:1 1、正确识别中断请求,实现中断响应、中断处理及中断返、正确识别中断请求,实现中断响应、中断处理及中断返回回2 2、实现中断优先级排队、实现中断优先级排队3 3、实现中断嵌套、实现中断嵌套第第6章章 输入输入/输出和中断技术输出和中断技术中断的分类中断的分类中断分为内部中断和外部中断,每种又包中断分为内部中断和外部中断
22、,每种又包含几种类型,中断时产生一条含几种类型,中断时产生一条INT n指令,指令,n表示不同的表示不同的中断类型号中断类型号。第第6章章 输入输入/输出和中断技术输出和中断技术内部中断和外部中断内部中断和外部中断内部中断(软件中断)内部中断(软件中断)CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断如被如被0除、溢出、除、溢出、INT n等等外部中断(硬件中断)外部中断(硬件中断)CPU以外的设备、部件产生的中断以外的设备、部件产生的中断非屏蔽中断非屏蔽中断如电源掉电、内存奇偶错等故障中断如电源掉电、内存奇偶错等故障中断可屏蔽中断可屏蔽中断如打印机、如打印机、CRT、磁盘等输入
23、输出设备中断、磁盘等输入输出设备中断第第6章章 输入输入/输出和中断技术输出和中断技术中断处理过程中断处理过程中断请求中断请求中断判优中断判优中断响应中断响应中断处理中断处理中断返回中断返回第第6章章 输入输入/输出和中断技术输出和中断技术中断的优先权中断的优先权软件排优软件排优硬件排优硬件排优链式电路判优链式电路判优可编程中断控制器可编程中断控制器第第6章章 输入输入/输出和中断技术输出和中断技术软件查询判优软件查询判优第第6章章 输入输入/输出和中断技术输出和中断技术软件查询判优软件查询判优第第6章章 输入输入/输出和中断技术输出和中断技术查询程序两种安排方式查询程序两种安排方式(1)屏蔽
24、法)屏蔽法MOV DX, 380HIN AL,DXTEST AL, 80HJNZ AlSTEST AL, 40HJNZ BISTEST AL, 20HJNZ CIS (2)位移法)位移法MOV DX, 380HIN AL,DXRCL AL, 1JC AISRCL AL, 1JC BISRCL AL, 1JC CIS 第第6章章 输入输入/输出和中断技术输出和中断技术链式电路判优链式电路判优处于链条前端的优先权更高处于链条前端的优先权更高(p239, 图图6-24)第第6章章 输入输入/输出和中断技术输出和中断技术中断的嵌套中断的嵌套第第6章章 输入输入/输出和中断技术输出和中断技术6.4 80
25、X86/Pentium中断系统中断系统第第6章章 输入输入/输出和中断技术输出和中断技术中断类型中断类型内部中断(软件中断)内部中断(软件中断)除零中断(除零中断(n0)单步中断(单步中断(n1) 条件:条件:TF1且且IF1断点中断(断点中断(n3)溢出中断(溢出中断(n4) 条件:条件:OF1中断指令中断指令 INT n外部中断(硬件中断)外部中断(硬件中断)非屏蔽中断(非屏蔽中断(n2)可屏蔽中断可屏蔽中断 条件:条件:IF1中断优先权(高中断优先权(高低)低) 除零中断、除零中断、INT INT n n、INTOINTO、NMINMI、INTRINTR、单步中断单步中断第第6章章 输入
26、输入/输出和中断技术输出和中断技术中断向量表中断向量表中断向量是中断服务程序中断向量是中断服务程序的入口地址。的入口地址。 把系统中所有的中断向量把系统中所有的中断向量集中起来放到存储器的某集中起来放到存储器的某一区域内,这个存放中断一区域内,这个存放中断向量的存储区就叫向量的存储区就叫中断向中断向量表量表或或中断服务程序入口中断服务程序入口地址表地址表。中断向量表的每一个向量中断向量表的每一个向量的序号就是中断类型号,的序号就是中断类型号,共共256个中断类型。个中断类型。中断向量地址中断类型中断向量地址中断类型号号4中断矢量表地址中断矢量表地址03FFH(1KB)第第6章章 输入输入/输出
27、和中断技术输出和中断技术中断向量表中断向量表中断向量并非常驻内存,而是开机上电时,中断向量并非常驻内存,而是开机上电时,由程序装入内存指定的中断向量表中。由程序装入内存指定的中断向量表中。系统配置和使用的中断所对应的中断向量系统配置和使用的中断所对应的中断向量由系统软件负责装入。由系统软件负责装入。若系统中(如单板机)未配置系统软件,若系统中(如单板机)未配置系统软件,就要由用户自行装入中断向量就要由用户自行装入中断向量。第第6章章 输入输入/输出和中断技术输出和中断技术中断向量表中断向量表例例1:假设中断向量号为:假设中断向量号为60H,中断服务程序的段基址是,中断服务程序的段基址是SEG_
28、INTR,偏移地址是,偏移地址是OFFSET_INTRCLI ;关中断;关中断CLD ;内存地址加;内存地址加1MOV AX,0 MOV ES,AX ;给;给ES赋值为赋值为0MOV DI,60H*4 ;中断向量指针;中断向量指针DIMOV AX,OFFSET_INTR ;中断服务程序偏移值;中断服务程序偏移值AXSTOSW ;AXDIDI+1中,然后中,然后DI2MOV AX,SEG_INTR ;中断服务程序的段基址;中断服务程序的段基址AXSTOSW ;AXDI+2DI+3STI ;关中断;关中断第第6章章 输入输入/输出和中断技术输出和中断技术中断向量表中断向量表例例2:MOV AX,0
29、0HMOV ES,AXMOV BX,60H*4 ;中断号;中断号4BXMOV AX,OFFSET_INTR ;中断服务程序偏移值;中断服务程序偏移值AXMOV ES:BX,AX ;装入偏移地址;装入偏移地址MOV AX,SEG_INTR ;中断服务程序的段基址;中断服务程序的段基址AXMOV ES:BX+2,AX ;装入段基址;装入段基址第第6章章 输入输入/输出和中断技术输出和中断技术中断响应过程中断响应过程内部中断响应过程内部中断响应过程(1 1)将类型号乘)将类型号乘4 4,计算出中断向量的地址,计算出中断向量的地址(2 2)CPUCPU的标志寄存器入栈的标志寄存器入栈(3 3)清除)清
30、除IFIF和和TFTF标志,屏蔽新的标志,屏蔽新的INTRINTR中断和单步中断中断和单步中断(4 4)保存断点,即把断点处的)保存断点,即把断点处的IPIP和和CSCS值压入堆栈,先压入值压入堆栈,先压入CSCS值,再值,再压入压入IPIP值值(5 5)根据第一步计算出来的地址从中断向量表中取出中断服务程序)根据第一步计算出来的地址从中断向量表中取出中断服务程序的入口地址(段和偏移),分别送至的入口地址(段和偏移),分别送至CSCS和和IPIP中中(6 6)转入中断服务程序执行)转入中断服务程序执行特点:特点: 中断由中断由CPUCPU内部引起,中断类型号的获得与外部无关,内部引起,中断类型
31、号的获得与外部无关,CPUCPU不需不需要执行中断响应周期去获得中断类型号要执行中断响应周期去获得中断类型号 除单步中断处,内部中断无法用软件禁止,不受中断允许标志除单步中断处,内部中断无法用软件禁止,不受中断允许标志IFIF的影响的影响 内部中断何时发生是可以预测的,类似于子程序调用内部中断何时发生是可以预测的,类似于子程序调用第第6章章 输入输入/输出和中断技术输出和中断技术中断响应过程中断响应过程非屏蔽中断响应。非屏蔽中断响应。NMI中断不受中断不受IF标志的影响,也不用外部接口给出中断类型号,标志的影响,也不用外部接口给出中断类型号,CPU响响应应NMI中断时也没有中断响应周期。其余处理类似于内部中断中断时也没有中断响应周期。其余处理类似于内部中断 可屏蔽中断响应。可屏蔽中断响应。当当INTR信号有效时,如果中断允许标志信号有效时,如果中断允许标志IF1,则,则CPU就在当前指令执就在当前指令执行完毕后,产生两个连续的中断响应总线周期行完毕后,产生两个连续的中断响应总线周期