投稿元:
レビューを見る
NAND回路から順番に論理回路を作り出し、CPUからコンピュータまで作る。IF文を作り出すのがMultiplexer回路なんだと分かった。単純なNAND回路からコンピュータが生まれ出ることを自分の手で経験できる。すべてソフトウェア上の回路だけど、やっていることは物理回路と等しい。ソフトウェアでは、アセンブラーやバーチャルマシンをPythonで書いた。コンパイラー作成で挫折したけど、面白かったな。大学の情報工学の授業でやるような内容だ。
投稿元:
レビューを見る
OS周り、CPUの機能など、一通り再学習するために購入
非常に細かい記述があるため、わかりやすい
CPUの創り方よりだいぶ細かい記述、内容なので、そういった意味では2冊目以降に読むほうが内容が入りやすいと思う
投稿元:
レビューを見る
コンピュータシステムを構成するハードウェア/アーキテクチャ/OS/プログラミング言語/コンパイラ/データ構造とアルゴリズム/ソフトウェアエンジニアリングについて、手を動かしながら学べる。自身の中で特に良く分かっていなかったコンパイラから機械語に至るまでの処理の過程について理解が進んだ。プロジェクトという、各章末に付されたコンピュータをゼロから作っていく実践的問題は、全部自力でできれば相当な力がつくと思うが、ガッツが足りず途中までしかできなかった。。本書の真髄は自分で考えながらプロジェクトをやり通すことにあると思うが、読み通すだけでも得られるものは大きいと思う。
投稿元:
レビューを見る
本書は13章から構成されており、Nandゲートを回路の出発点として様々な仕組みを作り上げる前半、アセンブラやスタック操作、プログラム言語を考える後半、オペレーティングシステムについて考える終盤と構成されている。
各章の最後にはプロジェクトという形で演習問題が用意されていて、3章までは基本的な要素から RAM などの回路を構成する体験ができる。ウェブに公開されている回答を覗き見しながら手元のマシンで回答を記入していったが、いい経験になった。
本書の為に用意されているソフトウェア群(https://www.nand2tetris.org/software)もとても充実していて、M2 チップの MacBook でも動作に支障はなかった。演習問題のテストもできるようになっていて、学習の助けになる。
一方で、4章からのプロジェクトは付属のソフトウェアのドキュメントを読み込んで仕様を把握した上でないと進めるのが難しく感じ、これ以降はズルをしてプロジェクトに回答をせずに本文だけ読み進めた。
10章構文解析では「中身を理解する」ことを重視して LEX や YACC は使用しないと明言されていたりして、全体を通して現在使用されているツールに基づくというよりは、大まかな概念を理解することを目指している。回路の物理的な理解などもさらなる理解の為には必要だと感じた。
コンピュータサイエンスの知識がほぼ皆無の私のような人間には、概念としてのコンピュータに触れる機会になったし物理的な回路にもむしろ興味が湧いたので、コンピュータが作れるようになったかというとそうではないが、同じような境遇の方にはおすすめできる本だと思う。