📖
概念 #CODE #コンピュータアーキテクチャ #コンピュータ史 #入門 📚 CODEコンピュータのからくり

CODE:コンピュータのからくり — シリーズ概要

Charles Petzold「CODE 第2版」の全体像。信号→論理→数値→算術→記憶→CPU→OSへとボトムアップに積み上げる28章の学習マップ。

この本について

Charles Petzold 著「CODE: The Hidden Language of Computer Hardware and Software, Second Edition」(2022年)。日本語版は翔泳社より刊行。

本書の問いは一つ:コンピュータはなぜ動くのか。

答えを「1と0」「トランジスタ」「電気信号」で片付けず、点字・モールス信号・懐中電灯・電信という誰でも知っている技術から出発して、一段ずつ積み上げながら「ゼロから CPU を作る」ところまで連れていく。抽象的な概念を一切使わず、スイッチとワイヤだけで論理演算・加算・メモリ・CPU が実現できることを証明する。


第2版の新要素(2022年)

第1版(1999年)からの主な変更:

追加内容詳細
NASA Perseveranceパラシュート火星着陸時の布に織り込まれた「DARE MIGHTY THINGS」という2進数メッセージ(第11章)
QRコードの仕組み2次元バーコードが情報をどう符号化するか(第11章)
UTF-8の詳細説明5ページ追加。可変長エンコーディングの完全解説(第13章)
デジタルクロックの設計新規追加の第18章
ALU・レジスタ・バス3章分新規追加(第21-23章)。Intel 8080の部分実装
The World Brain最終章(第28章)。H.G. Wellsの「世界頭脳」概念とWebの対比

28章の構成マップ

┌─────────────────────────────────────────────────────────────────┐
│  Part 1:信号とコード(Ch.1-5)                                   │
│  「隣の家に信号を送りたい」から始まる情報伝達の原理               │
│  点字・モールス信号・懐中電灯・角を曲がる電線                     │
├─────────────────────────────────────────────────────────────────┤
│  Part 2:電気と論理(Ch.6-8)                                    │
│  スイッチが論理演算になる瞬間                                     │
│  電信・リレー・AND/OR/NOT/XOR ゲート                             │
├─────────────────────────────────────────────────────────────────┤
│  Part 3:数の体系(Ch.9-13)                                     │
│  10進・2進・8進・16進・バイト・ASCII・Unicode                    │
├─────────────────────────────────────────────────────────────────┤
│  Part 4:算術回路(Ch.14-16)                                    │
│  論理ゲートで足し算・引き算を実装する                             │
│  半加算器・全加算器・2の補数                                      │
├─────────────────────────────────────────────────────────────────┤
│  Part 5:記憶と時計(Ch.17-19)                                  │
│  「値を覚える」とはどういうことか                                 │
│  フリップフロップ・クロック・RAM                                  │
├─────────────────────────────────────────────────────────────────┤
│  Part 6:CPUの構造(Ch.20-23)                                   │
│  ALU・レジスタ・バス・制御信号                                    │
│  Intel 8080を例にした命令フェッチサイクル                        │
├─────────────────────────────────────────────────────────────────┤
│  Part 7:プログラムとOS(Ch.24-28)                              │
│  機械語→アセンブリ→高水準言語→OS→インターネット                  │
└─────────────────────────────────────────────────────────────────┘

このシリーズの読み方

各docは本書の章に対応しているが、完全な要約ではない。「ソフトウェアエンジニアが後で参照できるリファレンス」として、本書のアイデアをASCII図と対応表で整理している。

doc対応章キーワード
信号とコードCh.1-3, 5点字・モールス・QRコード・パラシュート
電気とリレーCh.4, 6-8スイッチ・リレー・論理ゲート
数の体系Ch.9-132進・16進・ASCII・UTF-8
算術回路Ch.14-16加算器・2の補数・減算
記憶と時計Ch.17-19フリップフロップ・クロック・RAM
CPUの構造Ch.20-23ALU・レジスタ・バス・Intel 8080
OSとプログラミングCh.24-28機械語・OS・コンパイラ・Web

関連リソース

出典: https://www.amazon.co.jp/dp/4296080245