“5nm翻車”也算是近期的一個熱門話題了,,似乎去年下半年發(fā)布的,,包括驍龍888,、麒麟9000,、蘋果A14等在內(nèi)的一眾應(yīng)用了5nm工藝的手機(jī)芯片,,都在功耗和發(fā)熱表現(xiàn)上不夠理想,。
驍龍888(小米11)跑個Geekbench 5,單CPU功耗就達(dá)到了7.8W,,堪稱驍龍近代能耗比最差,,Adreno GPU性能首次遜于隔壁Mali;而麒麟9000(華為Mate40 Pro)雖說GPU性能上去了,但在光明山脈測試中,,跑出了11W的峰值功耗,;這都是向著PC功耗看齊的節(jié)奏了。很多媒體也因此將5nm冠以“集體翻車”的名號,。
高通驍龍888,、三星Exynos 2100選擇三星5nm,而海思麒麟9000,、蘋果A14選擇了臺積電5nm,。事實上,即便都叫5nm,,臺積電和三星的5nm工藝也差異甚遠(yuǎn)——所以“集體翻車”這種說法首先就值得商榷,。這兩者甚至不該直接比較。本文我們根據(jù)Wikichip,、Semiwiki,、Semiconductor Digest等機(jī)構(gòu)所做的研究,嘗試談?wù)剝杉?nm工藝的一些基本差異,。
雖說從微觀層面,,比如材料、晶體管性能等無法直接比較,;而且臺積電甚至沒有公開5nm工藝晶體管的關(guān)鍵尺寸(暫時也沒有5nm工藝的相關(guān)“拆解”),。本文僅嘗試給出兩者大方向上的差異。
雖說主流芯片功耗爆表是否真的與臺積電,、三星的5nm工藝有關(guān),,個人持保留意見。但通過這篇文章,我們也能更好地理解,,如今的尖端工藝發(fā)展成了什么樣,。
到底晶體管的哪個部分是5nm?
在探討兩種5nm工藝差異前,首先仍需明確一個概念,。即現(xiàn)在的“幾nm”工藝這樣的稱謂,,頂多就是個營銷概念。不管是7nm還是5nm,,晶體管或者芯片微觀層面,,都不存在哪個幾何參數(shù)是7nm或5nm。如此一來,,5nm也就名副其實地成為了一個虛指,,它僅能用于表達(dá)一個工藝節(jié)點(diǎn),“5”不存在實際意義,。
早在1997年以前,,幾點(diǎn)幾微米或幾百納米工藝,的確是指晶體管上gate(柵或閘)的長度(Lg),。比如0.35μm,,350nm,確實就是指gate長度為350nm,。在350nm制造工藝以前的時代,,工藝數(shù)字步進(jìn)以0.7倍為節(jié)奏,比如350nm x0.7,,下一代工藝就該是250nm了,。
FinFET結(jié)構(gòu)晶體管
不過到了奔騰3時期的250nm工藝,實則已經(jīng)不再真正指代晶體管gate長度,。250nm節(jié)點(diǎn)的gate長度已經(jīng)來到了190nm,,但晶體管的其他部分卻無法以對等的比例來同步縮減。從這一時期開始,,工藝節(jié)點(diǎn)的這一數(shù)字便不再具有太大的實際意義,。2012年22nm節(jié)點(diǎn)問世時,隨之而來的FinFET晶體管結(jié)構(gòu),。這種3D結(jié)構(gòu)要用一個數(shù)字來衡量晶體管尺寸也更難了,。
在20nm以后,越來越多的節(jié)點(diǎn)數(shù)字也拋棄了0.7倍步進(jìn)的傳統(tǒng),。14nm,、7nm、5nm雖然仍遵循0.7倍步進(jìn)傳統(tǒng),,但12nm,、8nm,、6nm、4nm等則顯然更具營銷意味了,。自不必說,,這些數(shù)字本身,除了表達(dá)工藝迭代之外,,便再無更多意義。
若一定要說在晶體管上,,與如今這個節(jié)點(diǎn)數(shù)字還有所關(guān)聯(lián)的部分,,那大概就是fin寬度了,上面這張圖是Intel的14nm與10nm兩代工藝,,晶體管各關(guān)鍵參數(shù)的變化,,其中fin寬度大致與節(jié)點(diǎn)數(shù)字是一個量級。
臺積電5nm與三星5nm的本質(zhì)差異
我在去年《同樣是臺積電7nm,,蘋果和華為的7nm其實不一樣》一文中曾大致總結(jié)過,,臺積電與三星7nm可認(rèn)為是同代工藝,從Wikichip預(yù)估的數(shù)字來看,,這兩者的晶體管密度(高密度庫)應(yīng)該也差不了多少,。
但這兩家fab的工藝路線方向卻已經(jīng)發(fā)生了較大差異。在7nm時代,,三星foundry以更激進(jìn)的姿態(tài),,率先在多個疊層采用了EUV(極紫外)光刻。臺積電的7nm路線圖中,,至少N7與N7P工藝仍然沒有采用EUV,,直到N7+才用上了4層EUV光刻層。
臺積電N7+工藝的情況比較特別,。市面上選擇了N7+的芯片似乎很少——知名的大概也就是Kirin 990 5G版了(Kirin 990 4G版用的是N7工藝),。而且N7+與N7/N7P并不兼容。
臺積電N7后續(xù)的完整迭代自然就是N5了——節(jié)點(diǎn)數(shù)字也符合0.7倍步進(jìn)的節(jié)奏,。所以對臺積電而言,,5nm的確就是7nm的迭代工藝。
但三星這邊可不一樣,。三星近些年的路線演進(jìn),,開始走完整迭代時的大步子。比如在三星眼中,,10nm到7nm屬于節(jié)點(diǎn)的完整迭代,,所以7LPP就相對激進(jìn)地用上了EUV。在7LPP往后,,三星foundry路線圖的完整迭代,,下一代工藝應(yīng)該是3nm(3GAA),。且7nm->3nm的工藝迭代,邁的大步在于晶體管結(jié)構(gòu)從FinFET,,演進(jìn)至GAAFET(Gate-All-Around FET)或/和MBCFET,,也就是傳說中的納米線和納米片。
而5nm在三星眼中實則屬于1/4代工藝,,或者說5LPE屬于7LPP工藝的同代加強(qiáng),,是向3nm工藝的過渡。三星的7nm與5nm的關(guān)系,,更類似于其10nm與8nm的關(guān)系,,如上圖所示。三星7LPP工藝同代加強(qiáng),,還包括了6nm,、5nm、4nm,。
如此一來,,臺積電和三星(以及Intel)未來的工藝迭代可能要進(jìn)一步發(fā)生分歧。比如臺積電預(yù)期中的3nm,,至少前期并不打算采用GAA結(jié)構(gòu),。當(dāng)然,3nm就屬于題外話了,,而且雖然三星的3GAA工藝PDK前年就進(jìn)入了Alpha階段,,但其量產(chǎn)至少也要等到明年。
這種迭代節(jié)奏上的差異(以及雙方7nm的起點(diǎn)差不多),,導(dǎo)致了臺積電在5nm節(jié)點(diǎn)上跨的步子,,會明顯比三星更大,或者說更先進(jìn),。至于后續(xù)3nm如何,,尚不得而知。所以N5與5LPE理論上是兩家公司的兩個不同產(chǎn)品,,而不應(yīng)將其理解為某個固定標(biāo)準(zhǔn)下,,雙方各自交出的答卷。
兩種5nm工藝的晶體管密度
鑒于篇幅關(guān)系,,本文就不再科普FinFET晶體管結(jié)構(gòu),,以及Fin Pitch、Gate Pitch,、CPP,、不同金屬層的基本概念了。對這些內(nèi)容感興趣的同學(xué),,可閱讀《為什么說Intel的10nm工藝比別家7nm更先進(jìn),?(上)》,,里面有比較詳細(xì)的科普。
下面這兩張圖表給出的數(shù)據(jù)分別來自Scotten Jones(IC Knowledge,,via Semiwiki)和David Schor(WikiChip Fuse),。下圖綜合了三星、臺積電已公開的信息,,以及針對現(xiàn)有公開信息的一些分析,。
來源:Scotten Jones, IC Knowledge via SemiWiki[1],發(fā)布于2019.5
來源:David Schor, WikiChip Fuse[2],,發(fā)布于2020.3
這其中值得一提的主要是晶體管密度(Transistor Density),,此處IC Knowledge預(yù)計臺積電N5工藝的密度為173.1 MTr/mm?(百萬晶體管每平方毫米,特指邏輯電路HD高密度單元庫),,WikiChip Fuse此前預(yù)估數(shù)字則為171.3 MTr/mm?[2],。
IC Knowledge預(yù)計三星5LPE工藝的晶體管密度(UHD超高密度單元)126.5 MTr/mm?,,WikiChip則預(yù)估為126.89 MTr/mm?[3],。
臺積電N5邏輯電路1.84倍晶體管密度提升,與同功耗水平下15%速度提升
雖然有區(qū)別,,但量級上差不多,,臺積電N5還是比三星5LPE要高出不少的(Scotten Jones在2019年年末又更新過一次晶體管密度預(yù)估,似乎又大了不少[4]),。無論如何,,這一點(diǎn)也能看出臺積電和三星的5nm雖然都叫5nm,但跨步幅度還是很不一樣,。
另外在CPP(contacted poly pitch,,柵間距)、M2P(Metal 2 Pitch,,金屬間距)這樣的晶體管關(guān)鍵數(shù)值上,,大神們預(yù)估的值也有一些差異,IC Knowledge標(biāo)臺積電N5工藝的CPP是50nm,,WikiChip則估算為48nm;而M2P,,IC Knowledge后來又將其更新到了28nm。這兩張表格僅供參考——注意其發(fā)布時間也有差異,。
事實上,,三星5LPE與上一代7LPP相比,就單個晶體管的關(guān)鍵參數(shù)來看,,各部分是幾乎沒有變化的,,晶體管密度提升依靠的主要是單元庫變化,以及各種scaling booster方法(比如SDB),。
臺積電N5可不是這樣,。此處未詳細(xì)列出N5相比N7的晶體管各部分關(guān)鍵參數(shù)變化,。從WikiChip提供的數(shù)據(jù)來看,CPP間距N7為57nm,,N5則為48nm;MMP則從40nm縮減到了30nm[5],。這也進(jìn)一步佐證了三星5LPE屬于7LPP的同代加強(qiáng)或過渡,而臺積電N5是N7的完整迭代,。
驍龍888“翻車”都是5nm的鍋嗎,?
很多人說高通被三星坑了,這話大抵上是站不住腳的,,或者其功耗表現(xiàn)不佳并不只是三星的鍋,。芯片設(shè)計12-18個月周期,在前期定義配置時,,選擇的制造工藝就已經(jīng)定下來了,,如今設(shè)計與制造的緊密程度是相當(dāng)之甚的——且當(dāng)代工藝差異,也不大可能在芯片設(shè)計階段中途突然就轉(zhuǎn)到另一種工藝上,。
高通驍龍888選擇三星5LPE工藝,,必然是有自己的考量的。高通也絕對不可能不知道,,前文提到5LPE與N5工藝這些最基本的差異,。至于高通的考量究竟是制造成本本身,還是設(shè)計IP的遷移便利性,,就不得而知了,。或許將來TechInsights的深度拆解能探索一二,。
此前的文章里提到過,,這些晶體管密度數(shù)字只具有參考價值。一方面在于不同時代計算晶體管密度的方法是有差別的,,這在《為什么說Intel的10nm工藝比別家7nm更先進(jìn),?(上)》一文中就已經(jīng)詳細(xì)提過了。而且一顆芯片上,,晶體管并不是只有邏輯電路,,更非僅采用HD高密度單元,晶體管也不是均勻分布,。具體的仍要看芯片本身的設(shè)計,。
在IEDM上,臺積電提到對于包含60%邏輯單元,、30% SRAM,,以及10%模擬I/O的移動SoC而言,其5nm工藝能夠縮減芯片35%-40%的尺寸——這樣的值是更具參考價值的,。
至于工藝迭代或增強(qiáng),,對性能,、功耗產(chǎn)生的具體影響,廠商公布的數(shù)字恐怕是很難驗證的,。后文會提到三星5LPE通過引入6T UHD單元,、減fin以減少單元高度的方式來實現(xiàn)晶體管密度33%的增加。它對性能帶來的影響也很難考證,,或者我們這些業(yè)外人士也無法搞清楚,,這種方案究竟是好還是不好。
去年在上海舉辦的Exynos芯片發(fā)布會上,,三星有提到5LPE令芯片面積降低35%,,功耗效率提升20%,性能表現(xiàn)提升10%,。臺積電則針對N5的功耗和性能數(shù)字提過,,同功耗下速度提升15%,同性能下功耗降低30%,。這些數(shù)字的意義可能都并不大,,尤其在面對各種不同的IC設(shè)計時。
舉個例子,,驍龍888的CPU部分,,大核心Cortex-X1,。Cortex-X1是Arm的Greek家族CPU架構(gòu),,它與當(dāng)時一同公布的Cortex-A78在設(shè)計理念上就有較大差異。通常移動CPU更看重低功耗,,并且要在功耗,、性能與面積(PPA)之間達(dá)成平衡,功耗與能耗比更是每年Arm升級IP的重點(diǎn),。
但Cortex-X1是打破了這種傳統(tǒng)的,。其設(shè)計指針更偏向性能,且在功耗,、面積方面有一定妥協(xié),。X1架構(gòu)有了明顯拓寬,在A78設(shè)計基礎(chǔ)上,,再加包括前端5-wide解碼寬度,,renaming帶寬最高每周期8 Mop,NEON加倍,,L2,、L3 cache加倍等。Mop cache條目加倍,,甚至比Intel Sunny Cove(十代酷睿)還要大,。
比較具有代表性的是Re-order Buffer(ROB)增加到224條目,,此前是160,以提升指令亂序與并行度,。以前Arm在這方面是一直偏保守的,。Arm以前曾提過,ROB拓寬帶來的性能提升,,與芯片面積增加,,兩者關(guān)系不呈線性,而且還需要以功耗為代價,。Cortex-X1顯然已經(jīng)看破這些了,。更多有關(guān)Cortex-X1的架構(gòu)拓寬,不是本文要探討的重點(diǎn),。
雖然論架構(gòu)寬度,,Cortex-X1的基礎(chǔ)設(shè)計還是沒法和蘋果Firestorm(M1與A14)比,但Cortex-X1面向芯片制造商開始采用一種“Cortex-X Custom Program”授權(quán)計劃,。這種授權(quán)方式下,,客戶可以對微架構(gòu)做進(jìn)一步定制,比如說要求更大的ROB,、改進(jìn)的prefetcher等,。我們不知驍龍888針對Cortex-X1的具體實施,不過它以性能為更高優(yōu)先級的設(shè)計,,致驍龍888產(chǎn)生不對等的功耗,,設(shè)計與IP也是重要因素。
Arm在此前發(fā)布Cortex-X1時大力宣傳了其IPC及性能提升,,但對功耗和面積效益語焉不詳,。AnandTech猜測,X1面積和功耗都可能是A78的1.5倍,;在預(yù)設(shè)功耗(power)下,,X1核心的能效(energy efficiency,每焦耳的性能)會比A78糟糕23%[6],。
當(dāng)然我們不能就此認(rèn)定,,驍龍888峰值性能下的功耗與能效比都是Cortex-X1的問題,而且Cortex-X1設(shè)計原則本身就是如此,。驍龍888涉及到的問題可能覆蓋了Arm,、高通、EDA工具廠商,,以及三星foundry,。何況驍龍888 GPU部分的Adreno 660針對上代改進(jìn)(提頻)也比較倉促。單純說驍龍888的功耗問題需要三星5LPE工藝背鍋,顯然是不靠譜的,。
至于很多人說5nm“集體翻車”,,前文談到了臺積電N5工藝與三星5LPE差異較大,演進(jìn)方向也不同,。而將5nm一概而論,,以驍龍888和麒麟9000為例來說“這一代工藝都不行”更是無稽之談。在麒麟9000的GPU IP上,,Arm為Mali G78設(shè)計,,堆至多24個核心原本就相當(dāng)令人困惑。
即便要說臺積電N5工藝“翻車”,,或者三星5LPE“翻車”,,這兩輛車“翻”的姿勢和方向應(yīng)該也有很大差異。
最后提一提后續(xù)改進(jìn)版工藝,,三星方面自然就是4LPE了,,而臺積電則為N5P。4LPE的晶體管和大部分基本思路都與5LPE一致,,不過金屬互聯(lián)間距有進(jìn)一步的縮減,;而臺積電的N5P與N5有著相同的設(shè)計規(guī)則,完全的IP兼容性,,同功耗下7%性能提升,,同性能夠下15%功耗降低。