精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CPU緩存的作用 CPU有多層緩存有何用意

電子設(shè)計(jì) ? 作者:工程師飛燕 ? 2018-10-25 10:04 ? 次閱讀

這是來自于‘jlforrest’的一位讀者的提問,我認(rèn)為值得更詳細(xì)的解答。以下是他的問題:

● 我理解緩存,但不明白為什么需要多層緩存而不是直接用一層大的。換句話說,如果一級(jí)緩存是32K,二級(jí)256K,三級(jí)2M,為什么不用32K+256k+2M的一級(jí)緩存?

簡(jiǎn)短的回答是不同的緩存級(jí)別適用于不同的目的和限制,在設(shè)計(jì)上完全不同。經(jīng)驗(yàn)上,隨著緩存級(jí)別的增加,緩存變得更大,更慢,密度更高,每單位存儲(chǔ)消耗的電能更少,能處理更多的任務(wù)。

CPU的緩存有什么作用?

高速緩存是處理核心(包括CPU與GPU)或者外部?jī)?chǔ)存設(shè)備與主內(nèi)存區(qū)間的一個(gè)緩沖儲(chǔ)存區(qū),所以稱為緩存

在CPU,GPU等處理核心上,核心計(jì)算的臨時(shí)中間數(shù)據(jù)和大量需求的數(shù)據(jù)都優(yōu)先儲(chǔ)存在緩存里,舉個(gè)例子:CPU計(jì)算一個(gè)1+1+1的值時(shí),第一次計(jì)算前兩個(gè)數(shù)的和的結(jié)果2就儲(chǔ)存在CPU緩存里,再把結(jié)果拿來進(jìn)行第二次計(jì)算,當(dāng)然,現(xiàn)在的處理器算這個(gè)數(shù)據(jù)不用這么做,只是面對(duì)大量數(shù)據(jù)計(jì)算的時(shí)候需要這么做

在更大量的計(jì)算里,處理器會(huì)按數(shù)據(jù)的優(yōu)先級(jí)從低到高分別儲(chǔ)存在一級(jí),二級(jí),三級(jí)緩存中,再?zèng)]有空間就會(huì)放進(jìn)內(nèi)存中,處理器讀取數(shù)據(jù)也是從一級(jí)緩存開始,直到內(nèi)存中,如果內(nèi)存還沒有數(shù)據(jù)就去硬盤光盤等外部?jī)?chǔ)存設(shè)備找,一級(jí)緩存速度最快,二級(jí),三級(jí)次之

在外部?jī)?chǔ)存設(shè)備中,比如硬盤和光驅(qū)的緩存主要是提高傳輸速率,增加硬件壽命,你可以從硬盤一個(gè)分區(qū)復(fù)制一堆小文件到另一個(gè)分區(qū),你可以發(fā)現(xiàn),復(fù)制相同容量的文件速度是大文件快于小文件,因?yàn)槊總€(gè)小文件都要進(jìn)行文件的建立,數(shù)據(jù)寫入與結(jié)束寫入等過程會(huì)耗費(fèi)很多時(shí)間

在處理器或者內(nèi)存向硬盤或者光驅(qū)(刻錄機(jī))寫入的數(shù)據(jù)都是小文件或者數(shù)據(jù)而且并不連續(xù),他們都先放在硬盤緩存里,到整個(gè)文件結(jié)束或者到緩存區(qū)容量極限時(shí)再一次性寫入硬盤,這樣可以減少硬盤的讀寫次數(shù),并且以此寫入的速度更快~

cpu緩存現(xiàn)在都分兩個(gè)級(jí)別,一及緩存稱L1 cache,二級(jí)緩存稱為L(zhǎng)2 cache.

當(dāng)然對(duì)于不同cpu,兩及緩存的作用是不同的。但總體來說,緩存是儲(chǔ)存cpu急需處理的數(shù)據(jù)的地方,當(dāng)cpu要處理東西的時(shí)候,緩存中就開始儲(chǔ)存這些數(shù)據(jù),由于緩存速度非常之高,所以,cpu讀取這些數(shù)據(jù)的速度就相當(dāng)快。

