Reducing memory requirements of nested loops for embedded systems

  • Authors:
  • J. Ramanujam;Jinpyo Hong;Mahmut Kandemir;A. Narayan

  • Affiliations:
  • Louisiana State University, Baton Rouge, LA;Louisiana State University, Baton Rouge, LA;Pennsylvania State University, State College, PA;Louisiana State University, Baton Rouge, LA

  • Venue:
  • Proceedings of the 38th annual Design Automation Conference
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most embedded systems have limited amount of memory. In contrast, the memory requirements of code (in particular loops) running on embedded systems is significant. This paper addresses the problem of estimating the amount of memory needed for transfers of data in embedded systems. The problem of estimating the region associated with a statement or the set of elements referenced by a statement during the execution of the entire set of nested loops is analyzed. Aquantitative analysis of the number of elements referenced is presented; exact expressions for uniformly generated references and a close upper and lower bound for non-uniformly generated references are derived. In addition to presenting an algorithm that computes the total memory required, we discuss the effect of transformations on the lifetimes of array variables, i.e., the time between the first and last accesses to a given array location. A detailed analysis on the effect of unimodular transformations on data locality including the calculation of the maximum window size is discussed. The termmaximum window sizeis introduced and quantitative expressions are derived to compute the window size. The smaller the value of the maximum window size, the higher the amount of data locality in the loop.