ARM處理器、X86處理器和AI處理器的區別
- 2019 年 11 月 2 日
- 筆記
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 的伺服器來擴容,就屬於擴容異構節點。
什麼是眾核?
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類似。
Google的TPU,寒武紀的DianNao,這些AI晶片剛出道的時候,就是用CPU/GPU來對比的。
AI晶片,比如大名鼎鼎的Google的TPU1。
TPU1,大約700M Hz,有256X256尺寸的脈動陣列,如下圖所示。一共256X256=64K個乘加單元,每個單元一次可執行一個乘法和一個加法。那就是128K個操作。(乘法算一個,加法再算一個)