Turing Complete:在外星人的飛碟上,從一顆 NAND 閘手搓出一台電腦

《Turing Complete》遊戲評測:體驗從 NAND 閘到撰寫 Assembly 的計算機架構之旅。內文包含遊戲模擬機制與現實 TTL 電路的技術差異分析,以及對 LEG (ARM) 架構限制的深度心得。

AI 文。

核心機制與劇情

  • 從零開始:開局只有一顆 NAND 閘,需依序實作基礎邏輯閘、多工器、加法器、暫存器,最終組出圖靈完備的電腦。
  • 軟硬整合:硬體組好後,需設計指令集並撰寫 Assembly 解決演算法難題(如走迷宮、計算質數)。
  • 背景設定:被外星人綁架,必須通過一連串「智力測驗」來證明人類價值,劇情帶有幽默感。

系統特色

  • Step Debugger:可暫停時脈單步執行,觀察訊號流動與暫存器數值。
  • 巢狀元件:可將複雜電路封裝成自訂 IC,保持版面整潔。
  • 評分 API:過關後會上傳數據與全球玩家比對,需要自行使用 API 查詢分數。

引擎限制與物理差異 (與現實世界的不同)

  1. Latch 的妥協:
    由於遊戲引擎在 Latch 運算時容易出現 Race Condition 或 Bug,記憶元件(RAM, Register)多採用遊戲提供的簡化版本,而非純手搓。
  2. 嚴禁 Wired-OR (線接或閘):
    不同於現實 TTL 可利用電氣特性偷懶,遊戲中兩輸出直接對接會判定為短路 (Short Circuit),強迫使用 MUX 或 Tri-state Buffer。
  3. 沒有 Floating High:
    現實 TTL 輸入懸空通常視為 High (1);遊戲中輸入懸空預設為 Low (0),相當於內建下拉電阻。

個人心得與吐槽

遊戲後期的 LEG 架構致敬 ARM,但只有 8-bit。

導致寫 Assembly 時極度彆扭,處理大數字或記憶體位置時很痛苦,雖然擬真早期電腦但玩起來很累。

對於部分玩家要求「手接 VCC/GND」,我認為那是無意義的。要的話也是規定導線相交。