Cache結構

Cache通常由相聯存儲器實現。相聯存儲器的每一個存儲塊都具有額外的存儲信息,稱為標籤(Tag)。當訪問相聯存儲器時,將地址和每一個標籤同時進行比較,從而對標籤相同的存儲塊進行訪問。

Cache介紹

Cache通常由相聯存儲器實現。相聯存儲器的每一個存儲塊都具有額外的存儲信息,稱為標籤(Tag)。當訪問相聯存儲器時,將地址和每一個標籤同時進行比較,從而對標籤相同的存儲塊進行訪問。

基本結構

全相聯Cache

在全相聯Cache中,存儲的塊與塊之間,以及存儲順序或保存的存儲器地址之間沒有直接的關係。程式可以訪問很多的子程式、堆疊和段,而它們是位於主存儲器的不同部位上。

因此,Cache保存著很多互不相關的數據塊,Cache必須對每個塊和塊自身的地址加以存儲。當請求數據時,Cache控制器要把請求地址同所有地址加以比較,進行確認。  這種Cache結構的主要優點是,它能夠在給定的時間內去存儲主存器中的不同的塊,命中率高;缺點是每一次請求數據同Cache中的地址進行比較需要相當的時間,速度較慢。

直接映像Cache

直接映像Cache不同於全相聯Cache,地址僅需比較一次。

在直接映像Cache中,由於每個主存儲器的塊在Cache中僅存在一個位置,因而把地址的比較次數減少為一次。其做法是,為Cache中的每個塊位置分配一個索引欄位,用Tag欄位區分存放在Cache位置上的不同的塊。

單路直接映像把主存儲器分成若干頁,主存儲器的每一頁與Cache存儲器的大小相同,匹配的主存儲器的偏移量可以直接映像為Cache偏移量。Cache的Tag存儲器(偏移量)保存著主存儲器的頁地址(頁號)。

以上可以看出,直接映像Cache優於全相聯Cache,能進行快速查找,其缺點是當主存儲器的組之間做頻繁調用時,Cache控制器必須做多次轉換。

組相聯Cache

組相聯Cache是介於全相聯Cache和直接映像Cache之間的一種結構。這種類型的Cache使用了幾組直接映像的塊,對於某一個給定的索引號,可以允許有幾個塊位置,因而可以增加命中率和系統效率。

相關詞條

相關搜尋

熱門詞條

聯絡我們