當前位置:首頁 » 文件管理 » 三大緩存演算法

三大緩存演算法

發布時間: 2022-07-07 10:52:19

① 深度緩存演算法的演算法描述

該演算法需要兩個緩存器,一個是用來存放顏色的顏色緩存器,另一個是用來存放深度的深度緩存器。利用深度緩存器,可以進行可見性的判斷,消除隱藏對象。其具體做法是:
首先對深度緩存器和顏色緩存器進行初始化,把深度緩存器中所有單元置成一個最大可能的深度值,把顏色緩存器中各單元置成背景顏色。然後將場景中的物體不分次序地投影到象平面上去。對於每個投影點(象素),把投影物體在該點處的深度與深度緩存器中相應位置上的深度值進行比較,如果前者小於後者,那麼就把當前被投影物體的顏色寫到顏色緩存器中去,同時用當前投影物體的深度去更新深度緩存器中相應象素的深度,否則不做任何操作。

② 深度緩存演算法的介紹

深度緩存演算法(depth—buffer method)是一種常用的判定對象表面可見性的物空間演算法,它在投影面上的每一像素位置比較場景中所有面的深度。由於通常沿著觀察系統的z軸來計算各對象距觀察平面的深度,該演算法也稱為z緩存(z-buffer)演算法。

③ 剛才有人說緩存還存在演算法關系,那麼有什麼演算法呢,怎樣來決定緩存的大小呢

當然有了,這里是說CPU的高速緩存,它採用一種特殊的演算法,可以「預知」你下一步要運行的程序,所以它會提前把一些需要的數據存在高速緩存中,如果命中率高的話,那你的電腦運行起來速度就很快。相對於沒有緩存的CPU,帶緩存的CPU運行速度要快得多,價格也差別很大。
緩存的大小時固定的,一旦CPU成型了,緩存也就是固定了,現在的CPU都有2M緩存。

你說的磁碟緩存,在我的電腦上點右鍵,屬性,高級,性能——設置,即可對緩存大小進行設置,大小一般是你物理內存的4倍。當然,如果你的物理內存大於1G,就不用再設置緩存了,因為物理內存足夠用。

④ Cache內容為什麼要經常替換常用替換演算法有幾種

二級緩存

