圖形處理器(GPU)的發(fā)展歷史簡介
更新時間:2010-1-20 10:48:34 編輯:溫情 文章來源:中國視聽網(wǎng) 調(diào)整文字大小:【
大中小】
20 世紀六、七十年代,受硬件條件的限制,圖形顯示器只是計算機輸出的一種工具。限于硬件發(fā)展水平,人們只是純粹從軟件實現(xiàn)的角度來考慮圖形用戶界面的規(guī)范問題。圖形用戶界面國際標準GKS(GKS3D),PHIGS就是其中的典型代表。
20世紀80年代初期,出現(xiàn)GE(Geometry Engine)為標志的圖形處理器。GE芯片的出現(xiàn)使得計算機圖形學(xué)的發(fā)展進入圖形處理器引導(dǎo)其發(fā)展的年代。GE的核心是四位向量的浮點運算。它可由一個寄存器定制碼定制出不同功能,分別用于圖形渲染流水線中,實現(xiàn)矩陣,裁剪,投影等運算。12個這樣的GE單元可以完整地實現(xiàn)三維圖形流水線的功能。芯片設(shè)計者James Clark以此為核心技術(shù)建立的SGI公司,基于SGI圖形處理器功能的圖形界面GL及其后的OpenGL,成為圖形用戶界面事實上的工業(yè)標準。
20世紀80年代和90年代,GE及其圖形處理器功能不斷增強和完善,使得圖形處理功能逐漸從CPU向GPU轉(zhuǎn)移,F(xiàn)代圖形處理的流水線主要功能分為順序處理的兩個部分:第一部分對圖元實施幾何變化以及對圖元屬性進行處理(含部分光照計算);第二部分則是掃描轉(zhuǎn)換進行光柵化以后完成一系列的圖形繪制處理,包含各種光照效果和合成、紋理映射、遮擋處理、反混淆處理等。
20世紀90年代,NVIDIA進入個人電腦3D市場,并于1999年推出具有標志意義的圖形處理器——GeForce 256,第一次在圖形芯片上實現(xiàn)了3D幾何變換和光照計算。此后GPU進入高速發(fā)展時期,平均每隔6個月就出現(xiàn)性能翻番的新的GPU。
從SGI的GE到NVIDIA的GeForce,GPU經(jīng)歷了20年,芯片的線寬從3μm縮小到90nm(2007年的GeForce 8800集成了6.81億晶體管),集成電路的邏輯設(shè)計能力提高幾千倍,但處理器數(shù)據(jù)通道接口帶寬僅提高十幾倍。同時對圖形處理器計算能力的需求不斷增長,出現(xiàn)了可編程的圖形處理器,以NVIDIA和ATI為代表的GPU技術(shù)正是適應(yīng)這種趨勢。
而到目前為止,GPU已經(jīng)過了六代的發(fā)展,每一代都擁有比前一代更強的性能和更完善的可編程架構(gòu)。
第一代GPU(到1998為止)包括NVIDIA的TNT2,ATI的Rage和3dfx的Voodoo3。這些GPU擁有硬件三角形處理引擎,能處理具有1或2個紋理的像素,能夠大大提高CPU處理3D圖形的速度。但這一代圖形硬件沒有硬件T&L引擎,更多只是起到3D加速的作用,而且沒有被冠以“GPU”的名字。
第二代GPU(1999-2000)包括NVIDIA的Geforce256和Geforce2,ATI的Radeon7500,S3的Savage3D。它們將T&L功能從CPU分離出來,實現(xiàn)了高速的頂點變換。相應(yīng)的圖形API即OpenGL和DirectX7都開始支持硬件頂點變換功能。這一代GPU的可配置性得到了加強,但不具備真正的可編程能力。
第三代GPU(2001)包括NVIDIA的Geforce3和Geforce4 Ti,微軟的Xbox,及ATI的Radeon8500。這一代GPU首次引入了可編程性,即頂點級操作的可操作性,允許應(yīng)用程序調(diào)用一組自定義指令序列來處理頂點數(shù)據(jù),并可以將圖形硬件的流水線作為流處理器來解釋。也正是這個時候,基于GPU的通用計算開始出現(xiàn)。但是片段操作階段仍然不具備可編程架構(gòu),只提供了更多的配置選項。開發(fā)人員可以利用DirectX8以及OpenGL擴展(ARB-vertex-program,NV-texture-shader 和 NV-register-combiner)來開發(fā)簡單的頂點及片段著色程序。
第四代GPU(2003)包括NVIDIA的GeforceFX(具有CineFX架構(gòu)),ATI的Radeon9700。相比上一代GPU,它們的象素級和頂點級操作的可編程性得到了大大的擴展,可以包含上千條指令,訪問紋理的方式更為靈活,可以用做索引查找。最重要的是具備了對浮點格式的紋理的支持,不在限制在[0,1]范圍內(nèi),從而可以做任意數(shù)組,這對于通用計算而言是一個重要突破。DirectX9和各種OpenGL擴展(ARB-vertex-program、ARB-fragment-program、NV-vertex-program2、NV-fragment-program)可以幫助開發(fā)人員利用這種特性來完成原本只能在GPU上進行的復(fù)雜頂點像素操作;Cg語言等其他高級語言在這一代GPU開始得到應(yīng)用。
第五代GPU(2004)主要以NVIDIA GeForce6800為代表。NVIDIA GeForce 6800集成了2億2千2百萬晶體管,具有超標量的16條管線架構(gòu)。功能相對以前更加豐富、靈活。頂點程序可以直接訪問紋理,支持動態(tài)分支;象素著色器開始支持分支操作,包括循環(huán)和子函數(shù)調(diào)用,TMU支持64位浮點紋理的過濾和混合,ROP(象素輸出單元)支持MRT(多目標渲染)等。
第六代GPU(2006)主要以NVIDIA GeForce 7800為代表。GPU內(nèi)建的CineFX 4.0引擎,做了許多架構(gòu)上的改良,提高許多常見可視化運算作業(yè)的速度,藉此支持更復(fù)雜的著色效果,且仍能維持最高的影像質(zhì)量。新方案在每個管線層面運用許多創(chuàng)新技術(shù):
· 重新設(shè)計的頂點著色單元,縮短幾何坐標處理的設(shè)定與執(zhí)行流程;
· 新開發(fā)的像素著色單元提供高出兩倍的浮點運算效率,大幅提升其它數(shù)學(xué)運算的速度,提高處理流量;
· 先進的材質(zhì)運算單元結(jié)合許多新型硬件算法以及更優(yōu)異的快取機制,加快過濾與混色等運算作業(yè)。
NVIDIA CineFX 4.0引擎將許多突破性繪圖技術(shù)融入頂點著色器、像素著色器、以及材質(zhì)引擎的核心。藉由加快三角模型元素設(shè)定、像素著色器的關(guān)鍵數(shù)學(xué)元素、以及材質(zhì)處理等方面的作業(yè),最新引擎讓3D繪圖研發(fā)業(yè)者能達到更上一層樓效能與視覺質(zhì)量。
而今年初NVIDIA發(fā)布的GeForce 8800正在引領(lǐng)下一代GPU的疾速風(fēng)暴,G80核心擁有空前規(guī)模的6.81億晶體管,是G71的2.5倍,而且依然采用90nm工藝制造,再加上高頻率的12顆顯存,使8800GTX擁有超強的性能。
上圖就是NVIDIA為GeForce 8所設(shè)計的三大演示Demo之一的Water World,必須在Vista系統(tǒng)DX10模式下才能運行,通過這個Demo主要展示了G80完美的紋理渲染效果。巖石表面采用了多種變幻莫測的高精度紋理貼圖,這些貼圖還可以被流水潤濕,即便是將鏡頭放大N倍,層次感強烈的貼圖也不會出現(xiàn)失真的情況。這個Demo結(jié)合了G80強大的紋理渲染能力以及高效的全新各項異性過濾技術(shù)。
文章來源:中國視聽網(wǎng) ©版權(quán)所有。未經(jīng)許可,不得轉(zhuǎn)載。
網(wǎng)友評論
編輯推薦