翔泳社ブックアンバサダー企画 で読み始めた『コンピュータアーキテクチャのエッセンス』、冬休みの宿題として読み始めましたが年末年始だけでは読み終えられず、1月もずっと読んでいました。最初は本の分厚さ(約500ページ!)と、いかにも難しそうな表紙に圧倒されていましたが、基本から順番に説明されているので、ハードウェア初心者でも意外と読みやすい本でした。

コンピュータアーキテクチャのエッセンス[第2版]
Douglas E. Comer(著), 吉川 邦夫(翻訳)
お昼休みに会社で読んでいると、同僚に「今から大学の勉強をするの?」と言われましたが、まさに大学の教科書のような本です。著者は大学の先生で序文に「1学期の学部コースに適している」という学生を読者に想定した記述がありましたが、その通りだと思います。
この本はまず基礎知識から入り、プロセッサ(CPU)やメモリ、入出力の原理を知り、最後は並列処理などのより高度な話題へと発展していきます。各章末に練習問題が用意されており、付録では実際に大学で利用されているラボ課題も紹介されているので、興味があるテーマについてはさらに詳しく学習できるようになっています。
しかも、ハードウェア専門向けではなく、プログラマが知っておくべきハードウェアの側面に焦点を絞ってあるのもポイントが高い!つまり、私のように大学で情報系の勉強をした経験がないソフトウェア開発者が、初めてハードウェアについて学ぶのにもピッタリ♪ということですね。
もし、理解しにくい部分があっても、とりあえず読み流して先に進むのがオススメです(特に第1部の基礎知識!何度心が折れそうになったことか…)。最初はわからなくても、後の章で出てきたときにもう一度戻って読み直すと要点がつかめることもありました。本文にも「〇章で論じた~」とか、「〇章で紹介したXX」というように参照箇所が書いてあったり、巻末の索引でキーワードを確認しなおしたりできるので、読み進めるほど話がつながりやすくなりました。そういう意味では、重いけど紙の本で良かったです(付箋を貼ったり、ページを行ったり来たりして読むには紙面の方が慣れているので)。
なお、ハードウェアを扱ったことがなくても読めるように構成されていますが、Arduinoやラズベリーパイ等でちょっとでもハードウェアを触ったことがある方が、動作の仕組みやプログラミングへの影響をイメージしやすいはずです。本の付録にも回路を組んでみる課題がありますが、実際に動かしてみた方が良く理解できるので、手元にあればぜひ試してみてください。
夫に「辞書」と呼ばれ、娘にも「面白いの?」と聞かれた本ですが、結構面白かったです。正直、まだ理解できない部分は多いですが、CMOSとか、クロックとか、DRAMとか、今まで名前を聞いたことはあってもそれが何なのか知らなかったものが、どういう役割があるのかイメージできるようになりました。普段の仕事にすぐ役立つかはわからないですが、「へぇ~」「なるほど!」と新しい気付きがたくさんあり、考え方の幅が広がるような本だったので読んでよかったです。
翔泳社ブックアンバサダーの記事投稿期日が1月末だったので、後半は読み飛ばし気味でしたが(本が届いてすぐに読み始めなかったのを後悔しました…)、もう一度じっくりと読み直し、練習問題や付録の課題にも挑戦してみようと思っています。
それにしても、CPUは本当にすごい!
めっちゃ賢いなぁ~












