處理機(處理器)
中央處理器(CPU):處理器由運算器、控制器、一系列的寄存器)以及高速緩存構成
寄存器:
用戶可見寄存器
控制和狀態寄存器:用於控制處理器的操作通常由操作系統代碼使用
程序計數器(pc):記錄將要取出的指令的地址
指令寄存器(ir):記錄最近取出的指令
程序狀態字(psw):記錄處理器的運行狀態如條件碼、模式、控制位等信息
操作系統對硬件的需求
從操作系統的特徵考慮:併發、共享----需要保護
處理器的狀態:
在程序狀態字寄存器中專門設置一位,根據運行程序對資源和指令的使用權限而設置不同的CPU狀態
操作系統需要的兩種CPU狀態:
內核態:運行操作系統程序
用戶態:運行用戶程序
特權指令:只能由操作系統使用、用戶程序不能使用的指令
非特權指令:用戶程序可以使用的指令
x86系列的處理器:
X86支持4個處理器特權級別:
特權環: RO、R1、R2和R3,從R0到R3,特權能力由高到低
R0相當於內核態
R3相當於用戶態
R1和R2介於兩者之間
CPU之間的轉換
用戶態--->內核態:
唯一途徑:中斷/異常/陷入機制
內核態--->用戶態
設置程序狀態字PSW
中斷與異常機制:
概念:時CPU對系統發生的某個事件作出的一種反應(事件的發生改變了CPU的控制流)
CPU暫停正在執行的程序,保留現場後自動轉去執行相應事件的處理程序,處理完成後返回斷點繼續執行被打斷的程序
中斷的引入:
爲了支持CPU和設備之間的並行操作
當CPU啓動設備進行輸入/輸出後,設備便可以獨立工作,CPU轉去處理與此次輸入/輸出不相關的事情;當設備完成輸入/輸出後,通過向CPU發中斷,報告此次輸入/輸出的結果,讓CPU決定如何處理以後的事情
異常的引入:
表示CPU執行指令時本身出現的問題
如算術溢出、除零、取數時的奇偶錯,訪存地址時越界或執行了“陷入指令”等,這時硬件改變了CPU當前的執行流程,轉到相應的錯誤處理程序或異常處理程序或執行系統調用
舉例:
1.看書過程中來電話,在所看處放置書籤,然後去打電話,電話打完後在書籤處繼續看書----中斷
2.看書過程中來口渴,在所看處放置書籤,然後去打喝水,喝完水後在書籤處繼續看書,口渴----異常
事件:
中斷(外中斷):
I/O中斷:Ctrl+C
時鐘中斷:CPU時間片
硬件故障:電池沒電
異常(內中斷):(陷入、故障、終止)
系統調用
頁故障
保護性異常
斷點指令
其他程序異常
總結:中斷是CPU的外部事件,異常是CPU內部發生故障
中斷與異常工作原理
硬件應該幹什麼-----中斷/異常響應:捕獲中斷源發出的中斷/異常請求,以一定的方式響應,將處理器控制權交給特定額的處理程序
軟件應該幹什麼-----中斷/異常處理程序:識別中斷/異常類型並完成相應的處理
中斷響應:
開始---取下一條指令---執行指令---檢查指令(處理中斷)
在每條指令執行週期的最後時刻掃描中斷,若有中斷,中斷硬件寄存器,查看是否有將該中斷觸發器內容中斷信號?按規定編碼送入PSW的相應住,稱爲中斷碼,通過查中斷向量表引出中斷處理程序
處理器機制
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.