編者按:本文是英特爾中國區先進技術支持與服務部架構經理趙軍在博客@英特爾中國上發表的文章《也談CPU和GPU之間的關系:融合、取代還是共存?》,提供此文的目的是為網友提供更多信息和參考,其觀點不代表本站立場,敬請留意。
近一段時間,關于“在PC機中,是CPU重要還是GPU重要?”,“是CPU要融合GPU,還是GPU要取代CPU?”是業界比較熱鬧的話題之一。今天,我也來湊湊熱鬧,發表一下我自己的觀點和看法
一.首先,來看看CPU和GPU的誕生
CPU(Central Processing Unit),即“中央處理單元”,更多人把它稱為中央處理器(Central Processor),或者微處理器(Microprocessor)。其實,更準確的全稱是通用微處理器(General Purpose Microprocessor)。中央處理器名副其實,它是整個計算機系統中為重要的核心部件,就是電腦之“腦”,電腦的“思維中心”。
世界上顆微處理器Intel 4004,是由英特爾工程師泰德•霍夫于1971年發明的。而真正的通用微處理器是Intel 8080,于1974年誕生,時鐘頻率為2MHz。
GPU(Graphics Processing Unit),即“圖形處理單元”,早期圖形處理單元只是以“顯示輸出子系統”概念出現在系統的設計框架中,物理形態就是顯示卡,主要以2D 圖形(二維圖形)處理和輸出為主,后來又起到了圖形加速的作用,所以也叫圖形加速器(Graphics Accelerator)。以“GPU”概念的獨立形式出現是伴隨著3D游戲(三維游戲)蓬勃發展孕育而生的。這個時間點比較晚,大概在上個世紀末(大概在1995年左右)。
今天GPU在計算機系統的作用已經從以前不顯眼的角色上升到比較重要的位置,但主要還是是輔助和分擔CPU來執行3D圖形加速方面的大量計算。為了突現它的重要性,有人開始把圖形處理單元(GPU),也稱為圖形處理器。
二.當今CPU和GPU各自的設計目標
因為設計的目標不同,當今的CPU和GPU功能上有本質的不同。作為通用處理器的CPU,顧名思義,它是設計用來處理通用任務的處理、加工、運算以及系統核心控制等等的。CPU中包含的基本部件有算術邏輯單元和控制單元,CPU的微架構是為高效率處理數據相關性不大的計算類、復雜繁瑣的非計算類的等等百花八門的工作而優化的,在處理日常繁復的任務中應付自如。
計算機的“靈魂”——操作系統,以及幾乎的系統軟件都主要仰仗CPU來順利運行。CPU面對的算術、邏輯運算以及控制處理是非常繁瑣和復雜的,面對處理的數據和信息量不僅數量多而是種類多。CPU運算和控制多面手的這種設計,讓它在計算機中得心應手,位置不可動搖。
GPU設計的宗旨是實現圖形加速,現在主要的是實現3D 圖形加速,因此它的設計基本上是為3D圖形加速的相關運算來優化的,如z-buffering 消隱,紋理映射(texture mapping),圖形的坐標位置變換與光照計算(transforming & lighting)等等。這類計算的對象都是針對大量平行數據的,運算的數據量大,但是運算的類型卻并不復雜,大多類似和雷同,計算性強但是邏輯性不強,如矩陣運算就是圖形運算的典型特性。
綜上所述,GPU在圖形計算方面的一些特長在是今天的CPU無法比擬的,當然將來融合了GPU的CPU就另當別論了。相比CPU的通用運算和復雜邏輯處理,GPU要想代替CPU來運行操作系統和系統軟件,是不是有點“越俎代庖”的藝術夸張了。當然,只有一種可能,就是GPU做成了CPU,加入了大量CPU核心設計的GPU。不過,這樣的GPU還叫GPU嗎?
我個人的觀點是:在主流市場,將來把GPU集成到CPU中是大勢所趨,對于高端市場——如高端3D游戲應用,CPU + 獨立GPU的并存方案依然會延續很長時間。GPU中強大的平行數據的并行計算能力,特別是在3D、浮點運算方面,在沒有圖形運算任務的時候,如果可以開發出來支持CPU在科學計算方面的應用,當然是件好事。
GPU會不會像80386時代,初作為獨立芯片的數學協處理器80387,終融合到CPU中而消亡了呢?還是讓市場去解決這個容易引起論戰的問題吧,任何爭論在市場的終選擇面前都會顯得蒼白無力。
一下篇,我將具體說說CPU和GPU在今天計算機中的作用和位置,以及它們各自擅長和不擅長的方面,均衡計算在設計系統的重要性,將來趨勢的探討等等。
CPU和GPU之間的關系:融合、取代還是共存
更新時間: 2008-05-07 16:06:52來源: 粵嵌教育瀏覽量:802