大家好,我是老猫,今天我们来好好聊聊GPU的发展史。

很多人可能不知道,现代图形处理器的演变始于1995年推出的首批3D附加卡,图形处理器的发展与个人电脑的普及以及32位操作系统的广泛采用相吻合。

打开网易新闻 查看精彩图片

在个人电脑出现之前,图形处理器主要由更实用的2D架构主导,图形处理器以其芯片的字母数字命名和高昂的价格而闻名。3D游戏和PC虚拟化图形处理器的出现源于多种来源,包括街机、军事应用、机器人技术、太空模拟器和医学成像。

打开网易新闻 查看精彩图片

早期的3D消费图形处理器的竞争可以用“狂野西部”来形容,从硬件如何实现到使用不同的渲染技术及其应用程序和数据接口,甚至夸张的命名。这些早期的图形处理器系统具有固定功能流水线(FFP)和遵循非常严格的处理路径的体系结构。几乎和3D芯片制造商一样多的API。

3D图形处理器经过几代创新努力后将有些乏味的PC行业转变为一个充满光影和魔法的市场。本文将深入探究GPU的历史,从3D消费者图形处理器的早期发展到3Dfx对游戏市场变革性影响,世纪之交的行业整合以及当今的现代GPGPU。

1976年-1995年:3D消费图形萌芽时代

第一个真正的3D图形处理器起源于早期的显示控制器,被称为视频移位器和视频地址生成器,这些设备作为主处理器和显示器之间的通道。它们将传入的数据流转换为串行位图视频输出,包括亮度、色彩以及垂直和水平复合同步。这种同步对于保持显示生成中像素的对齐至关重要,确保每行连续的有序进展,并管理消隐间隔(结束一条扫描线和开始下一条之间的时间)。

在1970年代后几年,出现了一系列设计创新,为3D图形显卡奠定了重要基础,例如我们今天所知一个例子是美国无线电公司(简称RCA)在1976年推出的“Pixie”视频芯片(CDP1861),它能够输出62x128分辨率或不适用于RCA Studio II控制台的64x32的NTSC兼容视频信号。

该视频芯片很快被1977年的Television Interface Adapter(TIA) 1A取代,这个芯片对Atari 2600至关重要,用于生成屏幕显示、声音效果和读取输入控制器。TIA的开发由杰伊·迈纳(Jay Miner)主导,他后来还主导了Commodore Amiga计算机的定制芯片设计。

打开网易新闻 查看精彩图片

在1978年,Motorola推出了MC6845视频地址生成器。这个设备为1981年IBM PC中使用的单色和彩色显示适配器(MDA/CDA)卡奠定了基础,也为Apple II提供了类似的功能。同年晚些时候,Motorola推出了MC6847视频显示生成器,并将其引入了包括Tandy TRS-80许多第一代个人计算机。

Commodore的MOS Technology子公司提供了类似的解决方案,推出了VIC(视频接口芯片),为1980年至1983年生产的Commodore家用电脑提供显卡

次年11月,LSI在Atari 400中推出了ANTIC(字母数字电视接口控制器)和CTIA/GTIA协处理器(彩色或图形卡电视接口适配器)。ANTIC使用直接内存访问(DMA)处理2D显示指令。

像当时的许多视频协处理器一样,它能够生成游戏场图形(如背景、标题屏幕和得分显示),而CTIA则负责生成色彩和可移动对象。Yamaha和德州仪器为早期的家用电脑制造商提供了类似的集成电路(IC)。

打开网易新闻 查看精彩图片

在显卡演变的下一步中,主要是在专业领域。

Intel的82720显卡芯片为1000美元的iSBX 275视频图形控制器多模式板奠定了基础。该板卡能够以256x256的分辨率显示八种色彩的数据,或者以512x512的单色显示。它的32KB显示内存使它能够绘制线条、弧线、圆圈、矩形和字符位图。该芯片还具有缩放、屏幕分割和滚动的功能。

Silicon Graphics(SGI)很快推出了针对工作站的IRIS Graphics,这是一个GR1.x显卡,允许添加单独的外接(子)板以增强色彩选项、几何处理、Z-buffering和Overlay/Underlay功能。

在当时,工业和军事3D虚拟化技术相对先进。IBM、通用电气和MartinMarietta(后来在1992年收购了GE的航空部门)等公司,以及众多军事承包商、技术研究所和NASA,开展了各种用于军事和太空模拟的项目。

美国海军在1951年使用来自MITWhirlwind计算机的3D虚拟化技术开发了飞行模拟器。除了国防承包商外,还有一些公司在军事市场和专业显卡部门之间架起了桥梁。

Evans&Sutherland后来提供了专业显卡系列,如Freedom和REALimage,也为CT5飞行模拟器开发了显卡。这个价值2000万美元的软件包由DECPDP-11大型机提供动力。公司的联合创始人Ivan Sutherland在1961年创建了一个名为Sketchpad的计算机程序,该程序允许使用光笔在CRT上实时绘制几何图形,这是现代显卡用户界面(GUI)的鼻祖。

在个人计算的不那么深奥的领域,Chips and Technologies推出了82C43x系列的EGA(扩展显卡适配器)。这些显卡适配器为IBM的产品提供了急需的竞争力,在1985年左右的许多PC/AT克隆产品中常见。

这一年Commodore Amiga也安装了OCS芯片组。这个芯片组由三个主要组件芯片组成——Agnus、Denise和Paula——它们不依赖CPU,允许一些图形和音频处理独立于CPU。

1985年8月,三位香港移民Kwok Yuan Ho、Lee Lau和Benny Lau在加拿大成立了Array Technology Inc。到年底,公司已更名为ATI Technologies Inc。

打开网易新闻 查看精彩图片

次年,ATI发布了他们的首个产品:OEM彩色仿真卡。它旨在通过9针DE-9连接器向TTL监视器输出单色绿色、琥珀色或白色磷光文本到黑色背景。该卡配备了至少16KB的内存,并在公司第一年的运营中为ATI带来了显著的销售业绩,销售额达到1000万加元,这在很大程度上要归功于每周向Commodore Computers供应约7000个芯片的合同。

随着彩色监视器的出现和各种竞争对手之间缺乏标准,导致了视频电子标准协会(VESA)的形成,ATI是该协会的创始成员之一,与NEC和其他六家显卡适配器制造商一起。

打开网易新闻 查看精彩图片

1987年,ATI通过Graphics Solution Plus系列扩大了其OEM产品线。该系列利用IBM PC/XTISA 8位总线,适用于基于Inte l8086/8088的IBM PC。该芯片通过DIP开关支持MDA、CGA和EGA显卡模式。从本质上讲,它是一个Plantronics Colorplus板的克隆,但具有64KB的内存容量。Paradise Systems的PEGA1、1a和2a(256KB),发布于1987年,也是Plantronics板的克隆。

EGA Wonder系列1-4在3月推出,售价为399美元,具有256KB的DRAM,并兼容CGA、EGA和MDA仿真,支持高达640x350的分辨率,具有16种色彩。系列2、3和4提供了扩展的EGA。

打开网易新闻 查看精彩图片

高端部分包括EGA Wonder 800,提供16色VGA仿真,并支持800x600的分辨率,以及VGA改进性能(VIP)卡。VIP卡本质上是带有数字模拟转换器(DAC)的EGA Wonder,提供有限的VGA兼容性。VIP卡的价格为449美元,另外99美元用于Compaq扩展模块。

ATI并不孤单,并非只有ATI带动了消费者对个人计算需求的浪潮。在那个时期,出现了许多新公司和产品。新进入者包括Trident、SiS、Tamerack、Realtek、OakTechnology、LSI的G-2Inc.、Hualon、CornerstoneImaging和Winbond——所有这些都在1986年到1987年之间成立。与此同时,像AMD、西部数据/天堂系统、Intergraph、CirrusLogic、TexasInstruments、Gemini和Genoa这样的公司开始生产他们的第一批显卡产品。

