禁止中斷

禁止中斷

在單處理機中並發進程不能重疊執行,它們只能被插入,而且進程將繼續執行直到它調用作業系統服務或被中斷,所以,為保證互斥,禁止進程被中斷就已足夠。通過作業系統核心定義的禁止和允許中斷的原語就可獲得這種能力。 因為臨界點不能被中斷,互斥就得到保證。這種方法的代價較高,而且執行效率也會顯著地降低,因為處理機收到不能插入的限制。

概念

在單處理機中並發進程不能重疊執行,它們只能被插入,而且進程將繼續執行直到它調用作業系統服務或被中斷,所以,為保證互斥,禁止進程被中斷就已足夠。通過作業系統核心定義的禁止和允許中斷的原語就可獲得這種能力。

因為臨界點不能被中斷,互斥就得到保證。這種方法的代價較高,而且執行效率也會顯著地降低,因為處理機收到不能插入的限制。第2個問題是這種方法不能用於多處理機系統。對於含有不止一個處理機的計算機系統,在同一時間通常有一個以上的進程在執行。在這種情況下,禁止中斷亦不能保證互斥。

工作原理

每一個中斷源是否被使能,是由中斷使能暫存器(IER)控制的。用戶通過設定IER中相應個別中斷位可以使能或禁止個別中斷。只要IER中的某一位置1,與其對應的中斷就開始處理。IER中的bit()位用於復位,該位始終置為1,並且可讀不可寫,因此復位中斷始終使能。用戶不能通過設定來禁止復位中斷的發生。Bits IE4-IE15既可置1,也可以清零。其值為1或者0時,與其對應的終端分別為使能和禁止。

當NMIE=0時,所有的非復位中斷被禁止,也包括防止NMI中斷。當DSP初始化時,NMIE被清零復位,任何中斷被禁止直到用戶使能NMI中斷。復位後,用戶必須將NMIE置為1,使能MNI中斷,並且設定GIE和相應的IER欄位使能INT15-INT4中斷。用戶不能手工將NMIE清零,手工將0寫入NMIE位無效。當一個NMI中斷髮生時,NMIE自動清零。NMIE置1是由B NRP指令向NMIE中寫入1來完成的。

相關詞條

相關搜尋

熱門詞條

聯絡我們