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。

Sources