緩存是CPU的一部分,它存在于CPU中 CPU存取數(shù)據(jù)的速度非常的快,一秒鐘能夠存取、處理十億條指令和數(shù)據(jù)(術(shù)語:CPU主頻1G),而內(nèi)存就慢很多,快的內(nèi)存能夠達(dá)到幾十兆就不錯了,可見兩者的速度差異是多么的大,緩存是為了解決CPU速度和內(nèi)存速度的速度差異問題。
- 中文名
- 系統(tǒng)緩存
- 作 用
- 解決CPU速度和內(nèi)存速度的速度差
- 所屬領(lǐng)域
- 計算機(jī)
- 實 質(zhì)
- 臨時文件交換區(qū)
目錄
- 1 產(chǎn)生原因
- 2 物理內(nèi)存
- 3 注意事項
系統(tǒng)緩存產(chǎn)生原因
編輯如果將CPU比作一個城里的家具廠,而將存儲系統(tǒng)比作郊區(qū)的木料廠,那么實際情況就是木料廠離家具廠越來越遠(yuǎn),即使使用更大的卡車來運(yùn)送木料,家具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區(qū)建立一個小型倉庫,在里面放置一些家具廠常用到的木料。這個倉庫實際上就是家具廠的“Cache",家具廠就可以從倉庫不停的及時運(yùn)送需要的木料。當(dāng)然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續(xù)找,而家具廠就得等著了。
我想現(xiàn)在大家已經(jīng)明白了我的意思,倉庫就相對于L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU常用代碼和數(shù)據(jù)(后面我們會介紹一下如何挑選“用")。L1緩存的速度比系統(tǒng)內(nèi)存快的多是因為使用的是SRAM,這種內(nèi)存單元使用四到六個晶體管。這也使得SRAM的造價相當(dāng)?shù)母撸圆荒苣脕碛迷谡麄€存儲系統(tǒng)上。
在大多數(shù)CPU上,L1緩存和核心一起在一塊芯片上。如果在我們家具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設(shè)計使CPU可以從近快的地方得到數(shù)據(jù),但是也使得“城外的木料廠"到“倉庫"和到“家具廠"的距離差不多遠(yuǎn)。這樣如果CPU需要的數(shù)據(jù)不在L1緩存中,也就是“Cache Miss",從存儲設(shè)備取數(shù)據(jù)就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內(nèi)存中取得數(shù)據(jù)就相當(dāng)于“木料廠"位于另一個地方。
系統(tǒng)緩存物理內(nèi)存
編輯即內(nèi)存條,內(nèi)存中被CPU訪問頻繁的數(shù)據(jù)和指令被復(fù)制入CPU中的緩存,這樣CPU就可以不經(jīng)常到象“蝸牛"一樣慢的內(nèi)存中去取數(shù)據(jù)了,CPU只要到緩存中去取就行了,而緩存的速度要比內(nèi)存快很多
系統(tǒng)緩存注意事項
編輯這里要特別指出的是:
1.因為緩存只是內(nèi)存中少部分?jǐn)?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ù)不是一成不變的
2.因為隨著時間的變化,被訪問得頻繁的數(shù)據(jù)不是一成不變的,也就是說,剛才還不頻繁的數(shù)據(jù),此時已經(jīng)需要被頻繁的訪問,剛才還是頻繁的數(shù)據(jù),現(xiàn)在又不頻繁了,所以說緩存中的數(shù)據(jù)要經(jīng)常按照一定的算法來更換,這樣才能保證緩存中的數(shù)據(jù)是被訪問頻繁的
關(guān)于一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下RAM
ram和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種
RAM又分兩種,
一種是靜態(tài)RAM,SRAM;一種是動態(tài)RAM,DRAM。前者的存儲速度要比后者快得多,我們現(xiàn)在使用的內(nèi)存一般都是動態(tài)RAM。
有的菜鳥就說了,為了增加系統(tǒng)的速度,把緩存擴(kuò)大不就行了嗎,擴(kuò)大的越大,緩存的數(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的四倍),
由此可見,擴(kuò)大靜態(tài)RAM作為緩存是一個非常愚蠢的行為,
但是為了提高系統(tǒng)的性能和速度,我們必須要擴(kuò)大緩存,
這樣就有了一個折中的方法,不擴(kuò)大原來的靜態(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ù)或指令的順序是:先到
緩存是CPU的一部分,它存在于CPU中 CPU存取數(shù)據(jù)的速度非常的快,一秒鐘能夠存取、處理十億條指令和數(shù)據(jù)(術(shù)語:CPU主頻1G),而內(nèi)存就慢很多,快的內(nèi)存能夠達(dá)到幾十兆就不錯了,可見兩者的速度差異是多么的大,緩存是為了解決CPU速度和內(nèi)存速度的速度差異問題。
- 中文名
- 系統(tǒng)緩存
- 作 用
- 解決CPU速度和內(nèi)存速度的速度差
- 所屬領(lǐng)域
- 計算機(jī)
- 實 質(zhì)
- 臨時文件交換區(qū)
目錄
- 1 產(chǎn)生原因
- 2 物理內(nèi)存
- 3 注意事項
系統(tǒng)緩存產(chǎn)生原因
編輯如果將CPU比作一個城里的家具廠,而將存儲系統(tǒng)比作郊區(qū)的木料廠,那么實際情況就是木料廠離家具廠越來越遠(yuǎn),即使使用更大的卡車來運(yùn)送木料,家具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區(qū)建立一個小型倉庫,在里面放置一些家具廠常用到的木料。這個倉庫實際上就是家具廠的“Cache",家具廠就可以從倉庫不停的及時運(yùn)送需要的木料。當(dāng)然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續(xù)找,而家具廠就得等著了。
我想現(xiàn)在大家已經(jīng)明白了我的意思,倉庫就相對于L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU常用代碼和數(shù)據(jù)(后面我們會介紹一下如何挑選“常用")。L1緩存的速度比系統(tǒng)內(nèi)存快的多是因為使用的是SRAM,這種內(nèi)存單元使用四到六個晶體管。這也使得SRAM的造價相當(dāng)?shù)母撸圆荒苣脕碛迷谡麄€存儲系統(tǒng)上。
在大多數(shù)CPU上,L1緩存和核心一起在一塊芯片上。如果在我們家具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設(shè)計使CPU可以從近快的地方得到數(shù)據(jù),但是也使得“城外的木料廠"到“倉庫"和到“家具廠"的距離差不多遠(yuǎn)。這樣如果CPU需要的數(shù)據(jù)不在L1緩存中,也就是“Cache Miss",從存儲設(shè)備取數(shù)據(jù)就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內(nèi)存中取得數(shù)據(jù)就相當(dāng)于“木料廠"位于另一個地方。
系統(tǒng)緩存物理內(nèi)存
編輯即內(nèi)存條,內(nèi)存中被CPU訪問頻繁的數(shù)據(jù)和指令被復(fù)制入CPU中的緩存,這樣CPU就可以不經(jīng)常到象“蝸牛"一樣慢的內(nèi)存中去取數(shù)據(jù)了,CPU只要到緩存中去取就行了,而緩存的速度要比內(nèi)存快很多
系統(tǒng)緩存注意事項
編輯這里要特別指出的是:
1.因為緩存只是內(nèi)存中少部分?jǐn)?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ù)不是一成不變的
2.因為隨著時間的變化,被訪問得頻繁的數(shù)據(jù)不是一成不變的,也就是說,剛才還不頻繁的數(shù)據(jù),此時已經(jīng)需要被頻繁的訪問,剛才還是頻繁的數(shù)據(jù),現(xiàn)在又不頻繁了,所以說緩存中的數(shù)據(jù)要經(jīng)常按照一定的算法來更換,這樣才能保證緩存中的數(shù)據(jù)是被訪問頻繁的
關(guān)于一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下RAM
ram和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種
RAM又分兩種,
一種是靜態(tài)RAM,SRAM;一種是動態(tài)RAM,DRAM。前者的存儲速度要比后者快得多,我們現(xiàn)在使用的內(nèi)存一般都是動態(tài)RAM。
有的菜鳥就說了,為了增加系統(tǒng)的速度,把緩存擴(kuò)大不就行了嗎,擴(kuò)大的越大,緩存的數(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的四倍),
由此可見,擴(kuò)大靜態(tài)RAM作為緩存是一個非常愚蠢的行為,
但是為了提高系統(tǒng)的性能和速度,我們必須要擴(kuò)大緩存,
這樣就有了一個折中的方法,不擴(kuò)大原來的靜態(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ù)或指令的順序是:先到
所有評論僅代表網(wǎng)友意見,與本站立場無關(guān)。