由于緩存容量相當(dāng)小,但是當(dāng)緩存中的數(shù)據(jù)處理完了又沒有來得及重新添滿的時(shí)候,或者是緩存中的數(shù)據(jù)不是cpu馬上要處理的數(shù)據(jù)的時(shí)候,cpu就只有跳過緩存,直接村內(nèi)存讀取,內(nèi)存的速度要相對(duì)慢得多,所以這個(gè)時(shí)候cpu整體的速度就下降了。

當(dāng)然,AMDintel在緩存上的結(jié)構(gòu)完全不同,這個(gè)造成了為什么intel的主流處理器的L2 cache緩存在2-4Mb,而AMD的L2 cache只有256kb-512kb.這個(gè)我們就要說到他們L1 cache的區(qū)別了。

intel的L1中不儲(chǔ)存cpu要處理的實(shí)際數(shù)據(jù),他儲(chǔ)存的都是L2中數(shù)據(jù)的目錄,也就是intel的cpu要處理數(shù)據(jù)的時(shí)候先要訪問L1,為的是了解他要儲(chǔ)存的實(shí)際數(shù)據(jù)在L2中具體的位置。這個(gè)大大減少了cpu尋找L2數(shù)據(jù)的時(shí)間。比喻起來,intel的L2是一個(gè)倉(cāng)庫(kù),L1關(guān)于就是這個(gè)倉(cāng)庫(kù)中儲(chǔ)存東西具體位置的目錄。

AMD完全不同,L1中就儲(chǔ)存實(shí)際數(shù)據(jù),L2也儲(chǔ)存實(shí)際數(shù)據(jù),當(dāng)L1中的數(shù)據(jù)用完了的時(shí)候,或者L1不能裝的過大的數(shù)據(jù)的時(shí)候,cpu就直接處理L2中的數(shù)據(jù)。比喻起來,AMD的L1是個(gè)小倉(cāng)庫(kù),L2是個(gè)大倉(cāng)庫(kù)。

然后是為什么他們對(duì)L2需求不同。

AMD的很好理解,他cpu處理數(shù)據(jù)的時(shí)候是有續(xù)處理的,先處理L1,處理完了再處理L2,數(shù)據(jù)一個(gè)接一個(gè)。

intel采取的是則是亂處理方式,cpu不會(huì)衣順序處理數(shù)據(jù),而是隨即挑選數(shù)據(jù)來處理,當(dāng)他隨便挑選的數(shù)據(jù)在L2中時(shí),他就讀取L1了解數(shù)據(jù)在L2的位置,然后處理這個(gè)數(shù)據(jù),但是當(dāng)數(shù)據(jù)不在L2中時(shí),就讀取內(nèi)存。

這個(gè)造就了他們L2大小不同,intel的處理方式像是一個(gè)人隨機(jī)的在扔飛標(biāo),飛標(biāo)落在標(biāo)盤每個(gè)地方的幾率是相同的,標(biāo)盤內(nèi)的紅心就是L2的數(shù)據(jù),標(biāo)盤的其他地方是內(nèi)存。前面說了,L2中數(shù)據(jù)是高速的,只有處理L2的,才能更快,否則要慢很多。所以,一個(gè)隨機(jī)扔飛標(biāo)的人為了讓飛標(biāo)落在紅心的幾率更大,最好的辦法就是加大紅心的面積,也就是L2.因此為了提高cpu的速度,intel需要很大的紅心,也就是L2.

AMD則不同,他是一個(gè)接一個(gè)處理的,不是隨機(jī)的扔飛標(biāo),他要考慮的只是L1和L2中單個(gè)數(shù)據(jù)的大小,因?yàn)閏pu要處理的數(shù)據(jù)幾乎都在0-2Mb之間,0-128kb的占了50%,128-256kb占了25%,256-512的占了24%,大于512kb的只占了1%.

