2019.9.23
前へ
次へ
ホームページトップへ戻る

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第163回]



●CPUレジスタ

前回までのところでは、バイポーラトランジスタで構成する基本的なロジック回路と、それを組み合わせたフリップフロップ回路について書いてきました。
そこで説明しましたフリップフロップ回路はRSフリップフロップを発展させたもので、74HC75相当のデータラッチ回路です。
データラッチ回路はCPUを構成する要素の中でも極めて重要な基本要素です。
前回までのところで説明した回路を8個合わせるとCPUの8ビットレジスタになります。
今までの説明ではとりあえずの試作サンプルということで、まだ1ビット分の回路を試作してテストしただけですが、実は今回の試作の前には一旦は試作完了というつもりで今回の改良前のちょっとごちゃごちゃした回路で8ビット分のレジスタ回路を製作してすでに動作テスト済みのところまで進んでいました。
下がその実物写真です。

10cm角の基板に88個のトランジスタが並んでいます。
これで8ビットレジスタ1個分です。
8080CPUのA、B、C、D、E、H、Lレジスタの1個に相当します。
8080には上記レジスタのほかにも8ビット全部は使っていないものの、フラグレジスタもありますし、PC(プログラムカウンタ)、SP(スタックポインタ)という16ビットのレジスタもあります。
またユーザーはアクセスできませんが、内部的にはそのほかにも8ビットないしは16ビットのワークレジスタも必要です。
それらのレジスタも8ビットのデータラッチを組み合わせて作ることになります。
ということは、レジスタだけで上のレジスタ基板を14〜15枚は使うことになります。
ということはトランジスタだけで1300個ぐらいはレジスタだけで使ってしまうことになります。
これから製作しようとしているトランジスタCPU回路の規模がおおよそ見当がつきましたでしょうか?
まさに狂気の沙汰でありましょう。

もっとも前回までのところで説明しましたように、データラッチ回路を改良しましたので少しトランジスタの数が減ります。
少し減って70個ほどになる予定です。
それでもレジスタだけでトランジスタを1000個以上は使うことになります。
トランジスタ1個について抵抗とコンデンサも1個使いますから、抵抗も1000個、コンデンサも1000個必要です。
CPU全体で、ではありません。
上に書きましたようにレジスタだけで、です。
CPU全体では一体何個使うことになるでしょうか?
現時点ではそれは私にもまだはっきりはわかりません。
ン千個使うことになるでしょうけれど、それは設計が進むにつれてだんだんとはっきりしてくることになると思います。

下は前回までのところで説明しましたデータラッチ回路をもとにして修正したCPUレジスタの回路図です。

図の上半分が1ビットのデータラッチです。
この回路×8回路で1個の8ビットレジスタになります。
図の下半分はレジスタからデータを読み出すための信号回路(regRD_)と、レジスタにデータを書き込むための信号回路(regWR_)です。
こちらの回路は1個のレジスタにつき1回路です。
regRD_信号、regWR_信号そのものは、レジスタ回路とは別の回路基板で生成します。
その回路の試作基板もできていますので順次説明の予定です。

上でお見せした写真のレジスタ回路基板は今となっては旧基板です。
上の回路図が現在の最終回路で、これからまたプリント基板の作り直し作業にかかることになります。
それができてきたら、また動作確認のために少なくとも1枚は組み立ててテストをしなければなりません。
途なおいよいよ遠し、であります。

トランジスタでCPUをつくろう![第163回]
2019.9.23upload

前へ
次へ
ホームページトップへ戻る