什麼是存儲系統?
存儲系統大體可分爲主存儲器,輔助存儲器,高速緩衝存儲器三層,其中高速緩衝存儲器用來改善主存儲器與cpu的速度匹配問題,輔助存儲器則用於擴大存儲空間。課本上從存儲系統的層次結構出發,對每一層次的概念、結構、工做機制等作了詳細解釋,回答了存儲系統是什麼的問題。3d
存儲系統的各層次之間是如何協做的呢?
這篇文章經過貫穿整個存儲系統的訪問流程,展示出各個層次之間的協做關係。下圖爲存儲系統的訪問流程圖,其訪問過程能夠分爲5個部分:①TLB的訪問過程,②Page的訪問過程,③頁面的分配和置換,④cache的訪問過程,⑤主存儲器的訪問過程。blog
在存儲系統中若要從主存取得數據,必須先訪問頁表;爲了實現對頁表的快速訪問,須要增設快表。TLB與page之間存在全相聯映射、直接映射、組想聯映射三種地址映射方式,所以TLB的訪問分別存在如下三種狀況。im
若是TLB的訪問未命中,則須要訪問主存中的頁表。爲了不連續的頁表自己佔用大量主存空間,存儲系統一般採用分級頁表,這裏以二級頁表的訪問過程舉例。技術
若page未命中,說明所需頁面未調入主存,須要執行調頁策略。對於頁面的分配和置換,現代存儲系統一般採用三種策略:固定分配局部置換,可變分配全局置換,可變分配局部置換。主存與外存之間的協做關係能夠反映在分配策略上。d3
虛擬地址通過地址變換能夠獲得相應的物理地址;物理地址通過地址映射能夠轉化爲cache地址。cache與主存之間存在全相聯映射、直接映射、組想聯映射三種地址映射方式,所以cache的訪問分別存在如下三種狀況。cpu
若是cache訪問未命中,則須要訪問主存。而在訪問主存的過程當中cpu的傳輸週期比存儲器的存儲週期小,爲了提升訪問速度,存儲系統一般採用多體交叉存儲技術。多體交叉存儲器由多體模塊組成,每一個模塊均可由DRAM芯片通過擴容而成。所以主存儲器的訪問過程能夠分爲三個層面:多體交叉存儲器的訪問過程、主存模塊的訪問過程、DRAM芯片的訪問過程。數據