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

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


[第406回]



●CPUクロック4MHzは断念することに

CPUクロックを4MHzにしたことで問題が発生しその解決のために一部の回路を変更しました。
ところが回路を変更したことでまた新たな問題が発生し、その解決のためにコンデンサを追加することになりました。
しかしそれ以外にも抵抗の断線(?)という想定外の問題が発生して、問題の抵抗にたどりつくまでにかなりの時間を費やしてしまうことになりました。
注目すべきは抵抗が断線していてもCPUクロックが2MHz以下ならば正常に動作する、という点です。
それだけ4MHzはシビアであるということになります。

そうだとしてもそれはたまたま抵抗の中に不良品か断線しやすいものが混じっていたためにおきたいわば不幸なできごとだったので、そういうことさえ起きなければ4MHzでも大丈夫なのではないか?

そのようにも考えていたのですけれど。
さらに最終的な確認のために基板をあれこれ組み合わせたりばらして配置したりということをしながらテストをしていましたところ、なんだか立て続けに異常が発生するようになってしまいました。
もう理解不能、想定外のトラブルです。
それはBレジスタであったりOUTレジスタ(出力ポート)であったりします。
その異常は4MHzだけではなくて2MHzや1MHzでも発生しました。

途中の時点から、いいかなあ、とちょっと心配していたことがありました。
でもそのときは問題なく動作していましたのでまあそれでよいかと思っていたのですが。
やっぱりよくなかったようです。
多分ぎりぎりのところでクリアしていたものがなにかのちょっとした変化で問題が発生するようになってしまったのではないかと思います。

トラブルの原因はおそらく4MHzのために行なった回路の変更だと思います([第400回])。
ALUのタイミングを合わせるためにALUWRとREGWRを半クロック後ろにずらしました。
そのためにREGWRがぎりぎりのタイミングで後ろがないという状態になってしまいました。
やっぱりここに無理があったようです。
当初の設計のようにここには余裕があるべきでした。
そういうことになりますと、せっかく4MHz対応のために回路を変更してそのついでにということでSW/CLOCK/MEM基板まで作ってしまったのですけれど、ここはやっぱりもとの回路に戻さざるを得ませんでしょう。
せっかくの基板に手を加えてもとの配線に戻したところ異常は発生しなくなりました。

ということは。
結果としてCPUクロック4MHzは諦めることになってしまいます。
ちょいと残念ではありますけれど。
まあ、考えてみれば4ビットCPU回路でそこまでCPUクロックを上げることに何の意味があるのか、というようなものです。
どこかに書いたと思いますが、8080のCPUクロックは2MHzぐらいだったと記憶しています。
おお[第388回]で書いておりました。
そういえば初期のZ80は2.5MHzだったのでは?
確かZ80Aになってから4MHzになったと記憶しています。

そういうことならば。
ここは無理をしないでより安全な選択をすべきでありましょう。
ちょいと勇み足になってしまいました。
あらためてMYCPU4TRのCPUクロックは2MHzということにいたします。

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

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