CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!

如果有人和你说要“手搓”一颗CPU , 我想大多数对于CPU行业有所了解的朋友第一反应都是“你在做什么梦?” 。 因为就算是目前成本最低的芯片 , 至少都采用微米级工艺 , 不管是设计还是制作都需要专业机器的辅助 , 靠原始工具来制造几乎不可能成功 。
不过 , 如果是古董级别的CPU , 那么人工自制的成功可能性还是有的 , 毕竟人类第一台计算机就是由一群工程师和科学家徒手打造的 , 最多就是用上了诸如焊枪等工具 。 如果说几十年前的人可以完成 , 那么在现代更发达的微电子工程学的指导下 , 制作一颗古董级处理器并不是一件困难的事情 。
比如一位贴吧大神就自制了一颗CPU , 并且成功运行了自己手写的二进制程序 , 被网友称为“肝上长了个人”“焊武帝” , 如果你好奇他是怎么自制CPU的 , 小雷今天就带你一起看看吧 。
如何手搓一颗CPU?
手搓CPU之前 , 首先要了解CPU的基本构造 , 虽然经过数十年的发展 , 现代CPU在工艺上已经与最早的CPU有了很大区别 , 但是在基本构造上还是大致相同的 。 比如用于逻辑计算的运算逻辑部件 , 用于暂存指令、数据和地址的寄存器部件以及用于控制和分析指令的控制部件 , 小到普通的灯控芯片 , 大到超级计算器的处理器核心 , 基本上都遵循这个设计 。
CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!
文章图片
在弄清楚了CPU的主要构造后 , 挡在面前的第一道拦路虎是电路设计 , 否则就连如何接线 , 接在哪里都会成为问题 , 更谈不上打造一颗处理器 。 可以用于CPU设计的软件有不少 , 这位手搓CPU的肝帝使用的Quartus就是一款由英特尔推出的设计软件 , 拥有强大的辅助功能 。
CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!
文章图片
在翻出了数年前用Quartus设计的原理图后 , naiweide(贴吧手搓CPU的大神ID)开始打造移位寄存器 , 也就是我们上面提到的CPU关键部件之一 。 输入的数据会在经过并被分配到该去的位置 , 按照naiweide的描述“就像是现在马路中间的交警 , 指挥着数据什么时候该往哪里走” 。
可以说 , 如果移位寄存器出现问题 , 那么数据就会无法输入到正确的位置 , 导致无法正确执行指令 , 就像是出了“车祸”一样 , 无法通行 。
大家可以感受一下这个移位寄存器的大小 。
CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!
文章图片
CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!
文章图片
基本上用到的零件主要是二极管、三极管和电阻 , 此外还有作为地基的门电路 , 实际上后续的几个部件基本上也只需要这些零件即可 , 只不过是数量多寡的区别 。
在完成了寄存器的制作后 , naiweide开始制作程序计数器 , 也就是上面提到的运算逻辑部件 , 这个模块可以说整个第一阶段最困难的 , 某种程度上来说也是最“劝退”的一个阶段(naiweide自称为此耗费了半个脑袋的头发 , 为他的头发默哀一下) 。
CPU太贵买不起?贴吧大神从零“手搓”,居然能运作!
文章图片
程序计数器涉及到的零件数量远超寄存器 , 只要其中一个零件出现问题那么就会影响整个系统 , 而且缺乏有效的debug机制 , 想要找到故障位置也是相当困难 。 而在实际的焊接过程中 , 受焊锡量、焊接时间等因素的影响 , 看似正常的各个零件在实际运行时都可能出现意想不到的问题 。
比如在一次成功运行后 , 虽然肉眼之下一切正常 , 但是当naiweide用手机记录并慢放视频后 , 很快就发现程序计数器的执行速度忽快忽慢 , 而在正常情况下执行速度应该是恒定的 , 忽快忽慢就说明其中有一个硬件出现了问题 。