摩爾定律還能走多遠?―― CPU 的內存瓶頸
在2002年之前,隨著芯片密度的增加, CPU的時鐘頻率也一直不斷增加。 對于普通消費者而言,CPU 的頻率就代表計算機的快慢。 1981年最早出廠的 IBM PC, CPU 的頻率是 4.77 兆赫, 相當于一秒鐘四百七十七萬個時鐘周期。 假設 CPU 一個時鐘周期可以運行一條指令, 頻率越高, 就算得越快。
本文引用地址:http://m.butianyuan.cn/article/201808/386099.htm1995年的奔騰芯片,時鐘頻率達到了 100 兆赫, 是 1980年的二十倍還多。
而到了 2002年, 英特爾新型奔騰芯片時鐘頻率第一次突破 3000 兆赫 (3 GHz)。
限制時鐘頻率的第一個主要物理約束條件是: 信號在晶體管之間傳輸?shù)倪t滯。 這也是為什么晶體管密度越大,時鐘頻率可以越高。
2002年之后, CPU 時鐘頻率增加遇到了第二個技術瓶頸: 能量消耗。
簡單說, CPU的能量消耗和時鐘頻率的三次方近似成正比, 在 3 Ghz 之后, 頻率的繼續(xù)提高會使芯片過熱而面臨被燒毀的風險。
實際上, 2002 年之后, 英特爾CPU 的時鐘頻率大多一直在 2 GHz - 4 GHz 之間, 十四年來沒有本質提高。
但時鐘頻率不再增長, 并不意味著 CPU 性能的停滯不前。 就像人類的大腦, 過去二十萬年沒有本質變化, 但并不意味著人類文明不會發(fā)生開天辟地的進步。
這時候,最有用的思路,是尋找新的維度,去進攻解決問題。
如果說, CPU的時鐘速度好比人腦的計算速度, 那么 CPU 的內存讀取速度就好比人獲取信息的速度。 這是提升 CPU 性能的第一個不同的維度。
有過基本工作或者研究經驗的人,都會有這樣的體會:
大多數(shù)時候,限制工作效率的瓶頸是: 查資料,找東西。
找不到就只能干著急。
二十年前的科研者,查資料要去圖書館,小圖書館沒有資料就要去更大的圖書館,沒有計算機檢索之前需要一張張翻卡片查。 查找資料的時間,動輒就是幾個小時甚至更多,超過了真正研究分析的時間。 這和今天,十秒鐘內就可以在互聯(lián)網上,精準搜索和下載世界上大部分論文資料,完全不可同日而語。
電腦的內存架構,實際上要細分為 Register (寄存器), Cache (高速緩存), Memory(內存), Disk (硬盤)。 而緩存又可以細分為一級緩存 (Level 1 Cache), 二級緩存, 三級緩存, 甚至四級緩存。
打個比方, 寄存器上的數(shù)據(jù),好比你手中那張紙上寫的信息, 信息量很少,但立等可取。
一級緩存, 好比桌面上的書, 信息量多一些, 伸一下手可以拿到;
二級緩存, 好比抽屜里的書,打開抽屜后仍然很快可以拿到;
內存,好比書架上的書,要站起來去查找;
硬盤,就是圖書館的資料,需要花幾個小時到外面跑一趟才可以查到了。
研究者,如果無法迅速獲取需要的資料,天天要往圖書館跑,即使牛頓/愛因斯坦再世, 聰明的腦瓜也只能像高速的 CPU 一樣, 無效地空轉, 痛苦地在來去圖書館的道路上等待。
以 Intel 的 i7-4770 CPU 為例,其時鐘頻率 3.4 GHz. 一級和二級緩存,讀取數(shù)據(jù)的延遲一般在 5 - 12個時鐘周期,相當于約 2-4 納秒。如果要到內存讀取數(shù)據(jù),遲滯則約 70 納秒,等價于200多個時鐘周期。如果內存找不到,不幸地要去硬盤搜索,延遲超過 4 毫秒 (等價于四百萬納秒),再快的 CPU 時鐘頻率, 此時也然并卵矣。
摩爾定律的發(fā)展,對于 CPU 的時鐘速度,和普通內存 (DRAM) 的讀取延遲上,進步速度是不一樣的。其差距每年以 50%的速度增長。
為了緩解這個矛盾,高速緩存 (Cache) 最早是以外置的形式出現(xiàn)在1985年的英特爾的 386的處理器上。
真正的芯片上的內置的緩存,最早是在1989年的 486處理器上出現(xiàn),當時容量只有 8 KB, 到九十年代容量提高到 16 KB.
緩存容量過大,會影響搜尋速度,所以又出現(xiàn)了二級, 三級緩存。 這里有很多微妙的設計細節(jié),此處不表。
緩存, 本質上就是以 SRAM (靜態(tài)隨機存儲器)為基礎的內存。 而SRAM, 本質上就是六個晶體管結構組成的邏輯單元, 如下圖。
隨著晶體管的小型化,芯片設計者就不斷在 CPU 芯片上增加更多的內置的高速緩存。
以 2015年九月英特爾出品的 14 納米 i7-6560U 處理器為例, 它有兩個內核 (core), 每個內核有 64 KB 的一級緩存, 256 KB 的二級緩存, 并共享一個 4 MB的三級緩存。
用于緩存的晶體管占整個CPU 芯片上的晶體管的比例,也從 486時代的 40%左右,到今天許多CPU上接近 90%. (數(shù)據(jù)出處來自威斯康辛大學 Doug Burger 的論文, “Syetem-level Implication of Processor Memory Integration” )
換句話說,計算的管理,將近90%的內涵, 實際上是對內存記憶的管理。
不管在什么行業(yè),如果做到了高效地搜尋和存儲海量的數(shù)據(jù), 你可能就已經成功了90%.
評論