- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[现代计算机测控系统
现代计算机测控系统
关于中断技术
摘要:本文对中断技术的重要作用、特点以及响应过程作了详细的介绍;对8086 中断系统也作了简单介绍;重点讲了8259A的工作过程、编程、应用。
1.中断技术
(1)中断技术的重要性
中断技术是微型计算机系统中广泛应用的一种资源共享技术,是微型计算机系统的核心技术,也是计算机硬件接口及应用系统设计开发人员必须熟练掌握的一项关键技术。中断系统功能的强弱已经成为评价计算机整体性能的一项重要指标。
为实现中断功能而设置的硬件电路和与之相应的软件,称为中断系统。利用中断,实现了多程序的分时操作和实时处理。利用中断还可以完成处理机与处理机之间信息交流和任务的切换。
计算机在运行过程中,由于输入/输出设备或是其它非预期的急需处理的事件发生,使CPU暂时中断现在正在执行的任务,而转去执行引起中断的事件,当该事件处理完毕,再返回到原程序继续执行,这个过程叫中断。
在日常工作中,CPU需要输入一些数据,或是输出运行结果,但I/O的运行速度比CPU的执行速度要慢得多,这就意味着CPU常常需要用大量的时间去等待计算机外围设备进行输入输出。这种等待的过程使得计算机处理事务的效率受到了很大的影响。而“中断”就是计算机解决CPU和I/O之间速度矛盾的有效途径。通过中断管理,当外设需要进行输入输出操作时,就像CPU发出中断申请,CPU将按各中断申请的优先级别响应中断请求,从而使计算机的工作效率明显提高。
中断过程示意图如图1:
图1 中断过程示意图
(2)中断技术的特点
1)中断技术中硬件与软件的分工与配合。硬件承担最基本的任务就是检测、接收、传送中断源的中断请求信号,同时还要管理中断允许触发器IF的开/关,管理中断屏蔽、中断判优、断点保护与恢复,以及形成中断服务子程序的入口地址。
软件承担的工作就是中断服务子程序所完成的工作。在中断服务子程序中,除了首尾使用入栈和出栈指令进行现场的保护和恢复外,主要的工作就是进行控制或数据交换。
2)中断方式和查询方式的区别。虽然这两种方式都适用于CPU与慢速外设的协调工作,但二者有着本质的区别。
在工作过程中,起主动作用的角色不同。在查询方式中,以外设为中心,CPU处于主动方。CPU不断查询外设状态,判断外设是否准备好,直到外设准备好后,CPU才与外设交换数据。而中断方式中,以CPU为中心,外设处于主动方。CPU不必等待慢速外设,只管不断的运行主程序,不管外设状态,只有当外设准备好,提出中断请求时,CPU才与外设打交道。
在工作过程中,CPU与外设工作的并行或串行方式不同。查询方式下,CPU与外设串行工作,当外设未准备好时,CPU一直等待,直到外设准备好后,CPU才工作,所以这种串行方式下的CPU工作效率非常低。而在中断方式下,慢速外设做自己的准备工作,同时CPU运行自己的主程序,而不是等待外设,只有外设准备好并通知CPU后,CPU才暂停现行的工作,转去处理外部事件,待处理完毕后,CPU与外设又分头做各自的工作,这种并行工作可以提高CPU的工作效率。
3)执行中断服务子程序与调用子程序的比较。执行中断服务子程序与调用子程序尽管都是暂停CPU现行的主程序,转去执行一段子程序,但是二者还是不同的:
a.进入子程序的时机不同。调用子程序是在主程序中执行调用指令(如8086的CALL指令)时进入子程序的,该指令在主程序中的位置是由程序员预先设定的,是预知的;而在CPU运行主程序的过程中,外部中断请求却是随机的,所以主程序执行到何时会暂停并转去执行中断服务子程序,是由外设提出中断请求的时刻决定的,断电在主程序中的位置是随机的。但软件中断指令引起的中断是预知的,这一点与调用子程序一致。
b.保护断点的手段不同,虽然二者保护断点都是将断点地址入栈,但调用子程序保护断点是在执行调用指令的指令周期中将返回地址入栈的;而中断返回地址的保护是在中断响应周期(不属于任何指令周期)中将返回地址入栈的。
c.入口地址的形成方法不同。调用子程序时,子程序的入口地址由调用指令提供;而中断服务子程序的入口地址由硬件电路在中断响应周期根据中断类型号获得,并向CPU提供。
d.返回指令不同。普通子程序的返回指令仅仅将返回地址出栈给程序计数器(如8086的IP或CS:IP);而中断返回指令不仅出栈返回地址,还出栈恢复标志寄存器的内容,同时通知中断控制逻辑本次中断结束。
(3)中断响应过程
1)识别中断源。CPU在执行每条指令的过程中(一般是最后一个时钟周期),都由硬件自动检测是否有中断请求信号,包括可屏蔽中断请求和非屏蔽中断请求。对于可屏蔽中断,如果有中断请求且CPU处于开中断状态,又没有其他主部件请求总线,对于非屏蔽中断,如果有中断请求而无论CPU是否开中断,CPU都会在当前指令周期结
文档评论(0)