複製鏈接
請複製以下鏈接發送給好友

禁止中斷

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

目錄

禁止中斷概念

在單處理機中併發進程不能重疊執行,它們只能被插入,而且進程將繼續執行直到它調用操作系統服務或被中斷,所以,為保證互斥,禁止進程被中斷就已足夠。通過操作系統內核定義的禁止和允許中斷的原語就可獲得這種能力。
因為臨界點不能被中斷,互斥就得到保證。這種方法的代價較高,而且執行效率也會顯著地降低,因為處理機收到不能插入的限制。第2個問題是這種方法不能用於多處理機系統。對於含有不止一個處理機的計算機系統,在同一時間通常有一個以上的進程在執行。在這種情況下,禁止中斷亦不能保證互斥。 [1] 

禁止中斷工作原理

每一個中斷源是否被使能,是由中斷使能寄存器(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來完成的。 [2] 
參考資料
  • 1.    何炎祥等編著.計算機操作系統:人民郵電出版社,2004.01
  • 2.    周霖主編.DSP信號處理技術應用:人民郵電出版社,2004.01