多核之後,CPU 的發展方向是什麼?


Multicore(多核心)其實很早就應用在Dsp晶元組(基站里會看到很多很多)了,所以不能說這是當前CPU最前沿的理念。多核也並不代表CPU的進化,核心數絕不是CPU的發展方向。因為無論是什麼世代,多核都是一個可用的方案,也就是說,未來都可能一直沿用這個設計理念。當然,今後的多核,每個核的分工會細化,包括現在已經出現的big.little就可見一斑。

多核處理器的始祖,Hydra結構。

對於多核體系,關注更多的是NoC片上網路),屬於晶元設計/演算法的範疇,該領域會不斷優化核與核之間的通信,通過非同步的高速通信鏈接各個處理單元。因此,communication及netwoer領域正在向晶元尺度進一步入侵,學好微機理論對於各個方向都十分重要。

既然多核並不代表CPU的發展方向,那CPU的發展方向又是什麼呢?

-----------------------------

CPU再具有主導地位,也只是半導體晶元中一個成員,一個系統里的一部分。

我先從半導體製程角度寫(因為沒好好學設計),再從設計角度做個介紹:

CPU的發展方向是:CPU會消失。

下面我將一步一步闡述這個觀點

---------------------------------------------

短期而言(近5年),商用CPU的發展,在於SoC。

多核應用在CPU,其實是在晶片尺度接近物理極限下,功耗/散熱/延遲/設計複雜度等問題遇到瓶頸時,為了滿足摩爾定律無奈之舉。而摩爾定律本身是一個經驗公式,在摩爾大神提出以後,業界為了滿足這個共識而不斷壓榨,以符合摩爾定律。而當特徵尺寸不斷縮小,以至於半導體物理基本假設失效,現有科技無法再有效地縮小晶體管尺寸,不得已才擴大晶元本身的數目。

而SoC,簡單來說就是將眾多個核集成到一片上來,並且同時將內存等也集成到一起。Soc的極致,就是將碩大的一個電腦機箱微縮到一塊晶元的大小。

而就目前3-5年而言,一種介於製程和封裝間的技術---3D IC(三維集成電路)將逐步普及市場。三維集成電路其實很容易理解,如果說之前的晶元都是平房的話,三維晶元就是高樓,將幾個平房疊在一起。本身也是一種Soc的集成方式,相較於之前的多核體系,減小了導線長度和延時及功耗。對於CPU而言,暫時還沒有達到3D IC的範疇,暫時是只有成熟的FPGA和DRAM產品出現。3D IC的發展,大大增加了SoC的可行性。

3D集成發展地圖

3D結構與NoC關係

Interconnect-Based Design Methodologies for Three-Dimensional Integrated Circuits Vol. 97, No. 1, January 2009 | Proceedings of the IEEE

無疑的,3D IC將在物理層面大大滿足NoC的需求,TSV(硅穿孔)連接能使得整個網路的wire length(導線長度)大大縮短,能夠解決RC Delay(理解成導線中電阻電容所帶來的延遲就好了)所帶來的困難,大大優化片上系統的綜合能力。要說明,未來的3D IC絕不會止步於將現有的2D晶元垂直整合。

當然,3D IC現在還面臨這散熱等諸多問題有待解決,但堅信其實能夠成功市場化的工藝。如果散熱問題能夠得到很好的解決,未來的CPU將不再需要風扇,可惜散熱實在是一個難題。

短期考慮,降功耗,新製程和新的設計將會是新CPU產品的買點,但已經臨近質的改變的地步了。

為3D整合的未來舉個栗子:

這張圖是蘋果A6晶元,未來通過3D互聯技術,我們可以講圖中水平放置的各個模塊垂直整合到僅有紅色區域那麼大的面積下,並且厚度並不會增加。

對於更底層的半導體製程,Ivy Bridge的出現,代表FinFET開始大行其道,而HKMG技術的不斷成熟,使得更高效能的晶片得以實現。去年12月的iedm已經見證了三星早存儲領域的霸者地位,intel也展示了完整的Soc解決方案,IBM推出的ETSOI也十分值得關注。相信在今年6月的VLSI大會也會帶來許多驚喜。個人對於蘋果A7晶元也是期待。

FinFET。資料來源:Intel。

在一個3D的晶元中,隨著高頻技術的發展,層與層的互聯甚至很可能將出現通過光子傳遞信息。

尺度的進一步縮減是必然,因為這能夠降低成本與增加規模。也正是因此,使得IC產業走上兩條交疊的道路(The Moore』s Low和More than Moore ),3D IC或許可以解決燃眉之急,然而無法從根本上解決量子效應對半導體物理所帶來的困擾。因此,要從根本上解決這個問題,就要從量子層面,甚至從第一性原理出發,而不是再繼續使用半導體物理的近似公式。

