CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序

一个人,到底能肝到什么程度?
最近B站上大火的一个视频,或许给了这个问题一个完美诠释:
纯!手!工!自制CPU!
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
这位叫做“奶味的”Up主,耗时整整半年,用他那双勤劳的双手,“逐点”焊接,最终打造出了一个完整CPU!
手工做一个CPU能用么?
当然可以,他还做了一个demo展示,来看一下效果吧 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
纯手工“肝”出一个CPU,还成功运行了流水灯效果,直接引发了一大波网友们的惊呼:
肝帝!焊武帝!
人长在肝上了!
(感受下这满屏的Respect)
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
接下来,让我们一同看下“肝帝”自制CPU的完整过程 。
纯手工自制CPU
其实在发布这个视频之前,Up主便在贴吧中“开玩笑”的说了句:
CPU太贵了,买了显卡就买不起CPU,手工捏个出来……
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
万万没想到,真的是说干就干 。
据这位Up主介绍,他主要采用了3个原材料:
二极管、三极管和电阻 。
通常来讲,CPU的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等 。
而他最先“下手”的,就是CPU的寄存器部分 。
Up主设计了一个6位的移位寄存器:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
它的作用不仅能是用来存储,还能在时钟信号的控制下,将数据进行进行逐次右移或左移 。
简单来说就像是一个交警叔叔,当数据从一个方向进来的时候,这个移位寄存器可以指挥它什么时候该往哪里走 。
Up主处理的第二个结构,是程序计数器 (PC) 。
它作用简单来说,就是记录程序运行的位置 。
而这也是整个项目下来最耗时、最复杂的部分,花了整整3个月之久 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
程序计数器涉及的功能那可就多了 。
像最基本的就是挨个字节读完指令后,计数要自动+1;而CPU重启之后,计数便会清零 。
而且在不同的条件之下,还要能实现直接跳转、调用函数、函数返回等功能 。
听着就有够复杂的了 。
奈何,除此之外,还时常伴随着各种各样的“玄学问题” 。
Up主就举了个例子:
花了一个多星期才在最深处找到一只焊反的二极管……
但功夫不负有心人,在经历3个月令人头秃的时光之后,最复杂的模块还是被他搞定了 。
上电测试也没有问题:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
然后就是硬盘(ROM)和内存(RAM) 。
这是CPU外的比较庞大两个部分要手搓一个不太现实 。
因此,Up主用上了比较容易操作的hm628512来做ROM和RAM:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
△左:RAM和指针 右:ROM
再将ROM和RAM组装上去,现在CPU的基础模块已经基本完成了 。
接下来就是打造指令译码器 。
它主要是用于把传到这里的CPU指令,进行解析运行:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
再把做加减乘除的运算器(ALU)加上去:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
最后还得再焊一个通用缓存上去:
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
现在,这个全部由三极管、二极管和电阻焊接而成的CPU就完成了!
看到这密密麻麻的元件,工程量的浩大就不用多说 。
也难怪能让一众网友直呼“肝帝”了 。


推荐阅读