近日,一段名为“Home made GPU escalated quickly”的演示视频在硬件爱好者圈内引发轰动。视频中,一位名为陈逸飞(网名“FlyingChip”)的独立硬件工程师展示了他从零开始设计、焊接并成功运行的自制图形处理器(GPU)——尽管性能尚无法与商业产品比肩,但其从基础逻辑门到完整图形管线的实现过程,以及项目在短短数周内的跨越式进展,令不少专业人士直呼“难以置信”。
从“想验证理论”到“真的跑起来了”
据陈逸飞在项目博客中介绍,这个自制GPU项目最初仅仅是他在2024年初的一次“理论验证”尝试。他希望通过离散逻辑芯片(如74系列集成电路)搭建一个最简单的像素着色器,来理解GPU内部的数据流控制。“我原本只是想看看能不能在面包板上点亮几个像素。”他在视频中笑道。
然而,事情很快超出了预期。在成功输出基本图形后,陈逸飞开始逐步增加更多功能模块:帧缓冲器、纹理映射单元、甚至一个简化版的顶点着色器。视频中最令人震撼的画面是,这个由上百颗芯片、密密麻麻飞线组成的板卡,竟然流畅地渲染出一个旋转的3D茶壶——尽管分辨率仅为320×240,帧率也只有个位数,但完整的渲染管线已被证实可行。
“过去三个月里,我几乎每天都在‘拆掉重来’。”陈逸飞在视频中展示了多个迭代版本:从最初的单色输出,到支持8位色彩;从仅能显示几何图形,到加载自定义模型。项目组件的复杂度和规模呈指数级增长,如今已占用整整两个标准ATX电源位,总功耗高达150瓦。
技术细节:如何用“积木”搭出GPU?
陈逸飞的项目并非使用FPGA(现场可编程门阵列)或ASIC(专用集成电路),而是纯粹采用74系列逻辑门芯片、SRAM存储器以及可编程逻辑阵列(PLA)模块。这意味着每一个功能单元——从算术逻辑单元到像素流水线——都是由最基本的与、或、非门组合暴力堆叠而成。
最令人称道的是其纹理映射单元的实现。陈逸飞利用多路复用器和栅极延迟链,模拟了双线性插值算法,尽管精度有限,但在低分辨率下已能呈现可接受的纹理效果。此外,他还自行设计了一个基于状态机的指令调度器,用于管理顶点数据和像素着色器的协同工作。
“这相当于用乐高搭出了一台计算器,再让它运行《我的世界》。”一位不愿具名的GPU架构工程师在评论中指出,“虽然离实用很远,但对于理解现代图形硬件的底层原理,这是一个绝佳的教学案例。”
从个人项目到社区现象
视频发布后,迅速在Reddit、Hackaday以及国内的硬核科技社区“芯片之家”引起热议。截至发稿,原帖已获得超过3万次转发,相关讨论帖中,不少爱好者表示希望获得陈逸飞的设计文档和BOM(物料清单),甚至有人提议发起众筹,批量采购稀缺芯片以降低复制门槛。
陈逸飞已公开承诺将在GitHub上逐步开源所有设计文件、原理图以及测试代码。他在视频末尾强调:“我希望这个项目能鼓励更多人动手造‘轮子’,而不是仅仅停留在理论层面。”目前,已有几个开源社区团队联系他,计划共同优化版图设计,并将核心逻辑移植到低成本FPGA开发板上,以便更多人能够体验。
专家观点:意义不止于“炫技”
半导体行业分析师王建刚认为,这类个人自制GPU项目的价值不在于性能或商业前景,而在于它“打破了硬件设计的神秘感”。他指出,随着RISC-V开源指令集和低成本制程工具的普及,硬件领域的“车库创业”时代可能正在重新到来。“当年乔布斯和沃兹在车库组装苹果电脑,如今有人在地下室焊GPU。这是硬件民主化的重要信号。”
当然,也有冷静的声音。一位IC设计从业者在评论中提醒,陈逸飞的GPU目前尚不支持任何现代API(如OpenGL或Vulkan),驱动程序更是从零手写的汇编级代码。“从演示到真正的‘可用’,还有很长的路要走。但作为个人项目,这已经足够令人惊叹。”
陈逸飞本人则显得非常务实。他在视频结尾展示了自己下一阶段的目标:将工作频率从目前的1MHz提升到5MHz,并尝试运行一个简单的2D游戏引擎。“我不想承诺太多,但至少茶壶会转得更快一些。”他幽默地说。
结语
从一段十几分钟的视频,到一场全球硬件极客的狂欢,“Home made GPU”的迅速升级不仅是技术实力的体现,更映射出数字时代人们对“亲手创造”的原始渴望。当芯片产业越来越趋向高度分工与黑盒化时,像陈逸飞这样愿意拆解、重建、分享的“手工匠人”,无疑为冰冷的硅片世界注入了宝贵的温度。
目前,陈逸飞正在整理第二期视频资料,预计将于下月初上线。届时他将详细讲解纹理映射单元的设计思路,并公开第一版完整原理图。对于所有热爱硬件的读者而言,这或许是一次近距离观察“图形芯片如何思考”的绝佳机会。