CPU緩存(Cache Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。

緩存的工作原理是當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所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時,用新增的一種一級追蹤緩存替代指令緩存,容量為12KμOps,表示能存儲12K條微指令。

隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。現在再用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。

二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。

CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約 5%的數據需要從內存中調用,這進一步提高了CPU的效率。

為了保證CPU訪問時有較高的命中率,緩存中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出緩存,提高緩存的利用率。

CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高。

雙核心CPU的二級緩存比較特殊,和以前的單核心CPU相比,最重要的就是兩個內核的緩存所保存的數據要保持一致,否則就會出現錯誤,為了解決這個問題不同的CPU使用了不同的辦法:

Intel雙核心處理器的二級緩存
目前Intel的雙核心CPU主要有Pentium D、Pentium EE、Core Duo三種,其中Pentium D、Pentium EE的二級緩存方式完全相同。Pentium D和Pentium EE的二級緩存都是CPU內部兩個內核具有互相獨立的二級緩存,其中,8xx系列的Smithfield核心CPU為每核心1MB,而9xx系列的 Presler核心CPU為每核心2MB。這種CPU內部的兩個內核之間的緩存數據同步是依靠位於主板北橋晶元上的仲裁單元通過前端匯流排在兩個核心之間傳輸來實現的,所以其數據延遲問題比較嚴重,性能並不盡如人意。
Core Duo使用的核心為Yonah,它的二級緩存則是兩個核心共享2MB的二級緩存,共享式的二級緩存配合Intel的「Smart cache」共享緩存技術,實現了真正意義上的緩存數據同步,大幅度降低了數據延遲,減少了對前端匯流排的佔用,性能表現不錯,是目前雙核心處理器上最先進的二級緩存架構。今後Intel的雙核心處理器的二級緩存都會採用這種兩個內核共享二級緩存的「Smart cache」共享緩存技術。

AMD雙核心處理器的二級緩存
Athlon 64 X2 CPU的核心主要有Manchester和Toledo兩種,他們的二級緩存都是CPU內部兩個內核具有互相獨立的二級緩存,其中,Manchester 核心為每核心512KB,而Toledo核心為每核心1MB。處理器內部的兩個內核之間的緩存數據同步是依靠CPU內置的System Request Interface(系統請求介面,SRI)控制,傳輸在CPU內部即可實現。這樣一來,不但CPU資源佔用很小,而且不必佔用內存匯流排資源,數據延遲也比Intel的Smithfield核心和Presler核心大為減少,協作效率明顯勝過這兩種核心。不過,由於這種方式仍然是兩個內核的緩存相互獨立,從架構上來看也明顯不如以Yonah核心為代表的Intel的共享緩存技術Smart Cache。
___________________________________

前端匯流排
匯流排是將信息以一個或多個源部件傳送到一個或多個目的部件的一組傳輸線。通俗的說,就是多個部件間的公共連線,用於在各個部件之間傳輸信息。人們常常以MHz表示的速度來描述匯流排頻率。匯流排的種類很多,前端匯流排的英文名字是Front Side Bus,通常用FSB表示,是將CPU連接到北橋晶元的匯流排。選購主板和CPU時,要注意兩者搭配問題,一般來說,如果CPU不超頻,那麼前端匯流排是由 CPU決定的,如果主板不支持CPU所需要的前端匯流排,系統就無法工作。也就是說,需要主板和CPU都支持某個前端匯流排,系統才能工作,只不過一個CPU 默認的前端匯流排是唯一的,因此看一個系統的前端匯流排主要看CPU就可以。

北橋晶元負責聯系內存、顯卡等數據吞吐量最大的部件,並和南橋晶元連接。CPU就是通過前端匯流排(FSB)連接到北橋晶元,進而通過北橋晶元和內存、顯卡交換數據。前端匯流排是CPU和外界交換數據的最主要通道,因此前端匯流排的數據傳輸能力對計算機整體性能作用很大,如果沒足夠快的前端匯流排,再強的CPU也不能明顯提高計算機整體速度。數據傳輸最大帶寬取決於所有同時傳輸的數據的寬度和傳輸頻率,即數據帶寬=(匯流排頻率×數據位寬)÷8。目前PC機上所能達到的前端匯流排頻率有266MHz、333MHz、400MHz、533MHz、800MHz幾種,前端匯流排頻率越大,代表著CPU與北橋晶元之間的數據傳輸能力越大,更能充分發揮出CPU的功能。現在的CPU技術發展很快,運算速度提高很快,而足夠大的前端匯流排可以保障有足夠的數據供給給CPU,較低的前端匯流排將無法供給足夠的數據給CPU,這樣就限制了CPU性能得發揮,成為系統瓶頸。顯然同等條件下,前端匯流排越快,系統性能越好。

外頻與前端匯流排頻率的區別:前端匯流排的速度指的是CPU和北橋晶元間匯流排的速度,更實質性的表示了CPU和外界數據傳輸的速度。而外頻的概念是建立在數字脈沖信號震盪速度基礎之上的,也就是說,100MHz外頻特指數字脈沖信號在每秒鍾震盪一萬萬次,它更多的影響了PCI及其他匯流排的頻率。之所以前端匯流排與外頻這兩個概念容易混淆,主要的原因是在以前的很長一段時間里(主要是在Pentium 4出現之前和剛出現Pentium 4時),前端匯流排頻率與外頻是相同的,因此往往直接稱前端匯流排為外頻,最終造成這樣的誤會。隨著計算機技術的發展,人們發現前端匯流排頻率需要高於外頻,因此採用了QDR(Quad Date Rate)技術,或者其他類似的技術實現這個目的。這些技術的原理類似於AGP的2X或者4X,它們使得前端匯流排的頻率成為外頻的2倍、4倍甚至更高,從此之後前端匯流排和外頻的區別才開始被人們重視起來。此外,在前端匯流排中比較特殊的是AMD64的HyperTransport。

⑤ 因為是初學者這些不太明白(緩存/內存/補丁)能簡單解釋一下嗎

今天就給你掃掃盲吧:)

關於CPU以及CPU緩存的:

CPU是電腦的心臟,一台電腦所使用的CPU基本決定了這台電腦的性能和檔次。CPU發展到了今天,頻率已經到了2GHZ。在我們決定購買哪款CPU或者閱讀有關CPU的文章時,經常會見到例如外頻、倍頻、緩存等參數和術語。下面我就把這些常用的和CPU有關的術語簡單的給大家介紹一下。

CPU(Central Pocessing Unit)

