PPMC: a programmable pattern based memory controller

  • Authors:
  • Tassadaq Hussain;Muhammad Shafiq;Miquel Pericàs;Nacho Navarro;Eduard Ayguadé

  • Affiliations:
  • Barcelona Supercomputing Center, Spain;Barcelona Supercomputing Center, Spain;Barcelona Supercomputing Center, Spain;Universitat Politecnica de Catalunya, Spain;Barcelona Supercomputing Center, Spain and Universitat Politecnica de Catalunya, Spain

  • Venue:
  • ARC'12 Proceedings of the 8th international conference on Reconfigurable Computing: architectures, tools and applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the main challenges in the design of hardware accelerators is the efficient access of data from the external memory. Improving and optimizing the functionality of the memory controller between the external memory and the accelerators is therefore critical. In this paper, we advance toward this goal by proposing PPMC, the Programmable Pattern-based Memory Controller. This controller supports scatter-gather and strided 1D, 2D and 3D accesses with programmable tiling. Compared to existing solutions, the proposed system provides better performance, simplifies programming access patterns and eases software integration by interfacing to high-level programming languages. In addition, the controller offers an interface for automating domain decomposition via tiling. We implemented and tested PPMC on a Xilinx ML505 evaluation board using a MicroBlaze soft-core as the host processor. The evaluation uses six memory intensive application kernels: Laplacian solver, FIR, FFT, Thresholding, Matrix Multiplication, and 3D-Stencil. The results show that the PPMC-enhanced system achieves at least 10x speed-ups for 1D, 2D and 3D memory accesses as compared to a non-PPMC based setup.