爱好者巧手打造:旧内存芯片变身功能完备的CPU
3 天前 / 阅读约5分钟
来源:Tomshardware
一位爱好者使用8位时代的旧内存芯片和逻辑组件自制了一个完整的处理器EPROMINT,包括算术逻辑单元、内存接口等,可执行自己的汇编代码并响应硬件中断,展示了DIY的极致魅力。

(图片来源:Majsterkowanie i nie tylko, YouTube)

初见之下,这团由错综复杂的导线、板载组件和手工焊接电路构成的物体,宛如一件赛博朋克艺术品。然而,这背后隐藏的是一个令人咋舌的项目:一位热情的爱好者利用旧内存芯片和8位时代的逻辑组件,亲手打造了一个完整的处理器。请注意,这不是开发板,也不是微控制器,而是一个能够执行指令、进行内存寻址的全功能CPU。它的名字是EPROMINT,一个旨在展示DIY乐趣而非挑战现代CPU地位的项目。

这一壮举的缔造者——Majsterkowanie i nie tylko(简称MINT,意为“DIY及更多”)——耗时三个月,精心设计、接线、编程,并详细记录了处理器的每一个架构细节。这一切始于一个简单的实验,他使用了一种名为EPROM的过时内存芯片,最初用于控制小型外部系统,如PWM调光器或信息显示器。该实验的简易性启发了他的思考:如果内存能模拟基本逻辑,那么构建完整处理器的元件或许并不遥远。

Jak działają procesory? Zbudowałem własny procesor od podstaw! - YouTube
观看:

很快,这位爱好者便沉浸于原理图之中,复制了8位时代经典CPU的结构,尤其是那些推动了个人计算机革命的CPU,如Z80。尽管这台机器可能并不时尚或精致,但它能根据真实的指令集运行,执行自己的汇编代码,并对硬件中断做出响应,与商业处理器无异。

项目始于处理器的核心——算术逻辑单元(ALU)。首个原型虽能处理简单加法运算,但稳定性欠佳,最终被废弃。替代方案采用了全插座式设计,便于调试。随后,构建工作逐步扩展至内存接口、地址总线控制器(由次级ALU驱动),直至控制逻辑,后者负责解码操作码并协调整个数据流。

软件部分同样从零开始编写。近2000行代码定义了处理器如何处理指令、简化数据在系统中的移动方式,并创建了测试程序。所有这些都依赖于为早期电路板定制的开发工具。指令集远超老式CPU的能力范畴,涵盖乘法、除法、三角函数计算等操作,甚至能处理位序列。正如创作者所言,这个处理器被“注入了类固醇”。

(图片来源:Majsterkowanie i nie tylko, YouTube)

当所有模块连接完毕,CPU首次通电,电流达到250mA。之前用于其他内存芯片实验的开发设置被改造,以生成新处理器的完整指令集。如上图所示,闪烁的LED作为首个测试程序的标志,而第二个LED在检测到中断时亮起,证明CPU在执行指令的同时也能处理外部事件。它会暂停当前操作,处理中断,然后精确地从中断处继续执行,与真正的处理器无异。

最终,这颗新生的CPU跨越了四块全尺寸印刷电路板,重量超过500克,若展开,导线长度将超过一公里。每个逻辑操作均通过预编程内存实现。因此,该系统并非依赖硅制成的物理与非门,而是向EPROM发送8位输入,EPROM则从存储的查找表中返回结果。数据路由、指令解码等功能均基于此方法。为证明系统可行,他将系统连接至VFD屏幕,并编写代码播放《黑客帝国》……至少是它的低分辨率片段。

(图片来源:华纳兄弟/Majsterkowanie i nie tylko)

(图片来源:华纳兄弟/Majsterkowanie i nie tylko)

(图片来源:华纳兄弟/Majsterkowanie i nie tylko)

与现代SoC内部隐藏的复杂硅结构不同,这颗处理器的执行路径完全透明。每个时钟周期、每个操作码以及所有寄存器更改均清晰可见、可追踪。这正是它的魅力所在,是DIY精神的纯粹体现,充满了朋克摇滚的气息。观看这个视频,你将深刻感受到我们电脑内部CPU的神奇——数十亿个晶体管在微小的空间内舞动,由玻璃和人类的智慧共同操控。如果构建一个基本处理器都如此艰难,那么台积电等公司所实现的制造规模之宏大,更是令人难以想象。如果你对类似DIY成就感兴趣,不妨关注由拼接Steam Deck制成的非官方Steam Controller 2,或正在复活的RTX 5090。

关注Tom's Hardware的Google新闻,获取我们的最新资讯、深入分析和专业评测。请确保点击关注按钮,以免错过任何精彩内容。