中央處理器,是計算機的頭腦,90%以上的數據信息都是由它來完成的。它的工作速度快慢直接影響到整部電腦的運行速度。CPU集成上萬個晶體管,可分為控制單元(Control Unit;CU)、邏輯單元(Arithmetic Logic Unit;ALU)、存儲單元(Memory Unit;MU)三大部分。以內部結構來分可分為:整數運算單元,浮點運算單元,MMX單元,L1 Cache單元和寄存器等。

主頻

CPU內部的時鍾頻率,是CPU進行運算時的工作頻率。一般來說,主頻越高,一個時鍾周期里完成的指令數也越多,CPU的運算速度也就越快。但由於內部結構不同,並非所有時鍾頻率相同的CPU性能一樣。

外頻

即系統匯流排,CPU與周邊設備傳輸數據的頻率,具體是指CPU到晶元組之間的匯流排速度。

倍頻

原先並沒有倍頻概念,CPU的主頻和系統匯流排的速度是一樣的,但CPU的速度越來越快,倍頻技術也就應允而生。它可使系統匯流排工作在相對較低的頻率上,而CPU速度可以通過倍頻來無限提升。那麼CPU主頻的計算方式變為:主頻 = 外頻 x 倍頻。也就是倍頻是指CPU和系統匯流排之間相差的倍數,當外頻不變時,提高倍頻,CPU主頻也就越高。

緩存(Cache)

CPU進行處理的數據信息多是從內存中調取的,但CPU的運算速度要比內存快得多,為此在此傳輸過程中放置一存儲器,存儲CPU經常使用的數據和指令。這樣可以提高數據傳輸速度。可分一級緩存和二級緩存。

一級緩存

即L1 Cache。集成在CPU內部中,用於CPU在處理數據過程中數據的暫時保存。由於緩存指令和數據與CPU同頻工作,L1級高速緩存緩存的容量越大,存儲信息越多,可減少CPU與內存之間的數據交換次數,提高CPU的運算效率。但因高速緩沖存儲器均由靜態RAM組成,結構較復雜,在有限的CPU晶元面積上,L1級高速緩存的容量不可能做得太大。

二級緩存

即L2 Cache。由於L1級高速緩存容量的限制,為了再次提高CPU的運算速度,在CPU外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與CPU同頻,也可不同。CPU在讀取數據時,先在L1中尋找,再從L2尋找,然後是內存,在後是外存儲器。所以L2對系統的影響也不容忽視。

內存匯流排速度:(Memory-Bus Speed)

是指CPU與二級(L2)高速緩存和內存之間數據交流的速度。

擴展匯流排速度:(Expansion-Bus Speed)

是指CPU與擴展設備之間的數據傳輸速度。擴展匯流排就是CPU與外部設備的橋梁。

地址匯流排寬度

簡單的說是CPU能使用多大容量的內存,可以進行讀取數據的物理地址空間。

數據匯流排寬度

數據匯流排負責整個系統的數據流量的大小,而數據匯流排寬度則決定了CPU與二級高速緩存、內存以及輸入/輸出設備之間一次數據傳輸的信息量。

生產工藝

在生產CPU過程中,要進行加工各種電路和電子元件,製造導線連接各個元器件。其生產的精度以微米(um)來表示,精度越高,生產工藝越先進。在同樣的材料中可以製造更多的電子元件,連接線也越細,提高CPU的集成度,CPU的功耗也越小。這樣CPU的主頻也可提高,在0.25微米的生產工藝最高可以達到600MHz的頻率。而0.18微米的生產工藝CPU可達到G赫茲的水平上。0.13微米生產工藝的CPU即將面市。

工作電壓

是指CPU正常工作所需的電壓,提高工作電壓,可以加強CPU內部信號,增加CPU的穩定性能。但會導致CPU的發熱問題,CPU發熱將改變CPU的化學介質,降低CPU的壽命。早期CPU工作電壓為5V,隨著製造工藝與主頻的提高,CPU的工作電壓有著很大的變化,PIIICPU的電壓為1.7V,解決了CPU發熱過高的問題。

MMX(MultiMedia Extensions,多媒體擴展指令集)英特爾開發的最早期SIMD指令集,可以增強浮點和多媒體運算的速度。

SSE(Streaming SIMD Extensions,單一指令多數據流擴展) 英特爾開發的第二代SIMD指令集,有70條指令,可以增強浮點和多媒體運算的速度。

