處理器管理


處理器與寄存器

處理器部件的簡單示意

用戶程序可見寄存器

可以使程序員減少訪問主存儲器的次數,提高指令執行的效率,所有程序可使用,包括應用程序和系統程序

  • 數據寄存器:又稱通用寄存器
  • 地址寄存器:索引、棧指針、段地址等寄存器

控制與狀態寄存器

用於控制處理器的操作;主要被具有特權的操作系統程序使用,以控制程序的執行,程序計數器PC:存儲將取指令的地址,指令寄存器IR:存儲最近使用的指令,條件碼CC:CPU為指令操作結果設置的位,標志正/負/零/溢出等結果,標志位:中斷位、中斷允許位、中斷屏蔽位、處理器模式位、內存保護位、...,等

程序狀態字PSW

PSW既是操作系統的概念,指記錄當前程序運行的動態信息,通常包含:程序計數器,指令寄存器,條件碼,中斷字,中斷允許/禁止,中斷屏蔽,處理器模式,內存保護、調試控制

PSW也是計算機系統的寄存器,通常設置一組控制與狀態寄存器,也可以專設一個PSW寄存器

指令與處理器模式

機器指令

機器指令是計算機系統執行的基本命令,是中央處理器執行的基本單位,指令由一個或多個字節組成,包括操作碼字段、一個或多個操作數地址字段、以及一些表征機器狀態的狀態字以及特征碼,指令完成各種算術邏輯運算、數據傳輸、控制流跳轉

指令執行過程

CPU根據PC取出指令,放入IR,並對指令譯碼,然后發出各種控制命令,執行微操作系列,從而完成一條指令的執行

一種指令執行步驟如下:

  • 取指:根據PC從存儲器或高速緩沖存儲器中取指令到IR
  • 解碼:解譯IR中的指令來決定其執行行為
  • 執行:連接到CPU部件,執行運算,產生結果並寫回,同時在CC里設置運算結論標志;跳轉指令操作PC,其他指令遞增PC值

特權指令與非特權指令

用戶程序並非能夠使用全部機器指令,那些與計算機核心資源相關的特殊指令會被保護,如:啟動I/O指令、置PC指令、等等,核心資源相關的指令只能被操作系統程序使用

  • 特權指令:只能被操作系統內核使用的指令
  • 非特權指令:能夠被所有程序使用的指令

處理器模式

計算機通過設置處理器模式實現特權指令管理,計算機一般設置0、1、2、3等四種運行模式,建議分別對應:0操作系統內核、1系統調用、2共享庫程序、3用戶程序等保護級別,0模式可以執行全部指令;3模式只能執行非特權指令;其他每種運行模式可以規定執行的指令子集,一般來說,現代操作系統只使用0和3兩種模式,對應於內核模式和用戶模式,處理器模式的切換,簡稱模式切換,包括“用戶模式→內核模式”和“內核模式→用戶模式”的轉換

中斷、異常或系統異常等事件導致用戶程序向OS內核切換,觸發:用戶模式→內核模式:程序請求操作系統服務,程序運行時發生異常,程序運行時發生並響應中斷;OS內核處理完成后,調用中斷返回指令(如Intel的iret)觸發:內核模式→用戶模式

中斷

中斷的概念

中斷是指程序執行過程中,遇到急需處理的事件時,暫時中止CPU上現行程序的運行,轉去執行相應的事件處理程序,待處理完成后再返回原程序被中斷處或調度其他程序執行的過程,操作系統是“中斷驅動”的;換言之,中斷是激活操作系統的唯一方式,中斷有廣義和狹義之分,上述中斷是指廣義的中斷

中斷、異常與系統異常

  • 狹義的中斷指來源於處理器之外的中斷事件,即與當前運行指令無關的中斷事件,如I/O中斷、時鍾中斷、外部信號中斷等
  • 異常指當前運行指令引起的中斷事件,如地址異常、算術異常、處理器硬件故障等
  • 系統異常指執行陷入指令而觸發系統調用引起的中斷事件,如請求設備、請求I/O、創建進程等

陷入指令:也稱訪管指令,或異常中斷指令,計算機系統為實現系統調用而引起處理器中斷的指令

中斷源–處理器硬件故障中斷事件

由處理器、內存儲器、總線等硬件故障引起,處理原則為:保護現場,停止設備,停止CPU,向操作員報告,等待人工干預

中斷源-程序性中斷事件

處理器執行機器指令引起,除數為零、操作數溢出等算術異常:簡單處理,報告用戶;也可以由用戶編寫中斷續元程序處理,非法指令、用戶態使用特權指令、地址越界、非法存取等指令異常:終止進程,終止進程指令:終止進程,虛擬地址異常:調整內存后重新執行指令

中斷源-自願性中斷事件

處理器執行陷入指令請求OS服務引起;在操作系統中,它一般又被稱作系統調用,請求分配外設、請求I/O、等等,處理流程是:陷入OS,保護現場,根據功能號查入口地址,跳轉具體處理程序

中斷源-I/O中斷事件

來源於外圍設備報告I/O狀態的中斷事件,I/O完成:調整進程狀態,釋放等待進程,I/O出錯:等待人工干預,I/O異常:等待人工干預

中斷源-外部中斷事件

由外圍設備發出的信號引起的中斷事件,時鍾中斷、間隔時鍾中斷:記時與時間片處理,設備報到與結束中斷:調整設備表,鍵盤/鼠標信號中斷:根據信號作出相應反應,關機/重啟動中斷:寫回文件,停止設備與CPU


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM