0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CPU、GPU、TPU、NPU等的講解

如意 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:Jasonangel ? 2021-01-05 14:54 ? 次閱讀

CPU即中央處理器(Central Processing Unit)

GPU即圖形處理器(Graphics Processing Unit)

TPU即谷歌的張量處理器(Tensor Processing Unit)

NPU即神經(jīng)網(wǎng)絡(luò)處理器(Neural network Processing Unit)

概括三者區(qū)別:

CPU雖然有多核,但一般也就幾個,每個核都有足夠大的緩存和足夠多的數(shù)字和邏輯運算單元,需要很強的通用性來處理各種不同的數(shù)據(jù)類型,同時又要邏輯判斷又會引入大量的分支跳轉(zhuǎn)和中斷的處理,并輔助有很多加速分支判斷甚至更復(fù)雜的邏輯判斷的硬件;

GPU的核數(shù)遠超CPU,被稱為眾核(NVIDIA Fermi有512個核)。每個核擁有的緩存大小相對小,數(shù)字邏輯運算單元也少而簡單(GPU初始時在浮點計算上一直弱于CPU),面對的則是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計算環(huán)境。

TPU是一款為機器學(xué)習(xí)而定制的芯片,經(jīng)過了專門深度機器學(xué)習(xí)方面的訓(xùn)練,它有更高效能(每瓦計算能力)。大致上,相對于現(xiàn)在的處理器有7年的領(lǐng)先優(yōu)勢,寬容度更高,每秒在芯片中可以擠出更多的操作時間,使用更復(fù)雜和強大的機器學(xué)習(xí)模型,將之更快的部署,用戶也會更加迅速地獲得更智能的結(jié)果。

所謂NPU, 即神經(jīng)網(wǎng)絡(luò)處理器,用電路模擬人類的神經(jīng)元和突觸結(jié)構(gòu)。

CPU

中央處理器(CPU,Central Processing Unit),是電子計算機的主要設(shè)備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。電腦中所有操作都由CPU負責(zé)讀取指令,對指令譯碼并執(zhí)行指令的核心部件。

