深入理解計算機系統之儲存系統

2021-06-22 05:25:11 字數 1412 閱讀 5511

儲存器的層次結構

儲存器系統是乙個具有不同容量、成本和訪問時間的儲存裝置的層次結構,其成本與層次結構最底層的便宜的儲存裝置相當,接近於最高層的儲存裝置的高速率。

隨機訪問儲存器分為靜態和動態兩類。靜態儲存器(sram)用來作為快取記憶體儲存器。動態儲存器(dram)用來作為主存和圖形系統的幀緩衝區。sram的每個單元是有乙個六電晶體電路(雙穩態儲存單元)來實現的,可以無限期的保持在兩個不同的電壓(0和1)配置,抗干擾能力強。dram通過對電容的充放電表示每一位的儲存,dram單元在很短的時間內會是去電荷,所以要不斷的充電重新整理,且對雜訊十分敏感,當電壓被擾亂後就不會恢復了。sram比dram訪問速度快,但是整合度低,成本高,功耗大。

隨機訪問儲存器屬於易失性儲存器,有一類非易失性儲存器(rom),在斷電後仍然能儲存它們的資訊。以能重複程式設計的次數和它們重複程式設計的機制來劃分:prom(可程式設計rom)只能被程式設計一次。可擦寫可程式設計rom:eprom光可擦除;eeprom電子可擦除。flash(快閃儲存器)基於eprom,是一種重要的儲存技術。儲存在rom中的程式的稱為韌體,當計算機啟動之後,會先執行rom中的韌體。

為什麼有不同的儲存結構:

1.cpu速度的提高,使cpu與主存之間的傳輸速度差別拉大,為了彌補cpu與儲存裝置的訪問速度差別,同時降低儲存器成本,設計了儲存器的層次結構,使其成本與便宜的底層的儲存裝置相當,速度接近於昂貴的最高層的儲存裝置。

2.程式往往都有展現出區域性性,利用區域性性的特點設計的儲存器層次結構,快取經常執行的指令和資料。

儲存器層次結構

l0:暫存器

l1:l1快取記憶體,分icache和dcache。

l2:l2快取記憶體

l3:l3快取記憶體

l4:主存

l5:本地二級儲存(本地磁碟)

l6:遠端二級儲存(分布式檔案系統、web伺服器)

高速緩衝儲存器cache

資料總是以快大小為傳送單元,相鄰層次之間的塊大小是固定的,其他層次之間有不同的塊大小。

快取記憶體位址和資料的對映方式分為直接對映快取記憶體、組相聯快取記憶體、全相聯快取記憶體。快取記憶體通過組選擇和行匹配確定乙個請求是否命中,m位的位址被解釋成t位標記,s位組索引和b為塊偏移。組索引確定位址對映在快取記憶體的哪一組中,在確定了組之後,通過有效位的判斷和標記的匹配,確定資料存在哪一行中。塊偏移確定資料的在快取記憶體塊中的起始位址,這一步叫字選擇。

直接對映告訴快取每組只有一行,全相聯快取記憶體只有一組,組相聯快取記憶體是兩者的折中。

快取記憶體引數的效能影響

快取記憶體大小:較大的快取記憶體能提高命中率,但會增加命中時間(包括組選擇,行確認和字選擇)。快取記憶體大小的效能影響對l1很重要,l1的命中時間要很短才能匹配cpu的速度。

塊大小的影響:較大的塊能利用程式的空間區域性性提高命中率,但是不利於時間區域性性好的程式,同時較大塊的資料傳送時間也很大,不命中處罰也就大。現代系統的快取記憶體快大小為32-64位元組。

虛擬儲存器

深入理解計算機系統

關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...

《深入理解計算機系統》

知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...

深入理解計算機系統

系統的硬體組成 快取記憶體 作業系統管理硬體 程序虛擬記憶體 檔案amdahl定律 併發和並行 0和1組成的位序列,又稱為位元序列,8個位被組織成一組,成為位元組。每個位元組表示程式中的某些文字字元。系統中的所有資訊 包括磁碟檔案 記憶體中的程式 記憶體中存放的的使用者資料以及網路上傳送的資料,都是...