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

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


[第370回]



●PC(プログラムカウンタ)の回路図(3)

下の回路図は前回お見せしたPC本体部分の回路図からとりあえずデータWRITEとRESET回路を除外し、フィードバック入力のラインからQ出力ラインを分離するためのバッファ出力回路も外したものです。

こうすることで回路の動作が理解しやすくなります。
[3]と[5]の回路はインバータを2つ組み合わせたRSフリップフロップ回路です。
[3]はカウンタの前段のラッチ回路で[5]は後段のラッチ回路です。
[1]は[3]に一瞬だけ値を与えるスリーステートバッファ(TR126相当)で、[4]は[5]に一瞬だけ値を与えるスリーステートバッファです。
[1]はCLOCKが立ち上がったときに[5]が保持しているQ出力の値をループバックして[3]に書き込みます。
[1]はそのときだけ出力がアクティブになりますがそれ以外の時はハイインピーダンスです。
[1]のその動作によって[3]は書き込まれた値を保持します。
[1]はアクティブ時には入力値を反転出力します。
[3]はインバータ2段でその値を保持します。
[1]を含めるとインバータが3段ですから[3]が保持する値はQを反転した値になります。
[4]はCLOCKが立ち下がったときに[3]が保持している値を[5]に書き込みます。
[4]のその動作によって[5]は[3]が保持していた値をラッチするとともにQ信号として出力します。
このとき[5]から出力される値は1クロック前のQの反転出力になります。
[1]と[4]に入力されるCLOCKはカウンタの一段下位の出力です。
つまり一段下のクロックの立ち上がり時に現在のQ_をカウンタ前段([3])にラッチし、クロックの立ち下り時にその値をカウンタ後段([5])にラッチするとともに新しいQとして出力します。
そのように接続することによって下位のクロックの立ち下りに同期して反転出力が行なわれる結果、下位のクロックの2倍の周期のパルスが出力されることになります(下図参照)。



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

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