精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

CPU和GPU的簡介和差別

傳感器技術(shù) ? 2018-04-06 12:08 ? 次閱讀

NVIDIA 近日宣布,NVIDIA? Tesla? AI 超級計算機平臺將為最新一期的全球最節(jié)能高性能計算 (HPC) 系統(tǒng) Green500 榜單中排名前 13 的系統(tǒng)提供動力支持。所有這 13 臺計算機均使用 NVIDIA Tesla P100 數(shù)據(jù)中心 GPU 加速器,其中便包括基于 NVIDIA DGX-1? AI 超級計算機的四個系統(tǒng)。

NVIDIA還公布一些性能數(shù)據(jù),這些數(shù)據(jù)表明,相比兩年前發(fā)布的 Kepler 架構(gòu),NVIDIA Tesla GPU 已將 HPC 應用程序的性能提升 3 倍之多。這大大超越摩爾定律對于性能提升的預測,甚至在其近些年開始減速之前便已如此。

很多人有這樣的疑問,現(xiàn)在像挖礦、破解密碼甚至超級計算等領(lǐng)域,越來越多地需要用的是 GPU 而不是 CPU,是不是CPU被GPU取代的一天就要到來了?

CPU和GPU簡介

什么是CPU

中央處理器(英文Central Processing Unit,CPU)是一臺計算機的運算核心和控制核心。CPU、內(nèi)部存儲器和輸入/輸出設(shè)備是電子計算機三大核心部件。其功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。CPU由運算器、控制器寄存器及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。差不多所有的CPU的運作原理可分為四個階段:提取(Fetch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。 CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,并執(zhí)行指令。所謂的計算機的可編程性主要是指對CPU的編程。

CPU的功能

計算機求解問題是通過執(zhí)行程序來實現(xiàn)的。程序是由指令構(gòu)成的序列,執(zhí)行程序就是按指令序列逐條執(zhí)行指令。一旦把程序裝入主存儲器(簡稱主存)中,就可以由CPU自動完成從主存取指令和執(zhí)行指令的任務。

CPU具有以下4個方面的基本功能:

1、指令順序控制

這是指控制程序中指令的執(zhí)行順序。程序中的各指令之間是有嚴格順序的,必須嚴格按

程序規(guī)定的順序執(zhí)行,才能保證計算機工作的正確性。

2、操作控制

一條指令的功能往往是由計算機中的部件執(zhí)行一序列的操作來實現(xiàn)的。CPU要根據(jù)指令的功能,產(chǎn)生相應的操作控制信號,發(fā)給相應的部件,從而控制這些部件按指令的要求進行動作。

3、時間控制

時間控制就是對各種操作實施時間上的定時。在一條指令的執(zhí)行過程中,在什么時間做什么操作均應受到嚴格的控制。只有這樣,計算機才能有條不紊地自動工作。

4、數(shù)據(jù)加工

即對數(shù)據(jù)進行算術(shù)運算和邏輯運算,或進行其他的信息處理。CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼。它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成一條指令的執(zhí)行。指令是計算機規(guī)定執(zhí)行操作的類型和操作數(shù)的基本命令。指令是由一個字節(jié)或者多個字節(jié)組成,其中包括操作碼字段、一個或多個有關(guān)操作數(shù)地址的字段以及一些表征機器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。

什么是GPU

(Graphic Processing Unit)圖形處理芯片。是顯示卡的“心臟”,也就相當于CPU在電腦中的作用,它決定了該顯卡的檔次和大部分性能,同時也是2D顯示卡和3D顯示卡的區(qū)別依據(jù)。2D顯示芯片在處理3D圖像和特效時主要依賴CPU的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內(nèi),也即所謂的“硬件加速”功能。顯示芯片通常是顯示卡上最大的芯片(也是引腳最多的)。現(xiàn)在市場上的顯卡大多采用nVIDIA和ATI兩家公司的圖形處理芯片。

今天,GPU已經(jīng)不再局限于3D圖形處理了,GPU通用計算技術(shù)發(fā)展已經(jīng)引起業(yè)界不少的關(guān)注,事實也證明在浮點運算、并行計算等部分計算方面,GPU可以提供數(shù)十倍乃至于上百倍于CPU的性能,如此強悍的“新星”難免會讓CPU廠商老大英特爾為未來而緊張, NVIDIA和英特爾也經(jīng)常為CPU和GPU誰更重要而展開口水戰(zhàn)。

GPU通用計算方面的標準目前有 OPEN CL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構(gòu)系統(tǒng)通用目的并行編程的開放式、免費標準,也是一個統(tǒng)一的編程環(huán)境,便于軟件開發(fā)人員為高性能計算服務器、桌面計算系統(tǒng)、手持設(shè)備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構(gòu)以及數(shù)字信號處理器(DSP)等其他并行處理器,在游戲、娛樂、科研、醫(yī)療等各種領(lǐng)域都有廣闊的發(fā)展前景,AMD-ATI、NVIDIA現(xiàn)在的產(chǎn)品都支持OPEN CL。

1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技術(shù)開發(fā)出了第一款圖形芯片和圖形卡,1992年 4月 ATi發(fā)布了 Mach32 圖形卡集成了圖形加速功能,1998年 4月 ATi被IDC評選為圖形芯片工業(yè)的市場領(lǐng)導者,但那時候這種芯片還沒有GPU的稱號,很長的一段時間ATI都是把圖形處理器稱為VPU,直到AMD收購ATI之后其圖形芯片才正式采用GPU的名字。NVIDIA公司在1999年發(fā)布GeForce 256圖形處理芯片時首先提出GPU的概念。從此NV顯卡的芯就用這個新名字GPU來稱呼。GPU使顯卡減少了對CPU的依賴,并進行部分原本CPU的工作,尤其是在3D圖形處理時。GPU所采用的核心技術(shù)有硬體T&L、立方環(huán)境材質(zhì)貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術(shù)可以說是GPU的標志。

CPU與GPU的區(qū)別

CPU和GPU大不相同,是由于其設(shè)計目標的不同,它們分別針對了兩種不同的應用場景。CPU需要很強的通用性來處理各種不同的數(shù)據(jù)類型,同時又要邏輯判斷又會引入大量的分支跳轉(zhuǎn)和中斷的處理。這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復雜。而GPU面對的則是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計算環(huán)境。

于是CPU和GPU就呈現(xiàn)出非常不同的架構(gòu)(示意圖):

CPU和GPU的簡介和差別

圖片來自nVidia CUDA文檔。其中綠色的是計算單元,橙紅色的是存儲單元,橙黃色的是控制單元。

GPU采用了數(shù)量眾多的計算單元和超長的流水線,但只有非常簡單的控制邏輯并省去了Cache。而CPU不僅被Cache占據(jù)了大量空間,而且還有有復雜的控制邏輯和諸多優(yōu)化電路,相比之下計算能力只是CPU很小的一部分

CPU和GPU的簡介和差別

從上圖可以看出:Registers: GPU > CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread數(shù)目大,register也必須得跟著很大才行。

SIMD Unit(單指令多數(shù)據(jù)流,以同步方式,在同一時間內(nèi)執(zhí)行同一條指令): GPU > CPU。

CPU 基于低延時的設(shè)計:

CPU和GPU的簡介和差別

CPU有強大的ALU(算術(shù)運算單元),它可以在很少的時鐘周期內(nèi)完成算術(shù)計算。

當今的CPU可以達到64bit 雙精度。執(zhí)行雙精度浮點源算的加法和乘法只需要1~3個時鐘周期。

CPU的時鐘周期的頻率是非常高的,達到1.532~3gigahertz(千兆HZ, 10的9次方)。大的緩存也可以降低延時。保存很多的數(shù)據(jù)放在緩存里面,當需要訪問的這些數(shù)據(jù),只要在之前訪問過的,如今直接在緩存里面取即可。

復雜的邏輯控制單元。當程序含有多個分支的時候,它通過提供分支預測的能力來降低延時。

數(shù)據(jù)轉(zhuǎn)發(fā)。 當一些指令依賴前面的指令結(jié)果時,數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯控制單元決定這些指令在pipeline中的位置并且盡可能快的轉(zhuǎn)發(fā)一個指令的結(jié)果給后續(xù)的指令。這些動作需要很多的對比電路單元和轉(zhuǎn)發(fā)電路單元。

GPU是基于大的吞吐量設(shè)計:

CPU和GPU的簡介和差別

GPU的特點是有很多的ALU和很少的cache. 緩存的目的不是保存后面需要訪問的數(shù)據(jù)的,這點和CPU不同,而是為thread提高服務的。如果有很多線程需要訪問同一個相同的數(shù)據(jù),緩存會合并這些訪問,然后再去訪問dram(因為需要訪問的數(shù)據(jù)保存在dram中而不是cache里面),獲取數(shù)據(jù)后cache會轉(zhuǎn)發(fā)這個數(shù)據(jù)給對應的線程,這個時候是數(shù)據(jù)轉(zhuǎn)發(fā)的角色。但是由于需要訪問dram,自然會帶來延時的問題。

GPU的控制單元(左邊黃色區(qū)域塊)可以把多個的訪問合并成少的訪問。

GPU的雖然有dram延時,卻有非常多的ALU和非常多的thread. 為啦平衡內(nèi)存延時的問題,我們可以中充分利用多的ALU的特性達到一個非常大的吞吐量的效果。盡可能多的分配多的Threads.通常來看GPU ALU會有非常重的pipeline就是因為這樣。

所以與CPU擅長邏輯控制,串行的運算。和通用類型數(shù)據(jù)運算不同,GPU擅長的是大規(guī)模并發(fā)計算,這也正是密碼破解等所需要的。所以GPU除了圖像處理,也越來越多的參與到計算當中來。

GPU的工作大部分就是這樣,計算量大,但沒什么技術(shù)含量,而且要重復很多很多次。就像你有個工作需要算幾億次一百以內(nèi)加減乘除一樣,最好的辦法就是雇上幾十個小學生一起算,一人算一部分,反正這些計算也沒什么技術(shù)含量,純粹體力活而已。而CPU就像老教授,積分微分都會算,就是工資高,一個老教授資頂二十個小學生,你要是富士康你雇哪個?GPU就是這樣,用很多簡單的計算單元去完成大量的計算任務,純粹的人海戰(zhàn)術(shù)。這種策略基于一個前提,就是小學生A和小學生B的工作沒有什么依賴性,是互相獨立的。很多涉及到大量計算的問題基本都有這種特性,比如你說的破解密碼,挖礦和很多圖形學的計算。這些計算可以分解為多個相同的簡單小任務,每個任務就可以分給一個小學生去做。但還有一些任務涉及到“流”的問題。比如你去相親,雙方看著順眼才能繼續(xù)發(fā)展。總不能你這邊還沒見面呢,那邊找人把證都給領(lǐng)了。這種比較復雜的問題都是CPU來做的。

總而言之,CPU和GPU因為最初用來處理的任務就不同,所以設(shè)計上有不小的區(qū)別。而某些任務和GPU最初用來解決的問題比較相似,所以用GPU來算了。GPU的運算速度取決于雇了多少小學生,CPU的運算速度取決于請了多么厲害的教授。教授處理復雜任務的能力是碾壓小學生的,但是對于沒那么復雜的任務,還是頂不住人多。當然現(xiàn)在的GPU也能做一些稍微復雜的工作了,相當于升級成初中生高中生的水平。但還需要CPU來把數(shù)據(jù)喂到嘴邊才能開始干活,究竟還是靠CPU來管的。

就目前的計算機架構(gòu),GPU只能稱作是小眾

GPU作為后來者,出現(xiàn)的太晚了,計算機架構(gòu)已經(jīng)定型,不太可能撼動 Intel 的霸主地位,而且Intel 一定會借著先天優(yōu)勢打壓其他競爭對手。

為什么GPU只能算作是小眾。在計算機上運行的程序從性能的角度來說大致可分為三類:1、I/O intensive;2、Memory intensive 以及3、Compute-intensive。

1、I/O intensive的程序其性能瓶頸是I/O,也就是說程序運行的大部分時間花在了硬盤讀寫/網(wǎng)絡(luò)通信上,而I/O處在計算機體系結(jié)構(gòu)金字塔的最底層,速度非常慢。最近炒的很火的big data 討論的就是這一類應用程序。幾百TB 甚至到PB級別的數(shù)據(jù)往哪擱,只能放在硬盤上。一臺機器容量太小CPU太少怎么辦,搞幾百臺甚至上千臺機器用網(wǎng)線連起來分布處理。所以這塊全是I/O, 現(xiàn)在大的互聯(lián)網(wǎng)公司不多搞幾個上千節(jié)點的集群肯定撐不住。

2、Memory intensive的程序其性能瓶頸在內(nèi)存訪問,程序中有大量的隨機訪問內(nèi)存的操作,但是基本沒有I/O, 這類程序已經(jīng)比第一類程序快一個數(shù)量級了,但是和寄存器的速度還是沒法比。目前大部分應用程序都屬于這類。個人電腦里裝的的各種軟件基本就是這類,如果有點I/O, 立刻就會非常得卡。

以上提到的這兩類程序的應用最廣泛,涵蓋了大部分有用的計算機軟件,但遺憾的是GPU在這兩塊毫無用處, GPU只有在計算密集型的程序有些作用。I/O是瓶頸的程序,花在計算的時間可以忽略不計,再怎么用GPU加速也沒用。 含有大量內(nèi)存隨機訪問的程序也不適合在GPU上執(zhí)行,大量的隨機訪問甚至可以使GPU的行為由并行變?yōu)榇小?/p>

