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