jlmao-微机原理-ch7-中断系统-part11_第1页
jlmao-微机原理-ch7-中断系统-part11_第2页
jlmao-微机原理-ch7-中断系统-part11_第3页
jlmao-微机原理-ch7-中断系统-part11_第4页
jlmao-微机原理-ch7-中断系统-part11_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

微型计算机原理与接口技术

—第七章中断系统-part1

2005-04-261KunmingUniversityofScience&TechnologyOutline7.1中断概念7.2中断处理过程7.3中断优先级和中断嵌套7.4可编程中断控制器8259A

2005-04-262KunmingUniversityofScience&Technology7.1中断概念2005-04-263KunmingUniversityofScience&Technology一、中断概念1、中断:当CPU正常执行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,称中断。2、中断源:引起程序中断的事件,称为中断源。3、中断响应:CPU在每条指令的最后一个T周期去检测INTR引脚,若有中断请求,则在IF=1的条件下,响应中断,向外设发出INTA中断响应信号,并保护断点(当前CS、IP和FLAG值入栈),继而转去执行中断服务子程序,中断服务程序执行完毕,返回原程序被中断处继续执行。2005-04-264KunmingUniversityofScience&Technology4、中断向量表:中断服务程序入口地址表。用于引导程序进入中断服务子程序。5、中断优先级:多个中断源请求中断时,CPU响应优先级高的中断,挂起优先级低的中断。6、中断屏蔽:当中断源申请中断时,CPU可以由软件设置,使之不能响应,称为中断屏蔽。2005-04-265KunmingUniversityofScience&Technology二、中断分类8086有256种不同的中断。其分类如下:外部中断:也称为硬件中断由外部设备或协处理器向CPU发出的中断请求。内部中断:又称为软件中断由中断指令或CPU运算中产生的某些错误(如除数为0,运算溢出等)引起,或由调试程序DEBUG设置的中断2005-04-266KunmingUniversityofScience&Technology4#0#1#INTn指令INTO指令除法出错单步(TF=1)非屏蔽中断中断逻辑INTR8259A2#NMI可屏蔽中断n#内部中断8086/8088中断源2005-04-267KunmingUniversityofScience&Technology1、外部中断(硬中断)不可屏蔽中断由CPU的引脚NMI引入,上升沿触发CPU必须响应,不受IF的限制。CPU在指令周期的最后一的T状态采样NMI线,若有中断请求,则响应。紧急事件2号类型中断可屏蔽中断由CPU的引脚INTR引入,向CPU请求中断电平触发,高电平有效,必须保持,直至CPU响应中断。CPU可根据情况选择响应或不响应,受IF的制约,用STI、CLI指令设置。2005-04-268KunmingUniversityofScience&Technology2、内部中断(软中断)中断指令引起中断:INTn运算错误引起中断除法错中断(类型0):除数为0或商超过了寄存器所能表达的范围。溢出中断(类型4):专用指令INTO,若运算中,OF=1,则可由该指令产生中断。DEBUG调试程序设置的中断单步中断(类型1) TF=1时,CPU自动产生单步中断。断点中断(类型3) INT3 或DEBUG中G命令设置断点。 注意:这三种软件中断都是不可屏蔽中断。2005-04-269KunmingUniversityofScience&Technology7.2可屏蔽中断处理过程2005-04-2610KunmingUniversityofScience&Technology一、CPU响应可屏蔽中断过程1、CPU响应可屏蔽中断中断的条件:外设提出中断申请。本中断位未被屏蔽(接口电路中的中断屏蔽触发器决定)。本中断的优先级最高。CPU中断允许(由标志位IF决定)。2005-04-2611KunmingUniversityofScience&Technology2、可屏蔽中断过程:中断请求中断响应保护现场转入执行中断服务子程序恢复现场和中断返回。由CPU自动完成。2005-04-2612KunmingUniversityofScience&Technology3、中断响应过程:CPU响应中断后,对中断接口电路发出两个中断响应信号INTA,中断接口电路收到第二个INTA后,通过数据线向CPU送中断类型号。CPU自动完成如下工作:CPU从数据总线上读取中断类型号Flags进栈。标志IF清0(关中断,屏蔽其它外部中断请求),标志TF清0(关单步中断,以避免CPU以单步方式执行中断处理子程序)。保护断点:当前CS及IP进栈。根据中断类型号,查中断向量表,转中断服务子程序2005-04-2613KunmingUniversityofScience&Technology中断处理程序结束后,从堆栈依次弹出IP,CS,Flags,返回断点处继续执行原来的程序。以上过程中除了中断服务子程序需用户编程实现外,其它部分均由CPU的中断机制自动完成。2005-04-2614KunmingUniversityofScience&Technology响应过程说明通常CPU在当前指令结束后响应中断,但有些指令结束后还要执行下一条指令后才能响应如:LOCK指令(封锁总线,不让其它处理器使用总线) 对段寄存器的MOV或POP指令

