昔にゃのは「SPU:ARM <-> PPU:BUS」見たいにゃ感じで、命令フェッチとかにゃデータの書き込みとか読み込みとかにゃでPPU側に問い合わせていたのですにゃ。
でもにゃ、それだとSPUの処理にPPUにゃがついていけにゃくて遅いのですにゃ。*1
でにゃ、RAMとか割り込みコントローラ、DMA、TIMERにゃどをSPU側にゃに入れてしまってにゃ、PPUにゃへのアクセスは必要最低限に抑えたのですにゃ。
するとにゃ〜、無茶苦茶早くにゃったですにゃ。(嬉) *2 *3
SPUで極力処理をにゃって、PPUにゃは絶対つかわにゃいという方向で設計をすると吉かもしれにゃいですにゃね。
脳内妄想中
- SPU ARM9core:CPU,IntCtrl,DMA,TIMER,RAM
- SPU ARM7core:CPU,IntCtrl,DMA,TIMER,RAM,Sound*4
- SPU GE:座標の計算
- SPU Filter:画面の拡大とかのフィルタ
- PPU 雑用係:I/O関連、グラフィック関連*5