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


这是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就完成了!
看到这密密麻麻的元件 , 工程量的浩大就不用多说 。
也难怪能让一众网友直呼“肝帝”了 。
还有纯手写最原始代码
以为纯手工焊接就完了?
不不不 , 还有更硬核的 。
因为这个CPU的指令集和架构都是自主研发的 , 所以没有适配的编程语言 。
那怎么能让它跑起来呢?
这位Up主的对策是:
纯手写最原始代码——二进制编程!
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片

噫吁嚱!噫吁嚱!
这一手露的 , 直接引发了网友们的第二波高潮:
手写指令集 , 牛皮!这才是真·写代码!
直接上机械码 , 太狠了吧!
然后……然后……
Up主竟然就开启了上古编程模式——“扣”程序!
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片

面对此情此景 , 怎么一句“绝绝子”了得 。
……
一切准备工作就绪 。
接下来 , 便是见证奇迹的时刻 。
亮灯 , 跑起!
但最开始 , 程序的运行并不是一帆风顺 。
即便大神重启了几次 , 跑马灯的效果偶尔还是出现问题 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片

但bug很快被找到了:
有个地方断开了 。
与此同时 , 因为还没有I/O接口 , 所以测试使用的灯是临时寄存器的灯 。
而且左移指令和跳转指令都使用了同一组灯 。
因此 , 流水灯的效果就不是非常明显 。
于是 , 大神重新编程 , 使CPU跳转到0X0F处运行 。
如此一来 , 在跳转时灯就是灭的 , 给左移指令让出了一条路 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片

一切修改完毕 , 重新“扣”程序 , 启动!
这一次 , 就没有任何的异常了 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片