併發程式設計基礎底層原理學習(一)

Sierra、發表於2022-04-17
計算機基本構成

計算機主要由處理器,儲存器,輸入/輸出裝置組成。

  • 處理器:控制計算機的操作,執行程式資料處理,只有一個處理器時,它通常指中央處理器 (CPU)
  • 記憶體:儲存資料和程式,該類儲存器是易失性的,即計算機關機時儲存器的內容會丟失,而磁碟儲存器在計算機關閉時不會丟失
  • 輸入/輸出模組:在計算機與外部環境之間移動資料
計算機指令

處理器執行的程式是由一組儲存在儲存器中的指令組成。最簡單的指令處理包括兩步:處理器從儲存器中一次讀取一條指令然後執行每條指令。程式的執行就是由不斷重複的取指令和執行指令的過程組成的。處理器從儲存器中讀取一條指令,程式計數器(Program Counter) 儲存下一次要讀取的指令地址。

中斷

中斷通常是用於提高處理器效率的一種手段,多數IO裝置遠遠慢於處理器,例如在使用印表機時,在每次寫操作後處理器必須暫停並保持空閒,直到印表機裝置完成工作,毫無疑問,暫停的這段時間對處理器來說是非常浪費的。下圖展示了中斷的幾種分類:

image-20220416221612599

利用中斷功能,處理器可以在I/O操作的執行過程中執行其他指令,中斷打斷了正常的執行順序,中斷處理完成後再恢復執行,使用者程式不需要為中斷新增任何處理的程式碼,處理器和作業系統負責掛起使用者程式,然後在同一個地方恢復執行。

快取記憶體

處理器讀取指令時至少要訪問一次儲存器,而且通常需要多次訪問儲存器用於儲存程式執行結果,處理器執行指令的速度顯然受到儲存器讀寫速度的影響,而處理器速度遠遠超過儲存器,處理器與記憶體速度的不匹配已經成為很嚴重的問題。理想狀態下,記憶體的構造技術使用與處理器中暫存器相同的構造技術,這樣的話記憶體的速度與處理器差不多,但是成本過於昂貴。解決辦法時利用區域性性原理,在處理器和記憶體之間提供一個容量小且速度快的儲存器,稱為快取記憶體。

image-20220417002728159

三級快取記憶體結構如上圖所示。2級快取比1級快取要慢但是2級快取容量較大,而3級快取比2級快取慢而容量要比2級快取大。

相關文章