
NATUを作る(パート29)
HARUは失敗に終わってしまった。
だが、その悔しさをバネに、新たにNATUを作ることになった。
今回は、クロック回路の信号をALUの出力部分に伝えて保存することで、アキュムレータが動作するようにしたいと思います。
制作
アキュムレータ
まずは、ALUの出力部分にあるリピーターをロックできるようにするために、回路を改造していきます。

よし!
これでOKい!

これにより、演算結果を記憶でき、アキュムレータを正常に動作させることが可能になります。
ですが、今のままではだめです。
クロック回路とつなげる必要があります。
なので、クロック回路から配線を伸ばしていきたいと思います。
やっぱり、クロックの信号ではなく、電源の信号を伸ばしたいと思います。
理由は、二つあって、
一つ目はパルスのオンオフではなく、ずっとオンかオフかなので、負荷が下がる点。
二つ目は、リピーターを4遅延にできるので、その分スペースを節約できる点です。


メリットしかないので、クロックではなく、電源の信号を伸ばしました。
そして、その先にクロック回路を作ることで、しっかり動作できるようにしています。
PCが、、、
そして、遅延調整をしているときに、この事実は発覚しました。
何か様子がおかしい(000 0000番地が連続して読み出されている)と思ったら、ここにあったはずのたるがなくなっていました!

このたるは必須なので、修正しておきました。

遅延調整
本題に戻りますが、遅延調整の結果、このようになりました。

これから、このリピーターたちをいい感じに並び替えていきたいと思います。
並び替えも終わりました。
1rtのリピーターが真ん中に来るようにしました。

そしたら、、、動作テストをしたいと思います。
デクリメントして保存を繰り返すことが出来るか、調べたいと思います。
あれ、、、
どうやら、遅延がまだ合っていなかったみたいです。
さっき動いてたのに、、、
仕方ないので、調整しなおします、、、
調節しなおしました。
あれ?まだおかしい、、、
レジスタに保存されない、、
配線は途切れてないはずなのに、、
調べていたら、キャリーフラグによるレジスタデリートが遮断されていませんでした。
それなら正常か、、、
それも修正しました。

これで、とりあえず完了かな?
でも、問題は条件分岐でジャンプしたときは、アキュムレータが動作しないようにする必要があるところ、、、
がんばります、、、
あれ?これ結構ヤバいんじゃ?
バグ
僕のレジスタデリートとアキュムレータを採用した赤石CPUは、これまでここの部分を対策してきていなかったから、欠陥として残ってるんじゃ?
実際に、CRED X(バージョン4)で調べてみたら、ガチでした、、
この欠陥は、そのうちnoteで原因を説明したいと思います。
このバグは、レジスタデリートとアキュムレータの一部を取って、RDAバグと呼びたいと思います。
もしかしたら、このnoteより先に公開されるかもしれません()
それでは、次回はI/Oポートの配線を通していきたいと思います。
今回は、約1時間の作業でした。
お疲れ様でした。
それじゃあ、次回、また会いましょう