广告

“爆肝”纯手工自制CPU:纯手写最原始代码,可运行程序

2021-07-28 综合报道 阅读:
随着挖矿的兴趣,显卡价格一路水涨船高,再加上CPU也价格不菲,因此很多爱好组装电脑的网友表示买了显卡就买不起CPU,那么能否用手工做一个能用的CPU呢?B站UP主@奶味的 说:可以!这位Up主,耗时整整半年,手工“逐点”焊接,最终打造出了一个完整CPU,并且纯手写最原始代码,成功让这块“自主研发”的CPU跑了起来……

随着挖矿的兴趣,显卡价格一路水涨船高,再加上CPU也价格不菲,因此很多爱好组装电脑的网友表示买了显卡就买不起CPU,那么能否用手工做一个能用的CPU呢?RElednc

B站UP主@奶味的 说:可以!RElednc

这位Up主,耗时整整半年,手工“逐点”焊接,最终打造出了一个完整CPU,并且纯手写最原始代码,成功让这块“自主研发”的CPU跑了起来。RElednc

RElednc

详细视频:RElednc

RElednc

据这位Up主介绍,他主要采用了3个原材料:RElednc

二极管、三极管和电阻。RElednc

RElednc

通常来讲,CPU的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等。RElednc

@奶味的 首先工作是验证门电路RElednc

RElednc

RElednc

理论通过之后,先从最容易的做起,先造一个移位寄存器,数据从一个方向进,一个时钟周期移动一个位置,最后从另一个方向出。这个就像是现在马路中间的交警,指挥着数据什么时候该往哪里走.RElednc

@奶味的 设计了一个6位的移位寄存器:RElednc

RElednc

Up主处理的第二个结构,是程序计数器 (PC)。RElednc

它作用简单来说,就是记录程序运行的位置。RElednc

而这也是整个项目下来最耗时、最复杂的部分,花了整整3个月之久。RElednc

RElednc

程序计数器涉及的功能那可就多了。RElednc

CPU重启就是要将它的计数清零。用它来实现挨个字节读取指令和数据,每操作一次,计数自动加一,还可实现直接跳转、调用函数,函数返回的功能。RElednc

@奶味的 表示:同时它也是最容易出问题的一个模块,造了一个月的时间,修了一个多月,虚焊特别多。焊反过一个二极管,结果看起来正常,用手机拍下来慢放之后发现执行速度忽快忽慢,找了一个星期才找到那倒过来的玩意,在最深处。还有各种玄学性的问题,造出这个,简直是用了半个脑袋的头发,不过当结果正常显示之后,特别开心,感觉一切都是值得的。RElednc

上电测试也没有问题:RElednc

RElednc

然后就是硬盘(ROM)和内存(RAM)。RElednc

这是CPU外的比较庞大两个部分要手搓一个不太现实。RElednc

因此,Up主用上了比较容易操作的hm628512来做ROM和RAM:RElednc

RElednc

左:RAM和指针 右:ROMRElednc

再将ROM和RAM组装上去,现在CPU的基础模块已经基本完成了。RElednc

接下来就是打造指令译码器。RElednc

它主要是用于把传到这里的CPU指令,进行解析运行:RElednc

RElednc

再把做加减乘除的运算器(ALU)加上去:RElednc

RElednc

最后还得再焊一个通用缓存上去:RElednc

RElednc

现在,这个全部由三极管、二极管和电阻焊接而成的CPU就完成了!RElednc

看到这密密麻麻的元件,工程量的浩大就不用多说。RElednc

还有纯手写最原始代码

@奶味的 表示因为这个CPU的指令集和架构都是自主研发的,所以没有适配的编程语言。RElednc

RElednc

那怎么能让它跑起来呢?@奶味的 选择纯手写最原始代码——二进制编程!RElednc

RElednc

随后,@奶味的 开启了上古编程模式——“扣”程序!RElednc

RElednc

一切准备工作就绪。RElednc

接下来,便是见证奇迹的时刻。RElednc

亮灯,跑起!RElednc

但最开始,程序的运行并不是一帆风顺。RElednc

重启了几次,跑马灯的效果偶尔还是出现问题。RElednc

RElednc

但bug很快被找到了:RElednc