ATI的Wonder系列在接下来的几年里继续获得持续更新。1988年,Small Wonder显卡解决方案发布,具有游戏控制器端口和复合输出选项(用于CGA和MDA仿真),以及带有扩展EGA和16位VGA支持的EGA Wonder 480和800+。还推出了带有额外VGA和SVGA支持的VGA Wonder和Wonder 16。

配备256KB内存的Wonder 16零售价为499美元,而512KB的变体价格为699美元。

1989年,VGA Wonder/Wonder 16系列进行了更新,包括成本较低的VGA Edge 16(Wonder 1024系列)。新功能包括鼠标端口和对VESA特性连接器的支持,VESA特性连接器是一种类似缩短的数据总线插槽连接器的金手指连接器,用于通过软电缆连接到另一个视频控制器,绕过拥挤的数据总线。

Wonder系列在1991年继续快速发展。Wonder XL卡增加了VESA32K颜色兼容性和小山RAMDAC,将最大显示分辨率提高到640x480@72Hz或800x600@60Hz。价格从256KB的249美元到512KB的349美元不等,还有1MB RAM选项,价格为399美元。基于前一年Basic-16的低成本版本VGA Charger也发布了。

打开网易新闻 查看精彩图片

Mach系列在那一年的5月推出,以Mach8的形式出现,它既可以作为芯片销售,也可以作为板卡销售,允许通过编程接口(API)卸载有限的2D绘图操作,如线绘制、色彩填充和位图组合(BitBLT)。

ATI还推出了Wonder XL的一个变体,它在扩展PCB上集成了Creative Sound Blaster 1.5芯片。被称为VGA Stereo-F/X,它能够以与FM广播相当的质量模拟立体声声音效果。

像ATI VGA Wonder GT这样的显卡提供了2D+3D选项,结合了Mach8和VGA Wonder+的显卡核心(28800-2)用于3D任务。Wonder和Mach8系列的成功帮助ATI在那一年超过了1亿美元的销售额,这在很大程度上得益于Windows 3.0的采用和它促进的增加的2D工作量。

S3 Graphics成立于1989年初,并在18个月后生产了其首个2D加速器芯片和显卡,即S3911(或86C911)。后者的主要规格包括1MB的VRAM和16位色彩支持。

S3 911很快被同年晚些时候的924取代——基本上是具有24位色彩支持的修订版911——并在次年通过928进行了进一步更新,增加了32位色彩支持,以及801和805加速器。801使用ISA接口,而805使用VLB(VESA本地总线)。从911的推出到3D加速器的出现,市场上充斥着基于S3原始架构的2DGUI设计,特别是来自TsengLabs、CirrusLogic、Trident、IIT、ATI的Mach32和Matrox的MAGICRGB。

1992年1月,SiliconGraphics(SGI)发布了OpenGL 1.0,这是一个多平台、厂商中立的用于2D和3D显卡应用程序编程接口(API)。

OpenGL是从SGI的专有API发展而来的,名为IRISGL(集成光栅成像系统图形库)。这是一项倡议,旨在将非图形功能从IRIS中分离出来,并使API能够在非SGI系统上运行,特别是随着竞争对手开始带着他们自己的专有API出现在地平线上。

最初,OpenGL针对的是专业的基于UNIX的市场。然而,由于其对扩展实现的开发人员友好支持,它很快就被用于3D游戏。

打开网易新闻 查看精彩图片

与此同时,微软正在专注于不断增长的游戏市场,并计划推出自己的专有API。1995年2月,他们收购了Render Morphics,其Reality Lab API在开发者中越来越受欢迎,这成为了Direct3D的基础。

大约在同一时间,3Dfx的BrianHook正在开发GlideAPI,这将成为一种主导的游戏API。这部分是因为微软参与了Talisman项目(一种基于瓦片的渲染生态系统),分散了Direct X的资源。

随着Direct 3D的广泛可用,并得到了Windows广泛采用的支持,像S3d(S3)、MatroxSimpleInterface、CreativeGraphicsLibrary、CInterface(ATI)、SGL(PowerVR)、NVLIB(Nvidia)、RRedline(Rendition)和Glide这样的专有API开始在开发者中失宠。

