1.1、中断的概念
中断是通过硬件来改变CPU程序运行方向的一种技术,它既和硬件有关,也和软件有关。在执行程序的过程中,由于计算机内部或外部的某种突发原因,有必要尽快终止当前程序,待处理完成后,再回来继续执行被中止了的程序,这种程序在执行过程中由于外界的原因而被中间打断的情况称之为中断。
1.2、中断技术的优点
- 分时操作
- 实现实时处理
- 故障处理
1.3、中断源
-
外部设备中断源
计算机I/O设备,如键盘、磁盘驱动器、打印机。 -
故障源
内部故障源:一般指执行指令时产生的错误情况,通常称之为内部软件中断
外部故障源:电源掉电或电压降到一定值时发出中断申 -
控制对象中断源
计算机做实时控制时,被控对象常用作中断源。如电压、电流、温度等超越上限或下限时做中断控制源 -
定时/计数器脉冲中断源
有定时/计数器溢出时自动产生。内部定时/计数器是由其内部定时器产生;外部计数中断是由外部脉冲通过CPU的中断请求输入线或定时/计数器的输入线引起的
1.4、中断系统的功能
- 能实现中断及返回
- 能实现优先权排队
- 能实现中断嵌套
2.1、中断处理过程
1、中断响应
-
CPU的中断响应条件
(1)有中断源发出中断申请
(2)中断允许位为1
(3)申请中断的中断源的中断允许位为1
中断响应受到阻断的情况:
CPU正在执行一个同级或高级的终端服务程序。
当前的机器周期不是正在执行指令的最后一个周期。
正在执行的指令是中断返回指令。执行中断返回后,至少再执行一条其他指令才响应中断。 -
中断响应过程
2、中断处理
从入口地址开始执行,知道中断返回指令为止。
编写中断服务程序时需注意几点:
- 注意保护现场和恢复现场
- cpu响应中断后,使程序转向入口地址,在执行中断程。
- 若要禁止更高优先级中断源中断,应先软件关闭CPU中断或屏蔽更高优先级中断源的中断,在中断返回前再开放中断。
- 注意在保护现场之前要关中断,恢复现场之后开中断;若中断处理时允许更高优先级的中断打断它,则在保护现场之后要开中断,恢复现场之前开关中断
3、中断程序的一般设计方法
- 主程序中的中断初始化
- 中断服务程序