IDT79R3081は32bitマルチプレクスバスでハードウェア構成としてはNS32032やIMST805とほぼ同等なので評価ボード回路も一部コピペでもってこれます。制御信号線もCPLDに突っ込んでおいてあとからロジック設計をすればいいのですが、直近でMC68030ボードで失敗したようにアドレス空間のデコードは前もって十分考えておかなければなりません
MIPSプロセッサに関する資料は比較的潤沢にありここのところIDT社のRISC MICROPROCESSOR COMPONENTS & SUBSYSTEMS DATA BOOK、The IDT79R3081™ RISController™Hardware User's Manualをつらつら読み解いています
この頃のデータブックはキラキラしてて未来への希望を感じさせます

さてRISC本体、R3000Aコアのメモリマップはこのようになってるようです。32bitの仮想アドレス空間が同じ32bitの物理アドレス空間へ写像されています

なぜ仮想アドレスと物理アドレスが同じ大きさなのか、マッピング先が固定なのか?
普通に考えるとはるかに大きい仮想空間の一部へ物理空間をマップするものと思ってましたが、ここでの使い方は例えば0x8000_0000から始まるkseg0セグメントと0xa000_0000から始まるkseg1セグメントを0x0000_0000から存在する物理メモリに重複して割り付けるとプログラムから仮想アドレスでどちらにアクセスするかでキャッシュ有無が切り替えられるということになります。さらに3081EではMMUも内蔵しておりマップ先を可変できるようです
次にリセット動作を確認します。マニュアルにはリセットは例外処理の1種として扱われておりそのベクタは仮想アドレスで0xBFC0_0000,物理アドレスで0x1FC0_000になっています

ということは物理アドレス上の0x1FC0_0000~にブートROM、0x0000_0000~にSRAMを配置すれば良さそうです。さらにI/OとしてシリアルコントローラSCC、タイマ、パラレルをつなぐのでこれらを区別するには最低A24-A21の4bitのアドレス線のデコードでいけます






















