一個完整的中斷處理過程應該包括:中斷請求、中斷排隊或中斷判優、中斷響應、中斷處理和中斷返回等環節。
1.中斷請求 中斷請求是由中斷源向CPU發出中斷請求訊號。外部裝置發出中斷請求訊號要具備以下兩個條件: (1)外部裝置的工作已經告一段落。例如輸入裝置只有在啟動後,將要輸入的資料送到介面電路的資料暫存器(即準備好要輸入的資料)之後,才可以向CPU發出中斷請求。 (2)系統允許該外設發出中斷請求。如果系統不允許該外設發出中斷請求,可以將這個外設的請求遮蔽。當這個外設中斷請求被遮蔽,雖然這個外設準備工作已經完成,也不能發出中斷請求。
2.中斷排隊 中民申請是隨機的,有時會出現多箇中斷源同時提出中斷申請。但CPU每次只能響應一斷源的請求,那麼究竟先響應哪一個中斷源的請求呢?這就必須根據各中斷源工作性質的輕重緩急,預先安排一個優先順序順序,當多箇中斷源同時申請中斷時,即按此優先順序順序進行排隊,等候CPU處理。一般是把最緊迫和速度最高的裝置排在最優先的位置上。CPU首先響應優先級別最高的中斷源。當中斷處理完畢,再響應級別低的中斷申請。 中斷排隊可以採用硬體的方法,也可以採用軟體的方法。前者速度快,但需要增加硬裝置;後者無需增加硬裝置,但速度慢,特別是中斷源很多時尤為突出。 軟體優用查詢技術:當CPU響應中斷後,就用軟體查詢以確定是哪些外設申請中斷,並判斷它們的優先權。當CPU響應中斷後,把中斷暫存器的狀態作為一個外設讀入CPU,逐位檢測它們的狀態,若哪一位為1,則該位對應的外設有中斷請求,應轉到相應的服務程式的入口。
一個完整的中斷處理過程應該包括:中斷請求、中斷排隊或中斷判優、中斷響應、中斷處理和中斷返回等環節。
1.中斷請求 中斷請求是由中斷源向CPU發出中斷請求訊號。外部裝置發出中斷請求訊號要具備以下兩個條件: (1)外部裝置的工作已經告一段落。例如輸入裝置只有在啟動後,將要輸入的資料送到介面電路的資料暫存器(即準備好要輸入的資料)之後,才可以向CPU發出中斷請求。 (2)系統允許該外設發出中斷請求。如果系統不允許該外設發出中斷請求,可以將這個外設的請求遮蔽。當這個外設中斷請求被遮蔽,雖然這個外設準備工作已經完成,也不能發出中斷請求。
2.中斷排隊 中民申請是隨機的,有時會出現多箇中斷源同時提出中斷申請。但CPU每次只能響應一斷源的請求,那麼究竟先響應哪一個中斷源的請求呢?這就必須根據各中斷源工作性質的輕重緩急,預先安排一個優先順序順序,當多箇中斷源同時申請中斷時,即按此優先順序順序進行排隊,等候CPU處理。一般是把最緊迫和速度最高的裝置排在最優先的位置上。CPU首先響應優先級別最高的中斷源。當中斷處理完畢,再響應級別低的中斷申請。 中斷排隊可以採用硬體的方法,也可以採用軟體的方法。前者速度快,但需要增加硬裝置;後者無需增加硬裝置,但速度慢,特別是中斷源很多時尤為突出。 軟體優用查詢技術:當CPU響應中斷後,就用軟體查詢以確定是哪些外設申請中斷,並判斷它們的優先權。當CPU響應中斷後,把中斷暫存器的狀態作為一個外設讀入CPU,逐位檢測它們的狀態,若哪一位為1,則該位對應的外設有中斷請求,應轉到相應的服務程式的入口。