目前主要的處理器架構(gòu)有:
- X86: Intel, AMD, 海光, 兆芯
- ARM: 華為,飛騰,華芯通,Cavium,Ampere,富士通,亞馬遜
- POWER:IBM, 中晟宏芯
- MIPS:龍芯
- Alpha:申威
X86處理器
X86架構(gòu)(The X86 architecture)是微處理器執(zhí)行的計算機(jī)語言指令集,指一個intel通用計算機(jī)系列的標(biāo)準(zhǔn)編號縮寫,也標(biāo)識一套通用的計算機(jī)指令集合。
ARM處理器
ARM(Advanced RISC machines)一個32位元精簡指令集(RISC)處理器架構(gòu),ARM處理器廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。ARM處理器的特點有指令長度固定,執(zhí)行效率高,低成本等。
ARM 架構(gòu)是開放性的商業(yè) IP 授權(quán),x86 是封閉架構(gòu),美國 Intel 和 AMD 對知識產(chǎn)權(quán)處于壟斷地位(PS:現(xiàn)在華為等國內(nèi)公司研發(fā)多以ARM架構(gòu)為主)
ARM 比 x86 架構(gòu)的優(yōu)勢和劣勢
優(yōu)勢:
- 1) 物理核心更多,適用于當(dāng)前數(shù)據(jù)中心主流的分布式計算場景;例如大數(shù)據(jù)、分布式存儲、HPC 等;
- 2) 能耗更能,節(jié)能環(huán)保;與同樣性能的 x86 處理器相比,功耗低 20%以上;
劣勢:
- 1) 單核性能稍弱于 x86;
- 2) 相比于 Intel AVX512,向量指令運算能力偏弱,在 HPC 部分場景性能低于 x86;對通用場景無任何影響;
什么是異構(gòu)?
- 1) 從計算單元角度來看,x86 處理器之外的計算單元,都可認(rèn)為是異構(gòu)單元,例如 GPU,F(xiàn)PGA 加速卡等;
- 2) 從軟件系統(tǒng)集群角度來看,基于不同處理器的服務(wù)器可以認(rèn)為是異構(gòu);例如基于 E5-2650v4 的大數(shù)據(jù)集群使用基于 Gold 5115 或者鯤鵬 916 的服務(wù)器來擴(kuò)容,就屬于擴(kuò)容異構(gòu)節(jié)點。
什么是眾核?
眾核是相對于單核而言,即最早的芯片只有一個核,到后來的雙核(dual core)和四核(quad core)。超過這個數(shù)量的,不多于 10 個核的,一般稱為多核“multi core”。當(dāng)前的 CPU 核數(shù)達(dá)到 32~64,業(yè)界稱為眾核“many core”。多核和眾核之間的界限,并沒有嚴(yán)格的限制。
AI處理器
所謂的AI芯片,一般是指針對AI算法的ASIC(專用芯片)。傳統(tǒng)的CPU、GPU都可以拿來執(zhí)行AI算法,但是速度慢,性能低,無法實際商用。
華為很早就開始布局AI芯片。2017年9月德國IFA電子消費展上,華為就率先推出了內(nèi)置NPU(獨立神經(jīng)網(wǎng)絡(luò)處理單元)的全球首款A(yù)I芯片麒麟970。
AI處理器的發(fā)展和設(shè)計目標(biāo)
目前在圖像識別、語音識別、自然語言處理等領(lǐng)域,精度最高的算法就是基于深度學(xué)習(xí)的,傳統(tǒng)的機(jī)器學(xué)習(xí)的計算精度已經(jīng)被超越,目前應(yīng)用最廣的算法,估計非深度學(xué)習(xí)莫屬,而且,傳統(tǒng)機(jī)器學(xué)習(xí)的計算量與 深度學(xué)習(xí)比起來少很多,所以,我討論AI芯片時就針對計算量特別大的深度學(xué)習(xí)而言。畢竟,計算量小的算法,說實話,CPU已經(jīng)很快了。而且,CPU適合執(zhí)行調(diào)度復(fù)雜的算法,這一點是GPU與AI芯片都做不到的,所以他們?nèi)咧皇轻槍Σ煌膽?yīng)用場景而已,都有各自的主場。
GPU本來是從CPU中分離出來專門處理圖像計算的,也就是說,GPU是專門處理圖像計算的。包括各種特效的顯示。這也是GPU的天生的缺陷,GPU更加針對圖像的渲染等計算算法。但是,這些算法,與深度學(xué)習(xí)的算法還是有比較大的區(qū)別,而我的回答里提到的AI芯片,比如TPU,這個是專門針對CNN等典型深度學(xué)習(xí)算法而開發(fā)的。另外,寒武紀(jì)的NPU,也是專門針對神經(jīng)網(wǎng)絡(luò)的,與TPU類似。
谷歌的TPU,寒武紀(jì)的DianNao,這些AI芯片剛出道的時候,就是用CPU/GPU來對比的。
AI芯片,比如大名鼎鼎的谷歌的TPU1。
TPU1,大約700M Hz,有256X256尺寸的脈動陣列,如下圖所示。一共256X256=64K個乘加單元,每個單元一次可執(zhí)行一個乘法和一個加法。那就是128K個操作。(乘法算一個,加法再算一個)