首页 > 代码库 > 从VGA到GPU!细数二十年显卡发展历程

从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
     VGA640×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更多实用的功能将会被开发出来,比如大型文档加速、视频转换、编码、查毒杀毒、压缩解压……没有做不到只有想不到!