兩年時(shí)間,一個(gè) 90 后體制內(nèi)小哥下班之后只干三件私務(wù),那就是:
手搓 CPU!手搓 CPU!還是 *** 手搓 CPU!
純手工制作、全自主研發(fā),于是一個(gè)名叫“初芯”的 CPU 終極形態(tài)終于誕生。
據(jù) UP 主估計(jì),整個(gè) CPU 共計(jì)兩萬(wàn)多個(gè)器件、10 萬(wàn)多個(gè)焊點(diǎn),全都是一個(gè)個(gè)手動(dòng)組裝上去的,網(wǎng)友給他“焊武帝”的稱(chēng)號(hào)果然名副其實(shí)。
光是看這些密密麻麻的線和接口,就已經(jīng)頭大了有沒(méi)有!
視頻一出即登上熱門(mén),網(wǎng)友們紛紛趕來(lái),佩服他的勇氣和毅力。
他以前的粉絲也聞聲而來(lái):神又發(fā)視頻了!他活了!
畢竟據(jù)他上一次更新視頻,已經(jīng)過(guò)了 20 個(gè)月之久了。
而這個(gè)小哥也不陌生,他名叫林乃衛(wèi),相信很多讀者之前也看過(guò)量子位寫(xiě)的《B站焊武帝爆火出圈:純手工拼晶體管自制 CPU,耗時(shí)半年,可跑程序》。
時(shí)隔一年半,如今千呼萬(wàn)喚始出來(lái),就來(lái)康康這爆肝兩年的自研 CPU 終極形態(tài)到底是什么?
“底層邏輯、架構(gòu)、指令集均是自主研發(fā)”
話不多說(shuō),直接先來(lái)看手搓出來(lái)的“CPU 終極形態(tài)”的參數(shù)如何:
頻率:13kHz,超頻最大 33kHz;
ROM:64kB,支持熱更新,16 位 ROM 尋址、16 位靜態(tài)數(shù)據(jù)尋址;
內(nèi)存:系統(tǒng)內(nèi)存 256B、應(yīng)用內(nèi)存 64kB;
IO 口數(shù)量:78bit(48 支持位操作);
103 條指令,功耗 10 瓦。
做成這樣,成本統(tǒng)共算下來(lái)只有 2000 元左右,若是再刨去電烙鐵、示波器這類(lèi)工具,花在基礎(chǔ)器件上的錢(qián)還不到 1000 塊。
整體性能方面,小哥表示它和 70 年代初期的 CPU 差不多,并且在指令上還要優(yōu)于當(dāng)時(shí)的 CPU。
形象點(diǎn)來(lái)說(shuō),目前它可以簡(jiǎn)單刷個(gè)屏幕,顯示文字、圖像,甚至一些小游戲(類(lèi)似貪吃蛇)也能跑起來(lái)。
其實(shí)在去年 7 月份,小哥就已經(jīng)在B站更新過(guò)一個(gè)“純手工自制 CPU”的視頻,搭建的是 CPU 雛形,耗時(shí) 6 個(gè)月。
不過(guò)當(dāng)時(shí)的 CPU 還僅處于能跑起來(lái)的階段,要運(yùn)行更復(fù)雜的程序還比較困難。
于是小哥就開(kāi)始了他的手搓“進(jìn)階版 CPU”歷程,在剛制作好的 CPU 雛形上進(jìn)行調(diào)試維修,這一步他的計(jì)劃是:
把指令增加到 100 多條;
增加了堆棧、 IO 口,運(yùn)算器的這些比較復(fù)雜一點(diǎn)的部件,還有內(nèi)存管理;
可以滿(mǎn)足一些復(fù)雜的運(yùn)算;
……
這一把調(diào)試維修,直接就整了小哥一年半的時(shí)間。
為了有效提高 CPU 的性能,期間小哥下了“血本”購(gòu)入了示波器這類(lèi)專(zhuān)業(yè)器材,用來(lái)檢測(cè)整個(gè) CPU 每一個(gè)節(jié)點(diǎn)的信號(hào)。
然后小哥以最簡(jiǎn)易的方式去拆除了一些器件,直接把 CPU 的頻率從 1kHz 提升到 33kHz,性能提升了 33 倍。
話說(shuō)回來(lái),徒手搓出 CPU,小哥可是完全是依靠自己本科就已經(jīng)掌握的電子領(lǐng)域、IT 領(lǐng)域的知識(shí),實(shí)打?qū)嶉_(kāi)發(fā)出來(lái)的。
從前期的電路仿真、PCB 設(shè)計(jì)到中后期的焊接、調(diào)試以及軟件編程…… 小哥一個(gè)人獨(dú)攬一條“CPU 生產(chǎn)線”。
(聽(tīng)起來(lái)就很頭疼對(duì)吧)不過(guò)這對(duì)“愛(ài)好技術(shù)類(lèi)手工制作”的小哥來(lái)說(shuō)可就不一樣了。
獨(dú)創(chuàng)技術(shù)了解一下~
看過(guò)視頻的盆友或許都知道,小哥在視頻中特別提到了自己的獨(dú)創(chuàng)雙通道內(nèi)存。
現(xiàn)有的雙通道內(nèi)存技術(shù)雖然也是使用了兩個(gè)內(nèi)存控制器,但并沒(méi)有將全局變量和局部變量(變量的兩種分法)分隔開(kāi)來(lái),它們依舊在混在一個(gè)內(nèi)存中,這樣要訪問(wèn)內(nèi)存就只能一次性全部訪問(wèn)。
而小哥的“獨(dú)創(chuàng)技術(shù)”就不一樣了,直接把全局變量和局部變量物理上分割開(kāi)來(lái),放在不同的內(nèi)存控制器上。
這樣一來(lái),全局變量可以直接用作系統(tǒng)內(nèi)存(256B),局部變量直接用作應(yīng)用內(nèi)存(64kB)。
如果要跑個(gè)大一點(diǎn)兒的游戲,直接訪問(wèn)局部變量所在的應(yīng)用內(nèi)存,一條指令就能訪問(wèn)到 64kB 的內(nèi)存。
曾花兩個(gè)月伙食費(fèi)買(mǎi)設(shè)備
光看 CPU 這個(gè)體量,就知道是個(gè)不小的工程,可能即便專(zhuān)業(yè)人士也很難有這樣的能力和心力從頭做起。
不少網(wǎng)友紛紛表示佩服 UP 主的勇氣和毅力。但也有冷靜的網(wǎng)友質(zhì)疑:為何要做這個(gè)呢?
正如這個(gè)高贊評(píng)論所言,實(shí)現(xiàn)方式與實(shí)際 CPU 還是有很大差距,恐怕很難談得上對(duì)現(xiàn)有架構(gòu)有太大貢獻(xiàn)。
在與量子位的交流中,Up 主跟我們坦言:做這個(gè)東西完全就是為了不留遺憾。
視頻也介紹,他是在 2016 年萌生出開(kāi)發(fā) CPU 的想法。
當(dāng)時(shí)電子工程專(zhuān)業(yè)的他正在讀大三,日常喜歡寫(xiě)寫(xiě)單片機(jī)來(lái)玩,時(shí)不時(shí)就在思考:“為何一串 0101 的數(shù)字能變成程序?”再結(jié)合已有的數(shù)電知識(shí),對(duì) CPU 的底層運(yùn)行機(jī)制有了了解,自制 8 位 CPU 的想法也就油然而生。
不過(guò)他也有個(gè)私心:成功的話也比較好找工作。(很真實(shí)了)
很快,他就完成了電路設(shè)計(jì)仿真、PCB 設(shè)計(jì)以及打印電路板等工序。光買(mǎi)一堆器件和設(shè)備就花了兩個(gè)月的伙食費(fèi)。
一切準(zhǔn)備就緒時(shí),就到大四畢業(yè)設(shè)計(jì)時(shí)候了,他也就只能將 CPU 的項(xiàng)目擱置。
結(jié)果這一放就是五年,此時(shí)他回到了北海,工作內(nèi)容基本上與本科專(zhuān)業(yè)沒(méi)有太大關(guān)系,趁著業(yè)余時(shí)間又重新拾起當(dāng)年的興趣。
他向我們坦言:
這個(gè)想法如果一直沒(méi)有實(shí)現(xiàn),就像手里面扎了一顆小刺,沒(méi)拔出來(lái)就會(huì)一直隱隱作痛。
回頭再去看當(dāng)年大學(xué)時(shí)候的設(shè)計(jì),他表示有的設(shè)計(jì)顯得十分“愚蠢”。比如像程序計(jì)數(shù)器設(shè)計(jì)得復(fù)雜,浪費(fèi)器件的同時(shí)還限制了 CPU 的運(yùn)行速度。
于是不得不如前所述,從最底層的分立元件開(kāi)始打造。要知道這種方式速度很慢,穩(wěn)定性也很差,還會(huì)經(jīng)常出問(wèn)題。
但 UP 主表示正是這種從底層出發(fā)的過(guò)程,就會(huì)有更多時(shí)間去思考和解決那些問(wèn)題,也會(huì)迸發(fā)出創(chuàng)新性的靈感出來(lái)。
比如,這不就是芯片發(fā)展的一個(gè)縮影嘛?。―oge)
(咳咳正經(jīng)一點(diǎn)) 有心的讀者或許在視頻結(jié)尾注意到,他有一個(gè)「創(chuàng)作中的小發(fā)現(xiàn)」還不便展示。
量子位幫大家刺探到了一些消息,這個(gè)小發(fā)現(xiàn)是關(guān)于儲(chǔ)存邏輯電路方面的,小哥表示:
由更少的器件組成,性能更高,響應(yīng)速度更快,并且具有替代現(xiàn)有儲(chǔ)存邏輯單元的潛力。
最后,小哥還略微向我們透露了些他未來(lái)的計(jì)劃:
這次手搓 CPU,是為了進(jìn)行一場(chǎng)自主研發(fā)可商用 CPU 的可行性論證,為下一步研發(fā)商用 cpu 提供理論和實(shí)踐支持。
(可以期待一波了~~~)
參考鏈接:
[1]https://space.bilibili.com/28026515
[2]https://www.bilibili.com/read/cv12035591?spm_id_from=333.999.0.0
本文來(lái)自微信公眾號(hào):量子位 (ID:QbitAI),作者:楊凈 Pine
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。