處理器管理

来源:https://www.cnblogs.com/ygjzs/archive/2020/02/20/12335214.html
-Advertisement-
Play Games

處理器與寄存器 處理器部件的簡單示意 用戶程式可見寄存器 可以使程式員減少訪問主存儲器的次數,提高指令執行的效率,所有程式可使用,包括應用程式和系統程式 + 數據寄存器:又稱通用寄存器 + 地址寄存器:索引、棧指針、段地址等寄存器 控制與狀態寄存器 用於控制處理器的操作;主要被具有特權的操作系統程式 ...


處理器與寄存器

處理器部件的簡單示意

用戶程式可見寄存器

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

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

控制與狀態寄存器

用於控制處理器的操作;主要被具有特權的操作系統程式使用,以控製程序的執行,程式計數器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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近由於疫情緊張,遂在家辦公,在領導的帶領下,學習了一下.Net Core MVC。 一,構建web應用 1.選擇c#-所有平臺-web 找到ASP.NET Core web應用程式 2.項目命名之後轉至如下界面:選擇Web應用程式(模型視圖控制器)。 Ok點擊創建,這個項目的基本框架就生成了。 二 ...
  • Linux tcpdump 命令詳解,常用命令選項與常見示例 ...
  • Kubernetes網路模型本身對某些特定的網路功能有一定要求,但在實現方面也具有一定的靈活性。業界已經有不少不同的網路方案,來滿足特定的環境和要求。 CNI(container network interface)是容器網路介面,它是一種標準設計和庫,為了讓用戶在容器創建或者銷毀時都能夠更容易的配 ...
  • 在內容開始前請教一下博客園的大佬。編輯器中沒有看到格式刷,要怎麼不連續的選中內容給予想要的格式,有看到的麻煩私信解答一下,謝謝! 學好英語是學好電腦相關技術的基礎,英語學好很重要! 今天學到的主要英語單詞有 1.faild 無效的 2.reference 參考 3.specific 特殊 4.co ...
  • 中斷系統 中斷系統是電腦系統中響應和處理中斷的系統,包括硬體子系統和軟體子系統兩部分,中斷響應由硬體子系統完成,中斷處理由軟體子系統完成 中斷響應處理與指令執行周期 在指令執行周期最後增加一個微操作,以響應中斷 中斷裝置 電腦系統中發現並響應中斷/異常的硬體裝置稱為中斷裝置,由於中斷源的多樣性, ...
  • cd 切換目錄 cd /bin 切換到bin目錄(指定目錄),cd即change dir cd .. 切換過到當前目錄的上一級目錄,可以用..,也可以用../ cd / 切換到系統根目錄 cd ~ 切換到當前用戶的根目錄,比如我的用戶名是chy => /home/chy cd - 切換到上一個目錄, ...
  • 1. firewalld的基本使用 查看狀態:systemctl status firewalld 啟動:systemctl start firewalld 停止:systemctl stop firewalld 啟用:systemctl enable firewalld 禁用:systemctl ...
  • 傳統存儲器的技術局限以及不斷縮小的製造尺寸所帶來的巨大挑戰促使科研人員開始尋找新一代存儲器件,它應具有接近靜態存儲器的納秒級讀寫速度,具有動態存儲器甚至快閃記憶體級別的集成密度和類似Flash的非易失性存儲特性。 “萬能存儲器”概念作為新一代存儲器的要求被提出來。自旋轉移矩—磁隨機存儲器器件(Spin T ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...