中斷(interrupt)是指程式執行過程中,當發生某個事件時,中止cpu上現行程式的執行,引出處理該事件的服務程式執行的過程
簡單點說就是,中斷是乙個過程。其中,引起中斷的事件稱為中斷源,發現中斷源並產生中斷的硬體成為中斷裝置
作為發現中斷源的裝置,主要做三件事:
- 發現中斷源,根據中斷的優先順序發出中斷請求
- 保護現場,將程序的psw儲存下來,待中斷結束繼續執行
- 啟動中斷處理程式
自己繪製乙個中斷處理的流程圖方便理解吧。。
由於不在關注範圍內,就列舉一下都有哪些吧
- 電源故障處理
- 主儲存器故障處理
- 程式性中斷事件的處理
會設定乙個中斷續元入口表,貌似就是設定乙個01表,每個位置對應相應編號的中斷續元入口是否存在,如果是1就跳轉至相應的中斷續元入口!下面開始正題:
時鐘中斷事件處理:
時鐘分為絕對時鐘和間隔時鐘
- 絕對時鐘中斷
當絕對時鐘暫存器滿溢時,觸發一次中斷,主存固定單元+1
- 間隔時鐘中斷
定時將間隔暫存器的內容減一,當為0後產生乙個間隔時鐘中斷(鬧鐘作用)
時鐘的一大作用是發現陷入死迴圈的程序
使用者執行仿管指令(包括操作碼和仿管引數兩部分)
自願訪管中斷和系統掉電中斷不能被禁止
中斷優先順序實現方式:
- 硬體:硬體鏈式排隊器
- 軟體:編寫查詢程式
多重中斷事件的處理:
重要的事說三遍,是巢狀不是遞迴,是巢狀不是遞迴,是巢狀不是遞迴,巢狀一般不超過三重,且只能是高優先順序中斷低優先順序處理程式
時鐘中斷技術
時鐘中斷技術 1系統中斷與時鐘節拍 1.1 系統中斷 中斷是一種硬體機制,用於通知cpu有個非同步事件發生了。中斷一旦被系統識別,cpu則儲存部分 或全部 現場 context 即部分 或全部 暫存器的值,跳轉到專門的子程式,稱為中斷服務子程式 isr 中斷服務子程式做事件處理,處理完成後執行任務排...
linux中斷分層技術分析
linux中斷巢狀處理 概念 當一種型別的中斷發生時又產生另外一種中斷 慢速中斷 當處理中斷函式時,中斷總開關是不關閉的,允許別的中斷產生。1.不同中斷裝置 處理中斷開始。發生另外中斷,執行發生的中斷,執行完成,返回之前的中斷處理函式繼續執行。2.相同型別裝置 處理中斷開始。發生另外中斷,忽略發生的...
Linux學習 中斷和中斷處理
2 中斷處理程式 3 上半部和下半部的對比 處理器的速度和外圍裝置的速度相差太遠,為了解決讓核心不做過多的無用功 使用輪詢 這是就需要一種機制在硬體需要時再向核心發出訊號 中斷機制 中斷機制可以更好的協同處理器和外部裝置,並且提高機器的效能 中斷 指的是可以使得硬體得以發出通知給處理器,中斷可以隨時...