← Blogに戻る
マイクラで最小のCPUを自作した話
2026.06.16Dev4 min read

マイクラで最小のCPUを自作した話

マインクラフトで1bit CPUを自作した記録。作ることで得られる生きた理解。

マインクラフトで、CPUを作った。

きっかけは単純な疑問だった。「CPUって、実際どう動いているんだろう」 CPUについて調べていると「なるほど」と思う。でもそれは真の理解じゃない。そう感じていた。

だから作ることにした。最小構成からのスタート。1bitのCPUだ。

レッドストーンという制約

使ったのはレッドストーン回路。マインクラフト独自の"電気"のようなものだが、現実とは少し違う。

  • 信号の伝播に時間がかかる(1ティック = 0.1秒)
  • 回路が3次元空間に広がっていく

最初はこの物理的な制約が面倒に見えた。でも逆だった。 制約があるから「なぜこの設計にするのか」を真剣に考えるようになった。 ここに腕の見せ所があるような気がしてワクワクした。もっともまだその境地には達していないが。

作ったもの

1bit構成のCPUで、以下の要素を実装した。

命令セット(4種類)

命令内容
NOP何もしない
A = A + BAレジスタにA+Bを格納
B = A + BBレジスタにA+Bを格納
A = A NAND BAレジスタにNAND結果を格納

ALU(算術論理演算ユニット)

加算とNANDの2種類。これだけで論理演算の基礎はカバーできる。

レジスタ

Dフリップフロップ3個並べたもの。AとBの2レジスタ構成にオーバーフローを示す1レジスタ。

プログラムカウンタ

インクリメンタ + ラッチで構成。

メモリ(ROM)

手動で配線した固定命令列。1セル2bitで4命令対応。つまり8bit。

作ることで得られるもの

この「最小」が重要だった。機能を削るたびに、「これは何のためにあるのか」を考えた。

  • プログラムカウンタがなければ命令が進まない
  • レジスタがなければ計算結果が消える
  • ALUがなければ演算ができない

ひとつひとつの役割が、手を動かすことで染み込んでいった。

学習はほとんどAIとの対話で行った。「CPUって何?」という抽象的な問いから始めて、 質問・回答・確認・また質問、をひたすら繰り返して理解していった。 マインクラフトはその理解の実証実験だった。

コンピュータアーキテクチャの本を読み続けるより、少し手を動かす方が生きた知識になることもある。 この経験がそれを証明したように感じる。

まだ最小構成だが、この土台があれば、次に何を追加すべきかが見える。 「わかるまでやる」は、まだ続く。

← Blogに戻る