新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 顯示卡的“心臟” GPU工作原理介紹

顯示卡的“心臟” GPU工作原理介紹

作者: 時間:2016-10-18 來源:網(wǎng)絡 收藏
編者按:CPU主要負責操作系統(tǒng)和應用程序,GPU主要負責跟顯示相關的數(shù)據(jù)處理,GPU的活CPU一般都可以干,但是效率低下,可以干點CPU的活,CPU大家都知道怎么工作的,那么GPU呢?

  圖形處理器(英語:Graphics Processing Unit,縮寫:gpu),又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個人電腦、工作站、游戲機和一些移動設備(如平板電腦、智能手機等)上圖像運算工作的微處理器。

本文引用地址:http://butianyuan.cn/article/201610/311447.htm

  用途是將計算機系統(tǒng)所需要的顯示信息進行轉(zhuǎn)換驅(qū)動,并向顯示器提供行掃描信號,控制顯示器的正確顯示,是連接顯示器和個人電腦主板的重要元件,也是“人機對話”的重要設備之一。顯卡作為電腦主機里的一個重要組成部分,承擔輸出顯示圖形的任務,對于從事專業(yè)圖形設計的人來說顯卡非常重要。

  gpu由于歷史原因,是為了視頻游戲而產(chǎn)生的(至今其主要驅(qū)動力還是不斷增長的視頻游戲市場),在三維游戲中常常出現(xiàn)的一類操作是對海量數(shù)據(jù)進行相同的操作,如:對每一個頂點進行同樣的坐標變換,對每一個頂點按照同樣的光照模型計算顏色值。

  gpu的眾核架構非常適合把同樣的指令流并行發(fā)送到眾核上,采用不同的輸入數(shù)據(jù)執(zhí)行。在 2003-2004年左右,圖形學之外的領域?qū)<议_始注意到gpu與眾不同的計算能力,開始嘗試把gpu用于通用計算(即GPgpu)。之后NVIDIA發(fā)布了CUDA,amd和等公司也發(fā)布了OpenCL,gpu開始在通用計算領域得到廣泛應用,包括:數(shù)值分析,海量數(shù)據(jù)處理(排序,Map- Reduce等),金融分析等等。

  簡而言之,當程序員為cpu編寫程序時,他們傾向于利用復雜的邏輯結構優(yōu)化算法從而減少計算任務的運行時間,即Latency。當程序員為gpu編寫程序時,則利用其處理海量數(shù)據(jù)的優(yōu)勢,通過提高總的數(shù)據(jù)吞吐量(Throughput)來掩蓋 Lantency。目前,cpu和gpu的區(qū)別正在逐漸縮小,因為gpu也在處理不規(guī)則任務和線程間通信方面有了長足的進步。另外,功耗問題對于gpu比cpu更嚴重。

  gpu是的“心臟”,也就相當于cpu在電腦中的作用,它決定了該顯卡的檔次和大部分性能,同時也是2D和3D的區(qū)別依據(jù)。

  2D顯示芯片在處理3D圖像和特效時主要依賴cpu的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內(nèi),也即所謂的“硬件加速”功能。顯示芯片通常是顯示卡上最大的芯片(也是引腳最多的)。gpu使顯卡減少了對cpu的依賴,并進行部分原本cpu的工作,尤其是在3D圖形處理時。gpu所采用的核心技術有硬體T&L、立方環(huán)境材質(zhì)貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術可以說是gpu的標志。

  gpu工作原理-工作原理

  簡單的說gpu就是能夠從硬件上支持T&L(Transform and LighTIng,多邊形轉(zhuǎn)換與光源處理)的顯示芯片,因為T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置和處理動態(tài)光線效果,也可以稱為“幾何處理”。一個好的T&L單元,可以提供細致的3D物體和高級的光線特效;只不過大多數(shù)PC中,T&L的大部分運算是交由cpu處理的(這就也就是所謂的軟件T&L),由于cpu的任務繁多,除了T&L之外,還要做內(nèi)存管理、輸入響應等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現(xiàn)顯卡等待cpu數(shù)據(jù)的情況,其運算速度遠跟不上今天復雜三維游戲的要求。即使cpu的工作頻率超過 1GHz或更高,對它的幫助也不大,由于這是PC本身設計造成的問題,與cpu的速度無太大關系。

  gpu圖形處理,可以大致分成 5 個步驟,如下圖箭頭的部分。分別為 vertex shader、primiTIve processing、rasterisaTIon、fragment shader、tesTIng and blending。


顯示卡的“心臟” GPU工作原理介紹


  第一步,vertex shader。是將三維空間中數(shù)個(x,y,z)頂點放進 gpu 中。在這一步驟中,電腦會在內(nèi)部模擬出一個三維空間,并將這些頂點放置在這一空間內(nèi)部。接著,投影在同一平面上,也是我們將看到的畫面。同時,存下各點距離投影面的垂直距離,以便做后續(xù)的處理。

  這個過程就像是本地球觀看星星一般。地球的天空,就像是一個投影面,所有的星星,不管遠近皆投影在同一面上。本地球的我們,抬起頭來觀看星星,分不出星星的遠近,只能分辨出亮度。gpu 所投影出的結果,和這個情況類似。


顯示卡的“心臟” GPU工作原理介紹


  從地球所看到的星空,星星就像是投影到一球面上,除非使用特別的儀器,不然分不出星星和地球的距離

  第二步,primitive processing。是將相關的點鏈接在一起,以形成圖形。在一開始輸入數(shù)個頂點進入 gpu 時,程序會特別注記哪些點是需要組合在一起,以形成一線或面。就像是看星座的時候一樣,將相關連的星星連起來,形成特定的圖案。

  第三步,rasterisation。因為電腦的屏幕是由一個又一個的像素組成,因此,需要將一條連續(xù)的直線,使用繪圖的演算法,以方格繪出該直線。圖形也是以此方式,先標出邊線,再用方格填滿整個平面。

  第四步,fragment shader。將格點化后的圖形著上顏色。所需著上的顏色也是于輸入時便被注記。在游玩游戲時,這一步相當耗費 gpu 的計算資源,因為光影的效果、物體表面材質(zhì)皆是在這一步進行,這些計算決定著游戲畫面的精細程度。因此在游玩游戲時,調(diào)高游戲畫面品質(zhì)大幅增加這一步的計算負擔,降低游戲品質(zhì)。


顯示卡的“心臟” GPU工作原理介紹


  將一個三角形,用方格呈現(xiàn)近似原始圖案,并著上顏色。一塊又一塊的方格,就是顯示器上的像素

  最后一步,testing and blending。便是將第一步所獲得的投影垂直距離取出,和第四步的結果一同做最后處理。在去除被會被其他較近距離的物體擋住的物體后,讓剩下的圖形放進 gpu 的輸出內(nèi)存。之后,結果便會被送到電腦屏幕顯示。


上一頁 1 2 下一頁

關鍵詞: 顯示卡 GPU

評論


相關推薦

技術專區(qū)

關閉