從無到有(makesomething fromscratch)一直是工程師的浪漫,例如自行調(diào)配出操作系統(tǒng)、自己寫系統(tǒng)核心等(如Linux)。然而在家從無到有打造出“一顆”CPU就沒聽過了吧?最近有一位YouTuber就在免焊萬用電路板(俗稱面包板)上,以跳線實做出自己設(shè)計的CPU。
CPU(中央處理器),這么一小顆神奇的高科技黑方塊,是現(xiàn)代電腦的核心元件,大多數(shù)電腦設(shè)備都是64位CPU,技術(shù)層次之深、設(shè)計之復雜,要從無到有重新設(shè)計、打造出全新的CPU談何容易?1970年代個人電腦剛萌芽時期的Intel8008、ZilogZ80等8位處理器相對單純原始,應該比較容易做得到吧?盡管如此,從無到有開發(fā)出一個新的8位CPU也不是容易事。
不是AMD、Intel、ARM等大公司,自己打造CPU有可能嗎?YouTuber保羅·君士坦丁(Paulo Constantino)就向大家證明了這并非辦不到的事。他在自己的Github進行名為Dream catcher的完全自行開發(fā)電腦計劃──把電腦里每個必要元件都重新設(shè)計、手工做出來。
對未受過訓練的人來說,君士坦丁的CPU作品看起來就像板子上一團又一團的電線。他的作品基于74HC系列的CMOS積體電路,插在面包板上用電線跳接起來,他花了兩天時間畫電路圖、一個星期時間實際制作。目前還很簡陋,編寫程序需要用DIP開關(guān)進行,根據(jù)影片,目前只運作過簡單程序:從0記數(shù)到255(用一排8個LED燈以二進位表示)、演奏音階、演奏走音的馬里奧兄弟主題曲。
簡陋歸簡陋,不過影片拍攝的時候是8位,現(xiàn)在已經(jīng)進化到16位,一共擁有256道指令的指令集(instructions),現(xiàn)在還做好了簡單的BIOS(基本輸入輸出系統(tǒng)),當然又是另外一團電線亂亂的面包板。謝天謝地,終于可以輸出畫面到屏幕上了,君士坦丁的下一個目標就是再做好連接鍵盤的功能,這樣寫程序就方便多了,最終目標又能運作MS-DOS或Minix系統(tǒng)。
這樣用面包版繞線做CPU原型簡直就像愚公移山,不過今日我們認為PCB印刷電路板印制、硬件描述語言(Verilog VHDL)、FPGA(可程序化的積體電路)技術(shù)是理所當然,而1980年以前,還沒有這些技術(shù),CPU原型就是如此打造。一位矢志從無到有重造輪子的自造者,自然要用古法來制作CPU原型啰。