《中断技术》PPT课件.ppt_第1页
《中断技术》PPT课件.ppt_第2页
《中断技术》PPT课件.ppt_第3页
《中断技术》PPT课件.ppt_第4页
《中断技术》PPT课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、 。,6.2 8086的中断系统,外部中断,溢出中断(4号中断) 除法出错中断(0号中断) INT n指令中断 断点中断(3号中断) 单步(陷阱)中断(1号中断),6.2 8086的中断系统,内部中断,中断向量:是中断服务程序的入口地址,包括中断服务程序的段基址CS和偏移地址IP(共占4个字节)。 中断向量表:是存放中断向量的表格,它存放在存储器的最低端,共1KB,存放256个中断向量。 向量地址:是在中断向量表中,每个中断向量在存储空间上的最低地址,是将中断类型码乘4以获取。 8086/8088的中断向量表结构,6.2 8086的中断系统,中断向量与中断向量表,(1)保护断点。即把当前标志寄

5、存器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的中断系统,中断控制转入操作,(2)清除IF和TF,即IF0,TF0,以便禁止其它可屏蔽中断和单步中断 (3)获取中断向量。将中断类型码乘以4获得向量地址,根据向量地址查找中断向量表后,将对应的中断向量放入CS和IP,从而将控制转入中断服务程序: (IP)0000H:4N (CS)0000H:4N2,6.2 8086的中断系统,中断控制转入操作,

6、在中断服务程序执行完后,最后要执行一条中断返回指令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的中断系统,中断返回操作,【例】某外设中断类型号为13H,它的中断服务程序的入口地址为0070H:0FC9H,求其向量地址并具体描述中断向量的各字节在存储器中的存储情况。 【解】由13H4=4CH,可得中断类型号为13H的向量地址为0000H:004CH,该中断向量在向量表中的具体存储情况如下: (0000H:0

7、04CH)=C9H (0000H:004DH)=0FH (0000H:004EH)=70H (0000H:004FH)=00H,6.2 8086的中断系统,INTER1PROCFAR PUSHAX;保护现场 PUSHBX ;中断服务程序 STI;开中断,以便允许多重中断 ;继续执行中断服务程序 (发中断结束命令);中断控制器8259A所要求的 POPBX;恢复现场 POPAX IRET;中断返回 INTER1ENDP,6.2 8086的中断系统,中断服务程序格式,中断向量并非常驻内存,而是开机上电时,由程序装入内存指定的中断向量表中。系统配置和使用的中断所对应的中断向量由系统软件负责装入,而用

8、户编写的中断,其中断向量则要由用户自行装入。 【例】某外设的中断服务程序为INTER1,其中断类型号为N,试编写一程序将该外设的中断向量装入到中断向量表中。(程序示例),6.2 8086的中断系统,中断向量的装入,优先级排队管理:根据任务的轻重缓急或设备的特殊要求分配中断源的中断优先级。 接受和扩充外部设备的中断请求:一片8259A可以接受管理8级中断请求,经过级联可以用9片8259A组成两级中断机构,实现64级中断。 提供中断类型号:在CPU响应中断后,8259A能自动向CPU提供相应中断请求的中断类型号,从而具有对中断服务程序入口地址的寻址能力。它除了可以实现向量中断外,也可以实现查询中断

9、。 进行中断请求的屏蔽和开放:8259A能够对提出中断请求的外部设备进行屏蔽和开放。,6.2 可编程中断控制器8259A,8259A的基本功能,6.2 可编程中断控制器8259A,8259A的内部结构,CS#:片选信号 WR#:写信号 RD#:读信号 D0D7:双向数据总线 A0:片内地址信号 IR0IR7:外设中断请求信号,输入 INT:中断请求信号,输出 INTA#:中断应答信号,输入 CAS2CAS0:级联总线,传送3位标识码,用于区分特定的从8259。双向:对于主片为输出,对于从片为输入 SP#/EN#:双功能引脚,输入表明主从关系(=1为主片,=0为从片),输出表示缓冲方式启动数据总

10、线收发器传送方向 (=1 表示CPU通过数据缓冲器写入8259A,=0 CPU通过数据缓冲器读8259A),6.2 可编程中断控制器8259A,8259A的引脚信号,引入中断请求(中断触发)的方式: 边沿触发方式:以正跳沿向8259A请求中断,上跳沿后可一直维持高电平,不会再产生中断。 电平触发方式:以高电平申请中断,但在响应后必须及时清除高电平,以免引起重复中断。 中断查询方式:外设通过8259A申请中断,但8259A却不使用INT信号向CPU申请中断,而是CPU通过软件查询确定中断源,并为其服务。,6.2 可编程中断控制器8259A,8259A的工作方式,连接系统总线的方式: 在多片级联的

11、大系统中,要求数据总线有总线缓冲器。8259A与这种带总线缓冲器的系统总线的连接方式称为缓冲器方式。此时的SP#/EN#用于启动缓冲器工作,不表示主/从关系。 在小系统中,8259A不需要总线缓冲器而直接接至数据总线,此时称为非缓冲器方式,SP#/EN#用于表示主/从芯片。,6.2 可编程中断控制器8259A,8259A的工作方式,屏蔽中断源的方式: 普通屏蔽方式:利用操作字OCW1,使屏蔽寄存器IMR中的一位或几位置“1”来屏蔽一个或几个中断源的中断请求。 特殊屏蔽方式:在某些场合,在执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,此时可用特殊屏蔽方式。特殊屏蔽方式可用

