色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

計(jì)算機(jī)中的高速緩存詳解

FPGA之家 ? 來(lái)源:嵌入式那些事 ? 作者:嵌入式那些事 ? 2021-03-22 10:22 ? 次閱讀

1. 什么是緩存??緩存又叫高速緩存,是計(jì)算機(jī)存儲(chǔ)器中的一種,本質(zhì)上和硬盤(pán)是一樣的,都是用來(lái)存儲(chǔ)數(shù)據(jù)和指令的 。它們最大的區(qū)別在于讀取速度的不同。程序一般是放在內(nèi)存中的,當(dāng)CPU執(zhí)行程序的時(shí)候,執(zhí)行完一條指令需要從內(nèi)存中讀取下一條指令,讀取內(nèi)存中的指令要花費(fèi)100000個(gè)時(shí)鐘周期(緩存讀取速度為200個(gè)時(shí)鐘周期,相差500倍),如果每次都從內(nèi)存中取指令,CPU運(yùn)行時(shí)將花費(fèi)大量的時(shí)間在讀取指令上。這顯然是一種資源浪費(fèi)。

如何解決這個(gè)問(wèn)題呢?有人肯定會(huì)問(wèn),直接把程序存儲(chǔ)在緩存中不行嗎?

答案是可以的。但是,緩存的造價(jià)太貴了。具體如下圖所示。以2015年的售價(jià)為例,1GB SRAM的價(jià)格大約為327680美元,而1GB 普通硬盤(pán)的價(jià)格僅僅為0.03美元。用緩存來(lái)存儲(chǔ)程序成本太高了,得不償失。

751c70bc-8925-11eb-8b86-12bb97331649.png

SRAM和DISK價(jià)格比較

于是,有人就提出了這樣一種方法,在CPU和內(nèi)存之間添加一個(gè)高速內(nèi)存, 這個(gè)高速內(nèi)存容量小,只用來(lái)存儲(chǔ)CPU執(zhí)行時(shí)常用的指令。既保證了硬件成本,又提高了CPU的訪問(wèn)速度。這個(gè)高速內(nèi)存就是緩存(高速緩存)。

2. 緩存的定義??高速緩存是一個(gè)小而快速的存儲(chǔ)設(shè)備 ,它作為存儲(chǔ)在更大更慢的設(shè) 備中的數(shù)據(jù)對(duì)象的緩沖區(qū)域。使用高速緩存的過(guò)程稱為緩存 。

具體如下圖所示,主存可以作為一個(gè)存儲(chǔ)設(shè)備,L3是主存的緩沖區(qū)域,從L3存取數(shù)據(jù)的過(guò)程就叫做緩存。

存儲(chǔ)器的層次結(jié)構(gòu)

3. 計(jì)算機(jī)中的高速緩存3.1 高速緩存相關(guān)名詞

如下圖所示,數(shù)據(jù)總是以塊為單位 在高速緩存和主存之間來(lái)回復(fù)制。

緩存和內(nèi)存的數(shù)據(jù)交換

如果我們的程序請(qǐng)求一個(gè)數(shù)據(jù)字,這個(gè)數(shù)據(jù)字存儲(chǔ)在編號(hào)為10的塊中。將分以下幾種情況考慮:

1. 高速緩存行中為空,這叫做冷不命中 。

2.高速緩存中有數(shù)據(jù)塊,但沒(méi)有數(shù)據(jù)塊10,這叫做緩存不命中 。接下來(lái)緩存請(qǐng)求主存將該塊復(fù)制到高速緩存,高速緩存接收到之后將替換一個(gè)現(xiàn)有的數(shù)據(jù)塊,從而存儲(chǔ)新的數(shù)據(jù)塊在高速緩存中。最后,高速緩存將數(shù)據(jù)塊10返回給CPU。

3. 高速緩存中有數(shù)據(jù),將內(nèi)存中的數(shù)據(jù)塊放置到高速緩存中時(shí),發(fā)生了沖突,這叫做沖突不命中 。

放置策略中最常用的是:第k+1層的塊i必須放在第k層的塊(i mod 4)中。比如,第k+1層的0,4,8,12會(huì)映射到第k層的塊0。塊1,5,9,13會(huì)映射到塊1。

4. 緩存中有數(shù)據(jù)塊10,則直接返回給CPU。這叫做緩存命中 。

