1 引言
在嵌入式系統應用中,異步實時交互系統占了很大部分,這就要求系統對數據或者控制信號的輸入具有較高的響應速度。相對查詢方式而言,中斷方式具有響應速度快、效率高等特點,因而在嵌入式系統中廣泛采用。隨著VLSI進入深亞微米時代,嵌入式系統趨向于片上系統(SOC),中斷控制部分不再由獨立的通用中斷控制芯片構成,而是由系統開發者根據特定的中斷類型設計專用的中斷控制邏輯。
目前,對于中斷控制器的設計方法以及中斷的快速轉移等已經有大量的研究,但是對于中斷機制的可靠性問題研究較少。事實上,中斷機制的可靠性問題是不可忽視的,因為Windows、Unix和Linux等操作系統中,中斷的發生可以導致系統由用戶態進入核心態,如果中斷機制存在問題,在嚴重情況下可能導致安全漏洞和系統隱患。因而中斷機制的可靠性問題對于高可靠性系統來說是一個重要問題。本文嘗試對中斷機制的可靠性問題進行了一些探 討,從中斷檢測、中斷轉移和中斷處理三個角度提出了安全性原則和相關的解決方法,并針對這些問題提出了一種安全的中斷機制的實現。
2 中斷機制可靠性的討論
2.1 概述
中斷是一種控制轉移機制,它引起處理器暫停當前程序的執行,并將控制轉移給中斷處理程序(Interrupt Service Routine),當中斷處理完成之后恢復原來程序的執行。中斷的處理通常是對當前正在執行的程序透明的,并且保留處理器發生中斷時的狀態。
按照中斷的起源,可以分為以下三種情況:
第一種情況,一個中斷可能是源于外部事件,一般稱之為外部中斷。大多數處理器(如x86微處理器和Alpha微處理器)都采用如下類似的方式實現:處理器的一些物理引腳被設計成可以改變電壓(如從+5V變成-5V),從而引起CPU停止當前工作并開始執行處理中斷的特殊代碼——中斷處理程序。依據它們如何發送給處理器的方法而進一步分為可屏蔽中斷(INTR)和不可屏蔽中斷(NMI)。 大功率電感廠家 |大電流電感工廠