摩爾定律還能走多遠?—— CPU 的內(nèi)存瓶頸
在2002年之前,隨著芯片密度的增加, CPU的時鐘頻率也一直不斷增加。 對于普通消費者而言,CPU 的頻率就代表計算機的快慢。 1981年最早出廠的 IBM PC, CPU 的頻率是 4.77 兆赫, 相當(dāng)于一秒鐘四百七十七萬個時鐘周期。 假設(shè) CPU 一個時鐘周期可以運行一條指令, 頻率越高, 就算得越快。
本文引用地址:http://www.ex-cimer.com/article/201608/294834.htm1995年的奔騰芯片,時鐘頻率達到了 100 兆赫, 是 1980年的二十倍還多。
而到了 2002年, 英特爾新型奔騰芯片時鐘頻率第一次突破 3000 兆赫 (3 GHz)。
限制時鐘頻率的第一個主要物理約束條件是: 信號在晶體管之間傳輸?shù)倪t滯。 這也是為什么晶體管密度越大,時鐘頻率可以越高。
2002年之后, CPU 時鐘頻率增加遇到了第二個技術(shù)瓶頸: 能量消耗。
簡單說, CPU的能量消耗和時鐘頻率的三次方近似成正比, 在 3 Ghz 之后, 頻率的繼續(xù)提高會使芯片過熱而面臨被燒毀的風(fēng)險。
實際上, 2002 年之后, 英特爾CPU 的時鐘頻率大多一直在 2 GHz - 4 GHz 之間, 十四年來沒有本質(zhì)提高。
但時鐘頻率不再增長, 并不意味著 CPU 性能的停滯不前。 就像人類的大腦, 過去二十萬年沒有本質(zhì)變化, 但并不意味著人類文明不會發(fā)生開天辟地的進步。
這時候,最有用的思路,是尋找新的維度,去進攻解決問題。
(2)
如果說, CPU的時鐘速度好比人腦的計算速度, 那么 CPU 的內(nèi)存讀取速度就好比人獲取信息的速度。 這是提升 CPU 性能的第一個不同的維度。
有過基本工作或者研究經(jīng)驗的人,都會有這樣的體會:
大多數(shù)時候,限制工作效率的瓶頸是: 查資料,找東西。
找不到就只能干著急。
二十年前的科研者,查資料要去圖書館,小圖書館沒有資料就要去更大的圖書館,沒有計算機檢索之前需要一張張翻卡片查。 查找資料的時間,動輒就是幾個小時甚至更多,超過了真正研究分析的時間。 這和今天,十秒鐘內(nèi)就可以在互聯(lián)網(wǎng)上,精準(zhǔn)搜索和下載世界上大部分論文資料,完全不可同日而語。
電腦的內(nèi)存架構(gòu),實際上要細分為 Register (寄存器), Cache (高速緩存), Memory(內(nèi)存), Disk (硬盤)。 而緩存又可以細分為一級緩存 (Level 1 Cache), 二級緩存, 三級緩存, 甚至四級緩存。
打個比方, 寄存器上的數(shù)據(jù),好比你手中那張紙上寫的信息, 信息量很少,但立等可取。
一級緩存, 好比桌面上的書, 信息量多一些, 伸一下手可以拿到;
二級緩存, 好比抽屜里的書,打開抽屜后仍然很快可以拿到;
內(nèi)存, 好比書架上的書, 要站起來去查找;
硬盤, 就是圖書館的資料,需要花幾個小時到外面跑一趟才可以查到了。
研究者,如果無法迅速獲取需要的資料,天天要往圖書館跑,即使牛頓/愛因斯坦再世, 聰明的腦瓜也只能像高速的 CPU 一樣, 無效地空轉(zhuǎn), 痛苦地在來去圖書館的道路上等待。
以 Intel 的 i7-4770 CPU 為例, 其時鐘頻率 3.4 GHz. 一級和二級緩存,讀取數(shù)據(jù)的延遲一般在 5 - 12個時鐘周期,相當(dāng)于約 2-4 納秒。如果要到內(nèi)存讀取數(shù)據(jù), 遲滯則約 70 納秒, 等價于200多個時鐘周期。 如果內(nèi)存找不到, 不幸地要去硬盤搜索,延遲超過 4 毫秒 (等價于四百萬納秒),再快的 CPU 時鐘頻率, 此時也然并卵矣。
評論