1. 从万亿美元归零:1993年GPU革命的起点
1993年的硅谷正处于一个微妙的转折点。个人电脑市场开始爆发,但图形处理技术却陷入了同质化竞争的泥潭。当时的主流显卡厂商如S3、Trident等,都在生产固定功能架构的2D图形加速芯片——这些芯片本质上只是一堆预设功能的硬件电路拼凑体,只能加速Windows 3.1的图形界面操作。
我在90年代初期曾参与过这类芯片的设计工作。记得当时团队讨论最多的不是创新,而是如何再砍掉几个晶体管来降低成本。这种环境下,林风提出的"统一可编程架构"理念简直像天方夜谭——就像在马车时代谈论内燃机原理。
2. 技术困局:固定功能架构的致命缺陷
2.1 当时主流GPU的架构局限
典型的1993年图形芯片架构是这样的:
code复制┌─────────────────────────────────────┐
│ 固定功能管线 │
├──────────┬──────────┬──────────┬───┤
│ 2D加速引擎 │ 矩形填充引擎 │ 线条绘制引擎 │...│
└──────────┴──────────┴──────────┴───┘
这种设计存在三个根本性问题:
- 功能固化:每个引擎只能处理特定任务,无法适应新需求
- 资源浪费:不同引擎利用率差异极大,有些始终满载,有些长期闲置
- 开发滞后:任何新功能都需要重新设计芯片,流片周期长达6-12个月
我曾在项目中遇到一个典型案例:当微软在DirectX 5中新增了阿尔法混合功能时,我们不得不紧急修改芯片设计,导致产品上市晚了竞争对手三个月。
2.2 可编程架构的理论优势
林风在餐巾纸上绘制的架构图展现了一种革命性思路:
code复制┌─────────────────────────────────────┐
│ 统一可编程核心阵列 │
├──────┬──────┬──────┬──────┬──────┤
│ 流处理器 │ 流处理器 │ 流处理器 │...│
├──────┴──────┴──────┴──────┴──────┤
│ 共享寄存器堆 & 缓存 │
└──────────────
