文|半導體產(chǎn)業(yè)縱橫
?近年來,隨著AI應用場景的爆發(fā)式增長,AI算法對算力的需求急劇上升,這一增速已顯著超越了摩爾定律所預測的硬件性能提升速度。傳統(tǒng)的計算芯片,在計算資源、處理時延以及功耗控制方面,逐漸顯現(xiàn)出難以滿足AI高并行計算需求的局限性。
在智能芯片領域,傳統(tǒng)的馮·諾依曼架構以計算為核心,處理器與存儲器之間的物理分離導致了大規(guī)模數(shù)據(jù)頻繁遷移,這進一步限制了AI芯片的整體性能。因此,傳統(tǒng)芯片架構面臨著“存儲墻”、“功耗墻”及“算力墻”等嚴峻挑戰(zhàn),難以滿足AI應用對于低時延、高能效以及高可擴展性的迫切需求。
針對上述一系列問題,業(yè)內(nèi)給出了一種名為“存算一體”的解決方案。
那么到底什么是“存儲墻”、“功耗墻”和“編譯墻”?存算一體芯片是什么?它又是如何解決這些問題的?存算一體技術的出現(xiàn)給產(chǎn)業(yè)界帶來了哪些驚喜?
01、芯片發(fā)展面前的三堵墻
首先一起了解一下什么是“存儲墻”。
存儲墻指的是內(nèi)存性能嚴重限制CPU性能發(fā)揮的現(xiàn)象。在過去的20多年中,處理器的性能以每年大約55%速度快速提升,而內(nèi)存性能的提升速度則只有每年10%左右。
長期累積下來,不均衡的發(fā)展速度造成了當前內(nèi)存的存取速度嚴重滯后于處理器的計算速度,內(nèi)存瓶頸導致高性能處理器難以發(fā)揮出應有的功效,這對日益增長的高性能計算形成了極大的制約。這種嚴重阻礙處理器性能發(fā)揮的內(nèi)存瓶頸命名為"內(nèi)存墻",也叫“存儲墻”。
伴隨著“存儲墻”問題同時出現(xiàn)的,是大量能耗消耗在了數(shù)據(jù)傳輸過程中,導致芯片的能效比顯著降低,即“功耗墻”問題。
“功耗墻”的問題主要是因為隨著計算系統(tǒng)對內(nèi)存帶寬需求的不斷增加,以及對更高容量和更快訪問速度的追求,傳統(tǒng)DRAM和其他類型內(nèi)存的功耗急劇上升,最終會達到一個無法通過簡單增加功率預算來解決的臨界點。
這一方面是因為數(shù)據(jù)從DRAM搬運到CPU需要跨過多個層級的存儲層次,包括L1、L2、L3緩存。有研究表明:在特定情況下,將1比特數(shù)據(jù)從DRAM搬運到CPU所消耗的能量比在CPU上處理這個比特所需的能量還要高幾倍到幾十倍。
根據(jù)英特爾的研究表明,當半導體工藝達到 7nm 時,數(shù)據(jù)搬運功耗高達 35pJ/bit,占總功耗的63.7%。數(shù)據(jù)傳輸造成的功耗損失越來越嚴重,限制了芯片發(fā)展的速度和效率。
“編譯墻”問題隱于二者之中,極短時間下的大量數(shù)據(jù)搬運使得編譯器無法在靜態(tài)可預測的情況下對算子、函數(shù)、程序或者網(wǎng)絡做整體的優(yōu)化,手動優(yōu)化又消耗了大量時間。
過去,憑借先進制程不斷突破,這三座“大山”的弊病還能通過快速提升的算力來彌補。
但一個殘酷的現(xiàn)實是,過去數(shù)十年間,通過工藝制程的提升改善芯片算力問題的“老辦法”正在逐步失效——摩爾定律正在走向物理極限,HBM、3D DRAM、更好的互聯(lián)等傳統(tǒng)“解法”也“治標不治本”,晶體管微縮越來越難,提升算力性能兼具降低功耗這條路越走越艱辛。
隨著大模型時代來臨,激增的數(shù)據(jù)計算,無疑進一步放大了“三道墻”的影響。
而存算一體技術的出現(xiàn),是對上述難題的有力回應。
02、存算一體,帶來了哪些驚喜?
從存算一體技術的原理來看,存算一體的核心是將存儲功能與計算功能融合在同一個芯片上,直接利用存儲單元進行數(shù)據(jù)處理——通過修改“讀”電路的存內(nèi)計算架構,可以在“讀”電路中獲取運算結果,并將結果直接“寫”回存儲器的目的地址,不再需要在計算單元和存儲單元之間進行頻繁的數(shù)據(jù)轉(zhuǎn)移,消除了數(shù)據(jù)搬移帶來的消耗,極大降低了功耗,大幅提升計算效率。
正因此,存算一體技術可以有效地克服馮·諾依曼架構瓶頸。
那么存算一體技術憑借其技術優(yōu)勢,在實際應用中都可以帶來哪些效能提升?
存算一體芯片在特定領域可以提供更大算力(1000TOPS以上)和更高能效(超過10-100TOPS/W),明顯超越現(xiàn)有ASIC算力芯片。存算一體技術還可以通過使用存儲單元參與邏輯計算提升算力,這等效于在面積不變的情況下規(guī)?;黾佑嬎愫诵臄?shù)。
在能耗控制方面,存算一體技術可以通過減少不必要的數(shù)據(jù)搬運將能耗降低至之前的1/10~1/100。提升了計算效率、降低了功耗,存算一體自然也能帶來更好的成本回報。
03、存算一體技術的分類
根據(jù)存儲與計算的距離遠近,將廣義存算一體的技術方案分為三大類,分別是近存計算(Processing Near Memory, PNM)、存內(nèi)處理 (Processing In Memory, PIM)和存內(nèi)計算(Computing in Memory, CIM)。
近存計算是一種較為成熟的技術路徑。它利用先進的封裝技術,將計算邏輯芯片和存儲器封裝到一起,通過減少內(nèi)存和處理單元之間的路徑,實現(xiàn)高I/O密度,進而實現(xiàn)高內(nèi)存帶寬以及較低的訪問開銷。近存計算主要通過2.5D、3D堆疊等技術來實現(xiàn),廣泛應用于各類CPU和GPU上。
存內(nèi)處理則主要側重于將計算過程盡可能地嵌入到存儲器內(nèi)部。這種實現(xiàn)方式旨在減少處理器訪問存儲器的頻率,因為大部分計算已經(jīng)在存儲器內(nèi)部完成。這種設計有助于消除馮·諾依曼瓶頸帶來的問題,提高數(shù)據(jù)處理速度和效率。
存內(nèi)計算同樣是將計算和存儲合二為一的技術。它有兩種主要思路。第一種思路是通過電路革新,讓存儲器本身就具有計算能力。這通常需要對SRAM或者MRAM等存儲器進行改動,以在數(shù)據(jù)讀出的解碼器等地方實現(xiàn)計算功能。這種方法的能效比通常較高,但計算精度可能受限。
其中,近存計算和存內(nèi)計算是目前存算一體技術實現(xiàn)的主流路徑。大廠們對存算一體架構的需求是實用且落地快,而作為最接近工程落地的技術,近存計算成為大廠們的首選。近存計算的典型代表是AMD的Zen系列CPU。
04、存儲介質(zhì)的三種主要選擇
存算一體芯片的存儲介質(zhì)主要可分為兩大類:一種是易失性存儲器,即在正常關閉系統(tǒng)或者突然性、意外性關閉系統(tǒng)的時候,數(shù)據(jù)會丟失,如SRAM和DRAM等。
另一種是非易失性存儲器,在上述情況下數(shù)據(jù)不會丟失,如傳統(tǒng)的閃存NOR Flash 和 NAND Flash,以及新型存儲器:阻變存儲器RRAM(ReRAM)、磁性存儲器MRAM、鐵變存儲器FRAM(FeRAM)、相變存儲器PCRAM(PCM)等。
那么,該如何選擇合適的技術路徑,這些技術路徑又有何特點、壁壘和優(yōu)勢呢?
從器件工藝成熟度來看,SRAM、DRAM和Flash都是成熟的存儲技術。
Flash屬于非易失性存儲器件,具有低成本優(yōu)勢,一般適合小算力場景;DRAM成本低,容量大,但是可用的eDRAM IP核工藝節(jié)點不先進,讀取延遲也大,且需要定期刷新數(shù)據(jù);SRAM在速度方面具有極大優(yōu)勢,有幾乎最高的能效比,容量密度略小,在精度增強后可以保證較高精度,一般適用于云計算等大算力場景。
在制程工藝方面,SRAM可以在先進工藝上如5nm上制造,DRAM和Flash可在10-20nm工藝上制造。
在電路設計難度上,存內(nèi)計算DRAM > 存內(nèi)計算SRAM > 存內(nèi)計算Flash。在存內(nèi)計算方面,SRAM和DRAM更難設計,它們是易失性存儲器,工藝偏差會大幅度增加模擬計算的設計難度,F(xiàn)lash是非易失存儲器,他的狀態(tài)是連續(xù)可編程的,可以通過編程等方式來校準工藝偏差,從而提高精度。而近存計算的設計相對簡單,可采用成熟的存儲器技術和邏輯電路設計技術。
除成熟的存儲技術外,學術界也比較關注各種RRAM在神經(jīng)網(wǎng)絡計算中的引入。RRAM使用電阻調(diào)制來實現(xiàn)數(shù)據(jù)存儲,讀出電流信號而非傳統(tǒng)的電荷信號,可以獲得較好的線性電阻特性。但目前RRAM工藝良率爬坡還在進行中,而且依然需要面對非易失存儲器固有的可靠性問題,因此目前還主要用于端側小算力和邊緣AI計算。
05、存算一體芯片的適用場景有哪些?
小算力場景:邊緣側對成本、功耗、時延、開發(fā)難度非常敏感
中早期的存算一體芯片算力較小,從小算力1TOPS開始往上走,解決的是音頻類、健康類及低功耗視覺終端側應用場景,AI落地的芯片性能及功耗問題。比如:AIoT的應用。
眾所周知,碎片化的AIoT市場對先進工藝芯片的需求并不強烈,反而更青睞低成本、低功耗、易開發(fā)的芯片。
存算一體正是符合這一系列要求的芯片。
首先,存算一體技術能夠減少數(shù)據(jù)在存儲單元和計算單元之間的移動,從而顯著降低能耗。例如,傳統(tǒng)架構中,大量的數(shù)據(jù)傳輸會消耗大量能量,而存算一體架構可以避免這種不必要的能耗,使得像電池供電的物聯(lián)網(wǎng)設備能夠更長時間地運行。
其次,通過減少數(shù)據(jù)傳輸和提高集成度,存算一體技術可以降低芯片的制造成本。對于大規(guī)模部署的 AIoT 設備來說,成本的降低有助于更廣泛的應用推廣。
最后,存算一體芯片還可以大幅提高運算速度并節(jié)省空間,而這兩項也是給AIoT應用帶來助力的兩大因素。
大算力場景:GPU在算力和能效上都無法同時與專用加速芯片競爭
目前云計算算力市場,GPU的單一架構已經(jīng)不能適應不同AI計算場景的算法離散化特點,如在圖像、推薦、NLP領域有各自的主流算法架構。
隨著存算一體芯片算力不斷提升,使用范圍逐漸擴展到大算力應用領域。針對大算力場景>100TOPS,在無人車、泛機器人、智能駕駛,云計算領域提供高性能大算力和高性價比的產(chǎn)品。
此外,存算一體芯片還有一些其他延伸應用,比如感存算一體、類腦計算等。
隨著技術的不斷進步和應用場景的不斷拓展,存內(nèi)計算將在未來發(fā)揮更加重要的作用,推動算力新時代的發(fā)展。然而,存內(nèi)計算技術仍面臨一些挑戰(zhàn)和問題。例如,存算一體器件的研發(fā)需要突破關鍵技術難題,提高性能和可靠性;同時,存內(nèi)計算系統(tǒng)的設計和優(yōu)化也需要充分考慮實際應用需求,提高系統(tǒng)的可擴展性和靈活性等。
存算一體芯片大規(guī)模落地的時刻尚未明確,但這一天的到來值得我們期待。技術的演進從不停止,市場的需求也在不斷變化,當各種條件成熟之際,或許就是存算一體芯片大放異彩之時。