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