計算機組成原理:存儲系統的訪問流程


  • 什么是存儲系統?
    存儲系統大致可分為主存儲器,輔助存儲器,高速緩沖存儲器三層,其中高速緩沖存儲器用來改善主存儲器與cpu的速度匹配問題,輔助存儲器則用於擴大存儲空間。課本上從存儲系統的層次結構出發,對每一層次的概念、結構、工作機制等做了詳細解釋,回答了存儲系統是什么的問題。

  • 存儲系統的各層次之間是如何協作的呢?
    這篇文章通過貫穿整個存儲系統的訪問流程,展現出各個層次之間的協作關系。下圖為存儲系統的訪問流程圖,其訪問過程可以分為5個部分:①TLB的訪問過程,②Page的訪問過程,③頁面的分配和置換,④cache的訪問過程,⑤主存儲器的訪問過程。

圖1 存儲系統的訪問流程

TLB的訪問過程

在存儲系統中若要從主存取得數據,必須先訪問頁表;為了實現對頁表的快速訪問,需要增設快表。TLB與page之間存在全相聯映射、直接映射、組想聯映射三種地址映射方式,因此TLB的訪問分別存在以下三種情況。

  • 全相連映射
圖2 TLB全相連映射
  • 直接映射
圖3 TLB直接映射
  • 組相連映射
圖4 TLB組相連映射

Page的訪問過程

如果TLB的訪問未命中,則需要訪問主存中的頁表。為了避免連續的頁表本身占用大量主存空間,存儲系統通常采用分級頁表,這里以二級頁表的訪問過程舉例。

圖5 二級頁表

頁面分配和置換

若page未命中,說明所需頁面未調入主存,需要執行調頁策略。對於頁面的分配和置換,現代存儲系統通常采用三種策略:固定分配局部置換,可變分配全局置換,可變分配局部置換。主存與外存之間的協作關系可以反映在分配策略上。

圖6 固定分配局部置換關系模型

cache的訪問過程

虛擬地址經過地址變換可以得到相應的物理地址;物理地址經過地址映射可以轉化為cache地址。cache與主存之間存在全相聯映射、直接映射、組想聯映射三種地址映射方式,因此cache的訪問分別存在以下三種情況。

  • 全相連映射
圖7 cache全相連映射
  • 直接映射
圖8 cache直接映射
  • 組相連映射
圖9 cache組相連映射

主存儲器的訪問過程

如果cache訪問未命中,則需要訪問主存。而在訪問主存的過程中cpu的傳輸周期比存儲器的存儲周期小,為了提高訪問速度,存儲系統通常采用多體交叉存儲技術。多體交叉存儲器由多體模塊組成,每個模塊都可由DRAM芯片經過擴容而成。因此主存儲器的訪問過程可以分為三個層面:多體交叉存儲器的訪問過程、主存模塊的訪問過程、DRAM芯片的訪問過程。

  • 低位交叉存儲器的訪問過程
圖10 低位交叉存儲器的訪問過程
  • 主存模塊和DRAM芯片的訪問過程
圖11 主存模塊和DRAM芯片的訪問過程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM