到底什么是ASIC和FPGA_第1頁
到底什么是ASIC和FPGA_第2頁
到底什么是ASIC和FPGA_第3頁
到底什么是ASIC和FPGA_第4頁
到底什么是ASIC和FPGA_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

進入21世紀后,算力需求呈現(xiàn)兩個顯著趨勢:一,算力的使用場景,開始細分;二,用戶對算力性能的要求,越來越高。通用的算力芯片,已經(jīng)無法滿足用戶的需求。于是,越來越多的企業(yè),開始加強對專用計算芯片的研究和投資力度。而ASIC(ApplicationSpecificIntegratedCircuit,專用集成電路),就是一種專用于特定任務的芯片。ASIC的官方定義,是指:應特定用戶的要求,或特定電子系統(tǒng)的需要,專門設計、制造的集成電路。ASIC起步于上世紀70-80年代。早期的時候,曾用于計算機。后來,主要用于嵌入式控制。這幾年,如前面所說,開始崛起,用于AI推理、高速搜索以及視覺和圖像處理等。說到ASIC,我們就不得不提到Google公司大名鼎鼎的TPU。TPU,全稱TensorProcessingUnit,張量處理單元。所謂“張量(tensor)”,是一個包含多個數(shù)字(多維數(shù)組)的數(shù)學實體。目前,幾乎所有的機器學習系統(tǒng),都使用張量作為基本數(shù)據(jù)結構。所以,張量處理單元,我們可以簡單理解為“AI處理單元”。2015年,為了更好地完成自己的深度學習任務,提升AI算力,Google推出了一款專門用于神經(jīng)網(wǎng)絡訓練的芯片,也就是TPUv1。相比傳統(tǒng)的CPU和GPU,在神經(jīng)網(wǎng)絡計算方面,TPUv1可以獲得15~30倍的性能提升,能效提升更是達到30~80倍,給行業(yè)帶來了很大震動。2017年和2018年,Google又再接再厲,推出了能力更強的TPUv2和TPUv3,用于AI訓練和推理。2021年,他們推出了TPUv4,采用7nm工藝,晶體管數(shù)達到220億,性能相較上代提升了10倍,比英偉達的A100還強1.7倍。除了Google之外,還有很多大廠這幾年也在搗鼓ASIC。英特爾公司在2019年底收購了以色列AI芯片公司HabanaLabs,2022年,發(fā)布了Gaudi2ASIC芯片。IBM研究院,則于2022年底,發(fā)布了AIASIC芯片AIU。三星早幾年也搞過ASIC,當時做的是礦機專用芯片。沒錯,很多人認識ASIC,就是從比特幣挖礦開始的。相比GPU和CPU挖礦,ASIC礦機的效率更高,能耗更低。ASIC礦機除了TPU和礦機之外,另外兩類很有名的ASIC芯片,是DPU和NPU。DPU是數(shù)據(jù)處理單元(DataProcessingUnit),主要用于數(shù)據(jù)中心。小棗君之前曾經(jīng)專門介紹過,可以看這里:火遍全網(wǎng)的DPU,到底是個啥?NPU的話,叫做神經(jīng)網(wǎng)絡處理單元(NeuralProcessingUnit),在電路層模擬人類神經(jīng)元和突觸,并用深度學習指令集處理數(shù)據(jù)。NPU專門用于神經(jīng)網(wǎng)絡推理,能夠實現(xiàn)高效的卷積、池化等操作。一些手機芯片里,經(jīng)常集成這玩意。說到手機芯片,值得一提的是,我們手機現(xiàn)在的主芯片,也就是常說的SoC芯片,其實也是一種ASIC芯片。手機SoC芯片ASIC作為專門的定制芯片,優(yōu)點體現(xiàn)在哪里?只是企業(yè)獨享,專用logo和命名?不是的。定制就是量體裁衣?;谛酒嫦虻膶m椚蝿眨酒挠嬎隳芰陀嬎阈识际菄栏衿ヅ溆谌蝿账惴ǖ?。芯片的核心數(shù)量,邏輯計算單元和控制單元比例,以及緩存等,整個芯片架構,也是精確定制的。所以,定制專用芯片,可以實現(xiàn)極致的體積、功耗。這類芯片的可靠性、保密性、算力、能效,都會比通用芯片(CPU、GPU)更強。大家會發(fā)現(xiàn),前面我們提到的幾家ASIC公司,都是谷歌、英特爾、IBM、三星這樣的大廠。這是因為,對芯片進行定制設計,對一家企業(yè)的研發(fā)技術水平要求極高,且耗資極為巨大。做一款ASIC芯片,首先要經(jīng)過代碼設計、綜合、后端等復雜的設計流程,再經(jīng)過幾個月的生產(chǎn)加工以及封裝測試,才能拿到芯片來搭建系統(tǒng)。大家都聽說過“流片(Tape-out)”。像流水線一樣,通過一系列工藝步驟制造芯片,就是流片。簡單來說,就是試生產(chǎn)。ASIC的研發(fā)過程是需要流片的。14nm工藝,流片一次需要300萬美元左右。5nm工藝,更是高達4725萬美元。流片一旦失敗,錢全部打水漂,還耽誤了大量的時間和精力。一般的小公司,根本玩不起。那么,是不是小公司就無法進行芯片定制了呢?當然不是。接下來,就輪到另一個神器出場了,那就是——FPGA。02FPGA(現(xiàn)場可編程門陣列)FPGA,英文全稱FieldProgrammableGateArray,現(xiàn)場可編程門陣列。FPGA這些年在行業(yè)里很火,勢頭比ASIC還猛,甚至被人稱為“萬能芯片”。其實,簡單來說,F(xiàn)PGA就是可以重構的芯片。它可以根據(jù)用戶的需要,在制造后,進行無限次數(shù)的重復編程,以實現(xiàn)想要的數(shù)字邏輯功能。之所以FPGA可以實現(xiàn)DIY,是因為其獨特的架構。FPGA由可編程邏輯塊(ConfigurableLogicBlocks,CLB)、輸入/輸出模塊(I/OBlocks,IOB)、可編程互連資源(ProgrammableInterconnectResources,PIR)等三種可編程電路,以及靜態(tài)存儲器SRAM共同組成。CLB是FPGA中最重要的部分,是實現(xiàn)邏輯功能的基本單元,承載主要的電路功能。它們通常規(guī)則排列成一個陣列(邏輯單元陣列,LCA,LogicCellArray),散布于整個芯片中。IOB主要完成芯片上的邏輯與外部引腳的接口,通常排列在芯片的四周。PIR提供了豐富的連線資源,包括縱橫網(wǎng)狀連線、可編程開關矩陣和可編程連接點等。它們實現(xiàn)連接的作用,構成特定功能的電路。靜態(tài)存儲器SRAM,用于存放內(nèi)部IOB、CLB和PIR的編程數(shù)據(jù),并形成對它們的控制,從而完成系統(tǒng)邏輯功能。CLB本身,又主要由查找表(Look-UpTable,LUT)、多路復用器(Multiplexer)和觸發(fā)器(Flip-Flop)構成。它們用于承載電路中的一個個邏輯“門”,可以用來實現(xiàn)復雜的邏輯功能。簡單來說,我們可以把LUT理解為存儲了計算結果的RAM。當用戶描述了一個邏輯電路后,軟件會計算所有可能的結果,并寫入這個RAM。每一個信號進行邏輯運算,就等于輸入一個地址,進行查表。LUT會找出地址對應的內(nèi)容,返回結果。這種“硬件化”的運算方式,顯然具有更快的運算速度。用戶使用FPGA時,可以通過硬件描述語言(Verilog或VHDL),完成的電路設計,然后對FPGA進行“編程”(燒寫),將設計加載到FPGA上,實現(xiàn)對應的功能。加電時,F(xiàn)PGA將EPROM(可擦編程只讀存儲器)中的數(shù)據(jù)讀入SRAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關系消失。如此反復,就實現(xiàn)了“現(xiàn)場”定制。FPGA的功能非常強大。理論上,如果FPGA提供的門電路規(guī)模足夠大,通過編程,就能夠實現(xiàn)任意ASIC的邏輯功能。FPGA開發(fā)套件,中間那個是FPGA芯片我們再看看FPGA的發(fā)展歷程。FPGA是在PAL(可編程陣列邏輯)、GAL(通用陣列邏輯)等可編程器件的基礎上發(fā)展起來的產(chǎn)物,屬于一種半定制電路。它誕生于1985年,發(fā)明者是Xilinx公司(賽靈思)。后來,Altera(阿爾特拉)、Lattice(萊迪思)、Microsemi(美高森美)等公司也參與到FPGA這個領域,并最終形成了四巨頭的格局。2015年5月,Intel(英特爾)以167億美元的天價收購了Altera,后來收編為PSG(可編程解決方案事業(yè)部)部門。2020年,Intel的競爭對手AMD也不甘示弱,以350億美元收購了Xilinx。于是,就變成了Xilinx(AMD旗下)、Intel、Lattice和Microsemi四巨頭(換湯不換藥)。2021年,這四家公司的市占率分別為51%、29%、7%和6%,加起來是全球總份額的93%。不久前,2023年10月,Intel宣布計劃拆分PSG部門,獨立業(yè)務運營。國內(nèi)FPGA廠商的話,包括復旦微電、紫光國微、安路科技、東土科技、高云半導體、京微齊力、京微雅格、智多晶、遨格芯等??瓷先?shù)量不少,但實際上技術差距很大。03ASIC和FPGA的區(qū)別接下來,我們重點說說ASIC和FPGA的區(qū)別,還有它們和CPU、GPU之間的區(qū)別。ASIC和FPGA,本質上都是芯片。AISC是全定制芯片,功能寫死,沒辦法改。而FPGA是半定制芯片,功能靈活,可玩性強。我們還是可以通過一個例子,來說明兩者之間的區(qū)別。ASIC就是用模具來做玩具。事先要進行開模,比較費事。而且,一旦開模之后,就沒辦法修改了。如果要做新玩具,就必須重新開模。而FPGA呢,就像用樂高積木來搭玩具。上手就能搭,花一點時間,就可以搭好。如果不滿意,或者想搭新玩具,可以拆開,重新搭。ASIC與FPGA的很多設計工具是相同的。在設計流程上,F(xiàn)PGA沒有ASIC那么復雜,去掉了一些制造過程和額外的設計驗證步驟,大概只有ASIC流程的50%-70%。最頭大的流片過程,F(xiàn)PGA是不需要的。這就意味著,開發(fā)ASIC,可能需要幾個月甚至一年以上的時間。而FPGA,只需要幾周或幾個月的時間。剛才說到FPGA不需要流片,那么,是不是意味著FPGA的成本就一定比ASIC低呢?不一定。FPGA可以在實驗室或現(xiàn)場進行預制和編程,不需要一次性工程費用(NRE)。但是,作為“通用玩具”,它的成本是ASIC(壓模玩具)的10倍。如果生產(chǎn)量比較低,那么,F(xiàn)PGA會更便宜。如果生產(chǎn)量高,ASIC的一次性工程費用被平攤,那么,ASIC反而便宜。這就像開模費用。開模很貴,但是,如果銷量大,開模就劃算了。如下圖所示,40W片,是ASIC和FPGA成本高低的一個分界線。產(chǎn)量少于40W,F(xiàn)PGA便宜。多于40W,ASIC便宜。

