勵志

勵志人生知識庫

什麼是可禁止中斷

可禁止中斷(Maskable Interrupt)是一種允許CPU根據需要選擇是否回響的中斷類型。當CPU正在處理某箇中斷服務程式(ISR)時,如果有更高優先權的中斷信號發生,CPU會暫停當前正在處理的ISR,轉而處理更高優先權的中斷,這種現象稱為中斷嵌套。

在CPU運行過程中,是否回響可禁止中斷取決於兩個因素:

中斷請求是否被禁止:這由中斷禁止暫存器(IMR)控制,通過設定IMR的相應位為0或1來允許或禁止某個外設的中斷請求。

CPU是否允許回響中斷:這由標誌暫存器(FLAGS)中的中斷允許位(IF)控制。當IF位為1時,CPU允許回響可禁止中斷請求;當IF位為0時,CPU不回響可禁止中斷請求。

在進入中斷處理程式時,通常會將IF位設定為0,以防止在處理當前中斷時回響其他可禁止中斷。這樣確保了當前中斷服務程式可以完整地執行完成。

總結來說,可禁止中斷是一種允許CPU根據優先權和系統狀態靈活處理的中斷類型,它通過中斷禁止和標誌位設定來實現對中斷回響的控制。