Memory Coloring: A Compiler Approach for Scratchpad Memory Management

  • Authors:
  • Lian Li;Lin Gao;Jingling Xue

  • Affiliations:
  • Programming Languages and Compilers Group School of Computer Science and Engineering University of New South Wales;Programming Languages and Compilers Group School of Computer Science and Engineering University of New South Wales;National ICT Australia

  • Venue:
  • Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scratchpad memory (SPM), a fast software-managed onchip SRAM, is now widely used in modern embedded processors. Compared to hardware-managed cache, it is more efficient in performance, power and area cost, and has the added advantage of better time predictability. This paper introduces a general-purpose compiler approach, called memory coloring, to efficiently allocating the arrays in a program to an SPM. The novelty of our approach lies in partitioning an SPM into a "register file", splitting the live ranges of arrays to create potential data transfer statements between the SPM and off-chip memory, and finally, adapting an existing graph-colouring algorithm for register allocation to assign the arrays in the program into the register file. Our approach is efficient due to the practical efficiency of graph-colouring algorithms. We have implemented this work in SUIF and machSUIF. Preliminary results over benchmarks show that our approach represents a promising solution to automatic SPM management.