面对内存价格高企,前微软工程师 Dave Plummer 选择了一条极客之路:利用 AI 辅助,从零设计并制造一块适用于 1970 年代经典计算机 DEC PDP-11 的 4MB RAM 扩展板。这一项目不仅解决了老式硬件配件昂贵且稀缺的痛点,更展示了 AI 在软硬件协同开发中的潜力。
天价内存倒逼硬核自制
Dave Plummer 曾参与 Windows 任务管理器及弹球游戏的开发。退休后,他仍将精力投入各类计算机项目中。此次他的目标是一台诞生于 1970 年的 DEC PDP-11 小型机,该机型在 UNIX 早期发展史上地位显著。
然而,为这台老电脑升级内存面临巨大障碍。Plummer 指出,PDP-11 的内存若能在市场找到,价格高达每 MB 1000 美元。这意味着仅 4MB 内存的成本就需 4000 美元,远超现代主流电脑配置。

鉴于高昂的市场价格,Plummer 决定自行研发内存板,以更低成本实现硬件扩容。

AI 辅助完成从原理图到 PCB 设计
该项目并非简单的芯片焊接,而是一次完整的硬件工程。Plummer 借助 ChatGPT 和在线电路设计工具 EasyEDA,完成了从原理图绘制、PCB 布局布线到物料清单生成的全过程。
PDP-11 通过 Q-Bus 总线连接功能板卡。Plummer 将自制内存设计为独立板卡,核心采用 Lattice MachXO2 FPGA 芯片(型号 2000HC)作为内存控制器,外接 4 颗 ISSI 1MB 存储芯片,并辅以 U2S I/O 芯片、DIP 拨码开关等元件。
在地址空间管理上,系统采用 22 位地址寻址,支持最高 4MB 空间,其中顶部 256KB 预留给 I/O 设备和 ROM。FPGA 的核心任务是协调现代存储芯片与老旧总线之间的数据传输,确保符合原有的地址映射规则。



攻克 FPGA 编程与数据访问难题
硬件制造完成后,挑战转向软件层面。此前从未接触过 FPGA 编程的 Plummer,通过购买 FT232H 转接板并安装 openFPGALoader,摸索出了烧录流程。
初步测试中,系统成功识别出 4MB RAM 及预留 ROM 空间。但随后发现内存无法正确访问奇数地址。原因在于 PDP-11 采用 16 位数据总线,CPU 需根据地址选择高低字节。初始版本的 FPGA 代码未正确处理位选择信号,导致写入时可能覆盖相邻字节数据。

经过代码修正,Plummer 解决了数据访问逻辑错误。最终测试显示,内存板不仅通过了所有基础测试,还成功支撑 PDP-11 启动了 UNIX 多用户模式。多用户模式对内存稳定性和完整性要求极高,这一结果验证了自制硬件的可靠性。



传统硬件方案的价值体现
针对网友提出的“使用树莓派模拟内存”建议,Plummer 表示此前已通过 BeagleBone Black 尝试过软件模拟方案。此次采用 FPGA 硬件方案,旨在探索更接近传统硬件实现的扩容路径。

回顾整个项目,AI 虽帮助 Plummer 跨越了电路设计和部分编程门槛,但关键的调试与验证仍依赖工程师的专业经验。这块自制 RAM 的成功运行,证明了在特定场景下,结合 AI 辅助与传统硬件工程能力,能有效解决老旧设备维护中的实际难题。

参考:
https://x.com/davepl1968/status/2115871903114260528
https://www.tomshardware.com/pc-components/ram/veteran-microsoft-engineer-makes-his-own-ram-from-scratch-using-ai-attempts-to-build-4mb-of-1970s-pdp-11-ram-from-scratch

