1 引言
在嵌入式系统应用中,异步实时交互系统占了很大部分,这就要求系统对数据或者控制信号的输入具有较高的响应速度。相对查询方式而言,中断方式具有响应速度快、效率高等特点,因而在嵌入式系统中广泛采用。随着VLSI进入深亚微米时代,嵌入式系统趋向于片上系统(SOC),中断控制部分不再由独立的通用中断控制芯片构成,而是由系统开发者根据特定的中断类型设计专用的中断控制逻辑。
目前,对于中断控制器的设计方法以及中断的快速转移等已经有大量的研究,但是对于中断机制的可靠性问题研究较少。事实上,中断机制的可靠性问题是不可忽视的,因为Windows、Unix和Linux等操作系统中,中断的发生可以导致系统由用户态进入核心态,如果中断机制存在问题,在严重情况下可能导致安全漏洞和系统隐患。因而中断机制的可靠性问题对于高可靠性系统来说是一个重要问题。本文尝试对中断机制的可靠性问题进行了一些探 讨,从中断检测、中断转移和中断处理三个角度提出了安全性原则和相关的解决方法,并针对这些问题提出了一种安全的中断机制的实现。
2 中断机制可靠性的讨论
2.1 概述
中断是一种控制转移机制,它引起处理器暂停当前程序的执行,并将控制转移给中断处理程序(Interrupt Service Routine),当中断处理完成之后恢复原来程序的执行。中断的处理通常是对当前正在执行的程序透明的,并且保留处理器发生中断时的状态。
按照中断的起源,可以分为以下三种情况:
第一种情况,一个中断可能是源于外部事件,一般称之为外部中断。大多数处理器(如x86微处理器和Alpha微处理器)都采用如下类似的方式实现:处理器的一些物理引脚被设计成可以改变电压(如从+5V变成-5V),从而引起CPU停止当前工作并开始执行处理中断的特殊代码——中断处理程序。依据它们如何发送给处理器的方法而进一步分为可屏蔽中断(INTR)和不可屏蔽中断(NMI)。 大功率电感厂家 |大电流电感工厂