这种下降因以下事实而加剧:其中一些专有API与主板制造商绑定在一起,这些制造商面临着增加他们迅速扩大的功能列表的压力。这些增强包括更高的屏幕分辨率、更大的颜色深度(从16位发展到24位,然后是32位)以及图像质量改进,如抗锯齿。所有这些功能都需要增加带宽、更大的图形效率和更快的产品开发周期。

到1993年,市场波动已经迫使一些显卡公司退出业务,或者被竞争对手收购。

打开网易新闻 查看精彩图片

1993年迎来了一批新的显卡竞争者,最引人注目的是Nvidia(英伟达),该公司由黄仁勋、Curtis Priem和Chris Malachowsky于当年1月创立。黄仁勋之前是LSI的核心软件部门的主管,而Priem和Malachowsky都来自Sun Microsystems,他们在那里开发了基于SunSPARC的GX显卡架构。

很快加入竞争的还有Dynamic Pictures、ARK Logic和Rendition等新来者。市场的波动已经导致一些显卡公司退出或被竞争对手吸收。其中包括Tamerack、Gemini Technology、Genoa Systems、Hualon、Headland Technology(被SPEA收购)、Acer、Motorola和Acumos(被CirrusLogic收购)。

然而,ATI却不断壮大。作为All-In-Wonder系列的先驱,ATI在11月底宣布了68890PC电视解码芯片,首次亮相于Video-It卡。该芯片能够以每秒15帧的320x240或每秒30帧的160x120捕获视频。它还具有实时压缩/解压缩功能,这要归功于板载的Inteli 750PD VCP(视频压缩处理器),并且可以通过数据总线与显卡通信,消除了对无线适配器、端口和软电缆的需求。Video-It的价格为399美元,而功能较少的Video-Basic型号则完善了产品线。

五个月后,即次年3月,ATI推出了一款64位加速器:Mach64。这一财年对ATI来说是一个挑战,公司在激烈的竞争中亏损了270万加元。竞争对手的主板包括在许多主板供应商中广受欢迎的S3 Vision 968,以及与Dell(DimensionXPS)、Compaq(Presario7170/7180)、AT&T(Globalyst)、HP(VectraVE4)和DEC(Venturis/Celebris)签订OEM合同的Trio64。

打开网易新闻 查看精彩图片

1995年发布的Mach 64取得了几个著名的首创,它是第一个可用于PC和Mac计算机的显卡适配器,这一点由Xclaim所证明,且与S3的Trio一起提供了全动态视频播放加速功能。

打开网易新闻 查看精彩图片

Mach64还引领了ATI进入专业显卡的领域,推出了3D Pro Turbo和3D Pro Turbo+PC2TV,价格分别为599美元(2MB选项)和899美元(4MB选项)。

接下来的一个月,一家名为3DLabs的技术初创公司崭露头角,该公司诞生于杜邦的Pixel显卡部门从其母公司手中收购了子公司,以及能够进行OpenGL渲染、片段处理和光栅化的GLINT 300SX处理器。

最初针对专业市场,由于价格高昂,Fujitsu Sapphire2SX 4MB的零售价在1600至2000美元之间,而8MB ELSAGLoria8的价格在2600至2850美元之间。然而,300SX旨在面向游戏市场。

S3当时似乎无处不在。高端OEM市场由公司的Trio64芯片组主导,该芯片组将DAC、图形控制器和时钟合成器集成到一个单一的芯片中。它们还使用统一的帧缓冲区,并支持硬件视频覆盖(专用的显卡内存部分,根据应用程序的要求渲染视频)。Trio64及其32位内存总线兄弟Trio32可作为OEM单元和来自Diamond、ELSA、Sparkle、STB、Orchid、Hercules和NumberNine等供应商的独立卡提供。DiamondMultimedia的价格从169美元的ViRGE基础卡到569美元的4MBVRAM的Trio64+DiamondStealth64Video不等。

1995年的游戏GLINT300SX减少了2MB内存(1MB用于纹理和Z-buffer,1MB用于帧缓冲区),有一个选项可以增加VRAM以增加Direct3D兼容性,比349美元的基础价格多出50美元。尽管它具备不错的能力,但该卡在已经饱和的市场中挣扎,但3DLabs已经在开发其Permedia系列的后继产品。

主流市场还看到了Trident的产品,Trident是一家长期的OEM供应商,提供基本的2D显卡适配器,最近又在其产品线中增加了9680芯片。这款芯片与Trio64有许多共同的功能,主板通常定价在170-200美元左右。它们在这个价格范围内提供了可接受的3D性能,具有良好的视频播放能力。

其他在主流市场的新来者包括Weitek的PowerPlayer9130和Alliance Semiconductor的ProMotion 6410(通常被品牌化为AlarisMatinee或FIS的OptiViewPro)。两者都提供了出色的缩放速度和CPU速度,而后者则将强大的缩放引擎与防阻塞电路相结合以获得流畅的视频播放,这比ATI Mach64,Matrox MGA 2064W和S3 Vision968等以前的芯片要好得多。

Nvidia在5月推出了他们的第一款显卡芯片NV1,它成为了第一个能够进行3D渲染、视频加速和集成GUI加速的商业显卡处理器。

打开网易新闻 查看精彩图片

他们与ST Microelectronics合作,使用他们的500nm工艺生产芯片。ST Microelectronics还推广了他们版本的芯片,即STG2000。尽管它并不是一个巨大的成功,但它确实代表了Nvidia的第一次财务回报。不幸的是,对于Nvidia来说,就在第一批供应商主板(尤其是DiamondEdge3D)在9月开始出货时,微软最终发布并发布了DirectX1.0。

D3D显卡API基于渲染三角形多边形,而NV1使用的是四纹理映射。通过驱动程序添加了有限的D3D兼容性,以将三角形包装为二次曲面,但由于缺乏为NV1量身定制的游戏,这款卡作为一个万事通、但却无一精通的角色而注定失败。

NV1的大多数游戏都是从世嘉土星移植过来的。一个带有集成土星端口的4MB NV1(每个扩展支架通过软电缆连接到卡上,每个支架有两个端口),在1995年9月的零售价约为450美元。

微软的最新改动和DirectXSDK的发布,使得主板制造商无法直接访问硬件进行数字视频播放,导致几乎所有独立显卡在Windows 95中的功能出现问题。相比之下,Win 3.1下的各种公司的驱动程序通常没有问题。

打开网易新闻 查看精彩图片

1995年11月,ATI宣布了他们的第一款3D加速器芯片,3DRage(也称为Mach64GT)。它在次年5月在洛杉矶举行的E3电子游戏会议上首次公开演示,并在一个月后上市。3DRage将Mach64的2D核心与3D能力相结合。

对DirectX规范的最新修订意味着3D Rage与许多使用该API的游戏存在兼容性问题——主要是缺乏深度缓冲。使用板载2MB EDO RAM帧缓冲区时,3D模态限制为640x480x16位或400x300x32位。在600x480上尝试32位颜色通常会导致屏幕上的颜色损坏,并且2D分辨率达到1280x1024的峰值。如果游戏性能中等,则全屏MPEG播放功能至少可以平衡功能集。

ATI重新设计了芯片,并在9月推出了RageII。它纠正了第一代芯片的D3DX问题,并增加了对MPEG2播放的支持。最初的卡仍然配备了2MB的内存,限制了性能并导致透视/几何变换问题。随着系列扩展到包括RageII+DVD和3DXpression+,内存容量选项增加到8MB。

虽然ATI是第一个推出3D显卡解决方案的公司,但不久之后,其他竞争对手以不同的3D实现方式出现,即3Dfx、Rendition和VideoLogic。

在向市场推出新产品的竞赛中,3Dfx击败了Rendition和VideoLogic。性能竞赛在开始之前就结束了,3Dfx Voodoo Graphics击败了所有竞争对手。

注:以上内容这是我们GPU系列历史的第一篇文章。如果你喜欢GPU历史的文章,请关注公众号接下来的GPU系列文章,接下来我们将回顾3Dfx、Rendition、Matrox和一个年轻公司Nvidia的黄金时代。