什么類型的程序適合在GPU上運行

1、計算密集型的程序

所謂計算密集型(Compute-intensive)的程序,就是其大部分運行時間花在了寄存器運算上,寄存器的速度和處理器的速度相當,從寄存器讀寫數(shù)據(jù)幾乎沒有延時。可以做一下對比,讀內(nèi)存的延遲大概是幾百個時鐘周期;讀硬盤的速度就不說了,即便是SSD, 也實在是太慢了。

2、易于并行的程序

GPU其實是一種SIMD(Single Instruction Multiple Data)架構(gòu), 他有成百上千個核,每一個核在同一時間最好能做同樣的事情。

GPU和 CPU 誰也替代不了誰

如果形象點理解,GPU就像一群螞蟻,這些螞蟻都做著同樣的事,而CPU就像一只猴子,這只猴子做著各種不同的事。

CPU和GPU它們的目的不同,且有不同側(cè)重點,也有著不同的性能特性,在某些工作中CPU執(zhí)行得更快,另一工作中或許GPU能更好。

當你需要對大量數(shù)據(jù)做同樣的事情時,GPU更合適,當你需要對同一數(shù)據(jù)做很多事情時,CPU正好。

可以預見在未來,隨著CPU進一步強化處理數(shù)據(jù)塊的能力,我們將看到CPU和GPU架構(gòu)之間的融合,而且隨著制造技術(shù)的進步和芯片的縮小,GPU也可以承擔更復雜的指令。CPU與GPU間的分工雖然還是大有不同,但彼此間的交集無疑會更多。

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

    關(guān)注

    68

    文章

    10826

    瀏覽量

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

    關(guān)注

    28

    文章

    4702

    瀏覽量

    128710

