允許外部中斷

允許外部中斷

外部中斷是由中斷信號引起的中斷,用於處理各種定時操作和其他外圍設備的操作。輸入/輸出中斷是由輸入/輸出設備產生的外部中斷。外部中斷可進一步分為可禁止中斷和不可禁止中斷。允許外部中斷是指處理機在處理中斷或其他進程時,允許回響來自外部中斷。

基本介紹

  • 中文名:允許外部中斷
  • 外文名:Allow external interrupts
  • 學科:計算機
  • 定義:處理機允許回響外部中斷
  • 有關術語:中斷
  • 領域:設備管理
中斷,硬體中斷(Hardware Interrupt):,軟體中斷(Software Interrupt),外部中斷的觸發方式,電平觸發方式,跳沿觸發方式,允許外部中斷的原因,中斷優先權,不可禁止中斷,

中斷

在計算機科學中,中斷(Interrupt)是指處理器接收到來自硬體或軟體的信號,提示發生了某個事件,應該被注意,這種情況就稱為中斷。
中斷是用以提高計算機工作效率、增強計算機功能的一項重要技術。最初引入硬體中斷,只是出於性能上的考量。如果計算機系統沒有中斷,則處理器與外部設備通信時,它必須在向該設備發出指令後進行忙等待(Busy waiting),反覆輪詢該設備是否完成了動作並返回結果。這就造成了大量處理器周期被浪費。引入中斷以後,當處理器發出設備請求後就可以立即返回以處理其他任務,而當設備完成動作後,傳送中斷信號給處理器,後者就可以再回過頭獲取處理結果。這樣,在設備進行處理的周期內,處理器可以執行其他一些有意義的工作,而只付出一些很小的切換所引發的時間代價。後來被用於CPU外部與內部緊急事件的處理、機器故障的處理、時間控制等多個方面,並產生通過軟體方式進入中斷處理(軟中斷)的概念。中斷可分為如下幾種:

硬體中斷(Hardware Interrupt):

可禁止中斷(maskable interrupt)。硬體中斷的一類,可通過在中斷禁止暫存器中設定位掩碼來關閉。
非可禁止中斷(non-maskable interrupt,NMI)。硬體中斷的一類,無法通過在中斷禁止暫存器中設定位掩碼來關閉。典型例子是時鐘中斷(一個硬體時鐘以恆定頻率—如50Hz—發出的中斷)。
處理器間中斷(interprocessor interrupt)。一種特殊的硬體中斷。由處理器發出,被其它處理器接收。僅見於多處理器系統,以便於處理器間通信或同步。
偽中斷(spurious interrupt)。一類不希望被產生的硬體中斷。發生的原因有很多種,如中斷線路上電氣信號異常,或是中斷請求設備本身有問題。

軟體中斷(Software Interrupt)

軟體中斷。是一條CPU指令,用以自陷一個中斷。由於軟中斷指令通常要運行一個切換CPU至核心態(Kernel Mode/Ring 0)的子例程,它常被用作實現系統調用(System call)。
處理器通常含有一個內部中斷禁止位,並允許通過軟體來設定。一旦被設定,所有外部中斷都將被系統忽略。這個禁止位的訪問速度顯然快於中斷控制器上的中斷禁止暫存器,因此可提供更快速地中斷禁止控制。
如果一個中斷使得機器處於一種確定狀態,則稱為精確中斷(precise interrupt)。精確中斷須保證:
程式計數器的值被保存在已知位置。
程式計數器所指向的指令之前的所有指令已被執行完畢。
程式計數器所指向的指令之後的所有指令不可被執行。如果中斷信號到來後而轉入處理前發生了任何針對暫存器/記憶體的更改,都必須予以還原。
程式計數器所指向的指令地執行狀態已知。
倘無法滿足以上條件,此中斷被稱作非精確中斷(imprecise interrupt)。
中斷儘管可以提高計算機處理性能,但過於密集的中斷請求/回響反而會影響系統性能。這類情形被稱作中斷風暴(interrupt storm)。

外部中斷的觸發方式

外部中斷的觸發有兩種觸發方式:電平觸發方式和跳沿觸發方式。

電平觸發方式

若外部中斷定義為電平觸發方式,外部中斷申請觸發器的狀態隨著CPU在每個機器周期採樣到的外部中斷輸入線的電平變化而變化,這能提高CPU對外部中斷請求的回響速度。當外部中斷源被設定為電平觸發方式時,在中斷服務程式返回之前,外部中斷請求輸入必須無效(即變為高電平),否則CPU返回主程式後會再次回響中斷。所以電平觸發方式適合於外部中斷以低電平輸入而且中斷服務程式能清除外部中斷請求源(即外部中斷輸入電平又變為高電平)的情況。

跳沿觸發方式

外部中斷若定義為跳沿觸發方式,外部中斷申請觸發器能鎖存外部中斷輸入線上的負跳變。即便是CPU暫時不能回響,中斷申請標誌也不會丟失。在這種方式里,如果相繼連續兩次採樣,一個機器周期採樣到外部中斷輸入為高,下一個機器周期採樣為低,則置“1”中斷申請觸發器,直到CPU回響此中斷時才清’0’。這樣不會丟失中斷,但輸入的負脈衝寬度至少保持12個時鐘周期(若晶振頻率為6MHz,則為21xs),才能被CPU採樣到。外部中斷的跳沿觸發方式適合於以負脈衝形式輸入的外部中斷請求。

允許外部中斷的原因

外部中斷是由中斷信號引起的中斷,用於處理各種定時操作和其他外圍設備的操作。外部中斷主要是硬體中斷。引起允許外部中斷原因如下:

中斷優先權

在某一時刻有幾個中斷源同時發出中斷請求時,處理器只回響其中優先權最高的中斷源。當處理機正在運行某箇中斷服務程式期間出現另一個中斷源的請求時,如果後者的優先權低於前者,處理機不予理睬,反之,處理機立即回響後者,進入所謂的“嵌套中斷”。中斷優先權的排序按其性質、重要性以及處理的方便性決定,由硬體的優先權仲裁邏輯或軟體的順序詢問程式來實現。

不可禁止中斷

不能由程式控制其禁止,處理機一定要立即處理的中斷稱為非禁止中斷或不可禁止中斷.非禁止中斷主要用於斷電、電源故障等必須立即處理的情況.處理機回響中斷時。

相關詞條

熱門詞條

聯絡我們