2002
DOI: 10.1145/581888.581891
|View full text |Cite
|
Sign up to set email alerts
|

An optimal memory allocation scheme for scratch-pad-based embedded systems

Abstract: This article presents a technique for the efficient compiler management of software-exposed heterogeneous memory. In many lower-end embedded chips, often used in microcontrollers and DSP processors, heterogeneous memory units such as scratch-pad SRAM, internal DRAM, external DRAM, and ROM are visible directly to the software, without automatic management by a hardware caching mechanism. Instead, the memory units are mapped to different portions of the address space. Caches are avoided due to their cost and pow… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
233
0
5

Year Published

2005
2005
2012
2012

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 261 publications
(240 citation statements)
references
References 11 publications
0
233
0
5
Order By: Relevance
“…These include the static allocation described in [3] and the dynamic method for non-affine programs [10]. We also consider three variations of an affine-only method that only handles affine loops, flushing the SPM after each loop.…”
Section: Resultsmentioning
confidence: 99%
“…These include the static allocation described in [3] and the dynamic method for non-affine programs [10]. We also consider three variations of an affine-only method that only handles affine loops, flushing the SPM after each loop.…”
Section: Resultsmentioning
confidence: 99%
“…This program managed memory implies a more complicated programming model. However, scratchpad memory can be automatically partitioned [3,1,49]. A similar approach for time-predictable caching is to lock cache blocks.…”
Section: Related Workmentioning
confidence: 99%
“…Full associativity is expensive in terms of hardware, and therefore the size of this cache is limited to 16 or 32 cache lines. [3] hit [3] dout [3] cache …”
Section: Cache Implementation In Jopmentioning
confidence: 99%
“…It paritions the LM for each different array size, performs live range spliting and use a register allocation framework to perform memory coloring. The second approach [16,17,24] allocates data onto the scratch-pad memory between program regions separated by specific program points. More specifically, allocation is based on the access frequency-per-byte of a variable in a region (collected from profile data).…”
Section: Related Workmentioning
confidence: 99%