3.2 計(jì)算機(jī)中的高速緩存存儲(chǔ)器模型

高速緩存完全由硬件管理,硬件邏輯必須要知道,如何查找緩存中的塊,并確定是否包含特定塊。因此,必須以非常嚴(yán)格且簡(jiǎn)單的方式去構(gòu)建高速緩存。在計(jì)算機(jī)中,高速緩存模型如下圖所示。

計(jì)算機(jī)中的高速緩存模型

我們可以將高速緩存存儲(chǔ)器視為有個(gè)高速緩存組的數(shù)組 。每個(gè)組包含個(gè)高速緩存行 。每個(gè)行是由一個(gè)字節(jié)的數(shù)據(jù)塊組成的。

一般而言,高速緩存的結(jié)構(gòu)可以用元組(S,E,B,m)來(lái)描述。高速緩存的大小(或容量)C指的是所有塊的大小的和。標(biāo)記位和有效位不包括在內(nèi) 。因此,C=S×E×B。

每個(gè)高速緩存存儲(chǔ)器有m位,可以組成個(gè)不同的地址,。每個(gè)數(shù)據(jù)塊由以下三部分構(gòu)成。

有效位:有效位為t位,t一般為1,指明這個(gè)行是否包含有效信息

標(biāo)記位:標(biāo)記位為s位。唯一的標(biāo)識(shí)了存儲(chǔ)在高速緩存中的塊(數(shù)組索引)。

塊偏移:數(shù)據(jù)塊為字節(jié)。指明CPU請(qǐng)求的內(nèi)容在數(shù)據(jù)塊中的偏移。

地址和計(jì)算機(jī)緩存模型

下面對(duì)以上內(nèi)容出現(xiàn)的參數(shù)做個(gè)總結(jié):

參數(shù)描述

S=2^s組數(shù)

E每個(gè)組的行數(shù)

B=2^b塊大小(字節(jié))

m=log2(M)物理地址位數(shù)

M=2^m內(nèi)存地址的最大數(shù)量

s=log2(S)組索引位數(shù)量

b=log2(B)塊偏移位數(shù)量

t=m-(s+b)標(biāo)記位數(shù)量

C=B*E*S不包括像有效位和標(biāo)記位這樣開(kāi)銷的高速緩存大小(字節(jié))

3.3 計(jì)算機(jī)中有哪些緩存

下表為現(xiàn)代計(jì)算機(jī)中用到的各種緩存。

類型緩存什么被緩存在何處延遲(周期數(shù))由誰(shuí)管理

CPU寄存器4字節(jié)或8字節(jié)芯片上的CPU寄存器0編譯器

TLB地址翻譯芯片上的TLB0硬件MMU

L1高速緩存64字節(jié)塊芯片上的L1高速緩存4硬件

L2高速緩存64字節(jié)塊芯片上的L2高速緩存10硬件

L3高速緩存64字節(jié)塊芯片上的L3高速緩存50硬件

虛擬內(nèi)存4KB頁(yè)主存200硬件

緩沖區(qū)緩存部分文件主存200OS

磁盤(pán)緩存磁盤(pán)扇區(qū)磁盤(pán)控制器100000控制器固件

網(wǎng)絡(luò)緩存部分文件本地磁盤(pán)10000000NFS客戶

瀏覽器緩存Web頁(yè)本地磁盤(pán)10000000Web瀏覽器

Web緩存Web頁(yè)遠(yuǎn)程服務(wù)器磁盤(pán)1000000000Web代理服務(wù)器

3.4 硬件讀取高速緩存的過(guò)程

當(dāng)一條加載指令指示CPU從主存地址A中讀取一個(gè)字w時(shí),會(huì)將該主存地址A發(fā)送到高速緩存中,則高速緩存會(huì)根據(jù)以下步驟判斷地址A是否命中:

組選擇:根據(jù)地址劃分,將中間的s位表示為無(wú)符號(hào)數(shù)作為組的索引 ,可得到該地址對(duì)應(yīng)的組。

行匹配:根據(jù)地址劃分,可得到t位的標(biāo)志位,由于組內(nèi)的任意一行都可以包含任意映射到該組的數(shù)據(jù)塊,所以就要線性搜索組中的每一行,判斷是否有和標(biāo)志位匹配且設(shè)置了有效位的行 ,如果存在,則緩存命中,否則緩沖不命中。

