存儲器層次結(jié)構(gòu)可以從圖片中清晰的看出來,圖片中共分為六級,越向上的層次,存儲器速度越快,容量更小,造價越高。
L0層為寄存器,寄存器從硬件的角度來說即觸發(fā)器( flip-flop ), 通常一個觸發(fā)器可以由兩個鎖存器( latcher )和邏輯塊組成,觸發(fā)器為邊沿有效,鎖存器為電平有效。寄存器集成在CPU內(nèi)部,制作在CPU內(nèi)的寄存器不可能容量太大,另一方面實(shí)際上CPU并不需要太多的寄存器,寄存器太多反而可能會減慢運(yùn)行速度。目前的主流的片內(nèi)寄存器數(shù)量為32個(或者64個?)。匯編語言中操作的寄存器也就是指的這些。寄存器由于在片內(nèi),避免了線延遲。
L1-L2為兩級高速緩存( cache ),這兩級存儲為SRAM,s即static,指靜態(tài),最常見的SRAM為6T結(jié)構(gòu)。高速緩存主要解決CPU計(jì)算速度和主存讀寫速度不匹配的問題,如果沒有這兩級,有關(guān)于內(nèi)存的讀寫指令(如load和store)將會嚴(yán)重影響整體速度。高速緩存也一般集成在CPU上。目前主流CPU已經(jīng)存在3級高速緩存。
L3為主存,即我們電腦中所謂的內(nèi)存,為DRAM,d即dynamic,即動態(tài),DRAM常見的有1T和3T結(jié)構(gòu),通過電容存儲信號,需要經(jīng)常刷新不然電荷會漏光。DRAM速度要低于SRAM,但可以明顯看出1T只用了6T六分之一的晶體管,節(jié)省了六分之一的面積。
L4為磁盤內(nèi)存,也就是我們所說的硬盤。以上的RAM都是掉電失去信息的,而硬盤中的內(nèi)容掉電不會失去。目前機(jī)械硬盤主流的存儲技術(shù)為閃存flash,基于EEPROM。
L5層為遠(yuǎn)端內(nèi)存,比如網(wǎng)絡(luò)服務(wù)器,這些的讀寫速度主要取決于網(wǎng)絡(luò)延時。
為什么要采用這樣的分層結(jié)構(gòu)呢?
采用存儲器層次結(jié)構(gòu)的主要原因有以下幾點(diǎn):
性能與成本的平衡:不同類型的存儲器在性能(如訪問速度)和成本(包括制造成本、功耗等)之間存在權(quán)衡。高速存儲器(如SRAM、Cache)訪問速度快,但制造成本高、容量?。欢退俅鎯ζ鳎ㄈ绱疟P、DDR SDRAM)雖然訪問速度慢,但制造成本低、容量大。通過構(gòu)建層次結(jié)構(gòu),可以充分利用各種存儲器的優(yōu)勢,實(shí)現(xiàn)性能與成本的平衡。
局部性原理:程序在執(zhí)行過程中通常會表現(xiàn)出時間局部性和空間局部性。時間局部性指的是程序在某一時刻訪問了某個數(shù)據(jù)后,在不久的將來還可能再次訪問該數(shù)據(jù);空間局部性則指的是程序在某一時刻訪問了某個數(shù)據(jù)后,在不久的將來還可能訪問其附近的數(shù)據(jù)。利用這些局部性特性,可以在高速緩存中存放最近訪問過的數(shù)據(jù)和指令,從而提高訪問速度。
減少平均訪問時間:通過合理設(shè)計(jì)各級存儲器的容量和訪問速度,可以使得大部分?jǐn)?shù)據(jù)訪問都在高速緩存或主存儲器中完成,從而顯著減少平均訪問時間。
管理復(fù)雜性:隨著技術(shù)的發(fā)展,存儲器的類型和容量都在不斷增加。采用層次結(jié)構(gòu)可以簡化存儲器的管理復(fù)雜性,使得系統(tǒng)更容易擴(kuò)展和升級。
采用存儲器層次結(jié)構(gòu)是為了充分利用各種存儲器的優(yōu)勢,實(shí)現(xiàn)性能與成本的平衡,同時利用程序的局部性特性來減少平均訪問時間,并簡化存儲器的管理復(fù)雜性。這也是現(xiàn)代計(jì)算機(jī)系統(tǒng)中廣泛采用存儲器層次結(jié)構(gòu)的原因。
審核編輯:黃飛
-
DRAM
+關(guān)注
關(guān)注
40文章
2316瀏覽量
183538 -
存儲器
+關(guān)注
關(guān)注
38文章
7493瀏覽量
163877 -
cpu
+關(guān)注
關(guān)注
68文章
10870瀏覽量
211899 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3028瀏覽量
74082 -
網(wǎng)絡(luò)服務(wù)器
+關(guān)注
關(guān)注
0文章
30瀏覽量
10897
發(fā)布評論請先 登錄
相關(guān)推薦
評論