

緩存是CPU的一部分,它存在于CPU中 CPU存取數據的速度非常的快,一秒鐘能夠存取、處理十億條指令和數據(術語:CPU主頻1G),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多么的大,緩存是為了解決CPU速度和內存速度的速度差異問題。
- 中文名
- 系統緩存
- 作 用
- 解決CPU速度和內存速度的速度差
- 所屬領域
- 計算機
- 實 質
- 臨時文件交換區
目錄
- 1 產生原因
- 2 物理內存
- 3 注意事項
系統緩存產生原因
編輯如果將CPU比作一個城里的家具廠,而將存儲系統比作郊區的木料廠,那么實際情況就是木料廠離家具廠越來越遠,即使使用更大的卡車來運送木料,家具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在里面放置一些家具廠到的木料。這個倉庫實際上就是家具廠的“Cache",家具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而家具廠就得等著了。
我想現在大家已經明白了我的意思,倉庫就相對于L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU代碼和數據(后面我們會介紹一下如何挑選“")。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。
在大多數CPU上,L1緩存和核心一起在一塊芯片上。如果在我們家具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近的地方得到數據,但是也使得“城外的木料廠"到“倉庫"和到“家具廠"的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是“Cache Miss",從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當于“木料廠"位于另一個國家。
系統緩存物理內存
編輯即內存條,內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象“蝸牛"一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多
系統緩存注意事項
編輯這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復制品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
被訪問得最頻繁的數據不是一成不變的
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的
關于一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下RAM
ram和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種
RAM又分兩種,
一種是靜態RAM,SRAM;一種是動態RAM,DRAM。前者的存儲速度要比后者快得多,我們現在使用的內存一般都是動態RAM。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎
緩存通常都是靜態RAM,速度是非常的快,
但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍),
價格高(同容量的靜態RAM是動態RAM的四倍),
由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為,
但是為了提高系統的性能和速度,我們必須要擴大緩存,
這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存,
這些高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢,
我們把原來的靜態ram緩存叫一級緩存,而把后來增加的動態RAM叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復制品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。
通常CPU找數據或指令的順序是:先到
緩存是CPU的一部分,它存在于CPU中 CPU存取數據的速度非常的快,一秒鐘能夠存取、處理十億條指令和數據(術語:CPU主頻1G),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多么的大,緩存是為了解決CPU速度和內存速度的速度差異問題。
- 中文名
- 系統緩存
- 作 用
- 解決CPU速度和內存速度的速度差
- 所屬領域
- 計算機
- 實 質
- 臨時文件交換區
目錄
- 1 產生原因
- 2 物理內存
- 3 注意事項
系統緩存產生原因
編輯如果將CPU比作一個城里的家具廠,而將存儲系統比作郊區的木料廠,那么實際情況就是木料廠離家具廠越來越遠,即使使用更大的卡車來運送木料,家具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在里面放置一些家具廠到的木料。這個倉庫實際上就是家具廠的“Cache",家具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而家具廠就得等著了。
我想現在大家已經明白了我的意思,倉庫就相對于L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU代碼和數據(后面我們會介紹一下如何挑選“")。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。
在大多數CPU上,L1緩存和核心一起在一塊芯片上。如果在我們家具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近的地方得到數據,但是也使得“城外的木料廠"到“倉庫"和到“家具廠"的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是“Cache Miss",從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當于“木料廠"位于另一個國家。
系統緩存物理內存
編輯即內存條,內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象“蝸牛"一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多
系統緩存注意事項
編輯這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復制品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
被訪問得最頻繁的數據不是一成不變的
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的
關于一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下RAM
ram和ROM相對的,RAM是掉電以后,其中才信息就消失那一種,ROM在掉電以后信息也不會消失那一種
RAM又分兩種,
一種是靜態RAM,SRAM;一種是動態RAM,DRAM。前者的存儲速度要比后者快得多,我們現在使用的內存一般都是動態RAM。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎
緩存通常都是靜態RAM,速度是非常的快,
但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍),
價格高(同容量的靜態RAM是動態RAM的四倍),
由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為,
但是為了提高系統的性能和速度,我們必須要擴大緩存,
這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存,
這些高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢,
我們把原來的靜態ram緩存叫一級緩存,而把后來增加的動態RAM叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復制品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。
通常CPU找數據或指令的順序是:先到











所有評論僅代表網友意見,與本站立場無關。