STI及IRET

对不可屏蔽中断即使IF=0,由NMI引脚进入的中断请求,CPU也照常可响应。软件中断不受IF标志的影响2005-04-2615KunmingUniversityofScience&Technology二、中断向量表中断向量表在PC系列微机中:0000:0000~0000:03FF256个中断入口地址每个中断入口地址包括段地址和段内位移量,即CS:IP,共占4个字节2005-04-2616KunmingUniversityofScience&Technology中断类型NN×4→→IPN×4+2→→CS2005-04-2617KunmingUniversityofScience&Technology中断类型的获得IntN固定的中断I/O提供的类型号中断向量的设置AH=25HAL=中断类型号DS:DX=中断服务子程序入口地址2005-04-2618KunmingUniversityofScience&Technology中断向量的访问通过INT21H的设置AH=25HAL=中断类型、DS:DX子程序入口地址通过INT21H获取向量AH=35HAL=中断类型、ES:BX获得的入口地址程序直接访问向量表0段0地址开始的1KB区域2005-04-2619KunmingUniversityofScience&Technology中断向量的读取入口: AH=35H AL=中断类型号出口: ES:BX=中断服务子程序入口地址中断类型号的获取内部中断: 除法错 0# 固定

单步或陷阱 1#

断点(INT3) 3#

溢出(INTO) 4# 外部中断: NMI 2#

INTR

由中断接口芯片提供中断类型号中断指令: INTn n即为中断类型号2005-04-2620KunmingUniversityofScience&Technology三、中断服务子程序中断服务子程序的结构说明:保护中断时的现场。用PUSH指令。若允许中断嵌套,用STI开中断。执行中断处理程序。用CLI指令关中断,禁止其它中断请求进入。EOI中断结束命令,使当前正处理的中断请求标志位被清除,否则同级或低级中断的请求仍会被屏蔽。恢复现场。用POP指令。用STI开中断,允许其它中断进入。IRET返回主程序。2005-04-2621KunmingUniversityofScience&Technology四、中断响应的时序CPU发INTACPU发第二个INTA8259A送出中断类型号CPU把中断类型号x4查中断向量表,转中断服务子程序注意:此处强调中断时硬件动作的时间配合。2005-04-2622KunmingUniversityofScience&TechnologyP291图8-68086/8088中断响应总线周期的时序第1个INTA周期CLKT1T2T3T4T1T2T3T4第2个INTA周期ALELOCKINTA中断类型号D7~D0①②2005-04-2623KunmingUniversityofScience&Technology7.3中断优先级和中断嵌套2005-04-2624KunmingUniversityofScience&Technology一、中断优先级中断优先级

内部中断(包括INTn) 高

NMI INTR

单步中断(TF=1) 低 软件查询中断源 查询的次序即为中断源的优先级矢量中断8259A多中断源时要考虑中断优先级及中断嵌套问题2005-04-2625KunmingUniversityofScience&Technology二、对可屏蔽中断的优先级设定方法优先级设定有三种方法:软件查询中断方式根据软件查询程序的次序,决定外设优先级别的高低。硬件查询优先方式——菊花链法矢量中断优先级:采用中断优先级控制器来设置优先级。通常在矢量中断中,IR0的优先级最高,IR7最低。(8259A)2005-04-2626KunmingUniversityofScience&Technology软件查询——依优先次序查询2005-04-2627KunmingUniversityofScience&Technology硬件方式——如:菊花链2005-04-2628KunmingUniversityofScience&Technology向量中断控制器——如:8259中断控制器2005-04-2629KunmingUniversityofScience&Technology三、中断嵌套

[说明]:a.主程序必须有开中断指令STI,

温馨提示

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

评论

0/150

提交评论