Interleaved multi-bank scratchpad memories
Andreas Tretter, Pratyush Kumar, Lothar Thiele · 2015
Shared on-chip memory is common on state-of-the-art multicore platforms. In a number of designs, memory throughput is enhanced by providing multiple independent memory banks and spreading consecutive memory addresses to these (interleaving). This can reduce, but not eliminate, the number of access conflicts. In this paper, we statically analyse the probabilities and frequencies of these access conflicts and calculate the expected throughput for various hardware configurations and software applications. Using two techniques -- the classic occupancy distribution and a Markov model -- we are able to explain most of the underlying conflict mechanisms and to provide accurate estimations. We present the practical consequences for hardware and software design and establish an intuitive understanding of the characteristics of interleaved memory architectures.