快取記憶體cache的作用
現在使用的絕大多數cpu都帶有快取記憶體――cache,有的甚至整合了多極快取;而我們選擇主機板時,板上的cache數量也是乙個重要的考慮因素。早期的486整合了4~8k的一級片內cache,而現在的pentium ii至強處理器不僅整合了32k一級片內cache,還將512k~2m的二級cache全速cache整合進去。那麼,cache對於系統的作用是什麼呢?為什麼要整合越來越多的cache呢?
現在計算機系統中都採用高速 dram(動態ram)晶元作為主儲存器。早期的 cpu 速度比較慢,cpu與記憶體間的資料交換過程中,cpu處於等待狀態的情況很多。以早期的8mhz的286為例,其時鐘週期為125ns,而dram的訪問時間一般為60~100ns。因此cpu與主存交換資料無須等待,這種情況稱為零等待狀態。所以cpu與記憶體直接打交道是完全不影響速度的。可是近年來cpu的時鐘頻率的發展速度遠遠超過了dram讀寫速度的進展。在短短幾年內,cpu的時鐘週期從100ns加速到幾個ns,而dram經歷了fpm,edo,sdram幾個發展階段,速度只不過從幾十ns提高到10ns左右,dram和cpu之間的速度差,使得cpu在儲存器讀寫匯流排週期中必須插入等待週期;由於cpu與記憶體的頻繁交換資料,這極大地影響了整個系統的效能。這使得儲存器的訪問速度已成為整個系統的瓶頸。當然,另一種方案是採用高速的靜態 ram(sram)作為主儲存器與cpu匹配,問題是sram結構複雜,不僅體積大而且**昂貴。因此,除了大力加快dram的訪問速度之外,當前解決這個問題的最佳方案是採用cache技術。cache即高速緩衝儲存器,它是位於cpu和dram主存之間的規模小的速度快的儲存器,通常由sram組成。cache的工作原理是儲存cpu最常用資料;當cache中儲存著cpu要讀寫的資料時,cpu直接訪問cache。由於cache的速度與cpu相當,cpu就能在零等待狀態下迅速地實現資料訪問。只有在cache中不含有cpu所需的資料時cpu才去訪問主存。cache在cpu的讀取期間依照優化命中原則淘汰和更新資料,可以把cache看成是主存與cpu 之間的緩衝介面卡,借助於cache,可以高效地完成dram記憶體和cpu之間的速度匹配。
386以前的晶元一般都沒有cache,對後來的486以及奔騰級甚至更高階晶元,已把cache整合到晶元內部,稱為片內cache。片內cache的容量相對較小,可以儲存cpu最常用的指令和資料。別看容量小,片內cache靈活方便,對系統效率有相當的提高。你可以試著在bios中關掉你的cpu的內部cache,你可以發現這可能會使你的系統效能下降一半甚至更多。
但是,片內cache容量有限,在cpu內整合大量的sram會極大的降低cpu的成品率,增加cpu的成本。在這種情況下,採取的措施是在cpu晶元片內cache與dram間再加cache,稱為片外二級 cache(secondary cache)。片外二級cache實際上是cpu與主存之間的真正緩衝。由於主機板dram的響應時間遠低於cpu的速度,如果沒有片外二級cache,就不可能達到cpu的理想速度。片外二級 cache的容量通常比片內cache大乙個數量級以上。
主機板上的片外cache工作在cpu的外頻下,與cpu主頻速度通常相差幾倍。為了進一步提高系統效能,在cpu片內cache和主機板 cache之間可以加入真正的二級cache。這就是片內二級cache。它通常以cpu主頻的半速或全速工作,容量一般為128k~512k,而新的至強處理器則達到2m以上。全速的二級cache可以極大地加速大型密集性程式的執行速度,帶有同速的cache的pentium ii 至強、 pentium pro系列處理器是大型伺服器的首選cpu。但整合高密度的二級cache同樣會加大cpu的成本;所以這一類的處理器都是**昂貴的產品;而去掉二級cache的處理器效能雖然有不少下降,但**可以降得很多。市場上的賽揚處理器就是乙個很好的例子。使用這種帶有二級cache的cpu時,主機板的cache就成了實際上的**cache。
如今的高檔機中,cache是系統必不可少的乙個重要組成部分,了解一些cache的基本原理,對於我們進行系統優化和配置是極其重要的。
快取記憶體儲存器 cache
早期計算機層次結構 cpu暫存器 dram主儲存器和磁碟儲存。由於cpu和主存之間差距逐漸增大,便出現了小的sram快取記憶體儲存器於cpu暫存器檔案和主存之間,稱為l1快取記憶體 一級快取 cpu和主存之間效能差距繼續增大,便在l1快取記憶體和主存間出現了更大的快取記憶體,稱為l2快取記憶體。如圖...
快取記憶體Cache的對映方式
一 直接對映 簡單來說,就是整個cache,對映到主存中,是乙個主存塊組 n個連續主存塊為一組 ps 這裡說的位址已經是實體地址,不是程式中的邏輯位址,可參考cpu訪問位址的過程 主存組號 主存塊號從0開始,順序,每n塊為一組,從第0組開始 cache行數 表示在cache塊的第幾行資料,也表示在主...
linux DNS快取記憶體
配置名稱伺服器 本機ip 172.25.254.117 1 安裝 bind 軟體包 yum install y bind2 編輯 etc named.conf listen on port 53 開啟埠 allow query 允許訪問 forwarders 如果伺服器沒有這個位址就去訪問250 3...