字抽取:如果找到了對(duì)應(yīng)的高速緩存行,則可以將b位表示為無(wú)符號(hào)數(shù)作為塊偏移量 ,得到對(duì)應(yīng)位置的字。

當(dāng)高速緩存命中時(shí),會(huì)很快抽取出字w,并將其返回給CPU。如果緩存不命中,CPU會(huì)進(jìn)行等待,高速緩存會(huì)向主存請(qǐng)求包含字w的數(shù)據(jù)塊,當(dāng)請(qǐng)求的塊從主存到達(dá)時(shí),高速緩存會(huì)將這個(gè)塊保存到它的一個(gè)高速緩存行中,然后從被存儲(chǔ)的塊中抽取出字w,將其返回給CPU。

4. 直接映射高速緩存??上面我們介紹了計(jì)算機(jī)中的高速緩存模型,我們可以根據(jù)每個(gè)組的高速緩存行數(shù)E,將高速緩存分成不同的類型。下面我們看下直接映射高速緩存(E=1)的具體例子。

4.1 組選擇

組選擇示意圖如下所示。假設(shè)有 S 組,每組由一行組成,緩存塊為8字節(jié)。CPU發(fā)出地址要取數(shù)據(jù)字,高速緩存將該地址分解為三部分,對(duì)于圖中的地址來(lái)說(shuō),塊偏移量為4。組索引是 1 ,粉紅色的為t位標(biāo)記位。因此,高速緩存提取的組索引為 1,即圖中第二行。

直接映射高速緩存組選擇

4.2 行匹配

然后,檢查地址中的標(biāo)記位與緩存行中的標(biāo)記位是否匹配。如果匹配,將進(jìn)行下一步字選擇。如果不匹配,則表示未命中。在未命中時(shí),高速緩存必須從內(nèi)存中重新取數(shù)據(jù)塊, 在行中覆蓋此塊。

直接映射高速緩存行匹配

4.3 字選擇

當(dāng)標(biāo)記位匹配時(shí),表示命中,接著檢查地址中的塊偏移為4,即要從緩存行數(shù)據(jù)塊的第5位開(kāi)始取值,并返回給CPU。

直接映射高速緩存字選擇

4.4 模擬直接映射緩存

下面,我們模擬下直接映射高速緩存的過(guò)程,以便加深理解高速緩存是如何工作的。假設(shè),內(nèi)存地址為4字節(jié),S=4組,E=1行/組,B=2字節(jié)/塊。其結(jié)構(gòu)圖如下所示。

模擬直接映射高速緩存地址結(jié)構(gòu)圖

我們模擬CPU要從高速緩存中讀取地址為0,1,7,8,0的數(shù)據(jù)。下面是具體的過(guò)程。

地址二進(jìn)制是否命中

0[](t=0,s=00,b=0)

1[](t=0,s=00,b=1)

7[](t=0,s=11,b=1)

8[](t=1,s=00,b=0)

0[](t=00,s=0,b=0)

1. 讀地址0的數(shù)據(jù)。標(biāo)記位為0,索引位為00,偏移位為0,塊號(hào)為0。緩存行中沒(méi)有數(shù)據(jù),組0的有效位為0,地址的標(biāo)記位和組0的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊0,塊1, 共2字節(jié),并存儲(chǔ)在組0中。具體如下圖所示。

模擬直接映射高速緩存讀地址0的數(shù)據(jù)

2. 讀地址1的數(shù)據(jù)。標(biāo)記位為0,索引位為00,偏移位為1,塊號(hào)1。緩存行中已有數(shù)據(jù)數(shù)據(jù),組0的有效位為1,地址1的標(biāo)記位和組0的標(biāo)記位匹配,因此,命中。具體如下圖所示。

模擬直接映射高速緩存讀地址1的數(shù)據(jù)

3. 讀地址7的數(shù)據(jù)。標(biāo)記位為0,索引位為11(3),偏移位為1,塊號(hào)為3。緩存行中有數(shù)據(jù),組3的有效位為0,地址的標(biāo)記位和組0的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊6,塊7, 共2字節(jié),并存儲(chǔ)在組3中。具體如下圖所示。

模擬直接映射高速緩存讀地址7的數(shù)據(jù)

