1. 程式人生 > >計算機系統中的儲存系統

計算機系統中的儲存系統

計算機系統中包含各種儲存器,如CPU內部的通用暫存器組、CPU內的Cache(快取記憶體)、CPU外部的Cache、主機板上的主儲存器、主機板外的聯機磁碟儲存器以及離線的磁帶儲存器和光碟儲存器等。不同特點的儲存器通過適當的硬體、軟體有機地組合在一起形成計算機的儲存體系結構。

儲存器的層次結構

在這裡插入圖片描述

儲存器的分類

在這裡插入圖片描述

相聯儲存器

相聯儲存器是一種按內容訪問的儲存器。

其工作原理就是把資料或資料的某一部分作為關鍵字,按順序寫入資訊,讀出時並行地將該關鍵字與儲存器中的每一單元進行比較,找出儲存器中所有與關鍵字相同的資料字,特別適合資訊的檢索與更新。 在這裡插入圖片描述 輸入檢索暫存器:存放要檢索的內容(關鍵字);

遮蔽暫存器:遮蔽不參與檢索的欄位;

比較器:將檢索的關鍵字與儲存體的每一單元進行比較,為了提高速度,比較器一般比較多;

匹配暫存器:儲存比較結果;

相聯儲存器可用在高速緩衝器中,在虛擬儲存器中用來作為段表、頁表或快表儲存器。

快取記憶體

快取記憶體用來存放當前最活躍的程式和資料,特點:位於CPU和主存之間;容量一般在幾千位元組到幾兆位元組之間;速度一般比主存快5~10倍,由快速半導體儲存器構成;內容是主存區域性域的副本,對程式設計師來說是透明的。 在這裡插入圖片描述 (1)快取記憶體的組成 儲存器部分:存放主存的部分拷貝資訊;

控制部分:判斷CPU要訪問的資訊是否在Cache儲存器中,名中則直接對Cache儲存器定址;未命中時,按照替換原則將主存中的資訊加入到Cache儲存器。

(2)快取記憶體的地址映像方法

直接映像:

主存的塊與Cache塊的對應關係是固定的,主存中的塊只能存放在Cache儲存器的相同塊號中,因此只要主存地址中的主存區號與Cache中的記錄的主存區號相同,則表明訪問Cache命中。 在這裡插入圖片描述 特點:地址變換簡單,但是靈活性差,不同區號中塊號相同的塊無法同時調入Cache儲存器,即使Cache儲存器中有空著的塊也不能利用。

全相聯映像:

主存與Cache儲存器均分成大小相同的塊,這種映像方式允許主存的任意一塊可以調入Cache儲存器的任意一塊的空間中在這裡插入圖片描述 特點:主存的塊調入Cache的位置不受限制,十分靈活,但是地址變換比較複雜,速度較慢。

組相聯映像:

這種方式是前兩種方式的折中,具體方法是將Cache中的塊再分組,規定組採用直接映像方式而塊採用全相聯方式

,也就是說主存一組中的任一快可以存入Cache相應組的任一塊中。

(3)替換演算法 替換演算法的目標就是使Cache獲得儘可能高的命中率。常用演算法有如下幾種:隨機替換演算法、先進先出演算法(FIFO)、近期最少使用演算法、優化替換演算法。

(4)Cache效能分析 Cache的效能是計算機系統性能的重要方面。命中率是Cache的一個重要指標。Cache設計的目標是在成本允許的條件下達到較高的命中率,使儲存系統具有最短的平均訪問時間。

Cache容量越大,則命中率越高隨著Cache容量的增加,其失效率接近0%(命中率接近100%),但是,增加Cache容量意味著增加Cache的成本和增加Cache的命中時間。

(5)多級Cache 在多級Cache的計算機中,Cache分為一級(L1 Cache)、二級(L2 Cache)、三級(L3 Cache)等,CPU訪存是首先查詢L1 Cache,如果不命中,則訪問L2 Cache,直到所有級別的Cache都不命中,才訪問主存。通常要求L1 Cache的速度足夠快,以趕上CPU的主頻 在這裡插入圖片描述

虛擬儲存器

在概念上,可以將主存儲存器看作一個由若干個位元組構成的儲存空間,每個位元組(稱為儲存單元)有一個地址編號,主存單元的該地址稱為實體地址。當需要訪問主存中的資料時,由CPU給出要訪問資料所在的儲存單元地址,然後由主存的讀寫控制部件定位對應的儲存單元,對其進行讀(或寫)操作來完成訪問操作。

虛擬儲存是一種對主存的抽象,使用虛擬地址(由CPU生成)的概念來訪問主存,使用專門的MMU(記憶體管理單元)將虛擬地址轉換為實體地址後訪問主存。

虛擬儲存器實際上是一種邏輯儲存器,實質是對物理儲存裝置進行邏輯化的處理,並將統一的邏輯檢視呈現給使用者。使用者使用時,操作的是虛擬裝置,可以無需關心底層的物理環境,從而可以充分利用基於異構平臺的儲存空間,達到最優化的使用效率。

外儲存器

外儲存器以檔案的形式儲存暫時不用的程式和資料,CPU不能直接訪問外存中的程式和資料,只有將其以檔案為單位調入主存才能訪問。外儲存器主要有磁表面儲存器、光碟儲存器及固態硬碟(採用Flash晶片或DRAM作為儲存介質的儲存器)構成。 在這裡插入圖片描述

磁碟陣列技術

磁碟陣列是由多臺磁碟儲存器組成的一個快速、大容量、高可靠的外存子系統。現在常見的磁碟陣列稱為廉價冗餘磁碟陣列。

儲存區域網

儲存區域網是把一個或多個伺服器與多個儲存裝置連線起來,每個儲存裝置可以是RAID、磁帶備份系統、磁帶庫和CD-ROM庫等。

這樣的網路不僅解決了伺服器對儲存容量的要求,還可以使多個伺服器之間共享檔案系統和輔助儲存空間,避免資料和程式程式碼的重複儲存,提高輔助儲存器的利用率。