什么是系統(tǒng)緩存? 許多人認為,“緩存”是內(nèi)存的一部分許多技術(shù)文章都是這樣教授的但是還是有很多人不知道緩存在什么地方,緩存是做什么用的其實,緩存是CPU的一部分,它存在于CPU中存取數(shù)據(jù)的速度非常的快,一秒鐘能夠存取、處理十億條指令和數(shù)據(jù)(術(shù)語:CPU主頻1G),而內(nèi)存就慢很多,快的內(nèi)存能夠達到幾十兆就不錯了,可見兩者的速度差異是多么的大緩存是為了解決CPU速度和內(nèi)存速度的速度差異問題內(nèi)存中被CPU訪問最頻繁的數(shù)據(jù)和指令被復(fù)制入CPU中的緩存,這樣CPU就可以不經(jīng)常到象“蝸牛”一樣慢的內(nèi)存中去取數(shù)據(jù)了,CPU只要到緩存中去取就行了,而緩存的速度要比內(nèi)存快很多這里要特別指出的是: 因為緩存只是內(nèi)存中少部分數(shù)據(jù)的復(fù)制品,所以CPU到緩存中尋找數(shù)據(jù)時,也會出現(xiàn)找不到的情況(因為這些數(shù)據(jù)沒有從內(nèi)存復(fù)制到緩存中去),這時CPU還是會到內(nèi)存中去找數(shù)據(jù),這樣系統(tǒng)的速度就慢下來了,不過CPU會把這些數(shù)據(jù)復(fù)制到緩存中去,以便下一次不要再到內(nèi)存中去取。 摘自因為隨著時間的變化,被訪問得最頻繁的數(shù)據(jù)不是一成不變的,也就是說,剛才還不頻繁的數(shù)據(jù),此時已經(jīng)需要被頻繁的訪問,剛才還是最頻繁的數(shù)據(jù),現(xiàn)在又不頻繁了,所以說緩存中的數(shù)據(jù)要經(jīng)常按照一定的算法來更換,這樣才能保證緩存中的數(shù)據(jù)是被訪問最頻繁的關(guān)于一級緩存和二級緩存為了分清這兩個概念,我們先了解一下和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種又分兩種,一種是靜態(tài)RAM,SRAM;一種是動態(tài)RAM,DRAM。前者的存儲速度要比后者快得多,我們現(xiàn)在使用的內(nèi)存一般都是動態(tài)RAM。 有的菜鳥就說了,為了增加系統(tǒng)的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數(shù)據(jù)越多,系統(tǒng)不就越快了嗎緩存通常都是靜態(tài)RAM,速度是非常的快,但是靜態(tài)RAM集成度低(存儲相同的數(shù)據(jù),靜態(tài)RAM的體積是動態(tài)RAM的6倍),價格高(同容量的靜態(tài)RAM是動態(tài)RAM的四倍),由此可見,擴大靜態(tài)RAM作為緩存是一個非常愚蠢的行為,但是為了提高系統(tǒng)的性能和速度,我們必須要擴大緩存,這樣就有了一個折中的方法,不擴大原來的靜態(tài)RAM緩存,而是增加一些高速動態(tài)RAM做為緩存,這些高速動態(tài)RAM速度要比常規(guī)動態(tài)RAM快,但比原來的靜態(tài)RAM緩存慢,我們把原來的靜態(tài)ram緩存叫一級緩存,而把后來增加的動態(tài)RAM叫二級緩存。 一級緩存和二級緩存中的內(nèi)容都是內(nèi)存中訪問頻率高的數(shù)據(jù)的復(fù)制品(映射),它們的存在都是為了減少高速CPU對慢速內(nèi)存的訪問。 通常CPU找數(shù)據(jù)或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內(nèi)存中找了什么是系統(tǒng)緩存? 許多人認為,“緩存”是內(nèi)存的一部分許多技術(shù)文章都是這樣教授的但是還是有很多人不知道緩存在什么地方,緩存是做什么用的其實,緩存是CPU的一部分,它存在于CPU中存取數(shù)據(jù)的速度非常的快,一秒鐘能夠存取、處理十億條指令和數(shù)據(jù)(術(shù)語:CPU主頻1G),而內(nèi)存就慢很多,快的內(nèi)存能夠達到幾十兆就不錯了,可見兩者的速度差異是多么的大緩存是為了解決CPU速度和內(nèi)存速度的速度差異問題內(nèi)存中被CPU訪問最頻繁的數(shù)據(jù)和指令被復(fù)制入CPU中的緩存,這樣CPU就可以不經(jīng)常到象“蝸牛”一樣慢的內(nèi)存中去取數(shù)據(jù)了,CPU只要到緩存中去取就行了,而緩存的速度要比內(nèi)存快很多這里要特別指出的是: 因為緩存只是內(nèi)存中少部分數(shù)據(jù)的復(fù)制品,所以CPU到緩存中尋找數(shù)據(jù)時,也會出現(xiàn)找不到的情況(因為這些數(shù)據(jù)沒有從內(nèi)存復(fù)制到緩存中去),這時CPU還是會到內(nèi)存中去找數(shù)據(jù),這樣系統(tǒng)的速度就慢下來了,不過CPU會把這些數(shù)據(jù)復(fù)制到緩存中去,以便下一次不要再到內(nèi)存中去取。 因為隨著時間的變化,被訪問得最頻繁的數(shù)據(jù)不是一成不變的,也就是說,剛才還不頻繁的數(shù)據(jù),此時已經(jīng)需要被頻繁的訪問,剛才還是最頻繁的數(shù)據(jù),現(xiàn)在又不頻繁了,所以說緩存中的數(shù)據(jù)要經(jīng)常按照一定的算法來更換,這樣才能保證緩存中的數(shù)據(jù)是被訪問最頻繁的關(guān)于一級緩存和二級緩存為了分清這兩個概念,我們先了解一下和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種又分兩種,一種是靜態(tài)RAM,SRAM;一種是動態(tài)RAM,DRAM。前者的存儲速度要比后者快得多,我們現(xiàn)在使用的內(nèi)存一般都是動態(tài)RAM。 有的菜鳥就說了,為了增加系統(tǒng)的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數(shù)據(jù)越多,系統(tǒng)不就越快了嗎緩存通常都是靜態(tài)RAM,速度是非常的快,但是靜態(tài)RAM集成度低(存儲相同的數(shù)據(jù),靜態(tài)RAM的體積是動態(tài)RAM的6倍),價格高(同容量的靜態(tài)RAM是動態(tài)RAM的四倍),由此可見,擴大靜態(tài)RAM作為緩存是一個非常愚蠢的行為,但是為了提高系統(tǒng)的性能和速度,我們必須要擴大緩存,這樣就有了一個折中的方法,不擴大原來的靜態(tài)RAM緩存,而是增加一些高速動態(tài)RAM做為緩存,這些高速動態(tài)RAM速度要比常規(guī)動態(tài)RAM快,但比原來的靜態(tài)RAM緩存慢,我們把原來的靜態(tài)ram緩存叫一級緩存,而把后來增加的動態(tài)RAM叫二級緩存。 一級緩存和二級緩存中的內(nèi)容都是內(nèi)存中訪問頻率高的數(shù)據(jù)的復(fù)制品(映射),它們的存在都是為了減少高速CPU對慢速內(nèi)存的訪問。 通常CPU找數(shù)據(jù)或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內(nèi)存中找了。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn
|