Efficient Generation of Application Specific Memory Controllers
The increasing gap between the bandwidth requirements of modern Systems on Chip (SoC) and the I/O data rate delivered by Dynamic Random Access Memory (DRAM), known as the Memory Wall, limits the performance of today's data-intensive applications. General purpose memory controllers use online scheduling techniques in order to increase the memory bandwidth. Due to a limited buffer depth they only have a local view on the executed application. However, numerous applications, especially in the embedded systems domain, have regular or fixed memory access patterns, which are not yet exploited to overcome the memory wall. In this paper, we present a new methodology to generate the configuration for an Application-Specific Memory Controller (ASMC), which has a global view on the application and utilizes application knowledge to decrease the energy and increase the bandwidth. Therefore, we analyze the DRAM access pattern of the application offline by solving an instance of the Min-k-Union problem and generate a configuration for a reconfigurable address mapper. For several applications we show an improvement in energy efficiency of up to 8.5 × and sustainable bandwidth of 8.9 × .