当年那个手搓CPU的老哥回来了!

简介: 当年那个手搓CPU的老哥回来了!


我还记得前年的时候,分享过一个 B 站的 UP 主:奶味的,当时这位被粉丝称为「焊武帝」的牛人,硬是利用「二极管+三极管+电阻」这些原材料,手搓了一个 CPU。

但 UP 主在这个初次手搓 CPU 的视频发出后,大佬一度失联,本以为大佬燃尽了激情,没想到是憋了 2 年的大招。

嗯,焊武帝卷土重来。


两年时间,一个 90 后体制内小哥下班之后只干三件私务,那就是:

手搓 CPU!手搓 CPU!还是***手搓 CPU!

纯手工制作、全自主研发,于是一个名叫“初芯”的 CPU 终极形态终于诞生。

据 UP 主估计,整个 CPU 共计两万多个器件、10 万多个焊点,全都是一个个手动组装上去的,网友给他“焊武帝”的称号果然名副其实。

光是看这些密密麻麻的线和接口,就已经头大了有没有!

视频一出即登上热门,网友们纷纷赶来,佩服他的勇气和毅力。

他以前的粉丝也闻声而来:神又发视频了!他活了!

毕竟据他上一次更新视频,已经过了20个月之久了。

而这个小哥也不陌生,他名叫林乃卫,时隔一年半,如今千呼万唤始出来,就来康康这爆肝两年的自研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 的内存。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

曾花两个月伙食费买设备

光看 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



相关文章
|
7月前
|
前端开发 JavaScript 程序员
过年了,程序员们,请多关照自己!休息是为了走得更远!
过年了,程序员们,请多关照自己!休息是为了走得更远!
|
7月前
|
前端开发 JavaScript 程序员
程序员教你用代码制作圣诞树,正好圣诞节拿去送给女神给她个惊喜
使用HTML、CSS和JavaScript实现了一个圣诞树效果,包括一个闪烁的圣诞树和一个动态的光斑。代码包含一个<div>元素作为遮罩,一个<canvas>元素绘制星星动画,以及一个SVG元素绘制圣诞树。页面还包含一个提示用户先点赞再观看的提示。此效果适用于任何浏览器,推荐使用谷歌浏览器。提供了一段HTML代码,可以直接复制粘贴到文件中并以.html格式打开查看效果。
165 0
|
存储 安全 Python
python多线程------>这个玩意很哇塞,你不来看看吗
python多线程------>这个玩意很哇塞,你不来看看吗
|
前端开发 数据库
贼无聊的文章
贼无聊的文章
45 0
|
设计模式 缓存 算法
花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
171 0
用“三国杀”讲“分布式算法”,这下舒适了吧?
前言 《三国杀》是一款热门的卡牌游戏,结合中国三国时期背景,以身份为线索,以卡牌为形式,益智休闲,老少皆宜。 东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。 在讲解之前,我们先聊下分布式协议和算法整体脉络。 现在很多开发同学对分布式的组件怎么使用都有一定经验,也知道 CAP 理论和 BASE 理论的大致含义。但认真去看分布式算法的真的很少,原因有三:
|
人工智能 运维 数据可视化
程序员养家活口接私活必备网站(顺便用技术改变世界)
程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。
571 0
|
小程序 数据库
喜欢看球,那就手撸一个看球小程序系统
一,系统展示;二,小程序端代码;三,后端代码;四,数据库;五,手把手教你学习
118 0
喜欢看球,那就手撸一个看球小程序系统
程序人生 - 996(三)马云长文再谈“996”:和被剥削没关系,现在的人不傻
程序人生 - 996(三)马云长文再谈“996”:和被剥削没关系,现在的人不傻
133 0
程序人生 - 996(四)评文之马云再谈“996”:和被剥削没关系,现在的人不傻
程序人生 - 996(四)评文之马云再谈“996”:和被剥削没关系,现在的人不傻
118 0
下一篇
DataWorks