3DNow!(3D no waiting) AMD公司開發的SIMD指令集,可以增強浮點和多媒體運算的速度,它的指令數為21條。

硬碟以及硬碟緩存

緩存(Cache memory)是硬碟控制器上的一塊內存晶元,具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。當硬碟存取零碎數據時需要不斷地在硬碟與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。

硬碟的緩存主要起三種作用:一是預讀取。當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速度遠遠高於磁頭讀寫的速度,所以能夠達到明顯改善性能的目的;二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。雖然對於寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那麼這些數據就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域,等到下次啟動時再將這些數據寫入目的地;第三個作用就是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。

緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。2MB和8MB緩存是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有緩存容量更大的產品,甚至達到了16MB、64MB等。

大容量的緩存雖然可以在硬碟進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬碟的訪問速度,但並不意味著緩存越大就越出眾。緩存的應用存在一個演算法的問題,即便緩存容量很大,而沒有一個高效率的演算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。演算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的演算法,否則性能會大大折扣,從技術角度上說,高容量緩存的演算法是直接影響到硬碟性能發揮的重要因素。更大容量緩存是未來硬碟發展的必然趨勢。

系統緩存

系統緩存
許多人認為,「緩存」是內存的一部分

許多技術文章都是這樣教授的

但是還是有很多人不知道緩存在什麼地方,緩存是做什麼用的

其實,緩存是CPU的一部分,它存在於CPU中

CPU存取數據的速度非常的快,一秒鍾能夠存取、處理十億條指令和數據(術語:CPU主頻1G),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多麼的大

緩存是為了解決CPU速度和內存速度的速度差異問題

內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多

這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。

2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的

3.關於一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下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比作一個城裡的傢具廠,而將存儲系統比作郊區的木料廠,那麼實際情況就是木料廠離傢具廠越來越遠,即使使用更大的卡車來運送木料,傢具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在裡面放置一些傢具廠最常用到的木料。這個倉庫實際上就是傢具廠的「Cache」,傢具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而傢具廠就得等著了。
我想現在大家已經明白了我的意思,倉庫就相對於L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU最常用代碼和數據(後面我們會介紹一下如何挑選「最常用」)。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。
在大多數CPU上,L1緩存和核心一起在一塊晶元上。如果在我們傢具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近最快的地方得到數據,但是也使得「城外的木料廠」到「倉庫」和到「傢具廠」的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是「Cache Miss」,從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當於「木料廠」位於另一個國家。
物理內存即內存條。

關於內存

什麼是內存呢?在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存),輔助存儲器又稱外存儲器(簡稱外存)。外存通常是磁性介質或光碟,像硬碟,軟盤,磁帶,CD等,能長期保存信息,並且不依賴於電來保存信息,但是由機械部件帶動,速度與CPU相比就顯得慢的多。內存指的就是主板上的存儲部件,是CPU直接與之溝通,並用其存儲數據的部件,存放當前正在使用的(即執行中)的數據和程序,它的物理實質就是一組或多組具備數據輸入輸出和數據存儲功能的集成電路,內存只用於暫時存放程序和數據,一旦關閉電源或發生斷電,其中的程序和數據就會丟失。

既然內存是用來存放當前正在使用的(即執行中)的數據和程序,那麼它是怎麼工作的呢?我們平常所提到的計算機的內存指的是動態內存(即DRAM),動態內存中所謂的「動態」,指的是當我們將數據寫入DRAM後,經過一段時間,數據會丟失,因此需要一個額外設電路進行內存刷新操作。具體的工作過程是這樣的:一個DRAM的存儲單元存儲的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,代表1的電容會放電,代表0的電容會吸收電荷,這就是數據丟失的原因;刷新操作定期對電容進行檢查,若電量大於滿電量的1/2,則認為其代表1,並把電容充滿電;若電量小於1/2,則認為其代表0,並把電容放電,藉此來保持數據的連續性。
內存在電腦中起著舉足輕重的作用。內存一般採用半導體存儲單元,包括隨機存儲器(RAM),只讀存儲器(ROM),以及高速緩存(CACHE)。只不過因為RAM是其中最重要的存儲器。

通常所說的內存即指電腦系統中的RAM。 RAM有些像教室里的黑板,上課時老師不斷地往黑板上面寫東西,下課以後全部擦除。RAM要求每時每刻都不斷地供電,否則數據會丟失。