4. 讀地址8的數(shù)據(jù)。標(biāo)記位為1,索引位為00,偏移位為0,塊號(hào)為4。緩存行中有數(shù)據(jù),組0的有效位為1,地址的標(biāo)記位和組0的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊8,塊9, 共2字節(jié),并存儲(chǔ)在組0中。具體如下圖所示。

模擬直接映射高速緩存讀地址8的數(shù)據(jù)

5. 讀地址0的數(shù)據(jù)。標(biāo)記位為0,索引位為00,偏移位為0,塊號(hào)為0。緩存行中有數(shù)據(jù),組0的有效位為1,地址的標(biāo)記位和組0的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊0,塊1, 共2字節(jié),并存儲(chǔ)在組0中。具體如下圖所示。

模擬直接映射高速緩存再次讀地址0的數(shù)據(jù)

最終結(jié)果如下:緩存命中率為20%。

地址二進(jìn)制是否命中

0[](t=0,s=00,b=0)否

1[](t=0,s=00,b=1)是

7[](t=0,s=11,b=1)否

8[](t=1,s=00,b=0)否

0[](t=00,s=0,b=0)否

注意:塊大小為2字節(jié),所以從內(nèi)存中取數(shù)據(jù)總是以偶數(shù)倍開(kāi)始的,所以會(huì)看到M[8-9],而不是M[7-8]。

如果你看懂了上述高速緩存的整個(gè)過(guò)程,考慮下如何編程來(lái)模擬高速緩存呢?后面的文章我會(huì)詳細(xì)講解如何用C語(yǔ)言模擬高速緩存,歡迎關(guān)注我的公眾號(hào)【嵌入式Linux那些事】,第一時(shí)間獲取更新。

4.5 直接映射高速緩存的缺陷

觀察以上過(guò)程其實(shí)可以發(fā)現(xiàn),在第5步,讀地址0的數(shù)據(jù)的時(shí)候,我們又得重新從內(nèi)存中取數(shù)據(jù)到緩存行中。在讀地址8的數(shù)據(jù)的時(shí)候,M[8-9]替換了緩存行中的M[0-1]。

最主要的原因是每一個(gè)組中只允許存放一行緩存。假設(shè),E = 2,每組中有2個(gè)緩存行,M[8-9]和M[0-1]就有很大可能同時(shí)存在于組0中。我們?cè)诘?步訪問(wèn)時(shí),就不需要重新從內(nèi)存中取數(shù)據(jù)了。因此,就有了E = 2的兩路相聯(lián)高速緩存。

5. 兩路相聯(lián)高速緩存??直接映射高速緩存中沖突不命中造成的問(wèn)題源于每個(gè)組只有一行這個(gè)限制。組相聯(lián)高速存放松了這條限制,所以每個(gè)組都保存有多于一個(gè)的高速緩存行。如下圖所示為兩路相聯(lián)的高速緩存。

5.1 組選擇

它的組選擇與直接映射高速緩存的組選擇一樣,組索引位標(biāo)識(shí)組。具體如下圖所示,這里不再贅述。

兩路相聯(lián)高速緩存組選擇

5.2 行匹配

組相聯(lián)高速緩存中的行匹配比直接映射高速緩存中的更復(fù)雜,因?yàn)樗仨毭看螜z查多個(gè)行 的標(biāo)記位和有效位,以確定所請(qǐng)求的字是否在集合中。具體如下圖所示。

兩路相聯(lián)高速緩存行匹配

5.3 字選擇

字選擇的過(guò)程和直接映射高速緩存中的方式一樣,這里就不再贅述。

兩路相聯(lián)高速緩存字選擇

5.4 模擬兩路相聯(lián)高速緩存

下面,我們模擬下兩路相聯(lián)高速緩存的過(guò)程,以便加深理解高速緩存是如何工作的。假設(shè),內(nèi)存地址為4字節(jié),S=2組,E=2行/組,B=2字節(jié)/塊。其結(jié)構(gòu)圖如下所示。

兩路相聯(lián)高速緩存地址結(jié)構(gòu)

我們模擬CPU要從高速緩存中讀取地址為0,1,7,8,0的數(shù)據(jù)。下面是具體的過(guò)程。

地址二進(jìn)制是否命中

0[] (t=00,s=0,b=0)

1[](t=00,s=0,b=1)

7[](t=01,s=1,b=1)

8[](t=10,s=0,b=0)

0[](t=00,s=0,b=0)