從性能和功耗的角度來看,作為專用定制芯片,ASIC是比FPGA強的。FPGA是通用可編輯的芯片,冗余功能比較多。不管你怎么設計,都會多出來一些部件。前面小棗君也說了,ASIC是貼身定制,沒什么浪費,且采用硬連線。所以,性能更強,功耗更低。FPGA和ASIC,不是簡單的競爭和替代關系,而是各自的定位不同。FPGA現(xiàn)在多用于產(chǎn)品原型的開發(fā)、設計迭代,以及一些低產(chǎn)量的特定應用。它適合那些開發(fā)周期必須短的產(chǎn)品。FPGA還經(jīng)常用于ASIC的驗證。ASIC用于設計規(guī)模大、復雜度高的芯片,或者是成熟度高、產(chǎn)量比較大的產(chǎn)品。FPGA還特別適合初學者學習和參加比賽?,F(xiàn)在很多大學的電子類專業(yè),都在使用FPGA進行教學。從商業(yè)化的角度來看,F(xiàn)PGA的主要應用領域是通信、國防、航空、數(shù)據(jù)中心、醫(yī)療、汽車及消費電子。FPGA在通信領域用得很早。很多基站的處理芯片(基帶處理、波束賦形、天線收發(fā)器等),都是用的FPGA。核心網(wǎng)的編碼和協(xié)議加速等,也用到它。數(shù)據(jù)中心之前在DPU等部件上,也用。后來,很多技術成熟了、定型了,通信設備商們就開始用ASIC替代,以此減少成本。值得一提的是,最近這些年很熱門的OpenRAN,其實很多都是采用通用處理器(IntelCPU)進行計算。這種方案的能耗遠遠不如FPGA和ASIC。這也是包括華為等設備商不愿意跟進OpenRAN的主要原因之一。汽車和工業(yè)領域,主要是看中了FPGA的時延優(yōu)勢,所以會用在ADAS(高級駕駛輔助系統(tǒng))和伺服電機驅動上。消費電子用FPGA,是因為產(chǎn)品迭代太快。ASIC的開發(fā)周期太長了,等做出東西來,黃花菜都涼了。04FPGA、ASIC、GPU,誰是最合適的AI芯片?最后,我們還是要繞回到AI芯片的話題。上一期,小棗君埋了一個雷,說AI計算分訓練和推理。訓練是GPU處于絕對領先地位,而推理不是。我沒有說原因。現(xiàn)在,我來解釋一下。首先,大家要記住,單純從理論和架構的角度,ASIC和FPGA的性能和成本,肯定是優(yōu)于CPU和GPU的。CPU、GPU遵循的是馮·諾依曼體系結構,指令要經(jīng)過存儲、譯碼、執(zhí)行等步驟,共享內(nèi)存在使用時,要經(jīng)歷仲裁和緩存。而FPGA和ASIC并不是馮·諾依曼架構(是哈佛架構)。以FPGA為例,它本質上是無指令、無需共享內(nèi)存的體系結構。FPGA的邏輯單元功能在編程時已確定,屬于用硬件來實現(xiàn)軟件算法。對于保存狀態(tài)的需求,F(xiàn)PGA中的寄存器和片上內(nèi)存(BRAM)屬于各自的控制邏輯,不需要仲裁和緩存。從ALU運算單元占比來看,GPU比CPU高,F(xiàn)PGA因為幾乎沒有控制模塊,所有模塊都是ALU運算單元,比GPU更高。所以,綜合各個角度,F(xiàn)PGA的運算速度會比GPU更快。再看看功耗方面。GPU的功耗,是出了名的高,單片可以達到250W,甚至450W(RTX4090)。而FPGA呢,一般只有30~50W。這主要是因為內(nèi)存讀取。GPU的內(nèi)存接口(GDDR5、HBM、HBM2)帶寬極高,大約是FPGA傳統(tǒng)DDR接口的4-5倍。但就芯片本身來說,讀取DRAM所消耗的能量,是SRAM的100倍以上。GPU頻繁讀取DRAM的處理,產(chǎn)生了極高的功耗。

