Optimizing Data Placement of Loops for Energy Minimization with Multiple Types of Memories

  • Authors:
  • Jun Zhang;Tan Deng;Qiuyan Gao;Qingfeng Zhuge;Edwin H.-M. Sha

  • Affiliations:
  • College of Computer Science, Chongqing University, Chongqing, China 400040;College of Information Science and Engineering, Hunan University, Changsha, China 410082;College of Information Science and Engineering, Hunan University, Changsha, China 410082;College of Computer Science, Chongqing University, Chongqing, China 400040;College of Computer Science, Chongqing University, Chongqing, China 400040 and Department of Computer Science, University of Texas at Dallas, Richardson, USA 75080

  • Venue:
  • Journal of Signal Processing Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Strict real-time processing and energy efficiency are required by high-performance Digital Signal Processing (DSP) applications. Scratch-Pad Memory (SPM), a software-controlled on-chip memory with small area and low energy consumption, has been widely used in many DSP systems. Various data placement algorithms are proposed to effectively manage data on SPMs. However, none of them can provide optimal solution of data placement problem for array data in loops. In this paper, we study the problem of how to optimally place array data in loops to multiple types of memory units such that the energy and time costs of memory accesses can be minimized. We design a dynamic programming algorithm, Iterational Optimal Data Placement (IODP), to solve data placement problem for loops for processor architectures with multiple types of memory units. According to the experimental results, the IODP algorithm reduced the energy consumption by 20.04 % and 8.98 % compared with a random memory placement method and a greedy algorithm, respectively. It also reduced the memory access time by 19.01 % and 8.62 % compared with a random memory placement method and a greedy approach.