微机技术第08章中断控制接口.ppt
《微机技术第08章中断控制接口.ppt》由会员分享,可在线阅读,更多相关《微机技术第08章中断控制接口.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 8 8 章章第第8 8章章 中断控制接口中断控制接口教学重点n 8088 CPU的中断系统的中断系统n 8259A的中断工作过程和工作方式的中断工作过程和工作方式n 中断服务程序的编写中断服务程序的编写8.1 8088中断系统n8088的中断系统采用向量中断机制的中断系统采用向量中断机制n能够处理能够处理256个中断个中断n用中断向量号用中断向量号0255区别区别n可可屏屏蔽蔽中中断断还还需需要要借借助助专专用用中中断断控控制制器器Intel 8259A实现优先权管理实现优先权管理8.1.1 8088的中断类型非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除
2、法错误错误INT N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTAn内部中断内部中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n单步中断单步中断n外部中断外部中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断1.内部中断n内内部部中中断断是是由由于于8088内内部部执执行行程程序序出出现现异异常引起常引起的程序中断的程序中断n利利用用内内部部中中断断,微微处处理理器器为为用用户户提提供供了了发发现现、调调试试并并解解决决程程序序执执行行时时异异常常情情况况的的有有效途
3、径效途径n例例如如,ROM-BIOS和和DOS系系统统利利用用内内部部中中断为程序员提供了各种功能调用断为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定 除法错中断n在在执执行行除除法法指指令令时时,若若除除数数为为0或或商商超超过过了了寄寄存存器器所所能能表表达达的的范范围围,则则产产生生一一个个向向量量号为号为0的内部中断,称为除法错中断的内部中断,称为除法错中断例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;
4、产生除法错中断 指令中断n在在执执行行中中断断调调用用指指令令INT n时时产产生生的的一一个个向向量量号号为为n(0 255)的的内内部部中中断断,称称为为指令中断指令中断n其其中中向向量量号号为为3的的指指令令中中断断比比较较特特别别(生生成成一一个个字字节节的的指指令令代代码码:11001100),常常用用于程序调试,被称为断点中断于程序调试,被称为断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的 溢出中断n在在执执行行溢溢出出中中断断指指令令INTO时时,若若溢溢出出标标志志OF为为1,则
5、则产产生生一一个个向向量量号号为为4的的内内部部中中断断,被称为溢出中断被称为溢出中断例如:例如:mov ax,2000hadd ax,7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产生溢出中断,所以产生溢出中断单步中断n若若单单步步中中断断TF为为1,则则在在每每条条指指令令执执行行结结束束后后产产生生一一个个向向量量号号为为1的的内内部部中中断断,称称为为单步中断单步中断例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试2.外部中断n外外部部中中断断是是由
6、由于于8088外外部部提提出出中中断断请请求求引引起起的程序中断的程序中断n利利用用外外部部中中断断,微微机机系系统统可可以以实实时时响响应应外外部部设设备备的的数数据据传传送送请请求求,能能够够及及时时处处理理外外部意外或紧急事件部意外或紧急事件n外外部部中中断断的的原原因因是是处处理理器器外外部部随随机机产产生生的的,所以是真正的所以是真正的中断中断(Interrupt)n内内部部中中断断的的原原因因是是处处理理器器执执行行程程序序出出现现异异常,所以经常被称为常,所以经常被称为异常异常(Exception)非屏蔽中断n通通过过非非屏屏蔽蔽中中断断请请求求信信号号向向微微处处理理器器提提出
7、出的的中中断断请请求求,微微处处理理器器无无法法禁禁止止,将将在在当当前前指指令令执执行行结结束束予予以响应,这个中断被称为非屏蔽中断以响应,这个中断被称为非屏蔽中断n8088的的非非屏屏蔽蔽中中断断的的向向量量号号为为2,非非屏屏蔽蔽中中断断请请求求信号为信号为NMIn非屏蔽中断主要用于处理系统的意外或故障。例如:非屏蔽中断主要用于处理系统的意外或故障。例如:n电源调电前的数据保护电源调电前的数据保护n存储器读写错误的处理存储器读写错误的处理 可屏蔽中断n外外部部通通过过可可屏屏蔽蔽中中断断请请求求信信号号向向微微处处理理器器提提出出的的中中断断,微微处处理理器器在在允允许许可可屏屏蔽蔽中中
8、断断的的条条件件下下,在在当当前前指指令令执执行行结结束束予予以以响响应应,同同时时输输出出可可屏屏蔽蔽中中断响应信号,这个中断就是可屏蔽中断断响应信号,这个中断就是可屏蔽中断n8088的的可可屏屏蔽蔽中中断断请请求求和和响响应应信信号号分分别别是是INTR和和INTA*;由由IF标标志志控控制制可可屏屏蔽蔽中中断断是是否否允允许许响响应应;向量号来自外部中断控制器向量号来自外部中断控制器n8088通通常常需需要要配配合合中中断断控控制制器器8259A共共同同处处理理可可屏屏蔽中断蔽中断n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据IF控制可屏蔽中断的响应控制可屏蔽
9、中断的响应中断标志IF的状态nIF0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n执行指令执行指令CLI,使,使IF0nIF1:可屏蔽中断会被响应:可屏蔽中断会被响应n开中断、允许中断、中断开放开中断、允许中断、中断开放n执行指令执行指令STI,使,使IF1n执行指令执行指令IRET恢复原恢复原IF状态状态明确明确IF标志的状态是关键标志的状态是关键8.1.2 8088的中断响应过程NMIN软件中断软件中断INTRTF=1中断响应周期中断响应周期读中断向量号
10、读中断向量号下条指令下条指令现行指令现行指令IF1NNNNYYYYY查询中断的顺序,查询中断的顺序,决定了各种中断源的优先权决定了各种中断源的优先权n软件中断软件中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断n单步中断单步中断高高低低8.1.2 8088的中断响应过程(续)Y还有还有NMITEMP1标志寄存器入栈标志寄存器入栈TEMPTF,IFTF0CS:IP入栈入栈获取中断向量获取中断向量执行服务程序执行服务程序弹出弹出CS:IP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序(1)(2)(3)(4)(5)NNY(6)n80
11、88各种中断源的优先权,各种中断源的优先权,实际上是指被识别出来的先后实际上是指被识别出来的先后n多种中断同时请求时,多种中断同时请求时,最先响应的则可能是最先响应的则可能是单步中断或单步中断或NMI中断中断8.1.3 8088的中断向量表n中断向量:中断服务程序的入口地址(首地址)中断向量:中断服务程序的入口地址(首地址)n逻辑地址含有段地址逻辑地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每每个个中中断断向向量量的的低低字字是是偏偏移移地地址址、高高字字是是段段地地址址,需占用需占用4个字节个字节n8088微微处处理理器器从从物物理理地地址址000H开开始始,依依次次安安排排各
12、各个中断向量,向量号也从个中断向量,向量号也从0开始开始n256个中断占用个中断占用1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的的中断向量的物理地址物理地址N48.2 内部中断服务程序n编写内部中断服务程序与编写子程序类似编写内部中断服务程序与编写子程序类似n利用过程定义伪指令利用过程定义伪指令PROC/ENDPn第第1条指令通常为开中断指令条指令通常为开中断指令STIn最后用中断返回指令最后用中断返回指令IRETn通常采用寄存器传递参数通常采用寄存器传递参数n主程序需要调用中断服务程序主程序需要调用中断服务程序n调用前,需要设置中断向量调用前,需要设置中断
13、向量n利用利用INT n指令调用中断服务程序指令调用中断服务程序例8.1 内部中断服务程序n编写编写80H号中断服务程序号中断服务程序n功能:显示以功能:显示以“0”结尾字符串的功能结尾字符串的功能n利用显示器功能调用利用显示器功能调用INT 10Hn字符串缓冲区首地址为入口参数字符串缓冲区首地址为入口参数nDS:DX(段地址:偏移地址)传递参数(段地址:偏移地址)传递参数数据段intoffdw?intsegdw?intmsg db A Instruction Interrupt!db 0dh,0ah,0例8.1以以“0”结尾结尾回车、换行回车、换行保存中断向量mov ax,3580hint
14、21hmov intoff,bx;保存偏移地址保存偏移地址mov intseg,es;保存段基地址保存段基地址例8.1获取中断向量(获取中断向量(DOS功能调用功能调用INT 21H)功能号:功能号:AH35H入口参数:入口参数:AL中断向量号中断向量号出口参数:出口参数:ES:BX中断向量(段地址:偏移地址)中断向量(段地址:偏移地址)设置中断向量push dsmov dx,offset new80hmov ax,seg new80hmov ds,axmov ax,2580hint 21hpop ds例8.1设置中断向量(设置中断向量(DOS功能调用功能调用INT 21H)功能号:功能号:A
15、H25H入口参数:入口参数:AL中断向量号中断向量号DS:DX中断向量(段地址:偏移地址)中断向量(段地址:偏移地址)调用中断服务程序;设置入口参数:;设置入口参数:DS段地址(已设置)段地址(已设置)DX偏移地址偏移地址mov dx,offset intmsgint 80h;调用;调用80H中断服务程序中断服务程序例8.1A Instruction Interrupt!;80H号内部中断服务程序:号内部中断服务程序:;显示字符串(以;显示字符串(以“0”结尾)结尾);入口参数:;入口参数:DS:DX缓冲器首地址缓冲器首地址new80h procsti;开中断开中断push ax;保护寄存器保
16、护寄存器push bxpush si例8.1进入中断服务程序A Instruction Interrupt!显示字符串mov si,dxnew1:mov al,sicmp al,0jz new2mov bx,0mov ah,0ehint 10hinc sijmp new1例8.1A Instruction Interrupt!退出中断服务程序new2:pop si;恢复寄存器恢复寄存器pop bxpop axiret;中断返回中断返回new80h endp例8.1A Instruction Interrupt!主程序结束mov dx,intoffmov ax,intsegmov ds,axmo
17、v ax,2580hint 21hmov ax,4c00hint 21h例8.1A Instruction Interrupt!8.3 8259A中断控制器nIntel 8259A是可编程中断控制器是可编程中断控制器PICn可可用用于于管管理理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断的可屏蔽中断n8259A的基本功能的基本功能n一片一片8259A可以管理可以管理8级中断,可扩展至级中断,可扩展至64级级n每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许n在中断响应周期,可提供相应的中断向量号在中断响应周期,可提供相应的中断向量号n825
18、9A设计有多种工作方式,可通过编程选择设计有多种工作方式,可通过编程选择8.3.1 8259A的内部结构和引脚D7D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优优先先权权判判别别电电路路中中断断服服务务寄寄存存器器控制逻辑控制逻辑1.中断控制n中断请求寄存器中断请求寄存器IRRn保存保存8条外界中断请求信号条外界中断请求信号IR0IR7的请求状态的请求状态nDi位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;
19、为0表示无请求表示无请求n中断服务寄存器中断服务寄存器ISRn保存正在被保存正在被8259A服务着的中断状态服务着的中断状态nDi位为位为1表示表示IRi中断正在服务中;为中断正在服务中;为0表示没有被服务表示没有被服务n中断屏蔽寄存器中断屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许2.与处理器接口 A0 RD*WR*CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1写入写入ICW1、OCW2和和OCW3写入写入ICW2ICW
20、4和和OCW1读出读出IRR、ISR和查询字和查询字读出读出IMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态3.中断级连n一一个个系系统统中中,8259A可可以以级级连连,有有一一个个主主8259A,若干个(最多若干个(最多8个)从个)从8259An级级连连时时,主主8259A的的三三条条级级连连线线CAS0CAS2作作为输出线,连至每个从为输出线,连至每个从8259A的的CAS0CAS2n每每个个从从8259A的的中中断断请请求求信信号号INT,连连至至主主8259A的一个中断请求输入端的一个中断请求输入端IRn主主8259A的的INT线连至线连至CPU的中断请求输入端
21、的中断请求输入端nSP*/EN*在在非非缓缓冲冲方方式式下下,规规定定该该8259A是是主主片片(SP*1)还是从片()还是从片(SP*0)动画动画示例示例8.3.2 8259A的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个前保持为高电平第一个前保持为高电平 INTALOCK动画动画8.3.3 8259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方
22、式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束中断处理方式屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式1.设置优先权方式n普通全嵌套方式普通全嵌套方式n8259A的的中中断断优优先先权权顺顺序序固固定定不不变变,从从高高到到低低依依次次为为IR0、IR1
23、、IR2、IR7n中中断断请请求求后后,8259A对对当当前前请请求求中中断断中中优优先先权权最最高高的的中中断断IRi予予以以响响应应,将将其其向向量量号号送送上上数数据据总总线线,对对应应ISR的的Di位置位,至到中断结束(位置位,至到中断结束(ISR的的Di位复位)位复位)n在在ISR的的Di位位置置位位期期间间,禁禁止止再再发发生生同同级级和和低低级级优优先先权权的中断的中断,但允许高级优先权中断的嵌套,但允许高级优先权中断的嵌套n特殊全嵌套方式特殊全嵌套方式n优先权自动循环方式优先权自动循环方式n优先权特殊循环方式优先权特殊循环方式2.结束中断处理方式什么是什么是8259A的中断结束
24、?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断服务;,表示正在进行中断服务;n该位为该位为0,就是该中断结束服务。,就是该中断结束服务。这里说明如何使这里说明如何使ISR某位为某位为0,不反映不反映CPU的工作状态。的工作状态。2.结束中断处理方式n自动中断结束方式自动中断结束方式n普通中断结束方式普通中断结束方式n配合全嵌套优先权方式使用配合全嵌套优先权方式使用n当当CPU用用输输出出指指令令往往8259A发发出出普普通通中中断断结结束束EOI命命令令时时,8259A就就会会把把所所有有正正在在服服务务的的中中断中优先权最高的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 技术 08 中断 控制 接口
限制150内