因此,512kb就能滿足cpu幾乎所有的需求了,只有處理那些1%的大于512kb的數(shù)據(jù)的時(shí)候AMD才會(huì)訪問內(nèi)存。因此AMD需求很小的L2.

為了把這個(gè)問題講得更直觀,我打算用一個(gè)有點(diǎn)奇怪但很精巧的類比:

緩存的故事

假設(shè)你是一位六十年代的白領(lǐng),在巨大的辦公樓里工作,沒有電腦,你需要閱讀大量的文件并且交叉檢索這些文檔。

你有一個(gè)辦公桌(L1 緩存)。桌上的文件是你正在手頭處理的資料,還有一些是你最近看過的或者你準(zhǔn)備閱讀的。通常我們需要閱讀文件的每一頁(對(duì)應(yīng)于存儲(chǔ)單元的一個(gè)字節(jié)),但除非它們?cè)谵k公桌上,文件都是作為一個(gè)整體。即只想看某一頁的內(nèi)容,我們也必須把整份文件抓過來。

辦公室里還有文件柜(L2 緩存)。這些文件柜里存放的是你最近處理過,但目前沒有在使用的文件。辦公桌上的文件在用完后,通常也會(huì)放回文件柜。從文件柜里拿文件就不是順手拈來了——你需要走過去,打開相應(yīng)的抽屜,還要查目錄卡片,才能找到想要的文件——不過這也還比較快了。

有些時(shí)候,其他人也需要查看你的文件柜里的文件。勤雜工會(huì)推著一輛推車(環(huán)路公共汽車)在各個(gè)辦公室轉(zhuǎn)。如果有人在自己的文件柜沒有找到相應(yīng)的資料,他會(huì)寫一個(gè)紙條交給勤雜工。為簡(jiǎn)化起見,假設(shè)這位勤雜工知道所有的東西放哪兒。所以當(dāng)他來到你的辦公室的時(shí)候,他會(huì)檢查你的文件柜里是否有其他人需要的文件,如果有,就把這些文件抽出來放到車上。當(dāng)他轉(zhuǎn)到別的辦公室,就會(huì)把找到的文件放在文件柜里,并留下收條。

有時(shí)候,這些文件并不在文件柜里,而是在辦公桌上。那就不可以直接拿了,需要征詢主人的意見,如果不行,大家就要商量如何協(xié)調(diào)。有大量冗長(zhǎng)的詳盡的合作指引來處理這類情況(至少要一起開會(huì))。

文件柜經(jīng)常會(huì)滿,這時(shí)就不能放新的文件,需要先騰地方,把一些很久都沒用到的文件拿出來。勤雜工會(huì)把這些文件放到地下室里(L3 緩存)。地下室里的文件被密集地堆放到紙箱里或者文件架上,交給文檔管理員處理,其他人都不會(huì)下去,也不會(huì)了解文檔的存放細(xì)節(jié)。

當(dāng)勤雜工來到地下室,會(huì)把一堆不需要的文件放到‘in’框里,同時(shí)他也會(huì)留下一堆紙條,寫著在樓上文件柜里找不到的文件名。文檔管理員會(huì)拿著這些紙條,找到對(duì)應(yīng)的文件,把它們放到‘out’ 框里。下次勤雜工下來的時(shí)候,就可以把‘out’框里的文件拿走,交給需要的人。

現(xiàn)在的問題是,文件還是太多,地下室也放不下,而且辦公大樓的租金都很貴,所以通常公司都會(huì)在離市區(qū)較遠(yuǎn)的地方租一個(gè)倉(cāng)庫(kù)來存放歸檔文件(對(duì)應(yīng)于DRAM內(nèi)存)。文檔管理員會(huì)記錄哪些文件放在地下室,哪些文件放在倉(cāng)庫(kù)。這樣,當(dāng)需要拿文件時(shí),管理員就知道哪些是能在地下室找到,哪些要到倉(cāng)庫(kù)里拿。每天有一兩次,會(huì)有一輛貨車開到倉(cāng)庫(kù)去拿需要的文件,同時(shí)把一些地下室的舊文件運(yùn)過去。

