CPUの創りかた
マイナビ
著者:渡波郁
はじめに
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
配線作業などについて
部品の値の読み方
サポートについて
INDEX