原文標題:GPU這么牛掰!我們還需要CPU嗎?

文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CPU內(nèi)存或GPU內(nèi)存進行分組方式實戰(zhàn)

    CPU+GPU協(xié)同計算中,CPUGPU的計算能力不同,靜態(tài)地給CPUGPU劃分任務會導致CPU
    的頭像 發(fā)表于 05-03 09:01 ?7099次閱讀
    <b class='flag-5'>CPU</b>內(nèi)存或<b class='flag-5'>GPU</b>內(nèi)存進行分組方式實戰(zhàn)

    FPGA比CPUGPU快的原理是什么

    本文首先闡述了FPGA的原理了,其次分析了FPGA比CPUGPU快的原理,最后闡述了CPUGPU的區(qū)別。
    的頭像 發(fā)表于 05-31 09:00 ?1.7w次閱讀
    FPGA比<b class='flag-5'>CPU</b>和<b class='flag-5'>GPU</b>快的原理是什么

    CPUGPU頻率的查看及設(shè)置

    在嵌入式設(shè)備中為了降低功耗防止芯片發(fā)熱,廠商一般默認都將CPUGPU頻率為最小,為了提高性能,減少算法耗時需要手動將CPU或者GPU頻率設(shè)到性能模式。
    發(fā)表于 09-21 14:42 ?9141次閱讀

    CPUGPU和內(nèi)存知識科普

    本文內(nèi)容包括CPU、內(nèi)存和GPU知識,本期重點更新GPUCPU部分知識。比如:GPU更新包括架構(gòu)演進,最新產(chǎn)品A100、選型策略、架構(gòu)分析
    的頭像 發(fā)表于 11-13 11:47 ?1847次閱讀
    <b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>和內(nèi)存知識科普

    GPUCPU的區(qū)別是什么

    GPU是如何工作的GPU與DSP區(qū)別GPUCPU的區(qū)別是什么
    發(fā)表于 01-05 06:15

    請問CPUGPU的關(guān)系是什么?

    什么是顯卡?什么是GPU?什么是CUDA?CPUGPU的關(guān)系是什么?
    發(fā)表于 09-27 08:22

    CPU-GPU同步暫停

    使用Intel INDE工具刪除CPU-GPU同步暫停,該暫停導致CPUGPU之間的某些并行性丟失。
    的頭像 發(fā)表于 05-31 15:18 ?1545次閱讀

    GPUCPU間的比較

    GPUCPU比較,GPU為什么更適合深度學習?
    的頭像 發(fā)表于 08-26 15:32 ?4659次閱讀

    CPUGPU的區(qū)別有哪些

    CPUGPU的區(qū)別有哪些呢?接下來簡單給大家介紹一下關(guān)于GPUCPU的區(qū)別。
    的頭像 發(fā)表于 01-06 17:07 ?3.1w次閱讀

    gpucpu哪個更重要?

    gpucpu哪個更重要? 當我們談到計算機的性能時,CPU(中央處理器)和GPU(圖形處理器)都是非常重要的組件。然而,在某些情況下,GPU
    的頭像 發(fā)表于 08-09 15:51 ?7428次閱讀

    gpucpu有什么區(qū)別?

    gpucpu有什么區(qū)別? GPUCPU是電腦中兩個重要的計算器件。如果想要了解這兩個設(shè)備的區(qū)別,需要從它們的含義和工作原理入手。 首先,CPU
    的頭像 發(fā)表于 08-09 16:15 ?1.3w次閱讀

    什么是GPUCPUGPUCPU的區(qū)別及聯(lián)系

    GPUCPU是計算機系統(tǒng)中最重要的兩種處理器,它們在不同的應用中發(fā)揮不同的作用。
    發(fā)表于 08-09 18:24 ?5480次閱讀

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

    cpu gpu npu的區(qū)別 NPU與GPU哪個好?gpu是什么意思? 在當今數(shù)字化和人工智能的時代,高效的計算能力是現(xiàn)代技術(shù)發(fā)展的重要基礎(chǔ)。因此,Central Processing
    的頭像 發(fā)表于 08-27 17:03 ?1w次閱讀

    為什么GPUCPU更快?

    GPUCPU更快的原因并行處理能力:GPU可以同時處理多個任務和數(shù)據(jù),而CPU通常只能一次處理一項任務。這是因為GPU的架構(gòu)使得它可以同時
    的頭像 發(fā)表于 01-26 08:30 ?2255次閱讀
    為什么<b class='flag-5'>GPU</b>比<b class='flag-5'>CPU</b>更快?

    gpu是什么和cpu的區(qū)別

    GPUCPU是兩種常見的計算機處理器,它們在結(jié)構(gòu)和功能上有很大的區(qū)別。在這篇文章中,我們將探討GPUCPU的區(qū)別,并詳細介紹它們的原理、應用領(lǐng)域和性能特點。 一、概述 1.1
    的頭像 發(fā)表于 02-20 11:24 ?1.8w次閱讀