GPU全稱是GraphicProcessing Unit--圖形處理器,其最大的作用就是進行各種繪制計算機圖形所需的運算,包括頂點設(shè)置、光影、像素操作等。GPU實際上是一組圖形函數(shù)的集合,而這些函數(shù)有硬件實現(xiàn),只要用于3D游戲中物體移動時的坐標轉(zhuǎn)換及光源處理。在很久以前,這些工作都是由CPU配合特定軟件進行的,后來隨著圖像的復(fù)雜程度越來越高,單純由CPU進行這項工作對于CPU的負荷遠遠超出了CPU的正常性能范圍,這個時候就需要一個在圖形處理過程中擔(dān)當重任的角色,GPU也就是從那時起正式誕生了。
從GPU的結(jié)構(gòu)示意圖上來看,一塊標準的GPU主要包括通用計算單元、控制器和寄存器,從這些模塊上來看,是不是跟和CPU的內(nèi)部結(jié)構(gòu)很像呢?
事實上兩者的確在內(nèi)部結(jié)構(gòu)上有許多類似之處,但是由于GPU具有高并行結(jié)構(gòu)(highly parallel structure),所以GPU在處理圖形數(shù)據(jù)和復(fù)雜算法方面擁有比CPU更高的效率。上圖展示了GPU和CPU在結(jié)構(gòu)上的差異,CPU大部分面積為控制器和寄存器,與之相比,GPU擁有更多的ALU(Arithmetic Logic Unit,邏輯運算單元)用于數(shù)據(jù)處理,而非數(shù)據(jù)高速緩存和流控制,這樣的結(jié)構(gòu)適合對密集型數(shù)據(jù)進行并行處理。CPU執(zhí)行計算任務(wù)時,一個時刻只處理一個數(shù)據(jù),不存在真正意義上的并行,而GPU具有多個處理器核,在一個時刻可以并行處理多個數(shù)據(jù)。
GPU采用流式并行計算模式,可對每個數(shù)據(jù)進行獨立的并行計算,所謂“對數(shù)據(jù)進行獨立計算”,即,流內(nèi)任意元素的計算不依賴于其它同類型數(shù)據(jù),例如,計算一個頂點的世界位置坐標,不依賴于其他頂點的位置。而所謂“并行計算”是指“多個數(shù)據(jù)可以同時被使用,多個數(shù)據(jù)并行運算的時間和1個數(shù)據(jù)單獨執(zhí)行的時間是一樣的”。
簡而言之,GPU的圖形(處理)流水線完成如下的工作:(并不一定是按照如下順序)
頂點處理:這階段GPU讀取描述3D圖形外觀的頂點數(shù)據(jù)并根據(jù)頂點數(shù)據(jù)確定3D圖形的形狀及位置關(guān)系,建立起3D圖形的骨架。在現(xiàn)有的GPU中,這些工作由硬件實現(xiàn)的Vertex Shader(定點著色器)完成。
光柵化計算:顯示器實際顯示的圖像是由像素組成的,我們需要將上面生成的圖形上的點和線通過一定的算法轉(zhuǎn)換到相應(yīng)的像素點。把一個矢量圖形轉(zhuǎn)換為一系列像素點的過程就稱為光柵化。例如,一條數(shù)學(xué)表示的斜線段,最終被轉(zhuǎn)化成階梯狀的連續(xù)像素點。
紋理帖圖:頂點單元生成的多邊形只構(gòu)成了3D物體的輪廓,而紋理映射(texture mapping)工作完成對多變形表面的帖圖,通俗的說,就是將多邊形的表面貼上相應(yīng)的圖片,從而生成“真實”的圖形。TMU(Texture mapping unit)即是用來完成此項工作。
像素處理:這階段(在對每個像素進行光柵化處理期間)GPU完成對像素的計算和處理,從而確定每個像素的最終屬性。在支持DX8和DX9規(guī)格的GPU中,這些工作由硬件實現(xiàn)的Pixel Shader(像素著色器)完成。
最終輸出:由ROP(光柵化引擎)最終完成像素的輸出,1幀渲染完畢后,被送到顯存幀緩沖區(qū)。
GPU的工作通俗的來說就是完成3D圖形的生成,將圖形映射到相應(yīng)的像素點上,對每個像素進行計算確定最終顏色并完成輸出。
不過需要注意的是,無論多牛的游戲家用顯卡,光影都是CPU計算的,GPU只有2個工作,1多邊形生成。2為多邊形上顏色。
實際應(yīng)用中圖像的生成流程大致如下:
首先從硬盤中讀取模型, CPU分類后將多邊形信息交給GPU,GPU再時時處理成屏幕上可見的多邊形,但是沒有紋理只有線框。CPU計算出模型后,GPU將模型數(shù)據(jù)放進顯存,顯卡同時也為模型貼材質(zhì),給模型上顏色。CPU相應(yīng)從顯存中獲取多邊形的信息。然后CPU計算光照后產(chǎn)生的影子的輪廓。等CPU計算出后,顯卡的工作又有了,那就是為影子中填充深的顏色。周而復(fù)始,完成CPU與GPU之間的數(shù)據(jù)交換。
-
cpu
+關(guān)注
關(guān)注
68文章
10905瀏覽量
213033 -
gpu
+關(guān)注
關(guān)注
28文章
4777瀏覽量
129362
原文標題:計算機基礎(chǔ)之GPU結(jié)構(gòu)及工作原理簡析
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論