「B站焊武帝」再出圈!孤身爆肝造CPU,软硬件全自研,可玩游戏
杨净 Pine 发自 凹非寺量子位 | 公众号 QbitAI
两年时间,一个90后体制内小哥下班之后只干三件私务,那就是:
手搓CPU!手搓CPU!还是***手搓CPU!
纯手工制作、全自主研发,于是一个名叫“初芯”的CPU终极形态终于诞生。
据UP主估计,整个CPU共计两万多个器件、10万多个焊点,全都是一个个手动组装上去的,网友给他“焊武帝”的称号果然名副其实。
光是看这些密密麻麻的线和接口,就已经头大了有没有!
视频一出即登上热门,网友们纷纷赶来,佩服他的勇气和毅力。
他以前的粉丝也闻声而来:神又发视频了!他活了!
毕竟据他上一次更新视频,已经过了20个月之久了。
而这个小哥也不陌生,他名叫林乃卫,相信很多读者之前也看过量子位写的《B站焊武帝爆火出圈:纯手工拼晶体管自制CPU,耗时半年,可跑程序》。
时隔一年半,如今千呼万唤始出来,就来康康这爆肝两年的自研CPU终极形态到底是什么?
“底层逻辑、架构、指令集均是自主研发”
话不多说,直接先来看手搓出来的“CPU终极形态”的参数如何:
频率:13kHz,超频最大33kHz;ROM:64kB,支持热更新,16位ROM寻址、16位静态数据寻址;内存:系统内存256B、应用内存64kB;IO口数量:78bit(48支持位操作);103条指令,功耗10瓦。做成这样,成本统共算下来只有2000元左右,若是再刨去电烙铁、示波器这类工具,花在基础器件上的钱还不到1000块。
整体性能方面,小哥表示它和70年代初期的CPU差不多,并且在指令上还要优于当时的CPU。
形象点来说,目前它可以简单刷个屏幕,显示文字、图像,甚至一些小游戏(类似贪吃蛇)也能跑起来。
其实在去年7月份,小哥就已经在B站更新过一个“纯手工自制CPU”的视频,搭建的是CPU雏形,耗时6个月。
不过当时的CPU还仅处于能跑起来的阶段,要运行更复杂的程序还比较困难。
于是小哥就开始了他的手搓“进阶版CPU”历程,在刚制作好的CPU雏形上进行调试维修,这一步他的计划是:
把指令增加到100多条;增加了堆栈、 IO 口,运算器的这些比较复杂一点的部件,还有内存管理;可以满足一些复杂的运算;……这一把调试维修,直接就整了小哥一年半的时间。
为了有效提高CPU的性能,期间小哥下了“血本”购入了示波器这类专业器材,用来检测整个CPU每一个节点的信号。
然后小哥以最简易的方式去拆除了一些器件,直接把CPU的频率从1kHz提升到33kHz,性能翻了33倍。
话说回来,徒手搓出CPU,小哥可是完全是依靠自己本科就已经掌握的电子领域、IT领域的知识,实打实开发出来的。
从前期的电路仿真、PCB设计到中后期的焊接、调试以及软件编程……小哥一个人独揽一条“CPU生产线”。
(听起来就很头疼对吧)不过这对“爱好技术类手工制作”的小哥来说可就不一样了。
独创技术了解一下~
看过视频的盆友或许都知道,小哥在视频中特别提到了自己的独创双通道内存。
现有的双通道内存技术虽然也是使用了两个内存控制器,但并没有将全局变量和局部变量(变量的两种分法)分隔开来,它们依旧在混在一个内存中,这样要访问内存就只能一次性全部访问。
而小哥的“独创技术”就不一样了,直接把全局变量和局部变量物理上分割开来,放在不同的内存控制器上。
这样一来,全局变量可以直接用作系统内存(256B),局部变量直接用作应用内存(64kB)。
如果要跑个大一点儿的游戏,直接访问局部变量所在的应用内存,一条指令就能访问到64kB的内存。
曾花两个月伙食费买设备
光看CPU这个体量,就知道是个不小的工程,可能即便专业人士也很难有这样的能力和心力从头做起。
不少网友纷纷表示佩服UP主的勇气和毅力。但也有冷静的网友质疑:为何要做这个呢?
正如这个高赞评论所言,实现方式与实际CPU还是有很大差距,恐怕很难谈得上对现有架构有太大贡献。
在与量子位的交流中,Up主跟我们坦言:做这个东西完全就是为了不留遗憾。
视频也介绍,他是在2016年萌生出开发CPU的想法。
当时电子工程专业的他正在读大三,日常喜欢写写单片机来玩,时不时就在思考:“为何一串0101的数字能变成程序?”再结合已有的数电知识,对CPU的底层运行机制有了了解,自制8位CPU的想法也就油然而生。
不过他也有个私心:成功的话也比较好找工作。(很真实了)
很快,他就完成了电路设计仿真、PCB设计以及打印电路板等工序。光买一堆器件和设备就花了两个月的伙食费。
一切准备就绪时,就到大四毕业设计时候了,他也就只能将CPU的项目搁置。
结果这一放就是五年,此时他回到了北海,工作内容基本上与本科专业没有太大关系,趁着业余时间又重新拾起当年的兴趣。
他向我们坦言:
这个想法如果一直没有实现,就像手里面扎了一颗小刺,没拔出来就会一直隐隐作痛。
回头再去看当年大学时候的设计,他表示有的设计显得十分“愚蠢”。比如像程序计数器设计得复杂,浪费器件的同时还限制了CPU的运行速度。
于是不得不如前所述,从最底层的分立元件开始打造。要知道这种方式速度很慢,稳定性也很差,还会经常出问题。
但UP主表示正是这种从底层出发的过程,就会有更多时间去思考和解决那些问题,也会迸发出创新性的灵感出来。
比如,这不就是芯片发展的一个缩影嘛!(Doge)
(咳咳正经一点) 有心的读者或许在视频结尾注意到,他有一个「创作中的小发现」还不便展示。
量子位帮大家刺探到了一些消息,这个小发现是关于储存逻辑电路方面的,小哥表示:
由更少的器件组成,性能更高,响应速度更快,并且具有替代现有储存逻辑单元的潜力。
最后,小哥还略微向我们透露了些他未来的计划:
这次手搓CPU,是为了进行一场自主研发可商用CPU的可行性论证,为下一步研发商用cpu提供理论和实践支持。
(可以期待一波了~~~)
参考链接:[1]https://space.bilibili.com/28026515[2]https://www.bilibili.com/read/cv12035591?spm_id_from=333.999.0.0