而對於Si所面臨的窘境,新材料的研究似乎是必須的,如若出現一種近乎完美的材料,未來會發生什麼實在是難以預料。

CPU的發展也並不是孤立的,它需要與存儲單元等相依相伴,對於下一世代的存儲單元(如MRam,PCRam,R-Ram等),我們同樣滿懷期待,由於存儲單元的物理結構交CPU而言簡單,因此,最先進的半導體工藝會率先應用在記憶體(內存)上面,可以多多關注。

在可以預見的未來,如果能夠研發出一款同時滿足cache和內存的需求的產品(或flash或ram或是一個新的什麼),將內存集成到CPU里是必須的,然後可以一步步集成更多的單元。(這是自頂向下,也可以自底而上集成)

上圖是台積電的研究計劃。應該清楚的是,台積電所決定投入的,基本上是能做到風險最低,良率最高。

長遠考量,半導體晶片可以依賴於:新型材料的發展(如CNTs及Graphene等),生物晶片(DNA晶片等),量子計算,光子晶元等,這個太遠了,我了解不深,但是對於其的研究在世界頂級學術單位正如火如荼地進行著。

同時,預計以Graphene(石墨烯)為代表的二維材料(各種納米線,MoS等)會在十年內商用,因為其性能實在是太好了,但我並不看好Si會被C徹底取代。因為對於業界而言,換代的成本太大。

-------------------------------------------

以上只是從工藝角度出發。而從設計的角度出發會更加生動直觀:

中央處理器的性能和速度取決於時鍾頻率(一般以赫茲計算,即Ghz )和每周期可處理的指令。

摩爾定律所引起的發展,將帶來越來越快的時鐘頻率(就是我們買CPU時所關注的XX GHz),而隨著半導體技術的發展,使得一個PE(processing element處理單元)能夠在一個時鐘周期內完成信息的傳輸與處理。

在物理層能夠滿足PE間高效通信的前提下,每個PE所處理的對象不斷細化,多核體系下的每個核各司其職,與許多存儲單元新羅棋布地布局在同一層晶元上,在這層薄片上又bond(接合)著另外一層類似的晶元,處理著不同的信息,不需要匯總。這個時候,我們已經真正分不清哪裡是CPU,哪裡是GPU,哪裡是cache,哪裡是ram,哪裡是analog,哪裡是IO,哪裡是sensor……

這個時候,我們已經很難說一塊SoC晶元,到底是什麼了,有許多模塊,CPU只是其中的一部分,一個個集成的處理單元。並且每個處理單元都分散在晶元的各個角落。

最終,各種IP模塊的競爭會很激烈,Intel和arm的競爭將持續,屆時我們也可以看看究竟精簡指令集能夠得到怎樣的發展。對於構架方面實在沒學好,敬請指教。

最後吐槽一句,電池啊電池,發展的快一點吧~~

-----

這些內容網路上有很多,我就自己所知想到一點寫一點,所以看起來會有點混亂。

如想更深入了解當今做前沿可實現的解決方案,不妨關注以下會議:ISSCC,IEDM和ECTC。

重點關注機構:IBM,Intel,samsung,micron,IMEC。

-------

含有一些個人猜測,轉載請通知,謝謝。


首先解釋幾個概念:

  1. CPU - 中央處理器,是計算機的主要部件,負責解釋計算機指令以及處理計算機軟體中的數據 [1]。CPU 可以是一塊獨立的晶元或是晶元上的一部分。
  2. SoC - System on Chip 片上系統,指的是 「將計算機或其他電子系統集成到單一晶元的集成電路」 [2]。SoC 往往包括 CPU,GPU,DSP 以及連接各個部件的匯流排。SoC 的出現更多是為了解決集成度的問題。近年來 SoC 的快速發展和手機,平板等消費電子產品的大規模普及直接相關,而未來 SoC 是解決 Dark Silicon [3] 的一個主要方向。

由此出發有幾個結論:

  1. CPU 不會消失,只是獨立售賣 CPU 晶元的情況會逐漸減少。於是會有 Intel 和 AMD 的賣 CPU 送 GPU,高通的賣基帶送 CPU,老黃的賣 GPU 送 CPU,TI 的賣 DSP 送 CPU。
  2. CPU 的設計能力,特別是設計大規模量產 CPU 的能力仍然掌握在少數公司手裡,即 Intel, ARM 等。而國內最近興起的各種 SoC (海思,瑞星微)不過是集成 ARM 提供的 IP 而已,與設計 CPU 沒有任何關係。

那麼 CPU 的發展趨勢是什麼呢?我的答案是異構計算。

