コンピュータの勉強におススメの本

スポンサーリンク

コンピュータの基礎を学べる子供向けの本です。コンピュータが CPU やメモリによって構成されているといったことを少しでも学んだことがある人にとっては退屈な本でしょう。一方で、CPU、メモリ、OS、プログラム等の言葉が何を意味するのか全く自信が無い人にとっては、大人であっても良い入門書になるかもしれません。コンピュータの構成、OS とアプリの関係、インターネット通信の仕組みを勉強できるバランスがとれた本です。子供向けということもあって細部がだいぶ省略されていますが、写真や図が豊富に使われていて眺めるだけでも楽しいです。

 


コンピュータが CPU やメモリによって構成されていることを知っていて、具体的に CPU がどのような動作をしているかを知ろうとしている人におすすめの本です。CPU の基本的な動作が、命令の「フェッチ」「デコード」「実行」の繰り返しによって成り立っていることを学ぶことができます。CPU が ALU(演算回路)、各種のレジスタ、デコーダ、プログラムカウンタといった要素によって構成されていることと、各要素間でデータがどのようにやり取りされながら命令が実行されていくかがイラストを交えて具体的に記述されています。その他、メモリとストレージのデバイスの種類や基本的な仕組み、キャッシュや仮想メモリの概念についても触れられています。さらに、ページ数は少ないものの OS の概要についても書かれていて、コンピュータのハードウェアからソフトウェアまでの技術の全体像を把握できます。全体的に各項目の情報が省略しすぎない範囲でコンパクトにまとめられていて、コンピュータの初心者にとって非常にバランスがいい本です。優れた入門書です。

 


コンピュータのアーキテクチャの教科書として非常に有名な本です。共同執筆者のパターソンさんとヘネシーさんの名前から「パタヘネ本」と呼ばれ、多くの人に親しまれています。時代の変化に伴って何度も版を重ねられ、2021年に第6版が出版されました。この本は、はっきり言って入門書ではありません。非常に丁寧に書かれていますが、全体的に難易度は高いです。それでも、コンピュータのちょうどいい入門書がなかなか見当たらない中で、読む人によっては部分的に入門書としても活用できるところもあるかもしれません。この本が優れているのは、ALU 周辺の回路ブロック図が詳細に描かれている点です。一般的な入門書では、ALU、レジスタ、メモリ、バスが登場するだけで終わることが多いですが、この本では、各命令コードを実現するために必要なその他の回路ブロックまで含めて説明してくれています。ハードウェアが得意な人にとっては CPU のアーキテクチャをイメージするのに役立つのではないかと思います。また、随所でコンピュータの性能に言及している点も秀逸です。消費電力や処理時間がどうやって決まるのか、算術演算や各種の命令コードを高速化するためにどのような工夫がなされているか、ということを学べます。難易度が高いということと、MIPS という特定の命令セットに特化した説明になっていることがやや難点ですが、総じて良書であり、おすすめの一冊です。

 


前項で紹介した本の下巻です。下巻では「記憶装置の容量と速度」「並列プロセッサ」を深く説明した2章が収められています。コンピュータの性能に関わる技術要素の応用編という位置づけです。例えば最近のキャッシュ技術に興味がある人、Open-MP などを使って並列処理プログラムを書いたことがあってその仕組みに興味がある人におすすめです。並列プロセッサの章ではマルチコアの CPU に加えて、NVIDIA の GPU と Google の TPU という人工知能(ニューラルネットワーク)の処理で使われるプロセッサの性能についても言及しています。アーキテクチャまで意識して性能を解説している文献は少ないため、貴重な本です。その他、約 400 ページ中の 100 ページが上巻と下巻の共通の「付録」の章になっています。付録の前半(付録A)はアセンブラについて書かれています。アセンブリ言語を知っていることを前提に話が進んでいき、だいぶ専門的な内容になっています。付録の後半(付録B)では論理回路(デジタル回路)設計の基礎が書かれています。ALU の中身を知ることが1つのゴールになっているようです。その他、フロップフロップ回路、ステートマシン、SRAMとDRAMの仕組みも解説してくれています。この辺りは、論理回路(デジタル回路)設計の一般的な参考書でも勉強できますので、確かに付録という位置づけで納得できる内容です。上巻と合わせて購入するかどうかは、付録の章も考慮して検討するとよいのではないかと思います。

 


タイトルとURLをコピーしました