cache
與主存之間的全相聯對映,直接對映和組相聯對映的區別
1.高速緩衝儲存器的功能、結構與工作原理
高速緩衝儲存器是存在於主存與
cpu之間的一級儲存器,
由靜態儲存晶元
(sram)
組成,容量比較小但速度比主存高得多,
接近於cpu
的速度。
cache
的功能是用來存放那些近期需要執行的指令與資料。目的是提高
cpu對儲存器的訪問速度。為此需要解決
2二是按一定原則對
cache
的內容進行替換。
cache
的結構和工作原理如圖
2.3.1
所示。
主要由三大部分組成:
cache
儲存體:存放由主存調入的指令與資料塊。
2.位址映象與轉換
位址映象是指某一資料在記憶體中的位址與在緩衝中的位址,兩者之間的對應關係。下面介紹三種位址映象的方式。
1.
全相聯方式
cache
中的任意一塊
(1)
主存與快取分成相同大小的資料塊。
(2)
主存的某一資料塊可以裝入快取的任意一塊空間中。
全相聯方式的對應關係如圖
2.3.2
所示。如果
cache
的塊數為
cb,主存的塊數為
mb,則映象關係共有cb×
mb種。
圖2.3.3
示出了目錄表的格式及位址變換規則。
目錄表存放在相關(聯)儲存器中,其中包括三部分:資料塊在主存的塊位址、存入快取後的塊位址、及有效位(也稱裝入位)。由於是全相聯方式,因此,目錄表的容量應當與快取的塊數相同。
舉例:某機主存容量為1m,
cache
的容量為
32kb
,每塊的大小為
16個字(或位元組)。
劃出主、快取的位址格式、
目錄**式及其容量。
優點:命中率比較高,
cache
儲存空間利用率高。
缺點 2.
直接相聯方式
主儲存器中一塊只能映象到
cache
的乙個特定的塊中。
(1)
主存與快取分成相同大小的資料塊。
(2)
主存容量應是快取容量的整數倍,將主存空間按快取的容量分成區,主存中每一區的塊數與快取的總塊數相等。
(3)
主存中某區的一塊存入快取時只能存入快取中塊號相同的位置。 圖
2.3.4
示出了直接相聯映象規則。
可見,主存中各區內相同塊號的資料塊都可以分別調入快取中塊號相同的位址中,但同時只能有乙個區的塊存入快取。由於主、快取塊號相同,因此,目錄登記時,只記錄調入塊的區號即可。
圖2.3.5
示出了主、
緩衝位址格式、目錄表的格式及位址變換規則。主、快取塊號及塊內位址兩個字段完全相同。目錄表存放在高速小容量儲存器中,其中包括二部分:資料塊在主存的區號和有效位。目錄表的容量與快取的塊數相同。
去訪問目錄儲存器,
把讀出來的區號與主存位址中的區號
e進行比較,
比較結果相等,有效位為1,則
cache
命中,可以直接用塊號及塊內位址組成的緩衝位址到快取中取數;比較結果不相等,有效位為1,
可以進行替換,如果有效位為
0,可以直接調入所需塊。
優點:位址映象方式簡單,資料訪問時,只需檢查區號是否相等即可,因而可以得到比較快的訪問速度,硬體裝置簡單。
缺點:替換操作頻繁,命中率比較低。
舉例:上例中,主存容量為1m,
cache
的容量為
32kb
,每塊的大小為
16個字(或位元組)。劃出主、快取的位址格式、目錄**式及其容量。
容量:與緩衝塊數量相同即
211=
2048
(或32k/16
=2048)。
3.
組相聯映象方式
組相聯的映象規則:
(1)
主存和cache
按同樣大小劃分成塊。
(2)
主存和cache
按同樣大小劃分成組。
(3)
主存容量是快取容量的整數倍,將主存空間按緩衝區的大小分成區,主存中每一區的組數與快取的組數相同。
(4)
當主存的資料調入快取時,主存與快取的組號應相等,也就是各區中的某一塊只能存入快取的同組號的空間內,但組內各塊位址之間則可以任意存放,
即從主存的組到
cache
的組之間採用直接映象方式;在兩個對應的組內部採用全相聯映象方式。 圖
2.3.6
示出了組相聯的映象關係,
圖中快取共分
cg個組,每組包含有
gb塊;
主存是快取的
me倍,所以共分有
me個區,
每個區有
cg組,每組有
gb塊。那麼,
主存位址格式中應包含4。
而快取中包含
3。主存位址與快取位址的轉換有兩部分,組位址是按直接映象方式,按位址進行訪問,而塊位址是採用全相聯方式,按內容訪問。組相聯的位址轉換部件也是採用相關儲存器實現,見圖
2.3.7。
主存位址中的區號
e與組內塊號
b,兩者結合在一起,其對應的字段是快取塊位址
b。相關儲存器的容量,應與快取的塊數相同。當進行資料訪問時,先根據組號,在目錄表中找到該組所包含的各塊的目錄,然後將被訪資料的主存區號與組內塊號,與本組內各塊的目錄同時進行比較。如果比較相等,而且有效位為「1
」則命中。
可將其對應的快取塊位址
b送到快取位址暫存器的塊位址字段,與組號及塊內位址組裝即形成快取位址。如果比較不相等,說明沒命中,所訪問的資料塊尚沒有進入快取,則進行組內替換;如果有效位為
0,則說明快取的該塊尚未利用,
或是原來資料作廢,可重新調入新塊。
優點:塊的衝突概率比較低,塊的利用率大幅度提高,塊失效率明顯降低。
缺點:實現難度和造價要比直接映象方式高。
cache和記憶體的對映方式
cache是一種高速緩衝儲存器,她的主要作用是提高cpu資料輸入的速率,調和cpu速度與記憶體儲存速度之間的巨大差異。通俗一點說就是cpu太快,記憶體速度相對比較慢,而cache的速度快,但是cache的 比較昂貴。人們想到乙個辦法就是利用小容量的cache在cpu和記憶體中間當橋梁,也就是說把cp...
快取記憶體Cache的對映方式
一 直接對映 簡單來說,就是整個cache,對映到主存中,是乙個主存塊組 n個連續主存塊為一組 ps 這裡說的位址已經是實體地址,不是程式中的邏輯位址,可參考cpu訪問位址的過程 主存組號 主存塊號從0開始,順序,每n塊為一組,從第0組開始 cache行數 表示在cache塊的第幾行資料,也表示在主...
cache位址對映
所謂對映就是將主存內容對應到cache中。cache引入就是緩解cpu和主存執行速度差距的。cpu要執行的內容如果在cache中存在,則直接送給cpu,如果不在,則去主存中尋找,主存直接傳給cpu,再根據區域性性原理,將主存中該區域內的內容存到cache中去,而將主存中一部分內容存到cache中,就...