PC在剛誕生的時(shí)候,其實(shí)是沒(méi)有GPU的,所有的圖形計(jì)算都由CPU來(lái)計(jì)算。后來(lái)人們意識(shí)到CPU做圖形計(jì)算太慢了,于是他們?cè)O(shè)計(jì)了專(zhuān)門(mén)的圖形加速卡用來(lái)幫忙處理圖形計(jì)算,再后來(lái),NVIDIA提出了GPU的概念,將GPU提升到了一個(gè)單獨(dú)的計(jì)算單元的地位。
由于兩者面向的計(jì)算不同,CPU面對(duì)的是人們各種各樣的需求,比如你打開(kāi)一個(gè)網(wǎng)頁(yè)的時(shí)候,CPU要負(fù)責(zé)網(wǎng)絡(luò)交互,要解析HTML文件和JS腳本,要構(gòu)建DOM樹(shù),要加載各種各樣的資源,而最后才輪到GPU的事情:渲染畫(huà)面并輸出。
再舉個(gè)例子,玩游戲的時(shí)候,CPU負(fù)責(zé)完成游戲程序的邏輯、從硬盤(pán)里面加載游戲數(shù)據(jù),然后才開(kāi)始把圖形相關(guān)的東西挑出來(lái)交給GPU做,而游戲中的各種運(yùn)算還是離不開(kāi)CPU的幫助,比如常見(jiàn)的NPC,他們?cè)趺催\(yùn)動(dòng),還是需要CPU來(lái)運(yùn)算。
從上述兩個(gè)例子中就可以看出,CPU負(fù)責(zé)的是各種各樣的計(jì)算,為了應(yīng)對(duì)這么多種類(lèi)的計(jì)算,它的通用性要求非常高,而這就必定會(huì)造成設(shè)計(jì)上的復(fù)雜,比如要支持if-else這類(lèi)條件語(yǔ)句就要針對(duì)性加入一些控制單元。而GPU從誕生開(kāi)始,面對(duì)的就是單一種類(lèi)的計(jì)算,早期的GPU為了更好的應(yīng)對(duì)單一的圖形計(jì)算任務(wù),采用的是流水管線形式的設(shè)計(jì),通過(guò)在芯片規(guī)模上的大量堆疊,就可以獲得在圖形處理速度上的提升,從而提供更好的畫(huà)質(zhì),簡(jiǎn)單粗暴。
所以問(wèn)題的答案很明顯了,在計(jì)算上,CPU的通用性更強(qiáng),什么活都能接,但是速度都不咋地;GPU只能接圖形計(jì)算這類(lèi)活,速度非常快,或者也可以接特別寫(xiě)給它來(lái)計(jì)算的任務(wù),這也就是GPGPU(在圖形計(jì)算單元上進(jìn)行的通用計(jì)算)的由來(lái)。
責(zé)任編輯 LK
-
cpu
+關(guān)注
關(guān)注
68文章
10825瀏覽量
211150 -
gpu
+關(guān)注
關(guān)注
28文章
4701瀏覽量
128705 -
HTML
+關(guān)注
關(guān)注
0文章
277瀏覽量
34439
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論