CPU実験室

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

メモリマップ見直し

バス配線はOKそうなのでいよいよプログラムの動作テストに行きます
 
先ずはいつものように最も簡単なループテストということになりますが、
メモリ上のプログラム配置をどうしようかと改めてメモリマップを眺めていたらえらいことが発覚しました
 
イメージ 1
 
このボード上には4MビットフラッシュROM2個と4MビットSRAM2個で16ビット幅のメモリ空間になるように設計したのですが、フラッシュROM2個で既に1Mバイト!
80286起動時のリアルモードでアクセス可能な1Mバイトメモリ空間をフルで埋めてしまってます
ってことはSRAMを配置する空間がありません
 
もっともチップセレクトはCPLDから出ているのでマッピングは自由で、デバイスの容量を殺したりバンク切り替えという手もありますが、ここは素直にリニアなマップにしたかったところです。
正しいやり方は起動直後にROM内のみの処理でプロテクトモードに移行し16Mバイト空間に配置したメモリをアクセスする、でしょうがこれは後でまた考えてみます。
 
ということで、最初のテストはROM内だけで動作するものです
リセットベクタからROMの先頭番地にジャンプして永久ループさせてみました
 
 
イメージ 2