對(duì)勤雜工而言,他并不關(guān)心這些細(xì)節(jié),這些都是文檔管理員在處理。他需要做的就是把紙條放到‘in’框里,從‘out’框里取出文件。

回到最初的問題

那么,這個(gè)類比的意義何在?簡(jiǎn)短而言,一個(gè)具體的模型比模糊的概念更能清晰地闡明物流的意義。實(shí)際上,物流對(duì)設(shè)計(jì)芯片的意義和運(yùn)作一個(gè)高效的辦公文件處理系統(tǒng)是一樣的。

最初的問題是‘為什么不用一個(gè)大的緩存,而是用幾層小的緩存?’。 也就是說,如果一個(gè)4核芯片配置32K一級(jí)緩存,256K二級(jí)緩存和2M三級(jí)緩存,為什么不能用一個(gè)3M的大緩存?

在類比里,類似于問與其給4個(gè)人每人分一個(gè)1.5米寬的辦公桌,為什么不給這4個(gè)人一個(gè)150米寬的大辦公桌?

關(guān)鍵在于,放辦公桌上的目的就是要能觸手可及。如果辦公桌太大,就沒有意義了。難道還需要走50米去拿文件? 對(duì)一級(jí)緩存也是同理,如果太大,存取速度會(huì)變慢,而且會(huì)消耗更多的電力。所以一級(jí)緩存既要足夠大到能起作用,又要小到能夠快速存取。

另外一點(diǎn),一級(jí)緩存處理的存取類型和其他緩存不同。有L1的數(shù)據(jù)緩存,也有L1指令緩存。Intel的CPU還有另外的指令緩存,uOp緩存,既叫L1并發(fā)指令緩存也叫L0指令緩存。

L1數(shù)據(jù)緩存通常只處理1到8個(gè)字節(jié)的數(shù)據(jù),但高層級(jí)的緩存并不處理單獨(dú)的字節(jié)。在我們的類比里,所有不辦公桌上的資料都是以文件為單位(對(duì)應(yīng)于catch line)。 在內(nèi)存中也一樣,高層級(jí)緩存通常是批發(fā)處理數(shù)據(jù),以緩存行為單位(cache line)。

L1指令緩存和數(shù)據(jù)緩存完全不同,就內(nèi)核而言,它是只讀的。(指令內(nèi)存的寫入通常是用非直接的方式,先把指令放入高層的緩存,再載入一級(jí)指令緩存)。由于這個(gè)原因,指令緩存和數(shù)據(jù)緩存通常是分隔的。使用通用的L1緩存意味著把互相沖突的設(shè)計(jì)原則糅合在一起,妥協(xié)的結(jié)果就是任何一個(gè)目的都達(dá)不到。而且用通用的L1緩存處理指令和數(shù)據(jù)負(fù)載也會(huì)很大。

另外,作為程序員,我們通常不關(guān)心內(nèi)存帶寬。例如,每個(gè)時(shí)鐘周期,i7的CPU的內(nèi)核能從L1緩存中讀取16字節(jié)的指令,而且會(huì)不斷地循環(huán)讀取。如果是3GHZ,每個(gè)核可以讀50GB指令/秒。實(shí)際上,通常L1指令緩存的能力都足夠大,很少需要L2緩存參與處理。但如果是通用緩存,就需要預(yù)估指令和數(shù)據(jù)的高并發(fā)情況。(想象一下在L1緩存中用memcopy拷貝幾K數(shù)據(jù)的情況)

