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から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