文章目錄
- 一、相關概念
- 1.區域性原理
- 2.存盤器的層次結構
- 3.命中與缺失
- 4.區域性與存盤器的層次結構
- 二、存盤器技術
- 1.前言
- 2.SRAM技術
- 3.DRAM技術
- 4.閃存
- 5.磁盤存盤器
一、相關概念
1.區域性原理
①時間區域性
定義:某個資料項在被訪問之后可能很快再次被訪問的特性,
解釋:如果某個資料項被訪問,那么在不久的將來可能再次被訪問,
舉例:當我們在圖書館讀書,從書架上取來一本書放在了自己的書桌上,我們很有可能會很快再次翻閱它,
②空間區域性
定義:某個資料項子啊被訪問之后,與其地址相近的資料項可能很快被訪問的特性,
解釋:圖書館經常將同一類的書放在一起,便于讀者查詢,當我們找到一本需要的書時,其附近的書也很有可能很快被我們用到,
2.存盤器的層次結構
我們利用區域性原理將計算機的存盤器組織成存盤器層級結構,
定義:一中由多存盤器層次組成的結構,存盤器的容量和訪問時間隨著離處理器距離的增加而增加,

越靠近處理器的存盤器越快、越小、每位價格越高;
相反越原理處理器的存盤器越慢、越大、每位價格越低,
存盤器層次可以由多層構成,但資料每次只能在相鄰的兩個層次之間進行復制,
我們將一個兩級層次結構中存盤資訊交換的最小單元稱為塊或行,
3.命中與缺失
①如果處理器需要的資料存放在高層存盤器的某個快中,則成為一次命中;反之,若在高層存盤器中沒有找到所需要的資料,本次資料請求則成為一次缺失,
②命中率(命中比率):在高層存盤器中找到資料的存盤訪問比例,命中率通常為衡量存盤器層次結構性能的標準,
③缺失率:(1-命中率)在高層存盤器中沒有找到資料目標的存盤訪問比例,
④命中時間:訪問某存盤器層次結構所需要的時間,其中包括本次訪問是命中還是失效的判定時間,
⑤缺失代價:將相應的塊從地層存盤器替換到高層存盤器所需要的時間,包括訪問塊、將資料逐層傳輸、將資料插入發生缺失的層和將資訊塊傳送給請求者的時間,
4.區域性與存盤器的層次結構
①存盤器層次結構利用了時間區域性,將最近被訪問的資料項放在靠近處理器的地方,以便在不久的將來再次訪問,
②存盤器層次結構也利用了空間區域性,將一些包含連續字的塊移動到存盤器層次結構的較高層次,以便接下來訪問其鄰近資料項,
補充:在存盤器的層次結構中,距離處理器越近的層次容量越小而速度越快,因此當資料在層次結構的最高層命中時,可以很快被處理器處理;而當缺失時,處理器需要訪問容量大但速度慢的低層存盤器層次,所以當命中率足夠高時,整個的存盤器層次結構對處理器來說,就擁有接近最高層的處理速度和最低層的容量,
二、存盤器技術
1.前言
構建存盤器層次結構的主要有四種技術:
①SRAM(靜態隨機存取存盤器):構成靠近處理器的層次,
②DRAM(動態隨機存取存盤器):主要用來構成主存盤器(主存),
③閃存:一種非易失性存盤器,常用作個人移動設備中的二級存盤器,
④磁盤:通常是服務器中容量最大且速度最慢的一層,
補充:RAM中的R指“隨機”,其含義為:訪問任意地址單元的時間是相同的,
2.SRAM技術
SRAM是一種組織成存盤陣列結構的簡單集成電路,對任何資料訪問時間都是固定的,
SRAM的一個基本存盤單元通常由6-8個(一般為6個)晶體管組成,其相對穩定,不容易收到干擾,在空閑模式下僅需最小的功率來保持電荷,不需要重繪,
任何一個SRAM都有三組信號線與外部打交道:
①地址線:地址線決定了存盤器的容量,對于有n條地址線的存盤器,其容量為2n個存盤單元,
②資料線:資料線的數量制定了存盤器的字長,對于有n條資料線的存盤器,其字長為n位,
③控制線:指定了對存盤器進行讀操作還是寫操作,
(例如R/
W
\frac{}{W}
W?,表示高電平時進行讀操作,低電平進行寫操作)
3.DRAM技術
DRAM使用電容保存電荷的方式存盤資料,其每一位都只是用一個晶體管(對比SRAM需要使用6個),密度比SRAM要高很多,因此容量一般比SRAM大得多,
DRAM在電容上保存電荷,由于漏電等原因不能長久地保持資料(一般只能保持幾微秒),從而必須周期性地重繪,這也是動態隨機存取存盤器中“動態”的原因,
重繪:為了對單元進行重繪,我們只需要將其中的資料讀出來后重新寫入即可,但如果DRAM中的每個位都需要獨立地讀出/寫入,那么則陷入“死區”,即所有的時間都用來進行重繪操作,而沒有時間用于正常的訪問操作,為了解決這個問題,DRAM采用了億中兩級譯碼結構,可以通過在一個讀周期后緊跟一個寫周期的方式一次重繪一整行,
常見的三種重繪方式:
前提說明:由于重繪相當于進行一次存取程序,所以重繪一行的時間=存取周期,
①集中重繪
集中重繪:在規定的一個重繪周期內,對全部存盤單元集中一段時間逐行進行重繪,
若采用集中重繪,則在一個重繪周期鐘,所有行全部重繪完畢之前不能進行任何的存取操作,因此重繪時間又稱為“死區”或“死時間”,
集中重繪的效率是非常低的,當行數較多時甚至會出現無法相應處理器存取指令的情況,
優點:速度高,重繪快
缺點:存在死區,行數較多時死時間很長
②分散重繪
分散重繪:是指對每行存盤單元的重繪分散到每個存盤周期內完成,
可以簡單理解為對哪一行進行讀寫操作,就對哪一行進行重繪,
同時,分散重繪將重繪放到存取周期內進行,即擴大了存取周期(由于重繪時間=存取時間,故此時存取周期為原來的兩倍),
對于分散重繪來說不存在死區,
原因:死區是由于存盤器在重繪時不能相應處理器的請求而阻塞的時間,而此時將重繪放在了存取周期內,存取周期中既包含了讀寫時間,也包含了重繪一行的時間,對于處理器來說是看不到重繪時間的(可以理解為每個存取周期是個原子周期,以處理器的角度來看一直在進行存取操作),所以才沒有死區,
優點:消除了死區
缺點:存取周期延長,導致整個系統的速度降低
留個疑問(待解決):分散重繪是在存取操作后進行重繪,若有某行長時間未進行讀寫操作,會不會出現不重繪導致資料丟失的情況?
③異步重繪
異步重繪:將每一行的重繪都分開來看,只要在規定的時間完成對每一行一次的重繪就可以,
舉例:對64*64的矩陣重繪,存取周期為0.5us,每行需要在2ms內重繪一次,此時每經過(2/64)ms重繪一行,就可以保證2ms內將所有的64行都進行了一次重繪,
對每一行來說,其都要間隔64個周期才會被再次重繪,
對于異步重繪來說,死區仍然是存在的,但死時間被大大縮短,以剛剛的例子來說,每次重繪時會有0.5us的時長不能相應處理器操作,因此死時間為0.5us,
有關于DRAM的重繪方式,還可以參照其他幾位大佬寫的幾篇非常優秀的博客,鏈接如下:
https://blog.csdn.net/qq_43610614/article/details/105660357
https://blog.csdn.net/qq_40627648/article/details/83626288
4.閃存
閃存是一種電可擦除的可編程只讀存盤器(EEPROM)
在對閃存進行寫操作時,會對存盤位帶來損耗,(相較之下,磁盤與DRAM不必擔心此問題)
解決方案:大多數閃存產品中會帶有一個控制器,用來將寫操作從寫入次數較多的塊映射到寫入次數較少的塊中,從而使寫操作盡量的分散,這種技術稱為損耗均衡,
優點:雖然均衡技術降低了閃存的潛在性能,但不需要再高層次的軟體中監控塊的損耗情況,所以不必擔心影響高層的效率,同時,閃存控制器的損耗均衡也實作了將制造程序中出錯的存盤單元進行屏蔽,從而提高成品率,
5.磁盤存盤器
待補充,留空,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/188390.html
標籤:其他
下一篇:非常好理解的線性代數理論