1. 讀地址0的數(shù)據(jù)。標(biāo)記位為00,索引位為0,偏移位為0,塊號(hào)為0。緩存行中沒(méi)有數(shù)據(jù),組0的有效位為0,地址的標(biāo)記位和組0的第一行和第二行的標(biāo)記位都不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊0,塊1, 共2字節(jié),并存儲(chǔ)在組0第一行中。具體如下圖所示。

模擬兩路相聯(lián)高速緩存讀地址0的數(shù)據(jù)

2. 讀地址1的數(shù)據(jù)。標(biāo)記位為00,索引位為0,偏移位為1,塊號(hào)為1。緩存行中已有數(shù)據(jù)數(shù)據(jù),組0的第一行有效位為1,地址1的標(biāo)記位和組0的第一行標(biāo)記位匹配,因此,命中。具體如下圖所示。

模擬兩路相聯(lián)高速緩存讀地址1的數(shù)據(jù)

3. 讀地址7的數(shù)據(jù)。標(biāo)記位為01,索引位為1,偏移位為1,塊號(hào)為1。緩存行中有數(shù)據(jù),組1的有效位為0,地址的標(biāo)記位和組1中的第一行和第二行的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊6,塊7, 共2字節(jié),并存儲(chǔ)在組1中。具體如下圖所示。

模擬兩路相聯(lián)高速緩存讀地址7的數(shù)據(jù)

4. 讀地址8的數(shù)據(jù)。標(biāo)記位為10,索引位為0,偏移位為0,塊號(hào)為0。緩存行中有數(shù)據(jù),組0的第一行有效位為1,第二行有效位為0,地址的標(biāo)記位和組0的第一行和第二行的標(biāo)記位不匹配,因此,未命中。然后,高速緩存從內(nèi)存中取出塊8,塊9, 共2字節(jié),并存儲(chǔ)在組0的第二行中。具體如下圖所示。

模擬兩路相聯(lián)高速緩存讀地址8的數(shù)據(jù)

5. 讀地址0的數(shù)據(jù)。標(biāo)記位為00,索引位為0,偏移位為0,塊號(hào)為0。緩存行中有數(shù)據(jù),組0的第一行有效位為1,地址的標(biāo)記位和組0的第一行的標(biāo)記位匹配,因此,命中。具體如下圖所示。

模擬兩路相聯(lián)高速緩存再次讀地址0的數(shù)據(jù)地址二進(jìn)制是否命中

0[] (t=00,s=0,b=0)否

1[](t=00,s=0,b=1)是

7[](t=01,s=1,b=1)否

8[](t=10,s=0,b=0)否

0[](t=00,s=0,b=0)是

兩路相聯(lián)高速緩存與直接映射高速緩存相比,在每組中增加了一行,緩存命中率提升了15%。避免了緩存頻繁從內(nèi)存中存取數(shù)據(jù)的情況,提高了程序運(yùn)行速度。

6. 全相聯(lián)高速緩存??全相聯(lián)高速緩存中的行匹配和字選擇與組相聯(lián)高速緩存中的是一樣的,過(guò)程就不再贅述,其結(jié)構(gòu)圖如下所示。

全相聯(lián)高速緩存結(jié)構(gòu)示意圖

相聯(lián)度越高越好嗎?

答案是否定的。較高的相聯(lián)度會(huì)造成較高的成本。實(shí)現(xiàn)難度大,價(jià)格昂貴,而且很難使之速度變快。較高的相聯(lián)度會(huì)增加命中時(shí)間,因?yàn)閺?fù)雜性增加了,另外,還會(huì)增加不命中處罰,因?yàn)檫x擇犧牲行的復(fù)雜性也增加了。

相聯(lián)度的選擇最終變成了命中時(shí)間和不命中處罰之問(wèn)的折中。一般來(lái)講,高性能系統(tǒng)會(huì)為L(zhǎng)1高速緩存選擇較低的相聯(lián)度(這里的不命中處罰只是幾個(gè)周期),而在不命中處罰比較高的較低層上使用比較小的相聯(lián)度。例如, Intel Core i7系統(tǒng)中,L和L2高速緩存是8路組相聯(lián)的,而L3高速緩存是16路組相聯(lián)的。

