并非越大越好-漫談CPU與緩存
互聯(lián)網(wǎng) 發(fā)布時間:2009-04-21 01:30:34 作者:佚名
我要評論

說到CPU,不得不說的就是CPU緩存,目前CPU的緩存已經(jīng)成了衡量CPU性能的一個必要指標,那么CPU緩存到底對CPU性能的影響有多大呢?
我們知道,CPU執(zhí)行指令時,會將執(zhí)行結(jié)果放在一個叫“寄存器”的元件中,由于“
說到CPU,不得不說的就是CPU緩存,目前CPU的緩存已經(jīng)成了衡量CPU性能的一個必要指標,那么CPU緩存到底對CPU性能的影響有多大呢?
我們知道,CPU執(zhí)行指令時,會將執(zhí)行結(jié)果放在一個叫“寄存器”的元件中,由于“寄存器”集成在CPU內(nèi)部,與ALU等構(gòu)成CPU的重要元件,因此寄存器中的指令很快被CPU所訪問,但畢竟寄存器的容量太小,CPU所需的大量指令和數(shù)據(jù)還在內(nèi)存(RAM)當中,所以CPU為了完成指令操作,需要頻繁地向內(nèi)存發(fā)送接收指令、數(shù)據(jù)。
由于內(nèi)存的處理速度遠遠低于CPU,所以傳統(tǒng)的系統(tǒng)瓶頸在這里就產(chǎn)生了,CPU在處理指令時往往花費很多時間在等待內(nèi)存做準備工作。
為了解決這個問題,人們在CPU內(nèi)集成了一個比內(nèi)存快許多的“Cache”,這就是最早的“高速緩存”。
L1高速緩存是與CPU完全同步運行的存儲器,也就是我們常說的一級緩存,如果CPU需要的數(shù)據(jù)和指令已經(jīng)在高速緩存中了,那么CPU不必等待,直接就可以從一級緩存(L1)中取得數(shù)據(jù),如果數(shù)據(jù)不在L1中,CPU再從二級緩存(L2)中提取數(shù)據(jù),大大提高了系統(tǒng)的工作效率。
趣談CPU緩存工作原理
沒有CPU緩存前
我們可以形象地把CPU的運算單元想象成是一間坐落在城市中心的工廠,把內(nèi)存看成是工廠設置在郊區(qū)的一間面積很大的倉庫A。
工廠生產(chǎn)所需要的原材料每次都要花時間去遠處的倉庫A調(diào)運,而且到達倉庫后,還要等待倉庫準備好材料,中間浪費了不少時間。這就是CPU頻率未變的情況下,CPU與內(nèi)存的數(shù)據(jù)交換不同步的現(xiàn)象。
而突然有一天,由于資金短缺,倉庫A從近郊區(qū)“搬到”了遠郊區(qū),這樣原料和成品在工廠與倉庫A之間的運輸所花費的時間就更長了,工廠生產(chǎn)所需的原料供應不足,經(jīng)常處于空運轉(zhuǎn)的狀態(tài)下。這就是說當CPU頻率增加后,CPU與內(nèi)存交換數(shù)據(jù)等待需時間會變得更長
增加L1 Cache
要解決CPU與內(nèi)存交換數(shù)據(jù)不同步這個系統(tǒng)瓶頸問題,其中一個辦法是在靠近工廠的市區(qū)設置一個小型的倉庫B(L1 Cache)。
平時把生產(chǎn)最迫切需要、用得最多的原材料(指令和數(shù)據(jù))從倉庫A(內(nèi)存)調(diào)配到倉庫B(L1 Cache),這樣工廠生產(chǎn)所需要的原材料就可以很快地調(diào)配過來,減少空運轉(zhuǎn)的時間。當所需的原材料在倉庫B中找不到(緩存未命中)時,仍然要到倉庫A(內(nèi)存)里調(diào)配,雖然無可避免地使工廠又進入空運轉(zhuǎn),或部分空運轉(zhuǎn)(CPU等待若干個時鐘周期),但這樣畢竟使等待時間大大降低了。
小知識:緩存有一個“預讀”功能,也就是可以通過一定的算法,猜測接下來所要的數(shù)據(jù),并預先取入緩存。
再添L2 Cache
隨著CPU的頻率提高,與內(nèi)存之間交換數(shù)據(jù)不同步的現(xiàn)象更明顯了,可以理解為倉庫A(內(nèi)存)搬離郊區(qū),遷到更遠的地方了。解決這一問題的一個更好的辦法就是在城市的邊緣再設立一個比倉庫B大的倉庫C,也就是我們說的二級緩存。
它的作用是把郊區(qū)之外的倉庫A(內(nèi)存)中最迫切用的材料(指令)運到倉庫C,而工廠如果在倉庫B中找不到所需的材料,就可以到倉庫C中找,而不必老遠跑到倉庫A那里找,節(jié)省了不少時間。
通常情況下,L2包括L1所有的數(shù)據(jù),另外還有一些附加的數(shù)據(jù)。換言之,L1與L2、L2與內(nèi)存之間是子母關(guān)系,所以CPU緩存的出現(xiàn)更有效地解決了CPU空等待所造成的資源浪費問題。
CPU緩存越大越好?
當然,CPU緩存并不是越大越好,因為緩存采用的是速度快、價格昂貴的靜態(tài)RAM(SRAM),由于每個SRAM內(nèi)存單元都是由4~6個晶體管構(gòu)成,增加緩存會帶來CPU集成晶體管個數(shù)大增,發(fā)熱量也隨之增大,給設計制造帶來很大的難度。所以就算緩存容量做得很大,但如果設計不合理會造成緩存的延時,CPU的性能也未必得到提高。
我們知道,CPU執(zhí)行指令時,會將執(zhí)行結(jié)果放在一個叫“寄存器”的元件中,由于“寄存器”集成在CPU內(nèi)部,與ALU等構(gòu)成CPU的重要元件,因此寄存器中的指令很快被CPU所訪問,但畢竟寄存器的容量太小,CPU所需的大量指令和數(shù)據(jù)還在內(nèi)存(RAM)當中,所以CPU為了完成指令操作,需要頻繁地向內(nèi)存發(fā)送接收指令、數(shù)據(jù)。
由于內(nèi)存的處理速度遠遠低于CPU,所以傳統(tǒng)的系統(tǒng)瓶頸在這里就產(chǎn)生了,CPU在處理指令時往往花費很多時間在等待內(nèi)存做準備工作。
為了解決這個問題,人們在CPU內(nèi)集成了一個比內(nèi)存快許多的“Cache”,這就是最早的“高速緩存”。
L1高速緩存是與CPU完全同步運行的存儲器,也就是我們常說的一級緩存,如果CPU需要的數(shù)據(jù)和指令已經(jīng)在高速緩存中了,那么CPU不必等待,直接就可以從一級緩存(L1)中取得數(shù)據(jù),如果數(shù)據(jù)不在L1中,CPU再從二級緩存(L2)中提取數(shù)據(jù),大大提高了系統(tǒng)的工作效率。
趣談CPU緩存工作原理
沒有CPU緩存前
我們可以形象地把CPU的運算單元想象成是一間坐落在城市中心的工廠,把內(nèi)存看成是工廠設置在郊區(qū)的一間面積很大的倉庫A。
工廠生產(chǎn)所需要的原材料每次都要花時間去遠處的倉庫A調(diào)運,而且到達倉庫后,還要等待倉庫準備好材料,中間浪費了不少時間。這就是CPU頻率未變的情況下,CPU與內(nèi)存的數(shù)據(jù)交換不同步的現(xiàn)象。
而突然有一天,由于資金短缺,倉庫A從近郊區(qū)“搬到”了遠郊區(qū),這樣原料和成品在工廠與倉庫A之間的運輸所花費的時間就更長了,工廠生產(chǎn)所需的原料供應不足,經(jīng)常處于空運轉(zhuǎn)的狀態(tài)下。這就是說當CPU頻率增加后,CPU與內(nèi)存交換數(shù)據(jù)等待需時間會變得更長
增加L1 Cache
要解決CPU與內(nèi)存交換數(shù)據(jù)不同步這個系統(tǒng)瓶頸問題,其中一個辦法是在靠近工廠的市區(qū)設置一個小型的倉庫B(L1 Cache)。
平時把生產(chǎn)最迫切需要、用得最多的原材料(指令和數(shù)據(jù))從倉庫A(內(nèi)存)調(diào)配到倉庫B(L1 Cache),這樣工廠生產(chǎn)所需要的原材料就可以很快地調(diào)配過來,減少空運轉(zhuǎn)的時間。當所需的原材料在倉庫B中找不到(緩存未命中)時,仍然要到倉庫A(內(nèi)存)里調(diào)配,雖然無可避免地使工廠又進入空運轉(zhuǎn),或部分空運轉(zhuǎn)(CPU等待若干個時鐘周期),但這樣畢竟使等待時間大大降低了。
小知識:緩存有一個“預讀”功能,也就是可以通過一定的算法,猜測接下來所要的數(shù)據(jù),并預先取入緩存。
再添L2 Cache
隨著CPU的頻率提高,與內(nèi)存之間交換數(shù)據(jù)不同步的現(xiàn)象更明顯了,可以理解為倉庫A(內(nèi)存)搬離郊區(qū),遷到更遠的地方了。解決這一問題的一個更好的辦法就是在城市的邊緣再設立一個比倉庫B大的倉庫C,也就是我們說的二級緩存。
它的作用是把郊區(qū)之外的倉庫A(內(nèi)存)中最迫切用的材料(指令)運到倉庫C,而工廠如果在倉庫B中找不到所需的材料,就可以到倉庫C中找,而不必老遠跑到倉庫A那里找,節(jié)省了不少時間。
通常情況下,L2包括L1所有的數(shù)據(jù),另外還有一些附加的數(shù)據(jù)。換言之,L1與L2、L2與內(nèi)存之間是子母關(guān)系,所以CPU緩存的出現(xiàn)更有效地解決了CPU空等待所造成的資源浪費問題。
CPU緩存越大越好?
當然,CPU緩存并不是越大越好,因為緩存采用的是速度快、價格昂貴的靜態(tài)RAM(SRAM),由于每個SRAM內(nèi)存單元都是由4~6個晶體管構(gòu)成,增加緩存會帶來CPU集成晶體管個數(shù)大增,發(fā)熱量也隨之增大,給設計制造帶來很大的難度。所以就算緩存容量做得很大,但如果設計不合理會造成緩存的延時,CPU的性能也未必得到提高。
相關(guān)文章
CPU型號、主頻、緩存、插槽接口類型等參數(shù)怎么查看?
CPU型號、主頻、緩存、插槽接口類型等參數(shù)怎么查看?對于購買電腦的朋友,這些都要查看,那么怎么查看呢?下面小編就為大家詳細介紹一下,一起來看看吧2015-11-05- 一級緩存都內(nèi)置在CPU內(nèi)部并與CPU同速運行,可以有效的提高CPU的運行效率,下面為大家介紹下一級緩存的分類及數(shù)據(jù)緩存設計,感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-08
- 三級緩存是為讀取二級緩存后未命中的數(shù)據(jù)設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進一步提高了CPU的效率,下面為大家介紹下其分類及性2013-05-08
- 最近有網(wǎng)友詢問CPU的三級緩存是什么意思,有什么用呢?針對此類細節(jié)問題,下面小編與大家做個簡單介紹,感興趣的你可不要錯過了哈,希望本文知識點可以幫助到你2013-02-22
- CPU緩存(Cache Memory)是位于CPU與內(nèi)存之間的臨時存儲器,它的容量比內(nèi)存小但交換速度快。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時間內(nèi)CPU即將訪問的,當C2012-12-27
- 本文詳細的介紹了CPU三級緩存的作用2012-11-17
- 一客戶送修一臺電腦,配置如下:賽揚800MHz的CPU,QDI693A主板,HY128MB內(nèi)存,邁拓20GB硬盤。故障現(xiàn)象表現(xiàn)為開機自檢完成后無法進入操作系統(tǒng),即電腦顯示“Verifying2010-09-08
- 在電腦城看到了一顆叫BE 2300的AMD X2 CPU,問老板他也說不出什么所以然來,請問這塊CPU的型號是怎么回事,有什么特別的地方嗎? 【答】:BE-2300是Athlon X22009-04-21
- 現(xiàn)代桌面級PC的CPU二級緩存容量大多數(shù)在64KB到2MB之間。因為CPU二級緩存容量對CPU性能有不小的影響,所以低端CPU和中高端CPU在物理結(jié)構(gòu)上的差異主要就是二級緩存容量的2009-04-21
- 處理器要想發(fā)揮出優(yōu)異的性能,除了與核心架構(gòu)有關(guān)之外,緩存的作用也是功不可沒。那什么是CPU的緩存呢?其實很好解釋,CPU緩存(Cache Memoney)就是位于CPU與內(nèi)存之間2009-04-21