
NATUを作る(パート16)
HARUは失敗に終わってしまった。
だが、その悔しさをバネに、新たにNATUを作ることになった。
今回は、GRED II(ver.3)の実行ユニットを作っていきたいと思います。
前回の、ALUどうするか問題は、ALUの向きを変えることで解決しました。
これまで、幅を小さくする向きになっていましたが、その分奥行きが大きくなっていました。
そこで、90°向きを変えることで、スペース開いちゃう問題を解決しました。

多少空きスペースは残ってしまいますが、まだマシな方だと思います。
それに、メモリの構造的に前回の配置でマルチコア化させたり、10Hz化させるのは難しかったので、こうするしかありません。
制作
それでは、レジスタを作って配線していきたいと思います。
レジスタの容量も調整しておきました。

レジスタのループを一周する遅延と、ALUとレジスタのループを一周する遅延が同じでないといけないので、リピーターを追加しました。
その結果、ver.2では6スレッドの予定だったのが、ver.3では11スレッドを想定した感じになりそうです。
11スレッド!?
僕の中では、初めてのスレッド数かもしれません。
NX RED VIも6スレッドだし、、、
そのほかのCPUも、基本2や3スレッドくらいです。
、、面白いことになってきましたね。
また欠陥が、、
ヤバい、たいへんだ。

実は、遅延を数えるとき、、、

ここのリピーターの遅延を数え忘れていました!!
さいあくだあ
仕方ないので、ALUを移動させます。
そうすれば、13スレッド(レジスタ作り直し)にならずに済みそうです。
そういえば、今更ですが、大変なことを思い出しました。

たしか、通常演算14rt、条件分岐70rtぐらいの速度が出ている想定で、CPU化していました。
ですが、今回の実行ユニットはその速度を達成できません。
、、、、、、、、、、
挫折
ダメダ、、、
もうCPUはやだ
と、いうわけで、いったんCPUのことは置いておいて、画像描画回路の方を考えていきたいと思います、、
でも、今はちょっと調子が悪いみたいで、何やってもダメなので、いったん終わりにします、、、
それでは、次回は画像描画回路について考えたいと思います。
今回は、約50分の作業でした。
お疲れさまでした。
それじゃあ、次回、また会いましょう