Cache的主要功能 cache的作用是什么?
cache的作用是什么?Cache是Cache的一個(gè)特殊的內(nèi)存子系統(tǒng),它將常用的數(shù)據(jù)拷貝到Cache中,以便快速訪問。高速緩存由標(biāo)記存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器組成。標(biāo)記存儲(chǔ)器用于存儲(chǔ)高速緩存的控制位和塊地址標(biāo)
cache的作用是什么?
Cache是Cache的一個(gè)特殊的內(nèi)存子系統(tǒng),它將常用的數(shù)據(jù)拷貝到Cache中,以便快速訪問。高速緩存由標(biāo)記存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器組成。標(biāo)記存儲(chǔ)器用于存儲(chǔ)高速緩存的控制位和塊地址標(biāo)簽??刂莆挥糜诠芾砀咚倬彺娴淖x寫操作,塊地址標(biāo)簽記錄高速緩存中每個(gè)塊的地址。此地址包含映射到主存的塊地址,并對應(yīng)于高速緩存中的“數(shù)據(jù)”塊。該“數(shù)據(jù)”存儲(chǔ)在高速緩存的數(shù)據(jù)存儲(chǔ)器中。當(dāng)CPU讀取數(shù)據(jù)時(shí),它首先通過地址總線將物理地址發(fā)送到高速緩存,并將其與高速緩存中的塊地址標(biāo)簽進(jìn)行比較。如果存在匹配項(xiàng),則表示數(shù)據(jù)已經(jīng)存在于緩存中(這種情況稱為“命中”)。此時(shí),只需將緩存中的相應(yīng)數(shù)據(jù)通過數(shù)據(jù)總線直接傳輸?shù)紺PU即可。但是,如果CPU發(fā)送的物理地址與緩存中的塊地址標(biāo)簽不匹配,則表示數(shù)據(jù)不在緩存中(稱為“錯(cuò)誤”),此時(shí),主存需要將CPU所需的數(shù)據(jù)地址復(fù)制到緩存中,然后緩存將數(shù)據(jù)傳輸給CPU。從這個(gè)過程可以看出,如果CPU讀“hit”,訪問速度可以提高很多,但是如果讀“error”,cache的存在會(huì)減慢CPU的讀取速度。因此,采用何種技術(shù)和方法來提高讀寫命中率、降低錯(cuò)誤率成為cache設(shè)計(jì)的關(guān)鍵。增加cache的容量當(dāng)然可以提高命中率,但是由于成本問題,cache不能無限增加,但是通過適當(dāng)?shù)挠成浞椒ê蛪K替換方法可以提高命中率。如何映射知識(shí)擴(kuò)展緩存中的數(shù)據(jù)以及如何對應(yīng)內(nèi)存中的數(shù)據(jù)。有三種映射方法:直接映射。如果主存中的一個(gè)塊只能映射到緩存中的一個(gè)特定塊,我們稱這種映射方法為直接映射。直接映射的訪問速度最快,但錯(cuò)誤率也最高。
2. 完全映射在這種映射模式下,主內(nèi)存中的塊可以映射到緩存中的任何塊。當(dāng)CPU想要讀取一個(gè)塊時(shí),緩存會(huì)將CPU發(fā)送的地址與緩存中的所有地址標(biāo)簽進(jìn)行比較。由于完全比較,訪問時(shí)間最長,但錯(cuò)誤率最低。
3. 與映射相結(jié)合,這種映射方法將緩存劃分為多個(gè)頁面,每個(gè)頁面具有相同的塊數(shù)。主內(nèi)存中的數(shù)據(jù)塊可以映射到緩存中指定頁的任何塊。這種映射方法可以看作是直接映射和完全映射的折衷,是最有效的映射方法。