什麼是快取快取的特點

  快取就是資料交換的緩衝區,當某一硬體要讀取資料時,會首先從快取中查詢需要的資料,如果找到了則直接執行,找不到的話則從記憶體中找。那麼你對快取瞭解多少呢?以下是由小編整理關於什麼是快取的內容,希望大家喜歡!

  快取的特點

  快取是指可以進行高速資料交換的儲存器,它先於記憶體與CPU交換資料,因此速率很快。L1 Cache***一級快取***是CPU第一層快取記憶體。內建的L1快取記憶體的容量和結構對CPU的效能影響較大,不過高速緩衝儲存器均由靜態RAM組成,結構較複雜,在CPU管芯面積不能太大的情況下,L1級快取記憶體的容量不可能做得太大。一般L1快取的容量通常在32—256KB。L2 Cache***二級快取***是CPU的第二層快取記憶體,分內部和外部兩種晶片。內部的晶片二級快取執行速率與主頻相同,而外部的二級快取則只有主頻的一半。L2快取記憶體容量也會影響CPU的效能,原則是越大越好,普通桌上型電腦CPU的L2快取一般為128KB到2MB或者更高,筆記本、伺服器和工作站上用CPU的L2快取記憶體最高可達1MB-3MB。

  快取只是記憶體中少部分資料的複製品,所以CPU到快取中尋找資料時,也會出現找不到的情況***因為這些資料沒有從記憶體複製到快取中去***,這時CPU還是會到記憶體中去找資料,這樣系統的速率就慢下來了,不過CPU會把這些資料複製到快取中去,以便下一次不要再到記憶體中去取。隨著時間的變化,被訪問得最頻繁的資料不是一成不變的,也就是說,剛才還不頻繁的資料,此時已經需要被頻繁的訪問,剛才還是最頻繁的資料,又不頻繁了,所以說快取中的資料要經常按照一定的演算法來更換,這樣才能保證快取中的資料是被訪問最頻繁的。

  快取的工作原理

  快取的工作原理是當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指令控制開始讀取資料時,硬碟上的控制晶片會控制磁頭把正在讀取的簇的下一個或者幾個簇中的資料讀到快取中***由於硬碟上資料儲存時是比較連續的,所以讀取命中率較高***,當需要讀取下一個或者幾個簇中的資料的時候,硬碟則不需要再次讀取資料,直接把快取中的資料傳輸到記憶體中就可以了,由於快取的速率遠遠高於磁頭讀寫的速率,所以能夠達到明顯改善效能的目的。

  寫入

  當硬碟接到寫入資料的指令之後,並不會馬上將資料寫入到碟片上,而是先暫時儲存在快取裡,然後傳送一個“資料已寫入”的訊號給系統,這時系統就會認為資料已經寫入,並繼續執行下面的工作,而硬碟則在空閒***不進行讀取或寫入的時候***時再將快取中的資料寫入到碟片上。雖然對於寫入資料的效能有一定提升,但也不可避免地帶來了安全隱患——資料還在快取裡的時候突然掉電,那麼這些資料就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將快取中的資料寫入零磁軌以外的暫存區域,等到下次啟動時再將這些資料寫入目的地。

  臨時儲存

  有時候,某些資料是會經常需要訪問的,像硬碟內部的快取***暫存器的一種***會將讀取比較頻繁的一些資料儲存在快取中,再次讀取時就可以直接從快取中直接傳輸。快取就像是一臺計算機的記憶體一樣,在硬碟讀寫資料時,負責資料的儲存、寄放等功能。這樣一來,不僅可以大大減少資料讀寫的時間以提高硬碟的使用效率。同時利用快取還可以讓硬碟減少頻繁的讀寫,讓硬碟更加安靜,更加省電。更大的硬碟快取,你將讀取遊戲時更快,拷貝檔案時候更快,在系統啟動中更為領先。

  快取容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟快取基本都很小,只有幾百KB,已無法滿足使用者的需求。16MB和32MB快取是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有快取容量更大的產品,甚至達到了64MB、128MB等。大容量的快取雖然可以在硬碟進行讀寫工作狀態下,讓更多的資料儲存在快取中,以提高硬碟的訪問速率,但並不意味著快取越大就越出眾。快取的應用存在一個演算法的問題,即便快取容量很大,而沒有一個高效率的演算法,那將導致應用中快取資料的命中率偏低,無法有效發揮出大容量快取的優勢。演算法是和快取容量相輔相成,大容量的快取需要更為有效率的演算法,否則效能會大大折扣,從技術角度上說,高容量快取的演算法是直接影響到硬碟效能發揮的重要因素。更大容量快取是未來硬碟發展的必然趨勢。

快取的特點