第6章中断技术.ppt_第1页
第6章中断技术.ppt_第2页
第6章中断技术.ppt_第3页
第6章中断技术.ppt_第4页
第6章中断技术.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、1/32,中断技术,第6章,2,6.1 中断概述,中断,是CPU在执行当前程序的过程中,由于某种随机出现的外围设备的请求,使得CPU暂时停止正在执行的程序,转去执行为外围设备服务的程序,当为外围设备服务的程序执行完后,CPU再返回到原暂时停止的程序处(即断点)继续执行的这一过程。 中断示意图,中断的基本概念,3,凡是能发出中断请求的外部设备及内部原因(包括软件中断和异常故障)被称为中断源。常见的中断源有: 外设中断:系统外设要求与CPU交换信息而产生的中断。如打印机、磁盘等。 指令中断:为方便用户使用系统资源或调试程序而设置的中断指令。 程序中断:程序在运行过程中出现的多种错误而产生的中断。如

2、溢出中断、非法除数中断、地址越界中断、非法操作码中断等。 故障中断:机器在运行过程中,硬件出现错误而引起的中断。如校验错、电源故障等。,6.1 中断概述,中断源,4,CPU响应中断的条件: 设置中断请求触发器(发出中断) 设置中断屏蔽触发器(屏蔽中断) 设置中断允许触发器(允许中断) CPU在现行指令结束后响应中断 具有中断屏蔽功能的接口电路示例,6.1 中断概述,中断响应与中断处理,5,中断响应与中断处理过程: 关中断 保护断点 识别中断源 保护现场 中断服务 恢复现场 开中断与返回,6.1 中断概述,中断响应与中断处理,6,中断优先级(Priority),又称优先权,即在多个中断源同时请求

3、中断时,确定服务的次序。解决中断的优先级的方法常有以下几种: 软件查询确定中断优先级(原理图) 硬件查询确定优先级(链式优先级排队原理图) 中断优先级编码电路(由编码器和比较器构成的优先级排队电路原理图),6.1 中断概述,中断优先级与中断嵌套,7,中断嵌套,或称多重中断,即当CPU执行优先级较低的中断服务程序时,允许响应比它优先级高的中断源请求中断,而挂起正在处理的中断。 多个中断源、单一中断请求线的多重中断流程,6.1 中断概述,中断优先级与中断嵌套,8,可屏蔽中断INTR 8086/8088的中断时序 不可屏蔽中断NMI(中断类型码固定为2),用于通知CPU发生了“灾难性”的事件,如电源

4、掉电、存储器读写错误、总线奇偶位出错等 。,6.2 8086的中断系统,外部中断,9,溢出中断(4号中断) 除法出错中断(0号中断) INT n指令中断 断点中断(3号中断) 单步(陷阱)中断(1号中断),6.2 8086的中断系统,内部中断,10,中断向量:是中断服务程序的入口地址,包括中断服务程序的段基址CS和偏移地址IP(共占4个字节)。 中断向量表:是存放中断向量的表格,它存放在存储器的最低端,共1KB,存放256个中断向量。 向量地址:是在中断向量表中,每个中断向量在存储空间上的最低地址,是将中断类型码乘4以获取。 8086/8088的中断向量表结构,6.2 8086的中断系统,中断

5、向量与中断向量表,11,(1)保护断点。即把当前标志寄存器PSW、代码段寄存器CS和指令指针寄存器IP的内容压入堆栈: (SP)(SP)- 2 (SP)+1,(SP)(PSW) (SP)(SP)- 2 (SP)+1,(SP)(CS) (SP)(SP)- 2 (SP)+1,(SP)(IP),6.2 8086的中断系统,中断控制转入操作,12,(2)清除IF和TF,即IF0,TF0,以便禁止其它可屏蔽中断和单步中断 (3)获取中断向量。将中断类型码乘以4获得向量地址,根据向量地址查找中断向量表后,将对应的中断向量放入CS和IP,从而将控制转入中断服务程序: (IP)0000H:4N (CS)000

6、0H:4N2,6.2 8086的中断系统,中断控制转入操作,13,在中断服务程序执行完后,最后要执行一条中断返回指令IRET,将原压入堆栈的标志和断点重又弹回原处: (IP)(SP)+1,(SP) (SP)(SP)+ 2 (CS)(SP)+1,(SP) (SP)(SP)+ 2 (PSW)(SP)+1,(SP) (SP)(SP)+ 2,6.2 8086的中断系统,中断返回操作,14,【例】某外设中断类型号为13H,它的中断服务程序的入口地址为0070H:0FC9H,求其向量地址并具体描述中断向量的各字节在存储器中的存储情况。 【解】由13H4=4CH,可得中断类型号为13H的向量地址为0000H

7、:004CH,该中断向量在向量表中的具体存储情况如下: (0000H:004CH)=C9H (0000H:004DH)=0FH (0000H:004EH)=70H (0000H:004FH)=00H,6.2 8086的中断系统,15,INTER1PROCFAR PUSHAX;保护现场 PUSHBX ;中断服务程序 STI;开中断,以便允许多重中断 ;继续执行中断服务程序 (发中断结束命令);中断控制器8259A所要求的 POPBX;恢复现场 POPAX IRET;中断返回 INTER1ENDP,6.2 8086的中断系统,中断服务程序格式,16,中断向量并非常驻内存,而是开机上电时,由程序装入

8、内存指定的中断向量表中。系统配置和使用的中断所对应的中断向量由系统软件负责装入,而用户编写的中断,其中断向量则要由用户自行装入。 【例】某外设的中断服务程序为INTER1,其中断类型号为N,试编写一程序将该外设的中断向量装入到中断向量表中。(程序示例),6.2 8086的中断系统,中断向量的装入,17/32,thanks!,6.1,6.2,6.5,6.9,6.10,课后作业,18,19,20,21,22,23,24,25,26,27,28,29,30,方法一: MOVAX,0;中断向量表的段基址 MOVES,AX MOVDI,N*4;向量地址送DI ;中断向量装入中断向量表中 MOVAX,OFFSET INTER1 CLD STOSW MOVAX,SEG INTER1 STOSW,某外设的中断服务程序为INTER1,其中断类型号为N,试编写一程序将该外设的中断向量装入到中断向量表中。,31,方法二: MOVAX,0;中断向量表的段基址 MOVES,AX MOVBX,N*4;向量地址送BX

温馨提示

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

评论

0/150

提交评论