所謂地址映像方式是指如何確定Cache中的內(nèi)容是主存中的哪一部分的副本,即必須應(yīng)用某種函數(shù)把主存地址映像到Cache中定位。
信息按某種方式裝入Cache中后,執(zhí)行程序時(shí),應(yīng)將主存地址變換為Cache地址,這個(gè)變換過(guò)程叫作地址變換。
地址映像方式通常采用直接映像、全相聯(lián)映像、組相聯(lián)映像三種:
1-直接映像
每個(gè)主存地址映像到Cache中的一個(gè)指定地址的方式,稱為直接映像方式。在直接映像方式下,主存中存儲(chǔ)單元的數(shù)據(jù)只可調(diào)入Cache中的一個(gè)位置,如果主存中另一個(gè)存儲(chǔ)單元的數(shù)據(jù)也要調(diào)入該位置則將發(fā)生沖突。
地址映像的方法一般是將主存空間按Cache的尺寸分區(qū),每區(qū)內(nèi)相同的塊號(hào)映像到Cache中相同的塊位置。一般地,Cache被分為2N塊,主存被分為大小為2MB的塊,主存與Cache中塊的對(duì)應(yīng)關(guān)系可用如下映像函數(shù)表示:j = i mod 2N。式中,j是Cache中的塊號(hào);i是主存中的塊號(hào)。
直接映像是一種最簡(jiǎn)單的地址映像方式,它的地址變換速度快,而且不涉及其他兩種映像方式中的替換策略問(wèn)題。但是這種方式的塊沖突概率較高,當(dāng)程序往返訪問(wèn)兩個(gè)相互沖突的塊中的數(shù)據(jù)時(shí),Cache的命中率將急劇下降,因?yàn)檫@時(shí)即使Cache中有其他空閑塊,也因?yàn)楣潭ǖ牡刂酚诚耜P(guān)系而無(wú)法應(yīng)用。
2-全相聯(lián)映像
主存中的每一個(gè)字塊可映像到Cache任何一個(gè)字塊位置上,這種方式稱為全相聯(lián)映像。這種方式只有當(dāng)Cache中的塊全部裝滿后才會(huì)出現(xiàn)塊沖突,所以塊沖突的概率低,可達(dá)到很高的Cache命中率,但它實(shí)現(xiàn)很復(fù)雜。
當(dāng)訪問(wèn)一個(gè)塊中的數(shù)據(jù)時(shí),塊地址要與Cache塊表中的所有地址標(biāo)記進(jìn)行比較已確定是否命中。在數(shù)據(jù)塊調(diào)入時(shí)存在著一個(gè)比較復(fù)雜的替換問(wèn)題,即決定將數(shù)據(jù)塊調(diào)入Cache中什么位置,將Cache中哪一塊數(shù)據(jù)調(diào)出主存。為了達(dá)到較高的速度,全部比較和替換都要用硬件實(shí)現(xiàn)。
3-組相聯(lián)映像
組相聯(lián)映像方式是直接映像和全相聯(lián)映像的一種折中方案。這種方法將存儲(chǔ)空間分為若干組,各組之間是直接映像,而組內(nèi)各塊之間則是全相聯(lián)映像。
它是上述兩種映像方式的一般形式,如果組的大小為1,即Cache空間分為2N組,就變?yōu)橹苯佑诚瘢蝗绻M的大小為Cache整個(gè)的尺寸,就變?yōu)槿嗦?lián)映像。組相聯(lián)方式在判斷塊命中及替換算法上都要比全相聯(lián)方式簡(jiǎn)單,塊沖突的概率比直接映像低,其命中率也介于直接映像和全相聯(lián)映像方式之間。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6909瀏覽量
88850 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3004瀏覽量
73900 -
Cache
+關(guān)注
關(guān)注
0文章
129瀏覽量
28304
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論