CPU実験室

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

メモリ再配置

アドレスデコードは一見これで良さそうなんですが、既存ボードでこの部分悩んだような覚えがあって改めてi486DXのリセット後の挙動をマニュアルを読み返してました。

やはりちゃんと書いてあります

起動時、リセットベクタ0xFFFFFFF0からのジャンプ後は最下位1Mbyte内(リアルモード)での動作になる、とあります。

つまりROMは最上位リセットベクタ付近と絶対アドレス1Mbyte以下の両方で見えなければなりません。既存ボードのアドレスデコーダXC9572ではA31-A19をフルデコードして0x00080000-0x000FFFFF0xFFF80000-0xFFFFFFFFの2つの領域でROMがアクティブになるようにしていました

 

これを今回のCPLDEPM7064インプリメントするためA31-A20をDon't Careとしてしまえば残るのは結局これだけでA19信号でRAMとROMの切分けを行うことになります

 

この接続によるメモリマップはこうなります。ROMは実体とイメージで最上位と1Mbyte以内の両方からアクセスできます。ただしROMに割付けられる領域は512kbyteになるため1個で512kbyte(4Mbit)の容量を持つHN27C4096は半分の領域しか使えなくなります