有个地方断开了。RElednc

与此同时,因为还没有I/O接口,所以测试使用的灯是临时寄存器的灯。RElednc

而且左移指令和跳转指令都使用了同一组灯。RElednc

因此,流水灯的效果就不是非常明显。RElednc

于是,@奶味的 重新编程,使CPU跳转到0X0F处运行。RElednc

如此一来,在跳转时灯就是灭的,给左移指令让出了一条路。RElednc

RElednc

一切修改完毕,重新“扣”程序,启动!RElednc

这一次,就没有任何的异常了。RElednc

RElednc

走进“肝帝”大神

UP主@奶味的 原名林乃卫,广西北海人。RElednc

做这个项目的灵感,来源于在他写代码时分析可执行文件中的二进制。RElednc

那时候大神便萌生出了一想法:RElednc

CPU是怎么执行这一串0101的?RElednc

在结合数电课程的知识之后,大神猜测到了大致的原理,于是就想试一试。RElednc

最初他想用门级电路来做的,但是感觉难度不是很高,又想把整个过程从零开始理解透。RElednc

于是,便决定从最基础的模拟电路开始。RElednc

而整个过程最难的部分,便是“器件每一级的连接”和“CPU的运行速度”:RElednc

在此之前没有看过关于CPU原理方面的书籍,是靠自己对门电路的理解而设计的一套电路 ,想设计一套属于自己的架构。RElednc

从最基础的三极管开关到门级电路,网上找的电路图根本没法用,需要自己设计。虽然设计好后理论通过了,但是门级之间组合成功能级器件就有新的问题,功能级的电路再多个 组合起来成为功能模块又会产生新的问题,模块与模块之间连接更会产生新的问题.RElednc

这每一级的问题都很有可能要修改基础电路,然后又会从头开始产生新的问题。RElednc

因为没有专业的设备去调试,我用的是一盏LED和蜂鸣器,想尽办法也将速度提高到100kHz左右 而已,这是十分慢的,过程也十分艰难。RElednc

至于器件方面,大神均是从网上购得,然后再将它们一点一点地焊接成为模块。RElednc

这个CPU大致耗费了1000多个三极管、2000多个二极管,电阻数量也达到了2000多,焊点近万。RElednc

目前的费用大概花了1000多元。RElednc

而网友在弹幕中调侃居多的,还有制程方面的问题。RElednc

据大神介绍:RElednc

要是非得给它定个工艺制程,那就是2.54mm,比先进的3纳米大了将近1百万倍。RElednc

最后,Up主还表示,将在接下来的工作中,持续完善CPU的功能,让它能够运行更加复杂的程序。RElednc

参考链接:RElednc

https://mp.weixin.qq.com/s/cUq8AXCkJ1EQTXSkBPYLmwRElednc

https://www.bilibili.com/video/BV1sy4y1j7Ue?from=search&seid=11054197044995782468RElednc

https://tieba.baidu.com/p/7432882849?see_lz=1RElednc

责编:DemiRElednc

  • 他是从0到1,你是1到2。如果你们PK,谁会赢?
  • 就是人家自己做着玩的,不要给予太多意义。
  • 所以说设计cpu不难,难的是怎么制造出来
  • 这个事价值不大,不如用这些时间去学习点更先进的技术,比如用FPGA等搭建CPU。
    只能说有时间,耐心,毅力,和动手能力
  • 我觉得制作费用比买CPU还高,有如此能力,完全可用淘汰下来的显卡,CPU做一个更好的!
  • 这篇文章几年前就在一本日本翻译的书上看到了,就像现在人不用现成的音响偏要自己通过三极管放大电路做一个一样的意思。
