在很多人看來(lái),打造一臺(tái)家用的計(jì)算機(jī)需要太多硬件:主板、CPU 等等。但實(shí)現(xiàn)一個(gè)8 位的計(jì)算機(jī)遠(yuǎn)沒(méi)有這么復(fù)雜。近日,一位名為 Matt Sarnoff 的開(kāi)發(fā)者就僅用了 6 個(gè)芯片就組裝好了一臺(tái)計(jì)算機(jī)。它不僅能有音視頻輸入輸出,還可以完成編程任務(wù)。不愧是經(jīng)典又復(fù)古的 8 位電腦。
時(shí)至今日,8-bit風(fēng)格的電腦依然有著不朽的魅力。那么,是否可以使用經(jīng)典的 CPU 來(lái)完成現(xiàn)在的計(jì)算任務(wù),同時(shí)保留 8-bit 的風(fēng)格呢
近日,一位名為 Matt Sarnoff 的開(kāi)發(fā)者開(kāi)發(fā)了一款經(jīng)典的家用計(jì)算機(jī),名為Amethyst。它有一個(gè)集成式的鍵盤(pán),能夠生成聲音和圖像。其中有一個(gè)高級(jí)編程語(yǔ)言,能夠讓用戶(hù)自己編程。更重要的是,這個(gè)計(jì)算機(jī)只需要 6 塊芯片,其中包括一個(gè)ATMEGA1284P 的 CPU,一個(gè) USB 接口芯片,以及 4 個(gè)簡(jiǎn)單的集成電路。
可以看到,你可以在上面完成一些基本操作。這個(gè)計(jì)算機(jī)還可以顯示彩色圖像。
那么,怎樣用這些簡(jiǎn)單的硬件組裝一臺(tái)計(jì)算機(jī)呢?
Amethyst :六個(gè)芯片打造家用計(jì)算機(jī)
據(jù)作者介紹,Amethyst 是一種復(fù)古風(fēng)格的家用九三級(jí),圍繞 ATmega1284 微控制器打造。它能夠合成 NTSC 視頻輸出,有著高色彩和高分辨率模式、單聲道音頻輸出和一個(gè)完整的機(jī)械鍵盤(pán)。
該計(jì)算機(jī)使用 Forth 編程語(yǔ)言,有圖像和聲音指令、調(diào)試器和屏幕編輯功能。它采用一個(gè) USB Type-B 接口,提供 5V 的電源和與一臺(tái) PC 的連接溝通。
此外,Amethyst 兼容 Optiboot (Arduino) bootloader,能夠?qū)⒐碳虞d到上面,不需要特殊的編程硬件。
硬件配置
在硬件配置上,首先是 CPU。作者使用了 ATMEGA1284P。這是一個(gè) 2008 年發(fā)布的CPU,有 128KB 的閃存和 16KB 的內(nèi)存。它的運(yùn)行主頻最高達(dá)到 20MHZ,有一個(gè)內(nèi)置的序列界面控制器以及 32 位的輸入/輸出 pin。
如何讓這個(gè)電腦輸入和輸出視頻?作者找出了 4 個(gè) 7400 芯片——兩個(gè)多路復(fù)用器和兩個(gè)并行到串行移位寄存器。
具體而言,他將 CPU 上的 8 個(gè) pin 設(shè)置并行,將其同時(shí)傳入 4 個(gè)芯片中,從而將它們轉(zhuǎn)換高速串行比特流。通過(guò)這種方式,他能夠讓計(jì)算機(jī)在屏幕上顯示出 215 種不同的顏色。當(dāng)然,這樣帶來(lái)的代價(jià)也很大,為了跟上屏幕刷新,CPU 只剩下 25% 的算力處理其他任務(wù)了。
計(jì)算機(jī)的整體電路圖示。這是一個(gè)單板計(jì)算機(jī),使用 6 個(gè)芯片,生成 215 色視頻。鍵盤(pán)直接焊在板子上,同樣支持音頻和四個(gè)串行 I/O 鏈接,用于外圍任務(wù),如游戲控制或存儲(chǔ)設(shè)備。該電腦使用了自帶的 Forth 虛擬機(jī),提供編程環(huán)境。
編程語(yǔ)言和環(huán)境
由于最終目的是提供一個(gè)輕量級(jí)的編程環(huán)境,所以作者選擇了 Forth 而不是Basic。Forth 是嵌入式系統(tǒng)的語(yǔ)言,具有交互性以及可高效編譯代碼的功能,可以在有限空間內(nèi)發(fā)揮作用。由于 1284P 不能夠直接從 RAM 中執(zhí)行已編譯的代碼,因此將代碼編譯為中間字節(jié)代碼,之后該字節(jié)碼將作為數(shù)據(jù)提供給從 1284P 的虛擬機(jī)。虛擬機(jī)的代碼是用匯編代碼編寫(xiě)的,并進(jìn)行了適當(dāng)?shù)氖謩?dòng)調(diào)整以使其盡可能高效。
作者能夠使用先進(jìn)的激光切割機(jī),因此設(shè)計(jì)以及制造木箱(wooden case)并不是很困難。機(jī)械鍵盤(pán)的開(kāi)關(guān)直接焊接在 Amethyst 的單印刷電路板上,這個(gè)鍵盤(pán)的空格鍵在Enter 鍵上方。
作者所用機(jī)械鍵盤(pán)的空格鍵不像一般鍵盤(pán)那樣位于中間,而在 Enter 鍵的上面。
效果展示
從上圖來(lái)看,這臺(tái)電腦提供了一個(gè)命令行界面,用戶(hù)可以進(jìn)行各種操作。
更有趣的是,電腦還自帶了一個(gè)游戲。游戲中,玩家扮演機(jī)器人「#」,并從一大推字符中尋找「kitten」。
尋找 kitten 的游戲界面,可見(jiàn)這個(gè)計(jì)算機(jī)能夠完成很多任務(wù),具有一定的性能。
總硬件清單
那么這個(gè)別具風(fēng)格的家用計(jì)算機(jī)具體需要哪些硬件呢?請(qǐng)看以下硬件清單:
· 以 14.318 MHz 運(yùn)行的 ATmega1284 微控制器(8 位)
· 16KB 內(nèi)存儲(chǔ)器(16352 字節(jié)可用于應(yīng)用程序)
· 4KB 非易失性 EEPROM 存儲(chǔ)
· 具有 Cherry MX 鍵開(kāi)關(guān)的機(jī)械鍵盤(pán)
· NTSC 彩色和單色復(fù)合視頻輸出:
o 256 色、16 色和 4 色位圖圖形,分辨率最高為 160x200
o 分辨率高達(dá) 640x200 的單色位圖圖形
o 40x25 和 80x25 單色文本模式
o 40x25 彩色文本模式
o 40x25 彩色平鋪圖形模式
· 單聲道音頻輸出(脈沖波或 PWM)
· USB 串行通信速度高達(dá) 57600 波特
· 四個(gè) SPI 擴(kuò)展端口,用于外設(shè)、控制器和存儲(chǔ)設(shè)備
· 僅 6 個(gè)芯片(ATmega1284、FT320X、2 個(gè) 74HC157 和 2 個(gè)74HC166)
完整的原理圖、PCB 文件以及系統(tǒng)代碼都可以在 Github 里找到。同時(shí),作者也表示歡迎讀者通過(guò)已提供的信息構(gòu)建自己的 Amethyst 或者改進(jìn)其已有的設(shè)計(jì)。
參考連接:
https://spectrum.ieee.org/geek-life/hands-on/build-this-8bit-home-computer-with-just-5-chips
https://github.com/74hc595/Amethyst/blob/master/README.md
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7174瀏覽量
87159 -
硬件配置
+關(guān)注
關(guān)注
0文章
15瀏覽量
7140
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論