1.什么是中断
计算机在执行程序的过程中,由于CPU之外的某种原因,有必要尽快地中止该程序的执行,转而去执行相应的处理程序,待处理程序结束之后,再返回来继续执行从断点处开始的原程序,这种程序在执行过程中由于外界的原因而被中间打断的情况称之为“中断”。实现这种功能的部件统称为中断系统。中断过程如图5.1所示。
图5.1 中断过程示意图
中断之后,CPU执行的处理程序称为中断服务程序,而把中断之前原来运行的程序称为主程序。主程序被断开的位置(地址)称为断点。能够向CPU发出中断申请的来源称为中断源,它是引起CPU中断的原因。中断源向CPU要求服务的请求称为中断请求,或中断申请。
表面上看,中断处理类似于子程序调用过程,因此又称中断处理程序为中断服务子程序。但程序中断与子程序调用有着很大的区别:子程序调用是在程序中事先安排好的,在程序运行到某一步时通过LCALL或ACALL调用指令来实现;而引起中断的原因是随机发生的,因而转向中断服务程序进行中断处理也是随机的,程序中无调用命令,而是由内、外部设备向CPU发出中断请求,CPU进行响应来实现的。
2.为什么要引入中断(www.xing528.com)
中断技术在实时控制、分时操作、人机交互、多机系统等方面都得到广泛的应用,大大扩大了计算机的应用范围,提高了计算机的性能。微型机引入中断后有如下优点:
(1)同步工作 有了中断功能后,就可以使CPU和外设同步工作。例如CPU启动外设工作后,就继续执行主程序,外设把数据准备好后发出中断请求,请求CPU中断原来主程序的运行,转去执行输入/输出操作(中断处理),中断程序执行完后,CPU恢复执行主程序,外设也继续工作,这样就解决了快速的CPU与慢速的外设之间的矛盾,CPU就可指挥多个外设同时工作,大大提高了CPU的利用率,也提高了输入/输出速度。
(2)实时处理 在实时控制中,现场采集到的各种数据可在任意时刻发出中断请求,要求CPU处理,若中断是开放的,则CPU就可马上对这些数据进行处理了。
(3)分时处理 利用中断功能,CPU可以同时为多个对象服务。只有服务对象向CPU发出中断请求,CPU才转而为之服务,因此大大提高了CPU的效率。
(4)故障处理 计算机在运行过程中出现了事先预料不到的情况或故障时(如掉电、存储出错、溢出等),可以利用中断系统自行处理而无须停机。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。