プログラム空間とデータ空間はアーキテクチャ的には分離していますが実際にはアドレスバス、データバスは共用していて同時にアクセスされることはないので、何もメモリチップ自体を別に用意することはありません。
かといって32kbyte×2=64kbyte(512kbit)のSRAMは一般的でないので128kbyte(1Mbit)SRAMを4つのバンクに分けて割り付けることにします
プログラム空間から見ると1MbitSRAMの下位1/4部分のBANK0だけが見え、データ空間からはバンク切替えをすることでBANK0~3の全域を読み書きできるようにしておきます。
データメモリをBANK0にしておくと現状のメモリマップとコンパチブルになりプログラムのDLL、プログラムと被らない範囲でデータエリアを確保できますが、BANK1~3に切替えればプログラム領域を意識することなく丸々32kbyte使えるようになります。
現状の28ピンSRAMソケットに挿すドータボードとして設計してみました