計算機的設(shè)計原理 為什么要增加Cache?
為什么要增加Cache?緩存對于計算機或嵌入式系統(tǒng)來說是一個非常重要的概念。一般的硬件系統(tǒng)有快存儲和慢存儲,如硬盤是快存儲,內(nèi)存是慢存儲。對于需要頻繁讀寫的數(shù)據(jù),快速存儲器的存取效率要比慢速存儲器快得
為什么要增加Cache?
緩存對于計算機或嵌入式系統(tǒng)來說是一個非常重要的概念。一般的硬件系統(tǒng)有快存儲和慢存儲,如硬盤是快存儲,內(nèi)存是慢存儲。對于需要頻繁讀寫的數(shù)據(jù),快速存儲器的存取效率要比慢速存儲器快得多。此時,可以將快速存儲設(shè)備視為慢速存儲設(shè)備的高速緩存。因此,內(nèi)存是硬盤的緩存,緩存是內(nèi)存的緩存,CPU寄存器是緩存的緩存。對于將數(shù)據(jù)總線與指令總線分離的哈佛體系結(jié)構(gòu)來說,它也可以分為DCache和Icache,即數(shù)據(jù)緩存和指令緩存。使用cache可以加快數(shù)據(jù)的訪問速度,但是填充緩存線也需要時間,因此只有需要頻繁訪問的數(shù)據(jù)才能填充到cache中。CPU將首先在緩存中搜索。如果沒有命中,它將在內(nèi)存中搜索。如果沒有,它將在硬盤中搜索。
計算機里為什么要增加Cache?Cache有什么特點?
您可以簡單地理解這一點:將硬盤加載到高速緩存中。必要時,CPU會優(yōu)先從緩存中讀取信息,而不是從硬盤中讀取,因為硬盤的讀取速度遠低于緩存的讀取速度。你明白嗎?不管你是否能理解,緩存對于計算機或嵌入式系統(tǒng)來說是一個非常重要的概念。一般的硬件系統(tǒng)有快存儲和慢存儲,如硬盤是快存儲,內(nèi)存是慢存儲。對于需要頻繁讀寫的數(shù)據(jù),快速存儲器的存取效率要比慢速存儲器快得多。此時,可以將快速存儲設(shè)備視為慢速存儲設(shè)備的高速緩存。
因此,內(nèi)存是硬盤的緩存,緩存是內(nèi)存的緩存,CPU寄存器是緩存的緩存。
對于將數(shù)據(jù)總線與指令總線分離的哈佛體系結(jié)構(gòu),它還可以分為DCache和Icache,即數(shù)據(jù)緩存和指令緩存。使用cache可以加快數(shù)據(jù)的訪問速度,但是填充緩存線也需要時間,因此只有需要頻繁訪問的數(shù)據(jù)才能填充到cache中。CPU將首先在緩存中搜索。如果沒有命中,它將在內(nèi)存中搜索。如果沒有,它將在硬盤中搜索。
為什么要增加Cache?Cache有什么優(yōu)點?
從主題描述來看,應(yīng)該是指應(yīng)用軟件的數(shù)據(jù)緩存,它通常與網(wǎng)絡(luò)有關(guān),即將從網(wǎng)絡(luò)下載的數(shù)據(jù)臨時保存到硬盤上。一方面,需要找到一個地方臨時存儲數(shù)據(jù)進行數(shù)據(jù)處理,另一方面,可以減少重復下載。當應(yīng)用軟件關(guān)閉時,如果沒有自動清洗,那么它就成了可有可無的東西。你為什么這么說?因為如果你下次下載同樣的東西,應(yīng)用軟件可能會從臨時緩存中調(diào)用過去的數(shù)據(jù),或者它可能永遠不會被使用,所以它就變成了垃圾。
由于緩存是臨時的,因此一旦相應(yīng)的應(yīng)用程序關(guān)閉,就可以隨時刪除它而不會造成傷害。如果應(yīng)用軟件功能完善,通常具有清洗功能。安全衛(wèi)士提供緩存清理功能,無論應(yīng)用軟件本身是否提供,都可以集中、方便地清理各類應(yīng)用軟件的緩存垃圾。但畢竟,這不是最初的開發(fā)人員提供的算法。當然,它不能避免清理不清或錯誤的風險。但根據(jù)經(jīng)驗,大公司生產(chǎn)的軟件相對可靠,對小白來說非常實用、簡單。甚至一些第三方清理也比原來的清理更徹底、更干凈(因為軟件廠商故意保留一些由于不同原因可以刪除的數(shù)據(jù),空間不足的用戶更關(guān)心垃圾占用的問題)。
為什么要清理緩存垃圾?主要是因為占用空間的問題。在很長一段時間之后緩存數(shù)據(jù)就更沒用了。既然垃圾至少占用了很差的空間容量,那就最好扔掉垃圾。其次,它會導致硬盤上小文件的增加,從而降低硬盤的效率。最后,如果我不扔掉垃圾我就不高興了。
其實,安全軟件家族bucket的清洗功能并不是最專業(yè)的,普通的CCleaner比家族bucket更專業(yè),但是國外的軟件界面并不像國產(chǎn)軟件那么容易理解。
請問什么叫做緩存?
讓我們先看看為什么CPU有L1、L2和L3緩存設(shè)計。如下圖所示,當前處理器速度太快,從內(nèi)存讀取數(shù)據(jù)太慢(一是內(nèi)存本身速度不夠快,二是距離CPU太遠)。一般來說,它需要讓CPU等待幾十個甚至幾百個時鐘周期)。此時,為了確保CPU的速度,需要更少的延遲和更快的內(nèi)存來幫助,這就是緩存。
現(xiàn)在讓我們看看多級緩存(L1、L2、L3)的好處,而不僅僅是單個緩存。
1. 緩存越靠近ALU和其他核心單元,訪問速度就越快。因此,核心附近會有一級緩存。雖然它很小,但它真的很快。緩存容量越大,緩存命中率越高,命中率越高,所以當L1不能命中時,它需要一個更大但不慢的緩存來提供數(shù)據(jù),即L2;
3。更大的緩存意味著更高的命中率,這也意味著更高的成本、更低的速度、更多的晶體管和更大的面積,因此它不能接近所有的核心單元,即L3;
這是基于性能、成本和設(shè)計的CPU平衡,一級緩存可以最大化單個內(nèi)核的位置和速度(甚至是單獨的指令和數(shù)據(jù))。二級緩存將更大,命中率更高,速度更慢。它通常位于每個核心,而L3緩存通常在系統(tǒng)的所有核心之間共享,以提供合理的速度和容量。例如,Intel Core i7-8700k的L1大小為64K,也分為32K數(shù)據(jù)和32K指令。L2大小為256K,L3大小為12MB。
現(xiàn)代CPU緩存體系結(jié)構(gòu)非常復雜,包括硬件預取和數(shù)據(jù)轉(zhuǎn)發(fā),以提供最佳緩存命中率。一些cpu甚至添加了L4緩存。
CPU的一二三級緩存有什么用處?
沒有緩存時,計算機處理數(shù)據(jù)的速度會更慢。
使用緩存。也就是說,應(yīng)用程序在使用過程中會下載部分內(nèi)容。下次使用時,不需要下載這部分內(nèi)容。你可以直接拿來使用,這樣可以減少應(yīng)用程序的阻塞。加快。