成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

突破計算機性能瓶頸的利器CPU Cache

商務辦公
本文簡單介紹了計算機性能瓶頸產生的原因,緩存及其發展歷史,最后講解了緩存彌補CPU和內存性能差異的原理,后面我們會繼續更詳細深入地介紹Cache的組織結構、緩存一致性,以及如何利用緩存提升我們代碼的性能等。

大家好,我是呼嚕嚕,今天我們來介紹計算機的儲存器之一,CPU高速緩沖存儲器也叫高速緩存,CPU Cache

緩存這個專業術語,在計算機世界中是經常使用到的。它并不是CPU所獨有的,比如cdn緩存網站信息,瀏覽器緩存網頁的圖像視頻等,但本文講述的是狹義Cache,主要指的是CPU Cache,本文將其簡稱為"緩存"或者"Cache"

計算機性能的瓶頸

在馮諾依曼架構下,計算機存儲器是分層次的,存儲器的層次結構如下圖所示,是一個金字塔形狀的東西。從上到下依次是寄存器、緩存、主存(內存)、硬盤等等

圖片圖片

離CPU越近的存儲器,訪問速度越來越快,容量越來越小,每字節的成本也越來越昂貴

比如一個主頻為3.0GHZ的CPU,寄存器的速度最快,可以在1個時鐘周期內訪問,一個時鐘周期(CPU中基本時間單位)大約是0.3納秒,內存訪問大約需要120納秒,固態硬盤訪問大約需要50-150微秒,機械硬盤訪問大約需要1-10毫秒,最后網絡訪問最慢,得幾十毫秒左右。

這個大家可能對時間不怎么直觀,那如果我們把一個時鐘周期如果按1秒算的話,那寄存器訪問大約是1s,內存訪問大約就是6分鐘 ,固態硬盤大約是2-6天 ,傳統硬盤大約是1-12個月,網絡訪問就得幾年了!我們可以發現CPU的速度和內存等存儲器的速度,完全不是一個量級上的。

電子計算機剛出來的時候,其實CPU是沒有緩存Cache的,那個時候的CPU主頻很低,甚至沒有內存高,CPU都是直接讀寫內存的

隨著時代的發展,技術的革新,從1980年代開始,差距開始迅速擴大,CPU的速度遠遠超過內存的速度,在馮諾依曼架構下,CPU訪問內存的速度也就成了計算機性能的瓶頸!!!

圖片圖片

DRAM為內存顆粒,也叫動態隨機存取存儲器, 圖片來源于:How L1 and L2 CPU Caches Work, and Why They're an Essential Part of Modern Chips

為了彌補CPU與內存兩者之間的性能差異,也就是要加快CPU訪問內存的速度,就引入了緩存CPU Cache,緩存的速度僅次于寄存器,充當了CPU與內存之間的中間角色

緩存及其發展歷史

緩存CPU Cache用的是 SRAM(Static Random-Access Memory)的芯片,也叫靜態隨機存儲器。其只要有電,數據就可以保持存在,而一旦斷電,數據就會丟失。

CPU Cache 如今通常分為大小不等的3級緩存,分別是 L1 Cache、L2 Cache 和 L3 Cache

圖片圖片

我們可以發現越靠近 CPU 核心的緩存,其訪問速度越快,其大小越來越小,其制造成本也越昂貴,常見的Cache典型分布圖如下:

圖片圖片

回顧Cache發展歷史,我們可以發現Cache其實一開始并不是在CPU的內部,我們這里以Intel系列為例

在80286之前,那個時候是沒有緩存Cache的,那個時候的CPU主頻很低,甚至沒有內存高,CPU都是直接讀寫內存的

從80386開始,這個CPU速度和內存速度不匹配問題已經開始展露,并且差距開始迅速擴大,慢速度的內存成為了計算機的瓶頸,無法充分發揮CPU的性能,為解決這個問題,Intel主板支持外部Cache,來配合80386運行

圖片圖片

80486將L1 Cache(大小8KB)放到CPU內部,同時支持外接Cache,即L2 Cache(大小從128KB到256KB),但是不分指令和數據Cache

圖片圖片

雖然L1 Cache大小只有8KB,但其實對那時候CPU來說夠用了,我們來看一副緩存命中率與L1、L2大小的關系圖:

圖片圖片

圖片來源于:How L1 and L2 CPU Caches Work, and Why They're an Essential Part of Modern Chips

從上圖我們可以發現,增大L1 cache對于CPU來說好處不太明顯,緩存命中率并沒有顯著提升,成本還會更昂高,所以性價比不高。

而隨著 L2 cache 大小的增加,緩存總命中率會急劇上升,因此容量更大、速度較慢、更便宜的L2成為了更好的選擇

等到Pentium-1/80586,也就是我們熟悉的奔騰系列,由于Pentium采用了雙路執行的超標量結構,有2條并行整數流水線,需要對數據和指令進行雙重的訪問,為了使得這些訪問互不干涉,于是L1 Cache被一分為二,分為指令Cache和數據Cache(大小都是8K),此時的L2 Cache還是在主板上,再后來Intel推出了Pentium Pro/80686,為了進一步提高性能L2 Cache被正式放到CPU內部

