『コンピュータシステムの理論と実装』
文字数 1,304文字
~モダンなコンピュータの作り方
/ Noam Nisan ・ Shimon Schocken 著 ・ 斎藤 康毅 訳
よく、新発見をした数学者さんは、「巨人の肩の上に乗って見つけた(発見)です」的なことを言います。巨人は言うまでもなく今まで人類が積み上げてきた数学という学問のことで、その成果を拝借して、ちょっと上にのらせてもらって見渡せたおかげでこの発見ができた。ということなわけです。
突然数学の話をしましたが、まあ、コンピュータもその巨人の肩の上で生まれた成果なわけですよね。
で、で、で、この本。
はっきりいってすんごい本です。
NANDという、数学(というか論理学)の一つの演算ルールがあります。Not ANDという意味の論理式のルールで(詳しくはググりましょう!)、ブール演算とかで使うアレですが、このNANDゲートはちょっとしたトランジスタ等の組み合わせで電気回路として実装できます。
でもって、この、NANDゲートを何個も組み合わせていって、ものすごく単純な計算機を作り、今度はその単純な計算機を組み合わせてCPUやコンピュータを作り、さらにその自作コンピュータの上で(これまた自作の!)コンパイラやOSを走らせて、ちょっとしたゲームソフトまで作って動かしてしまおう! という、なんとも壮大な本なのです。
本当にNANDゲートたった一種類から全てが作られていきます。(あらゆる論理演算はNANDの組み合わせで実現できる)
まるで雪だるまのように、たった一つの論理回路からどんどん高度に、複雑に、大型に組み合わさっていく過程を実際にDIYでコンピュータを作りながら追っていけるのです。
自作PCなんてよく言うけど、ここまで根本の根本から作ったことがある人なんてそうそういませんよね。まさにゼロから全てをくみ上げていくのは(簡単には真似できないけど)なかなかに快感です。
どんな複雑なデジタルコンピュータも、その根源はこんな単純な回路で作られているのだってことが実感できます。ある意味でいままで魔法だったコンピュータシステムという生命の神秘に触れているかんじ。
章の終わりには実践問題が付いていて、実際に読者が手を動かして(バーチャル環境ですが)コンピュータを作っちゃいましょうというところもスゴイ。
実際、アメリカのコンピュータサイエンス系の学校ではこの本をもとにした講座があって、学生が一年かけて、「NANDからテトリスまで」を実際に作ってるんだそうです。
すんごいなあ、日本ではこういう講座ないのかなあ?
せっかく日本語に訳されてるのだから、そういうの大学ででもやってほしいなあとおもっちゃったりもしました。
ほんと、いつも何の気なしにつかっているコンピュータさんたちはどんな巨人の肩にのっているスゴイ技術や工夫や発明の延長なのかってことを、じかに構造に触れながら知ることができましたです。
とんでもなく興味深い、技術的素敵本です。ちょーおすすめ!
コンピュータはやっぱ自作だよねーと人に自慢したい方などはぜひ挑戦してみてくださいw