快取和記憶體的理解

2021-10-04 19:20:21 字數 1012 閱讀 7003

快取可以認為是記憶體的一部分,但是也不能簡單地這樣認為

快取是為了解決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訪問資料的速度非常的快,一秒鐘能夠訪問 處理十億條指令和資料 術語 cpu主頻1g 而記憶體就慢很多,快的記憶體能夠達到幾十兆就...

iOS記憶體快取和磁碟快取的區別

快取分為記憶體快取和磁碟快取兩種,其中記憶體是指當前程式的執行空間,快取速度快容量小,是臨時儲存檔案用的,供cpu直接讀取,比如說開啟乙個程式,他是在記憶體中儲存,關閉程式後記憶體就又回到原來的空閒空間 磁碟是程式的儲存空間,快取容量大速度慢可持久化與記憶體不同的是磁碟是永久儲存東西的,只要裡面存放...

快取和記憶體,磁碟的關係

快取嚴格來說就是一種臨時儲存,和記憶體原理上沒有什麼區別。因為在大資料交換中,儲存器不能及時和運算器 控制器交換資料的話,就會出現問題,所以人們發明了快取。說白了假設運算器和控制器是工廠,儲存器 比如硬碟 光碟機等 是大倉庫的話,記憶體就是乙個大型中轉中心 當然它也是倉庫,但是是乙個大型的中轉倉庫 ...