什麼是異構計算?異構計算類似於當前的 SoC,即在同一塊晶元上集成各種專有處理單元,可以是通用的標量、向量計算單元,也可以是專用電路,DSP,甚至是 FPGA。那麼異構和現在的 SoC 又有什麼區別呢?主要區別在於 1)統一定址,晶元上的所有部件共享同一地址空間,並實現完全的緩存一致性(Full Coherence);2)NoC,片上網路,晶元上所有模塊按照標準的協議進行通信,由專門的部件實現路由,類似於常見的網路拓撲。3)更多的專用 IP,也就是更多的專用部件,可以是處理圖像的,可以是處理文字的,甚至是用來做 Deep Learning 的。

[1]: 中央處理器

[2]: 系統晶元

[3]: Dark silicon and the end of multicore scaling


SOC野蠻擴張,主板被邊緣化,未來屬於NOC!

嗎?!


製程走到今日,目之所及scaling down已經開始不再經濟了,沒有了每代工藝進步帶來的free transistor,我覺得未來應該開始用手上現有的資源在體系結構上來精打細算了。多核是方向,異構多核還是個挺有趣的話題,要讓應用放在最適合的體系架構上來跑,不管是CPU、GPU還是DSP,在SoC裡面把他們放進去是一回事,把每個core都用好又是另一個更大的挑戰了,怎麼在不影響上層編程體驗的前提下,用好這些核,這個應該是個好坑吧


對於CPU(或者我們更加願意說SOC)有幾個層面的考量:

  1. CPU core 的設計能力;譬如 Intel/AMD 可以設計 X86 核心的處理器,Cavium/Broadcom 可以設計 MIPS64 核心的處理器,IBM/Freescale 設計 PowerPC 核心的處理器,還有一些客戶設計 ARM32 核心的和/或 ARM64核心的廠商

  2. 片內多個core之間的互聯能力:單核的能力總是會有瓶頸的一個點,隨著超標量、多線程、亂序執行等技術,power efficiency 並不一定能得到很好的提升,CPU 的主頻也沒有辦法無限度的提升,所以這樣子,如果做一個多個core的處理器(SOC),多個core之間的互聯、一致性、可擴展性、性能線性增長等都不是一個容易的事情

  3. 單片晶元也是沒有辦法無限度的擴展自己的面積的,所以片間的互聯能力也是非常重要的,這裡有兩個層面上的

  • SMP 互聯網的技術,類似 Intel 的 QPI、AMD 的 HT、Cavium 的 OCI 等,可以將兩個socket或者四個socket通過這個一致性的匯流排互連起來,可以運行 SMP OS 進行統一的調度管理;
  • 非一致性的互聯網技術,譬如通過 Mesh/3D Torus 等技術把 CPU 模塊連起來,組成一個網路


走上多核之路就是開啟另一扇門

直接的性能提升已經沒有了

未來的軟體被要求在越來越多的核上達到性能上的提升

現在的核還不夠多,至少上百個再往別的方向發展吧


我從未來的 SoC 會為消費者帶來什麼來說一說。。。

1

20nm 或 16nm 工藝

電池沒有突破的時候,功耗上多努力吧。

2

多核心的動態調用和優化

現在的 little-big ( MX3 所用 CPU 採用這個技術)已經證明可以更有效的平衡功耗和性能。

所以下一代 CPU 會支持 8 核心的全動態調用,開一核兩核到 N 核,甚至可以組合不同架構的多核心配合。比如 MTK 的 6595 。不同架構的設計傾向性不一樣, 多核心的動態調用可以真正釋放多架構 8 核心的威力。

3

更強大的 GPU

隨著系統設計更立體,更多動態效果(比如 iOS7 的分層和毛玻璃特效),還有屏幕解析度的不斷提升, GPU 還仍然需要不斷進步。

4

整合更多功能

各種功能都整合到 SoC 上好處很多,比如 modem ,GPS,協處理器等等。

5

小型化

手機內部還是寸土寸金的。 SoC 更小可以留出更多空間給電池,鏡頭組,天線這些難以壓縮體積的零件。

6

64 位

若軟體配合的好,還是能在某些情況下顯著提高性能的。

7

常用演算法的硬體加速

相信越來越多的常用演算法可以在硬體層面直接支持。也可以顯著提升性能,在功耗上也有好處。

利益相關:魅族員工


發展到四核之後,再多的核和再高的頻率對普通用戶和半數以上的專業用戶來說其實意義不大了,可以考慮往這些方面發展

1.節能,在計算能力過剩的情況下關閉部分核心和降低頻率

2.增加cpu的高速緩存,大緩存對cpu來說很重要


