半导体行业观察 · 2020年05月06日

GPU历史系列(一):故事从19世纪70年代讲起

来源:内容由半导体行业观察(ID:icbank)编译自「techspot」,谢谢。

现代图形卡处理器的发展始于1995年推出的首批3D附加卡,随后广泛采用32位操作系统和价格合理的个人计算机。

在此之前存在的图形卡业主要由更加平凡的2D非PC架构组成,图形卡因其芯片的字母数字命名约定和巨大的价格标签而闻名。3D游戏和虚拟化PC图形卡最终从诸如街机和控制台游戏,军事,机器人技术和太空模拟器以及医学成像等多种来源融合在一起。

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

尽管3D图形卡将相当乏味的PC行业变成了光彩夺目的表演,但它们的存在却要归功于几代人的创新努力。本文深入研究了GPU的历史。从3D消费者图形卡的早期发展到3Dfx Voodoo游戏改变者,世纪之交的行业整合以及当今的现代GPGPU。

3D消费者图形卡的早期

第一个真正的3D图形卡始于早期的显示控制器,即视频移位器和视频地址生成器(video shifters and video address generators)。它们充当主处理器和显示器之间的直通通道(pass-through)。传入的数据流被转换为串行位图视频输出,例如亮度,颜色以及垂直和水平复合同步,这将像素行保持在显示生成中,并同步每条连续行以及消隐间隔(时间间隔为 结束一条扫描线并开始下一条扫描线)。

1970年代下半叶出现了一系列设计,为我们所熟知的3D图形卡奠定了基础。例如,RCA的1976年“ Pixie”视频芯片(CDP1861)能够输出62x128分辨率或不适用于RCA Studio II控制台的64x32的NTSC兼容视频信号。

紧随一年后,电视芯片之后是电视接口适配器(TIA)1A,该适配器已集成到Atari 2600中,用于生成屏幕显示,声音效果和读取输入控制器。TIA的开发由杰伊·迈纳(Jay Miner)领导,他后来还领导了Commodore Amiga计算机的定制芯片设计。

1977年9月发布的Atari 2600

1978年,摩托罗拉推出了MC6845视频地址发生器。这成为1981年IBM PC的单色和彩色显示适配器(MDA / CDA)卡的基础,并且为Apple II提供了相同的功能。摩托罗拉于同年晚些时候添加了MC6847视频显示生成器,并将其引入了许多第一代个人计算机,包括Tandy TRS-80。

Commodore的MOS Tech子公司VIC的类似解决方案为1980-83年为老式Commodore家用计算机提供了图形卡输出。

次年11月,LSI的ANTIC(字母数字电视接口控制器)和CTIA / GTIA协处理器(彩色或图形卡电视接口适配器)在Atari 400上首次亮相.ANTIC使用直接存储器访问(DMA)处理2D显示指令。像大多数视频协处理器一样,它可以生成运动场图形卡(背景,标题屏幕,得分显示),而CTIA可以生成颜色和可移动对象。雅马哈和德州仪器(TI)向各种早期家用计算机供应商提供了类似的IC。

IBM PC的单色显示适配器

图形卡发展的下一步主要是在专业领域。

英特尔将他们的82720图形卡芯片用作价格为1000美元的iSBX 275视频图形卡控制器多模式板的基础。它能够以256x256的分辨率(或以512x512的单色)显示八种颜色数据。其32KB的显示内存足以绘制线,弧,圆,矩形和字符位图。该芯片还提供了缩放,屏幕分区和滚动的功能。

SGI迅速推出了用于工作站的IRIS图形卡-GR1.x图形卡板,其中提供了用于颜色选项,几何图形卡,Z缓冲区和覆盖/底层的单独的外接(子)板。

英特尔售价为1000美元的iSBX 275视频图形卡控制器多模板能够以256x256分辨率(或512x512单色)显示八种彩色数据。

当时,工业和军事3D虚拟化技术相对完善。IBM,通用电气和Martin Marietta(1992年将收购通用电气的航空部门),以及大量的军事承包商,技术研究所和美国国家航空航天局(NASA)开展了各种项目,这些项目需要技术用于军事和太空模拟。海军在1951年还利用麻省理工学院的Whirlwind计算机使用3D虚拟化技术开发了飞行模拟器。

除了国防承包商以外,还有一些公司用专业图形卡跨越军事市场。

Evans&Sutherland将提供诸如Freedom和REALimage之类的专业图形卡卡系列,还为CT5飞行模拟器提供了图形卡,CT5飞行模拟器由DEC PDP-11大型机驱动,耗资2000万美元。该公司的共同创始人伊凡·萨瑟兰(Ivan Sutherland)于1961年开发了一个名为Sketchpad的计算机程序,该程序可以绘制几何形状并使用光笔在CRT上实时显示。

这是现代图形卡用户界面(GUI)的起源。

在不太重要的个人计算机领域中,Chips and Technologies的82C43x系列EGA(扩展图形卡适配器)为IBM适配器提供了急需的竞争,并且可以在1985年左右安装在许多PC / AT克隆中。同时Commodore Amiga也安装了OCS芯片组。该芯片组由三个主要组件芯片-Agnus,Denise和Paula组成,它们允许一定数量的图形卡和音频计算,不依赖CPU。

1985年8月,三名香港移民Kwok Yuan Ho,Lee Lau和Benny Lau在加拿大成立了Array TechnologyInc。到今年年底,名称已更改为ATI TechnologiesInc。

ATI在第二年推出了他们的第一款产品,即OEM颜色仿真卡。它用于通过9针DE-9连接器将黑色背景的单色绿色,琥珀色或白色磷光体文本输出到TTL监视器。该卡至少配备了16KB的内存,在ATI公司运营的第一年中,销售额就占了ATI 1000万加元的很大一部分。这主要是通过一项合同完成的,该合同每周为Commodore Computers提供大约7000个芯片。

ATI的Color Emulation Card至少具有16KB的存储空间,并在公司运营的第一年1000万加元的销售额中占了很大一部分。

彩色监视器的出现以及一系列竞争对手之间缺乏标准最终导致了视频电子标准协会(VESA)的成立,ATI是该协会的创始成员,NEC和其他六个图形卡适配器制造商也是该协会的成员。

1987年,ATI在其OEM产品线中增加了Graphics Solution Plus系列,该产品线将IBM PC / XT ISA 8位总线用于基于Intel 8086/8088的IBM PC。该芯片通过DIP开关支持MDA,CGA和EGA图形卡模式。它基本上是Plantronics Colorplus板的克隆,但有64kb的存储空间。1987年发布的Paradise Systems的PEGA1、1a和2a(256kB)也是Plantronics的克隆。

ATI EGA 800:16色VGA仿真,支持800x600

并非只有ATI带动了消费者对个人计算的需求。

那年有许多新公司和产品问世。其中Trident,SiS,Tamerack,Realtek,Oak Technology,LSI的G-2 Inc.,Hualon,Cornerstone Imaging和Winbond都成立于1986-87年。同时,AMD,西部数据/天堂系统,Intergraph,Cirrus Logic,Texas Instruments,Gemini和Genoa等公司将在此期间生产首批图形卡产品。

ATI的Wonder系列在接下来的几年中继续获得了惊人的更新。

1988年,带有游戏控制器端口和复合输出选项的Small Wonder Graphics解决方案问世(用于CGA和MDA仿真),以及具有扩展EGA和16位VGA支持的EGA Wonder 480和800+,以及VGA 新增了VGA和SVGA支持的Wonder和Wonder 16。

1989年推出了更新的VGA Wonder / Wonder 16系列,其中包括降低成本的VGA Edge 16(Wonder 1024系列)。新功能包括一个总线鼠标端口,并支持VESA功能连接器。这是一个金手指连接器,类似于缩短的数据总线插槽连接器,它通过带状电缆链接到另一个视频控制器,以绕过拥挤的数据总线。

1991年,Wonder系列的更新继续向前发展。WonderXL卡增加了VESA 32K颜色兼容性和Sierra RAMDAC,从而将最大显示分辨率提高到640x480 @ 72Hz或800x600 @ 60Hz。

ATI图形卡Ultra ISA(Mach8 + VGA)

Mach系列于同年5月与Mach8一同推出。它以芯片或电路板的形式出售,可以通过编程接口(AI)卸载有限的2D绘图操作,例如线条画,颜色填充和位图组合(Bit BLIT).ATI添加了Wonder的一种变体 XL在扩展PCB上集成了Creative Sound Blaster 1.5芯片。它被称为VGA Stereo-F / X,它能够模拟Sound Blaster单声道文件中的立体声,并且其质量接近FM广播质量。

诸如ATI VGAWonder GT之类的图形卡板提供了2D + 3D选项,将Mach8与VGA Wonder +的图形卡核心(28800-2)结合在一起以实现其3D功能。Wonder和Mach8推动ATI在这一年度实现了1亿加元的销售里程碑,这主要是由于Windows 3.0的采用以及可用于该平台的2D工作量的增加。

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

S3 911在同年被924所取代-基本上是24位色的911修订版-第二年又更新了928,增加了32位色,以及801和805加速器。801使用ISA接口,而805使用VLB。从911的问世到3D加速器的问世,市场上充斥着基于S3原始设计的2D GUI设计-特别是来自Tseng实验室,Cirrus Logic,Trident,IIT,ATI的Mach32和Matrox的MAGIC RGB。

1992年1月,Silicon Graphics Inc(SGI)发布了OpenGL 1.0,这是一个针对2D和3D图形卡的多平台供应商不可知的应用程序编程接口(API)。

微软正在开发自己的竞争对手Direct3D API,并没有确保OpenGL在Windows下也能正常运行。

OpenGL是从SGI专有的API(称为IRIS GL(集成的栅格成像系统图形卡库))演变而来的。这是一项旨在保留IRIS非图形卡功能并允许API在非SGI系统上运行的计划,因为竞争对手的供应商开始使用自己的专有API来望而却步

最初,OpenGL瞄准的是基于UNIX的专业市场,但是由于开发人员对扩展实施的友好支持,很快将其用于3D游戏。

微软正在开发自己的竞争对手API,称为Direct3D,并没有竭尽全力确保OpenGL在新的Windows操作系统下也能正常运行。

几年后,ID软件公司的约翰·卡马克(John Carmack)(之前发布的《毁灭战士》(Doom)彻底改变了个人电脑游戏),将Quake移植到Windows上使用OpenGL并公开指责Direct3D的事情发生了。

快进:1997年发布的GLQuake与原始Quake相比

由于微软拒绝在Windows 95上使用OpenGL的微型客户端驱动程序(MCD)的许可,微软的顽固性增加,这将使供应商能够选择哪些功能可以使用硬件加速。SGI通过开发可安装客户端驱动程序(ICD)进行了答复,该功能不仅提供了相同的功能,而且由于MCD仅覆盖光栅化并且ICD添加了照明和变换功能(T&L),因此做得更好。

在OpenGL的兴起(最初在工作站领域引起关注)期间,Microsoft忙于通过其专有API进行设计的新兴游戏市场。他们于1995年2月收购了RenderMorphics,其Reality Lab API受到开发人员的青睐,并成为Direct3D的核心。

大约在同一时间,3dfx的Brian Hook正在编写Glide API,该API将成为游戏的主要API。部分原因是微软参与了Talisman项目(一个基于图块的渲染生态系统),该项目稀释了DirectX的资源。

随着Windows的普及,D3D变得广泛可用,专有API诸如S3d(S3),Matrox Simple Interface,Creative图形卡库,C Interface(ATI),SGL(PowerVR),NVLIB(Nvidia),RRedline(Rendition)和Glide,开始受到开发人员的青睐。

将其中一些专有的API与电路板制造商结盟,以增加添加到快速扩展的功能列表的压力越来越大,这无济于事。这包括更高的屏幕分辨率,增加的色彩深度(从16位增加到24位,然后是32位)以及图形质量增强(例如抗锯齿)。所有这些功能都要求增加带宽,图形卡效率和更快的产品周期。

到1993年,市场动荡已经迫使许多图形卡公司退出业务,或被竞争对手收购。

1993年迎来了一系列新的图形卡竞争者,其中最著名的就是英伟达(Nvidia),该公司于当年1月由黄仁勋,Curtis Priem和Chris Malachowsky创立。Huang以前是LSI的核心软件总监,而Priem和Malachowsky都来自Sun Microsystems,他们之前曾开发过基于SunSPARC的GX图形卡架构。

此后不久,Dynamic Pictures,ARK Logic和Rendition也加入了Nvidia。

市场动荡已经迫使许多图形卡公司退出业务,或被竞争对手收购。其中包括Tamerack,Gemini Technology,Genoa Systems,Hualon,Headland Technology(由SPEA收购),Acer,Motorola和Acumos(由Cirrus Logic收购)。

而ATI不断发展壮大。

作为All-In-Wonder系列的先驱,11月下旬宣布了ATI的68890 PC电视解码器芯片的发布,该芯片首次在Video-It!卡里面亮相。借助板载Intel i750PD VCP(视频压缩处理器),该芯片能够以320x240 @ 15 fps或160x120 @ 30 fps捕获视频,并能够实时压缩/解压缩。它还能够通过数据总线与图形卡板通信,从而无需使用加密狗或端口和带状电缆。

5个月后的3月,ATI迟迟推出了64位加速器。Mach64。

在竞争激烈的市场中,ATI亏损了270万加元,对ATI来说不是好事。竞争对手的主板包括许多主板供应商选择的S3 Vision 968,以及Trio64,后者从Dell(Dimension XPS),Compaq(Presario 7170/7180),AT&T(Globalyst),HP(Vectra VE 4)签订了OEM合同。)和DEC(文丘里斯/ Celebris)。

Vision 968:S3的首个运动视频加速器

Mach64于1995年发布,创造了许多著名的首创。它成为第一个以Xclaim形式在PC和Mac计算机上使用的图形卡适配器,并且与S3的Trio一起提供了全动态视频播放加速功能。Mach64还迎来了ATI的首款专业显卡,即3D Pro Turbo和3D Pro Turbo + PC2TV。

ATI Mach64 VT支持电视调谐器

次月,一家名为3DLabs的技术初创公司问世,该公司诞生于杜邦的Pixel图形卡部门从其母公司手中收购了子公司,以及能够进行OpenGL渲染,片段处理和光栅化的GLINT 300SX处理器。由于价格昂贵,该公司的卡最初是针对专业市场的。

1995年的游戏GLINT 300SX减少了2MB的内存。它为纹理和Z缓冲区使用了1MB,为帧缓冲区使用了1MB,但是还提供了一个选项,以增加VRAM的Direct3D兼容性。该卡未能在一个人满为患的市场中取得进展,但是3DLabs已经在Permedia系列的后续产品上进行开发。

那时S3似乎无处不在。该公司的Trio64芯片组主导了高端OEM厂商,该芯片组将DAC,图形卡控制器和时钟合成器集成到单个芯片中。他们还利用了统一的帧缓冲器和受支持的硬件视频覆盖(图形卡存储器的专用部分,用于根据应用程序的要求渲染视频)。Trio64及其32位内存总线兄弟产品Trio32可作为OEM单元和独立卡,可从Diamond,ELSA,Sparkle,STB,Orchid,Hercules和Number Nine等供应商处获得。

市场的主流终端还包括Trident的产品,Trident是一家长期提供免费装饰的2D图形卡适配器的OEM供应商,最近又将9680芯片添加到其产品阵容中。该芯片拥有Trio64的大多数功能,主板的价格一般在170-200美元左右。他们在该支架中提供了可接受的3D性能,并具有良好的视频播放功能。

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

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

他们与意法半导体(ST Microelectronic)合作,以其500nm工艺生产该芯片,后者还推广了该芯片的STG2000版本。尽管这不是一个巨大的成功,但它确实代表了该公司的首次财务回报。对于Nvidia而言,不幸的是,就在9月份第一批供应商主板开始发售(特别是Diamond Edge 3D)时,Microsoft最终确定并发布了DirectX 1.0。

D3D图形卡API确认它依赖于渲染三角形多边形,而NV1则使用四边形纹理映射。通过驱动程序添加了有限的D3D兼容性,以将三角形包装为二次曲面,但是由于缺少针对NV1量身定制的游戏,该卡成为了各行各业的杰作,无所不能。

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

微软的最新更改和DirectX SDK的发布使主板制造商无法直接访问用于数字视频播放的硬件。这意味着几乎所有独立显卡在Windows 95中都存在功能问题。相比之下,来自各种公司的Win 3.1下的驱动程序通常都没有问题。

次年5月在洛杉矶举行的E3电子游戏大会上首次公开展示了它。该卡本身在一个月后可用。3D Rage将Mach64的2D核心与3D功能合并在一起.1995年11月,ATI宣布了他们的首个3D加速器芯片3D Rage(也称为Mach 64 GT)。

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

3Dfx Voodoo Graphics有效地消灭了所有竞争,因此性能竞赛在开始之前就结束了。

ATI重新设计了芯片,并于9月发布了Rage II。除了增加了MPEG2播放支持外,它还纠正了第一款芯片的D3DX问题。但是,初始卡仍附带2MB的内存,从而影响了性能,并影响了透视/几何转换。随着系列的扩展,包括Rage II + DVD和3D Xpression +,内存容量选项增加到8MB。

尽管ATI率先将3D图形卡解决方案推向市场,但对于具有不同3D实现理念的其他竞争对手出世,并没有太多时间。即3dfx,Rendition和VideoLogic。

Screamer 2, released in 1996, running on Windows 95 with 3dfx Voodoo 1 graphics Screamer 2,于1996年发布,在带有3dfx Voodoo 1图形卡的Windows 95上运行

在向市场发布新产品的竞赛中,3Dfx Interactive赢得了Rendition和VideoLogic的青睐。然而,性能竞赛在开始之前就结束了,3Dfx Voodoo Graphics有效地消灭了所有竞争。

推荐阅读
关注数
11296
内容数
1936
最有深度的半导体新媒体,实讯、专业、原创、深度,50万半导体精英关注。专注观察全球半导体最新资讯、技术前沿、发展趋势。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息