CPU (Central Processing Unit,中央處理器)就是機(jī)器的“大腦”,是完成布局謀略、發(fā)號(hào)施令、控制行動(dòng)的“總司令官”。CPU的結(jié)構(gòu)主要包括運(yùn)算器(ALU,Arithmetic and Logic Unit)、控制單元(CU,Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數(shù)據(jù)、控制及狀態(tài)的總線。
GPU(Graphics Processing Unit,中文為圖形處理器),就如其名字一樣,GPU最初是用在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備(如平板電腦、智能手機(jī)等)上運(yùn)行繪圖運(yùn)算工作的微處理器。
CPU和GPU之所以大不相同,是由于其設(shè)計(jì)目標(biāo)的不同,它們分別針對(duì)了兩種不同的應(yīng)用場(chǎng)景。
CPU需要很強(qiáng)的通用性來處理各種不同的數(shù)據(jù)類型,同時(shí)又要邏輯判斷又會(huì)引入大量的分支跳轉(zhuǎn)和中斷的處理。這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復(fù)雜。
而GPU面對(duì)的則是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計(jì)算環(huán)境。于是CPU和GPU就呈現(xiàn)出非常不同的架構(gòu)(示意圖):
從架構(gòu)圖我們就能很明顯的看出,GPU的構(gòu)成相對(duì)簡(jiǎn)單,有數(shù)量眾多的計(jì)算單元和超長(zhǎng)的流水線,特別適合處理量大且統(tǒng)一的數(shù)據(jù)(如圖像數(shù)據(jù))。
GPU的主要工作就是3D圖像處理和特效處理,通俗地說就是一種圖像呈現(xiàn)的工作。對(duì)于2D圖形,CPU可以輕松處理,但是對(duì)于復(fù)雜的3D圖像,CPU就要花費(fèi)很多的資源去處理,這顯然會(huì)降低其他方面的工作效率,于是就將這類工作交給GPU去處理。
一些高幀率的游戲畫面和高質(zhì)量的特效也交給GPU去處理,分擔(dān)CPU的工作。除此以外,GPU服務(wù)器憑借并行處理處理的能力,在密碼破譯、大數(shù)據(jù)處理、金融分析等領(lǐng)域應(yīng)用廣泛。
為什么GPU特別擅長(zhǎng)處理圖像數(shù)據(jù)呢?這是因?yàn)閳D像上的每一個(gè)像素點(diǎn)都有被處理的需要,而且每個(gè)像素點(diǎn)處理的過程和方式都十分相似,此類場(chǎng)景也就成了GPU的天然溫床。
但GPU無法單獨(dú)工作,必須由CPU進(jìn)行控制調(diào)用才能工作。CPU可單獨(dú)作用,處理復(fù)雜的邏輯運(yùn)算和不同的數(shù)據(jù)類型,但當(dāng)需要大量的處理類型統(tǒng)一的數(shù)據(jù)時(shí),則可調(diào)用GPU進(jìn)行并行計(jì)算。
GPU采用了數(shù)量眾多的計(jì)算單元和超長(zhǎng)的流水線,但只有非常簡(jiǎn)單的控制邏輯并省去了Cache。而CPU不僅被Cache占據(jù)了大量空間,而且還有有復(fù)雜的控制邏輯和諸多優(yōu)化電路,相比之下GPU計(jì)算能力只是CPU很小的一部分。
CPU 基于低延時(shí)的設(shè)計(jì),CPU有強(qiáng)大的ALU(算術(shù)運(yùn)算單元),它可以在很少的時(shí)鐘周期內(nèi)完成算術(shù)計(jì)算。
相比之下,GPU是基于大的吞吐量設(shè)計(jì),Cache比較小、控制單元簡(jiǎn)單,但GPU的核數(shù)很多,適合于并行高吞吐量運(yùn)算。
GPU中有很多的運(yùn)算器ALU和很少的緩存Cache,緩存的目的不是保存后面需要訪問的數(shù)據(jù)(這點(diǎn)和CPU不同),而是為線程Thread提供服務(wù)的。如果有很多線程需要訪問同一個(gè)相同的數(shù)據(jù),緩存會(huì)合并這些訪問后再去訪問內(nèi)存DRAM。
總而言之,CPU和GPU因?yàn)樽畛跤脕硖幚淼娜蝿?wù)就不同,所以設(shè)計(jì)上有較大的區(qū)別。而某些任務(wù)和GPU最初用來解決的問題的方式比較相似,所以采用GPU來計(jì)算。
打個(gè)比方,GPU的運(yùn)算速度取決于雇了多少小學(xué)生,CPU的運(yùn)算速度取決于請(qǐng)了多么厲害的教授。教授處理復(fù)雜任務(wù)的能力是碾壓小學(xué)生的,但是對(duì)于沒那么復(fù)雜的任務(wù),還是頂不住人多。當(dāng)然現(xiàn)在的GPU也能做一些稍微復(fù)雜的工作了,相當(dāng)于升級(jí)成初中生高中生的水平。
GPU就是用很多簡(jiǎn)單的計(jì)算單元去完成大量的計(jì)算任務(wù),純粹的人海戰(zhàn)術(shù)。這種策略基于一個(gè)前提,就是小學(xué)生之間的工作沒有什么依賴性,是互相獨(dú)立的。
這就回答了GPU能做什么的問題。圖形運(yùn)算和大型矩陣運(yùn)算,如機(jī)器學(xué)習(xí)算法等領(lǐng)域,GPU就能大顯身手。簡(jiǎn)而言之,CPU擅長(zhǎng)統(tǒng)領(lǐng)全局等復(fù)雜操作,GPU擅長(zhǎng)對(duì)大數(shù)據(jù)進(jìn)行簡(jiǎn)單重復(fù)操作。CPU是從事復(fù)雜腦力勞動(dòng)的教援,而GPU是進(jìn)行大量并行計(jì)算的體力勞動(dòng)者(小學(xué)生)。
GPU的工作的特點(diǎn)是計(jì)算量大,沒什么技術(shù)含量,需要重復(fù)很多很多次,還需要CPU來把數(shù)據(jù)喂到嘴邊才能開始干活,最終還是靠CPU來管理的。
為什么在人工智能領(lǐng)域GPU十分盛行?深度學(xué)習(xí)是模擬人腦神經(jīng)系統(tǒng)而建立的數(shù)學(xué)網(wǎng)絡(luò)模型,這個(gè)模型的最大特點(diǎn)是需要大數(shù)據(jù)來訓(xùn)練。
因此,人工智能領(lǐng)域?qū)τ?jì)算能力的要求就是需要大量的并行的重復(fù)計(jì)算,GPU正好有這個(gè)專長(zhǎng),時(shí)勢(shì)造英雄,因此GPU就出山擔(dān)此重任。在人工智能領(lǐng)域(深度學(xué)習(xí)),GPU具有如下主要特點(diǎn):
1 、提供了多核并行計(jì)算的基礎(chǔ)結(jié)構(gòu),且核心數(shù)非常多,可以支撐大量數(shù)據(jù)的并行計(jì)算。并行計(jì)算是一種一次可執(zhí)行多個(gè)指令的算法,目的是提高計(jì)算速度,通過擴(kuò)大問題求解規(guī)模,解決大型而復(fù)雜的計(jì)算問題。
2、 擁有更高的訪存帶寬和速度。
3、具備更高的浮點(diǎn)運(yùn)算能力。浮點(diǎn)運(yùn)算能力是關(guān)系到處理器的多媒體、3D圖形處理的一個(gè)重要指標(biāo)。現(xiàn)在的計(jì)算機(jī)技術(shù)中,由于大量多媒體技術(shù)的應(yīng)用,浮點(diǎn)數(shù)的計(jì)算大大增加了,比如3D圖形的渲染等工作,因此浮點(diǎn)運(yùn)算的能力是考察處理器計(jì)算能力的重要指標(biāo)。
需要強(qiáng)調(diào)一點(diǎn),雖然GPU是為了圖像處理而生,但是我們通過前面的介紹可以發(fā)現(xiàn),GPU在結(jié)構(gòu)上并沒有專門為圖像服務(wù)的部件,只是對(duì)CPU的結(jié)構(gòu)的優(yōu)化與調(diào)整,所以現(xiàn)在GPU不僅可以在圖像處理領(lǐng)域大顯身手,它還被用做科學(xué)計(jì)算、密碼破解、數(shù)值分析,海量數(shù)據(jù)處理(排序、Map-Reduce等),金融分析等需要大規(guī)模并行計(jì)算的領(lǐng)域。因此,GPU也可以認(rèn)為是一種較通用的芯片。
簡(jiǎn)單總結(jié):CPU和GPU是兩種不同的處理器,CPU是程序控制、順序執(zhí)行等操作的最高級(jí)通用處理器,而GPU是用來做圖像處理、特定領(lǐng)域分析的專用型處理器,GPU受CPU的控制。在很多終端設(shè)備中,CPU和GPU往往集成在一個(gè)芯片內(nèi),同時(shí)具備CPU或GPU處理能力。
審核編輯:湯梓紅
-
cpu
+關(guān)注
關(guān)注
68文章
10889瀏覽量
212394 -
gpu
+關(guān)注
關(guān)注
28文章
4760瀏覽量
129133 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9253瀏覽量
85752
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論