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