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

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


[第280回]



●MMU回路(6)動作テスト(その3)全メモリ範囲を対象にしたテストプログラム#2(前回の続き)

[第276回][第277回]でMMUの動作を確認するプログラムをSLOWモードで実行し、Aレジスタの値が本来の計算結果の下位4ビットになることで回路とプログラムが正しく機能していることを確認しました。
前回はそのプログラムを発展させBレジスタに計算結果の上位4ビットを表示させるように考えました。
今回はそのプログラムを実際に実行させてみます。
[第277回]ではSLOWモードでプログラムを実行してその実行の様子を撮影しました。
今回も同じようにSLOWモードでも撮影してみますが、今回はリアルクロックモードでも実行してみます。
リアルクロックモードはCPU本来の動作クロックで実行させるモードです。
「中日電工版」HCMOSIC版4ビットCPU(MYCPU4)のCPUクロックは約1MHzです。
CPUクロックの4クロックで1つの命令を実行しますから、1命令の実行クロックは250KHzです。
つまり1秒間に命令を25万回実行します。
随分高速のようですがそれでもCPUとしては低速の部類です。
MYCPU4はCPUクロックの発生回路を簡単にするためにPIC12F629の内蔵オシレータ回路を使った4MHzクロックをもとに出力される1MHzクロックを使っています([第252回]参照)。
クロック回路を簡単にするためにその1MHzを利用しているだけで、それがMYCPU4の動作限界というわけではありません。
PIC12F629の代わりにもっと高い周波数の水晶発振回路を使えばもっと高速動作をさせることができます。
ま、しかし、MYCPU4は「最初のCPU」「入門機」としての位置づけですから、CPUクロックが1MHzであれば十分な性能でありましょう。

[第277回]でSLOWモードにするのにSP1のSLOWのところにジャンパピンをセットしました。
今回のリアルクロックモードもSP1にジャンパピンをセットしますが、プログラムを書き込むまでは今までの動作テストと同じようにSP1の設定はSTEPにジャンパピンをセットして行ないます。
そのあと
ND80Z3.5のZB3BASICのマシン語モニタコマンドで
OT 83,92
OT 82,F4
OT 83,08
と実行してMYCPU4をリセット状態で静止させておきます。
その状態でSP1のCLKのところにジャンパピンをセットします。

写真下側のMEM/CLOCK回路基板上部のSP1のCLKにジャンパピンをセットしました。

しかしこの写真ではちょっとわかりづらいです。

SP1の部分を拡大しました。

SP1の右端がCLKです。
そこにジャンパピンをセットしています。
それで準備完了です。
ND80Z3.5のZB3BASICのマシン語モニタコマンドで
OT 83,09
を実行するとリセットが解除されMYCPU4が起動しRAMの0番地からプログラムを実行します。

リアルクロックモードですから一瞬でプログラムが最後まで実行され、アドレス04のHLT命令(F0)を繰り返し実行します。
Bレジスタには計算結果の上位4ビットの7が表示され、Aレジスタには下位4ビットの8が表示されています。

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

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