❶ 二級緩存的工作原理
緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。 最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進行了分類。當時集成在CPU內核中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。
❷ CPU緩存的工作原理
CPU要讀取一個數據時,首先從Cache中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入Cache中,可以使得以後對整塊數據的讀取都從Cache中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取Cache的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在Cache中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先Cache後內存。 前面是把Cache作為一個整體來考慮的,下面分類分析。Intel從Pentium開始將Cache分開,通常分為一級高速緩存L1和二級高速緩存L2。在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內Cache。在L1中還分數據Cache(D-Cache)和指令Cache(I-Cache)。它們分別用來存放數據和執行這些數據的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。
在P4處理器中使用了一種先進的一級指令Cache——動態跟蹤緩存。它直接和執行單元及動態跟蹤引擎相連,通過動態跟蹤引擎可以很快地找到所執行的指令,並且將指令的順序存儲在追蹤緩存里,這樣就減少了主執行循環的解碼周期,提高了處理器的運算效率。
以前的L2 Cache沒集成在CPU中,而在主板上或與CPU集成在同一塊電路板上,因此也被稱為片外Cache。但從PⅢ開始,由於工藝的提高L2 Cache被集成在CPU內核中,以相同於主頻的速度工作,結束了L2 Cache與CPU大差距分頻的歷史,使L2 Cache與L1 Cache在性能上平等,得到更高的傳輸速度。L2Cache只存儲數據,因此不分數據Cache和指令Cache。在CPU核心不變化的情況下,增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見L2 Cache的重要性。CPU的L1 Cache與L2 Cache惟一區別在於讀取順序。 CPU在Cache中找到有用的數據被稱為命中,當Cache中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1 Cache的命中率為80%。也就是說CPU從L1 Cache中找到的有用數據占數據總量的80%,剩下的20%從L2 Cache讀取。在一些高端領域的CPU(像Intel的Itanium)中,我們常聽到L3 Cache,它是為讀取L2 Cache後未命中的數據設計的—種Cache。
為了保證CPU訪問時有較高的命中率Cache中的內容應該按一定的演算法替換,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出Cache,提高Cache的利用率。緩存技術的發展
總之,在傳輸速度有較大差異的設備間都可以利用Cache作為匹配來調節差距,或者說是這些設備的傳輸通道。在顯示系統、硬碟和光碟機,以及網路通訊中,都需要使用Cache技術。但Cache均由靜態RAM組成,結構復雜,成本不菲,使用現有工藝在有限的面積內不可能做得很大,不過,這也正是技術前進的源動力,有需要才有進步! 隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。
CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高。
雙核心CPU的二級緩存比較特殊,和以前的單核心CPU相比,最重要的就是兩個內核的緩存所保存的數據要保持一致,否則就會出現錯誤,為了解決這個問題不同的CPU使用了不同的辦法。
❸ 磁碟緩存的作用、工作原理是什麼(P2P下載軟體)
當保存到內存池中的數據達到一個程度時,便將數據保存到硬碟中。這樣可以減少實際的磁碟操作,有效的保護磁碟免於重復的讀寫操作而導致的損壞,也能減少寫入所需的時間。
❹ 緩存的工作原理
緩存的工作原理是當CPU要讀取一個數據時,首先從CPU緩存中查找,找到就立即讀取並送給CPU處理;沒有找到,就從速率相對較慢的內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在CPU緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。
RAM(Random-Access Memory)和ROM(Read-Only Memory)相對的,RAM是掉電以後,其中的信息就消失那一種,ROM在掉電以後信息也不會消失那一種。RAM又分兩種,一種是靜態RAM,SRAM(Static RAM);一種是動態RAM,DRAM(Dynamic RAM)。前者的存儲速率要比後者快得多,使用的內存一般都是動態RAM。為了增加系統的速率,把緩存擴大就行了,擴的越大,緩存的數據越多,系統就越快了,緩存通常都是靜態RAM,速率是非常的快, 但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍), 價格高(同容量的靜態RAM是動態RAM的四倍), 由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為, 但是為了提高系統的性能和速率,必須要擴大緩存, 這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存, 這些高速動態RAM速率要比常規動態RAM快,但比原來的靜態RAM緩存慢, 把原來的靜態RAM緩存叫一級緩存,而把後來增加的動態RAM叫二級緩存。
❺ 關於cpu緩存工作原理問題,一級緩存,二級緩存,三級緩存。。。
緩存(位於cpu和內存之間的臨時存儲器,工作效率很高):分為一級、二級和三級緩存。通俗的講,就是cpu在工作時,需要重復讀取一些數據,如果都從內存中讀取的話,所用時間還是會有些長,而緩存可以大幅度提高cpu訪問數據的能力,只有緩存里沒有cpu要找的數據時,cpu才會去找內存提取數據。
而每一級緩存所提供的容量都不相同,三級最大
這樣就提高了cpu工作的效率
❻ P2P緩存的P2P緩存系統
P2P緩存系統將傳統的緩存原理應用到P2P內容上,其基本思想就是在網路邊緣緩存P2P內容,用緩存內容服務後續的P2P請求,過濾掉重復的P2P內容。圖1描述了P2P緩存系統的工作原理。如圖1所示,在使用了P2P緩存系統後,P2P訪問的流程如下。
首先,peer A請求下載內容片斷X,下載請求由peer A所歸屬的Intranet路由轉發給P2P緩存設備。由於是初次下載,緩存設備發現請求的內容並沒有被緩存過,於是將下載請求轉發給互聯網上的peer C,peer A最終通過訪問peer C獲得片斷X。注意X在被發送給peer A的同時會通過緩存設備並被緩存。當peer B再次發起下載片斷X的請求時,下載請求將同樣被引導到緩存設備,此時緩存設備已經緩存了X,於是peer B對X的下載直接由緩存設備提供。
研究表明,由於在P2P網路中同樣存在熱點內容,因而在P2P網路中部署緩存設備可能獲得高達90%的位元組命中率。這意味著P2P緩存系統的使用可以非常有效地緩解P2P流量對網路帶寬的佔用。同時,由於緩存系統靠近P2P用戶,可以使用戶訪問不必穿過缺乏服務質量保證的核心網路,從而降低用戶訪問響應時間,保證用戶訪問質量,提升用戶體驗並吸引用戶,從而為P2P技術的進一步發展提供保障。 P2P緩存系統需要完成的主要工作有:P2P協議分析、內容緩存、內容分發和代理。P2P緩存系統通常由流量捕捉、協議處理、緩存檢查、內容存儲、轉發器等單元構成,如圖2所示。
其中,流量捕捉完成對受監測流量的捕捉。最簡單的實現方式是將緩存系統串聯到需要使用的路徑上,不過也可以採用策略路由或其他方式完成流量捕捉。捕捉到的流量報文被發送到協議處理單元完成對協議的分析處理,注意此時的報文不僅僅包括P2P通信的。轉發器是系統中的發送單元,接收從其他單元發送來的報文,並根據報文中的信息(如目的地址和埠)將報文發送給其他網路設備。在P2P緩存系統中,協議分析單元僅對捕捉到的P2P傳輸報文做深度報文分析,對其他報文,協議分析單元將直接轉發給轉發器。一旦協議分析單元發現某報文是P2P內容請求,該報文所屬的應用會話(包括後續訪問直到會話結束)的狀態就會被監視。一旦能夠確認該會話所訪問的內容(P2P系統中內容通常由其HashID標識),協議分析單元就會訪問緩存檢查單元以判斷該內容是否已經被緩存,如果該內容已經被緩存,該會話的後續請求就會被直接交給內容緩存模塊處理。內容緩存模塊根據協議分析單元的請求,從緩存中獲得相應的緩存內容或將協議分析單元發送的內容做緩存處理。為實現緩存內容的發送,協議分析單元在通過內容緩存模塊獲得內容數據後需要按P2P協議要求封裝獲得的內容,模擬源P2P響應,然後交給轉發器發送給應用請求者。如果P2P會話所訪問的內容並沒有被緩存,後續訪問的內容就會被緩存到內容存儲單元中。圖2中標記了不同流量在P2P緩存系統中的處理流程。 圖2的緩存系統結構雖然能夠完成基本的緩存處理操作,但實際網路對P2P緩存系統還有更多的要求。要使P2P緩存系統融合到現實網路中,P2P緩存系統還需要在處理效率、可擴展性、版權保護以及系統部署等多方面進行優化。
處理效率
首先,網路設備必須滿足一定的處理效率要求,對於緩存設備,並發流量處理能力是一個關鍵性能指標,而流量處理能力的需求直接與系統所服務的終端用戶量相關。對於P2P緩存系統,一定數量的重復內容訪問和緩存命中率是發揮緩存系統優勢的基礎,而重復請求的數量依賴於用戶群體的規模和用戶訪問特徵。在流行的P2P共享系統中,共享的文件通常較大並且內容繁多,這些特徵要求緩存系統能夠服務較多的用戶和較高的流量,以保證適當的訪問命中率。另外,對帶寬的需求也會受到網路物理埠的帶寬限制。P2P內容的分析和緩存要求設備做7層協議分析和處理,龐大的運算量使得P2P緩存系統不得不採用較好的硬體設備,同時也要求系統充分優化流量處理過程。
高層協議分析的處理效率通常遠低於低層協議,為解決對處理效率的要求,系統設計要盡可能在低層協議分析過程中過濾掉非P2P流量。雖然P2P應用的協議五花八門,沒有統一的標准,並且在通信埠上也各不相同,但對P2P協議分析顯示,各種P2P應用的報文在傳輸層協議上存在一定的特徵,如KaZaa使用的FastTrack協議在報文中存在「GET.hash」欄位,eDonkev報文中存在「E30C5」欄位,BT報文中存在「BitTorrent protocol」欄位。因此,利用協議分析,在第四層的分析中過濾掉不具備P2P特徵的流量,系統就可以保證盡可能多的處理能力被用於7層的P2P協議分析,從而提供高流量的處理性能。
擴展性
對P2P緩存系統的可擴展性要求包含兩方面的內容:系統處理能力的可擴展性和可緩存處理的協議數量的可擴展性。系統處理能力的可擴展性是要求系統的處理能力僅僅受系統中硬體處理能力限制,如處理器的運算能力、存儲器的存儲能力、網路帶寬的通信能力。如果需要,系統可以通過購買新的硬體來滿足更多處理能力需求。對於系統處理能力的可擴展性,現在有很多相關的解決方案,如群集(clustering)系統[5]。
可緩存處理的P2P協議的可擴展性是要求緩存新的P2P協議內容應當僅僅需要在現有系統上安裝相關的分析模塊,而不需要對現有緩存系統的軟體或硬體結構做整體修改,甚至是將現有系統替換掉。就當前P2P應用的發展狀況來看,P2P應用和協議缺乏統一標准,P2P應用間信息難以共享。同時,P2P應用在最近幾年獲得了迅猛的發展,現在已經有了數百種,其中BT、eMule等少數應用已經佔用了超過50%的網路流量,對網路性能有嚴重影響。雖然只要分析和緩存BT等少數幾個協議就可以在現階段對P2P流量達到很好的優化效果,但隨著P2P技術的發展,必然會產生對新協議分析和緩存的需求,從而要求系統可以擴展其能夠分析處理的協議。對於系統處理協議的擴展,可以通過系統良好的模塊化並在協議處理和緩存檢查模塊之間定義靈活可擴展的介面來得到保證。
版權保護
版權問題長期以來是困擾P2P系統的一個難題。一方面,對版權缺乏保護造就了P2P文件共享網路上的豐富內容,推動了P2P文件共享的快速發展;另一方面,對版權缺乏保護又使得P2P共享對版權內容缺乏吸引,從而阻礙了P2P建立成功的商業模式並推動其進一步發展。迄今為止,雖然業界不斷提出P2P文件共享系統的版權保護解決方案,但各種方案或多或少地存在一些問題。如何在保持P2P系統開放性的同時吸引版權內容的參與仍然是一個難題。
P2P緩存系統是一個不負責內容發布的流量優化系統,在版權保護方面也需要有一定的考慮,具體地說就是要求在提供緩存內容的代理服務的同時不觸犯任何版權保護法例。需要注意的是,在中國至今仍然沒有明確的相關法律法規,在全球范圍內對相關問題有明確界定的也僅僅是美國的《千禧年數字版權法(DMCA)》[8]。在該法案中對緩存類設備定義了「版權安全港」,這一定義對提供內容緩存系統做了如下界定:緩存是在本地伺服器中為終端用戶所做的自動、暫時的內容存儲,並對緩存系統提出了以下要求:
● 緩存系統不能成為內容的原始提供者;
● 緩存系統不能在緩存過程中改變被緩存內容;
● 緩存系統的存在不能影響內容的原始訪問方式(如口令認證過程等);
● 緩存系統對內容更新的處理應當符合相應的行業標准;
● 緩存系統必須在了解到所提供/緩存內容侵犯版權所有人權利後立即刪除相應內容。
為符合上述對「版權安全港」的要求,緩存系統在為peer訪問提供緩存內容服務後需要保證peer訪問流程符合原有P2P應用的要求,也就是要求緩存系統具備將P2P應用的數據和信令消息分離的能力。所有的信令交互仍然由信令信道通過緩存設備向提供文件服務的源peer發送,僅對數據通信提供優化加速。這可以通過在緩存系統將訪問peer。到被訪問peer的鏈接分割為兩個鏈接實現。對訪問peer和緩存設備之間的鏈接,緩存設備模擬正常的peer訪問流程,提供正常的數據通信;對緩存設備到被訪問peer的鏈接,緩存設備在轉發所有請求和控制信息的同時,將數據傳輸信息用佔用帶寬很少的P2P維持鏈接信息替代(如BT中有效內容長度為0的消息),該信息同時還起到監測被訪問peer狀態的功能。當被訪問peer停止提供服務時,緩存設備需要停止為其內容提供分發服務。另外,緩存設備還需要提供手動刪除緩存內容的能力,以保證在發現內容侵權的第一時間立即刪除侵權內容。
❼ Cache的的工作原理是什麼
CACHE 快取
CACHE是一種加速內存或磁碟存取的裝置,可將慢速磁碟上的數據拷貝至快速的磁碟進行讀寫動作,以提升系統響應的速度。
其運作原理在於使用較快速的儲存裝置保留一份從慢速儲存裝置中所讀取數據且進行拷貝,當有需要再從較慢的儲存體中讀寫數據時,CACHE能夠使得讀寫的動作先在快速的裝置上完成,如此會使系統的響應較為快速。
舉例來說,存取內存 (RAM) 的速度較磁碟驅動器快非常多,所以我們可以將一部份的主存儲器保留當成磁碟CACHE,每當有磁碟讀取的需求時就把剛讀取的數據拷貝一份放在CACHE內存中,如果系統繼續要求讀取或寫入同一份數據或同一扇區 (sector) 時,系統可以直接從內存中的CACHE部分作讀寫的動作,這樣系統對磁碟的存取速度感覺上會快許多。
同樣的,靜態內存 (SRAM) 比動態內存 (DRAM) 的讀寫速度快,使用些靜態內存作為動態內存的CACHE,也可以提升讀寫的效率。
內存不全部使用SRAM取代DRAM 的原因,是因為SRAM的成本較DRAM高出許多。
使用CACHE的問題是寫入CACHE中的數據如果不立即寫回真正的儲存體,一但電源中斷或其它意外會導致數據流失;但若因而每次都將數據寫寫回真正的儲存體,又將會使得CACHE只能發揮加速讀取的功能,而不能加速寫入的速度,這樣的狀況使得CACHE寫入的方式分為兩類:
1. Write-Through: 每次遇到寫入時就將數據寫入真正的儲存體。
2. Write-Back: 遇到寫入時不一定回寫,只紀錄在CACHE內,並將該份數據標示為已更改(dirty),等系統有空或等到一定的時間後再將數據寫回真正的儲存體,這種做法是承擔一點風險來換取效率。
由於很多時候系統不只有重復讀寫同一塊區域,使用兩組各自獨立的CACHE效能通常比只使用一組較佳,這稱為 2-Ways Associate,同樣的,使用四組CACHE則稱為4ways Associate,但更多組的CACHE會使得演算法相對的復雜許多。
CACHE的效能依演算法的使用而有好壞之分,估量的單位通常使用命中率 (hits),命中率較高者較佳。
新式的CPU上也有內建的CACHE,稱為 LEVEL 1 (L1) 快取, 由於與 CPU 同頻率運作,能比在主機板上的 LEVEL 2 (L2) CACHE提供更快速的存取效能。
❽ Cache的工作原理是什麼
Cache的工作原理是基於程序訪問的局部性(通俗說就是把經常用到的數據放在一個高速的cache裡面)。
Cache存儲器:電腦中為高速緩沖存儲器,是位於CPU和主存儲器DRAM(Dynamic Random Access Memory)之間,規模較小,但速度很高的存儲器,通常由SRAM(Static Random Access Memory靜態存儲器)組成。
Cache的功能是提高CPU數據輸入輸出的速率。
Cache容量小但速度快,內存速度較低但容量大,通過優化調度演算法,系統的性能會大大改善,彷彿其存儲系統容量與內存相當而訪問速度近似Cache。
Cache通常採用相聯存儲器。
(8)淺談邊緣緩存及其工作原理擴展閱讀
PC系統的發展趨勢之一是CPU主頻越做越高,系統架構越做越先進,而主存DRAM的結構和存取時間改進較慢。因此,Cache技術愈顯重要,在PC系統中Cache越做越大。廣大用戶已把Cache做為評價和選購PC系統的一個重要指標。
本在傳輸速度有較大差異的設備間都可以利用Cache作為匹配來調節差距,或者說是這些設備的傳輸通道。在顯示系統、硬碟和光碟機,以及網路通訊中,都需要使用Cache技術。
❾ 緩存伺服器的緩存伺服器原理
Web緩存伺服器的應用模式主要是正向代理和反向代理。正向代理(Proxy)模式是代理網路用戶訪問internet,客戶端將本來要直接發送到internet上源伺服器的連接請求發送給代理伺服器處理。正向代理的目的是加速用戶在使用瀏覽器訪問Internet時的請求響應時間,並提高廣域網線路的利用率。正向代理瀏覽器無需和該站點建立聯系,只訪問到Web緩存即可。通過正向代理,大大提高了後續用戶的訪問速度,使他們無需再穿越Internet,只要從本地Web緩存就可以獲取所需要的信息,避免了帶寬問題,同時可以大量減少重復請求在網路上的傳輸,從而降低網路流量,節省資費。
反向代理(Reverse Proxy)模式是針對Web伺服器加速功能的,在該模式中,緩存伺服器放置在web應用伺服器的前面,當用戶訪問web應用伺服器的時候,首先經過緩存伺服器,並將用戶的請求和應用伺服器應答的內容寫入緩存伺服器中,從而為後續用戶的訪問提供更快的響應。其工作原理如下圖所示。