- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断技术总结
第9章 中断技术与中断系统
一、与中断有关的几个概念
1、中断
CPU暂时中止其正在执行的主程序,转去执行请求中断的那个外设或事件的服务程序,等处理完后又返回到被中断的程序继续执行的过程。
2、中断源
能引起中断的事件,叫中断源。
包括:
外围设备的输入输出:如键盘,打印机等。
故障源:如电源掉电,存储器损坏、运算溢出等。
实时时钟:定时器定时到预定的时间所发出的中断请求。
为调试程序而设置的中断源(如单步执行,断点执行等)。
3、中断类型
硬中断:主要由外部设备的传送请求引起的中断,一般由外部信号加到CPU的中断请求线上引起。
软中断:主要由CPU指令引起的中断,如INT指令,设置的断点,单步执行,运算过程中的错误等。
硬件中断又分为:可屏蔽中断和不可屏蔽中断。
可屏蔽中断:指中断请求在CPU的内部可以被屏蔽,即CPU可以控制中断被响应或不被响应。屏蔽的做法是:用指令STI将IF置1,中断允许发生,称之为“开中断”;用指令CLI将IF置0,中断被屏蔽或禁止发生,称“关中断”。
可屏蔽中断是否响应受中断标志允许位IF的影响;不可屏蔽中断不受IF位的影响。
注意区分CPU响应可屏蔽中断和不可屏蔽中断的不同。
二、中断处理过程
常包括中断请求、中断优先级判别、中断响应、中断服务和中断返回等环节。
1、中断请求
中断源要求CPU为它服务时,必须发出一个中断请求信号,该信号把相应的中断请求标志置位,以待CPU来查询。为了保证中断请求得到实现,请求信号应保持到CPU响应中断后才能撤消。
2、中断优先级的判别
有多个中断源同时提出中断申请,CPU先响应哪一个呢?要根据中断源申请中断的优先级别来决定。
(1)软件查询中断判别优先级
(2)硬件查询中断判别优先级
(3)用专用的向量优先权管理电路来判别优先级(8259A中断控制器使用此方法)
3、中断响应
CPU在每个机器周期或一条指令的最后一个机器周期去检测各中断请求标志,若发现有中断请求,并满足一定的条件,则响应中断。
响应的中断的条件是:CPU开中断;当前正处于所执行指令的最后一个机器周期。
响应中断后,自动进行的操作为:
CPU自动关闭中断,不准备在中断服务过程中响应新的中断请求。
保护断点(CS、IS和FLAGS),以便中断处理完后正确返回;
撤除该中断源的中断请求标志,以免发生重复的中断响应;
外部中断源送中断类型码给CPU,以便CPU找到中断服务程序的入口地址。
4、中断服务
要完成的操作为:
保护现场,把断点处各有关寄存器的内容压入堆栈;
执行中断服务程序的主体;
恢复现场;
5、中断返回
在中断服务程序最后,安排一条中断返回指令IRET,恢复断点,以便继续执行被中断了的主程序。
三、中断向量表
以80X6为处理器的计算机系统采用矢量中断,能处理256级中断,类型号为0—0FFH。一个中断向量占4个字节,分别存放中断服务程序的IP和CS。因此中断向量共占用256*4=1024=1K字节,用以存放各中断向量的中断服务程序的入口地址(CS:IP)。中断向量表就是各个中断服务程序的入口地址表。
中断向量表用存储器0:0—0:03FFH区域存放,前两个字节存放偏移地址,后两个字节存放段地址。所以中断向量的服务程序的入口地址可用中断类型号*4计算出来。
采用中断向量表,可大大加快CPU响应处理中断的速度。另一方面,采用中断向量表也为用户编写自己的中断服务程序去替换、加强原计算机的中断服务程序带来了方便。
四、中断控制器8259A
8259A是专门为控制中断而设计的可编程集成电路芯片,它将中断源按优先权排队、查询、屏蔽和向总线提供中断类型号集于一身。使用它可协助系统实现对中断的管理。
1. 8259A的功能
具有8级优先权控制,通过级连可扩展到64级。
每一级中断都可以独立被屏蔽和允许。
在中断响应期间,可提供中断类型号,从而快速地转入中断服务程序
有多种工作方式,可编程设置。
2、8259A的引脚及结构
引脚
IR0—IR7:从外设来的中断请求由这些引脚输入到8259A。
INT:8259接到中断请求,对CPU提出中断请求,该引脚连接CPU的INTR上。
INTA#:连接CPU的INTA(中断应答)信号。
(2)内部逻辑结构
由中断请求寄存器IRR、中断服务寄存器ISR、中断优先权电路、中断屏蔽寄存器IMR及控制逻辑组成。
各部分的功能:
(中断请求寄存器IRR:保存外设在IR0—IR7线上提出的中断请求。
(中断服务寄存器ISR:在中断响应之后将ISR相应的位置位,表明该中断源正在被服务中。ISR的复位需要用中断结束命令执行。
(中断屏蔽寄存器IMR:IMR对IRR中相应的中断请求起屏蔽作用,用户可根据需要允许某些中断发生。
(优先权电路:用于判定当前的中断请求是否输入到C
文档评论(0)