CPU的結(jié)構(gòu)主要包括運算器(ALU, Arithmetic and Logic Unit)、控制單元(CU, Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數(shù)據(jù)、控制及狀態(tài)的總線。

CPU遵循的是馮諾依曼架構(gòu),其核心就是:存儲程序,順序執(zhí)行。

另外,因為遵循馮諾依曼架構(gòu)(存儲程序,順序執(zhí)行),CPU就像是個一板一眼的管家,人們吩咐的事情它總是一步一步來做。但是隨著人們對更大規(guī)模與更快處理速度的需求的增加,這位管家漸漸變得有些力不從心。

于是,大家就想,能不能把多個處理器放在同一塊芯片上,讓它們一起來做事,這樣效率不就提高了嗎?

沒錯,GPU便由此誕生了。

GPU

在正式講解GPU之前,我們先來講講上文中提到的一個概念:并行計算。

并行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統(tǒng)計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來共同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來并行計算。

并行計算可分為時間上的并行和空間上的并行。

時間上的并行是指流水線技術(shù),比如說工廠生產(chǎn)食品的時候分為四步:清洗-消毒-切割-包裝。

如果不采用流水線,一個食品完成上述四個步驟后,下一個食品才進行處理,耗時且影響效率。但是采用流水線技術(shù),就可以同時處理四個食品。這就是并行算法中的時間并行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。

空間上的并行是指多個處理機并發(fā)的執(zhí)行計算,即通過網(wǎng)絡(luò)將兩個以上的處理機連接起來,達到同時計算同一個任務(wù)的不同部分,或者單個處理機無法解決的大型問題。

比如小李準備在植樹節(jié)種三棵樹,如果小李1個人需要6個小時才能完成任務(wù),植樹節(jié)當(dāng)天他叫來了好朋友小紅、小王,三個人同時開始挖坑植樹,2個小時后每個人都完成了一顆植樹任務(wù),這就是并行算法中的空間并行,將一個大任務(wù)分割成多個相同的子任務(wù),來加快問題解決速度。

所以說,如果讓CPU來執(zhí)行這個種樹任務(wù)的話,它就會一棵一棵的種,花上6個小時的時間,但是讓GPU來種樹,就相當(dāng)于好幾個人同時在種。

GPU全稱為Graphics Processing Unit,中文為圖形處理器,就如它的名字一樣,GPU最初是用在個人電腦、工作站、游戲機和一些移動設(shè)備(如平板電腦、智能手機等)上運行繪圖運算工作的微處理器

為什么GPU特別擅長處理圖像數(shù)據(jù)呢?這是因為圖像上的每一個像素點都有被處理的需要,而且每個像素點處理的過程和方式都十分相似,也就成了GPU的天然溫床。

但GPU無法單獨工作,必須由CPU進行控制調(diào)用才能工作。CPU可單獨作用,處理復(fù)雜的邏輯運算和不同的數(shù)據(jù)類型,但當(dāng)需要大量的處理類型統(tǒng)一的數(shù)據(jù)時,則可調(diào)用GPU進行并行計算。

GPU的工作大部分都計算量大,但沒什么技術(shù)含量,而且要重復(fù)很多很多次。

借用知乎上某大神的說法,就像你有個工作需要計算幾億次一百以內(nèi)加減乘除一樣,最好的辦法就是雇上幾十個小學(xué)生一起算,一人算一部分,反正這些計算也沒什么技術(shù)含量,純粹體力活而已;而CPU就像老教授,積分微分都會算,就是工資高,一個老教授資頂二十個小學(xué)生,你要是富士康你雇哪個?

但有一點需要強調(diào),雖然GPU是為了圖像處理而生的,但是我們通過前面的介紹可以發(fā)現(xiàn),它在結(jié)構(gòu)上并沒有專門為圖像服務(wù)的部件,只是對CPU的結(jié)構(gòu)進行了優(yōu)化與調(diào)整,所以現(xiàn)在GPU不僅可以在圖像處理領(lǐng)域大顯身手,它還被用來科學(xué)計算、密碼破解、數(shù)值分析,海量數(shù)據(jù)處理(排序,Map-Reduce等),金融分析等需要大規(guī)模并行計算的領(lǐng)域。

TPU

張量處理單元(TPU)是一種定制化的 ASIC 芯片,它由谷歌從頭設(shè)計,并專門用于機器學(xué)習(xí)工作負載。TPU 為谷歌的主要產(chǎn)品提供了計算支持,包括翻譯、照片、搜索助理和 Gmail 等。Cloud TPU 將 TPU 作為可擴展的云計算資源,并為所有在 Google Cloud 上運行尖端 ML 模型的開發(fā)者與數(shù)據(jù)科學(xué)家提供計算資源。

按照上文所述,CPU和GPU都是較為通用的芯片,但是有句老話說得好:萬能工具的效率永遠比不上專用工具。

隨著人們的計算需求越來越專業(yè)化,人們希望有芯片可以更加符合自己的專業(yè)需求,這時,便產(chǎn)生了ASIC(專用集成電路)的概念。

ASIC是指依產(chǎn)品需求不同而定制化的特殊規(guī)格集成電路,由特定使用者要求和特定電子系統(tǒng)的需要而設(shè)計、制造。

而TPU(Tensor Processing Unit, 張量處理器)就是谷歌專門為加速深層神經(jīng)網(wǎng)絡(luò)運算能力而研發(fā)的一款芯片,其實也是一款A(yù)SIC。

據(jù)稱,TPU與同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。初代的TPU只能做推理,要依靠Google云來實時收集數(shù)據(jù)并產(chǎn)生結(jié)果,而訓(xùn)練過程還需要額外的資源;而第二代TPU既可以用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),又可以用于推理。

NPU

所謂NPU(Neural network Processing Unit), 即神經(jīng)網(wǎng)絡(luò)處理器。用電路模擬人類的神經(jīng)元和突觸結(jié)構(gòu)。

神經(jīng)網(wǎng)絡(luò)中存儲和處理是一體化的,都是通過突觸權(quán)重來體現(xiàn)。而馮·諾伊曼結(jié)構(gòu)中,存儲和處理是分離的,分別由存儲器和運算器來實現(xiàn),二者之間存在巨大的差異。當(dāng)用現(xiàn)有的基于馮·諾伊曼結(jié)構(gòu)的經(jīng)典計算機(如X86處理器和英偉達GPU)來跑神經(jīng)網(wǎng)絡(luò)應(yīng)用時,就不可避免地受到存儲和處理分離式結(jié)構(gòu)的制約,因而影響效率。這也就是專門針對人工智能的專業(yè)芯片能夠?qū)鹘y(tǒng)芯片有一定先天優(yōu)勢的原因之一。

NPU的典型代表有國內(nèi)的寒武紀芯片和IBM的TrueNorth。以中國的寒武紀為例,DianNaoYu指令直接面對大規(guī)模神經(jīng)元和突觸的處理,一條指令即可完成一組神經(jīng)元的處理,并對神經(jīng)元和突觸數(shù)據(jù)在芯片上的傳輸提供了一系列專門的支持。

用數(shù)字來說話,CPU、GPU與NPU相比,會有百倍以上的性能或能耗比差距–以寒武紀團隊過去和Inria聯(lián)合發(fā)表的DianNao論文為例–DianNao為單核處理器,主頻為0.98GHz,峰值性能達每秒4520億次神經(jīng)網(wǎng)絡(luò)基本運算,65nm工藝下功耗為0.485W,面積3.02平方毫米mm。

BPU

BPU(Brain Processing Unit,大腦處理器)是由地平線科技提出的嵌入式人工智能處理器架構(gòu)。第一代是高斯架構(gòu),第二代是伯努利架構(gòu),第三代是貝葉斯架構(gòu)。目前地平線已經(jīng)設(shè)計出了第一代高斯架構(gòu),并與英特爾在2017年CES展會上聯(lián)合推出了ADAS系統(tǒng)(高級駕駛輔助系統(tǒng))。

DPU

DPU(Deep learning Processing Unit, 即深度學(xué)習(xí)處理器)最早由國內(nèi)深鑒科技提出,基于Xilinx可重構(gòu)特性的FPGA芯片,設(shè)計專用的深度學(xué)習(xí)處理單元(可基于已有的邏輯單元,設(shè)計并行高效的乘法器及邏輯電路,屬于IP范疇),且抽象出定制化的指令集和編譯器(而非使用OpenCL),從而實現(xiàn)快速的開發(fā)與產(chǎn)品迭代。事實上,深鑒提出的DPU屬于半定制化的FPGA。

總結(jié)

APU – Accelerated Processing Unit, 加速處理器,AMD公司推出加速圖像處理芯片產(chǎn)品。

BPU – Brain Processing Unit,地平線公司主導(dǎo)的嵌入式處理器架構(gòu)。

CPU – Central Processing Unit 中央處理器, 目前PC core的主流產(chǎn)品。

DPU – Deep learning Processing Unit, 深度學(xué)習(xí)處理器,最早由國內(nèi)深鑒科技提出;另說有Dataflow Processing Unit 數(shù)據(jù)流處理器, Wave Computing 公司提出的AI架構(gòu);Data storage Processing Unit,深圳大普微的智能固態(tài)硬盤處理器。

FPU – Floating Processing Unit 浮點計算單元,通用處理器中的浮點運算模塊。

GPU – Graphics Processing Unit, 圖形處理器,采用多線程SIMD架構(gòu),為圖形處理而生。

