2017-2018-1 20155331 《信息安全系統設計基礎》第九周學習總結
2017-2018-1 20155331 《信息安全系統設計基礎》第九周學習總結
教材學習內容總結
存儲器層次結構
存儲技術
隨機訪問存儲器
隨機訪問存儲器分為:靜態的SRAM、動態的DRAM
靜態RAM:
SRAM的特點:存儲器單元具有雙穩態特性,只要有電就會永遠保持它的值,幹擾消除時,電路就會恢復到穩定值。
動態RAM:
DRAM的特點:每一位的存儲是對一個電容的充電;對幹擾非常敏感。
用途:數碼照相機和攝像機的傳感器
DRAM存儲不穩定的應對機制:
存儲器系統必須周期性地通過讀出,或者重寫來刷新存儲器的每一位;
使用糾錯碼
SRAM和DRAM的區別
只要有電,SRAM就會保持不變,而DRAM需要不斷刷新;
SRAM比DRAM快;
SRAM對光和電噪聲等幹擾不敏感;
SRAM比DRAM需要使用更多的晶體管,所以更昂貴,
信息通過稱為引腳的外部連接器流入/流出芯片,每個引腳攜帶一個1位信號。
每個DRAM信號被連接到稱為存儲控制器的電路,電路每次傳輸量為8位。行地址i,RAS請求;列地址j,CA
請求共享相同的DRAM地址引腳。組織成二維陣列而不是線性數組的一個原因是降低芯片上地址引腳的數量。
二維陣列阻止的缺點是必須分兩步發送地址,這增加了訪問時間。
存儲器模塊
雙列直插存儲器模塊(DIMM):168個引腳,以64位為塊傳入/傳出數據到存儲控制器。
單列直插存儲器模塊(SIMM):72個引腳,以32位為塊傳入/傳出數據到存儲控制器。
增強的DRAM
快頁模式DRAM(FPM DRAM):異步控制信號,允許對同一行連續的訪問可以直接從行緩沖區得到服務。
擴展數據輸出DRAM(EDO DRAM):異步控制信號,允許單獨的CAS信號在時間上靠的更緊密一點
同步DRAM(SDRAM):同步的控制信號,比異步的快
雙倍數據速率同步DRAM(DDR SDRAM):使用兩個時鐘沿作為控制信號,使DRAM速度翻倍。
Rambus DRAM(RDRAM):一種私有技術
視頻RAM(VRAM):用在圖形系統的幀緩沖區中。
訪問主存
讀事務:從主存傳送數據到CPU
寫事務:從CPU傳送數據到主存
總線:一組並行的導線,能攜帶地址、數據和控制信號。
系統總線:連接總線接口和I/O橋
存儲器總線:連接I/O橋和主存
磁盤存儲
磁盤構造:磁盤由盤片構成,表面覆蓋著磁性記錄材料,中央有一個可以旋轉的主軸 ,旋轉速率大約為5400-15000每分鐘。磁盤的每個表面是一組稱為磁道的同心圓組成,每個磁道被劃分為一組扇區,扇區之間由一些間隙隔開,間隙存儲用來標識扇區的格式化位。
磁盤容量由以下技術因素決定:
記錄密度(位/英寸):磁道一英寸的段中可以放入的位數。
磁道密度(道/英寸):從盤片中心出發半徑上一英寸的段內可以有的磁道數
面密度(位/平方英寸):記錄密度與磁道密度的乘積。
現代大容量磁盤使用一種稱為多區記錄的技術,柱面的集合被分割稱為不相交的子集合,稱為記錄區,每個區包含一組連續的柱面。
磁盤操作:磁盤用讀/寫頭來讀寫存儲在磁性表面的位,而讀寫頭連接到一個傳動臂一端,通過移動轉動臂將讀寫頭定位在磁道上的機械運動稱為尋道。
磁盤以扇區大小的塊來讀寫數據,對扇區的訪問時間有三個主要的組成部分:
尋道時間:轉動臂將讀/寫頭定位到包含目標扇區的磁道上所需時間。
旋轉時間:驅動器等待目標扇區的第一個位旋轉到讀/寫頭下的時間。最大為:
平均旋轉時間是Tmax的一半。
傳送時間:讀寫並傳送該扇區內容的時間。平均傳送時間為:
邏輯磁盤塊:
現代磁盤將盤面的構造視為一個B個扇區大小的邏輯塊序列,磁盤控制器維護著邏輯塊號和實際磁盤扇區之間的映射關系。邏輯塊號可識別為一個盤面、磁道、扇區三元組,唯一的標識了相對應的物理扇區。
內存可以看成字節數組、磁盤可以看成塊數組。
I/O總線連接了CPU,主存和I/O設備
固態硬盤
固態硬盤是一種基於閃存的存儲技術。一個硬盤包由一個或者多個閃存芯片和內存翻譯層組成,閃存芯片替代旋轉磁盤中的機械驅動器,而閃存翻譯層將對邏輯塊的請求翻譯成對底層物理設備的訪問
SSD比旋轉磁盤
優點:隨機訪問時間比旋轉磁盤塊,能耗更低,更結實。
缺點:閃存翻譯層中的平均磨損邏輯試圖通過將擦除平均分布在所有的塊上來最大化每個塊的壽命。
存儲技術趨勢
不同的存儲技術有不同的價格和性能折中。
不同存儲技術的價格和性能屬性以截然不同的速率變化著
DRAM和磁盤的性能滯後於CPU的性能。
局部性
局部性原理:一個編寫良好的計算機程序傾向於引用鄰近於其他最近引用過的數據項,或者最近引用過的數據項本身。有良好局部性的程序比局部性差的程序運行的更快,在硬件層引入高速緩存存儲器就體現了局部性原理。
對程序數據引用的局部性
時間局部性(temporal locality):被引用過一次的存儲器位置在未來會被多次引用(通常在循環中)。
空間局部性(spatial locality):如果一個存儲器的位置被引用,那麽將來他附近的位置也會被引用。
一個連續向量中,每隔k個元素進行訪問,被稱為步長為k的引用模式,具有步長為1的引用模式稱為順序引用模式,隨著步長增加空間局部性下降。
雙重嵌套循環按照行優先順序讀取數組元素。(因為C數組在存儲器中是按照行順序來存放的)
存儲器層次結構
存儲器層次結構中的緩存
高速緩存確定一個請求是否命中,然後抽取出被請求的字的過程,分為三步
1、組選擇
2、行匹配
3、字抽取
直接映射高速緩存中不命中時,每個組只包含有一行,替換策略是:用心取出的行替換當前的行。
一個1 < E < C/B的告訴緩存通常稱為E路組相聯高速緩存
高速緩存存儲器
通用的高速緩存存儲器結構
一個計算機系統每個存儲地址有m位,形成M=2^m個不同的地址。
高速緩存被組織成一個有S=2^s個高速緩存組的數組,每個組包含E個高速緩存行,每個行是由一個B=2^b字節的數據塊、一位有效位以及t=m-(b+s)個標記位組成,唯一標識存儲在這個高速緩存行中的塊。
高速緩存的結構用元組(S,E,B,m)來描述,高速緩存的大小C = S * E * B。
直接映射高速緩存
直接映射高速緩存:每個組只有一行的高速緩存。
組選擇:
高速緩存從w的地址中間抽取出s個組索引位
組索引位:一個對應於一個組號的無符號整數。
行匹配:
判斷緩存命中的兩個充分必要條件:該行設置了有效位;高速緩存行中的標記和w的地址中的標記相匹配
字選擇:確定所需要的字在塊中是從哪裏開始的。
組相聯高速緩存
組相連高速緩存中的組選擇:與直接映射高速緩存中的組選擇一樣,組索引位標識組。
組相連高速緩存中的行匹配和字選擇:把每個組看做一個小的相關聯存儲器,是一個(key,value)對的數組,
以key為輸入,返回對應數組中的value值。高速緩存必須搜索組中的每一行,尋找有效的行其標記與地址中的相匹配。
組相連高速緩存中不命中時的行替換:最簡單的替換策略是隨機選擇要替換的行,其他復雜的策略則使用了局部性原理,例如最不常使用、最近最少使用,等。
全相聯高速緩存
全相連高速緩存中的組選擇:只有一個組,沒有組索引位。
全相連高速緩存中的行匹配和字選擇:與組相連高速緩存是一樣的,但規模大很多,因此只適合做小的高速緩存,例如虛擬存儲系統中的翻譯備用緩沖器。
有關寫的問題
直寫:
立即將w的高速緩存塊寫回到緊接著的第一層中
缺點是每次寫都會引起總線流量。
寫回:
只有當替換算法要驅逐更新過的塊時,才能把它寫到緊接著的低一層中,由於局部性,寫回能顯著減少總線流量。
缺點是增加了復雜性。
另一個問題是如何處理寫不命中。
寫分配:加載相應的低一層中的塊到高速緩存中,然後更新這個高速緩存塊。 缺點是每次不命中都會導致一個塊從
低一層傳送到高速緩存。
非寫分配:避開高速緩存,直接把這個字寫到低一層中。
高速緩存參數的性能影響
不命中率:不命中數量/引用數量
命中率:1-不命中率
命中時間:從高速緩存傳送一個字到CPU所需的時間,包括組選擇,行匹配,字抽取的時間。
不命中處罰:由於不命中所需要的額外時間。
教材學習中的問題和解決過程
對於教材p413頁CPU執行讀的具體過程並不是很理解,依靠什麽來判斷應該讀某哪個位置的字?為什麽讀完地址1的字之後會讀地址13的字?
?練習題6.12題A:想不通為什麽連續數組片中會有2^t個塊,不過用教材圖 6-31可以驗證這個結論。
上周考試錯題總結
上周無考試
其他(感悟、思考等,可選)
存儲器是系統是一個具有不同容量、成本和訪問時間的存儲設備的層次結構。計算機技術的成功很大程度上源自於存儲技術的巨大進步。所以,學習存儲器結構更清楚的了解了存儲器的分類,更深入了解了數據傳送的過程。
不過對於書中的一些概念講解理解的還是不夠透徹,要通過課後習題以及同學們的博客總結鞏固鞏固。
2017-2018-1 20155331 《信息安全系統設計基礎》第九周學習總結