如果在關閉電源以後RAM中的數據也不丟失就好了,這樣就可以在每一次開機時都保證電腦處於上一次關機的狀態,而不必每次都重新啟動電腦,重新打開應用程序了。但是RAM要求不斷的電源供應,那有沒有辦法解決這個問題呢?隨著技術的進步,人們想到了一個辦法,即給RAM供應少量的電源保持RAM的數據不丟失,這就是電腦的休眠功能,特別在Win2000里這個功能得到了很好的應用,休眠時電源處於連接狀態,但是耗費少量的電能。

按內存條的介面形式,常見內存條有兩種:單列直插內存條(SIMM),和雙列直插內存條(DIMM)。SIMM內存條分為30線,72線兩種。DIMM內存條與SIMM內存條相比引腳增加到168線。DIMM可單條使用,不同容量可混合使用,SIMM必須成對使用。

按內存的工作方式,內存又有FPA EDO DRAM和SDRAM(同步動態RAM)等形式。

FPA(FAST PAGE MODE)RAM 快速頁面模式隨機存取存儲器:這是較早的電腦系統普通使用的內存,它每個三個時鍾脈沖周期傳送一次數據。

EDO(EXTENDED DATA OUT)RAM 擴展數據輸出隨機存取存儲器:EDO內存取消了主板與內存兩個存儲周期之間的時間間隔,他每個兩個時鍾脈沖周期輸出一次數據,大大地縮短了存取時間,是存儲速度提高30%。EDO一般是72腳,EDO內存已經被SDRAM所取代。

S(SYSNECRONOUS)DRAM 同步動態隨機存取存儲器:SDRAM為168腳,這是目前PENTIUM及以上機型使用的內存。SDRAM將CPU與RAM通過一個相同的時鍾鎖在一起,使CPU和RAM能夠共享一個時鍾周期,以相同的速度同步工作,每一個時鍾脈沖的上升沿便開始傳遞數據,速度比EDO內存提高50%。

DDR(DOUBLE DATA RAGE)RAM :SDRAM的更新換代產品,他允許在時鍾脈沖的上升沿和下降沿傳輸數據,這樣不需要提高時鍾的頻率就能加倍提高SDRAM的速度。

RDRAM(RAMBUS DRAM) 存儲器匯流排式動態隨機存取存儲器;RDRAM是RAMBUS公司開發的具有系統帶寬,晶元到晶元介面設計的新型DRAM,他能在很高的頻率范圍內通過一個簡單的匯流排傳輸數據。他同時使用低電壓信號,在高速同步時鍾脈沖的兩邊沿傳輸數據。INTEL將在其820晶元組產品中加入對RDRAM的支持。

內存的參數主要有兩個:存儲容量和存取時間。存儲容量越大,電腦能記憶的信息越多。存取時間則以納秒(NS)為單位來計算。一納秒等於10^9秒。數字越小,表明內存的存取速度越快。

關於補丁

windows補丁是微軟對電腦安全漏洞作的升級程序當然要打補丁,現在病毒那麼多,不經常打補丁很容易被攻擊如果是正版XP,直接點開始菜單裡面的Windows Update,到微軟的網站找最新的補丁下載安裝就可以了如果是盜版的,也可以如上操作,但是有可能會被微軟發現而是系統崩潰,所以最好是到別的網站或FTP上下載升級包再安裝。

其它軟體也會有相應的補丁,由於軟體設計的局限性,很多應用軟體並不是適用全部用戶的需求,或者為了更好應用於更新的操作系統或者更新後的硬體,所以要推出補丁,主要是為了更好讓用戶使用該軟體、操作系統或者硬體等。

OK,累死了,看看你還需要什麼?呵呵……

⑥ 深度緩存演算法包括哪些步驟

深度緩存(Z-buffer)演算法是一種典型的、簡單的圖象空間面消隱演算法。該演算法需要一個深度緩存數組 ZB,此外還 需要一個顏色屬性數組 CB ,它們的大小與屏幕上像素點的個數相同。 Z-buffer 演算法的步驟如下:
(1)初始化 ZB 和 CB,使得 ZB(i,j)=Zmax,CB(i,j)=背景色,i=1,…, m; j=1,…,n。
(2)對多邊形 P,計算它在點(i,j)處的深度值 zi,j。
(3)若 zi,j< ZB(i,j),則 ZB(i,j)=zi,j,CB(i,j)=多邊形 P 的顏色。
(4)對每個多邊形重復(2) 、 (3)兩步,最終在 CB 中存放的就是消隱後的圖形。 這個演算法的關鍵在第(2)步,要盡快判斷出哪些點落在一個多邊形內,並盡快求出一個點的深度值。這里需要應用 多邊形點與點之間的相關性,包括水平相關性和垂直相關性。

