SRAM memories are essential to improving run-time, energy use and real-time bounds. Many embedded processors contain Scratch Pad Memory (SPM), unenhanced SRAM that is mapped to a portion of the address space. They offer better real-time guarantees than caches, an alternate SRAM memory type. Compiler methods to allocate objects automatically to SPM have existed for a decade, but a recent survey did not find even a single commercial compiler that does automatic SPM allocation. Instead, programmers manually specify the SPM allocation using annotations. Reasons may include developer unawareness of SPM, unwillingness to include another feature in the toolchain, and the expense of repeated implementation in each compiler.

This research is developing a SPM allocation strategy that is completely implemented inside a binary rewriter. This binary rewriter is called automatically by the operating system the first time the program is loaded to memory. Subsequent executions derive the benefits of SPM with no additional overhead. This approach makes SPM a run-time-provided resource for the first time, much like cache and virtual memory are, making it ubiquitous and transparent to the software toolchain. The broader impacts of the research are (i) embedded systems that achieve high speed and real-time behavior at lower cost; (ii) portable devices with lower energy use, hence longer battery life; (iii) programs that are portable to any SPM size ? an important practical advantage; (iv) an educational and outreach program including graduate student training, undergraduate and graduate courses, internships, and a workshop on memory management.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
0720683
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2007-08-01
Budget End
2011-07-31
Support Year
Fiscal Year
2007
Total Cost
$180,000
Indirect Cost
Name
University of Maryland College Park
Department
Type
DUNS #
City
College Park
State
MD
Country
United States
Zip Code
20742