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


还有纯手写最原始代码
以为纯手工焊接就完了?
不不不,还有更硬核的 。
因为这个CPU的指令集和架构都是自主研发的,所以没有适配的编程语言 。
那怎么能让它跑起来呢?
这位Up主的对策是:
纯手写最原始代码——二进制编程!
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
噫吁嚱!噫吁嚱!
这一手露的,直接引发了网友们的第二波高潮:
手写指令集,牛皮!这才是真·写代码!
直接上机械码,太狠了吧!
然后……然后……
Up主竟然就开启了上古编程模式——“扣”程序!
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
面对此情此景,怎么一句“绝绝子”了得 。
……
一切准备工作就绪 。
接下来,便是见证奇迹的时刻 。
亮灯,跑起!
但最开始,程序的运行并不是一帆风顺 。
即便大神重启了几次,跑马灯的效果偶尔还是出现问题 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
但bug很快被找到了:
有个地方断开了 。
与此同时,因为还没有I/O接口,所以测试使用的灯是临时寄存器的灯 。
而且左移指令和跳转指令都使用了同一组灯 。
【CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序】因此,流水灯的效果就不是非常明显 。
于是,大神重新编程,使CPU跳转到0X0F处运行 。
如此一来,在跳转时灯就是灭的,给左移指令让出了一条路 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
一切修改完毕,重新“扣”程序,启动!
这一次,就没有任何的异常了 。
CPU处理器|B站焊武帝爆火出圈:纯手工拼晶体管自制CPU 可跑程序
文章图片
走进“肝帝”大神
在看完这波“神级”操作之后,想必大家都想了解这位大神 。
量子位帮你实现这个梦想 。
大神原名林乃卫,广西北海人 。
做这个项目的灵感,来源于在他写代码时分析可执行文件中的二进制 。
那时候大神便萌生出了一想法:
CPU是怎么执行这一串0101的?
在结合数电课程的知识之后,大神猜测到了大致的原理,于是就想试一试 。
最初他想用门级电路来做的,但是感觉难度不是很高,又想把整个过程从零开始理解透 。
于是,便决定从最基础的模拟电路开始 。
而整个过程最难的部分,便是“器件每一级的连接”和“CPU的运行速度”:
在此之前没有看过关于CPU原理方面的书籍,是靠自己对门电路的理解而设计的一套电路,想设计一套属于自己的架构 。
从最基础的三极管开关到门级电路,网上找的电路图根本没法用,需要自己设计 。虽然设计好后理论通过了,但是门级之间组合成功能级器件就有新的问题,功能级的电路再多个 组合起来成为功能模块又会产生新的问题,模块与模块之间连接更会产生新的问题.
这每一级的问题都很有可能要修改基础电路,然后又会从头开始产生新的问题 。
因为没有专业的设备去调试,我用的是一盏LED和蜂鸣器,想尽办法也将速度提高到100kHz左右 而已,这是十分慢的,过程也十分艰难 。
至于器件方面,大神均是从网上购得,然后再将它们一点一点地焊接成为模块 。
这个CPU大致耗费了1000多个三极管、2000多个二极管,电阻数量也达到了2000多,焊点近万 。
目前的费用大概花了1000多元 。
而网友在弹幕中调侃居多的,还有制程方面的问题 。
据大神介绍:
要是非得给它定个工艺制程,那就是2.54mm,比先进的3纳米大了将近1百万倍 。
最后,Up主还表示,将在接下来的工作中,持续完善CPU的功能,让它能够运行更加复杂的程序 。
对此,你期待了吗?


推荐阅读