由于CPU是核心硬件,相信我們?cè)谶x擇CPU的時(shí)候都會(huì)去關(guān)心CPU參數(shù)方面,而在CPU核心參數(shù)中,我們經(jīng)常會(huì)看到緩存(Cache)這個(gè)參數(shù),那么CPU緩存有什么用?下面裝機(jī)之家分享一下科普一下關(guān)于CPU緩存的作用。
CPU緩存是什么?
CPU緩存是CPU和內(nèi)存之間的臨時(shí)存儲(chǔ)器,雖然緩存的容量不能與內(nèi)存和硬盤相比,但是交換速度卻比它們快得多了,CPU緩存就是為了更快的連接CPU與內(nèi)存而存儲(chǔ)在中間媒介。簡(jiǎn)單來(lái)說(shuō),因?yàn)镃PU的速度快,而內(nèi)存的速度較慢,這時(shí)CPU緩存來(lái)解決這個(gè)問(wèn)題,減少了CPU的等待時(shí)間,變相的提高了CPU的性能。
舉個(gè)例子,比如CPU需要做一個(gè)加法運(yùn)算,需要-2個(gè)時(shí)鐘周期,如果從內(nèi)存中讀取數(shù)據(jù)需要100-300個(gè)周期,而CPU是不可能等待那么長(zhǎng)的時(shí)間,即使是高端CPU也變成龜速,因此通過(guò)高速緩存來(lái)減少了CPU等待時(shí)間。
在主流的CPU中,一般緩存分為一級(jí)緩存、二級(jí)緩存、三級(jí)緩存,而它們之間的速度呈遞減,容量呈遞增,讀取一級(jí)緩存中的信息需要3個(gè)周期,與CPU處理運(yùn)算的速度無(wú)限接近了,讀取二級(jí)緩存的周期大約10-15個(gè)周期,而三級(jí)緩存所需時(shí)間為50個(gè)周期左右。
之所以CPU需要采用這種層級(jí)結(jié)構(gòu),主要就是是從成本、性能、容量還有面積上來(lái)平衡的,對(duì)于CPU緩存來(lái)說(shuō),下面幾點(diǎn)是它們提升的目前,也就所謂的CPU緩存的作用。
1、縮短延遲
訪問(wèn)緩存的時(shí)間應(yīng)該盡可能縮短,可以通過(guò)多種的方式縮短這個(gè)時(shí)間,比如能夠通過(guò)減小緩存的大小或關(guān)聯(lián)性來(lái)降低緩存的延遲,還有方式預(yù)測(cè)、增加帶寬等方法。
2、提升命中率
所謂的命中率是在高速緩存中找到內(nèi)存引用的速率,我們希望能夠首先通過(guò)緩存中獲得信息,以得到速度優(yōu)勢(shì),所以緩存需要最大限度地實(shí)現(xiàn)這一目標(biāo)。對(duì)于單個(gè)高速緩存,大小、關(guān)聯(lián)性和塊大小決定命中率。
3、降低更低級(jí)別內(nèi)存下的開銷
高速緩存是內(nèi)存層次結(jié)構(gòu)的一部分,其性能會(huì)影響其它性能,處理其它內(nèi)存花費(fèi)的時(shí)間越長(zhǎng),意味著系統(tǒng)性能越低,也就是說(shuō)盡可能讓處理在緩存中完成。
4、減少錯(cuò)失懲罰
緩存中不能命中是無(wú)法避免的事情,但是我們可以減少處理未命中所需的時(shí)間以獲得更好的處理器性能,通過(guò)提升命中率并通過(guò)應(yīng)用不同的優(yōu)化,能夠降低錯(cuò)失懲罰。
高速緩存是CPU中十分重要的部分,占據(jù)了大量的資源開銷和成本,如果您看過(guò)CPU架構(gòu)圖的話,您就會(huì)發(fā)現(xiàn)緩存占據(jù)了至少50%的面積,絕對(duì)至關(guān)重要。
總結(jié):
CPU緩存的作用說(shuō)白了就是提高命中率、降低延遲、降低內(nèi)存開銷、減少錯(cuò)失懲罰等,對(duì)于一般用戶你只需了解CPU緩存能夠提升CPU的工作效率即可,緩存在cpu參數(shù)中的作用舉足輕重。