📖
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-13 | 2進・16進・ASCII・UTF-8 |
| 算術回路 | Ch.14-16 | 加算器・2の補数・減算 |
| 記憶と時計 | Ch.17-19 | フリップフロップ・クロック・RAM |
| CPUの構造 | Ch.20-23 | ALU・レジスタ・バス・Intel 8080 |
| OSとプログラミング | Ch.24-28 | 機械語・OS・コンパイラ・Web |
関連リソース
- インタラクティブ図解:codehiddenlanguage.com — 本書の回路をブラウザで動かせる無料コンパニオンサイト
- 著者公式参考文献リスト:charlespetzold.com/code/CodeBibliography.html
- 第2版の変更点:charlespetzold.com/blog/2022/09/The-Changes-for-the-2nd-Edition-of-Code.html
- 1. 📖CODE:コンピュータのからくり — シリーズ概要
- 2. 📡信号とコード:点字・モールス・情報伝達の原理
- 3. ⚡電気とリレー:懐中電灯から論理ゲートへ
- 4. 🔢数の体系:2進数・16進数・ASCIIからUnicodeへ
- 5. ➕算術回路:加算器・2の補数・減算の実装
- 6. 💾記憶と時計:フリップフロップ・クロック・RAM
- 7. 🖥️CPUの構造:ALU・レジスタ・バス・制御信号
- 8. 🖥️OSとプログラミング:機械語から高水準言語まで
出典: https://www.amazon.co.jp/dp/4296080245