- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;; 1.中断
所谓“中断”是指CPU执行程序过程中,由于某种事件发生,迫使CPU暂时中止正在执行的程序,转去执行该事件的处理程序,待处理完毕后,又返回到原程序的断点处,继续往下执行的过程。
2.中断源
引起中断的原因或发出中断请求的来源称为中断源。;;中断过程;8.1.1 中断的基本概念;;; (3) 能实现中断的嵌套
中断的嵌套是指高级别的中断能中断较低级别的中断处理,它类似于子程序嵌套。; 中断最初的目的是为了解决高速CPU与低速外设之间的速度矛盾。实际上,中断的功能远远超出预期的设计,被广泛地应用于多方面,大大提高了CPU的工作效率。中断的优点有下面三点。; (2) 实时处理
在实时控制系统中,现场定时或随机地产生各种参数、信息,要求CPU立即响应。利用中断机制,计算机就能实时地进行处理,特别是对紧急事件的处理。
(3)故障处理
计算机运行过程中,如果出现某些故障,如电源掉电、运算溢出等,计算机可以利用中断系统自行处理。; 2.中断源
所谓中断源,就是引起中断的原因或者发出中断请求的设备。中断源一般分为两类:内部中断源和外部中断源。
内部中断源即中断源在微处理器内部。如计算溢出、中断指令的执行、程序调试中指令的单步运行等都是内部中断源。
外部中断源即引起中断的原因是处理机的外部设备。如外设的I/O请求、定时时间到、设备故障、电源掉电等都是外部中断源。;(1)外部设备请求中断
(2)故障强迫中断
(3)实时时钟请求中断。
(4)数据通道中断。
(5)程序中断。 ; 3. 中断控制的功能
(1) 中断请求
中断请求就是中断源向CPU发出的请求中断的要求。这个中断请求信号通常加到CPU的中断请求输入端。
(2) 能实现中断判优功能
中断判优,即根据中断源的优先级进行排队。当系统中出现多个中断源同时提出中断请求的情况时,中断控制电路能根据各中断源的优先级进行响应,优先级最高的中断请求先响应。; (3) 中断响应
CPU接收到中断申请后,从中止现行程序到转向中断服务程序入口的过程,称为中断响???。必须满足两个条件:
1.中断是开发的。
2.CPU在现行指令结束后响应中断。
中断响应过程中,CPU自动执行以下操作:
关中断。
保护断点和标志。
转入中断服务程序。
;8.1.2 中断处理过程;;8.2 8086中断系统 ;; 1. 非屏蔽中断NMI(中断类型号为2)
整个系统只有一个非屏蔽中断,它不受IF标志位的屏蔽。出现在NMI上的请求信号是上升沿触发的,一旦出现,CPU将予以响应。非屏蔽中断一般用于紧急故障处理。 ;; 2.可屏蔽中断INTR
可屏蔽中断请求信号从INTR引脚送往CPU,高电平有效,受IF标志位屏蔽,IF=0时,对于所有从INTR引脚进入的中断请求,CPU均不予响应;另外,也可以在CPU外部的中断控制器(8259A)中以及各个I/O接口电路中对某一级中断或某个中断源单独进行屏蔽。 ;
1.内部中断(软件中断)
CPU内部请求信号引起的中断均为内部中断,内部中断根据引起中断的原因不同可分为以下几种:
(1)除法错中断(类型号为00H)
当CPU执行除法指令(DIV/IDIV)时,若除数为0或所得的商超过了寄存器所能表示的最大值,则立即产生一个除法错中断。CPU响应中断后转去执行除法错中断处理程序。; (2)单步执行中断(类型号为01H)
当TF=1时,每执行一条指令,CPU会自动产生一个单步中断。单步中断处理子程序显示各个寄存器及使用的存储单元内容,以便分析单条指令执行的结果。单步中断又称为陷阱中断,主要用于程序调试。
(3)断点中断(类型号为03H)
提供给用户一个调试手段,通常在DEBUG调试程序时,可通过命令在程序中任意指定断点地址,当CPU执行到断点时便产生中断,同时显示当前各寄存器的内容和标志位的值以及下一条要执行的指令,供用户检查在断点以前的程序运行是否正常。; (4)溢出中断INTO(类型号为04H)
CPU进行带符号数的算术运算时,若发生了溢出,则标志位OF=1,如果此时执行INTO指令,会产生溢出中断。若OF=0,则INTO不产生中断,CPU继续执行下一条指令。INTO指令通常安排在算术指令之后,以便在溢出时能及时处理。
(5)指令中断
CPU执行INT n指令后,会立即产生一个类型码为n的中断,中断指令的操作数n就是中断类型码,转入相应
文档评论(0)