本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 用升级“黑苹果”设备换下的CPU,DIY一台计算机 最近组装的这台PC搭载Core i5-3570处理器核心,是我在将“黑苹果”(Hackintosh) HP计算机升级至Core i7-3770处理器时换下来的...
  • 2021最受欢迎技术文章排行TOP 10:DIY 在过去的2021年里,是哪些文章吸引了大家的关注点赞转发三连呢?EDN小编从几个热门类别中,选出最热门的几篇技术文章分享给大家。
  • 手机进水了?自己动手拆解修复黑屏、无服务、不开机等故 在日常生活中,手机难免会遇到掉进水里的情况,大多数人的处理方式不外乎大力甩、电吹风吹更有将手机放进米桶几天的。随着手机防水性能的提升,大多数情况下,一般简单处理一下基本都能正常使用,但也有意外,开机后黑屏、花屏、甚至无法开机,手机里的重要数据或许也保不住了,那怎么办呢?有网友发出来自己动手拆解修复黑屏、无服务、不开机等故障的流程,希望对手机进水需要解决的朋友有所帮助。
  • 自制一台集成度超高的白光T12,小巧方便 网上的成品T12烙铁头太长,焊点离手控制点太远,操作起来还是不太方便,是否能自己改造一下呢?笔者自己设计一个手柄好了,耗时4小时,打印制作,直接淘汰现有手柄,做出了集成度超高,且小巧方便的白光T12……
  • 何同学自制超大终极版AirDesk,网友:当代乔布斯! B站的数码科技板块简直是宝藏!不仅有野生钢铁侠稚晖君,还有自研火箭发射并回收的00后大二学生@Lshang001,还有拒了大厂的B站网红Up主何同学。前日,何同学终于更新了,他带着超大的AirDesk引爆了全网。网友:b站无时不刻在提醒我我是个废物……
  • 自行给荣耀V30换电池,没想到华为手机电池竟有加密芯片! 笔者的荣耀V30 PRO电池鼓包了,但笔者家附近没有华为官方维修点,于是觉得动手自己更换电池。在某鱼上搜索一番,发现一家深圳的商家15包邮,号称90%容量,看着像原装的,于是果断入手。收到电池后,笔者发现安装上之后无法开机……
  • 稚晖君自制机械臂,采用鸿蒙系统,华为:要不要报销? 日前,华为天才少年@稚晖君 继把自行车做成了自动驾驶之后,终于更新了,这次他硬生生造了一台钢铁侠的机械臂!据说这是他迄今为止搞的项目中,最复杂的一次(耗时4个月)。机械臂的名字也非常有趣——叫做Dummy。稚晖君回应中称这个项目和华为没有任何关系,但“领导看到还挺高兴的,还问需不需要报销一下制作费用”。
  • 这根保险丝为何设计精巧却更易烧化?难道设计师故意为之 从漂亮显微照片中可以看到保险丝采用了一种出人意料的结构:保险丝并非采用常见的低熔点单一合金,而是由三种金属构成。保险丝最中间的大大的圆形内芯是金属钨,钨的外面是一层薄薄的铜,铜层外面是一层薄薄的银......
  • 自己动手维修电脑显示器,成本仅5毛钱 据笔者了解,VGA显示器无法启动的常见的原因是一两个电容损坏,我们只需更换掉损坏的电容就可修好它,但鉴于笔者维修电视100%的失败率,这次的维修显然也很没有信心。因此,笔者特意网络搜索了教学视频……
  • 医院X光收费太贵怎么办?美国男子自制X光机 日前,B站有UP主搬运了youtube上一个热门视频,美国男子自制X光机并成功运行,引起了网友的热议。美国男子Willam Osman因在收到了医院69210.32美元的巨额账单后,因医药费太高,便自己动手制作了一台检查设备,并且真的成功了。
  • 大四学生自制1200+晶体管阵列芯片,类似英特尔4004 CPU 日前,国外大四学生@Sam Zeloof 制作了他的第二个自制硅集成电路Z2,单个芯片上有 1200 个晶体管,使用的技术与英特尔在 1970 年代制作第一批 CPU 时使用的技术相同。换而言之,他一个人在家完成了在 1970 年代需要整个公司才能完成的工作……
  • 日本高玩DIY超强力闹钟,起床困难户克星 说到起床,相信有不少像EDN小编一样,每天设置三五个闹钟才能起床的起床困难户,偶尔迷糊中随手关掉闹钟继续睡,清醒后面对的就是迟到。但近日,日本一位平时喜欢打造各种奇葩手工制品的动手玩家@BitBlt_Korry 展示了自己的最新作品,一个号称绝对不会让你再次睡过去的闹钟,原理不复杂,效果很出众。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了