首頁>Club>
1
回覆列表
  • 1 # 北航秦曾昌

    FPGA(Field Programmable Gate Array),即現場可程式設計邏輯陣列,是一種高效能、低功耗的可程式設計晶片,它是一堆邏輯閘電路的組合,能夠被重複程式設計,因此可以根據使用者的定製來製作針對性的演算法設計。

    FPGA不依賴於任何的指令和軟體,是軟硬體一體的器件。使用硬體描述語言如VHDL、Verilog來對FPGA進行程式設計,將描述的邏輯直接編譯成電晶體電路的組合。也就是FPGA直接用電晶體,來實現對定製演算法的固定運算,並不依賴於指令翻譯。所以在處理海量資料時,相比於CPU和GPU在計算時需要進行取指令和指令譯碼的過程,FPGA效率更高。

    ASIC(Application Specific Integrated Circuits),即專用積體電路。同FPGA類似,ASIC也是針對特定的需求專門定製的晶片,但是ASIC則更進一步,ASIC一但出廠就不可以被再程式設計。

    在網上看到的一個形象的說明就是,FPGA就像是積木,可以供人根據需求自由組合。而ASIC則是像是出廠就定製好的模型,無法更改。因此FPGA的開發週期較ASIC更短,ASIC需要更多時間進行特別設計以滿足需求。但是ASIC在晶片的效率和穩定性上更佔優,並且一旦量產,ASIC的成本會遠遠低於FPGA。

    由於FPGA和ASIC的不同效能,因此他們的目標市場也不同。FPGA主要針對企業級的服務;而ASIC則是面向消費級的。

    在機器學習領域、特別是深度學習,依賴於進行重複的大量的計算,就需要定製特殊晶片來加速運算。許多企業如阿里巴巴、微軟等紛紛建立了專門的FPGA研發團隊,來對其伺服器進行計算加速。谷歌之前推出的TPU(Tensor Processing Uni,張量處理器)就是基於ASIC,針對於其深度學習框架TensorFlow而開發的。國內的新晉晶片設計廠商寒武紀也有基於ASIC的NPU(Neural-network Process Unit)。

    圖為ASIC廠商寒武紀的NPU Cambricon-1A晶片

    在加密數字貨幣挖礦領域,因為不同幣種挖礦的演算法不一樣,例如比特幣是SHA-256演算法,萊特幣是Scrypt演算法,而不同的演算法對硬體的要求自然也會不同。許多廠商推出了基於FPGA和ASIC的定製礦機,能夠極大的提高礦機的運算能力。

  • 2 # 高大福

    通俗地來講,兩者雖然都屬於專用晶片,但最大的區別在於:FPGA可程式設計,而ASIC不可程式設計。

    舉個例子,如果把ASIC比作專攻100米的短跑運動員的話,那麼同樣是田徑運動員的FPGA在經過“調教”以後除了100米以外還能跑200米、400米甚至是800米。而CPU這種通用晶片是全能運動員,既可以跑步、跨欄、也能舉重、游泳和打籃球。

    相比於FPGA而言,ASIC的程式一旦固話下來效率會更高,例如基於谷歌Tensor Flow深度學習框架的AI晶片TPU、百度的AI晶片“崑崙”以及比特幣的挖礦機都採用了ASIC架構來提高運算速度。以百度的崑崙晶片為例,它的AI加速效能要比一般的FPGA快30倍。

    而FPGA由於可以反覆程式設計修改其執行的邏輯,它的靈活度較高,適合軍工、無人駕駛等比較複雜的應用環境。雖然它在效能比不上ASIC,但還是要比CPU要快上不少。

    FGPA和ASIC兩者各有各的用處,無法互相替代。

  • 中秋節和大豐收的關聯?
  • 有be obsessed about嗎?