2005年刊の書籍で、日本語訳が2015年になっています。私が持っているのは日本語訳の方。論理ICから始まって、コンピュータを組み立て、ゲームの一つでも動作させてみよう、という計画です。シミュレーターというかエミュレータがJAVAで動作するようです。
技術系の高校の授業みたいな感じで、発売当時に関係者に受けたみたいです。内容的には堅実だと思います。以下、多少批判めいた文言も入るので、書名は直接には書いていません。
キーパーツはALU (Arithmetic Logic Unit: 算術・論理機構)と呼ばれる論理回路で、現実のICでもあります。パーツ名はSN54LS181で、わずか60ゲート程度の4bit演算器です。これは同LS182と呼ばれる20ゲートほどの桁上がり担当ICを組み合わせると、16bitや64bitの計算機構になります。
ものすごいのは、これ一つ(LS181)で原理的なCPUの演算が網羅されてしまいます。本では16bitの独自ALUを作成し、これと3組のレジスタと2個の入力切り替え器と命令解釈(単なるROM)を追加するとCPUのできあがり。このCPUとRAMを組み合わせるとコンピュータになる、という塩梅。
しかし、もちろんこの程度では素朴すぎます。で、どうするのかと思ったら、これを計算エンジンとして仮想マシンを組み立てます。こちらは機械語からは80286とかARMとかの感じの普通のCPUに見えるように作ります。
ということは、上述のCPUはCPUというよりはマイクロプログラムの実行マシンで、プログラマから見えるCPUはひとつ上の階層になります。
これは私のような古い人間から見ると、初期に実用となったばかりの計算機システムを想起します。具体的にはDEC PDP-8、IBM S/360、UCSD p-systemなどなど。
一応、計算機言語とOSも作るのですが、私はB言語というC言語の手前の計算機言語と、初期のパソコンのOSを思い出しました。
この本の良い点は、これだけたくさんの内容を盛り込んで、しかし、わずか380ページほどの書籍に完全に収まっている点です。多分、受けたのはこの点だと思います。良く出来ています。