本文由【嗶哩嗶哩】授權轉載
微信公眾號ID:bilibiliwx
原標題:兩年一更!大神UP主花3000小時徒手製作CPU
一年半後,UP主@奶味的 歸來,又一次衝上了B站熱門。
上一次,他發了一條標題為“純手工自制CPU”的視頻,播放量突破182萬。他演示了怎麼“搓”出一個指令譯碼器,能執行三條指令。
因為他真的是徒手製作,從把二極管、三極管、電阻焊接到一塊萬能板上開始搓。
視頻結尾,他打出“下個視頻更精彩,不過可能要很久”的預告後,就消失了。
網友以為被鴿了,直到再見到他的視頻,評論和彈幕沸騰了,“神又發視頻了!他活了!”“終於迴歸了!”
這次,他帶來了能運行一百多條指令的終極形態CPU。
開機後,一塊黑白屏幕上依次跳出大字:不忘初“芯”,我來自廣西北海。
整個終極態的製作,從2021年2月延續到2023年2月。
有網友說這是一場理工科學生的大型浪漫,也有人說他是“當代愚公”。奶味自己則在終極態的視頻結尾說——創作意義:發現新奧義。
奶味稱,這個浩大工程的機器部件成本其實不到1000元,但花費了他3000個小時。
這兩年,下班吃過晚飯後,他就從七八點“搓”到凌晨一兩點,週末和節假日工作十多個小時。
電板焊接完後,組裝,疊放,再通電,然後奶味開始了最原始的編程,用紙和筆手寫代碼。
奶味在視頻裡介紹,指令集和架構都是他自主研發的。因為還沒適配任何編程語言,所以採用0和1二進制編程。模式也是最原始的,直接“扣”程序。
初級態可以執行三條指令:複製,左移,跳轉,用這三條指令就可以搞個流水燈。
雖然只有三條指令,也耗費了他大半年。即使已經練得手熟,一塊板也要焊幾個小時。整個焊接過程乏味又漫長。
但奶味卻覺得,手搓過程就像是芯片發展歷史的一個縮影。
那些紅色的開關,就相當於電腦的硬盤。第一次構思電路時,他覺得一個板子大概只能焊16個字節。焊到一半,他又想到電路優化的法子,容量翻了一倍。第三次又比第二次翻了一倍。
這就像人類在探索芯片發展時,在同一個面積上,通過集成電路讓晶體管不斷翻倍的過程。
初級態的CPU佔據了半張書桌,到了終極態,陣仗更大,足足鋪開兩張書桌。
奶味介紹,終極態的頻率從1kHz 提升到 33kHz,翻了 33 倍,指令增到到了100多條,他還添加了堆棧、IO口,足以進行一些複雜運算。
形象點說,這就相當於人類70年代初期的CPU,可以讓屏幕顯示文字和圖像,甚至能讓類似貪吃蛇的小遊戲驅動起來。
整個工程總共10 萬多個焊點和兩萬多個器件,都是他徒手一點點創造的。
彈幕裡,一類評論在驚歎他的毅力,“想起世界上第一臺電腦”“莫名想到了兩彈一星那個年代” “這是我的夢想啊,居然真有人做出來了”。
另一類則是調侃,說他造的不是CPU而是服務器,這是釐米級工藝,而他則是二進制程序員。
在芯片設計競相以精密複雜的納米級工藝為生產力的當下,奶味的手搓CPU似乎顯得不合時宜。
被震驚的不止外行,還有內行。科技媒體專程對他做了報道。在評論區,程序員們評價奶味:“兼具勇氣與毅力”“一個人獨攬‘CPU 生產線’”,“用學的知識實打實做開發”。
因為即使大學課堂上就教授了CPU設計的理論基礎,但因為工程量過大,很少有人會真的投入心力去物理實現它。
彈幕裡,總有人關心奶味的頭髮。神奇的是,雖然每天數個小時埋頭作業,奶味的肩頸竟然沒有一點不適,頭髮也很濃密。他還常在朋友圈曬自己的一頭秀髮。
奶味現在在北海老家的體制內幹著一份朝八晚六的穩定工作。工作內容很雜,有體力活,也做調研,偶爾也寫寫程序。下了班,打遊戲看視頻,有大把的時間。
但骨子裡,奶味是一個愛折騰的人。他更喜歡前幾年的“深漂”生活。
大學畢業後,他當過臨時工,幫人組裝設備。後來被老闆發現有技術,逐漸予以重任,開始獨當一面。深圳有那種讓人快跑的動力。
但2020年下半年,因為疫情,深圳的公司倒閉,他回了老家。安穩工作半年後的一個晚上,一個念頭冒出來,“這麼安逸下去,這輩子可能就這樣子了。”
奶味想到了大學裡自制8 位 CPU 的嘗試。當時他在讀大三,對一個問題非常好奇:CPU到底是怎麼運行的, 0101是怎麼變成程序的?他想把它創造出來。
剛開了個頭,完成了電路設計仿真、PCB 設計後,奶味就開始做畢業設計了,後來又去深圳工作,計劃就擱淺了。
奶味想把它重新拾起來。這次更徹底,從最底層的分立元件開始從零創造。他想對生活一些改變,留一點事蹟,“以後老了還能跟孫子炫耀”。
下班手搓CPU,逐漸成了他生活的自留地。作坊就在書房裡,兩三歲的小侄子進來玩時,有時會順走一個零件,他得花幾天來檢查。
從啟動開始,他就知道這會是一個浩大的工程。芯片在無窮盡地發展。即使他做出初代,繼續優化迭代,就可以無期限地繼續下去。
但如果把它當成一個項目做的話,就有了時間點。為了讓自己擰緊螺絲,他把過程發到了一個技術手工愛好者的社區,階段性拍成視頻發在B站上。
奶味不懂複雜的拍攝剪輯技巧。兩次拍攝都是一鏡到底,再使用倍速播放。
製作的過程嚴肅緊張。他經常播放周杰倫的歌,給自己打雞血。
做終極態前,奶味做好心理準備,工作量會成指數上升。晶體管數量翻倍增加,產生問題的可能性也多了很多。時間有限,他只能更加拼命作業。有幾次,他沉浸爆肝到五六點。
他不時會遭遇“玄學”時刻。因為是手工焊接,焊的不好的地方,就會出現各種問題。
手搓CPU耗時最長的是調試維修環節,這也是最難的部分。要從兩萬多個器件中找到一個損壞的器件,這就像是大海撈針,從十萬個焊點中找出一個鬆動的地方。
最長的一次排錯,他花了兩個星期。最後發現是一個二級管被擊穿了,當時“都快急禿頭了”。
奶味說,能專注3000個小時,是因為自己從小就是耐得住寂寞的性格。他可以一個人坐定很久,想問題或者做事情。
小學三年級時,他就可以坐定很久,把爺爺的錄音機裡的凸透鏡拆了,做成一個顯微鏡,還配了一個LED燈用來採光。
那是他人生第一次體會到創造的喜悅。他四處觀察微觀世界,充分滿足了自己的好奇心。
四年級,他在媽媽的縫紉機上接了個電機和燈泡,改裝完成了一個發電機。晚上關了燈,他腳踩踏板,用自己人工發的電看書。
當然這個發電機並沒用很久,因為腳踩發電實在太累了。當時他的哥哥上初中,帶回了物理課本,奶味對物理特別感興趣,就動念把其中的發電原理付諸實踐。
對技術手工的愛好從小就種下了。大學時,學電子專業的他還嘗試製作過機械臂。這是有一定難度的嘗試,它是單匹的,內存小,要想很多辦法去實現。大學在桂林山區裡,收快遞很慢。
準備重新制造CPU前,奶味打開了從大學帶回來的“百寶箱”,發現裡面的工具足夠幫助他去驗證思路,於是決定開幹。他立即下單買了更多器件。
百寶箱裡裝的只是電壓表、電烙鐵、三級管、二級管這些很普通的設備。但看到它,就能吸取到一些能量。
大學時,他坐定幾個月做機械臂。周圍的同學很好奇,經常來圍觀。當時有人說,“這小子以後肯定能做一些什麼事情出來”。
視頻爆火後,很久沒動靜的同學群裡突然有人轉發了他的報道。當年的同學回覆到,這個固執的小子終於搞成了。
網上的評論奶味逐條都看過了,包括質疑他的那些。對於它們,他抱著像在看朋友們互相開玩笑的心態。初級態的視頻彈幕裡,有人說這是小作坊,他在第二條視頻中就主動借用了這個說法。
他只是在享受那種從小就被印證過的喜悅:當一個男孩對某件事好奇,自己動手印證了自己想法時的那種成就感。
而“奧義”則是指,從最基本的東西開始瞭解原理,當做的事情越來越多,就很可能發現另一個新大陸。
從小,爸媽對他的技術手工愛好一直挺反對,覺得這不務正業。但現在,看到有了迴響,他們終於有了一點改觀。
奶味說自己是那種很普通的小鎮男孩。他小時候的科普讀物基本都是哥哥的教材。上學後偏科物理,少數的幾次,在初中物理考試拿了第一。後來,上普普通通的大學,做著普普通通的工作。
兩條視頻後半段,當他在CPU上掛著的藍色led燈亮起來時,彈幕上刷起評論“夢想亮起來了”“整個星空為你閃耀”。