第一章:計算機系統概論 ||《操作系統:精髓與設計原理》
一、基本構成
1、處理器
2、內存
3、輸入輸出模塊
4、系統匯流排
二、處理器寄存器
1、用戶可見寄存器
1)數據寄存器
2)地址寄存器
- 變址寄存器
- 段指針
- 棧指針
2、控制和狀態寄存器
- 程序計數器
- 指令寄存器
三、指令的執行
指令周期包含兩個步驟:
- 取指令
- 執行指令
開始->取下一條指令->執行指令->停止
^________循環______|
1、取指令和執行指令
一條機器可以指定的4種操作:
- 處理器-存儲器:處理器和存儲器之間傳輸數據
- 處理器-I/O:處理器和I/O設備之間傳輸數據
- 數據處理:算術運算和邏輯運算
- 控制:改變執行順序
2、I/O函數
略
四、中斷
- 程序中斷:除以0、算術溢出,以用戶模式訪問內核模式才能訪問的存儲位置等
- 時鐘中斷:由處理器內部計時器產生的中斷
- I/O中斷:由I/O控制器產生的中斷
- 硬體故障中斷:掉電、存儲器就錯誤等
1、中斷和指令周期
開始->取下一條指令----->執行指令->檢查中斷->停止
^________循環__|(不允許中斷) |
^_________________________(允許中斷)
2、中斷處理
硬體:
- 中斷產生
- 處理器結束當條指令運行
- 處理器發送中斷應答信號
- 處理器將PSW、PC壓入系統控制棧
- 根據中斷載入新的PC值
接下來的步驟是軟體部分:
- 保存剩餘的狀態信息
- 處理中斷
- 恢復處理狀態信息
- 恢復老PSW和PC值
3、多個中斷
兩種策略:
- 中斷時禁止中斷
- 定義中斷優先順序,允許高優先順序的中斷打斷低優先順序的中斷
4、多道程序設計
定義:多道程序設計是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。
目的:即使用了中斷,處理器仍然無法得到很好的利用,比如I/O中斷。為了進一步提高CPU利用率便有了多道程序設計。
五、存儲器的層次結構
存儲器的三個目標:容量大、速度快、價格低。
三個目標相互矛盾,為了解決這個問題,便有了存儲器的分層設計,層次越高的存儲器速度越快、容量越小、價格越高。越底層的則反之。其背後的依據是:局部性原理。
六、高速緩存
1、動機
為了解決三個目標的矛盾,在處理器和主存之間設置一個快而小的存儲器作為高速緩存。
2、原理
局部性原理,由於訪問的局部性現象存在,讀入的一塊數據到高速緩存區域以滿足一次存儲器訪問時,接下來的多次存儲器訪問也很可能是數據塊中的其他位元組。
3、高速緩存的設計
幾個問題:高速緩存的大小、塊大小、映射函數、替換演算法、寫策略。
七、I/O通信技術
三種I/O操作:
- 可編程I/O:CPU遇到I/O指令時,將命令發送至相應I/O模塊,進入忙等,直至操作完成。
- 中斷驅動I/O:CPU遇到I/O指令後,將命令發送至相應I/O模塊,直到I/O準備好後中斷CPU,並繼續執行接下來的指令,如果接下來的指令需要上面的I/O,進程在中斷之前將被掛起。傳輸數據仍需通過CPU。
- 直接存儲訪問:DMA負責存儲器和I/O模塊之間的數據交換,直到數據塊全部傳送完畢後才會中斷CPU。CPU只有在開始傳送和結束時才需要參與。
PS:
廣告時間啦~
理工狗不想被人文素養拖後腿?不妨關注微信公眾號:
推薦閱讀:
※進程與進程管理 | 死鎖的基本概念處理死鎖的基本方法
※重裝系統後出現流氓軟體
※CPU調度
※什麼是KMS
※深入計算機底層,從幾本靠譜的書開始