見出し画像

CODE: コードから見たコンピュータのからくり

おすすめ度: ★★★☆☆
●感想
・原著の評価が高いので、新人の頃に買ったのですが、案の定最後まで読めていませんでした。

・コンピュータの仕組みについて、かなり基本的なところからスタートして、発展の歴史をたどっていきます。技術書というよりは読み物に近いかもしれません。

・17章のオートメーションまでで、コンピュータの仕組みを電気レベルで理解できます。(それ以降のマシン語あたりからは流し読みしたので、ご了承下さい)

・モールス信号から始まったりするので、全体的に冗長なのですが、本当に何も知らない人が最初に読む本としてはおすすめできます。

[良い点]
・解説が丁寧で電気の知識がなくても順を追って理解できる
・CPUを構成するハードウェアの動作がかなり丁寧に説明されている
・電気科の学生には最初の1冊としておすすめ

[悪い点]
・長い!入門者向けだと思うので、1/3の200ページくらいだと良かった
・文字の説明が多過ぎて、内容の理解に時間がかかる
・翻訳の関係で仕方ないのですが、分かりづらい表現の箇所がある

●学びのアウトプット
[1章~9章]

モールス信号からスタートして、点字やバーコードの例を出しつつ、ひたすら2進数(1bit)の説明が続く。ある程度のレベルの人は飛ばしても良いかもしれません。

[10章、11章]
ブール代数と論理回路の説明。丁寧。

[12章、13章]
2進数の加算・減算を論理回路を使ってどうやってやるかの説明。減算のところは難しいと思うのですが、最後の2の補数表現を使ったところだけ理解すれば良いかなと思います。

[14章]
フリップフロップについて。Dフリップフロップの中身の論理回路構成が書いてあるので、知らない人は一度は読んだ方が良いです。レベル型、エッジトリガ型がどう実現されているのか、なんとなくでも頭に入れておいた方が良いです。

[15章]
データの単位が8bit=1byteであること、1byteを4bitずつ16進数の2桁で表現できるため都合が良いこと。

[16章、17章]
コンピュータのハードウェアの基本構成と動作について書かれており、本書のハイライトになります。分かりやすいです。
個人的備忘録
・指令コードとデータを分けて保存する
・指令コードを3byteにして、1byteは加算などの指令、残り2byteで演算に使うデータの入ったアドレスを指定する

[18章]
コンピュータがワンチップICになるまでの歴史。流し読みしました。

[19章]
インテル製CPUの8080を例にしたアセンブラ言語とマシン語の話。
個人的備忘録
指令コードのアドレスの順番が異なる。
インテル8080:リトルエンディアン(低位側、高位側)
モトローラ6800:ビッグエンディアン(高位側、低位側)

[20章]
ASCIIコードの話。7bitで文字を表す。アメリカ規格のため文字リストに偏りがある。1bitを追加して不足分を補うようにした拡張ASCIIコードが多く存在する。日本のシフトJISコードは16bit(2byte)である。世界中の文字コードを1つにした16bitのUnicodeの開発が進められているが、デメリットは文字データ数がASCIIコードと比較して2倍となる。

[21章]
データ・アドレスバスの話。
個人的備忘録
チップメモリを複数使ってbyte全体を保存する使い方の場合、それぞれのチップのことをバンクという。
1KB x 4個使い=4KBのメモリモジュールを使う場合、各1KBのチップがバンクとなる。

[22章~25章]
OS、浮動小数点、プログラミング言語、GUIの話。
この辺は紹介程度の記述かなと思います。流し読みしました。

この記事が気に入ったらサポートをしてみませんか?