順便提一句,如果都在L1緩存,CPU能在一個(gè)時(shí)鐘周期完成許多存取操作?!瓾aswell’或者之后的3GHZ的i7內(nèi)核可以處理超過300GB的指令和數(shù)據(jù), 如果搭配合理的話。這樣的處理能力綽綽有余,但你仍然需要考慮數(shù)據(jù)和指令同時(shí)出現(xiàn)峰值的情況。

L1緩存在設(shè)計(jì)上就是越快越好,以應(yīng)對(duì)峰值情況。只有L1緩存處理不了,才會(huì)轉(zhuǎn)給更高層的緩存,但速度會(huì)降低。因?yàn)楦邔泳彺娓P(guān)心電力效率和存儲(chǔ)密度。

第三點(diǎn),共享。在上面的比喻中,獨(dú)立辦公桌,亦或L1緩存是私有的,如果在你的辦公桌上,你只管拿就好了,不需要詢問其他人。

這很關(guān)鍵。如果4個(gè)人共享一個(gè)大辦公桌,你就不能隨便拿文件,因?yàn)榱硗馊齻€(gè)人可能正在使用。(即使他們只是在閱讀其他文件時(shí)順便參考一下你想使用的文件)。任何時(shí)候,你想要拿什么東西,你需要先叫一聲,‘有人在用嗎?’如果別人在你前面,你就必須等待?;蛘咝枰粋€(gè)排隊(duì)系統(tǒng),當(dāng)存在資源沖突的時(shí)候,每個(gè)人需要拿張票排隊(duì)等候,或者其它的什么機(jī)制,具體實(shí)現(xiàn)細(xì)節(jié)并不重要,但是所有的事情你都需要和其他人協(xié)調(diào)。

對(duì)多核共享緩存的情況也是這樣。你不能在不通知?jiǎng)e人的情況下隨意動(dòng)那些數(shù)據(jù),所有對(duì)共享緩存的操作都必須協(xié)調(diào)進(jìn)行。

這就是為什么我們要使用私有的L1緩存。L1緩存就是你的辦公桌,你可以隨便使用桌上的文件。L2緩存處理大部分的協(xié)同操作。大部分時(shí)間,工作者(CPU內(nèi)核)坐在辦公桌前,勤雜工會(huì)走過來,把需求列表拿走,同時(shí)把之前你想找的文件放倒文件柜里。整個(gè)過程不會(huì)打斷你的工作(CPU)。

僅僅當(dāng)你和勤雜工都需要拿文件柜里的同一份文件,或者別人想用你辦公桌上的文件,這時(shí)就需要停下手頭工作,進(jìn)行交談。

簡(jiǎn)單而言,L1緩存的工作就是優(yōu)先為CPU內(nèi)核服務(wù)。因?yàn)槭撬接械?,所以基本不需要協(xié)調(diào)工作。L2緩存也是私有的,但是它的工作重心還包括在不打擾內(nèi)核工作的情況下,處理大量的緩存間的數(shù)據(jù)通信。

L3緩存是共享資源,需要全局協(xié)調(diào)。在上面的類比中,工作者只有從勤雜工的推車?yán)锬玫轿募?,這就是一個(gè)阻塞點(diǎn)。我們只能希望L1和L2緩存足夠大以便這類阻塞點(diǎn)不會(huì)成為性能瓶頸。

附加說明

本篇文章涵蓋了當(dāng)前臺(tái)式機(jī)(筆記本)CPU的緩存架構(gòu):分開的L1/L1 D 緩存,每核統(tǒng)一的L2緩存,共享的L3緩存。

不是每個(gè)系統(tǒng)都象這樣。一些系統(tǒng)并不區(qū)分指令緩存和數(shù)據(jù)緩存;另外一些則把指令和數(shù)據(jù)在所有的緩存級(jí)全部分開。很多L2緩存是多核共享的,L2緩存就象是連接多個(gè)內(nèi)核的公共汽車。還有一些系統(tǒng)有L3和L4緩存。我也沒有提到使用多CPU套接字的系統(tǒng)。

