Chip Builder:從邏輯門到 CPU 的教育遊戲
Chip Builder 使從基本邏輯門構建 CPU 成為可能
Chip Builder 是一款教育模擬遊戲,旨在教授計算機架構的基礎知識。遊戲遵循逐步學習路徑,用戶從放置基本邏輯門(AND、OR、NOT)開始,逐步將它們組合起來,構建更複雜的元件,包括加法器、多路復用器、記憶單元以及算術邏輯單元(ALU),最終設計出能夠執行組合語言程式的完整 CPU。
使用者體驗與介面挑戰
社區的早期反饋指出,遊戲目前的使用者介面與體驗(UX)存在幾個顯著的摩擦點。使用者回報互動模型不直觀,特別是關於「基於模式」的工作流程。
工具與互動
- 模式切換: 使用者經常指出在 'select'、'wire' 和 'delete' 模式之間切換的需求很繁瑣。社區建議實作情境化操作,例如直接從連接點拖曳來建立導線。
- 畫布控制: 反饋指出缺少基本的畫布導航(平移/縮放),以及移動重疊元件時的問題。
- 輸入處理: 部分使用者回報將輸入接線到門檻時有困難,而其他使用者則指出,畫布缺少
user-select: none;會導致在移動元件時意外選取文字。
技術穩定性與進度
- 狀態持續性: 常見的抱怨是缺少儲存系統;進度據稱在頁面重新載入或導航時會遺失。
- 關卡設計: 部分使用者回報無法通過 NAND 門關卡,或發現「Pipelining」關卡故障,指出缺少可放置的元件。
- 測試可見性: 使用者希望在與邏輯板互動時同時查看測試結果,因為目前的分頁系統在點擊畫布時會切換視圖。
與現有教育工具的比較
Chip Builder 進入了「NAND-to-CPU」教育工具眾多的領域。社區成員將此專案與幾個已確立的替代方案進行比較:
- Turing Complete: 常被提及為一個在 Steam 上更精緻的替代方案,它引導用戶走過類似的路徑以達到可運作的 CPU。
- NANDGame: 一個知名的網頁版替代方案,用於從 NAND 門建造電腦。
- Nand2Tetris: 一個基礎課程與專案,用於理解硬體-軟體堆疊。
- Digital Logic Sim (Sebastian Lague): 一個模擬工具,亦以 NAND 門作為主要建置塊開始。
- Mvidia: 一個專注於 GPU 架構的類似遊戲。
社區學習建議
除了遊戲模擬,有經驗的使用者建議對想要深入了解 CPU 架構的人進行實際練習:
我曾經完成 Turing Complete 直到能夠運作的 CPU,並發現這非常有趣。之後我使用 Verilog 建構了自己的 RV32I(最簡單的 RISC-V 指令集)核心……我會建議任何想要了解 CPU 運作方式的人進行此練習。
此外,Ben Eater 的 6502 系列也強烈推薦給對這些概念的實體實現感興趣的人,具體來說,是在麵包板上將 6502 微處理器接線到 ROM 和 RAM。