第五章 中断系统3.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、中断过程 中断请求 外部中断源希望CPU对他服务时,就产生中断请求加载到CPU的中断请求输入端. 中断响应 CPU对内部中断源必须接受,对外部中断源的响应取决于中断源的类型和响应条件,在满足的条件下才能响应.CPU在每条指令执行的最后一个时钟周期,对中断请求检测 断点及现场保护 为使中断结束后能正确返回,须对被中断的程序及现场信息进行保护. 中断源识别 当系统中有多个中断源时,系统需要确定那个中断源提出的请求 中断服务 完成所识别中断源的功能性处理,是中断处理的核心. 恢复现场 中断结束后要恢复在中断处理程序中保护的信息. 中断返回 从堆栈中取出断点信息,是CPU从中断程序返回到源程序的执行. 2)根据中断请求的输入端,确定类型号.将原中断向量的类型号保存. MOV AL,N MOV AH,35H INT 21H MOV INT_SEG,ES MOV INT_OFF,BX 3)根据中断类型,修改中断向量表。 MOV AX,0 MOV ES,AX MOV DI,28H ;0AH MOV AX,OFFSET INIP MOV ES:WORD PTR[DI],AX MOV AX,SEG INTP MOV ES:WORD PTR[DI+2],AX MOV AX,SEG INIP MOV DS,AX MOV DX,OFFSET INIP MOV AL,N MOV AH,25H INT 21H 4)开放8259对应的中断请求输入端 5)在主程序的末尾恢复中断屏蔽寄存器的内容 6)发中断结束命令EOI MOV AL,20H OUT 20H,AL * * * * * * * * * 三、 8259A的工作过程 1.当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存器的 IRR的相应位置位。 2.若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且发应答信号(两个连续的负脉冲)。 3.第一个负脉冲到达时,IRR的锁存功能失效,对于IR7-IR0上发来的中断请求信号不予理睬。 4.使正服务寄存器ISR的相应位置1,以便为中断优先级比较器的工作做好准 备。 5.使寄存器的相应位复位,即清除中断请求。 6.第二个负脉冲到达时,将中断类型寄存器中的内容ICW2,送到数据总线 的D7-D0上,CPU以此作为相应中断的类型码。 7.若ICW4中的中断结束位为1,那么,第二个负脉冲结束时,8259A将ISR寄存器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字EOI,使该位复位。 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1、中断源:引起中断的原因或发出中断请求的设备称为中断源。 通常中断源有以下几种: 一般的输入、输出设备。如键盘、纸带读入机、行打印机等。 数据通道中断源。如磁盘、磁带等。 实时时钟 故障源 为调试程序而设置的中断源 3 中断控制 中断优先权:当多个中断源向CPU请求时,要按事先排队的优先情况处理. 中断嵌套:当CPC正在某中断服务时,如果有更高级的中断申请,则暂时搁置现行中断服务于新的中断 中断排队 软件查询方式 简单硬件排队 中断控制器 CPU的INTR和引脚与中断控制器相连,外设的中断请求信号通过IR0~IR7进入中断控制器,经优先级管理逻辑确认为级别最高的那个请求的类型号会经过中断类型寄存器在当前中断服务寄存器的某位上置1,并向CPU发INTR请求,CPU发出信号后,中断控制器将中断类型码送出。在整个过程中,优先级较低的中断请求都受到阻塞, 二、8086/8088中断系统和中断处理 外部中断,一般是指I/O设备或其它硬件电路所引起的中断。它的特点是通过硬件向CPU发出中断请求信号,经常称外部中断为硬件中断。外部中断又分为非屏蔽中断(NMI)和可屏蔽中断(INTR)。 内部中断,主要指CPU内部的中断,是通过指令设置的中断。所以内部中断也称为软件中断。使用软件中断,其功能类似于子程序调用。只是这些子程序大部分是系统提供的,所以这类子程序的调用相当于高级语言中的库函数的调用。 1、内部中断:即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0,或用INT n指令产生。 溢出中断由INT0指令引起 断点中断由INT3指令引起 单步由标志TF引起 ,不对应指令 除0由计算结果引起,不对应指令 2、硬件中断:即通过外部的硬件产生的中断,如打印机、键盘等,有时也称为外部中断。硬件中断又可分为两类:可屏蔽中断和不可屏蔽中断。 不可屏蔽中断:由NMI引脚引入,它不受

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档