电子产业一站式赋能平台

PCB联盟网

搜索
查看: 77|回复: 0
收起左侧

B站焊武帝」再出圈!孤身爆肝造CPU,软硬件全自研,可玩游戏,基础器件成本不到1000元

[复制链接]

864

主题

864

帖子

8156

积分

高级会员

Rank: 5Rank: 5

积分
8156
发表于 2024-1-20 08:30:00 | 显示全部楼层 |阅读模式
本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处杨净 Pine 发自 凹非寺两年时间,一个90后体制内小哥下班之后只干三件私务,那就是:; A, p  b, n  D: W
手搓CPU!手搓CPU!还是***手搓CPU!
! S$ O& G7 q% [' W" F9 A5 x

hgtqyjkq0sx6409663713.gif

hgtqyjkq0sx6409663713.gif
8 A3 Q6 I" ?" Y* |
纯手工制作、全自主研发,于是一个名叫“初芯”的CPU终极形态终于诞生。
& l. S% t# A3 i- @) U据UP主估计,整个CPU共计两万多个器件、10万多个焊点,全都是一个个手动组装上去的,网友给他“焊武帝”的称号果然名副其实。
9 p. G  `( ~4 X( Z2 `6 f& f: |; Q光是看这些密密麻麻的线和接口,就已经头大了有没有!
0 [2 ?, J. B- D视频一出即登上热门,网友们纷纷赶来,佩服他的勇气和毅力。! _) Q4 B1 B6 [1 X

vr0squk2lwc6409663813.png

vr0squk2lwc6409663813.png
" z) N6 G2 _5 X$ U9 S
他以前的粉丝也闻声而来:神又发视频了!他活了!
) C& g+ n6 O+ K( y3 ]

5d1walf0sp46409663913.png

5d1walf0sp46409663913.png
$ c& [8 L/ ?) J5 e5 L% {+ q
毕竟据他上一次更新视频,已经过了20个月之久了。% Z( L, N, e- f* l

pwcr3rqjfbo6409664013.png

pwcr3rqjfbo6409664013.png
9 H' E9 S( [- N1 M4 l7 O  |
而这个小哥也不陌生,他名叫林乃卫,相信很多读者之前也看过量子位写的《B站焊武帝爆火出圈:纯手工拼晶体管自制CPU,耗时半年,可跑程序》。! J& q& ~+ ]$ L  e8 r! ]. D' H
时隔一年半,如今千呼万唤始出来,就来康康这爆肝两年的自研CPU终极形态到底是什么?: t; p, r" ^- B$ M: K0 @7 [
“底层逻辑、架构、指令集均是自主研发”话不多说,直接先来看手搓出来的“CPU终极形态”的参数如何:
$ r  y! N! u2 N' H" w, d, p4 ]频率:13kHz,超频最大33kHz;
" c$ X  d$ F" ^8 H! C+ w# l( e, ~ROM:64kB,支持热更新,16位ROM寻址、16位静态数据寻址; 0 z5 }. M* i) Q& f  b" w
内存:系统内存256B、应用内存64kB; 9 e" b; r( M! v0 |7 o# Y+ D$ ^
IO口数量:78bit(48支持位操作); 7 G8 l/ g5 |; V
103条指令,功耗10瓦。4 f: K( v! C  U- A8 A: T' M
做成这样,成本统共算下来只有2000元左右,若是再刨去电烙铁、示波器这类工具,花在基础器件上的钱还不到1000块5 r( o  W5 H5 G, U. |! ]

kycjcnrxun16409664120.gif

kycjcnrxun16409664120.gif

! f* ^4 C2 C( q2 `1 g7 n% S: u5 ]整体性能方面,小哥表示它和70年代初期的CPU差不多,并且在指令上还要优于当时的CPU。
( d: w  G  F3 f0 t" }形象点来说,目前它可以简单刷个屏幕,显示文字、图像,甚至一些小游戏(类似贪吃蛇)也能跑起来。
8 X0 M+ [7 u4 u, ^) P! z; L4 W/ l) ]其实在去年7月份,小哥就已经在B站更新过一个“纯手工自制CPU”的视频,搭建的是CPU雏形,耗时6个月。; o9 r+ I* Q( B$ S3 Y8 x' I' G
不过当时的CPU还仅处于能跑起来的阶段,要运行更复杂的程序还比较困难。
) T. {8 F8 w  c4 X9 Q0 M6 z, U: K4 J/ g+ F

c1o1e4dltcd6409664223.gif

c1o1e4dltcd6409664223.gif

' m, G8 |! p, U+ w6 Y3 u
夜间运行,跑个灯于是小哥就开始了他的手搓“进阶版CPU”历程,在刚制作好的CPU雏形上进行调试维修,这一步他的计划是:) z, R8 y7 M; c8 |9 \
把指令增加到100多条;) g6 H$ [5 A5 Q  w# P5 v' S
增加了堆栈、 IO 口,运算器的这些比较复杂一点的部件,还有内存管理;
  {; J/ m6 P9 M8 j( J6 @可以满足一些复杂的运算;
+ Q9 D7 w% z1 W# |5 y0 o5 ?+ F……
2 \8 {! Y" K( Q0 ~! f( C
这一把调试维修,直接就整了小哥一年半的时间。4 i( j, i! E& O- c. k
为了有效提高CPU的性能,期间小哥下了“血本”购入了示波器这类专业器材,用来检测整个CPU每一个节点的信号。
: B2 \1 Y& F- v6 G2 i7 _然后小哥以最简易的方式去拆除了一些器件,直接把CPU的频率从1kHz提升到33kHz,性能翻了33倍。
) k# S" w  Q4 ~6 n& z. u2 l话说回来,徒手搓出CPU,小哥可是完全是依靠自己本科就已经掌握的电子领域、IT领域的知识,实打实开发出来的。% `8 l  _+ }; v) `
从前期的电路仿真、pcb设计到中后期的焊接、调试以及软件编程……小哥一个人独揽一条“CPU生产线”。
2 i/ a; S+ e& u+ q! \% z0 V(听起来就很头疼对吧)不过这对“爱好技术类手工制作”的小哥来说可就不一样了。7 s' S7 x4 l. N; f
独创技术了解一下~- t' t9 i; A+ y6 m$ ?4 m3 m
看过视频的盆友或许都知道,小哥在视频中特别提到了自己的独创双通道内存& G. E; a! R% U9 w

gdsfaxa1uds6409664324.png

gdsfaxa1uds6409664324.png
7 n, U' H  s0 S2 Z8 L; L
现有的双通道内存技术虽然也是使用了两个内存控制器,但并没有将全局变量和局部变量(变量的两种分法)分隔开来,它们依旧在混在一个内存中,这样要访问内存就只能一次性全部访问。
9 ~! g8 Z- d( j$ C7 I% g& c而小哥的“独创技术”就不一样了,直接把全局变量和局部变量物理上分割开来,放在不同的内存控制器上。/ X" V9 [0 Q6 ?
这样一来,全局变量可以直接用作系统内存(256B),局部变量直接用作应用内存(64kB)。- L- i' N2 ~4 C( c6 o/ X& t
如果要跑个大一点儿的游戏,直接访问局部变量所在的应用内存,一条指令就能访问到64kB的内存。0 a1 l, h) Z6 x" b  e3 n* A  l
曾花两个月伙食费买设备光看CPU这个体量,就知道是个不小的工程,可能即便专业人士也很难有这样的能力和心力从头做起。
' R% [* j" ?7 x- ~; ]不少网友纷纷表示佩服UP主的勇气和毅力。但也有冷静的网友质疑:为何要做这个呢?
  o& B$ D* g2 W# s8 R, E/ q- c正如这个高赞评论所言,实现方式与实际CPU还是有很大差距,恐怕很难谈得上对现有架构有太大贡献。: U! L' p' m# J

eu3b2pqg34d6409664424.png

eu3b2pqg34d6409664424.png
) d' _5 x( A$ O+ f. e3 B
在与量子位的交流中,Up主跟我们坦言:做这个东西完全就是为了不留遗憾。% l8 A# b- w3 s
视频也介绍,他是在2016年萌生出开发CPU的想法。
$ p7 y: h# j* V  v当时电子工程专业的他正在读大三,日常喜欢写写单片机来玩,时不时就在思考:“为何一串0101的数字能变成程序?”再结合已有的数电知识,对CPU的底层运行机制有了了解,自制8位CPU的想法也就油然而生。" S) j3 o! |2 Q7 u, Y5 V6 ?0 M
不过他也有个私心:成功的话也比较好找工作。(很真实了)
. s% e% b" \3 a3 u1 O很快,他就完成了电路设计仿真、PCB设计以及打印电路板等工序。光买一堆器件和设备就花了两个月的伙食费。5 f+ \  T. p" b- P0 C0 R- p; x8 D& e

itxrrq2uibj6409664525.png

itxrrq2uibj6409664525.png

4 N: T) R$ P* G# T3 k4 _一切准备就绪时,就到大四毕业设计时候了,他也就只能将CPU的项目搁置。
# [+ o4 G/ p' [6 a. G结果这一放就是五年,此时他回到了北海,工作内容基本上与本科专业没有太大关系,趁着业余时间又重新拾起当年的兴趣。- C/ {' H4 R% i
他向我们坦言:
0 E  o9 r; G, A这个想法如果一直没有实现,就像手里面扎了一颗小刺,没拔出来就会一直隐隐作痛。5 O/ H8 j' w/ d3 p
回头再去看当年大学时候的设计,他表示有的设计显得十分“愚蠢”。比如像程序计数器设计得复杂,浪费器件的同时还限制了CPU的运行速度。) S- s6 J$ o: o$ R8 c8 n' ~

d3xgr4jvxwj6409664625.png

d3xgr4jvxwj6409664625.png
3 {) P! `6 m: ~  b: x, u
于是不得不如前所述,从最底层的分立元件开始打造。要知道这种方式速度很慢,稳定性也很差,还会经常出问题。
& N" X- w* {! }9 }! \! u, C但UP主表示正是这种从底层出发的过程,就会有更多时间去思考和解决那些问题,也会迸发出创新性的灵感出来。
4 ~5 h9 X: X* p* k$ h1 o比如,这不就是芯片发展的一个缩影嘛!(Doge)
9 ~5 v, d0 v9 H8 B

5t0wyfleu4f6409664725.png

5t0wyfleu4f6409664725.png

  a0 c) c# X0 k! J! n(咳咳正经一点) 有心的读者或许在视频结尾注意到,他有一个「创作中的小发现」还不便展示。3 x$ g6 |, K: v8 M9 l3 T  f# N