12、OCW3的D6D5=11来设定。,6.2 可编程中断控制器8259A,8259A的工作方式,优先级排队方式: 完全嵌套方式:中断优先级按07顺序排队,并且只允许中断级别高的中断源去中断级别低的中断服务程序(缺省)。 特殊完全嵌套方式:它和完全嵌套方式基本相同,所不同的是在特殊完全嵌套方式下,在执行某一级中断服务程序时,可响应同级的中断请求,从而实现对同级中断请求的特殊嵌套。特殊完全嵌套方式常用于多片级联时对主片的优先级方式的设定。,6.2 可编程中断控制器8259A,8259A的工作方式,优先级排队方式: 自动循环方式:在此方式下,优先级顺序不是固定不变的,一个设备接受中断服务后,其优先级别自

13、动降为最低。该方式用于系统中多个中断源优先级相等的场合。 特殊循环方式:该方式与自动循环方式的区别在于它可以通过程序发出特殊循环方式操作命令来指定某个中断源的优先级别为最低级。,6.2 可编程中断控制器8259A,8259A的工作方式,中断结束方式: 当8259A的某一中断级别的中断请求被CPU响应时,8259A的中断服务寄存器ISR中的对应位将被置“1”,表示CPU正在执行ISRX为1的中断服务程序,这就要求在中断服务程序中或末尾通过适当的手段将正在执行的ISRX位清除为“0”。,6.2 可编程中断控制器8259A,8259A的工作方式,中断结束方式: EOI命令方式:在中断服务程序结束之前

14、向8259A发出中断结束命令,清除ISR中的相应位,表示该级的中断服务程序已经结束。EOI命令有普通EOI命令和特殊EOI命令两种。 普通EOI命令将自动清除ISR中所有已置位的优先级最高的那一位,适用于完全嵌套方式的中断结束。 当8259A不工作于完全嵌套方式时,就要采用特殊EOI命令来结束当前的中断服务,因为特殊EOI命令中带有用于指定ISR中相应位复位的三位编码信息。 自动EOI方式:采用此方式时,在第二个INTA#响应信号的后沿由8259A自动执行普通EOI操作,复位ISR中已置位的中断优先级最高的位。,6.2 可编程中断控制器8259A,8259A的工作方式,分为两步骤: (1)初始

15、化编程:写入24个初始化命令字ICW1ICW4 。 (2)工作方式编程:写入3个工作命令字OCW1OCW3。以规定8259的工作方式。可以在初始化以后的任何时间写入。,6.2 可编程中断控制器8259A,8259A的初始化命令字及其编程,初始化编程流程: (1)ICW1、ICW2是必须的。 (2)ICW3在级联时才有。 (3)ICW4专用于8086系统。 (4)地址线A0、特定标志位、及ICW的输入顺序相配合,完成多寄存器的寻址。,6.2 可编程中断控制器8259A,8259A的初始化命令字及其编程,初始化命令字ICW1ICW4的格式及其功能 芯片控制字ICW1的格式及其功能 中断类型字 IC

16、W2的格式及其功能 级联控制字ICW3的格式及其功能 方式控制字 ICW4的格式及其功能,6.2 可编程中断控制器8259A,8259A的初始化命令字及其编程,【例】8259A在8086系统中单片使用如下图所示,端口地址为20H、21H,采用边沿触发、完全嵌套方式、非自动中断结束方式、缓冲方式,中断类型号的范围为08H0FH,试编写该8259A的初始化程序段。(解答),6.2 可编程中断控制器8259A,8259A的初始化命令字及其编程,操作命令字OCW1OCW3的格式及其功能 中断屏蔽字OCW1的格式及其功能 中断结束字 OCW2的格式及其功能 方式控制字OCW3的格式及其功能,6.2 可编

17、程中断控制器8259A,8259A的初始化命令字及其编程,thanks!,6.1,6.2,6.5,6.9,6.10,课后作业,方法一: MOVAX,0;中断向量表的段基址 MOVES,AX MOVDI,N*4;向量地址送DI ;中断向量装入中断向量表中 MOVAX,OFFSET INTER1 CLD STOSW MOVAX,SEG INTER1 STOSW,某外设的中断服务程序为INTER1,其中断类型号为N,试编写一程序将该外设的中断向量装入到中断向量表中。,方法二: MOVAX,0;中断向量表的段基址 MOVES,AX MOVBX,N*4;向量地址送BX ;中断向量装入中断向量表中 MOVAX,OFFSET INTER1 MOVES:BX,AX MOVAX,SEG INTER1 MOVES:BX+2,AX,某外设的中断服务程序为INTER1,其中断类型号为N,试编写一程序将该外设的中断向量装入到中断向量表中。,MOV AL,13H;写ICW1:边沿触发、单片、需要ICW4 O

温馨提示

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

评论

0/150

提交评论