




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 第六章 输入输出及中断技术2主要内容n基本概念基本概念n输入输出系统输入输出系统nI/O接口和端口接口和端口n端口的编址方式端口的编址方式n简单接口芯片及其应用简单接口芯片及其应用n基本输入输出方法基本输入输出方法n中断的基本概念及工作过程中断的基本概念及工作过程36.1 输入输出系统4了解和掌握:n接口的基本功能接口的基本功能n端口的概念端口的概念n端口的编址方式端口的编址方式nI/O地址译码地址译码5一、为什么要引入一、为什么要引入I/O接口微机和微机和I/OI/O设备的信息类型和格式可能不一样。设备的信息类型和格式可能不一样。微机和微机和I/OI/O设备信号传输处理的速度可能不匹配。
2、设备信号传输处理的速度可能不匹配。不用接口,不用接口, I/OI/O直接接直接接CPUCPU,随着外设增加,会大大,随着外设增加,会大大降低降低CPUCPU的效率。的效率。I/OI/O直接接直接接CPUCPU,会使外设硬件结构过于依赖,会使外设硬件结构过于依赖CPUCPU,对,对外设本身发展不利。外设本身发展不利。6接口的功能n数据的缓冲与暂存数据的缓冲与暂存n信号电平与类型的转换信号电平与类型的转换n增加信号的驱动能力增加信号的驱动能力n对外设进行监测、控制与管理,中断处理对外设进行监测、控制与管理,中断处理接口的功能7通过寄存器或锁存器实现。存放数据的寄存器或锁存器称之为存放CPU命令代码
3、的寄存器称之为存放执行状态信息的寄存器称之为CPU通过地址译码选择不同外设。即CPU通过地址译码选择不同I/O接口和I/O接口中连接的不同的设备。协调总线信号与I/O设备信号。转换包括信号的逻辑关系、时序配合和电平转换。增加接口的灵活性和智能性。接口的概念8定义:接口是CPU与“外部世界”的连接电路,负责“中 转”各种信息。分类:存储器接口和I/O接口。位置:介于系统总线与外部设备之间。9PS2鼠标PS2键盘千兆网10/100M网卡USB并行口MIDI/游戏接口显示器接口13941394a音箱/线入接口/麦克风串行口10二、二、I/O端口数据端口数据端口状态端口状态端口控制端口控制端口端口端口
4、n电脑“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。11数据信息数据信息是最基本的一种信息。它又包括数据信息是最基本的一种信息。它又包括3 3种:种:p数字量:通常为数字量:通常为8 8位二进制数或位二进制数或ASCIIASCII代码。代码。p模拟量:连续变化的物理量(如温度、压力、流模拟量:连续变化的物理量(如温度、压力、流量、位移、速度等量、位移、速度等p开关量:是一些开关量:是
5、一些“0”0”或或“1”1”两个状态的量,用两个状态的量,用一位一位“0”0”或或“1”1”二进制数表示。一台字长为二进制数表示。一台字长为8 8位位的微机一次输入或输出可控制的微机一次输入或输出可控制8 8个这类物理量。个这类物理量。 12状态信息状态信息是反映外设当前所处工作状态的信息,以作状态信息是反映外设当前所处工作状态的信息,以作为为CPUCPU与外设间可靠交换数据的条件。与外设间可靠交换数据的条件。状态信息在输入与输出时的作用:状态信息在输入与输出时的作用:p当输入时,它告知当输入时,它告知CPUCPU:有关输入设备的数据是否准:有关输入设备的数据是否准备好(备好(Ready=1?
6、Ready=1?););p输出时,它告知输出时,它告知CPUCPU:输出设备是否空闲(:输出设备是否空闲(Busy=0?Busy=0?)。CPUCPU是通过接口电路来掌握输入输出设备的状态,是通过接口电路来掌握输入输出设备的状态,以决定可否输入或输出数据。以决定可否输入或输出数据。 13控制信息控制信息用于控制外设的启动或停止。控制信息用于控制外设的启动或停止。pCPUCPU与外设传送的信息存放在哪里?与外设传送的信息存放在哪里? 存储器或寄存器中,引入端口的概念存储器或寄存器中,引入端口的概念pCPUCPU与外设传送的控制信息与状态信息是不同的与外设传送的控制信息与状态信息是不同的性质的信息
7、,如何将它们区分开?性质的信息,如何将它们区分开? 使用不同的端口,所以接口中有若干的端口,每使用不同的端口,所以接口中有若干的端口,每个端口给予不同的地址个端口给予不同的地址1415I/O端口CPU数据数据状态状态控制控制外设外设I/O接口接口DB16接口和端口接口接口1接口接口2接口接口N端口端口1端口端口2端口端口m端口端口1端口端口1端口端口2端口端口2端口端口m端口端口m端口端口编址编址端口地址端口地址=芯片地址(高位地址)芯片地址(高位地址)+片内地址片内地址17三、I/O端口的编址方式n8086/8088的寻址能力:的寻址能力:n内存:内存:n1MBn端口:端口:n64K个个n编
8、址方式:编址方式:n与内存统一编址与内存统一编址n独立编址独立编址18端口与内存的统一编址特点:特点:n指令及控制信号统一;指令及控制信号统一;n内存地址资源减少内存地址资源减少内存内存地址地址960KBI/O地址地址64KB00000HF0000HFFFFFH19端口的独立编址特点:特点:n内存地址资源充分利用内存地址资源充分利用n能够应用于端口的指令能够应用于端口的指令 较少较少内存内存地址地址I/O地址地址00000HFFFFFHFFFFH0000H20端口的寻址n8088/8086寻址端口数:寻址端口数:n64K个个n寻址端口的信号:寻址端口的信号:nIOR、IOWnA15 A0在输入
9、输出指令中直接写上在输入输出指令中直接写上8位位I/O端口地址号。端口地址号。例:IN AL, 50H ;50H端口的字节读入AL例:OUT 80H, AX ;AX中的内容输出到80H、81H两个端口直接寻址 16/8位I/O端口地址号存入DX,在输入输出指令中写DX,表示从其指示的I/O端口中输入输出数据。例:MOV DX,0050H IN AX, DX ;从DX和DX+1所指的2个端口输入1个字例:例:MOV DX,FF02H MOV DX,FF02H OUT DX, AL OUT DX, AL ;ALAL中的字节输出到中的字节输出到DXDX所指端口中所指端口中注意:16位I/O端口地址必
10、须使用DX寄存器间接寻址间接寻址指令格式:指令格式:IN AL/AX/EAXIN AL/AX/EAX,imm8/DXimm8/DX OUT imm8/DX OUT imm8/DX,AL/AX/EAXAL/AX/EAX例:例:输入字数据输入字数据mov dx,20hmov dx,20h ;间接寻址,字数据输入间接寻址,字数据输入in ax,dxin ax,dxin ax,20h in ax,20h ;直接寻址,字数据输入直接寻址,字数据输入in al,21hin al,21h ;直接寻址,字节数据输入直接寻址,字节数据输入mov ah,almov ah,alin al,20hin al,20h
11、三段功能相同;三段功能相同; 字数据传送实际字数据传送实际上实现了连续的两上实现了连续的两个端口地址的字节个端口地址的字节数据传送。数据传送。输入指令执行过程输入指令执行过程输入输出指令248088/8086的I/O端口编址n采用采用I/O独立编址方式独立编址方式(但地址线与存储器共用但地址线与存储器共用)n地址线上的地址信号用地址线上的地址信号用IO/M来区分来区分nI/O操作只使用操作只使用20根地址线中的根地址线中的16根:根:A15A0n可寻址的可寻址的I/O端口数为端口数为64K(65536)个个nI/O地址范围为地址范围为0FFFFHnIBM PC只使用了只使用了1024个个I/O
12、地址地址(03FFH)25四、I/O地址的译码目的:目的:n确定端口的地址确定端口的地址参加译码的信号:参加译码的信号:nIOR,IOW,高位地址信号高位地址信号nOUT指令将使总线的指令将使总线的IOW信号有效信号有效nIN指令将使总线的指令将使总线的IOR信号有效信号有效26I/O译码的地址信号n当接口只有一个端口时,当接口只有一个端口时,16位地址线一般应位地址线一般应 全部参与译码,译码输出直接选择该端口;全部参与译码,译码输出直接选择该端口;n当接口具有多个端口时,则当接口具有多个端口时,则16位地址线的高位地址线的高 位参与译码(决定接口的基地址),而低位位参与译码(决定接口的基地
13、址),而低位 则用于确定要访问哪一个端口。则用于确定要访问哪一个端口。27I/O地址译码例n某外设接口有某外设接口有4个端口,地址为个端口,地址为2F0H2F3H,由,由A15A2译码得到,而译码得到,而A1、A0用用来区分接口中的来区分接口中的4个端口。试画该接口与系个端口。试画该接口与系统的连接图。统的连接图。28I/O地址译码例n地址范围:地址范围:n 0 0 1 0 1 1 1 1 0 0 0 0n 0 0 1 0 1 1 1 1 0 0 1 1任意状态任意状态A11片内地址片内地址图中不接入图中不接入29I/O地址译码例n译码电路图:译码电路图: 1A1111A1010A1818A3
14、 3A2 2A9 9A7 7A4 4&CEA1 1A0 0接口芯片接口芯片IORIOW&306.2 简单接口电路31掌握:n接口电路的分类及特点;接口电路的分类及特点;n两类简单接口芯片的应用两类简单接口芯片的应用32一、接口的基本构成数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门三态门)数据输出寄存器数据输出寄存器(锁存器锁存器)状态寄存器状态寄存器(or 三态门三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑33接口的基本构成n数据输入数据输入/输出寄存器输出寄存器 暂存输入暂存输入/ /输出的数据,又称数据输入端口、数据输出端口,合
15、成数据端口。输出的数据,又称数据输入端口、数据输出端口,合成数据端口。暂存输入暂存输入/ /输出的数据。输入端口具有三态输出能力;输出常用锁存器实现;输出的数据。输入端口具有三态输出能力;输出常用锁存器实现;n命令寄存器命令寄存器 又称命令端口或控制端口。存放又称命令端口或控制端口。存放CPU发出的控制命令发出的控制命令(信息信息),控制接口的,控制接口的工作方式及功能和控制外设按命令要求动作;工作方式及功能和控制外设按命令要求动作;n状态寄存器状态寄存器 又称状态端口,存放外设或接口的状态信息,供又称状态端口,存放外设或接口的状态信息,供CPU读;读;n译码电路译码电路 CPU执行执行I/O
16、指令时,从地址总线发送指令时,从地址总线发送16位外部设备端口地址,其中高位位外部设备端口地址,其中高位地址线通过译码选中某接口芯片,低位地址线用来选择该接口芯片内不同地址线通过译码选中某接口芯片,低位地址线用来选择该接口芯片内不同端口;端口;n控制逻辑控制逻辑 产生接口内部控制信号和对外控制信号,以协调处理器和外设间的输入产生接口内部控制信号和对外控制信号,以协调处理器和外设间的输入/输输出操作出操作 。 34二、接口的类型及特点n按传输信息的方向分类:按传输信息的方向分类:n输入接口输入接口n输出接口输出接口n按传输信息的类型分类:按传输信息的类型分类:n数字接口数字接口n模拟接口模拟接口
17、n按传输信息的方式分类:按传输信息的方式分类:n并行接口并行接口n串行接口串行接口35接口特点n输入接口:输入接口:n要求对数据具有控制能力要求对数据具有控制能力n常用三态门实现常用三态门实现n输出接口:输出接口:n要求对数据具有锁存能力要求对数据具有锁存能力n常用锁存器实现常用锁存器实现36三、三态门接口n高电平、低电平、高电平、低电平、高阻态高阻态3774LS244 典型芯片74LS244,没有锁存功能的3态8位缓冲器(含含8个三态门)个三态门),3态是:高电平、高电平、低电平、高阻态。当控制端有效时,低电平、高阻态。当控制端有效时,三态门导通,输出等于输入;三态门导通,输出等于输入;否则
18、输出高阻态。否则输出高阻态。例例:编写程序判断下图中的开关编写程序判断下图中的开关状态。如果所有开关都闭合,状态。如果所有开关都闭合,则程序转向标号则程序转向标号NEXT1执行,执行,否则转向标号为否则转向标号为NEXT2执行。执行。 典型应用:开关接口n 接口电路图如下:接口电路图如下:83FCH83FFH译码器MOV DX,83FCHIN AL,DXAND AL,0FFHJZ NEXT1JMP NEXT2所有开关全闭所有开关全闭合转合转NEXT1,否则转否则转NEXT2。39四、锁存器接口n通常由通常由D触发器构成;触发器构成;n特点:特点:n具有对数据的锁存能力;具有对数据的锁存能力;n
19、不具备对数据的控制能力不具备对数据的控制能力74LS273(二态锁存):是一种带清除功能的8D触发器, D0D7为数据输入端,Q0Q7为数据输出端,CP正脉冲(上升沿)触发将Di端数据锁存到Qi端,S低电平清除Qi端。常用作8位地址锁存器或输出接口。 74LS374(三态锁存器):可作输入/输出缓冲器接口。74LS374带了三态门,它比74LS273多了一个输出允许端OE。只有当 OE=0时,74LS374的输出三态门才导通, OE=1时呈高阻态。译译码码器器11.+5VRD0D7CPQ0Q7.D0D7A0A15IOW#74LS273R设该输出接口地址是设该输出接口地址是0FFFFH,则下列程
20、序段的功能?,则下列程序段的功能?NOV DX, 0FFFFHMOV AL, 01000001BOUT DX, AL锁存器芯片74LS273 锁存器芯片74LS374做输出端口做输出端口:三态门三态门一直处于导通状态。一直处于导通状态。做输入端口做输入端口:CP正脉冲锁正脉冲锁存输入数据,译码选中时存输入数据,译码选中时OE=0,CPU读取数据。读取数据。43I/O接口综合应用例n根据开关状态在根据开关状态在7段数码管上显示数字或符号段数码管上显示数字或符号n设输出接口的地址为设输出接口的地址为F0Hn设输入接口地址为设输入接口地址为F1Hn当开关的状态分别为当开关的状态分别为00001111
21、时,在时,在7段数码管段数码管上对应显示上对应显示0F利用74LS244和74LS273作为输入和输出接口,编写程序,根据开关状态根据开关状态在LED数码管显示十六进制数码。 共阳极共阳极7段段LED数码管结构数码管结构(7段码表见下页段码表见下页)符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001O
22、1I1O2I2O3I3O4I4#E1K0K3+5VGG2AG2BCBA1 174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP74068个个反相器反相器74LS273Rx81 174LS138D0D7IOW#IOR#Y0Y1F0H=0000000011110000BF1H=0000000011110001B&1A7A4A15A8A3A2A1A0D0D1D2D3译码电路译码电路Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX, Seg7 ;取;取7段码表基地址段码表基
23、地址MOVAH, 0GO:MOVDX, 0F1H ;开关接口的地址为;开关接口的地址为F1HINAL, DX ;读入开关状态;读入开关状态ANDAL, 0FH ;保留低;保留低4位位MOVSI, AX ;作为;作为7段码表的表内位移量段码表的表内位移量MOVAL, BX+SI;取;取7段码段码MOVDX, 0F0H ;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX, ALJMPGO486.3 基本输入/输出方法49基本输入/输出方法无条件传送无条件传送查询式传送查询式传送中断方式传送中断方式传送直接存储器存取直接存储器存取(DMA)程序控制方式程序控制方式50一、无条件传送 适用于
24、总是适用于总是处于准备好状态处于准备好状态的外设,输入输出指令的的外设,输入输出指令的执行就是数据传送过程;执行就是数据传送过程; 以下外设可采用无条件传送方式:以下外设可采用无条件传送方式:开关;开关;发光器件发光器件(发光二极管、发光二极管、7段数码管、灯泡等段数码管、灯泡等);继电器;继电器;步进电机。步进电机。 优点:软件及接口硬件简单;优点:软件及接口硬件简单; 缺点:只适用于简单外设,适应范围较窄。缺点:只适用于简单外设,适应范围较窄。51无条件传送例n读取开关的状态;读取开关的状态;n当开关闭合时,输出编码使发光二极管亮。当开关闭合时,输出编码使发光二极管亮。DCPQD0D1输出
25、口地输出口地址址38F3H输入口地输入口地址址38F0H+5V153二、查询工作方式n仅当条件满足时才能进行数据传送;仅当条件满足时才能进行数据传送;n每满足一次条件只能进行一次数据传送。每满足一次条件只能进行一次数据传送。n适用场合:适用场合:n外设并不总是准备好外设并不总是准备好n对传送速率和效率要求不高对传送速率和效率要求不高n工作条件:工作条件:n外设应提供设备状态信息外设应提供设备状态信息n接口应具备状态端口接口应具备状态端口READY?READY?进行一次进行一次数据交换数据交换读入并测试外设状态读入并测试外设状态YN传送完传送完?Y结结 束束N每满足一每满足一次条件只次条件只能进
26、行一能进行一次数据传次数据传送送开开 始始查询工作方式流程图查询工作方式流程图超时超时?READY?READY?与外设进与外设进行数据交换行数据交换超时错超时错读入并测试外设状态读入并测试外设状态YNYN传送完传送完?防止死循环防止死循环复位计时器复位计时器NY结结 束束N56查询工作方式例外设状态端口地址为外设状态端口地址为03FBH,第,第5位位(bit5)为状态为状态标志(标志(=1忙,忙,=0准备好)准备好)外设数据端口地址为外设数据端口地址为03F8H,写入数据会使状态,写入数据会使状态标志置标志置1 ;外设把数据读走后又把它置;外设把数据读走后又把它置0。试画出其电路图,并将试画出
27、其电路图,并将DATA下下100B数据输出。数据输出。状态端口状态端口D5D7-D0A9|A31&A15|A1013F8HA2A1A0GG2AG2BCBA74LS138Y01D7-D0CPQ7Q6Q5Q4Q3Q2Q1Q074LS273外外设设D7D6D5D4D3D2D1D0BUSYY33FBHIOWIOR状态端口地址:状态端口地址:0000 0011 1111 1011数据端口地址:数据端口地址:0000 0011 1111 1000 LEA SI,DATA MOV CX,100AGAIN : MOV DX,03FBHWAITT:IN AL,DX TEST AL,20H JNZ WAITT M
28、OV DX,03F8H MOV AL,SI OUT DX,AL INC SI LOOP AGAIN HLT 读状态读状态 进行一次传送进行一次传送Bit5=1?传送完否传送完否? ? 修改地址指针修改地址指针 初始化初始化YNNY 结结 束束控制程序控制程序查询工作方式n优点:优点:n软硬件比较简单软硬件比较简单n缺点:缺点:nCPU效率低,数据效率低,数据传送的实时性差,传送的实时性差,速度较慢速度较慢59YN 1号外设YYYNNN对1号外设服务对2号外设服务对3号外设服务对n号外设服务准备就绪? 2号外设 3号外设 n号外设准备就绪?准备就绪?准备就绪?60三、中断控制方式n特点:特点:n
29、外设在需要时向外设在需要时向CPU提出请求,提出请求,CPU再去为它再去为它 服务。服务结束后或在外设不需要时,服务。服务结束后或在外设不需要时,CPU可可 执行自己的程序。执行自己的程序。n优点:优点:nCPU效率高,实时性好,速度快。效率高,实时性好,速度快。n缺点:缺点:n程序编制相对较为复杂。程序编制相对较为复杂。61以上三种I/O方式的共性n信息的传送均需通过信息的传送均需通过CPUn软件:软件: n外设与内存之间的数据传送是通过外设与内存之间的数据传送是通过CPU执行程序来完执行程序来完成的(成的(PIO方式);方式);n硬件:硬件:nI/O接口和存储器的读写控制信号、地址信号都是
30、由接口和存储器的读写控制信号、地址信号都是由CPU发出的。发出的。n 缺点:缺点:n程序的执行速度限定了传送的最大速度程序的执行速度限定了传送的最大速度62四、DMA控制方式n特点:特点:n外设直接与存储器进行数据交换外设直接与存储器进行数据交换 ,CPU不再担当数不再担当数据传输的中介者;据传输的中介者;n总线由总线由DMA控制器(控制器(DMAC)进行控制()进行控制(CPU要放要放弃总线控制权),内存弃总线控制权),内存/外设的地址和读写控制信号外设的地址和读写控制信号均由均由DMAC提供。提供。这种专门的硬件电路就是这种专门的硬件电路就是DMADMA控制器控制器,简称为,简称为DMAC
31、DMAC。该集。该集成电路产品有成电路产品有Zilog Zilog 公司的公司的Z80-DMAZ80-DMA,IntelIntel公司的公司的82578257,8237A8237A和和MotorolaMotorola的的MC6844MC6844等。等。 63DMA控制方式DMAC外设外设接口接口CPUDRQMEMDACKHOLDHLDABUS控制信号控制信号地址信号地址信号64DMA控制方式的工作过程n外设向外设向DMA控制器发出控制器发出“DMA传送请求传送请求”信号信号 DRQ;nDMA控制器收到请求后,向控制器收到请求后,向CPU发出发出“总线请总线请 求求”信号信号HOLD;nCPU在
32、完成当前总线周期后会立即发出在完成当前总线周期后会立即发出HLDA 信号,对信号,对HOLD信号进行响应;信号进行响应;nDMA控制器收到控制器收到HLDA信号后,就开始控制总信号后,就开始控制总 线,并向外设发出线,并向外设发出DMA响应信号响应信号DACK。658086用用DMA方式传送单个数据方式传送单个数据66DMA控制方式工作过程例n例:从外设向内存传送若干字节数据例:从外设向内存传送若干字节数据nDMAC向向I/O接口发出读信号;接口发出读信号;n向地址总线上发出存储器的地址;向地址总线上发出存储器的地址;n发出存储器写信号和发出存储器写信号和AEN信号;信号;n传送数据并自动修改
33、地址和字节计数器传送数据并自动修改地址和字节计数器n判断是否需要重复传送操作判断是否需要重复传送操作;n若数据传送完,若数据传送完,DMA控制器撤销发往控制器撤销发往CPU的的HOLD信号;信号;nCPU检测到检测到HOLD失效后,则撤销失效后,则撤销HLDA信号,并在下一时信号,并在下一时钟周期重新开始控制总线。钟周期重新开始控制总线。67DMA工作方式n周期窃取:周期窃取:n每个每个DMA周期只传送一个字节或一个字就立即释放周期只传送一个字节或一个字就立即释放总线。总线。n数据块传送:数据块传送:nDMAC在申请到总线后,将一块数据传送完后才释在申请到总线后,将一块数据传送完后才释放总线,
34、而不管中间放总线,而不管中间DREQ是否有效。是否有效。n直接存取方式:直接存取方式:nDMA的数据传送请求直接发到主存储器,在得到响的数据传送请求直接发到主存储器,在得到响应后,整个工作过程在应后,整个工作过程在DMA控制器中由硬件完成。控制器中由硬件完成。周期窃取的DMA方式:NYN允许允许DMADMAC请求总线请求总线CPU响应响应, DMAC获总线控制权获总线控制权DMA传送一个数据传送一个数据块结束?块结束?释放总线至少一个总线周期释放总线至少一个总线周期地址增量,计数器减量地址增量,计数器减量DMAC释放总线释放总线Y测试测试I/O的的DREQ DMA请求?请求?69DMA控制方式
35、n数据传输由数据传输由DMA硬件来控制,数据直接在内硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率。存和外设之间交换,可以达到很高的传输速率。n控制复杂,硬件成本相对较高。控制复杂,硬件成本相对较高。706.4 中断技术71掌握:n中断的基本概念中断的基本概念n中断响应的一般过程中断响应的一般过程n中断向量表及其初始化中断向量表及其初始化n8088/8086中断系统中断系统中断申请主程序中断服中断服务程序务程序返回中断示意图所谓中断,是指这样一个过程:当CPU正在执行程序过程中,由于某一突然突然事件的发生,暂时中止暂时中止正在执行的程序,转去处理突然发生的事件(执行中断服务程
36、序),处理完毕,再返回再返回原来被中止的 程 序 继 续运行。一、中断的基本概念例例1:门铃响时,放下手中正在做的事情,跑去开门,招待客人;客人走后,接着做原来的事情。例例2:教师讲课过程中,同学遇有疑问,不同理解之处,随时向老师提问。74在中断的整个处理过程中,外部事件发出的中断请求和CPU对中断的响应与当前正在执行的指令之间没有任何关系。随机性主程序调用子程序的过程则是程序员事先通过编程,利用CALL指令来实现的,当CPU执行到该指令时,就会转去执行被调用的子程序。确定性 中断与子程序的异同75引入中断的原因n提高数据传输率;提高数据传输率;n避免了避免了CPU不断检测外设状态的过程,提高
37、了不断检测外设状态的过程,提高了CPU的利用率。的利用率。n实现对特殊事件的实时响应。实现对特殊事件的实时响应。76中断源n引起引起CPU中断的事件,发出中断请求的来源。中断的事件,发出中断请求的来源。内部中断内部中断(软中断软中断)外部中断外部中断(硬中断硬中断)异常中断异常中断软件中断软件中断可屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断异常事件引起异常事件引起中断指令引起中断指令引起INTR中断中断NMI中断中断77软件中断软件中断硬件中断硬件中断n软中断通过软中断通过INT n来引发,可屏蔽中断通过来引发,可屏蔽中断通过INTR引脚输入,不可屏蔽中断通过引脚输入,不可屏蔽中断通过NMI引脚引
38、脚输入输入n可屏蔽中断还需要借助专用中断控制器可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理实现优先权管理7879二、外部中断响应的一般过程n中断请求中断请求n中断源识别及中断判优中断源识别及中断判优n中断响应中断响应n中断处理(服务)中断处理(服务)n中断返回中断返回80中断请求n中断请求信号应保持到中断被处理为止;中断请求信号应保持到中断被处理为止;nCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。NMIINTR81中断源的识别n中断源识别及判优由硬件系统完成中断源识别及判优由硬件系统完成nCPU响应响应INTR中断时,会产生两个中断响
39、应总线周期,要求中断时,会产生两个中断响应总线周期,要求PIC在第在第2个中断响应总线周期把中断类型码放到数据总线上,个中断响应总线周期把中断类型码放到数据总线上,供供CPU读入。读入。82中断判优n当有多个中断源同时提出请求时,需要确定当有多个中断源同时提出请求时,需要确定首先响应哪一个中断源。首先响应哪一个中断源。n优先级法则优先级法则n低优先级的中断程序允许被高优先级的中断源低优先级的中断程序允许被高优先级的中断源所中断所中断n排队法则排队法则n先来先响应先来先响应中断嵌套中断嵌套83中断判优n软件判优软件判优n顺序查询中断请求,先查询的先服务顺序查询中断请求,先查询的先服务n即先查询的
40、优先级别高即先查询的优先级别高8485IN AL, PORT_R ; PORT_R是锁存器地址是锁存器地址CLCRCR AL, 1JC INTS01 ; 转向故障处理转向故障处理A1:RCRAL, 1JC INTS02 ; 转向告警处理转向告警处理A2:INTS01:JMPA1INTS02:JMPA286n硬件判优硬件判优n链式判优、并行判优(中断向量法)链式判优、并行判优(中断向量法)87INTAinCPUINTAINTR外设外设1 1外设外设2 2外设接口外设接口1 1菊花链菊花链逻辑电路逻辑电路外设接口外设接口2 2外设外设3 3外设接口外设接口3 311菊花链菊花链逻辑电路逻辑电路菊花
41、链菊花链逻辑电路逻辑电路IREQIREQIREQ中断确认中断确认硬件优先权排队硬件优先权排队-链式判优电路原理图链式判优电路原理图INTAinINTAin中断确认中断确认中断确认中断确认菊花链逻辑电路菊花链逻辑电路INTAinIREQINTR&=1 1INTAoutDB三态门三态门中中断断向向量量码码E外设接口外设接口中断确认中断确认菊花链菊花链逻辑电路逻辑电路89中断响应n向中断源发出向中断源发出INTA中断响应信号;中断响应信号;n关中断关中断n保护硬件现场保护硬件现场n将将FLAGS压入堆栈压入堆栈n保护断点保护断点n将将CS、IP压入堆栈压入堆栈n获得中断服务程序入口地址获得中断服务程
42、序入口地址由由硬硬件件系系统统完完成成90中断处理n执行中断服务子程序执行中断服务子程序n中断服务子程序的特点:中断服务子程序的特点:n为为“远过程远过程”n用用IRET指令返回指令返回91中断服务子程序完成的工作n关中断,保护现场,保护断点,找入口地址关中断,保护现场,保护断点,找入口地址n保护软件现场(参数)保护软件现场(参数)n开中断(开中断(STI)n中断处理中断处理n关中断(关中断(CLI)n恢复现场恢复现场n中断返回中断返回92中断返回n执行执行IRET指令,使指令,使IP、CS和和FLAGS从堆栈弹从堆栈弹出出恢复断点和硬件现场恢复断点和硬件现场中断处理过程流程93中 断 请 求
43、识 别 中 断 源关 中 断保 护 硬 件 现 场保 护 断 点确 定 中 断 服 务程 序 入 口 地 址保 护 软 件 现 场开 中 断执 行 中 断 服 务 程 序关 中 断恢 复 软 件 现 场恢 复 断 点开 中 断中 断 返 回恢 复 硬 件 现 场94三、8086/8088的中断系统 n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、INTAn8086系统的中断源(系统的中断源(256个)个)n内部中断内部中断n软件中断:即软件中断:即INT n指令,类型号指令,类型号n(0-255)。n除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。n单步中断:类型号1
44、,TF=1时产生(当前指令需执行完)n断点中断:类型号3,这是一个软件中断,即INT 3指令。n溢出中断:类型号4,这是一个软件中断,即INTO指令。n外部中断外部中断n非屏蔽中断非屏蔽中断NMI:类型号:类型号2,不可用软件屏蔽,不可用软件屏蔽,CPU必须必须响应它。响应它。n可屏蔽中断可屏蔽中断INTR:类型号由:类型号由PIC提供。提供。IF=1时时CPU才能才能响应。响应。95中断源优先级除法出错中断最高最低软件中断 INT n溢出中断 INTO非屏蔽中断 NMI可屏蔽中断 INTR单步中断NMIINTR中断逻辑中断逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中
45、断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断可可屏屏蔽蔽中中断断请请求求n430128086/8088中断源类型:中断源类型:除法溢出中断n在执行除法指令时,若除数为在执行除法指令时,若除数为0或商超过了寄存器或商超过了寄存器所能表达的范围,则产生一个所能表达的范围,则产生一个向量号为向量号为0的内部中的内部中断,称为断,称为除法溢出中断除法溢出中断例如:例如:MOV BL,0IDIV BL;除数;除数BL0,产生除法溢出中断,产生除法溢出中断MOV AX,200HMOV BL,1DIV BL
46、;商;商200H,不能用,不能用AL表达表达;产生除法溢出中断;产生除法溢出中断指令软中断n在执行中断调用指令在执行中断调用指令INT n时产生的一个时产生的一个向量号向量号为为n(0 255)的内部中断,称为)的内部中断,称为指令中断指令中断n其中其中向量号为向量号为3的指令中断比较特别(生成一个的指令中断比较特别(生成一个字节的指令代码:字节的指令代码:11001100),常用于程序调试),常用于程序调试,被称为,被称为断点中断断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的溢出中断n在执行溢
47、出中断指令在执行溢出中断指令INTO时,若溢出标志时,若溢出标志OF为为1,则产生一个,则产生一个向量号为向量号为4的内部中断,被称为的内部中断,被称为溢出溢出中断中断例如:例如:MOV AX,2000HADD AX, 7000H;2000H7000H9000H,溢出:,溢出:OF1INTO ;因为;因为OF1,所以产生溢出中断,所以产生溢出中断单步中断n若单步中断若单步中断TF为为1,则在每条指令执行结束后产,则在每条指令执行结束后产生一个向量号为生一个向量号为1的内部中断,称为单步中断的内部中断,称为单步中断例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步
48、中断实现对程序的单步调试用单步中断实现对程序的单步调试不可屏蔽中断n通过不可屏蔽中断请求信号向微处理器提出的通过不可屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为不可屏蔽执行结束予以响应,这个中断被称为不可屏蔽中断中断n8086的不可屏蔽中断的向量号为的不可屏蔽中断的向量号为2,不可屏蔽,不可屏蔽中断请求信号为中断请求信号为NMIn不可屏蔽中断主要用于处理系统的意外或故障不可屏蔽中断主要用于处理系统的意外或故障。例如:。例如:n电源掉电前的数据保护电源掉电前的数据保护n存储器读写错误的处理存储器读
49、写错误的处理可屏蔽中断n外部通过可屏蔽中断请求信号向微处理器提出的中断外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断这个中断就是可屏蔽中断n8086的可屏蔽中断请求和响应信号分别是的可屏蔽中断请求和响应信号分别是INTR和和INTA*;由由IF标志控制可屏蔽中断是否允许响应(标志控制可屏蔽中断是否允许响应(CLI或或STI);向量号来自外部中断控制器向量号来自外部中断控制器n8086通常需要
50、配合中断控制器通常需要配合中断控制器8259A共同处理可屏蔽共同处理可屏蔽中断中断n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据103中断向量:中断向量:是中断处理子程序的入口地址,每个中断是中断处理子程序的入口地址,每个中断类型对应一个中断矢量类型对应一个中断矢量中断中断中断向量码代号中断向量码代号 (0255) 中断服务程序中断服务程序 中断向量表:中断向量表:在内存中,开辟一个区域存放中断服务程在内存中,开辟一个区域存放中断服务程序的入口地址的表。对于序的入口地址的表。对于80868086,这个区域的首地址,这个区域的首地址00000H00000H(固定)(固
51、定)中断向量表10410500000H003FFH1KBn每个入口占用每个入口占用4 Bytes,低字为段内偏移,高低字为段内偏移,高 字为段基址;字为段基址;n表的地址位于内存的表的地址位于内存的00000H003FFH,大小为大小为1KB,共,共256个入口。个入口。1067078086中断向量表80868086中断矢量表的初始化中断矢量表的初始化格式格式: MOV DX,OFFSET INT ;中断服务程序偏移量;中断服务程序偏移量DXMOV AX,SEG INTMOV DS,AXMOV AL,n ;中断矢量号;中断矢量号nALMOV AH,25H ;功能号;功能号25HAHINT 21
52、H 方法一方法一:采用:采用DOS系统功能调用,即系统功能调用,即INT 21H的的25H号号(设置中断向量设置中断向量)功能调用功能调用;中断服务程序段地址;中断服务程序段地址AX已知已知:某一中断服务程序的入口地址为:某一中断服务程序的入口地址为INT(逻辑地址)(逻辑地址)方法二方法二:直接将中断服务程序的入口地址装入中断矢量:直接将中断服务程序的入口地址装入中断矢量 表中表中MOVAX, 0MOVES, AXMOVDI, n;中断矢量号;中断矢量号n DISHLDI, 1;n 2SHLDI, 1;n 4MOVAX, OFFSET INT;中断服务程序的偏移量;中断服务程序的偏移量AXM
53、OVBX, SEG INT ;中断服务程序的段基址;中断服务程序的段基址BXMOVES: DI, AX;中断服务程序的偏移量;中断服务程序的偏移量矢量表矢量表MOVES: DI+2, BX;中断服务程序的段基址;中断服务程序的段基址矢量表矢量表已知已知:某一中断矢量号为:某一中断矢量号为n,中断服务程序的入口地址为,中断服务程序的入口地址为INT(逻辑地址)(逻辑地址)常用的常用的BIOSBIOS中断调用中断调用特点特点: BIOS中断调用要比中断调用要比DOS中断调用复杂些,但运中断调用复杂些,但运行速度快,功能更强些行速度快,功能更强些 BIOS中断调用颇具特色的是显示中断子程序,其矢中断
54、调用颇具特色的是显示中断子程序,其矢量号是量号是10H(1)设置)设置显示方式显示方式矢量号:矢量号: 10H功能号:功能号: AH0入口参数:入口参数:AL常用显示方式号(常用显示方式号(06) 显示方式号显示方式号 显示方式显示方式 0 40列列25行黑白文本方式行黑白文本方式 1 40列列25行彩色文本方式行彩色文本方式 2 80列列25行黑白文本方式行黑白文本方式 3 80列列25行彩色文本方式行彩色文本方式 4 320列列200行黑白图形方式行黑白图形方式 5 320列列200行彩色图形方式行彩色图形方式 6 640列列200行黑白图形方式行黑白图形方式注意注意:对于高分辨率,只支持
55、黑白显示:对于高分辨率,只支持黑白显示例例:屏幕设置成:屏幕设置成8025彩色文本方式彩色文本方式程序程序: MOVAH,0;设功能号;设功能号 MOVAL,3 ;设显示方式;设显示方式 INT10H(2)设置)设置光标位置光标位置矢量号:矢量号: 10H功能号:功能号: AH2入口参数:入口参数: BH页号,通常取页号,通常取0页页 DH行号,取值行号,取值024 DL列号,对于列号,对于40列文本,取值列文本,取值039 对于对于80列文本,取值列文本,取值079程序程序:MOVBH, 0MOVDH, 10MOVDL, 30MOV AH, 2INT10H例例:将光标置在第:将光标置在第10
56、行行30列列(3)在当前光标处写)在当前光标处写字符字符和和属性属性 矢量号:矢量号: 10H 功能号:功能号: AH9 入口参数:入口参数: BH页号页号 AL显示字符的显示字符的ASCII码码 BL属性属性 CX重复显示的次数重复显示的次数L位位为为1时表示背景闪烁,否则不闪时表示背景闪烁,否则不闪I位位为为1时表示前景为高亮度,否则为一般亮度时表示前景为高亮度,否则为一般亮度文本方式文本方式16种颜色的组合种颜色的组合例例:用兰色清屏,然后在第:用兰色清屏,然后在第10行行30列显示列显示20个红底白字个红底白字A程序程序:MOVAL, 0 ;AL=0时,清屏参数时,清屏参数 MOVBL
57、, 10H ;蓝色背景,无闪烁,属性;蓝色背景,无闪烁,属性BL MOVAH, 6 ;清屏功能号;清屏功能号6 MOVCX, 0 ;从;从0行到行到0列列MOVDH, 24 ;到;到24行行MOVDL, 79 ;79列列INT10H ;清屏幕;清屏幕MOVAH, 2MOVBH, 0 ;页号;页号MOV DH, 10MOVDL, 30INT10H ;光标设置在第;光标设置在第10行行30列列MOVAL, AMOVCX, 20 ;重复显示;重复显示20个字符个字符AMOVBH, 0 ;页号;页号MOVBL, 4FH ;属性;属性BL,红底,白字,红底,白字MOVAH, 9INT10H ;显示;显示
58、20个字母个字母A(4)设置)设置图形方式显示图形方式显示的背景和彩色组的背景和彩色组矢量号:矢量号:10H功能号:功能号:AH0BH入口参数:入口参数:当当BH0时,时,BL背景颜色,范围背景颜色,范围015 当当BH1时,时,BL颜色组,颜色组, 范围范围01: 0表示绿表示绿/红红/黄,黄,1表示青表示青/品红品红/白白矢量号:矢量号:14H功能号:功能号:AH0H入口参数:入口参数:AL初始化参数,初始化参数,DX0表示对表示对COM1初初 始化;始化;DX=1表示对表示对COM2初始化初始化(5)串行通信口串行通信口初始化初始化位位7、6、5表示波特率:表示波特率:0 0 0 110
59、 波特波特0 0 1 150 波特波特0 1 0 300 波特波特0 1 1 600 波特波特1 0 0 1200波特波特1 0 1 2400波特波特1 1 0 4800波特波特1 1 1 9600波特波特位位4、3表示奇偶校验设定:表示奇偶校验设定:00无奇偶校验无奇偶校验01奇校验奇校验11偶校验偶校验位位2表示停止位数设定表示停止位数设定01位停止位位停止位12位停止位位停止位位位1、0表示通信数据位数设定表示通信数据位数设定107位数据通信位数据通信118位数据通信位数据通信117例例: 键盘中断的矢量号为键盘中断的矢量号为09H,它的中断服务程序入口,它的中断服务程序入口地址为地址为
60、0BA9H:0125H,求它在中断矢量表中的地址,求它在中断矢量表中的地址及相应单元内容及相应单元内容 解解:键盘中断对应的中断矢量表位于:键盘中断对应的中断矢量表位于0000:0024H (09H4=24H)开始的开始的4单元单元 这这4个单元的内容见表个单元的内容见表:1188088内部中断与NMI中断特点:特点:n无INTA周期周期n中断类型码固定或由指令给出中断类型码固定或由指令给出8088/8086的中断响应和处理流程NYNYNNNNNYY执行指令执行完否?取指令IF=1?内部中断?NMI?INTR?TF=1?类型码=0255类型码=2类型码=1中断响应,读回类型码FLAG入栈TEM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国半乳浊无光釉数据监测研究报告
- 2025年消防设施操作员之消防设备基础知识考前冲刺试卷B卷含答案
- 2023-2024学年广东省广州市天河区天省实验学校七年级(下)月考数学试卷(含答案)
- 2021-2022学年广东省广州市越秀区培正中学七年级(下)期中数学试卷(含答案)
- 2025年大学英语六级考试模拟试卷一
- 院感消毒知识培训课件
- 个人委托信息咨询服务合同
- 物理实验课教案:《力学实验操作技巧》
- 湖北省部分名校2024-2025学年高三上学期1月期末地理试题 含解析
- 吉林省长春市榆树市2024-2025学年八年级上学期期末生物学试题(含答案)
- 小学生中国舞课件大全
- 《Spring框架》教学课件
- 书法教案(高级)
- 《10万级净化车间标准》(2015版)
- 俞敏洪四级词汇词根联想记忆法乱序wordlist
- 公路工程试验常规检测项目、检测标准、检测频率、取样方法(标准版)
- M10砂浆配合比计算书(共3页)
- 服装测量方法及图示
- 液压挖掘机反铲工作装置设计论文
- 大连理工大学机械制图习题集答案
- 24种积极心理品质精编版
评论
0/150
提交评论