存儲系統(tǒng)的層次化結(jié)構(gòu)可以分為5級:寄存器組、高速緩存Cache、主存、虛擬存儲器和外部存儲器。其中,寄存器組總是在CPU內(nèi)部,程序員可通過寄存器名訪問,無總線操作,訪問速度最快;其余4級均在CPU外部,Cache和主存構(gòu)成內(nèi)存儲系統(tǒng),程序員通過總線尋址訪問存儲單元,訪問速度較寄存器差;虛擬存儲器對程序員而言是透明的 ;外部存儲系統(tǒng)容量大,需通過I/O接口與CPU交換數(shù)據(jù),訪問速度最慢。
高速緩沖存儲器
高速緩沖存儲器(Cache)的原始意義是指存取速度比一般隨機存取存儲器(RAM)更快的一種RAM,一般而言,它不像系統(tǒng)主存那樣使用動態(tài)隨機存儲器(DRAM)技術(shù),而是使用昂貴但較快速的靜態(tài)隨機存儲器(SRAM)技術(shù)。
高速緩沖存儲器是介于主存與CPU之間的一級存儲器,由靜態(tài)存儲芯片(SRAM)組成,容量較小但速度比主存快得多,其最重要的指標是它的命中率。高速緩沖存儲器與主存儲器之間信息的調(diào)度和傳送是由硬件自動進行的。
組成結(jié)構(gòu)
高速緩沖存儲器主要由以下三大部分組成:
Cache存儲體:存放由主存調(diào)入的指令與數(shù)據(jù)。
地址轉(zhuǎn)換部件:建立目錄表以實現(xiàn)主存地址到緩存地址的轉(zhuǎn)換。
置換部件:在緩存已滿時按一定策略進行數(shù)據(jù)替換,并修改地址轉(zhuǎn)換部件中的目錄表。
工作原理
高速緩沖存儲器通常由高速存儲器、聯(lián)想存儲器、置換邏輯電路和相應(yīng)的控制線路組成。在有高速緩沖存儲器的計算機系統(tǒng)中,處理器存取主存儲器的地址劃分為行號、列號和組內(nèi)地址三個字段。于是,主存儲器就在邏輯上劃分為若干行:每行劃分為若干的存儲單元組;每組包含幾個或幾十個字。高速存儲器也相應(yīng)地劃分為行和列的存儲單元組。二者的列數(shù)相同,組的大小也相同,但高速存儲器的行數(shù)卻比主存儲器的行數(shù)少得多。
聯(lián)想存儲器用于地址聯(lián)想,有與高速存儲器相同行數(shù)和列數(shù)的存儲單元。當主存儲器某一列某一行存儲單元組調(diào)入高速存儲器同一列某一空著的存儲單元組時,與聯(lián)想存儲器對應(yīng)位置的存儲單元就記錄調(diào)入的存儲單元組在主存儲器中的行號。
當處理器存取主存儲器時,硬件首先自動對存取地址的列號字段進行譯碼,以便將聯(lián)想存儲器該列的全部行號與存取主存儲器地址的行號字段進行比較。若有相同的,表明要存取的主存儲器單元已在高速存儲器中,稱為命中,硬件就將存取主存儲器的地址映射為高速存儲器的地址并執(zhí)行存取操作;若都不相同,則表明該單元不在高速存儲器中,稱為失效,硬件將執(zhí)行存取主存儲器操作并自動將該單元所在的那一主存儲器單元組調(diào)入高速存儲器相同列中空著的存儲單元組中,同時將該組在主存儲器中的行號存入聯(lián)想存儲器對應(yīng)位置的單元內(nèi)。
當出現(xiàn)失效而高速存儲器對應(yīng)列中沒有空的位置時,便淘汰該列中的某一組以騰出位置存放新調(diào)入的組,這稱為置換。確定替換的規(guī)則稱為置換算法,常用的置換算法有最近最久未使用算法(LRU)、先進先出法(FIFO)和隨機法(RAND)等。置換邏輯電路就是執(zhí)行這個功能的。另外,當執(zhí)行寫主存儲器操作時,為保持主存儲器和高速存儲器內(nèi)容的一致性,對命中和失效分別進行處理。
審核編輯:符乾江
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305304 -
高速緩存
+關(guān)注
關(guān)注
0文章
30瀏覽量
11057 -
體系結(jié)構(gòu)
+關(guān)注
關(guān)注
0文章
28瀏覽量
9637
發(fā)布評論請先 登錄
相關(guān)推薦
評論