高速緩沖存儲(chǔ)器部件結(jié)構(gòu)及原理解析
高速緩沖存儲(chǔ)器部件結(jié)構(gòu)及原理解析
高速緩存 CACHE用途
設(shè)置在 CPU 和 主存儲(chǔ)器之間,完成高速與 CPU交換信息,盡量避免 CPU不必要地多次直接訪問慢速的主存儲(chǔ)器,從而提高計(jì)算機(jī)系統(tǒng)的運(yùn)行效率。
高速緩存 CACHE實(shí)現(xiàn)原理
把CPU最近最可能用到的少量信息(數(shù)據(jù)或指令)從主存復(fù)制到CACHE中,當(dāng)CPU下次再用到這些信息時(shí),它就不必訪問慢速的主存,而直接從快速的CACHE中得到,從而提高了速度。
評(píng)價(jià)CACHE性能的關(guān)鍵指標(biāo)
要有足夠高的命中率,當(dāng)CPU需用主存中的數(shù)據(jù)時(shí),多數(shù)情況下可以直接從CACHE中得到,盡量少讀主存儲(chǔ)器。稱二者之比為命中率。
一、CACHE的基本運(yùn)行原理
1、 CACHE的存儲(chǔ)單元的組成
1位有效位:“0”表示該單元尚未使用,“1”表示數(shù)據(jù)有效
![](/baike/UploadPic/2010-4/2010415111844821.gif)
(1) CACHE單元不一定以字為單位與主存實(shí)現(xiàn)相互對(duì)應(yīng),因?yàn)榇鎯?chǔ)一個(gè)完整的主存地址占用位數(shù)太多。
(2) CACHE與主存交換信息時(shí),不一定每次以一個(gè)主存字為單位進(jìn)行交換,常用的是以字塊的形式(cache line size)進(jìn)行數(shù)據(jù)傳送。
二、CACHE的3種映像方式
地址映像:把主存地址的數(shù)據(jù)復(fù)制到cache時(shí),還要把該主存的地址經(jīng)過某種函數(shù)關(guān)系處理后寫進(jìn)CACHE的標(biāo)志字段,這一過程稱為CACHE的地址映像。
地址變換:在程序執(zhí)行時(shí),要把主存地址變換為訪問CACHE的地址,這一過程稱為CACHE的地址變換。
這二者的處理方案是密切相關(guān)的。
![](/baike/UploadPic/2010-4/2010415111844971.gif)
全相聯(lián)映像方式的優(yōu)缺點(diǎn)
地址映像:寫入CACHE時(shí),要將主存的全部地址寫入CACHE的標(biāo)志字段
地址變換:用讀主存的整個(gè)地址去與CACHE中的每一個(gè)單元的標(biāo)志字段進(jìn)行比較。
缺點(diǎn):比較地址字段必須與整個(gè)CACHE中每一個(gè)單元的標(biāo)志字段都進(jìn)行比較,所以線路復(fù)雜,成本太高,難以實(shí)現(xiàn),只是適用于容量小的CACHE。
2、直接映射方式
![](/baike/UploadPic/2010-4/2010415111844434.gif)
直接映射方式
地址映像:寫入CACHE時(shí),僅將主存的區(qū)段號(hào)寫入CACHE的標(biāo)志字段
地址變換:要將讀主存地址中的區(qū)段內(nèi)偏移地址去訪問CACHE的一個(gè)單元,只需用主存地址的區(qū)段號(hào)與標(biāo)志字段內(nèi)容進(jìn)行比較。
![](/baike/UploadPic/2010-4/2010415111844506.gif)
多路(兩路)組相聯(lián)方式實(shí)現(xiàn)原理
把 CACHE存儲(chǔ)器組織為同等容量的多體結(jié)構(gòu),例如2個(gè)存儲(chǔ)體。主存仍然劃分成容量等于每個(gè)CACHE存儲(chǔ)體的多個(gè)區(qū)段。
主存地址格式如下:
區(qū)段號(hào) |
區(qū)段內(nèi)的偏移量 |
多路(兩路)組相聯(lián)方式
地址映像:寫入CACHE時(shí),僅將主存的區(qū)段號(hào)寫入CACHE的標(biāo)志字段
地址變換:要將讀主存地址中的區(qū)段內(nèi)偏移地址去訪問每一個(gè)CACHE體的一個(gè)單元,只需用主存地址的區(qū)段號(hào)與標(biāo)志字段內(nèi)容進(jìn)行比較。
三、 CACHE存儲(chǔ)器實(shí)用中的幾個(gè)問題
CACHE存儲(chǔ)器的重要技術(shù)指標(biāo)是它的命中率,影響 CACHE 命中率的因素有:
1.CACHE 的容量與命中率的關(guān)系
雖然容量大一些好,但CACHE 容量達(dá)到一定大小之后,再增加其容量對(duì)命中率的提高并不明顯。
2、 Cache Line Size ( CACHE每次與內(nèi)存交換信息的單位量)與命中率的關(guān)系:
每次交換信息的單位量適中,不是以一個(gè)字為單位,而是以幾個(gè)字(稱為CACHE行容量,通常為4~32個(gè)字節(jié))在主存與CACHE之間實(shí)現(xiàn)信息傳送。
4.CACHE的不同映像方式與命中率的關(guān)系:
全相聯(lián)映像方式不適用
直接映像方式命中率低
多路組相聯(lián)方式性能/價(jià)格比更好
直接映像方式中CACHE容量為8K字,被分成1024組,每組8個(gè)字,同時(shí),主存也分成8個(gè)字的組,1024組構(gòu)成一頁(yè)。主存的0組只能映射到CACHE的0組,主存的1組只能映射到CACHE的1組,依次類推。地址結(jié)構(gòu)如下:
5、寫CACHE的策略和對(duì)系統(tǒng)的影響
(1)一個(gè)外設(shè)向主存寫入了一個(gè)數(shù)據(jù),該主存單元原先的副本在CACHE中,出現(xiàn)不一致,此時(shí)最簡(jiǎn)單的辦法就是把CACHE中相應(yīng)單元的有效位清除掉,當(dāng)CPU再次需這一主存單元時(shí),只能從主存重新取得而不會(huì)使用CACHE中的舊值。
(2)改寫主存儲(chǔ)器的策略
若CPU改寫了 CACHE 一單元內(nèi)容后且尚未改變主存相應(yīng)單元內(nèi)容,則出現(xiàn)數(shù)據(jù)不一致性。兩種解決辦法:
第1.接下來(lái)直接改寫主存單元內(nèi)容。簡(jiǎn)便易行, 但可能帶來(lái)系統(tǒng)運(yùn)行效率不高的問題,該后未被使用。
第2.拖后改寫主存單元內(nèi)容,一直拖到有另外的設(shè)備要讀該內(nèi)容過時(shí)的主存單元時(shí)。首先停止這一讀操作,接下來(lái)改寫主存內(nèi)容,之后再起動(dòng)已停下來(lái)的讀操作,否則不必改寫。
矛盾是如何檢查是否應(yīng)該改寫,通過監(jiān)視地址總線完成,記下無(wú)效單元地址用于比較。 控制復(fù)雜些,但可以提供更高系統(tǒng)的運(yùn)行效率。
非常好我支持^.^
(11) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 晶體材料在電子行業(yè)的應(yīng)用 2024-12-04
- [電子說(shuō)] 富士通鐵電白皮書,選擇鐵電存儲(chǔ)的4點(diǎn)理由以及技術(shù)原理分析 2024-12-04
- [電子說(shuō)] 淺談DDR6 RAM設(shè)計(jì)挑戰(zhàn) 2024-12-03
- [電子說(shuō)] 服務(wù)器數(shù)據(jù)恢復(fù)—多塊硬盤離線導(dǎo)致EVA存儲(chǔ)崩潰的數(shù)據(jù)恢復(fù)案例 2024-12-03
- [電子說(shuō)] 三星電子宣布重大結(jié)構(gòu)調(diào)整 2024-12-03
- [電子說(shuō)] 英飛凌推出業(yè)界首款太空級(jí)NOR Flash 2024-12-02
- [電子說(shuō)] DDR內(nèi)存與SDRAM的區(qū)別 DDR4內(nèi)存與DDR3內(nèi)存哪個(gè)好 2024-11-29
- [電子說(shuō)] 三星電子2025年重大組織及高管調(diào)整 2024-11-29
( 發(fā)表人:admin )