- 詳解中斷系統
中斷系統是計算機的重要名額之一。可以解決快速CPU與慢速外設之間的沖突,使之能并行工作。可以及時處理随機參數及故障,提高可靠性。
1. 中斷流程
中斷請求-中斷響應-保護斷點-中斷服務-中斷傳回。
2. 中斷概念
(1)中斷系統:實作中斷功能的硬體系統和軟體系統
(2)中斷源:産生中斷的請求源
(3)中斷請求:中斷源向CPU提出的處理請求。
(4)中斷響應:CPU暫時中止自身的事情,轉去處理事件的過程
(5)中斷服務:對事件的整個處理過程。也稱為中斷處理
(6)中斷傳回:中斷處理完畢,在傳回到原來被中止的地方
3. 中斷系統的一般功能
中斷系統一般應具有如下功能:
-
實作中斷及傳回
當某中斷源發出中斷申請時,若允許響應,CPU必須在現行的指令執行完後,把斷點處的PC值壓入堆棧儲存,稱為保護斷點。(硬體自動完成)
保護現場——響應中斷後,将有關的寄存器内容和狀态标志位壓入堆棧儲存。
恢複現場——執行中斷服務程式後,恢複原保留的寄存器的内容和标志位的狀态,并執行傳回指令“RETI”(使用者程式設計實作)
-
實作優先權排隊
當同時有多個中斷請求信号,先響應優先級别高的中斷請求。
-
實作中斷嵌套
中斷申請的中斷源的優先權級别與正在處理的中斷源同級或更低時,CPU暫時不響應這個中斷申請,直至正在處理的中斷服務程式執行完以後才去處理新的中斷申請。
-
實作中斷的撤除
在響應中斷後,傳回主程式之前,中斷請求應該撤除,否則,将影響對其它中斷申請的響應。
MCS-51中斷系統隻能對一部分中斷申請,在響應後自動撤除,使用中應注意。
4. 調用中斷服務程式與調用子程式的差別
- 事先安排和随機發生
- 軟體調用和硬體自動完成
- 中斷服務程式入口位址是固定的,子程式調用入口位址是使用者自己設定的。
- 中斷服務子程式傳回指令除具有子程式傳回指令所具有的全部功能之外,還有清除中斷響應時被置位的中斷請求标志位的功能。
- 中斷服務子程式是在滿足中斷申請的條件下,随機發生的;而子程式調用是使用者主程式事先安排好的。