805
技術社區[雲棲]
從VGA到GPU!細數二十年顯卡發展曆程
VGA有很多層涵義,本來是用於代表一個分辨率(您可能不了解VGA,但應該知道QVGA代表什麼),隨後被普遍稱為顯示輸出接口。為了輸出VGA分辨 率、提供VGA輸出接口,顯卡和VGA就有了不解之緣,顯卡被稱為VGA Card是有曆史原因的,如果您對此感興趣的話,請慢慢看:
● 什麼是VGA?
VGA,Video Graphic Array,視頻圖形陣列,表示一組點陣圖形,長640像素寬480像素,最初能夠輸出640×480分辨率的接口叫做D-Sub,也被稱作VGA接口, 它是一個15針的梯形插頭,分3排每排5個,傳輸模擬信號。VGA的工作原理是將顯存內以數字格式存儲的圖像(幀)信號在RAMDAC裏經過模擬調製成模 擬高頻信號,然後再輸出到顯示設備成像。
在這裏,VGA代表顯示輸出接口
VGA最初隻支持在640×480的較高分辨率下同時顯示16種色彩,也可以在320×240分辨率下可以同時顯示256種色階。隨著時代的發展廠商們紛 紛在VGA基礎上加以擴充,由此衍生出了一大批XXGA的稱號,如今的VGA僅僅代表顯示分辨率,與顯示接口和顯卡沒有直接關係:
在這裏,VGA家族代表顯示分辨率
QVGA,Quarter VGA,320×240;
VGA,640×480;
SVGA,Super VGA,800×600;
XGA,Extended GA,1024×768;
SXGA,Super Extended GA,1280×1024;
WXGA,Wide Extended GA,1280×800;
WXGA+,Wide Extended GA+,1440×900;
WSXGA+,Wide Super Extended GA+,1680×1050;
UVGA,Ultra VGA,1600×1200;
WUXGA,Wide Ultra Extended GA,1920×1200;
WQXGA,Wide Quad Extended GA,2560×1600;
還有一些不常用的非標準分辨率此處省略
可以看出,VGA家族就是代表一些分辨率,這些字母的排列組合在液晶顯示器上最為常見,因為現在的顯卡大都可以支持以上所有的分辨率,所以VGA一詞對於顯卡來說已經不重要了,那為什麼還有很多人將顯卡成為VGA Card呢?這是有曆史原因的
● 顯卡史前資料
最早的顯卡稱為顯示適配器,在“黑底白字”的DOS年代,對顯示的要求是極低的。然而隨著各種軟件應用的普及,人們對於PC圖形界麵的需求越來越強烈,為 此才出現了彩色顯示。最早的顯示類型是MDA(Monochrome Display Adapter),隻能區別出黑白兩色。早期使用8080、8088一直到80286都是使用這種類型的顯示適配器。它的功能極為簡單,一般集成16KB顯存,是不為人關注的電腦配件。
CGA顯示屏很小,一般都集成在主機當中
到了286時,PC上出現了一些和圖形相關的軟件,開始有人在PC上設計一些圖形,最早的就是CAD。那時的程序員們為了自己閑暇的消遣也開始編寫一些小 遊戲,或是移植一些遊戲機上的遊戲到PC上來。因此出現了一種四色適配器,能認別三原色和黑白。當時這種適配器的效果是很差的,你能想像出隻有三原色和黑 白的圖像效果是什麼樣嗎?不過在當時這已經是一個大的進步了。由於這是第一種彩色的顯示適配器,所以稱為CGA(Color Graphics Adaptor,彩色圖形適配器)。CGA時代對顯卡的要求已經大幅度提高,但是當時的製作工藝仍然遠遠高於顯卡芯片的需求,因此CGA顯示適配器依舊整 合在主板上,以一塊單芯片的方式來實現,所以顯卡尚未進入人們的視線。
當年的VGA-EGA轉接頭,用以兼容舊顯示器
CGA的分辨率太低,於是又有了EGA(Enhanced Graphics Adapter,增強圖形適配器),以上MDA、CGA、EGA三種標準都是以TTL數字信號輸出。而之後的VGA標準采用了模擬信號輸出,因而其彩色顯 示能力大大加強了,原則上可以顯示無窮多的顏色,因此VGA迅速成為了顯示設備的標準,顯卡也是從這一時代開始獨立起來,成為真正意義上受到用戶重視的顯 卡,而不僅僅是一塊默默無聞的芯片。
VGA最初代表分辨率,在個人電腦的啟蒙時代,能夠輸出VGA(640×480)這樣的分辨率並不是一件容易的事情,VGA標準的出現對顯示輸出設備首次提出了較高要求,於是就催生了VGA Card,顯卡正式誕生!
● 第一代顯卡:VGA Card,支持256色顯示,1988年
最早的個人電腦隻有IBM和其它一些競爭者的整機在售,不存在兼容機、組裝機一說,所有的電腦配件都不會單獨零售,因此一些圖形公司(如ATI)都是默默無聞,其產品的唯一出路就是OEM。
在1987年,ATI發售EGA Wonder和VGA Wonder家族顯卡,使用了通用的ISA總線接口。這些顯卡功能都比IBM PC自身的顯示裝置好,EGA/VGA Wonder是一種能用於市場上任何一種圖形界麵、軟件和顯示器的單卡,為傳統個人電腦提供了更高速的圖像,由此引起了個人電腦製造商和用戶的重視!
ATI最早的VGA Wonder芯片
ATI VGA Wonder XL
也就是從這個時候開始,就有了真正意義上的第一代顯卡,它的名字叫VGA Card,代表產品就是ATI VGA Wonder。ATI將Wonder這個詞一直沿用至今,如大名鼎鼎的All in Wonder(已停產)和TV Wonder,而VGA一詞時至今日還是可以代表顯卡。
● 第二代顯卡:Graphics Card,支持Windows圖形加速,1991年
VGA Card的唯一功能就是輸出圖像,真正的圖形運算全部依賴CPU,所以當微軟Windows操作係統出現後,PC開始不堪重負了。可能很多人難以理解圖形 界麵為什麼會如此消耗資源,但您一定有過這樣的經曆:如果不裝顯卡驅動的話,比如在Windows安全模式下用鼠標拖動窗口,您會發現這個操作非常困難, 無論CPU多麼強大都無濟於事!
1991年5月,ATI發布Mach8,這是ATI第一款優化微軟Windows圖形界麵的顯卡產品。ATI通過一顆專用的芯片來處理圖形運算,從而將CPU解放了出來,讓Windows界麵運行起來非常流暢,從此圖形化操作係統資源消耗大降、實用性大增。
Mach8代號為38800
ATI Graphics Ultra
Mach8就是ATI 38800-1芯片,但Mach8顯卡是由兩顆芯片組成的,主芯片為上一代的VGA Wonder XL 24(ATI 28800-6),負責顯示輸出,輔助芯片是Mach8專門加速Windows圖形界麵,通過雙芯片的設計增強了繪圖能力!
為了與單純具備顯示功能的VGA Card相區別,具備圖形處理能的顯卡被稱為Graphics Card,也就是圖形加速卡,它加速了Windows的普及,讓PC走進了圖形化界麵時代。
● 第三代顯卡:Video Card,支持視頻加速,1994年
接下來個人電腦開始進入多媒體時代,2D圖形處理已經難不倒Graphics Card了,但越來越多的視頻圖形解碼讓CPU(486時代)不堪重負,關鍵時刻顯卡伸出了援助之手,集成了一些簡單的視頻解碼器,讓CPU長出一口氣。
1994年的Mach64是第一款為廣為人知的多媒體芯片,Mach64硬件支持YUV-to-RGB顏色轉換和硬件縮放。這樣個人電腦能應付基本的AVI和MPEG-1播放,而不需要昂貴的專用硬件解碼器,使得多媒體電腦的成本大幅下降。
Mach64硬件支持YUV-to-RGB
之後,Mach64-VT從CPU接過了逐行掃描的工作,1996年的ImpacTV進一步支持800x600 VGA-to-TV編碼,所有的這些產品並不是太昂貴。
S3 Trio64 V+,支持VCD(MPEG1)硬件加速
ATI 3D Rage II+,支持DVD(MPEG2)硬件加速
同樣的,為了與單純具備圖形加速能力的Graphics Card相區別,具備視頻輔助解碼的顯卡被稱為Video Card,也就是視頻加速卡,這個稱號曾被廣泛使用,VCD和DVD時代很多顯卡都具備視頻輔助解碼能力。
現在已經是HDTV時代了,視頻編碼是非常複雜的H.264和VC-1,各大顯示芯片廠商也與時俱進,無論集成顯卡還是獨立顯卡,無論NVIDIA還是ATI,對於HDTV硬件加速的支持都相當重視!
● 第四代顯卡:3D Accelerator Card,,1994年
經過單色、彩色、2D、視頻之後,3D圖形時代終於來臨了,3DFX旗下的Voodoo係列3D Accelerator Card異軍突起,成為3D時代的王者,擁有一塊3D加速卡成為那個時代的榮耀。
3D加速卡的功能很單一,它不具備顯示功能,需要搭配一塊2D顯卡來使用,因此成本很高而且使用起來不夠方便,因此集2D顯示和3D加速於一身的真正3D顯示卡出現了。
Voodoo 2 SLI是3DFX最輝煌的時候,也是3D加速卡最火爆的時候
早期的3D顯卡大都不夠成熟,比如ATI的第一款3D芯片被稱為3D Rage,它在3D、2D和視頻方麵的功能最全,可惜兼容性很差;NVIDIA的第一款產品NV1也擁有3D加速功能,還集成了聲卡,可惜不支持D3D和GLIDE這兩種主流的圖形API,也不支持MPEG-1加速,因此沒有實用價值。
3D時代激烈的競爭讓S3和3DFX走向滅亡
隨後的情況相信很多人都了解了,不思進取的3DFX開始走多芯片道路,而後起之秀NVIDIA則憑借性能強大的單芯片TNT和TNT2係列顯卡超越3DFX,隨後的GeForce 256徹底終結3DFX,無序混亂的3D圖形加速卡成為了一段值得緬懷的曆史。
● 第五代顯卡:GPU圖形處理器,支持硬件T&L,1999年
GeForce 256是一款劃時代的產品,NVIDIA將其稱為第一款GPU(Graphic Processing Unit,圖形處理器),顯示芯片上升到了與CPU(Center Processing Unit,中央處理器)同樣的高度,雖然當時顯卡的作用還沒受到足夠多的重視,但隨著時間的推移GPU這個詞被賦予了更多的含義。
第一顆GPU、GeForce 256(NV10)
GeForce 256是被作為一個圖形處理單元(GPU)來設計的,GPU是一個單芯片處理器。它有完整的轉換、光照、三角形設置和渲染引擎(分別 為:Transform、Lighting、Setup、Rendering)等四種3D處理引擎,一些以前必須由CPU來完成的圖形運算工作現在可以由GeForce256 GPU芯片獨立完成,大多數情況下具有完整的傳輸和光照相引擎的GPU運算速度比CPU快2-4倍,同時也有效地減輕了CPU的浮點運算負擔,減少了對CPU的依賴性。
GPU支持硬件T&L(Transform and Lighting)
隨後的圖形市場成為NVIDIA和ATI的天下,ATI提出了VPU(Virtual Processing Unit,視覺處理器)的概念,其實VPU和GPU代表著同樣的東西,也就是兩家的顯示芯片,這兩種稱號的唿聲隨著兩大圖形巨頭的實力變化而此消彼 長,VPU在9800/X800時代的上鏡率很高,而GPU的使用率則是持續高速增長。
如今ATI已經默認了GPU這個稱號,很少提到VPU了
NVIDIA在GeForce 6/7/8三代產品中連續保持強勁勢頭,市場占有率節節攀升,GPU和VPU之爭也開始分出高下,GPU漸漸的被越來越多的人所接受,而VPU這個詞除了 一些老玩家還記得之外,恐怕也就是ATI顯卡在驅動彈出VPU Recovery警告時會被重視,如今在AMD/ATI的官方演示文稿中,VPU一詞已經很少出現,GPU成為了事實上的標準用語,VPU則漸漸的被遺 忘。
● 現代和未來顯卡:GPGPU通用處理器,支持幾何著色、物理加速、高清解碼、科學計算……
從GeForce和Radeon係列顯卡開始,就屬於現代顯卡的範疇了,每一代GPU的發展都會讓渲染能力大增,支持新的圖形API(DX7、8、9、10),以及更多的附加功能。
事實上,回顧前麵五代顯卡的發展,每一代有了革命性進步的顯卡都會從CPU手裏剝奪一些功能,或者說是幫助CPU處理它並不擅長的工作,現在就來簡單回顧一下:
VGA Card:640×480分辨率彩色圖形顯示,單純的輸出圖像
Graphics Card:支持圖形界麵加速,減輕CPU負擔
Video Card:支持視頻解碼加速,減輕CPU負擔
3D Accelerator Card:支持3D圖形渲染,3D技術走向普及
GPU:支持坐標轉換和光源處理,消除3D渲染的瓶頸
如今到了DX10時代,GPU除了在圖形渲染能力和指令方麵得到增強之外,又多了一項新的功能——Geometry Shader(幾何著色),第一次允許程序在圖像處理器中創建新數據。這一革命性的事件使得GPU在係統中的角色由隻可處理已有數據的處理器變成了可以以 極快速度既可處理又可生成數據的處理器。在以前圖形係統上無法實現的複雜算法現如今變成了現實。
未來GPU可以處理更多的指令
而且,無論NVIDIA還是ATI,新一代GPU都采用了統一渲染架構,龐大的流處理器成為GPU的核心模塊,流處理器不但可以處理器像素、頂點和幾何著色,在未來如果有了API的支持,GPU就可以執行更多的非圖形指令!
GPU的浮點運算能力和CPU不在一個數量級
目前來看,GPU已經能夠支持高清視頻加速以及物理加速這兩項新的功能,隨著NVIDIA和AMD GPGPU技術的發展,更多的科學計算任務被安排給GPU計算,因為GPU強大的浮點運算能力比CPU的執行效率更高。
GPU正在朝著非圖形領域、多元化方向發展
當然,任何硬件都需要軟件的支持才能發揮出應有的效能,GPU的前景是廣闊的,但發展是曲折的。GPU不僅僅是一顆3D圖形處理器,它不是隻能用於玩遊 戲,未來GPU更多實用的功能將會被開發出來,比如大型文檔加速、視頻轉換、編碼、查毒殺毒、壓縮解壓……沒有做不到隻有想不到!
最後更新:2017-04-03 12:56:27