標籤:
第六章 儲存空間階層
儲存空間系統是一個具有不同容量、成本、和訪問時間的存放裝置的階層。
6.1儲存技術
隨機訪問儲存空間分為兩類:靜態和動態。靜態SRAM比動態DRAM更快,但也貴的多。
CPU寄存器、快取儲存空間、主儲存空間、磁碟。
1、靜態RAM
SRAM將每個位儲存在一個雙穩態的儲存空間單元裡。每個單元是用一個六晶體管電路來實現。
2、動態RAM
DRAM將每個位儲存為對一個電容的充電。
關於兩種儲存空間中的特性書384頁圖6-2有示
3、傳統DRAM
DRAM晶片中的單元(位)被分成d個超單元,每個超單元都由w個DRAM單元組成。
一個d*w的DRAM總共儲存了dw位資訊。
將DRAM組織成二維陣列而不是線性數組的一個原因是降低晶片上地址引腳的數量,
資訊通過引腳流入流出晶片,每個引腳攜帶一個1位的訊號。
4、儲存空間模組
DRAM晶片封裝在儲存空間模組中,它是插到主板的擴充槽上的。常見的封裝包括168個引腳的雙列直插儲存空間模組,它以64位為塊傳送資料到儲存控制器和從儲存控制器傳出資料,還包括72個引腳的單列直插儲存空間模組,它以32位塊傳送資料。
通過將多個儲存空間模組串連到儲存控制器,能夠彙總主存,當控制器收到一個地址A時,控制器選擇包含A的模組k,將A轉換為它的(i, j)的模式,並將(i, j)發送到模組k。
5、增強DRAM
快頁模式DRAM
擴充資料輸出DRAM
雙倍資料速率同步DRAM
6、非易失性儲存空間
如果斷電,DRAM和SRAM會丟失它們的資訊,它們是意識的。而非易失性儲存空間ROM是以它們能被重編程的次數和它們進行重編程所用的機制來區分。
PROM只能被編程一次,它只能用高電流熔斷一次。
可擦寫可程式化ROM,允許光到底儲存單元。
快閃記憶體是一類非易失性儲存空間,基於EEPROM,它已經成為了一種重要的儲存技術。
儲存在ROM裝置中的程式通常稱為韌體。
7、訪問主存
匯流排是一組並行的導線,能攜帶地址、資料和控制訊號。I/O橋將系統匯流排的電子訊號翻譯成儲存空間匯流排的電子訊號,也將系統匯流排和儲存空間匯流排串連到I/O匯流排。
二、磁碟儲存
1、磁碟是由一個或者多個疊放在一起的碟片組成,它們被封裝在一個密封的封裝裡。整個裝置通常稱為磁碟機,簡稱為磁碟。
將柱面的集合分割成不相交的子集合(記錄區),每個區包含一組連續的柱面;
一個區中的每個柱面的每條磁軌都有相同數量的扇區,這個扇區的數量由該區中最裡面的磁軌所能包含的扇區數確定
磁碟容量:記錄密度;磁軌密度;面密度
磁碟操作:對扇區的訪問時間有三個主要的部分,尋道時間,旋轉時間,和傳送時間。
2、盤面,磁軌,扇區,這個三元組唯一的標識了對應的物理扇區。
類比:記憶體可以看成位元組數組、磁碟可以看成塊數組。串連到I/O裝置(I/O匯流排)I/O匯流排串連了CPU,主存和I/O裝置。
順序讀寫:速度相當,順序讀比順序寫稍微快一點
隨機讀寫:寫比讀慢一個數量級
原因:底層快閃記憶體基本屬性決定。
一個快閃記憶體由B個塊的序列組成,每個塊由P頁組成。通常頁的大小是512~4kb,塊是由32~128頁組成的,塊的大小為16kb~512kb。
資料是以頁為單位由半導體構成,沒有移動的零件
6.2局部性
局部性原理:
一個編寫良好的電腦程式,常常傾向於引用臨近於其他最近引用過的資料項目的資料項目,或者最近引用過的資料項目本身。
分類:
1.硬體層:
通過引入快取儲存空間來儲存最近被引用的指令和資料項目,從而提高對主存的訪問速度。
步長為k的參考模式:一個連續變數中,每隔k個元素進行訪問,就被稱為步長為k的參考模式。
步長為1的參考模式:就是順序訪問一個向量的每個元素,有時也被稱為順序參考模式,它是程式中 空間局部性常見和重要的來源。
一般來說,隨著步長增加,空間局部性下降。
2.取指令的局部性
程式指令是存放在儲存空間中的,CPU必須取出(讀出)這些指令。
但是代碼區別於程式資料的一個重要屬性是:在運行時它是不能被修改的。
6.3儲存空間階層
即:每層存放裝置都是下一層的“緩衝”
快取:是一個小而快速的存放裝置,它作為儲存在更大、更慢的裝置中的資料對象的緩衝區域。
緩衝:使用快取的過程稱為緩衝。
資料總是以塊大小為傳送單元在第k層與第k+1層之間來回拷貝。任一對相鄰的層次之間塊大小是固定的,但是其他的層次對之間可以有不同的塊大小。
一般來說:層越低,塊越大。
1.快取命中:當程式需要第k+1層的某個資料對象d時,首先在當前儲存在第k層的一個塊中尋找d,如果d剛好緩衝在第k層中,就稱為快取命中。
該程式直接從第k層讀取d,比從第k+1層中讀取d更快。
2.緩衝不命中:即第k層中沒有快取資料對象d。
這時第k層緩衝會從第k+1層緩衝中取出包含d的那個塊。如果第k層緩衝已滿,就可能會覆蓋現存的一個塊
覆蓋——替換/驅逐
替換策略:隨機替換策略-隨機犧牲一個塊;最近最少被使用替換策略LRU-犧牲最後被訪問的時間距離現在最遠的塊。
緩衝不命中的種類:強制性不命中/冷不命中
第k層的緩衝是空的(稱為冷緩衝),對任何資料對象的訪問都不會命中。
通常是短暫事件,不會在反覆訪問儲存空間使得緩衝暖身(理解為反覆訪問儲存空間,使得儲存空間不為空白?)之後的穩定點中出現。
衝突不命中:將第k+1層的某個塊限制放置在第k層塊的一個小的子集中,這就會導致緩衝沒有滿,但是那個對應的塊滿了,就會不命中。
容量不命中:當工作集的大小超過緩衝的大小時,緩衝會經曆容量不命中,就是說緩衝太小了,不能處理這個工作集。
6.4快取儲存空間
一、通用的快取儲存空間結構
C=SxExB
二、直接映射快取
組選擇,行匹配,字抽取
快取從w的地址中間抽取出s個組索引位
組選擇:組索引位:一個對應於一個組號的不帶正負號的整數。類比:快取-關於組的一位元組,組索引位就是到這個數組的索引。
行匹配:判斷快取命中有兩個充分必要條件該行設定了有效位,快取行中的標記和w的地址中的標記相匹配
字抽取:塊-關於位元組的數組,位元組位移是到這個數組的一個索引。
心得:這一章的概念比較易懂,練習題也比之前的好理解,給人這一章是讓人重新撿回信心的感覺?本人還要多細心,要下功夫鑽研,畢竟積分已經落後同學們太多,不懂的可以多多請教同學,加油。
第七周學習報告