圖片圖片

后來CPU多核時代來臨,Intel的Pentium D、Pentium EE系列,CPU內部每個核心都有自己的L1、L2 Cache,但他們并不共享,只能依靠總線來傳遞同步緩存數據。最后Core Duo酷睿系列的出現,L2 Cache變成多核共享模式,采用Intel的“Smart cache”共享緩存技術,到此為止,就確定了現代緩存的基本模式如今CPU Cache 通常分為大小不等的3級緩存,分別是 L1 Cache、L2 Cache 和 L3 Cache,L3 高速緩存為多個 CPU 核心共用的,而L2則被每個核心單獨占據,另外現在有的CPU已經有了L4 Cache,未來可能會更多

緩存如何彌補CPU與內存的性能差異?

我們可以思考一個問題:緩存是如何彌補CPU與內存兩者之間的性能差異?

緩存主要是利用局部性原理,來提升計算機的整體性能。因為緩存的性能僅次于寄存器,而CPU與內存兩者之間的產生的分歧,主要是二者存取速度數量級的差距,那盡可能多地讓CPU去存取緩存,同時減少CPU直接訪問主存的次數,這樣計算機的性能就自然而然地得到巨大的提升

所謂局部性原理,主要分為空間局部性與時間局部性:

  1. 時間局部性:被引用過一次的存儲器位置在未來會被多次引用(通常在循環中)。
  2. 空間局部性:如果一個存儲器的位置被引用,那么將來他附近的位置也會被引用

緩存這里,會去把CPU最近訪問主存(內存)中的指令和數據,臨時儲存著,因為根據局部性原理,這些指令和數據在較短的時間間隔內很可能會被以后多次使用到,其次是當從主存中取回這些數據時,會同時取回與其位置相鄰的主存單元的存放的數據 臨時儲存到緩存中,因為該指令和數據附近的內存區域,在較短的時間間隔內也可能會被多次訪問。

那以后CPU去訪問這些指令和數據時,首先去命中L1 Cache,如果命中會直接從對應的緩存中取數據,而不必每次去訪問主存,如果沒命中,會再去L2 Cache中找,依次類推,如果L3 Cache中不存在,就去內存中找。

尾語

本文簡單介紹了計算機性能瓶頸產生的原因,緩存及其發展歷史,最后講解了緩存彌補CPU和內存性能差異的原理,后面我們會繼續更詳細深入地介紹Cache的組織結構、緩存一致性,以及如何利用緩存提升我們代碼的性能等

參考資料:

https://www.extremetech.com/extreme/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips

http://www.cpu-zone.com/80486.htm

責任編輯:武曉燕 來源: 小牛呼嚕嚕
相關推薦

2023-08-02 09:28:28

計算機性能CPU

2023-03-02 07:49:38

2015-07-02 09:47:36

超級計算機大數據

2021-01-04 08:40:47

計算機AI 技術

2010-06-22 13:11:18

超級計算機未來

2016-12-01 14:34:00

2023-09-28 09:00:00

2009-11-25 13:43:02

CDN內容分布網絡

2009-07-02 15:55:03

2010-10-19 13:36:23

自旋計算機

2024-01-25 16:19:27

2013-05-22 13:06:14

aerohive協同控制WLAN

2023-12-18 14:55:00

Oracle數據庫監控

2019-08-13 08:32:14

MySQL數據庫性能調優

2020-04-22 11:11:48

Decoder性能應用

2021-06-11 07:26:16

操作系統內存管理Cpu

2011-07-07 10:52:37

IBM記憶體

2025-05-19 09:20:08

2012-05-29 15:30:31

計算機

2024-12-31 08:16:15

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97精品超碰一区二区三区 | 天天干夜夜 | 福利片一区二区 | 亚洲婷婷一区 | 99草免费视频 | 久久中文视频 | 国产午夜精品一区二区三区四区 | 一区二区三区四区在线 | 伊人看片| 三级成人片 | 久久99精品国产自在现线小黄鸭 | 91成人在线 | 精品乱码一区二区 | 成人在线免费 | 日本免费在线 | 成人国产精品久久 | 亚洲一区二区免费看 | 亚洲一区二区三区久久久 | 午夜成人在线视频 | 国产免费让你躁在线视频 | 91在线看 | 国产一区二区三区在线视频 | 成人妇女免费播放久久久 | 亚洲精美视频 | 国产一区二区精 | 久久国产成人 | 91文字幕巨乱亚洲香蕉 | 成人精品在线观看 | 免费一区 | 亚洲高清av在线 | 黄网站在线播放 | 欧美综合精品 | 一区二区三区亚洲 | 91久久久久久| 欧美精品一区二区三区在线 | 久久久国产一区二区三区 | 国产精品久久网 | 久久久精品网 | 紧缚调教一区二区三区视频 | 亚洲一区欧美一区 | 亚洲成人福利在线观看 |