HPU – Holographics Processing Unit 全息圖像處理器, 微軟出品的全息計算芯片與設(shè)備。

IPU – Intelligence Processing Unit, Deep Mind投資的Graphcore公司出品的AI處理器產(chǎn)品。

MPU/MCU – Microprocessor/Micro controller Unit, 微處理器/微控制器,一般用于低計算應(yīng)用的RISC計算機體系架構(gòu)產(chǎn)品,如ARM-M系列處理器。

NPU – Neural Network Processing Unit,神經(jīng)網(wǎng)絡(luò)處理器,是基于神經(jīng)網(wǎng)絡(luò)算法與加速的新型處理器總稱,如中科院計算所/寒武紀公司出品的diannao系列。

RPU – Radio Processing Unit, 無線電處理器, Imagination Technologies 公司推出的集合集Wifi/藍牙/FM/處理器為單片的處理器。

TPU – Tensor Processing Unit 張量處理器, Google 公司推出的加速人工智能算法的專用處理器。目前一代TPU面向Inference,二代面向訓(xùn)練。

VPU – Vector Processing Unit 矢量處理器,Intel收購的Movidius公司推出的圖像處理與人工智能的專用芯片的加速計算核心。

WPU – Wearable Processing Unit, 可穿戴處理器,Ineda Systems公司推出的可穿戴片上系統(tǒng)產(chǎn)品,包含GPU/MIPS CPU等IP。

XPU – 百度與Xilinx公司在2017年Hotchips大會上發(fā)布的FPGA智能云加速,含256核。