7. 真實(shí)計(jì)算機(jī)系統(tǒng)中的緩存??在此之前,我們一直假設(shè)高速緩存只保存數(shù)據(jù)。不過(guò),實(shí)際上,高速緩存既保存數(shù)據(jù),也保存指令。只保存指令的高速緩存稱為 i-cache 。只保存程序數(shù)據(jù)的高速緩存稱為 d-cache 。既保存指令又包括數(shù)據(jù)的高速緩存稱為 統(tǒng)一的高速緩存 。

如下圖所示為 Intel Core i7處理器的高速緩存層次結(jié)構(gòu)。每個(gè)CPU芯片有四個(gè)核。每個(gè)核有自己的L1 i-cache, L1 d-cache和L2統(tǒng)一的高速緩存。所有的核共享片上L3統(tǒng)一的高速緩存。其具體參數(shù)如下表所示。

真實(shí)計(jì)算機(jī)的緩存模型緩存大小內(nèi)部結(jié)構(gòu)訪問(wèn)時(shí)間

L132KB8路相聯(lián)4時(shí)鐘

L2256KB8路相聯(lián)10時(shí)鐘

L38M16路相聯(lián)40-75時(shí)鐘

8. 緩存的評(píng)價(jià)指標(biāo)??最后介紹下衡量高速緩存性能的一些指標(biāo):

8.1 不命中率

在一個(gè)程序執(zhí)行或程序的一部分執(zhí)行期間,內(nèi)存引用不命中的比率,它等于: 不命中數(shù)量/引用數(shù)量。

8.2 命中率

命中的內(nèi)存引用比率。它等于: 1-不命中率。

8.3 命中時(shí)間

從高速緩存?zhèn)魉鸵粋€(gè)字到CPU所需的時(shí)間,包括組選擇、行確認(rèn)和字選擇的時(shí)間。一般來(lái)講,L1緩存的命中時(shí)間為:4個(gè)時(shí)鐘。L2緩存的命中時(shí)間為:10個(gè)時(shí)鐘。

8.4 未命中懲罰

未命中需要的額外時(shí)間。對(duì)于主存來(lái)說(shuō),一般為 50 ~ 200個(gè)時(shí)鐘周期。

舉個(gè)例子:

假設(shè)緩存命中時(shí)間為1個(gè)時(shí)鐘周期,緩存未命中懲罰為100個(gè)時(shí)鐘周期。

下面計(jì)算下97%緩存命中率和99%的緩存命中率的平均訪問(wèn)時(shí)間為多少?計(jì)算公式為命中時(shí)間加上未命中處罰乘以百分系數(shù)。

97%的命中率:時(shí)鐘。

99%的命中率:時(shí)鐘。

結(jié)論:命中率增加2%,平均訪問(wèn)時(shí)間減少了50%。

9. 總結(jié)??計(jì)算機(jī)中存在著各種各樣的緩存,比如, 文件緩存 把一些需要高速存取的變量緩存在內(nèi)存中,每次訪問(wèn)直接讀出即可。 瀏覽器緩存 根據(jù)一套與服務(wù)器約定的規(guī)則進(jìn)行工作,如果在瀏覽過(guò)程中前進(jìn)或后退時(shí)訪問(wèn)到同一個(gè)圖片,這些圖片可以從瀏覽器緩存中調(diào)出而即時(shí)顯示。數(shù)據(jù)庫(kù)緩存 經(jīng)常需要從數(shù)據(jù)庫(kù)查詢的數(shù)據(jù)、或經(jīng)常更新的數(shù)據(jù)放入到緩存中,這樣下次查詢時(shí),直接從緩存直接返回,減輕數(shù)據(jù)庫(kù)壓力。

我們了解這么多基本概念有什么用呢?如果我們理解了計(jì)算機(jī)系統(tǒng)是如何將數(shù)據(jù)在內(nèi)存中組織和移動(dòng)的,那么在寫(xiě)程序時(shí)就可以把數(shù)據(jù)項(xiàng)存儲(chǔ)在合適的位置,CPU能更快地訪問(wèn)到它們,提高程序的執(zhí)行效率。

原文標(biāo)題:24張圖7000字詳解計(jì)算機(jī)中的高速緩存

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    19

    文章

    7488

    瀏覽量

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

    關(guān)注

    1

    文章

    239

    瀏覽量

    26672

