集成gpu和獨立gpu有什麼區别?網上流傳的一個有趣比喻: GPU是一群小學生,紮堆算加減法;CPU是一個老教授,能解微積分,今天小編就來聊一聊關于集成gpu和獨立gpu有什麼區别?接下來我們就一起去研究一下吧!
網上流傳的一個有趣比喻: GPU是一群小學生,紮堆算加減法;CPU是一個老教授,能解微積分
很形象,但并不準确。GPU和CPU在結構上有什麼不同?面向的應用又有什麼側重?
在結構上,GPU和CPU的區别
要解釋兩者的區别,要先明白兩者的相同之處:兩者都有總線和外界聯系,有自己的緩存體系,以及數字和邏輯運算單元。一句話,兩者都為了完成計算任務而設計。
兩者的區别在于存在于片内的緩存體系和數字邏輯運算單元的結構差異:CPU雖然有多核,但總數沒有GPU的多,每個核都有足夠大的緩存和足夠多的數字和邏輯運算單元,并輔助有很多加速分支判斷甚至更複雜的邏輯判斷的硬件;GPU的核數遠超CPU,被稱為衆核(NVIDIA Fermi有512個核)。每個核擁有的緩存大小相對小,數字邏輯運算單元也少而簡單(GPU初始時在浮點計算上一直弱于CPU)。從結果上導緻CPU擅長處理具有複雜計算步驟和複雜數據依賴的計算任務,如分布式計算,數據壓縮,人工智能,物理模拟,以及其他很多很多計算任務等。GPU由于曆史原因,是為了視頻遊戲而産生的(至今其主要驅動力還是不斷增長的視頻遊戲市場),在三維遊戲中常常出現的一類操作是對海量數據進行相同的操作,如:對每一個頂點進行同樣的坐标變換,對每一個頂點按照同樣的光照模型計算顔色值。GPU的衆核架構非常适合把同樣的指令流并行發送到衆核上,采用不同的輸入數據執行。在 2003-2004年左右,圖形學之外的領域專家開始注意到GPU與衆不同的計算能力,開始嘗試把GPU用于通用計算(即GPGPU)。之後NVIDIA發布了CUDA,AMD和等公司也發布了OpenCL,GPU開始在通用計算領域得到廣泛應用,包括:數值分析,海量數據處理(排序,Map- Reduce等),金融分析等等。
簡而言之,當程序員為CPU編寫程序時,他們傾向于利用複雜的邏輯結構優化算法從而減少計算任務的運行時間,即Latency。當程序員為GPU編寫程序時,則利用其處理海量數據的優勢,通過提高總的數據吞吐量(Throughput)來掩蓋 Lantency。目前,CPU和GPU的區别正在逐漸縮小,因為GPU也在處理不規則任務和線程間通信方面有了長足的進步。另外,功耗問題對于GPU比CPU更嚴重。
由于兩者面向的計算不同,CPU面對的是人們各種各樣的需求,比如你打開一個網頁的時候,CPU要負責網絡交互,要解析HTML文件和JS腳本,要構建DOM樹,要加載各種各樣的資源,而最後才輪到GPU的事情:渲染畫面并輸出。
在計算方面上,GPU和CPU的不同
PC在剛誕生的時候,其實是沒有GPU的,所有的圖形計算都由CPU來計算。後來人們意識到CPU做圖形計算太慢了,于是他們設計了專門的圖形加速卡用來幫忙處理圖形計算,再後來,NVIDIA提出了GPU的概念,将GPU提升到了一個單獨的計算單元的地位。
再舉個例子,玩遊戲的時候,CPU負責完成遊戲程序的邏輯、從硬盤裡面加載遊戲數據,然後才開始把圖形相關的東西挑出來交給GPU做,而遊戲中的各種運算還是離不開CPU的幫助,比如常見的NPC,他們怎麼運動,還是需要CPU來運算。
從上述兩個例子中就可以看出,CPU負責的是各種各樣的計算,為了應對這麼多種類的計算,它的通用性要求非常高,而這就必定會造成設計上的複雜,比如要支持if-else這類條件語句就要針對性加入一些控制單元。而GPU從誕生開始,面對的就是單一種類的計算,早期的GPU為了更好的應對單一的圖形計算任務,采用的是流水管線形式的設計,通過在芯片規模上的大量堆疊,就可以獲得在圖形處理速度上的提升,從而提供更好的畫質,簡單粗暴。
所以問題的答案很明顯了,在計算上,CPU的通用性更強,什麼活都能接,但是速度都不咋地;GPU隻能接圖形計算這類活,速度非常快,或者也可以接特别寫給它來計算的任務,這也就是GPGPU(在圖形計算單元上進行的通用計算)的由來。
又引入了一個新詞GPGPU,來科普一下。
GPGPU全稱General Purpose GPU,即通用計算圖形處理器。其中第一個“GP”通用目的(GeneralPurpose)而第二個“GP”則表示圖形處理(GraphicProcess),這兩個“GP”搭配起來即“通用圖形處理”。再加上“U”(Unit)就成為了完整的通用處理器。 人們一直在尋找各種加速圖像處理的方法,然而受到CPU本身在浮點計算能力上的限制,對于那些需要高密度計算的圖像處理操作,過去傳統的在CPU上實現的方法,并沒有在處理性能與效率上有很大進步。随着可編程圖形處理器單元(GPU)在性能上的飛速發展,利用GPU加速圖像處理的技術逐漸成為研究熱點。
術業有專攻,芯片也像我們人類一樣,有合作也有分工,GPU和CPU也一樣,雖然一直有争論,某個要取代另一個,但從上面的介紹可以看出,事實上,它們在工作上有分工也有交集,它們還是會在不同的應用上并存。随着IC設計和制造技術的進步,分工隻會越來越細,但跨界的交彙和融合也是主旋律,所有這一切都隻是為了滿足應用的需求。
(21ic整理,編輯:王麗英)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!