作業系統精髓與設計原理筆記——計算機系統概述
關鍵術語
暫存器(Register ):暫存器是中央處理器內的組成部分。暫存器是有限存貯容量的高速存貯部件,它們可用來暫存指令,資料和地址。
地址暫存器(CommandRegister MR ):用來儲存當前 CPU所訪問的記憶體單元的地址。由於在記憶體和CPU之間存在著操作速度上的差別,所以必須使用地址暫存器來保持地址資訊,直到記憶體的讀/寫操作完成為止。儲存器地址暫存器(Memory Address Register MAR),用於下一次讀/寫的儲存器地址;I/O地址暫存器(I/O Address Register I/O AR),用於確定一個特定的輸入輸出裝置。
指令暫存器(Instruction Register IR):將從地址暫存器取出的指令放在處理器的一個暫存器中,該放置指令的暫存器暫存器稱為指令暫存器。
資料暫存器:用來暫時存放計算過程中所用到的運算元、結果和資訊。
輔助儲存器:又稱二級儲存器,主要表現為非易失性,主要儲存程式和資料檔案,其表現形式是程式設計師可以看到的檔案和記錄,而不是單個位元組或字。
中斷(Interrupt):用於提高處理器效率的一種手段,中斷整體可以分為4大類
程式中斷 | 在某些條件下由指令執行的結果產生,如算術溢位、除數為0、試圖執行一條非法機器指令及訪問使用者不允許的儲存器位置 |
時鐘中斷 | 由處理器的計時器產生,允許作業系統以一定的規律執行函式 |
I/O中斷 | 由I/O控制器產生,用於發訊號通知一個操作的正常完成或各種錯誤條件 |
硬體失效中斷 | 由諸如掉電或儲存器奇偶校驗錯之類的故障產生 |
中斷驅動I/O:由處理器給I/O模組傳送I/O命令,然後處理器繼續做其他一些有用的工作。當I/O模組準備好與處理器交換資料時,他將打斷處理器的執行並請求服務。
計算機的基本構成
-----------------------------------------------------------------------------------------------------------------------------------
處理器:控制計算機的操作,執行資料處理功能
記憶體:儲存資料和程式。此類儲存器通常是易失性的,既當計算機關機時,儲存器的內容會丟失
I/O模組:在計算機和外部存取器之間移動資料。外部環境由各種外部裝置組成,包括輔助儲存器裝置(如硬碟)、通訊裝置和終端。
系統匯流排:在處理器、記憶體和I/O模組間提供通訊的設施
中央處理單元(CPU):當計算機只有有個處理器時,通常此處理器稱為中央處理器,也稱為中央處理單元
---------------------------------------------------------------------------------------------------------------------------------------------
快取記憶體:快取記憶體是用來協調CPU與主存之間存取速度的差異而設定的。一般情況下,CPU的工作速度高,但記憶體的工作速度相對較低,為了解決這個問題,通常使用快取記憶體,快取記憶體的存取速度介於CPU和主存之間。系統將一些CPU在近幾個時間段經常訪問的內容存入高速緩衝,當CPU需要使用資料時,先在快取記憶體中找,如果找到,就不必訪問記憶體了,找不到時,再找記憶體,這樣就在一定程度上緩解了由於主存速度低造成的CPU“停工待料”的情況。
可程式設計I/O:當處理器正在執行程式並遇到一個與I/O相關的指令時,他會通過給相應的I/O模組發命令來執行這個指令。
分級儲存體系:分級儲存是將資料採取不同的儲存方式分別儲存在不同效能的儲存裝置上,減少非重要性資料在一級本地磁碟所佔用的空間,還可加快整個系統的儲存效能。
直接記憶體讀取(Direct Memory Access DMA):是所有現代電腦的重要特色,它允許不同速度的硬體裝置來溝通,而不需要依賴於 CPU 的大量中斷負載。否則,CPU 需要從來源把每一片段的資料複製到暫存器 ,然後把它們再次寫回到新的地方。在這個時間中,CPU 對於其他的工作來說就無法使用。
命中率:終端使用者訪問加速節點時,如果該節點有快取住了要被訪問的資料時就叫做命中,如果沒有的話需要回原伺服器取,就是沒有命中。取資料的過程與使用者訪問是同步進行的,所以即使是重新取的新資料,使用者也不會感覺到有延時。 命中率=命中數/(命中數+沒有命中數), 快取命中率是判斷加速效果好壞的重要因素之一
程式計數器(Program Counter):儲存下一次要讀取的指令地址,除非出現特殊情況,否則處理器在每次取指令後總是遞增PC,以便能按順序取下一條指令
指令:處理器執行的程式是由一組儲存在儲存器中的指令組成的。最簡單的指令處理包括兩步:處理器從儲存器一次讀取一條指令,然後執行每條指令
指令週期:單個指令所需要的處理稱為一個指令週期
多核:多核是指在一枚處理器中整合兩個或多個完整的計算引擎
多處理器:在一枚處理器中整合兩個或多個完整的計算引擎,此時處理器能支援系統總線上的多個處理器,由匯流排控制器提供所有匯流排控制訊號和命令訊號
晶片多處理器:將兩個或多個處理器組裝在同一塊矽上的計算機
區域性性:在執行程式期間,處理器的指令訪存和資料訪存呈“簇”(指一組資料集合)狀。
空間區域性性:在最近的將來將用到的資訊很可能與現在正在使用的資訊在空間地址上是臨近的。
時間區域性性:如果一個資訊項正在被訪問,那麼在近期它很可能還會被再次訪問。
棧:又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。
堆疊結構:向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧指標:在棧操作過程中,指出棧頂元素所在的位置
複習題
1.1 指出並簡要定義計算機的4個基本組成部分?
處理器:控制計算機的操作,執行資料處理功能
記憶體:儲存資料和程式。此類儲存器通常是易失性的,既當計算機關機時,儲存器的內容會丟失
I/O模組:在計算機和外部存取器之間移動資料。外部環境由各種外部裝置組成,包括輔助儲存器裝置(如硬碟)、通訊裝置和終端。
系統匯流排:在處理器、記憶體和I/O模組間提供通訊的設施
1.2 定義處理器暫存器的兩種主要類別?
儲存器地址暫存器(Memory Address Register MAR),用於下一次讀/寫的儲存器地址;
I/O地址暫存器(I/O Address Register I/O AR),用於確定一個特定的輸入輸出裝置。
1.3 一般而言,一條機器指令能指令的4種不同操作是什麼?
處理器-儲存器 :資料可以從處理器傳送到儲存器,或從儲存器傳送到處理器
處理器-I/O:通過處理器和I/O模組間的資料傳送,資料可以輸出到外部裝置,或從外部裝置向處理器輸入資料。
資料處理:處理器可以執行很多與資料相關的算術操作和邏輯操作
控制:某些指令可以改變執行順序。例如:處理器從地址為149的儲存單元中取出一條指令,該指令指定下一條指令應該從地址為182的儲存單元中取,這樣處理器就會把PC置為182.因此在下一個取址階段,將從地址為182的儲存單元而非150的儲存單元獲取指令。
指令的執行可能涉及這些動作的組合。
1.4 什麼是中斷?
1.5 多箇中斷的處理方式是什麼?
處理方式 | 優點 | 缺點 |
在處理一箇中斷時,禁止再發生中斷 | 實現簡單,所有中斷都嚴格按照順序處理 | 未考慮相對優先順序和時間限制的要求,有可能由於I/O裝置的緩衝區裝滿或溢位而丟失資料 |
定義中斷優先順序,允許高優先順序中斷打斷低優先順序中斷的執行 |
1.6 記憶體層次各個元素間的特徵是什麼?
每”位“的價格遞減;容量遞增;存取時間遞增;處理器訪問儲存器的頻率遞減
1.7 什麼是快取記憶體?
利用區域性性原理,在處理器和記憶體之間提供一個容量小且速度快的儲存器,稱為快取記憶體。
1.8 多處理器系統和多核系統的區別是什麼?
1.9 空間區域性性和時間區域性性的區別是什麼?
空間區域性性指涉及多簇儲存器單元的執行趨勢,反映了處理器順序訪問指令的傾向,同時也反映了程式順序訪問資料單元的傾向,如處理資料表;
時間區域性性指處理器訪問最近使用過的儲存器單元的趨勢,例如在執行一個迴圈時,處理器重複執行相同的指令集合
1.10 開發空間區域性性和時間區域性性的策略是什麼?
時間區域性性是通過將近來使用的指令和資料儲存到快取記憶體中並使用快取記憶體的層次結構實現的;
空間區域性性通常是使用較大的快取記憶體並將預取機制整合到快取記憶體控制邏輯中實現。