作ろう! CPU
ツクロウ シーピーユー
- 著者:
- 上原周(ウエハラアマネ)
- 注目:
- 総合 1189 位
- 出版社:
- マイナビ出版
- 出版日:
- 2020年08月28日頃
- ISBN:
- 9784839968519
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
69 行のソースコードで設計する、超単純な 4bit CPU
[作ってはじめてわかる CPU のしくみと動き]
小学校で習ったことのある回路図から出発。計算のかわりに回路図に「矢印を描く」という方法で電気を理解します。ひたすら矢印を描くうちに、CPU のしくみが理解できるようになります。
そして「ハードウェア記述言語」を使って CPU を完成させます。記述コードはパソコン上のシミュレーターで動かすことができますが FPGA 評価ボードがあれば作った回路を実際に動かすことができます。
本書は CPU の正体について説明し、さらにその周囲のモジュールとの関係性についても説明します。そうしてコンピューター全体の回路を見通しよく整理できるようになります。物理と情報科学のギャップを埋めることが、本書の真の目的です。
読者の皆様の頭の中で、学校で習った豆電球の回路図と情報処理装置としての CPU が繋がっていれば嬉しく思います。
学生・エンジニアに向けたコンピューターのしくみの解説書。
0 章 はじめに
Part 1 回路の基礎
1 章 電池と抵抗の論理回路
2 章 トランジスタと論理ゲート
3 章 ゲートの回路
4 章 ハードウェア記述言語
Part 2 CPU の材料
5 章 組合回路
6 章 真理値表のコーディング
7 章 D フリップフロップ
8 章 状態遷移の一般論
Part 3 CPU を作る
9 章 LED チカチカ回路
10 章 1bit のコンピューター
11 章 多重ワイヤー
12 章 TD4
Part 4 TD4 の先へ
13 章 コードの抽象化
14 章 高度なトピック
付録 力学系としての論理回路
0 章 はじめに
Part 1 回路の基礎
1 章 電池と抵抗の論理回路
2 章 トランジスタと論理ゲート
3 章 ゲートの回路
4 章 ハードウェア記述言語
Part 2 CPU の材料
5 章 組合回路
6 章 真理値表のコーディング
7 章 D フリップフロップ
8 章 状態遷移の一般論
Part 3 CPU を作る
9 章 LED チカチカ回路
10 章 1bit のコンピューター
11 章 多重ワイヤー
12 章 TD4
Part 4 TD4 の先へ
13 章 コードの抽象化
14 章 高度なトピック
付録 力学系としての論理回路
技書の森解説
プログラムを書くことはできても、その命令を実行している CPU が回路としてどう動いているのかは見えにくいものです。『作ろう! CPU』は、学校で習う豆電球と電池の回路図から出発し、論理ゲート、フリップフロップと積み上げて、最後はハードウェア記述言語で 4 bit の CPU を設計するまでを 1 冊でたどる、学生とエンジニアに向けたコンピューターのしくみの解説書です。著者は上原周、版元はマイナビ出版で、2020 年 8 月に刊行されました。NDL と openBD の書誌では、副題が「基礎から理解するコンピューターのしくみ」、シリーズが Compass Programming とされています。
回路の基礎から TD4 の先まで、0 章と 4 部 14 章の構成
0 章「はじめに」のあと、Part 1「回路の基礎」は 1 章「電池と抵抗の論理回路」から 4 章「ハードウェア記述言語」まで、Part 2「CPU の材料」は 5 章「組合回路」から 8 章「状態遷移の一般論」までです。Part 3「CPU を作る」は 9 章「LED チカチカ回路」、10 章「1bit のコンピューター」、11 章「多重ワイヤー」を経て 12 章「TD4」に至り、Part 4「TD4 の先へ」は 13 章「コードの抽象化」と 14 章「高度なトピック」の 2 章です。巻末には付録「力学系としての論理回路」が付きます。紹介文は本書の CPU を「69 行のソースコードで設計する、超単純な 4bit CPU」と表現しており、CPU を作る工程は題のとおり Part 3 に置かれています。
回路図に矢印を描く入り方と、シミュレーターでの確認
版元の紹介文によると、本書は計算のかわりに回路図に「矢印を描く」という方法で電気を理解させ、矢印を描き続けるうちに CPU のしくみが分かるように組み立てられています。そのうえで「ハードウェア記述言語」を使って CPU を完成させ、書いたコードはパソコン上のシミュレーターで動かせます。FPGA 評価ボードがあれば作った回路を実際に動かせるとも案内されているので、ボードは必須ではありません。紹介文は「物理と情報科学のギャップを埋めることが、本書の真の目的です」と述べ、CPU の正体に加えて周囲のモジュールとの関係も説明すると案内しています。
組合せ回路と順序回路、CPU を形づくる 2 種類の回路
デジタル回路は、入力が決まれば出力が一つに決まる組合せ回路と、過去の入力を状態として覚えておく順序回路に分けられます。加算器やデータの選択回路は前者で、真理値表を論理式に置き換えれば作れます。後者の基本部品は、クロックの立ち上がりで入力の値を取り込んで保持する D フリップフロップで、これを並べるとレジスターやプログラムカウンターになります。順序回路の振る舞いは、その時点の状態と入力から次の状態を決める規則として書けるので、有限状態機械 として整理できます。CPU は、命令を読み出してプログラムカウンターを進め、命令に応じてレジスターの値を計算して書き戻すという状態の遷移を、クロックごとに繰り返す大きな順序回路だと見ることができます。ハードウェア記述言語は、こうした回路の構造や振る舞いをテキストで書くための言語で、ソフトウェアのように文が上から順に実行されるのではなく、書かれた回路が同時に動くことを表します。
学生とエンジニアに向く理由、目的が合わない場合
版元が示す読者は学生とエンジニアで、著者紹介には IT 企業勤務とあります。電気回路の物理と 情報科学 の間がつながらないまま、教科書の CPU の図を眺めてきた人に向けて、本書は回路図から 4 bit CPU の設計までを一続きで扱います。一方で、本書の CPU は紹介文のとおり超単純な 4 bit の設計です。実務の FPGA 開発の手順や、ハードウェア記述言語の文法の網羅は、本書の主題ではありません。OS やコンパイラーなど CPU の上に載る層へ続けて学びたい人は、低レイヤー本ガイド で次の 1 冊を探せます。プログラムが動く仕組みを電気のレベルから自分の手で確かめたい人に合う一冊です。
この本に興味がある方におすすめ
関連する本
関連記事
本の「はじめに」は読み飛ばさないで
多くの人が読み飛ばす「はじめに」には、その本を最大限に活用するためのヒントが詰まっています。たった 5 分で読めるこのページの価値を解説します。
技術書の「はじめに」だけで良書を見抜く - 立ち読み 3 分の選書術
書店で技術書の「はじめに」を 3 分読むだけで、その本が自分に合うかどうかを判断できます。チェックすべき 5 つのポイントを紹介します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。