CPU実験室

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

データメモリ拡張

プログラム空間とデータ空間はアーキテクチャ的には分離していますが実際にはアドレスバス、データバスは共用していて同時にアクセスされることはないので、何もメモリチップ自体を別に用意することはありません。

かといって32kbyte×2=64kbyte(512kbit)のSRAMは一般的でないので128kbyte(1Mbit)SRAMを4つのバンクに分けて割り付けることにします

 

f:id:O3I:20190908223538j:plain

プログラム空間から見ると1MbitSRAMの下位1/4部分のBANK0だけが見え、データ空間からはバンク切替えをすることでBANK0~3の全域を読み書きできるようにしておきます。

データメモリをBANK0にしておくと現状のメモリマップとコンパチブルになりプログラムのDLL、プログラムと被らない範囲でデータエリアを確保できますが、BANK1~3に切替えればプログラム領域を意識することなく丸々32kbyte使えるようになります。

 

f:id:O3I:20190908224358j:plain

現状の28ピンSRAMソケットに挿すドータボードとして設計してみました