⑦ 緩存替換演算法是什麼

Cache替換演算法是影響代理緩存系統性能的一個重要因素,一個好的Cache替換演算法可以產生較高的命中率。目前已經提出的演算法可以劃分為以下三類: (1)傳統替換演算法及其直接演化,其代表演算法有:①LRU(Least Recently Used)演算法:將最近最少使用的內容替換出Cache;②LFU(Lease Frequently Used)演算法:將訪問次數最少的內容替換出Cache;③Pitkow/Recker[10]提出了一種替換演算法:如果Cache中所有內容都是同一天被緩存的,則將最大的文檔替換出Cache,否則按LRU演算法進行替換。 (2)基於緩存內容關鍵特徵的替換演算法,其代表演算法有:①Size[10]替換演算法:將最大的內容替換出Cache;②LRU— MIN[11]替換演算法:該演算法力圖使被替換的文檔個數最少。設待緩存文檔的大小為S,對Cache中緩存的大小至少是S的文檔,根據LRU演算法進行替換;如果沒有大小至少為S的對象,則從大小至少為S/2的文檔中按照LRU演算法進行替換;③LRU—Threshold[11] 替換演算法:和LRU演算法一致,只是大小超過一定閾值的文檔不能被緩存 ...

⑧ 三級緩存和二級緩存有什麼區別謝謝了,大神幫忙啊

CPU一級緩存即L1 Cache。集成在CPU內部中,用於CPU在處理數據過程中數據的暫時保存。由於緩存指令和數據與CPU同頻工作,L1級高速緩存緩存的容量越大,存儲信息越多,可減少CPU與內存之間的數據交換次數,提高CPU的運算效率。但因高速緩沖存儲器均由靜態RAM組成,結構較復雜,在有限的CPU晶元面積上,L1級高速緩存的容量不可能做得太大。 那麼,二級緩存的作用又是什麼呢?簡單地說,二級緩存就是一級緩存的緩沖器:一級緩存製造成本很高因此它的容量有限,二級緩存的作用就是存儲那些CPU處理時需要用到、一級緩存又無法存儲的數據。同樣道理,三級緩存和內存可以看作是二級緩存的緩沖器,它們的容量遞增,但單位製造成本卻遞減。需要注意的是,無論是二級緩存、三級緩存還是內存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而餘下的二級緩存、三級緩存和內存僅用於存儲CPU所需數據。

⑨ 深度緩存演算法的優缺點

深度緩存演算法中物體投影到象平面上的次序是任意的,無須將場景中的表面進行排序,物體之間的遮擋關系是通過深度緩存器進行深度比較加以確定的,演算法易於實現。
深度緩存演算法只能顯示距離視點最近的物體,而且這些物體都是不透明的,無法看到被遮擋的物體。
深度緩存演算法經常執行一些最終不起作用的中間計算過程。由於對象按任意次序進行處理,因此有些表面進行了顏色計算但事後又被更近的表面所代替。為了緩減這一問題,有些圖形軟體提供選項讓用戶調整表面測試的深度范圍。例如,通過深度測試排除較遠的對象。使用該選項還可以排除非常靠近投影平面的對象。高檔計算機圖形系統一般集成了深度緩存演算法的硬體實現。

熱點內容
單獨編譯內核模塊 發布:2025-01-16 18:54:26 瀏覽:802
js解壓字元串 發布:2025-01-16 18:54:17 瀏覽:482
php怎麼開啟伺服器 發布:2025-01-16 18:52:53 瀏覽:769
億速雲北京三區伺服器雲主機 發布:2025-01-16 18:52:01 瀏覽:359
我的世界網易伺服器做家園 發布:2025-01-16 18:50:33 瀏覽:553
虛擬存儲安全教程 發布:2025-01-16 18:49:48 瀏覽:574
vps配置ftp 發布:2025-01-16 18:49:02 瀏覽:157
qtc比python好用 發布:2025-01-16 18:39:48 瀏覽:488
電腦有免費伺服器嗎 發布:2025-01-16 18:35:28 瀏覽:220
sql生成唯一 發布:2025-01-16 18:35:25 瀏覽:223