其實架構上對性能的提升雖然明顯,但是工藝的進步更加可期,目前intel說要突破硅的物理極限,不知道它要怎麼做。

坐等碳工藝成熟之後摩爾定律再續神話

真懷疑intel是不是得到外星人幫助了?

o(╯□╰)o o()^))o ╮(╯_╰)╭

╮(╯﹏╰)╭ ╮(╯▽╰)╭


CPU的發展方向是:CPU會消失。這個我同意,就像滑鼠一樣,最後也會被取代


以後會發展類似大腦的神經元處理器。這方面IBM已經探索了很多年了。

IBM通過超級計算機模擬出相當於5千億神經元以及137億神經突觸的計算架構系統。系統的運行速度相比於人腦要慢1542倍,例如人腦需要1s思考處理的問題,這套系統則需要1542秒,根據計劃在2019年IBM將會利用88萬CPU,研製出與人腦速度相當的模擬人腦系統。

5千億神經元 IBM超級計算機模擬人類大腦


永遠的主題是一定功耗下的性能最大化。

今年的一顆cpu是100W,

等到明年廠商可以把它做到50W的時候,

它會給cpu升頻率,加電壓,讓它還是100W,

然後性能提高一大截。


這兩年除了工藝上升之後幾乎沒有其它的什麼了、cpu的性能已經到了過剩的程度了


光運算


下一步肯定是眾核,同時還會混合異構計算和可重構計算的一些技術。

CPU的發展基本上就是照抄超級計算機的架構:下一代的CPU就是這一代的超級計算機。

眾核就是模仿上一代超級計算機的集群。

而當代超級計算機發展主要是異構計算和可重構計算,當然還有更好的網路。

從現在來看,超級計算機的下一代架構似乎和現代區別不大,似乎基於集群的架構已經發展到了瓶頸期,在量子計算機成熟之前,也許基於憶阻器的架構會有些希望?

如果是這樣,那麼下下一代CPU也會跟進:處理單元和存儲單元會真正的混合在一起。


多核心技術其實早就用在醫療、軍事領域中了,未來的趨勢應該是耗能更小,計算速度達到質的飛躍。


更多核。


smp規模大了cpu core超過一定數量性能反而會下降。因為core之間的內存鎖會拖後腿。

然後smp就到頭了。很多人在同一個工作台工作各種臨界衝突問題導致效率降低。

然後就有了(numa)非均勻訪存模型。把工作台分開。

然後可能會出現工廠流水線式樣的cpu。類似顯卡架構那種。


另一個角度,從不同的應用領域來講,對於手機等SoC的CPU,最大的需求低功耗,性能次之,那麼,降低功耗的技術主要有DVFS,和異構架構。對於PC,這種CPU主要比較關注性能,功耗次之,雖然異構架構也能更好的提升性能,但是帶來的編程困難比較大,現在還沒有比較完善的編程的工具鏈,所以,推測,異構架構在這個領域的應用要等到有比較完善的並行編程模型。


電路狗,略懂器件。

電路層面來說以目前的構架,CMP(chip multiprocessor)其實已經快到極限。制約性能提升的不僅僅是complex global wire的延時問題,還包括目前外部存儲(DRAM)的讀寫效率遠遠低於core的運算效率。

器件層面更加不可樂觀,20nm以下的silicon based工藝sub threshold current很大,即便FinFET,如何消除靜態功耗是目前很大的瓶頸。拋開silicon based transistor的束縛,目光投向carbon based device,你會發現滿城都是意淫假。

石墨烯連energy gap都有沒有,做你妹的關斷器件。

或許spin logic未來是個不錯的選擇,前提是EDAfabrication的公司有足夠的信心去起步建立一套完整可靠的設計模擬流片體系,make a friendly environment to designers.


我覺得是CPU+FPGA

以及在FPGA上,函數式語言的「天然並行性」就不會因為高線程開銷而難以挖掘了,比如Haskell里一個f::Int-&>Int-&>Int類型的函數,就可以放心大膽的綜合成兩輸入一輸出的組合邏輯,但是用int f(int,int)的C函數,你就得提防f(x,++x)等情況。如果要做高層次綜合,感覺會比面向馮諾依曼機的C、C++之類更有優勢。

所以感覺會是 CPU + FPGA + functional HDL


節能,降低發熱,更加小型化


現在的CPU所有知識和內容都在等待量子計算機來顛覆吧……

第一個答案寫了那麼多預測,結果量子計算機一出來,都是空談了……


推薦閱讀:

有哪些表示Intel/AMD、nVIDIA/AMD性能差距的搞笑對比圖?
任天堂的switch為什麼不在底座里添加顯卡增強主機模式的性能?

TAG:中央處理器CPU | 計算機 | 發展方向 | 電腦硬體 |