CPUの創りかた

CPUの創りかた
著 渡波郁

Chapter 1 はじめの一歩のその前に

テスターを買おう
CPUとは
  • プログラムカウンターに従って命令をメモリーから読み出す(命令フェッチ)
  • 命令を解読(デコード)
  • デコード結果に従い実際の演算を行う(実行)
  • 演算結果を格納(ストア)
をクロックにあわせて繰り返す機械
今回はIC10個を使った4bitで16ステップのプログラムを動作させることができるCPUを作り、ラーメンタイマーとして使う
今回使うもの
抵抗(0.25Wの誤差5%)
セラミックコンデンサ
電解コンデンサ
ダイオード(1S1588)
IC(74HCシリーズ)
部品の初期不良はなかなかない
テスターは信用できるものを買おう(アナログテスターがおすすめ)

Chapter 2 LED

V=RI, P=IVを使って抵抗や電流を求める
LED自身も抵抗として扱われて、LEDにかかる電圧はほとんど電流によらずLEDのデータシートの順電圧という欄に書かれている

Chapter 3 デジタル回路の基礎の基礎

汎用IC、74HC00シリーズ
これにはNANDゲートが4つ入っている
CPLDやFPGAといった便利なデバイスもあるが、今回は使わない
1と0といったデジタルな信号を扱う回路をデジタル回路という
電圧が高いほうをHighのH、電圧が低いほうをLowのLとする。このHとLのどちらに0と1をあてはめるかは人それぞれ
Hに1を割り当てたほうを正論理といい、Lに1を割り当てたほうを負論理という
正論理と負論理が混じるのはややこしいので、設計者はその回路が正論理なのか負論理なのかを回路図に明記することになっている
RESETという信号があった場合、正論理の場合はそのままだが、負論理の場合は上にバーを入れてRESETバーとする
また、ICの入出力が負論理ならば図に○をつける
論理回路の説明
NOT回路(インバーター)(74HC04)
TOP VIEWが背中から見た図で、BOTTOM VIEWが腹から見た図
GNDとはグランド0Vのこと
マイナス側とプラス側を挿し間違えると100%壊れてしまい、これは有名なミスで逆挿しという
AND回路(論理積)(74HC08)
OR回路(論理和)(74HC32)
NAND回路(74HC00)
多入力ゲート(3入力NANDの74HC10)
使わないピンでも電気的に反応してしまうので、しっかり固定すること
静電気には注意すること
電源は秋月電子のNP12-1S0523を使う
ICの出力のスイッチング(HとLの切り替え時間)はナノ秒オーダーなので、電源からの電力供給がおいつきません
なので、ICの近くには応答速度の良いコンデンサを配置すること
このような目的で配置されたコンデンサをパスコンと呼ぶ
またそれとは別に基盤にひとつ、全体の電気を貯蓄しておくコンデンサを配置すること

Chapter 4 リセットとクロック回路

アナログ回路の説明
普通のクロックはHとLを交互にンGHzで繰り返している
今回はスイッチでHとLを出せるものを作る
デジタル回路とはいえ、動作はアナログなので、工夫が必要
一般的なトグルスイッチの構造についての説明

Chapter 5 ROMを作る

Chapter 6 CPUの設計準備

Chapter 7 1bit CPU

Chapter 8 ALUとプログラムカウンタ

Chapter 9 命令デコーダ

Chapter 10 全回路図

Chapter 11 動作確認

最終更新:2013年04月07日 16:04