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

評論