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