開發環境:
CPU、GPU由於發展歷程久,無論是開發工具還是從業的開發人員都比其他平臺多。FPGA雖然靈活多變,但需要用到硬件編程語言(Verilog)市場人才較少,生態不完善,開發難度大,對小公司來說挑戰非常大。
峰值浮點運算能力:
雖然TPU的峰值運算能力高於GPU,但由於GPU支持32位的單精度浮點運算,TPU的計算單位為8位整數運算,所以GPU是訓練端運算能力最強芯片,而TPU由於精度有限只能用於推斷。
功耗及能耗比:
由於更接近與底層IO,所以ASIC的能效比最高,而FPGA有冗餘的晶體管所以能效次之。CPU和GPU屬於通用處理器,需要指令調用編譯後執行,需要大量的數據遷移成本,能效較差。
一、CPU
CPU是系統的主控芯片在智能設備中起著運算及調用設備其他各功能構件的作用,是智能設備的“大腦”。
硬件構架:
control:為邏輯控制單元
ALU:為算術計算單元,包括定點計算單元、浮點計算單元
DRAM:表示存儲單元,即片內存儲單元。
Cache:為緩存。主要用於臨時存儲從片內存儲單元中調用的指令。
主要特徵:
延時較長:CPU在執行指令時,採取串行計算模式,各指令之間需要按順序處理,
因此週期較長,延遲較高。
功能豐富:CPU硬件架構上邏輯控制單元較多,一般情況下佔芯片總面積的60%。
計算能力弱:CPU硬件架構中計算單元數目較少。一般情況下,計算單元面積佔40%。
能耗較高:由於CPU 指令執行流程較複雜, 指令執行時需要經過較多的邏輯判斷,
因此芯片功耗較大。
二、GPU
GPU是專為執行復雜的數學和幾何計算而設計的數據處理芯片,構成相對簡單,大部分晶體管主要用於構建控制電路(比如分支預測等)和Cache,只有少部分的晶體管來完成實際的運算工作。
硬件構架:
延時較長:GPU 在執行指令時, 採取串行計算模式,各指令之間需要按順序處理,因此週期較長,延遲較高。
功能有限:GPU 架構中邏輯控制單元較少,對於具有複雜邏輯判斷算法運行效率不高,適合
重複性的大數據量計算。
計算能力強:GPU計算單元數目非常多。一般情況計算單元面積佔60%-70% ,因此非常適用
大量並行計算。
能耗最高:由於GPU芯片晶體管數量遠大CPU,運行時要處理大量運算,所以芯片產生的能耗
最高。
主要產品:
三、FPGA
FPGA是集成大量基本門電路及存儲器的芯片,通過硬件語言設計邏輯電路,並燒入FPGA配置文件來定義這些門電路及存儲器間的連線,從而將FPGA轉變為不同的處理器。
硬件架構:
主要特徵:
延時較短:FPGA 處理數據時,由特定邏輯電路直接專門處理,沒有讀取、編譯
指令等過程,直接執行運算。
功能多變:FPGA 由大量的CLB 、IO 、PI組成,可以定製設計,同時也可在原來
的芯片上進行優化修改,具備可編程性。
計算能力有限:FPGA每個最小單元的計算能力較低,主要靠並行計算,因此計算能力
受到處理單元數量限制。
能耗較低:FPGA無其他指令讀取分析過程, 同時在每次設計好結構後專用性比較
強, 走線相對簡單。
主要產品:
四、ASIC
在集成電路界ASIC被認為是一種為專門目的而設計的集成電路。是指應特定用戶要求和特定電子系統的需要而設計、製造的集成電路,是不可通用配置的高度定製專用芯片。
硬件架構:
主要特徵:
延時最短:ASIC算是對特定算法進行固化的電路,沒有FPGA 的冗餘電路,處理
時直接在硬件上計算,延時最短。
功能單一:ASIC基於特定算法程序定製,在算法模型出現變化時,原來的ASIC運行
效率將大大降低。
計算能力有限:一般情況下,ASIC與FPGA類似,即單個運算單元的處理能力有限,
主要靠並行計算。
能耗最低:ASIC 基於特定算法定製,不會浪費較多硬件資源,同時電路走線也比較清
晰、直接。
主要產品: