向右滑动:上一篇 向左滑动:下一篇 我知道了

一文看懂图形处理器的发展历史

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

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

在此之前存在的图形卡行业主要由普通的2D非PC架构组成,图形卡以其芯片的字母数字命名约定和巨大的价格标签而闻名。3D游戏和虚拟化PC图形最终融合了各种来源,如街机和控制台游戏、军事、机器人、太空模拟器以及医学成像。PKyesmc

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

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

消费级3D图形卡的早期发展(1976-1995)

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

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

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

PKyesmc

图一:1977年9月发布的Atari 2600PKyesmc

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

PKyesmc

图二:IBM PC 的单色显示适配器PKyesmc

Commodore的MOS Tech子公司VIC的类似解决方案为1980-83老式Commodore家用电脑提供图形卡输出。PKyesmc

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

图形卡演变的下一步主要是在专业领域

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

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

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

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

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

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

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

1985年8月,三名香港移民Kwok Yuan Ho、Lee Lau和Benny Lau在加拿大成立了Array TechnologyInc。目前,公司名称已更改为ATI TechnologiesInc。PKyesmc

次年,ATI推出了他们的第一款产品,即OEM颜色仿真卡。它用于通过9针DE-9连接器将黑色背景的单色绿色、琥珀色或白色磷光体文本输出到TTL监视器。该卡至少配备了16KB的内存,在ATI公司运营的第一年销售额就占了ATI 1000万加元的很大一部分。PKyesmc

这主要是通过一份每周向Commodore Computers供应约7000个芯片来完成的。PKyesmc

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

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的克隆产品。PKyesmc

EGA Wonder 1-4系列于3月上市,售价399美元,具有256KB的DRAM和高达 640x350、16色的CGA、EGA和MDA仿真的兼容性。扩展EGA可用于2、3、4系列。PKyesmc

高端的是EGA Wonder 800(图三),它具有16色VGA仿真和800x600分辨率支持,以及VGA改进性能(VIP)卡,它基本上是一个EGA Wonder,添加了数模(DAC)以提供有限的VGA兼容性。后者的价格为449美元,外加Compaq扩展模块的99美元。PKyesmc

PKyesmc

图三:ATI EGA 800:16 色 VGA 仿真,支持 800x600PKyesmc

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

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

在接下来的几年中,ATI的Wonder系列的更新速度也十分惊人。PKyesmc

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

Wonder 16配备256KB内存,零售价为499美元,而512KB版本售价为699美元。PKyesmc

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

1991年,Wonder系列继续快速更新。Wonder XL卡增加了VESA 32K颜色兼容性和 Sierra RAMDAC,将最大显示分辨率提高到640x480@72Hz或800x600@60Hz。1MB RAM选项的价格范围为249美元(256KB)、349美元(512KB)和399美元。还提供了基于前一年的Basic-16的低成本版本,称为VGA充电器。PKyesmc

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

 PKyesmc

PKyesmc

图四:ATI Graphics Ultra ISA (Mach8 + VGA)PKyesmc

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

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

同年,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。PKyesmc

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

OpenGL从SGI的专有API演变而来,称为IRIS GL(集成光栅成像系统图形库)。这是一项保留IRIS的非图形功能并允许API在非SGI系统上运行的举措,因为竞争对手的供应商开始以自己的专有API出现。PKyesmc

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

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

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

PKyesmc

图五 快进:1997年发布的GLQuake与原始QuakePKyesmc

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

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

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

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

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

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

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

此后不久,Dynamic Pictures,ARK Logic和Rendition也加入了英伟达。PKyesmc

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

而ATI不断发展壮大。PKyesmc

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

5个月后的3月,ATI推出了一款64位加速器——Mach64。PKyesmc

在激烈的市场竞争中,ATI亏损了270万加元。竞争对手的主板包括许多主板供应商选择的S3 Vision 968(图六),它被许多主板供应商采用,以及Trio64,后者从戴尔(Dimension XPS),康柏(Presario 7170/7180),AT&T(Globalyst),惠普(Vectra VE 4)签订了OEM合同)和DEC(文丘里斯/ Celebris)。PKyesmc

PKyesmc

图六:Vision 968:S3 的第一款动态视频加速器PKyesmc

Mach64(图七)于1995年发布,创造了许多著名的首创。它成为第一个以Xclaim形式用于PC和Mac计算机上使用的图形卡适配器,并且与S3的Trio一起提供了全动态视频播放加速功能。PKyesmc

Mach64还迎来了ATI的第一款专业显卡,即3D Pro Turbo和3D Pro Turbo + PC2TV,2MB选件售价599美元,4MB售价899美元。PKyesmc

PKyesmc

图七:ATI Mach64 VT 支持电视调谐器PKyesmc

接下来的一个月,一家名为3DLabs的技术初创公司崭露头角,该公司诞生于杜邦的Pixel图形卡部门从其母公司手中收购了子公司,以及能够进行OpenGL渲染、片段处理和光栅化的GLINT 300SX处理器。由于价格高昂,该公司的卡最初是针对专业市场的。富士通 Sapphire2SX 4MB的零售价为1600至2000美元,而8MB的ELSA GLoria 8为2600 至2850美元。然而,300SX是为游戏市场设计的。PKyesmc

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

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

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

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

英伟达在5月推出了他们的第一款图形芯片NV1(图八),并成为第一款能够进行3D渲染、视频加速和集成GUI加速的商用图形处理器。PKyesmc

PKyesmc

图八:英伟达的第一款图形芯片NV1PKyesmc

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

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

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

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

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

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

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

虽然 ATI 率先将3D图形解决方案推向市场,但没过多久,其他对3D实施有不同想法的竞争对手就出现了。即3dfx、Rendition和VideoLogic。PKyesmc

在向市场发布新产品的竞赛中,3Dfx Interactive赢得了Rendition和VideoLogic的青睐。然而,性能竞赛在开始之前就结束了,3Dfx Voodoo Graphics有效地消灭了所有竞争。(本文由半导体产业纵横编译自techspot)PKyesmc

责编:Momoz
文章来源及版权属于半导体产业纵横,国际电子商情仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Elaine.lin@aspencore.com
半导体产业纵横
立足产业视角,提供及时、专业、深度的前沿洞见、技术速递、趋势解析,赋能中国半导体产业,我们一直在路上。
  • 微信扫一扫,一键转发

  • 关注“国际电子商情” 微信公众号

最新快讯

可能感兴趣的话题