功能作用,工作原理,產品區別,識別軟體,供應商,英特爾,NVIDIA,AMD(ATI),3dfx,Matrox,SiS和VIA,類型,獨立顯示卡,集成繪圖處理器,相關問題,第一個問題,第二個問題,第三個問題,第四個問題,
功能作用
顯示卡的處理器稱為圖形處理器(
GPU),它是顯示卡的“心臟”,與CPU類似,只不過GPU是專為執行複雜的數學和幾何計算而設計的,這些計算是圖形渲染所必需的。某些最快速的GPU集成的電晶體數甚至超過了普通CPU。
時下的GPU多數擁有2D或3D圖形加速功能。如果CPU想畫一個二維圖形,只需要發個指令給GPU,如“在坐標位置(x, y)處畫個長和寬為a×b大小的長方形”,GPU就可以迅速計算出該圖形的所有像素,並在顯示器上指定位置畫出相應的圖形,畫完後就通知CPU “我畫完了”,然後等待CPU發出下一條圖形指令。
有了GPU,CPU就從圖形處理的任務中解放出來,可以執行其他更多的系統任務,這樣可以大大提高計算機的整體性能。
GPU會產生大量熱量,所以它的上方通常安裝有散熱器或風扇。
GPU是顯示卡的“大腦”,GPU決定了該顯示卡的檔次和大部分性能,同時GPU也是2D顯示卡和3D顯示卡的區別依據。2D顯示晶片在處理3D圖像與特效時主要依賴CPU的處理能力,稱為軟加速。3D顯示晶片是把三維圖像和特效處理功能集中在顯示晶片內,也就是所謂的“
硬體加速”功能。顯示晶片一般是顯示卡上最大的晶片(也是引腳最多的)。時下市場上的顯示卡大多採用
NVIDIA和 AMD-ATI 兩家公司的
圖形處理晶片。
GPU已經不再局限於3D圖形處理了,GPU通用計算技術發展已經引起業界不少的關注,事實也證明在
浮點運算、
並行計算等部分計算方面,GPU可以提供數十倍乃至於上百倍於CPU的性能,如此強悍的“新星”難免會讓CPU廠商老大
英特爾為未來而緊張, NVIDIA和英特爾也經常為CPU和GPU誰更重要而展開口水戰。GPU通用計算方面的標準目前有
OpenCL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構系統通用目的並行編程的開放式、免費標準,也是一個統一的
編程環境,便於軟體開發人員為高性能計算伺服器、桌面計算系統、手持設備編寫高效輕便的代碼,而且廣泛適用於
多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及
數位訊號處理器(DSP)等其他並行處理器,在遊戲、娛樂、科研、醫療等各種領域都有廣闊的發展前景,AMD-ATI、NVIDIA時下的產品都支持OPEN CL。
1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技術開發出了第一款圖形晶片和
圖形卡,1992年 4月 ATi發布了 Mach32 圖形卡集成了圖形加速功能,1998年 4月 ATi被IDC評選為圖形晶片工業的市場領導者,但那時候這種晶片還沒有GPU的稱號,很長的一段時間ATI都是把圖形處理器稱為VPU,直到AMD收購ATI之後其圖形晶片才正式採用GPU的名字。
NVIDIA公司在1999年發布GeForce 256
圖形處理晶片時首先提出GPU的概念。從此NV顯示卡的芯就用這個新名字GPU來稱呼。GPU使顯示卡削減了對CPU的依賴,並實行部分原本CPU的工作,更加是在3D圖形處理時。GPU所採用的核心技術有硬體T&L、立方環境材質貼圖與頂點混合、紋理壓縮及凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術能夠說是GPU的標誌。
工作原理
簡單說GPU就是能夠從硬體上支持T&L(Transform and Lighting,多邊形轉換和光源處理)的
顯示晶片,由於T&L是3D
渲染中的一個重要部分,其作用是計算多邊形的3D位置與處理動態光線效果,也能稱為“幾何處理”。一個好的T&L單元,能提供細緻的3D物體和高級的光線特效;只不過大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂軟體T&L),因為CPU的任務繁多,除了T&L之外,還要做
記憶體管理和輸入回響等非3D圖形處理工作,所以在實際運算的時候性能會大打折扣,一般出現顯示卡等待CPU數據的情況,CPU運算速度遠跟不上時下複雜三維遊戲的要求。即使CPU的
工作頻率超出1GHz或更高,對它的幫助也不大,因為這是PC本身設計造成的問題,與CPU的速度無太大關係。
產品區別
GPU在幾個主要方面有別於DSP(Digital Signal Processing,簡稱DSP,
數位訊號處理)架構。其所有計算均使用浮點算法,而且此刻還沒有位或整數運算指令。此外,由於GPU專為
圖像處理設計,因此
存儲系統實際上是一個二維的分段存儲空間,包括一個區段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。此外,沒有任何間接寫指令。輸出寫地址由光柵處理器確定,而且不能由程式改變。這對於自然分布在
存儲器之中的算法而言是極大的挑戰。最後一點,不同碎片的處理過程間不允許通信。實際上,碎片處理器是一個SIMD數據
並行執行單元,在所有碎片中獨立執行代碼。
儘管有上述約束,但是GPU還是可以有效地執行多種運算,從線性代數和信號處理到數值仿真。雖然概念簡單,但新用戶在使用GPU計算時還是會感到迷惑,因為GPU需要專有的圖形知識。這種情況下,一些軟體工具可以提供幫助。兩種高級描影語言CG和
HLSL能夠讓用戶編寫類似C的代碼,隨後編譯成碎片程式彙編語言。Brook是專為GPU計算設計,且不需要圖形知識的高級語言。因此對第一次使用GPU進行開發的工作人員而言,它可以算是一個很好的起點。
Brook是C語言的延伸,整合了可以直接映射到GPU的簡單數據並行編程構造。經 GPU存儲和操作的數據被形象地比喻成“流”(stream),類似於標準C中的
數組。核心(Kernel)是在流上操作的函式。在一系列輸入流上調用一個核心函式意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機制,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,並把GPU中類似二維存儲器系統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程式包括線性代數子程式、快速
傅立葉轉換、光線追蹤和
圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速快取、SSE彙編最佳化
Pentium 4執行條件下,許多此類套用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級程式語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪製引擎,而是會成為個人電腦的主要計算引擎。
識別軟體
說起處理器識別工具CPU-Z,其知名度和必備度無需贅言。硬體網站時下又給我們提供了一個類似的工具,用於顯示卡識別的“GPU-Z”。這是TechPowerUp發布的專業顯示卡識別工具。
供應商
GPU有非常多的廠商都生產,和CPU一樣,生產的廠商比較多,但大家熟悉的卻只有INA,以至於大家以為GPU只有三大廠商。
英特爾
英特爾的GPU基本為
集成顯示卡晶片,用於英特爾的主機板和英特爾的CPU。可能你想不到,要是只按市場占有率計算,英特爾隨著他主機板及CPU發售的集成GPU占據了整個GPU市場的60%以上。
他的GPU主要有:唯一一款
獨立顯示卡晶片Intel 740(
i740)。Extreme Graphics系列、GMA系列(集成於
晶片組中)。現在的HD Graphics系列、
Iris™ Graphics系列、Iris™ Pro Graphics系列等(集成於
CPU中)。
NVIDIA
以前也銷售集成在主機板上的
集成顯示卡晶片,這些隨著主機板
晶片組一起發售,但是由於AMD收購ATI後自身主機板晶片組GPU能力提高,NVIDIA晶片組如日中天的景象已經消失了。
AMD(ATI)
他的GPU主要是大家熟悉的
Radeon系列,包括以前的X、
HD系列,近幾年的R9、R7、R5、R3,現在的RX系列等。專業工作站的
FireGL系列,超級計算的
FireStream系列,多顯示器商用的FireMV系列,現在前三者已合併為FirePro系列。
早期ATI還生產過Wonder系列、Mach系列、Rage系列晶片。
由於AMD收購ATI後,其主機板市場迅速擴大,已經奪取了NVIDIA在AMD處理器主機板晶片組的半壁江山。
就現在的發售量和發售盈利方面,AMD的GPU市場占有率方面仍然略輸於NVIDIA。
3dfx
3dfx是一家於1994年成立的生產3D GPU及顯示卡的公司。
由於經營不善等問題於2002年被NVIDIA收購。
Matrox
Matrox當年和NVIDIA,ATI一起爭奪
獨立顯示卡晶片市場份額的一家公司,在曾經的一個時期Matrox的顯示卡和NVIDIA,ATI曾經在性能上比肩過。但由於後來其開發能力日漸衰退,在GF5時期,也就是ATI的9000系列時期,Matrox由於性能上整整落後了GF5900和Raden9800一個世代而逐漸被淘汰,淡出了民用獨立顯示卡市場。
但時下Matrox仍然在工程用專業顯示卡方面有自己的地位。這些顯示卡用於工程主圖和多頭輸出仍然很強力。與NVIDIA和AMD的專業顯示卡不同,NVIDIA,ATI的專業顯示卡涉足的是3D領域,而Matrox得專業顯示卡涉足的是2D領域,也就是CAD。
但由於
OpenCL、
CUDA的日漸普及,DX10以上顯示卡將在所有支持CUDA的程式上表現出驚人的性能,也就是說當CUDA在各種運用軟體普及的那天,Matrox也必將退出2D專業卡的市場。
SiS和VIA
矽統和
威盛時下是對孿生兄弟,但他們曾經也是分開的兩家公司,並且都生產自己主機板的
集成顯示卡晶片。但這可憐的兩兄弟已經逐步在淡出主機板市場了,也就必定將淡出GPU市場。
類型
獨立顯示卡
顯示卡是通過PCI-Express、PCI或AGP等擴展槽界面與主機板連線的,而通常它們可以相對容易地被取代或升級(假設主機板能支持升級)。現在,仍然有少數顯示卡採用頻寬有限的PCI插槽作連線,但它們通常只會在主機板沒有提供PCI-Express和AGP插槽的情況下才會使用。
在現今的定義里,獨立繪圖處理器不一定需要,是可以被移除的,也不一定要直接與主機板連線。所謂的“專用”即是指獨立顯示卡(或稱專用顯示卡)內的RAM只會被該卡專用,而不是指顯示卡是否可從主機板上獨立移除。基於體積和重量的限制,供筆記本電腦使用的獨立繪圖處理器通常會通過非標準或獨特的接口作連線。然而,由於邏輯接口相同,這些連線埠仍會被視為PCI-Express或AGP,即使它們在物理上是不可與其他顯示卡互換的。
一些特別的技術,如NVIDIA的SLI和ATI的CrossFire允許多個繪圖處理器共同處理一個單一的視頻輸出,可令電腦的圖像處理能力增加。
集成繪圖處理器
集成繪圖處理器(或稱內置顯示核心)是設在主機板或CPU上的繪圖處理器,運作時會借用電腦內部分的系統存儲器。2007年裝設集成顯示的個人電腦約占總出貨量的90%,相比起使用獨立顯示卡的方案,這種方案可能較為便宜,但性能也許相對較低。從前,集成繪圖處理器往往會被認為是不適合於運行3D遊戲或精密的圖形型運算。然而,如Intel GMA X3000(Intel G965 晶片組)、AMD的Radeon HD 4290(AMD 890GX 晶片組)和NVIDIA的GeForce 8200(NVIDIAnForce 730a晶片組)已有能力處理對系統需求不是太高的3D圖像。當時較舊的集成圖形處理器組缺乏如硬體T&L等功能,只有較新型號才會包含。
影響集成繪圖處理器的性能,其中一個原因是由於內置顯示核心的運算速度。同時,圖形處理器在運作時會消耗一定數量的存儲器。系統存儲器的速度比高級獨立繪圖存儲器來得慢,系統存儲器的傳送速度可能是10GB/s至20GB/s左右,獨立繪圖存儲器則至少有50GB/s,甚至超過150GB/s,取決於型號而定。
不過從2009年開始,圖形處理器已經從主機板移去處理器了,如Intel的Westmere架構至目前的Kaby Lake架構。不過極致版並沒有集成圖形處理器。集成至處理器的好處是由於繪圖及處理器晶片工藝為相同(Westmere除外,CPU為32nm而GPU為45nm),可以減低熱功耗。隨著內顯技術的成熟,目前的內顯已經足夠應付基本3D的需求,不過仍然依賴主機板本身的存儲器。
相關問題
第一個問題
GPU的競爭遠比CPU的競爭來得激烈。通用PC的CPU就只有英特爾和AMD兩家大廠。而在GPU方面領先的是N記和A記兩家廠商,但能生產中低端產品的還有英特爾、S3等好幾家廠商。它們的產品雖然不如前兩家,但在很多套用方面也能滿足用戶的需要,所以N記和A記只有拚命往前跑才不會死掉。CPU廠商沒有採用GPU的先進工藝是因為CPU廠商都有自己投資的生產線,不可能一下把原來的生產線都淘汰了上新的生產線,那樣做可能連當初投入的資金都難以收回。而GPU廠商由於種種原因,一般都是自己設計由別人代工的,比如找台積電代工。代工廠商為了能接到業務,只有不停升級自己的生產設備,這樣才能生存下來。所以造成以上原因。
第二個問題
就如你所說的一樣,CPU除了處理遊戲的AI,情節等方面的數據外,對於有些圖像方面也是由它完成的。當微軟每次發布新的DX時,並不是每款GPU都能支持DX新的特性,所以有些圖像方面的任務還得由CPU來完成。還有有些特性比如重力特性以前是由CPU來完成,時下有些GPU也能支持了,這些任務就由GPU來完成了。
第三個問題
GPU相當於專用於
圖像處理的CPU,正因為它專,所以它強,在處理圖像時它的工作效率遠高於CPU,但是CPU是通用的數據處理器,在處理數值計算時是它的強項,它能完成的任務是GPU無法代替的,所以不能用GPU來代替CPU。
另外
時下AMD收購了A記顯示卡晶片的設計廠商,AMD看到今後CPU和GPU只有走一條融合的道路才能在競爭中占得先機。CPU和GPU如何配合默契才能最大地提高工作效率是AMD時下考慮的問題,也是英特爾的問題。
第四個問題
微軟發布windows7 其中一個顯著特性就是 聯合GPU和CPU的強大實力,提升GPU在硬體使用的價值,在Windows7中,CPU與GPU組成了
協同處理環境。CPU運算非常複雜的序列代碼,而GPU則運行大規模並行應用程式。微軟利用DirectX Compute將GPU作為作業系統的核心組成部分之一。DirectX Compute。它讓開發人員能夠利用 GPU的大規模
並行計算能力,創造出引人入勝的消費級和專業級計算應用程式。簡單的說,DirectX Compute就是微軟開發的GPU通用計算接口,欲統一GPU通用計算標準。也就是說windows7 以後GPU的硬體地位將僅次於CPU,發揮出更大的效用。