I recently upgraded my SDRAM controller to work with bank interleaving to keep the SDRAM as busy as possible. I operate it with 2-word bursts, so my base case is 8 cycles per access and 4 bytes of output data. I commonly run it either at 48MHz or at 96MHz. Without bank interleaving, I can obtain 48MB/s. With bank interleaving, it can go much higher than that (126MB/s). Please read the following data
Code: Select all
Case | SDRAM clock | Burst Length | Data throughput
No bank interleaving | 96 MHz | 2 | 48 MB/s
Bank interleaving | 96 MHz | 2 | 126 MB/s
A12/A11 = DMH/DML | 96 MHz | 2 | 71 MB/s
I think that, as of today, maybe the ao486 core is the only one which could benefit from restoring the DMH and DML signals to independent connections. Maybe the ao486 core is getting high speed by using very large burst reads. As I said, I haven't looked into the details. But I thought it was worth sharing this information here.
Note that other future cores, such as PSX, may actually need this kind of performance. So limiting memory modules by shortening DMH/L may not be a good long term strategy.