関連サイト
本書の関連ページが用意されています。
内容紹介
IC10個のお手軽CPU設計入門!
コンピューターの中核であるCPUという名のブラックボックス。その動作の「超」基本原理から設計までを4bitCPUを例に解説。アキバで手に入る部品だけで実際の制作も可能!実際に作らない人も読み物としてもタメになること請け合いです。
2003年の刊行から16年で30刷突破のロングセラー。
※本書の電子版について※ 2019年9月発行の初版第29刷を底本としています。解説内容や情報は基本的に、初版発行時の2003年8月段階のものから変更されておりませんので、ご注意ください。
書誌情報
- 著者: 渡波郁
- 発行日: 2020-03-01 (紙書籍版発行日: 2003-09-29)
- 最終更新日: 2020-03-01
- バージョン: 1.0.0
- ページ数: ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
渡波郁
ごく普通の回路技術屋。コンピューターメーカー退社後独立、今に至る。
目次
Chapter 1 はじめの一歩のその前に
- 1-1 ココロの準備
- いちばん大事なこと
- IC10個だけでCPUを作る
- 楽しむために
- 1-2 装備の点検
- 抵抗
- コンデンサ
- ダイオード
- IC
- 部品の初期不良
- テスターは信用できるものを
- アナログかデジタルか
- おまけ:テスターの安物って何が違うの?
Chapter 2 LED
- 2-1 とりあえずLEDの点灯方法
- 完成したCPUを妄想してみる
- 豆電球と何が違うのか
- 解決策
- 2-2 もうちょっとだけ真面目に考える
- LEDの順電圧
- 抵抗の消費電力の計算
- おまけ:LEDの購入の実際
Chapter 3 デジタル回路の基礎の基礎
- 3-1 74HCシリーズ
- 汎用IC
- 74シリーズの歴史(ショートバージョン)
- CPLDとFPGA
- どうやって1と0を表現するのか
- デジタル信号の電圧
- デジタル信号の電流
- 3-2 簡単な論理回路
- NOT(論理反転)
- AND(論理積)
- OR(論理和)
- NAND
- 多入力ゲート
- 3-3 実際の回路
- 使わないピン
- 静電気はどんなときに犯行に及ぶのか
- 電源も必要です
- まとめとか
- 電源の配線
Chapter 4 リセットとクロック回路
- 4-1 リセットとスイッチ
- ここはアナログな話ですが
- プルアップ
- チャタリングの問題
- CRのフィルタ
- チャタリング防止
- シュミットトリガ
- リセット回路
- おまけ:スイッチと電流と接点不良とPC
- 4-2 クロックジェネレータ
- 発振の原理
- 実際の発振波形
- 無極性電解コンデンサ
Chapter 5 ROMを作る
- 5-1 ROMというのは
- ROMとはプログラムを格納する場所ですか?
- 使用するROM
- ROMとして必要な機能
- 1bitのROM
- ビット数が多いときの問題点
- 5-2 ROMの回路
- メモリーセルの材料128人前
- 8bit出力
- 実際のROMの回路
- アドレスの選択
- 74HC154の中身
- この回路での注意
- 少しでも楽に製作する方法
Chapter 6 CPUの設計準備
- 6-1 CPUの仕様
- ようやくCPUの話になるわけですが
- 勝手に仕様を決めさせていただきますが
- レジスタ構成
- 命令フォーマット
- 命令一覧
- PCとの比較
- 6-2 機械語とは
- CPUと機械語
- 処理単位は4bit
- 数値の転送命令
- レジスタ間転送命令
- 加算命令
- プログラム
- ジャンプ命令
- フラグと条件付きジャンプ(条件分岐)命令
- プログラムカウンタ
- I/O
- 入力命令(IN)
- 出力命令(OUT)
Chapter 7 1bitCPU(らしきもの)
- 7-1 フリップ・フロップ
- フリップ・フロップ登場
- 実際の動作
- データの保持
- 7-2 1bitCPU
- 転送命令の正体
- 演算が可能な1bitCPU
- おまけ:フリップ・フロップの仕組み
- データの流れを変更する方法
- おまけ:ドライブ能力とオーバークロック
- 7-3 切り替えスイッチを手に入れた我々が次に目指すもの
- 電気式で命令を切り替えられる1bitCPU
- 複数のレジスタを持つCPU(これが普通ですが)
- 74HC161
- 実際の回路
Chapter 8 ALUとプログラムカウンタ
- 8-1 ALU
- 肝心のALUが売ってない!
- 加算回路
- 二進数1bitの加算回路
- 全加算器
- 演算回路を追加する
- 演算回路を追加したのはいいのだけれど
- フラグ
- フラグの設計
- 8-2 プログラムカウンタ
- プログラムカウンタとは
- プログラムカウンタはいつカウントアップするのか
- ジャンプ命令
- 条件ジャンプ命令
- 8-3 I/Oポート
- 出力ポート
- 入力ポート
Chapter 9 命令デコーダ
- 9-1 命令デコーダのお仕事
- 後は何が必要なのか
- MOV A,Im
- MOV B,Im
- MOV A,B
- MOV B,A
- ADD A,Im
- ADD B,Im
- IN A
- IN B
- OUT Im
- OUT B
- JMP Im
- JNC Im
- 9-2 デコーダの設計
- とりあえず書き出してみました
- 真理値表の単純化
- ド・モルガン律
- そろそろ最終回
- カルノー図(自由選択科目)
- 紅白対抗カルノー図・ルールの説明
- 最終兵器カルノー図、いよいよ実戦配備
- カルノー図から回路へ
- 実際の回路
Chapter10 全回路図
- 10-1 回路図について
- CPUの全回路図
- クロックとリセット回路
- ROMの回路図
- 製作例・部品面
- 製作例・配線面
Chapter11 動作確認
- 11-1 最初は部分的な確認
- 通電しなくても確認できること
- 電源のチェック
- クリップなど
- リセット回路のチェック
- プログラムカウンタのチェック
- ROMのチェック
- 命令デコーダのチェック
- イミディエイトデータのチェック
- 加算器のチェック・加算器からレジスタへの配線
- いよいよ転送の実行
- ここまで書いてナンですが…
- 11-2 プログラムの実行
- サンプルプログラム1:LEDちかちか
- サンプルプログラム2:ラーメンタイマー
- ブザーを鳴らす回路
- おまけ:最大動作周波数
- 11-3 もう少しマトモなCPU
- 8bit化
- ALUの強化
- CPLDなどについて
- 既製品のCPUをいじってみる
APPENDIX
- 配線作業などについて
- 部品の値の読み方
- サポートについて