Hacker News new | ask | show | jobs
by Dwedit 16 days ago
The GBA was designed around having no cache. With a few exceptions (such as Internal RAM, Video RAM, IO registers, BIOS, OAM, Palettes), everything goes out to an external bus. Going out to an external bus with no cache will basically slow you down to 80s computer speeds. Fetching instructions from the cartridge ends up being around twice as fast as a GBC.

The way around that is using a cache, and sequentially fetching multiple words. Sequential fetches can be made faster, increasing throughput, and that can hide the latency if enough instructions/data gets cached.

I wonder how this system is designed, is it going to the memory bus for all fetches, or does it use a cache?