原文標(biāo)題:24張圖7000字詳解計(jì)算機(jī)中的高速緩存

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TMS320C6000 DSP高速緩存用戶指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP高速緩存用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-17 15:49 ?0次下載
    TMS320C6000 DSP<b class='flag-5'>高速緩存</b>用戶指南

    TMS320C64x在高性能DSP應(yīng)用高速緩存使用情況

    電子發(fā)燒友網(wǎng)站提供《TMS320C64x在高性能DSP應(yīng)用高速緩存使用情況.pdf》資料免費(fèi)下載
    發(fā)表于 10-21 09:43 ?0次下載
    TMS320C64x在高性能DSP應(yīng)用<b class='flag-5'>中</b>的<b class='flag-5'>高速緩存</b>使用情況

    德國(guó)建成歐洲首個(gè)量子計(jì)算機(jī)中

    IBM公司在德國(guó)Ehningen正式揭幕了其量子計(jì)算中心,標(biāo)志著該公司在歐洲的首個(gè)、全球第二個(gè)此類中心的誕生,活動(dòng)吸引了德國(guó)總理舒爾茨的出席。   這座位于Ehningen的計(jì)算機(jī)中心配備了
    的頭像 發(fā)表于 10-08 15:40 ?448次閱讀

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)的構(gòu)成

    計(jì)算機(jī)存儲(chǔ)系統(tǒng)是計(jì)算機(jī)中用于存放程序和數(shù)據(jù)的設(shè)備或部件的集合,它構(gòu)成了計(jì)算機(jī)信息處理的基礎(chǔ)。一個(gè)完整的計(jì)算機(jī)存儲(chǔ)系統(tǒng)通常包括多個(gè)層次的存儲(chǔ)器,從高速
    的頭像 發(fā)表于 09-26 15:25 ?798次閱讀

    寄存器和高速緩存有什么區(qū)別

    寄存器和高速緩存(Cache)都是計(jì)算機(jī)系統(tǒng)中用于存儲(chǔ)數(shù)據(jù)的重要組成部分,但它們?cè)诠δ堋⑽恢谩⑷萘俊⑺俣纫约笆褂梅绞缴洗嬖谥@著的區(qū)別。
    的頭像 發(fā)表于 09-10 14:32 ?1329次閱讀

    計(jì)算機(jī)中總線的作用是什么

    計(jì)算機(jī)中,總線(Bus)扮演著極其重要的角色,它是計(jì)算機(jī)內(nèi)部各功能部件之間傳送信息的公共通信干線。總線不僅連接了計(jì)算機(jī)的各個(gè)核心組件,還確保了數(shù)據(jù)、指令和控制信號(hào)的高效、準(zhǔn)確傳輸。
    的頭像 發(fā)表于 08-26 15:57 ?1251次閱讀

    邊沿觸發(fā)器在計(jì)算機(jī)中的應(yīng)用

    邊沿觸發(fā)器在計(jì)算機(jī)中的應(yīng)用極為廣泛,它們作為數(shù)字電路的基本單元,對(duì)于實(shí)現(xiàn)計(jì)算機(jī)內(nèi)部的時(shí)序控制、數(shù)據(jù)存儲(chǔ)與傳輸、以及復(fù)雜邏輯功能等方面起著至關(guān)重要的作用。以下將從邊沿觸發(fā)器的定義、特點(diǎn)、工作原理及其在
    的頭像 發(fā)表于 08-12 14:20 ?482次閱讀

    三態(tài)緩沖器在計(jì)算機(jī)中的應(yīng)用

    電路在不影響其他電路和總線的前提下,能夠靈活地控制其輸出狀態(tài)。以下將詳細(xì)探討三態(tài)緩沖器在計(jì)算機(jī)中的具體應(yīng)用,內(nèi)容將涵蓋其定義、優(yōu)勢(shì)以及在不同計(jì)算機(jī)子系統(tǒng)的具體作用。
    的頭像 發(fā)表于 08-02 17:48 ?1067次閱讀

    DRAM在計(jì)算機(jī)中的應(yīng)用

    DRAM(Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)在計(jì)算機(jī)系統(tǒng)扮演著至關(guān)重要的角色。它是一種半導(dǎo)體存儲(chǔ)器,用于存儲(chǔ)和快速訪問(wèn)數(shù)據(jù),是計(jì)算機(jī)主內(nèi)存的主要組成部分。以下是對(duì)DRAM在
    的頭像 發(fā)表于 07-24 17:04 ?1117次閱讀

    如何為T2G的CM7高速緩存啟用ECC?

    如何為 T2G 的 CM7 高速緩存啟用 ECC。
    發(fā)表于 07-02 07:57

    工業(yè)計(jì)算機(jī)與普通計(jì)算機(jī)的區(qū)別

    在信息化和自動(dòng)化日益發(fā)展的今天,計(jì)算機(jī)已經(jīng)成為了我們?nèi)粘I詈凸ぷ?b class='flag-5'>中不可或缺的工具。然而,在計(jì)算機(jī)領(lǐng)域中,工業(yè)計(jì)算機(jī)和普通計(jì)算機(jī)雖然都具備基
    的頭像 發(fā)表于 06-06 16:45 ?1367次閱讀

    純硅振蕩器兼容SiTime在邊緣計(jì)算機(jī)中的應(yīng)用

    純硅振蕩器兼容SiTime在邊緣計(jì)算機(jī)中的應(yīng)用
    的頭像 發(fā)表于 04-29 10:09 ?336次閱讀
    純硅振蕩器兼容SiTime在邊緣<b class='flag-5'>計(jì)算機(jī)中</b>的應(yīng)用

    【量子計(jì)算機(jī)重構(gòu)未來(lái) | 閱讀體驗(yàn)】+ 了解量子疊加原理

    )。通過(guò)邏輯門來(lái)執(zhí)行操作二進(jìn)制數(shù)據(jù),邏輯門是一種基本電路,它可以將一個(gè)或多個(gè)輸入轉(zhuǎn)換為輸出。邏輯門包括與門、或門、非門等等,將許許多多邏輯門組合起來(lái)就可以構(gòu)建復(fù)雜的電路來(lái)執(zhí)行各種操作,電子計(jì)算機(jī)中
    發(fā)表于 03-13 17:19

    一文了解CPU高速緩存

    CPU的核心功能包括數(shù)據(jù)運(yùn)算和指令控制。CPU運(yùn)算的數(shù)據(jù)和執(zhí)行的指令全部存儲(chǔ)在CPU的寄存器,這些數(shù)據(jù)和指令又都來(lái)自于CPU高速緩存
    的頭像 發(fā)表于 01-02 16:01 ?1559次閱讀
    一文了解CPU<b class='flag-5'>高速緩存</b>

    量子計(jì)算機(jī)的作用有哪些

    認(rèn)為是未來(lái)計(jì)算機(jī)技術(shù)的重要發(fā)展方向。 一、量子計(jì)算機(jī)的基本概念 量子計(jì)算機(jī)的核心是量子比特,與經(jīng)典計(jì)算機(jī)中的比特不同,量子比特可以同時(shí)處于0和1的狀態(tài),這種現(xiàn)象被稱為“疊加態(tài)”。此外,
    的頭像 發(fā)表于 12-30 14:32 ?1951次閱讀
    主站蜘蛛池模板: 成人国产在线不卡视频| 无码任你躁久久久久久老妇双奶| 99精品视频在线观看re| 两个人在线观看的视频720 | 男生插女生下体| 99久久精品全部| 欧美另类摘花hd| yellow在线观看免费观看大全 | 中文字幕在线视频在线看| 久久久精品国产免费A片胖妇女| 久草高清在线| 亚洲视频在线观看视频| 九九热伊人| 最美女人体内射精一区二区| 免费久久狼人香蕉网| 99久久亚洲综合精品| 欧洲精品不卡1卡2卡三卡四卡| 北条麻妃夫の友人196| 日日噜噜噜夜夜爽爽狠狠 | 男人网站在线| 超碰人热人人热人人看| 丝袜美女被啪啪不带套漫画| 国产人妻人伦精品59HHH| 亚洲三级在线中文字幕| 久久一本岛在免费线观看2020| 91麻豆久久| 日本美女靠逼| 国产强奷伦奷片| 一个人的视频在线观看免费观看 | 日产日韩亚洲欧美综合搜索| 国产成人无码视频一区二区三区| 亚洲 欧美 日韩 卡通 另类| 久久se精品一区二区国产| 91热久久免费精品99| 强姧伦久久久久久久久| 国产精品久久精品| 亚洲视频精品| 男人边吃奶边摸边做刺激情话| 粗好大用力好深快点漫画| 亚洲大片免费看| 两个女人互添下身高潮自视频|