ZPU – Zylin Processing Unit,由挪威Zylin 公司推出的一款32位開源處理器。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210420
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4631

    瀏覽量

    128440
  • TPU
    TPU
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    20668
收藏 人收藏

    評論

    相關(guān)推薦

    一文理清CPU、GPUTPU的關(guān)系

    很多讀者可能分不清楚 CPUGPUTPU 之間的區(qū)別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區(qū)別,并討論為什么 TPU 能加速深度學(xué)習(xí)。
    的頭像 發(fā)表于 09-04 11:12 ?4357次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】--全書概覽

    、GPUNPU,給我們剖析了算力芯片的微架構(gòu)。書中有對芯片方案商處理器的講解,理論聯(lián)系實際,使讀者能更好理解算力芯片。 全書共11章,由淺入深,較系統(tǒng)全面進行講解。下面目錄對全書
    發(fā)表于 10-15 22:08

    CPU、GPU再到TPU,Google的AI芯片是如何一步步進化過來的?

    CPU主要包含運算邏輯器件、寄存器部件以及控制部件。CPU結(jié)構(gòu)簡化圖 via:blog.csdn.net從字面上我們也很好理解,運算邏輯器件主要執(zhí)行算術(shù)運算、移位操作,以及地址運
    發(fā)表于 03-15 11:40

    CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植優(yōu)化學(xué)習(xí)筆記5——CPU,GPU,TPU,NPU都是什么一、什么是CPU?二、什么是GPU
    發(fā)表于 12-15 06:07

    MCU、DSP、GPU、MPU、CPU、DPU、FPGA、ASIC、SOC、ECU、NPU、TPU、VPU、APU、BPU、ECU、FPU、EPU、這些主控異同點有哪些?

    MCU、DSP、GPU、MPU、CPU、DPU、FPGA、ASIC、SOC、ECU、NPU、TPU、VPU、APU、BPU、ECU、FPU、EPU、這些主控異同點有哪些?
    發(fā)表于 12-17 17:07

    一文了解CPU、GPUTPU的區(qū)別

    很多讀者可能分不清楚 CPUGPUTPU 之間的區(qū)別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區(qū)別,并討論為什么 TPU 能加速深度學(xué)習(xí)。
    的頭像 發(fā)表于 09-06 16:53 ?2.8w次閱讀

    一文搞懂 CPU、GPUTPU

    張量處理單元(TPU)是一種定制化的 ASIC 芯片,它由谷歌從頭設(shè)計,并專門用于機器學(xué)習(xí)工作負載。TPU 為谷歌的主要產(chǎn)品提供了計算支持,包括翻譯、照片、搜索助理和 Gmail 。 在本文中,我們將關(guān)注
    的頭像 發(fā)表于 09-15 10:46 ?4.4w次閱讀

    TPUGPU的帶寬模型

    帶寬模型最大的限制就是這些計算是針對特定矩陣大小的,計算的難度在各種尺寸之間都不同。例如,如果你的batch size是128,那么GPU的速度會比TPU稍快一點。如果batch size小于128
    的頭像 發(fā)表于 10-21 09:20 ?4282次閱讀

    CPUGPUTPU是如何工作的到底有什么區(qū)別

    很多讀者可能分不清楚 CPUGPUTPU 之間的區(qū)別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區(qū)別,并討論為什么 TPU 能加速深度學(xué)習(xí)。
    的頭像 發(fā)表于 01-20 11:57 ?5505次閱讀

    芯片里的CPUGPU、NPU是什么,它們是如何工作的

    眾所周知,隨著智能手機的流行,越來越多的人都知道了手機芯片的相關(guān)知識,更是知道了CPUGPU、NPU等等“深奧”的知識點。
    的頭像 發(fā)表于 03-25 14:21 ?1.6w次閱讀

    MPU、MCU、CPU、GPU、DSP、MMU、TPU、NPU大雜燴

    MPU、MCU、CPUGPU、DSP、MMU、TPU、NPU大雜燴寫在前面:相信大家都和我一樣,對這些U的英文縮寫,傻傻分不清楚,這是最近收集的一些,整理一下,做個記錄。MPU與MC
    發(fā)表于 12-08 14:21 ?19次下載
    MPU、MCU、<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>、DSP、MMU、<b class='flag-5'>TPU</b>、<b class='flag-5'>NPU</b>大雜燴

    什么是CPU、GPUTPU、DPU、NPU、BPU?有什么區(qū)別?

    技術(shù)日新月異,物聯(lián)網(wǎng)、人工智能、深度學(xué)習(xí)遍地開花,各類芯片名詞GPU, TPU, NPU,DPU層出不窮…它們都是什么鬼?又有什么不一樣? 01
    的頭像 發(fā)表于 06-30 08:48 ?1.6w次閱讀
    什么是<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>、<b class='flag-5'>TPU</b>、DPU、<b class='flag-5'>NPU</b>、BPU?有什么區(qū)別?

    cpu gpu npu的區(qū)別 NPUGPU哪個好?gpu是什么意思?

    (CPU)、Graphics Processing Unit(GPU)和Neural Processing Unit(NPU)處理器和芯片被廣泛應(yīng)用于各種領(lǐng)域。這些處理器和芯片在計算
    的頭像 發(fā)表于 08-27 17:03 ?1w次閱讀

    TPUNPU的區(qū)別

    TPUNPU的區(qū)別? 在IT領(lǐng)域中,TPUNPU屬于兩種不同類型的芯片。這兩種芯片都是專為人工智能(AI)和大型數(shù)據(jù)分析設(shè)計而開發(fā)的,但它們的功能和優(yōu)點卻有所不同。在本文中,我們將
    的頭像 發(fā)表于 08-27 17:08 ?7167次閱讀

    CPUGPUTPU之間有什么區(qū)別?

    CPUGPUTPU之間有什么區(qū)別? CPU(Central Processing Unit,中央處理器)是一種通用處理器,被用于各種計算任務(wù),如操作系統(tǒng)運行、數(shù)據(jù)處理、算法運算
    的頭像 發(fā)表于 12-15 10:10 ?6394次閱讀