Abstract
Many programmable embedded systems feature low power processors coupled with fast compiler controlled on-chip scratchpad memories (SPMs) to reduce their energy consumption. SPMs are more efficient than caches in terms of energy consumption, performance, area and timing predictability. However, unlike caches SPMs need explicit management by software, the quality of which can impact the performance of SPM based systems. In this paper, we present a fully-automated, dynamic code overlaying technique for SPMs based on pure static analysis. Static analysis is less restrictive than profiling and can be easily extended to general compiler framework where the time consuming and expensive task of profiling may not be feasible. The SPM code mapping problem is harder than bin packing problem, which is NP-complete. Therefore we formulate the SPM code mapping as a binary integer linear programming problem and also propose a heuristic, determining simultaneously the region (bin) sizes as well as the function-to-region mapping. To the best of our knowledge, this is the first heuristic which simultaneously solves the interdependent problems of region size determination and the function-to-region mapping. We evaluate our approach for a set of MiBench applications on a horizontally split I-cache and SPM architecture (HSA). Compared to a cache-only architecture (COA), the HSA gives an average energy reduction of 35%, with minimal performance degradation. For the HSA, we also compare the energy results from our proposed SDRM heuristic against a previous static analysis based mapping heuristic and observe an average 27% energy reduction.
This work was partially funded by grants from Microsoft, Raytheon and Startdust Foundation.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Angiolini, F., Menichelli, F., Ferrero, A., Benini, L., Olivieri, M.: A post-compiler approach to scratchpad mapping of code. In: Proc. CASES, pp. 259–267 (2004)
Avissar, O., Barua, R., Stewart, D.: An optimal memory allocation scheme for scratch-pad-based embedded systems. Trans. on Embedded Computing Sys. 1(1), 6–26 (2002)
Banakar, R., Steinke, S., et al.: Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In: Proc. CODES, pp. 73–78 (2002)
Egger, B., Lee, J., Shin, H.: Scratchpad memory management for portable systems with a memory management unit. In: Proc. EMSOFT, pp. 321–330 (2006)
Montanaro, J., Witek, R.T., et al.: A 160-mhz, 32-b, 0.5-w cmos risc microprocessor. Digital Tech. J. 9(1), 49–62 (1997)
Guthaus, M., Ringenberg, J., et al.: Mibench: A free, commercially representative embedded benchmark suite. In: Workshop on Workload Characterization, pp. 3–14, December 2 (2001)
Smith, J.E.: A study of branch prediction strategies. In: Proc. ISCA, pp. 135–148 (1981)
Steinke, S., Wehmeyer, L., Lee, B., Marwedel, P.: Assigning program and data objects to scratchpad for energy reduction. In: Proc. DATE, p. 409 (2002)
Steinke, S., Grunwald, N., et al.: Reducing energy consumption by dynamic copying of instructions onto onchip memory. In: Proc. ISSS, pp. 213–218 (2002)
Udayakumaran, S., Dominguez, A., et al.: Dynamic allocation for scratch-pad memory using compile-time decisions. Trans. on Embedded Computing Sys. 5(2), 472–511 (2006)
Verma, M., Marwedel, P.: Overlay techniques for scratchpad memories in low power embedded processors. IEEE Trans. on VLSI 14(8), 802–815 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pabalkar, A., Shrivastava, A., Kannan, A., Lee, J. (2008). SDRM: Simultaneous Determination of Regions and Function-to-Region Mapping for Scratchpad Memories. In: Sadayappan, P., Parashar, M., Badrinath, R., Prasanna, V.K. (eds) High Performance Computing - HiPC 2008. HiPC 2008. Lecture Notes in Computer Science, vol 5374. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89894-8_49
Download citation
DOI: https://doi.org/10.1007/978-3-540-89894-8_49
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89893-1
Online ISBN: 978-3-540-89894-8
eBook Packages: Computer ScienceComputer Science (R0)