Reducing memory requirements of nested loops for embedded systems

J. Ramanujam, Jinpyo Hong, Mahmut Kandemir, A. Narayan

Research output: Contribution to journalArticlepeer-review

29 Scopus citations


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. A quantitative 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 calculatio n of the maximum window size is discussed. The term maximum window size is 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.

Original languageEnglish (US)
Pages (from-to)359-364
Number of pages6
JournalProceedings - Design Automation Conference
StatePublished - Jan 1 2001

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Control and Systems Engineering


Dive into the research topics of 'Reducing memory requirements of nested loops for embedded systems'. Together they form a unique fingerprint.

Cite this