『壹』 一級緩存、二級緩存、三級緩存各指什麼 高速緩沖與寄存對應哪一個
一級緩存(L1 Cache)二級緩存(L2 Cache)三級緩存(L3 Cache)都屬於高速緩存(Cache)
我們知道,CPU本身的寄存器只能存儲32個位元組,所以要使用數據的時候,必須要從內存里取出來才能使用。內存距離CPU非常遙遠,大約是10cm左右的樣子(笑)。CPU通過電信號告訴內存:「喂,內存,把1234號地址的數據給我送來。」而這樣電信號傳送的時間會很漫長,那麼CPU不得不等很長一段時間才可以繼續工作(大概比CPU工作的時間大個幾百倍)。而如果反復讀取同樣一個內存的數據,那麼不得不消耗很長一段時間。、
為了提高速度,CPU旁邊就裝了一個高速緩存。讀入內存的時候先告訴高速緩存xx地址的數值是yy,這樣再讀取同一個地址時直接利用高速緩存的數據,可以馬上回答出xx地址的數字是yy。寫入內存的時候也是先更新高速緩存然後才能寫入內存
。
一級緩存設在CPU內部,但是比起寄存器還是稍微遙遠一些。由於CPU很小,沒內存大,所以一級緩存就比內存小很多(笑),大概只有8KB-16KB
二級緩存在CPU之外,因為主板上的空間很大,所以二級緩存比一級緩存大得多(笑),大概是256KB-1MB左右,但是它的速度慢,因為它離CPU比較遠。二級緩存通常用作一級緩存與內存的交換空間
三級緩存更大,更慢
當CPU需要寫入內存的時候通常只更新三級緩存,如果數據寫入頻繁將會更新到二級乃至一級緩存
綜上所述,當CPU需要利用內存中的數據時,如圖所示:
『貳』 一二級緩存的位置分別是位於哪裡的
一二級緩存都在CPU內
『叄』 一級,二級緩存
這個問題很令人費解,不知道LZ是怎麼想的,那就先說一下電腦的工作原理:硬碟-內存—北橋—三級緩存(如有)—二級緩存—1級緩存。1。2級緩存幾乎包辦了85%的指令,緩存的提取速度很高,所以緩存越大電腦越快,他們本來就是同時工作的,試問有硬碟無內存機器能動么………
『肆』 一級緩存和二級緩存是什麼意思
一級緩存(Level
1
Cache)簡稱L1
Cache,位於CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存。由於一級緩存的技術難度和製造成本最高,提高容量所帶來的技術難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價比很低,而且現有的一級緩存的命中率已經很高,所以一級緩存是所有緩存中容量最小的,比二級緩存要小得多。
一般來說,一級緩存可以分為一級數據緩存(Data
Cache,D-Cache)和一級指令緩存(Instruction
Cache,I-Cache)。二者分別用來存放數據以及對執行這些數據的指令進行即時解碼,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。目前大多數CPU的一級數據緩存和一級指令緩存具有相同的容量,例如AMD的Athlon
XP就具有64KB的一級數據緩存和64KB的一級指令緩存,其一級緩存就以64KB+64KB來表示,其餘的CPU的一級緩存表示方法以此類推。
二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。
『伍』 一級緩存,二級緩存是什麼意思有什麼用
首先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數據緩存。一級指令緩存用於暫時存儲並向CPU遞送各類運算指令;一級數據緩存用於暫時存儲並向CPU遞送運算所需數據,這就是一級緩存的作用 那麼,二級緩存的作用又是什麼呢?簡單地說,二級緩存就是一級緩存的緩沖器:一級緩存製造成本很高因此它的容量有限,二級緩存的作用就是存儲那些CPU處理時需要用到、一級緩存又無法存儲的數據。同樣道理,三級緩存和內存可以看作是二級緩存的緩沖器,它們的容量遞增,但單位製造成本卻遞減。需要注意的是,無論是二級緩存、三級緩存還是內存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而餘下的二級緩存、三級緩存和內存僅用於存儲CPU所需數據。 根據工作原理的不同,目前主流處理器所採用的一級數據緩存又可以分為實數據讀寫緩存和數據代碼指令追蹤緩存2種,它們分別被AMD和Intel所採用。不同的一級數據緩存設計對於二級緩存容量的需求也各不相同,下面讓我們簡單了解一下這兩種一級數據緩存設計的不同之處。 一、AMD一級數據緩存設計 AMD採用的一級緩存設計屬於傳統的「實數據讀寫緩存」設計。基於該架構的一級數據緩存主要用於存儲CPU最先讀取的數據;而更多的讀取數據則分別存儲在二級緩存和系統內存當中。做個簡單的假設,假如處理器需要讀取「AMD ATHLON 64 3000+ IS GOOD」這一串數據(不記空格),那麼首先要被讀取的「AMDATHL」將被存儲在一級數據緩存中,而餘下的「ON643000+ISGOOD」則被分別存儲在二級緩存和系統內存當中 需要注意的是,以上假設只是對AMD處理器一級數據緩存的一個抽象描述,一級數據緩存和二級緩存所能存儲的數據長度完全由緩存容量的大小決定,而絕非以上假設中的幾個位元組。「實數據讀寫緩存」的優點是數據讀取直接快速,但這也需要一級數據緩存具有一定的容量,增加了處理器的製造難度(一級數據緩存的單位製造成本較二級緩存高)。 二、Intel一級數據緩存設計 自P4時代開始,Intel開始採用全新的「數據代碼指令追蹤緩存」設計。基於這種架構的一級數據緩存不再存儲實際的數據,而是存儲這些數據在二級緩存中的指令代碼(即數據在二級緩存中存儲的起始地址)。假設處理器需要讀取「INTEL P4 IS GOOD」這一串數據(不記空格),那麼所有數據將被存儲在二級緩存中,而一級數據代碼指令追蹤緩存需要存儲的僅僅是上述數據的起始地址(如下圖所示)。 由於一級數據緩存不再存儲實際數據,因此「數據代碼指令追蹤緩存」設計能夠極大地降CPU對一級數據緩存容量的要求,降低處理器的生產難度。但這種設計的弊端在於數據讀取效率較「實數據讀寫緩存設計」低,而且對二級緩存容量的依賴性非常大。 在了解了一級緩存、二級緩存的大致作用及其分類以後,下面我們來回答以下硬體一菜鳥網友提出的問題。 從理論上講,二級緩存越大處理器的性能越好,但這並不是說二級緩存容量加倍就能夠處理器帶來成倍的性能增長。目前CPU處理的絕大部分數據的大小都在0-256KB之間,小部分數據的大小在256KB-512KB之間,只有極少數數據的大小超過512KB。所以只要處理器可用的一級、二級緩存容量達到256KB以上,那就能夠應付正常的應用;512KB容量的二級緩存已經足夠滿足絕大多數應用的需求。 這其中,對於採用「實數據讀寫緩存」設計的AMD Athlon 64、Sempron處理器而言,由於它們已經具備了64KB一級指令緩存和64KB一級數據緩存,只要處理器的二級緩存容量大於等於128KB就能夠存儲足夠的數據和指令,因此它們對二級緩存的依賴性並不大。這就是為什麼主頻同為1.8GHz的Socket 754 Sempron 3000+(128KB二級緩存)、Sempron 3100+(256KB二級緩存)以及Athlon 64 2800+(512KB二級緩存)在大多數評測中性能非常接近的主要原因。所以對於普通用戶而言754 Sempron 2600+是值得考慮的。 反觀Intel目前主推的P4、賽揚系列處理器,它們都採用了「數據代碼指令追蹤緩存」架
『陸』 什麼是二級緩存和一級緩存,他們的高低決定什麼
這個問題比較復雜
首先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數據緩存。一級指令緩存用於暫時存儲並向CPU遞送各類運算指令;一級數據緩存用於暫時存儲並向CPU遞送運算所需數據,這就是一級緩存的作用
那麼,二級緩存的作用又是什麼呢?簡單地說,二級緩存就是一級緩存的緩沖器:一級緩存製造成本很高因此它的容量有限,二級緩存的作用就是存儲那些CPU處理時需要用到、一級緩存又無法存儲的數據。同樣道理,三級緩存和內存可以看作是二級緩存的緩沖器,它們的容量遞增,但單位製造成本卻遞減。需要注意的是,無論是二級緩存、三級緩存還是內存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而餘下的二級緩存、三級緩存和內存僅用於存儲CPU所需數據。
根據工作原理的不同,目前主流處理器所採用的一級數據緩存又可以分為實數據讀寫緩存和數據代碼指令追蹤緩存2種,它們分別被AMD和Intel所採用。不同的一級數據緩存設計對於二級緩存容量的需求也各不相同,下面讓我們簡單了解一下這兩種一級數據緩存設計的不同之處。
一、AMD一級數據緩存設計
AMD採用的一級緩存設計屬於傳統的「實數據讀寫緩存」設計。基於該架構的一級數據緩存主要用於存儲CPU最先讀取的數據;而更多的讀取數據則分別存儲在二級緩存和系統內存當中。做個簡單的假設,假如處理器需要讀取「AMD ATHLON 64 3000+ IS GOOD」這一串數據(不記空格),那麼首先要被讀取的「AMDATHL」將被存儲在一級數據緩存中,而餘下的「ON643000+ISGOOD」則被分別存儲在二級緩存和系統內存當中(如下圖所示)。
需要注意的是,以上假設只是對AMD處理器一級數據緩存的一個抽象描述,一級數據緩存和二級緩存所能存儲的數據長度完全由緩存容量的大小決定,而絕非以上假設中的幾個位元組。「實數據讀寫緩存」的優點是數據讀取直接快速,但這也需要一級數據緩存具有一定的容量,增加了處理器的製造難度(一級數據緩存的單位製造成本較二級緩存高)。
二、Intel一級數據緩存設計
自P4時代開始,Intel開始採用全新的「數據代碼指令追蹤緩存」設計。基於這種架構的一級數據緩存不再存儲實際的數據,而是存儲這些數據在二級緩存中的指令代碼(即數據在二級緩存中存儲的起始地址)。假設處理器需要讀取「INTEL P4 IS GOOD」這一串數據(不記空格),那麼所有數據將被存儲在二級緩存中,而一級數據代碼指令追蹤緩存需要存儲的僅僅是上述數據的起始地址(如下圖所示)。
由於一級數據緩存不再存儲實際數據,因此「數據代碼指令追蹤緩存」設計能夠極大地降CPU對一級數據緩存容量的要求,降低處理器的生產難度。但這種設計的弊端在於數據讀取效率較「實數據讀寫緩存設計」低,而且對二級緩存容量的依賴性非常大。
在了解了一級緩存、二級緩存的大致作用及其分類以後,下面我們來回答以下硬體一菜鳥網友提出的問題。
從理論上講,二級緩存越大處理器的性能越好,但這並不是說二級緩存容量加倍就能夠處理器帶來成倍的性能增長。目前CPU處理的絕大部分數據的大小都在0-256KB之間,小部分數據的大小在256KB-512KB之間,只有極少數數據的大小超過512KB。所以只要處理器可用的一級、二級緩存容量達到256KB以上,那就能夠應付正常的應用;512KB容量的二級緩存已經足夠滿足絕大多數應用的需求。
這其中,對於採用「實數據讀寫緩存」設計的AMD Athlon 64、Sempron處理器而言,由於它們已經具備了64KB一級指令緩存和64KB一級數據緩存,只要處理器的二級緩存容量大於等於128KB就能夠存儲足夠的數據和指令,因此它們對二級緩存的依賴性並不大。這就是為什麼主頻同為1.8GHz的Socket 754 Sempron 3000+(128KB二級緩存)、Sempron 3100+(256KB二級緩存)以及Athlon 64 2800+(512KB二級緩存)在大多數評測中性能非常接近的主要原因。所以對於普通用戶而言754 Sempron 2600+是值得考慮的。
反觀Intel目前主推的P4、賽揚系列處理器,它們都採用了「數據代碼指令追蹤緩存」架構,其中Prescott內核的一級緩存中只包含了12KB一級指令緩存和16KB一級數據緩存,而Northwood內核更是只有12KB一級指令緩存和8KB一級數據緩存。所以P4、賽揚系列處理器對二級緩存的依賴性是非常大的,賽揚D 320(256KB二級緩存)與賽揚 2.4GHz(128KB二級緩存)性能上的巨大差距就很好地證明了這一點;而賽揚D和P4 E處理器之間的性能差距同樣十分明顯。
最後,如果您是狂熱的游戲發燒友或者從事多媒體製作的專業用戶,那麼具有1MB二級緩存的P4處理器和具有512KB/1MB二級緩存的Athlon 64處理器才是您理想的選擇。因為在高負荷的運算下,CPU的一級緩存和二級緩存近乎「爆滿」,在這個時候大容量的二級緩存能夠為處理器帶來5%-10%左右的性能提升,這對於那些要求苛刻的用戶來說是完全有必要的。
『柒』 mysql 一級緩存和二級緩存的區別
一、Session緩存(又稱作事務緩存):Hibernate內置的,不能卸除。
緩存范圍:緩存只能被當前Session對象訪問。緩存的生命周期依賴於Session的生命周期,當Session被關閉後,緩存也就結束生命周期。
Hibernate一些與一級緩存相關的操作(時間點):
數據放入緩存:
1. save()。當session對象調用save()方法保存一個對象後,該對象會被放入到session的緩存中。
2. get()和load()。當session對象調用get()或load()方法從資料庫取出一個對象後,該對象也會被放入到session的緩存中。
3. 使用HQL和QBC等從資料庫中查詢數據。
二、SessionFactory緩存(又稱作應用緩存):使用第三方插件,可插拔。
『捌』 寄存器,一級緩存,二級緩存,三級緩存分別在哪裡
在哪裡都是可以的,不同的系統,不同的設計思想而已。
以PC為例,早期的386隻有一級緩存,在CPU外面;從486開始,CPU內部集成了一級緩存,於是片外的就叫做二級緩存。
對於現在多核的CPU,每個核有自己的Cache(一級緩存),晶元還有一個面向每個核的Cache(二級緩存),於是片外的就叫做三級緩存了。
理論上講,完全可以把那個二級緩存拿到片外來(有的CPU設計就是這樣的),甚至把1、2、3級緩存都拿到片外來也是可以的,只是性能不好沒人採用而已。
『玖』 cdn的一級緩存,二級緩存是什麼意思
Hibernate的緩存包括Session的緩存和SessionFactory的緩存,其中 SessionFactory的緩存又可以分為兩類:內置緩存和外置緩存。Session的緩 存是內置的,不能被卸載,也被稱為Hibernate的第一級緩存。 SessionFactory的內置緩存和Session的緩存在實現方式上比較相似,前者是 SessionFactory對象的一些集合屬性包含的數據,後者是指Session的一些集 合屬性包含的數據。SessionFactory的內置緩存中存放了映射元數據和預定義 SQL語句,映射元數據是映射文件中數據的拷貝,而預定義SQL語句是在 Hibernate初始化階段根據映射元數據推導出來,SessionFactory的內置緩存 是只讀的,應用程序不能修改緩存中的映射元數據和預定義SQL語句,因此 SessionFactory不需要進行內置緩存與映射文件的同步。SessionFactory的 外置緩存是一個可配置的插件。在默認情況下,SessionFactory不會啟用這個 插件。外置緩存的數據是資料庫數據的拷貝,外置緩存的介質可以是內存或者硬 盤。SessionFactory的外置緩存也被稱為Hibernate的第二級緩存。
『拾』 電腦CPU所謂的,一級二級三級緩存分別在什麼位置
CPU中緩存是為了加快CPU讀取數據的速度,也是為了給內存一個緩沖期。因為CPU運算速度太快了,光靠內存讀寫完全跟不上,而CPU緩存的數據交換比內存快多了,大部分時候CPU可以直接從緩存讀取數據,找不到的話再從內存讀取,這樣可以節省CPU讀取內存數據時浪費的時間。
CPU緩存分為三類,一級緩存(L1)、二級緩存(L2)和三級緩存(L3)。CPU在實際數據讀取中重要的卻是一級緩存,因為一級緩存速度最快,二級緩存其次,三級緩存最慢,只是三級緩存的容量最大。
(10)資料庫一級和二級緩存地址擴展閱讀:
一級緩存雖然速度最快,但容量最小,單位都是KB,不同CPU之間一級緩存沒有差距,所以現在不怎麼提了,二級緩存容量也不大,基本都是個位數MB,除了一些伺服器CPU會有10幾MB之外,現在CPU也不怎麼提二級緩存。CPU讀取緩存時會先從一級緩存開始,然是二級緩存,而讀取二級緩存有時候會出現數據未命中的情況,這時候就需要從三級緩存讀取。
但是要注意的是三級緩存越大並不一定說這個CPU性能就越強,因為三級緩存的容量還依靠CPU架構和工藝等方面的影響,如果是與架構工藝搭配升級的三級緩存,容量越大才會性能越高。