高速緩沖存儲(chǔ)器
高速緩沖存儲(chǔ)器,即Cache。我們知道,任何程序或數(shù)據(jù)要為CPU所使用,必須先放到主存儲(chǔ)器(內(nèi)存)中,即CPU只與主存交換數(shù)據(jù),所以主存的速度在很大程度上決定了系統(tǒng)的運(yùn)行速度。程序在運(yùn)行期間,在一個(gè)較短的時(shí)間間隔內(nèi),由程序產(chǎn)生的地址往往集中在存儲(chǔ)器的一個(gè)很小范圍的地址空間內(nèi)。指令地址本來就是連續(xù)分布的,再加上循環(huán)程序段和子程序段要多次重復(fù)執(zhí)行,因此對(duì)這些地址中的內(nèi)容的訪問就自然的具有時(shí)間集中分布的傾向。數(shù)據(jù)分布的集中傾向不如程序這么明顯,但對(duì)數(shù)組的存儲(chǔ)和訪問以及工作單元的選擇可以使存儲(chǔ)器地址相對(duì)地集中。這種對(duì)局部范圍的存儲(chǔ)器地址頻繁訪問,而對(duì)此范圍外的地址訪問甚少的現(xiàn)象被稱為程序訪問的局部化(Locality of Reference)性質(zhì)。由此性質(zhì)可知,在這個(gè)局部范圍內(nèi)被訪問的信息集合隨時(shí)間的變化是很緩慢的,如果把在一段時(shí)間內(nèi)一定地址范圍被頻繁訪問的信息集合成批地從主的系統(tǒng)中,CPU訪問數(shù)據(jù)時(shí),在Cache中能直接找到的概率,它是Cache的一個(gè)重要指標(biāo),與Cache的大小、替換算法、程序特性等因素有關(guān)。增加Cache后,CPU訪問主存的速度是可以預(yù)算的,64KB的Cache可以緩沖4MB的主存,且命中率都在90%以上。以主頻為100MHz的CPU(時(shí)鐘周期約為10ns)、20ns的Cache、70ns的RAM、命中率為90%計(jì)算,CPU訪問主存的周期為:有Cache時(shí),20×0.9+70×0.1=34ns;無Cache時(shí),70×1=70ns。由此可見,加了Cache后,CPU訪問主存的速度大大提高了,但有一點(diǎn)需注意,加Cache只是加快了CPU訪問主存的速度,而CPU訪問主存只是計(jì)算機(jī)整個(gè)操作的一部分,所以增加Cache對(duì)系統(tǒng)整體速度只能提高10~20%左右。