工作原理
GPU就是能夠從硬體上支持T&L(TransformandLighting,多邊形轉換和光源處理)的顯示晶片,由於T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置與處理動態光線效果,也能稱為“幾何處理”。一個好的T&L單元,能提供細緻的3D物體和高級的光線特效;只不過大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂軟體T&L),因為CPU的任務繁多,除了T&L之外,還要做記憶體管理和輸入回響等非3D圖形處理工作,所以在實際運算的時候性能會大打折扣,一般出現顯示卡等待CPU數據的情況,CPU運算速度遠跟不上時下複雜三維遊戲的要求。即使CPU的工作頻率超出1GHz或更高,對它的幫助也不大,因為這是PC本身設計造成的問題,與CPU的速度無太大關係。基本功能
1.檢測顯示卡GPU型號、步進、製造工藝、核心面積,電晶體數量及生產廠商。
2.檢測光柵和著色器處理單元數量及DirectX支持版本。
3.檢測GPU核心、著色器和顯存運行頻率,顯存類型、大小及頻寬。
4.檢測像素填充率和材質填充率速度。
5.實時檢測GPU溫度、GPU使用率、顯存使用率及風扇轉速等相關信息。
計算公式
GPU-Z中像素填充率、紋理填充率、顯存頻寬的計算公式:
(1)像素填充率是指顯示卡在每個單位時間內所能渲染的像素數量,單位是GPixel/s(每秒十億像素)
像素填充率(Pixel Fillrate)=核心頻率(GPU Clock)×光柵單元數目/1000
費米框架得顯示卡像素填充率(Pixel Fillrate)=SM陣列×2×核心頻率
(2)紋理填充率是指顯示卡在每個單位時間內所能處理的紋理貼圖數量,單位是GTexel/s(每秒十億紋理)
紋理填充率(Texture Fillrate)=核心頻率(GPU Clock)×紋理單元數目/1000
(3)顯存位寬是指顯存在一個時鐘周期內所能傳送數據的位元組數,單位是GB/s(每秒十億位元組)
顯存頻寬(Band width)=顯存位寬(Bus Width)×顯存等效頻率/8
以如圖Geforce GTX670為例,核心頻率1059MHz,顯存頻率1502MHz,光柵單元32個,紋理單元112個,
像素填充率(Pixel Fillrate)=16×2×0.608=19.456GPixel/S
紋理填充率(Texture Fillrate)= 608×64/1000=38.912 GTexel/s
顯存頻寬(Band width)= 384×(854×4)/8=163.968 GB/s
注意:計算顯存頻寬時要留意顯存類型(Memory Type),對於GDDR1/2/3/4顯存,其數據匯流排都是採用的DDR技術(通過差分時鐘在上升沿和下降沿都進行數據傳輸,其一個周期傳輸兩次數據,相當於SDRAM頻率的2倍),故其顯存等效頻率=顯存頻率×2;而GDDR5則不同,它有兩條數據匯流排,相當於Rambus的QDR技術,傳輸能力相當於SDRAM頻率的4倍,所以顯存等效頻率=顯存頻率×4。
產品區別
GPU在幾個主要方面有別於DSP(DigitalSignalProcessing,簡稱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的GeForce6800Ultra型GPU,在相同高速快取、SSE彙編最佳化Pentium4執行條件下,許多此類套用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級程式語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪製引擎,而是會成為個人電腦的主要計算引擎。
供應商
英特爾
英特爾的GPU基本為集成顯示卡晶片,用於英特爾的主機板和英特爾的CPU。可能你想不到,要是只按市場占有率計算,英特爾隨著他主機板及CPU發售的集成GPU占據了整個GPU市場的60%以上。他的GPU主要有:唯一一款獨立顯示卡晶片Intel740(i740)。ExtremeGraphics系列、GMA系列(集成於晶片組中)。現在的HDGraphics系列、Iris™Graphics系列、Iris™ProGraphics系列等(集成於CPU中)。
NVIDIA
NVIDIA是現在最大的獨立顯示卡晶片生產銷售商。他的GPU包括大家熟悉的Geforce系列,包括GTX、GTS、GT等。專業工作站的Quadro系列,超級計算的Tesla系列,多顯示器商用的NVS系列,移動設備的Tegra系列。
以前也銷售集成在主機板上的集成顯示卡晶片,這些隨著主機板晶片組一起發售,但是由於AMD收購ATI後自身主機板晶片組GPU能力提高,NVIDIA晶片組如日中天的景象已經消失了。
曾經為遊戲機Xbox、PS3供應GPU。
AMD(ATI)
AMD是世界上第二大的獨立顯示卡晶片生產銷售商,他的前身就是ATI,2006年AMD以54億美元收購ATI。他的GPU主要是大家熟悉的Radeon系列,包括以前的X、HD系列,近幾年的R9、R7、R5、R3,現在的RX系列等。專業工作站的FireGL系列,超級計算的FireStream系列,多顯示器商用的FireMV系列,現在前三者已合併為FirePro系列。
早期ATI還生產過Wonder系列、Mach系列、Rage系列晶片。
除了獨立顯示卡之外AMD還擁有集成顯示卡晶片,集成於晶片組、APU中。
由於AMD收購ATI後,其主機板市場迅速擴大,已經奪取了NVIDIA在AMD處理器主機板晶片組的半壁江山。
就現在的發售量和發售盈利方面,AMD的GPU市場占有率方面仍然略輸於NVIDIA。
AMD也是遊戲機Xbox360、Wii、WiiU、PS4、XboxOne的GPU供應商。
3dfx
3dfx是一家於1994年成立的生產3DGPU及顯示卡的公司。曾經生產了Voodoo系列顯示卡,並且研發了SLI技術。
由於經營不善等問題於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市場。相關問題
第一個問題
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則運行大規模並行應用程式。微軟利用DirectXCompute將GPU作為作業系統的核心組成部分之一。DirectXCompute。它讓開發人員能夠利用GPU的大規模並行計算能力,創造出引人入勝的消費級和專業級計算應用程式。簡單的說,DirectXCompute就是微軟開發的GPU通用計算接口,欲統一GPU通用計算標準。也就是說windows7以後GPU的硬體地位將僅次於CPU,發揮出更大的效用。顯示卡基本概念
顯示卡作為電腦最重要的配件之一,每個想要買電腦的人都需要了解它的基本知識,以便能挑到最適合自己的顯示卡。這個任務會簡要介紹顯示卡的一些重要的名詞概念。 |