CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

ICUまわり

基板を起こすときに元の回路設計でミスがあると台無しなので、今バラックで動作している回路をそのまま落とし込もうとしていますが、影響がない範囲で改善をしています。I/O、データメモリのチップセレクトはデコーダと数個のゲートで構成していましたが(しかもそこで正論理/負論理をしくった)ここはGALに置き換え。実装面積も小さくなるし、アドレスデコードをきめ細かくすることでイメージを減らしデータメモリを有効活用できます。

 

f:id:O3I:20210427201638j:plain

いままでは実効アドレス12bit(4096ワード)を最上位ビットのみざっくりデコードしてI/O2048ワード、メモリ2048ワードでしたがGAL化によりI/Oを下位256ワードに押し込みデータメモリを3840ワードもの広大(!)な領域が使えるようになります。

下の方に3個並んだアナログSWは「定数レジスタ」です。ICUはプログラムコードに即値を置けないのでデータバスから拾ってきますが上からリザルト出力、「1」レベル、「0」レベルの固定値が読み取れます。リザルト出力を読む、というのは全く意味がなくZ80で云えば「LD A,A」と同じなのですがNOPの代わりくらいにはなります。