嵌入式软件设计(第2版)
上QQ阅读APP看书,第一时间看更新

1.2.4 中断控制器

“中断”是微处理器程序运行的一种方式。计算机在执行正常程序的过程中,当出现某些紧急情况、异常事件或其他请求时,处理器会暂时中断正在运行的程序,转而去执行对紧急情况或其他请求的操作处理,处理完成以后,CPU回到被中断程序的断点处接着往下执行,这个过程称为中断。

一个系统中可能有多个设备,设备通常通过中断请求系统处理自己的服务请求。系统必须为每一个设备构建相应的中断服务程序(ISR),用来完成控制和处理每个设备的要求。每个系统都有各自的中断处理机制,以便处理来自系统不同过程的中断。中断有多种类型且具有优先级。通常在中断处理和谐开始前要将现场数据保存到堆栈中。中断和谐执行结束后返回调用程序继续执行。

中断控制器是在一个计算机系统中专门用来管理I/O中断的器件,它的功能是接收外部中断源的中断请求,并对该中断请求进行处理后再向CPU发出中断请求,然后由CPU响应中断并进行处理。在CPU响应中断的过程中,中断控制器仍然负责管理外部中断源的中断请求,从而实现中断的嵌套与禁止,而如何对中断进行嵌套和禁止则与中断控制器的工作模式与状态相关。