4 ms·
It was very simple, I kept all the "logical" addresses the same, but swapped some low address bits with high address bits at the memory controller interface. W
by leghifla 8y ago
It was very simple, I kept all the "logical" addresses the same, but swapped some low address bits with high address bits at the memory controller interface.
With this, the slowly moving indexes became big jumps. This avoids reading the same row over and over again (mixed with other requests).
- avianes 8y ago> This avoids reading the same row over and over again Didn't you notice a huge drop in performance producing row-buffer conflicts over and over ?
- leghifla 8y agoGood question. Jumping around the memory is clearly not good for throughput. Before the change, the mixing of requests between processes was already detrimental for performance anyway. All I can say is that we needed a fixed bandwidth and it was enough, before or after the change.