另外,F(xiàn)PGA的工作主頻(500MHz以下)比CPU、GPU(1~3GHz)低,也會使得自身功耗更低。FPGA的工作主頻低,主要是受布線資源的限制。有些線要繞遠,時鐘頻率高了,就來不及。最后看看時延。GPU時延高于FPGA。GPU通常需要將不同的訓練樣本,劃分成固定大小的“Batch(批次)”,為了最大化達到并行性,需要將數(shù)個Batch都集齊,再統(tǒng)一進行處理。FPGA的架構,是無批次(Batch-less)的。每處理完成一個數(shù)據(jù)包,就能馬上輸出,時延更有優(yōu)勢。那么,問題來了。GPU這里那里都不如FPGA和ASIC,為什么還會成為現(xiàn)在AI計算的大熱門呢?很簡單,在對算力性能和規(guī)模的極致追求下,現(xiàn)在整個行業(yè)根本不在乎什么成本和功耗。在英偉達的長期努力下,GPU的核心數(shù)和工作頻率一直在提升,芯片面積也越來越大,屬于硬剛算力。功耗靠工藝制程,靠水冷等被動散熱,反而不著火就行。除了硬件之外,上篇文章小棗君也提到,英偉達在軟件和生態(tài)方面很會布局。他們搗鼓出來的CUDA,是GPU的一個核心

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論