AMD、英特爾為何爭相走向膠水多核處理器?
從2017年到現在,不到兩年時間裡X86處理器行業的變化要比過去五年都要大,標誌性事件就是AMD重返高性能處理器市場,除了在桌面處理器力推8核16線程處理器之外,在服務器市場上還推出了32核64線程處理器,前不久更推出了7nm的64核128線程“羅馬”處理器,而AMD成為多核狂魔的背後是巧妙地利用了MCM多芯片模塊技術,這也是大家調侃的膠水多核技術。
雙核Pentium D時代,大家聽到膠水多核就一臉鄙夷,不過2018年的今天,不僅是AMD在使用膠水多核技術,去年還在用膠水多核延遲高、性能差等缺點打擊AMD EPYC處理器的英特爾今年也推出了膠水多核的48核處理器,未來還會把膠水多核技術發揚光大。
膠水多核到底好不好?這個事不是簡單一句話能說明的,今天的超能課堂裡我們就來聊聊MCM膠水多核技術的過去及未來。
摩爾定律失效,提升頻率、增加核心之路不容易
對CPU處理器來說,人們追求的不外乎三點——性能越來越高、功耗越來越低、價格越來越便宜,定價這事不僅跟技術有關,還跟廠商的商業策略有關,這個問題不是技術能解釋的,但是性能、功耗這事跟技術是直接關聯,其中性能提升又是最重要的。
消費級的英特爾CPU已經做到18核
在現有的條件下,提高CPU性能也只有兩個方向了,一個是提高CPU運行頻率,一個是增加CPU核心數,但是如今的半導體技術面臨瓶頸,這兩個件事都不容易,特別是同時有需求的情況下,因為大家現在既需要高頻CPU,也需要多核CPU,這樣就更犯難了。
28核Skylake-SP處理器架構已經很複雜,同時核心面積高達698mm2
這兩年中在AMD的“幫助”下,英特爾已經加快了多核處理器的提升水平,去年之前桌面最多才是10核20線程,2017年就推出了18核36線程的Core i9-7980XE處理器,而服務器產品線上推出了28核56線程的Skylake-SP處理器,但是英特爾付出的代價也是相當大的,28核處理器採用了XCC架構佈局,依然複雜無比,而且核心面積達到698mm2,而普通的桌面4核、6核處理器核心面積還在100-200mm2之間。
很顯然,如果我們需要更多的CPU核心,那麼核心面積勢必要增大,那麼核心面積增大有什麼壞處呢?這個問題完整回答起來需要很長,最簡單的解釋就是在同樣的製程工藝及晶圓上,芯片核心面積越大,產出越低,而且大核心更容易出現瑕疵,導致產能/良率進一步降低。
核心面積大小對產能/良率的影響(圖片來源)
上面這個就是Stack Exchange上有人回答圖像傳感器為什麼不做大面積的解答,芯片面積越小,晶圓利用率就越充分,良率越高,浪費就越少,成本就更低,而核心面積越大,浪費就越大,良率會下降。雖然例子是圖形傳感器的,不過對所有的半導體芯片來說都是如此。
有人要說了,更先進的工藝不是有助於提高頻率、降低功耗、減少核心面積嗎?沒錯,這就是摩爾定律的作用了,半導體廠商只要提高工藝技術,確實能讓CPU的性能及核心面積受益,但是問題是摩爾定律早就失效了,也不是現在的14nm、10nm工藝失效的,嚴格意義上的摩爾定律在28nm之後就失效了——對於這一點,英特爾一直沒有公開承認,但是從半導體業界多數廠商以及現有芯片的實際表現來看,摩爾定律這幾年真的沒用了,先進工藝帶來的晶體管密度、性能等提升越來越小。
另一方面,先進工藝的研發、製造成本也在提升,這個成本提升是針對整體成本來說,特別是在28nm之後,從14/16nm工藝進入到7nm節點更是一次成本大提升。AMD提到了一個例子,以製造同樣250mm2的晶圓核心為例子,對比了45nm到7nm工藝的成本,45nm工藝的成本為100%基準的話,28nm工藝的成本大概是1.8,20nm節點是2.0,14 /16nm節點略高於2.0,但是到了7nm節點,成本就增長到了4.0,相比現在的14/16nm工藝成本翻倍。
根據專業的Semiengingeering 之前刊發過一篇文章,28nm節點上芯片只要5130萬美元投入,16nm節點需要1億美元,7nm節點需要2.97億美元。
即便不說先進工藝的巨額投資問題,但是從技術上來說10nm及以下的工藝就難多了,英特爾迄今都沒有能量產10nm工藝呢,台積電、三星雖然做到了7nm級別,但是工藝水平及用途跟這裡所說的高性能處理器還有點距離,總之指望先進工藝解決CPU頻率及核心面積的問題也是不行的,這條路越來越難。
單打不行就群毆,MCM多芯片重新受寵
在半導體工藝逐漸逼近物理極限的情況下,指望未來的7nm、5nm甚至3nm工藝解救處理器是不太可能了,不過我們上面所說的種種弊端還是針對的單片電路(monolithic)的,既然單一芯片不容易提升,那就來多個芯片吧,這就是MCM(multi-chip module,多芯片模塊)設計了,這種設計也就是被大家調侃的膠水多核。
MCM多芯片模塊也不是什麼新鮮玩意了,該技術也有數十年曆史了,這麼多年的發展也衍生出了諸多不同的MCM多芯片技術,所以儘管看起來都是“膠水多核”,但是不同的“膠水”效果也是不一樣的,芯片封裝技術多年來也是在不斷進步的。
圖片來源
至於AMD、英特爾兩家公司中,英特爾還是最早應用MCM膠水多核的,早在Pentium Pro處理器上就使用過MCM封裝技術,不過大家熟悉的可能還是Pentium D雙核的膠水,那個年代為了搶先推出雙核處理器,英特爾不得不在Presler架構的P4上用了MCM膠水技術,搶到了雙核首發的榮譽。
當然,Pentium D雙核在市場上的表現也不盡如人意,但這跟MCM膠水多核關係不大,更多地還是Pentium架構不給力的鍋,MCM只是加劇了大家的不滿。
之後英特爾及AMD在處理器架構上都極少使用MCM技術了,繼續著原生多核架構,畢竟這種架構本來就應該是多核處理器應有的設計,不過隨著CPU核心數逐漸從個位數提升到十位數範圍,monolithic多核心的局限越來越大,不光是前面所說的製造難度大、良率低的問題,也因為它不夠靈活,因為處理器除了核心數量之外,還要考慮到內存通道、PCIe通道等IO核心的搭配,如前面的Skylake-SP架構所示,為了配合不同核心的處理器,英特爾在它上面使用了XCC、LCC、HCC三種不同的內部架構,這樣做無疑是增加了芯片的複雜性。
單芯片的設計越來越複雜、越來越昂貴,財大氣粗而且有工藝優勢的英特爾或許還能走下去,但是AMD不行,AMD不論是桌面處理器還是服務器處理器還得要跟英特爾打價格戰,核心更多、價格更低是他們的武器,所以不可能再走單芯片的路線了,在Ryzen銳龍及EPYC霄龍處理器上AMD也用上了MCM多芯片模塊。
在這種架構中,AMD將兩組CCX單元作為一個模塊做成了8核16線程處理器,這就是桌面版的銳龍7處理器,而第一代EPYC處理器最多32核64線程,其內部封裝了是4個8核模塊,詳細的技術介紹我們之前的首發評測中做過解答,這裡不贅述,我們就來看看AMD為什麼這麼做。
答案很簡單——省錢。對於這個問題,AMD在EPYC架構中對比了MCM與Monolithic兩種思路設計32核處理器的優劣,如果使用原生32核架構,核心面積只有777mm2,而現在的MCM多核芯片架構使用了4個213mm2的模塊,核心總面積是852mm2,與單芯片相比是浪費了10%左右的核心面積。
但是製造4個213mm2的小核心處理器比製造1個777mm2的大核心容易多了,後者的良率太低了,低到多少呢?AMD今年公佈過相關數據,完整的32核處理器良率不到17%,這樣的代價是AMD承受不起的。
MCM設計除了會浪費部分核心面積之外,還有延遲問題,畢竟原生的多核心之間通訊要比外部芯片之間通訊距離短多了,這也是為什麼銳龍處理器之前被人詬病過內存延遲的問題,但即便有這兩個缺點,AMD還是把MCM設計發揚光大了,光是減少40%的芯片製造、測試成本就足夠駁倒負面了,況且延遲等問題還可以用過別的手段緩解下,不造成明顯影響就沒事了。
英特爾之前還表示AMD的MCM模塊有性能及延遲問題
相比AMD轉向MCM設計,英特爾近年來一直堅持原生多核設計,為此英特爾的首席架構師早前還專門寫文章Diss膠水多核一番,表示原生多核優點多多,性能上沒妥協,膠水多核就. …但是這番話沒多久,英特爾自己也推出了一個膠水多核——Cascade Lake-AP 48核處理器,它實際上是兩個24核的Cascade Lake處理器通過MCM方式組合出來的,也不是原生48核。
英特爾推Cascade Lake-AP 48核處理器顯然是要應急,雖然他們的28核處理器性能不比AMD的32核處理器差,但是價格貴很多,而且AMD今年還推出了64核架構的7nm羅馬處理器,進一步拉開了與英特爾Xeon處理器之間的核心數差距,而英特爾2020年才有可能拿出10nm工藝的服務器芯片,但也難生產出原生64核的處理器,上膠水多核是遲早的事。
殊途同歸,AMD、英特爾同時走向異構MCM之路
MCM膠水多核就只有現在這個樣子了嗎?並不是,AMD前不久宣布了7nm Zen 2架構羅馬處理器,它最大的特點就是將CPU核心數提升到了64核128線程,比現在又翻了一倍,多核狂魔名不虛傳。為了實現最多64核128線程的設計,AMD是會繼續MCM膠水多核,不過這次的多核架MCM又不一樣了。
從AMD公佈的信息來看,7nm羅馬處理器的MCM是8+1架構,很有眾星捧月的感覺。在這個MCM多芯片架構中,AMD將CPU內核與IO單元分離,四周的8個小核心是純CPU內核,而DDR內存控制器、PCIe控制器、IF控制器等IO單元單獨做成了一個核心。
除了CPU內核與IO單元分離,7nm羅馬處理器的還使用了不同工藝——核心的IO單元是14nm工藝的,GF代工的,而四周的CPU核心是7nm工藝的,台積電代工的。這樣做也是為了降低成本,因為IO單元並不需要那麼先進的製程工藝。
AMD在羅馬處理器上的MCM結構讓人聯想到了英特爾之前的EMIB多芯片封裝技術,二者在這方面可以說是異曲同工,殊途同歸,都是在一個處理器封裝內集成不同工藝的核心,英特爾的EMIB封裝中CPU核心、核顯可以是10nm的,通訊及其他IP核心可以用14nm甚至22nm工藝。
此外,英特爾還對比過EMIB封裝與傳統2.5封裝的優缺點,表示EMIB技術具有正常的封裝良率、不需要額外的工藝、設計簡單等優點。
總結:MCM膠水多核或許是未來處理器的常態
從被人調侃到重獲重視,MCM多芯片模塊這麼多年來又重新成為多核處理器的有力武器,特別是在核心數超過的服務器處理器上。另一方面,如今的MCM多芯片設計在技術水平上也跟當年簡單粗暴的膠水多核不一樣了,主要擔心的延遲問題上,英特爾之前提到他們的EMIB技術相比單片電路的延遲只增加了10%,而別的技術方案中延遲甚至會增加50%之多。
不過MCM多芯片技術對主流桌面處理器影響就沒這麼大了,未來兩年高端桌面處理器應該或是8核16線程為主,所以AMD下一代的銳龍3000桌面處理器是否還會使用核心、IO分離的設計很值得關注。