自作CPU #13 PUSHがうまくできない



自作CPUにはスタックを構成して載せました。しかし動作確認をしているとスタックへデータを積み上げるPUSH操作がうまくできないことが分かりました。ブレッドボード上で実験していた時はできていたのに…普通こういう回路を組む時、スタックの操作は数クロック使ってやると思います。しかし私のは、CPUの創り方のTD4を大元にしていますので、すべての命令が1クロックで実行されます。PUSH、POPも例外でなく、1クロックで実行できるようにしています。PUSHはスタックポインタを先にデクリメントしてデータを格納、POPはデータを取り出してからインクリメントしないといけないので、(スタックポインタを操作する順番が違う)マルチプレクサやらマルチバイブレータをつかってなんとか1クロックで実行できるようにしました。

実験中

 

f:id:Hamakita:20180117111830j:plain

弄っているうちにどうやら手でマシン語を操作する分には期待通りの動作をしていることが分かりました。プログラムを書き込んで実行させるとダメみたいです。