wn5zvebacif6409664825.png

wn5zvebacif6409664825.png
' v( m# I! S0 Z% l
量子位帮大家刺探到了一些消息,这个小发现是关于储存逻辑电路方面的,小哥表示:7 ~* l" _$ n& G
由更少的器件组成,性能更高,响应速度更快,并且具有替代现有储存逻辑单元的潜力。4 j" [$ k" i" A$ f
最后,小哥还略微向我们透露了些他未来的计划:
4 ]6 L" `/ x  d# o这次手搓CPU,是为了进行一场自主研发可商用CPU的可行性论证,为下一步研发商用cpu提供理论和实践支持。+ n0 @  N1 k0 ~: D1 }; \6 f
(可以期待一波了~~~)$ D5 l7 w: [5 j( E# e6 G" T
参考链接:2 x; I' J7 H1 j' r* h6 \: ~
[1]https://space.bilibili.com/28026515
6 {- u; ~* n; Y* s( l[2]https://www.bilibili.com/read/cv12035591?spm_id_from=333.999.0.0- A7 E7 X6 Q" t
——EOF——你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索、字节跳动电商以及携程等部门担任Linux C/C++后端研发工程师。
; J; w( h8 q5 Y8 Z( j& V最近跟朋友一起开发了一个新的网站:编程资源网,已经收录了不少资源(附赠下载地址),如果屏幕前的靓仔/女想要学习编程找不到合适资源的话,不妨来我们的网站看看,欢迎扫码下方二维码白嫖~
; Y; i  `% ^. s) R6 @; ]1 }/ c
! Q7 ~- P- U& D! _$ n0 ~

dhiecjscakg6409664926.gif

dhiecjscakg6409664926.gif
/ ?9 t; b8 Y; K7 F$ L/ o! C
- l* V" ], W: l6 g4 \
同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击此处查看我以前的学习笔记&经验&分享的资源。
1 \2 v- \- `5 m我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。3 L% h( s6 x* V/ [

yj5d51zkz5z6409665027.png

yj5d51zkz5z6409665027.png
" G! a3 t' Z% B0 z4 F+ \
欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会。
0 M: i' i! `) k7 f( o% _  N3 G) q6 ?
" T$ B) z5 W/ z9 p

zdnylhsxnn06409665127.png

zdnylhsxnn06409665127.png
# Z/ Z  ?+ w7 g7 Z1 v) W) h
加个微信,打开另一扇窗/ D. F7 w# w9 a

tlxpz4arrz16409665227.gif

tlxpz4arrz16409665227.gif
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表