<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

CPU、GPU、TPU、NPU等的講解

如意 ? 來源:嵌入式Linux系統開發 ? 作者:Jasonangel ? 2021-01-05 14:54 ? 次閱讀

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

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

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

NPU即神經網絡處理器(Neural network Processing Unit)

概括三者區別:

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

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

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

所謂NPU, 即神經網絡處理器,用電路模擬人類的神經元和突觸結構。

CPU

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

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

CPU遵循的是馮諾依曼架構,其核心就是:存儲程序,順序執行。

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

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

沒錯,GPU便由此誕生了。

GPU

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

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

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

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

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

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

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

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

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

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

但GPU無法單獨工作,必須由CPU進行控制調用才能工作。CPU可單獨作用,處理復雜的邏輯運算和不同的數據類型,但當需要大量的處理類型統一的數據時,則可調用GPU進行并行計算。

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

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

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

TPU

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

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

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

ASIC是指依產品需求不同而定制化的特殊規格集成電路,由特定使用者要求和特定電子系統的需要而設計、制造。

而TPU(Tensor Processing Unit, 張量處理器)就是谷歌專門為加速深層神經網絡運算能力而研發的一款芯片,其實也是一款ASIC。

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

NPU

所謂NPU(Neural network Processing Unit), 即神經網絡處理器。用電路模擬人類的神經元和突觸結構。

神經網絡中存儲和處理是一體化的,都是通過突觸權重來體現。而馮·諾伊曼結構中,存儲和處理是分離的,分別由存儲器和運算器來實現,二者之間存在巨大的差異。當用現有的基于馮·諾伊曼結構的經典計算機(如X86處理器和英偉達GPU)來跑神經網絡應用時,就不可避免地受到存儲和處理分離式結構的制約,因而影響效率。這也就是專門針對人工智能的專業芯片能夠對傳統芯片有一定先天優勢的原因之一。

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

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

BPU

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

DPU

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

總結

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

BPU – Brain Processing Unit,地平線公司主導的嵌入式處理器架構。

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

DPU – Deep learning Processing Unit, 深度學習處理器,最早由國內深鑒科技提出;另說有Dataflow Processing Unit 數據流處理器, Wave Computing 公司提出的AI架構;Data storage Processing Unit,深圳大普微的智能固態硬盤處理器。

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

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

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

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

MPU/MCU – Microprocessor/Micro controller Unit, 微處理器/微控制器,一般用于低計算應用的RISC計算機體系架構產品,如ARM-M系列處理器。

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

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

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10491

    瀏覽量

    207030
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4456

    瀏覽量

    126977
  • TPU
    TPU
    +關注

    關注

    0

    文章

    133

    瀏覽量

    20581
收藏 人收藏

    評論

    相關推薦

    一文理清CPU、GPUTPU的關系

    很多讀者可能分不清楚 CPU、GPUTPU 之間的區別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區別,并討論為什么 TPU 能加速深度學習。
    的頭像 發表于 09-04 11:12 ?4067次閱讀

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

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

    CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植優化學習筆記5——CPU,GPU,TPU,NPU都是什么一、什么是CPU?二、什么是GPU
    發表于 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、這些主控異同點有哪些?
    發表于 12-17 17:07

    一文了解CPU、GPUTPU的區別

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

    一文搞懂 CPU、GPUTPU

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

    CPUGPUTPU是如何工作的到底有什么區別

    很多讀者可能分不清楚 CPU、GPUTPU 之間的區別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區別,并討論為什么 TPU 能加速深度學習。
    的頭像 發表于 01-20 11:57 ?5221次閱讀

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

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

    Arm即將推出新一代的旗艦CPU、GPUNPU

    Arm宣布推出用于旗艦型手機的新款處理器IP系列:Cortex-X1 CPU,Cortex-A78 CPU,Mali-G78 GPU和Ethos-N78神經網絡處理器(NPU)。
    的頭像 發表于 05-28 11:21 ?3952次閱讀
    Arm即將推出新一代的旗艦<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>和<b class='flag-5'>NPU</b>

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

    MPU、MCU、CPU、GPU、DSP、MMU、TPU、NPU大雜燴寫在前面:相信大家都和我一樣,對這些U的英文縮寫,傻傻分不清楚,這是最近收集的一些,整理一下,做個記錄。MPU與MC
    發表于 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、GPU、TPU、DPU、NPU、BPU?有什么區別?

    技術日新月異,物聯網、人工智能、深度學習等遍地開花,各類芯片名詞GPU, TPU, NPU,DPU層出不窮…它們都是什么鬼?又有什么不一樣? 01 CPU
    的頭像 發表于 06-30 08:48 ?1.3w次閱讀
    什么是<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?有什么區別?

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

    cpu gpu npu的區別 NPUGPU哪個好?gpu是什么意思? 在當今數字化和人工智能的
    的頭像 發表于 08-27 17:03 ?8660次閱讀

    TPUNPU的區別

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

    CPUGPUTPU之間有什么區別?

    CPUGPUTPU之間有什么區別? CPU(Central Processing Unit,中央處理器)是一種通用處理器,被用于各種計算任務,如操作系統運行、數據處理、算法運算等。
    的頭像 發表于 12-15 10:10 ?4697次閱讀

    CPU、GPU、TPU、NPU分別是什么?哪個最強?

    技術日新月異,物聯網、人工智能、深度學習等遍地開花,各類芯片名詞CPU,GPU,TPU,NPU層出不窮…它們都是什么?又有著什么千絲萬縷的關系和區別?接下來,統一介紹一下:01CPUC
    的頭像 發表于 12-22 08:26 ?945次閱讀
    <b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>、<b class='flag-5'>TPU</b>、<b class='flag-5'>NPU</b>分別是什么?哪個最強?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>