1. 程式人生 > >ARM處理器、X86處理器和AI處理器的區別

ARM處理器、X86處理器和AI處理器的區別

ARM處理器、X86處理器和AI處理器的區別

目前主要的處理器架構有:

  • X86: Intel, AMD, 海光, 兆芯
  • ARM: 華為,飛騰,華芯通,Cavium,Ampere,富士通,亞馬遜
  • POWER:IBM, 中晟巨集芯
  • MIPS:龍芯
  • Alpha:申威

X86處理器

X86架構(The X86 architecture)是微處理器執行的計算機語言指令集,指一個intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合。

ARM處理器

 ARM(Advanced RISC Machines)一個32位元精簡指令集(RISC)處理器架構,ARM處理器廣泛地使用在許多嵌入式系統設計。ARM處理器的特點有指令長度固定,執行效率高,低成本等。

 ARM 架構是開放性的商業 IP 授權,x86 是封閉架構,美國 Intel 和 AMD 對智慧財產權處於壟斷地位 (PS:現在華為等國內公司研發多以ARM架構為主)

ARM 比 x86 架構的優勢和劣勢

優勢:
  • 1) 物理核心更多,適用於當前資料中心主流的分散式計算場景;例如大資料、分散式儲存、HPC 等;
  • 2) 能耗更能,節能環保;與同樣效能的 x86 處理器相比,功耗低 20%以上;
劣勢:
  • 1) 單核效能稍弱於 x86;
  • 2) 相比於 Intel AVX512,向量指令運算能力偏弱,在 HPC 部分場景效能低於 x86;對通用場景無任何影響;

什麼是異構?

  • 1) 從計算單元角度來看,x86 處理器之外的計算單元,都可認為是異構單元,例如 GPU,FPGA 加速卡等;
  • 2) 從軟體系統叢集角度來看,基於不同處理器的伺服器可以認為是異構;例如基於 E5-2650v4 的大資料叢集使用基於 Gold 5115 或者鯤鵬 916 的伺服器來擴容,就屬於擴容異構節點。

什麼是眾核?

眾核是相對於單核而言,即最早的晶片只有一個核,到後來的雙核(dual core)和四核(quad core)。超過這個數量的,不多於 10 個核的,一般稱為多核“multi core”。當前的 CPU 核數達到 32~64,業界稱為眾核“many core”。多核和眾核之間的界限,並沒有嚴格的限制。

AI處理器

所謂的AI晶片,一般是指標對AI演算法的ASIC(專用晶片)。傳統的CPU、GPU都可以拿來執行AI演算法,但是速度慢,效能低,無法實際商用。

華為很早就開始佈局AI晶片。2017年9月德國IFA電子消費展上,華為就率先推出了內建NPU(獨立神經網路處理單元)的全球首款AI晶片麒麟970。

AI處理器的發展和設計目標

目前在影象識別、語音識別、自然語言處理等領域,精度最高的演算法就是基於深度學習的,傳統的機器學習的計算精度已經被超越,目前應用最廣的演算法,估計非深度學習莫屬,而且,傳統機器學習的計算量與 深度學習比起來少很多,所以,我討論AI晶片時就針對計算量特別大的深度學習而言。畢竟,計算量小的演算法,說實話,CPU已經很快了。而且,CPU適合執行排程複雜的演算法,這一點是GPU與AI晶片都做不到的,所以他們三者只是針對不同的應用場景而已,都有各自的主場。

GPU本來是從CPU中分離出來專門處理影象計算的,也就是說,GPU是專門處理影象計算的。包括各種特效的顯示。這也是GPU的天生的缺陷,GPU更加針對影象的渲染等計算演算法。但是,這些演算法,與深度學習的演算法還是有比較大的區別,而我的回答裡提到的AI晶片,比如TPU,這個是專門針對CNN等典型深度學習演算法而開發的。另外,寒武紀的NPU,也是專門針對神經網路的,與TPU類似。
谷歌的TPU,寒武紀的DianNao,這些AI晶片剛出道的時候,就是用CPU/GPU來對比的。

AI晶片,比如大名鼎鼎的谷歌的TPU1。

TPU1,大約700M Hz,有256X256尺寸的脈動陣列,如下圖所示。一共256X256=64K個乘加單元,每個單元一次可執行一個乘法和一個加法。那就是128K個操作。(乘法算一個,加法再算一個)