我提到環(huán)路公共汽車是因?yàn)檫@是一個(gè)很好的類比。環(huán)路公共汽車很常見。有些時(shí)候,環(huán)路汽車是個(gè)麻煩(尤其是只需要把兩三個(gè)街區(qū)連起來);有時(shí)候,環(huán)路公共汽車需要和交叉系統(tǒng)連接起來(就象在辦公室,每個(gè)樓層用推車,不同樓層則用電梯)。

作為軟件工程師,我們自然而然地會(huì)假設(shè)模塊A和模塊B可以魔術(shù)般地連接,數(shù)據(jù)則可隨意地從一端流向另一端。內(nèi)存的實(shí)際工作機(jī)制其實(shí)非常復(fù)雜,但抽象出來呈現(xiàn)給程序員的只是一組大平面的字節(jié)排列。

硬件并不象這樣工作。各個(gè)部件之間并不能魔法般地自動(dòng)連接。模塊A和模塊B并非抽象概念,而是具體的物理設(shè)備,實(shí)際上可以看作是非常小的機(jī)器,在硅片上占有實(shí)際的物理空間。芯片都有平面圖,是真正的2D地圖。如果你想連接A和B,就需要一條實(shí)際的導(dǎo)線來連接。 導(dǎo)線也占空間,而且需要消耗電力(越遠(yuǎn)消耗越多)。用一大捆線連接A和B意味著物理上這一塊區(qū)域會(huì)阻礙其他區(qū)域的連接。(當(dāng)然,芯片可以使用多層連接,如果你有興趣,可以搜索‘routing congestion’)。 在芯片里移動(dòng)數(shù)據(jù)實(shí)際上是一個(gè)物流問題,并且超級(jí)復(fù)雜。

所以盡管辦公室的故事只是半開玩笑的類比,‘誰需要和誰談’、‘這個(gè)系統(tǒng)的幾何構(gòu)造如何——是有意義的布局嗎?’這些問題其實(shí)對(duì)系統(tǒng)設(shè)計(jì)和硬件相關(guān)并有巨大的影響。 利用空間的隱喻來概念化實(shí)際情況是十分有效的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10825

    瀏覽量

    211155
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    233

    瀏覽量

    26649
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CPU一級(jí)緩存

    CPU一級(jí)緩存              CPU緩存(Cache
    發(fā)表于 12-24 10:21 ?458次閱讀

    CPU二級(jí)緩存容量

    CPU二級(jí)緩存容量            CPU緩存(Cache Memory)是位
    發(fā)表于 12-24 10:22 ?529次閱讀

    什么是CPU一級(jí)緩存/二級(jí)緩存

    什么是CPU一級(jí)緩存/二級(jí)緩存?  即L1 Cache。集成在CPU內(nèi)部中,用于CPU在處理數(shù)據(jù)過程中數(shù)據(jù)的暫時(shí)保存。由于
    發(fā)表于 02-04 10:43 ?1158次閱讀

    什么是CPU緩存/前端總線(FSB)頻率

    什么是CPU緩存/前端總線(FSB)頻率  緩存   緩存大小也是CPU的重要指標(biāo)之一,而且
    發(fā)表于 02-04 11:22 ?1397次閱讀

    CPU緩存對(duì)性能的影響

      說到CPU,不得不說的就是CPU緩存,目前CPU緩存已經(jīng)成了衡量CPU性能的一個(gè)必要指標(biāo),
    發(fā)表于 11-13 17:58 ?2455次閱讀

    處理器緩存有啥用

    按照數(shù)據(jù)讀取順序和與CPU結(jié)合的緊密程度,CPU緩存可以分為一級(jí)緩存,二級(jí)緩存,如今主流CPU
    的頭像 發(fā)表于 01-21 17:11 ?1.5w次閱讀

    談一談CPU緩存緩存一致性

    左圖為最簡(jiǎn)單的高速緩存的配置,數(shù)據(jù)的讀取和存儲(chǔ)都經(jīng)過高速緩存,CPU核心與高速緩存有一條特殊的快速通道;主存與高速緩存都連在系統(tǒng)總線上(BU
    的頭像 發(fā)表于 05-03 17:51 ?2168次閱讀
    談一談<b class='flag-5'>CPU</b><b class='flag-5'>緩存</b>和<b class='flag-5'>緩存</b>一致性

    CPU緩存是什么意思_CPU緩存有什么作用

    由于處理器是核心硬件,相信我們?cè)谶x擇處理器的時(shí)候都會(huì)去關(guān)心處理器參數(shù)方面,而在處理器核心參數(shù)中,我們經(jīng)常會(huì)看到緩存(Cache)這個(gè)參數(shù),那么CPU緩存有什么作用呢?下面小編科普一下
    發(fā)表于 05-19 09:24 ?7497次閱讀

    緩存如何工作,如何設(shè)計(jì)CPU緩存

    20世紀(jì)80年代,CPU性能有了顯著提升,但這受到板載內(nèi)存訪問速度緩慢增長(zhǎng)的阻礙。隨著這種差異的惡化,工程師們發(fā)現(xiàn)了一種通過新的設(shè)計(jì)技術(shù)緩存來解決問題的方法。本文將幫助你進(jìn)一步了解什么是緩存,它如何工作以及如何設(shè)計(jì)
    的頭像 發(fā)表于 11-19 17:23 ?2709次閱讀

    CPU緩存作用及原理哪些

    CPU緩存是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小很多,但交換速度比內(nèi)存要快很多。 CPU緩存分為三類:一級(jí)
    的頭像 發(fā)表于 08-27 15:58 ?1.1w次閱讀

    關(guān)于CPU緩存作用

    CPU沒有存儲(chǔ)功能,那么緩存到底是干什么的?CPU緩存是用于減少處理器訪問內(nèi)存所需平均時(shí)間的部件,作用類似于
    的頭像 發(fā)表于 03-30 10:58 ?4452次閱讀
    關(guān)于<b class='flag-5'>CPU</b><b class='flag-5'>緩存</b>的<b class='flag-5'>作用</b>

    CPU緩存設(shè)計(jì)的原則及工作原理

    本文將研究 CPU 緩存設(shè)計(jì)的原則,包括局部性、邏輯組織和啟發(fā)式管理。
    的頭像 發(fā)表于 04-28 17:19 ?3453次閱讀
    <b class='flag-5'>CPU</b><b class='flag-5'>緩存</b>設(shè)計(jì)的原則及工作原理

    cpu緩存作用及原理是什么

    CPU高速緩存集成于CPU的內(nèi)部,其是CPU可以高效運(yùn)行的成分之一,本文圍繞下面三個(gè)話題來講解CPU緩存
    發(fā)表于 08-21 12:17 ?1919次閱讀
    <b class='flag-5'>cpu</b><b class='flag-5'>緩存</b>的<b class='flag-5'>作用</b>及原理是什么

    CPU緩存那些事兒

    CPU Cache 在讀取內(nèi)存數(shù)據(jù)時(shí),每次不會(huì)只讀一個(gè)字或一個(gè)字節(jié),而是一塊塊地讀取,這每一小塊數(shù)據(jù)也叫CPU 緩存行(CPU Cache Line)。這也是對(duì)局部性原理的運(yùn)用,當(dāng)一個(gè)
    的頭像 發(fā)表于 09-10 10:57 ?656次閱讀
    <b class='flag-5'>CPU</b><b class='flag-5'>緩存</b>那些事兒

    什么是CPU緩存?它有哪些作用

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中一個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲(chǔ)器。CPU緩存的主
    的頭像 發(fā)表于 08-22 14:54 ?2382次閱讀