23.08.2013 Views

MNEMEE - Electronic Systems - Technische Universiteit Eindhoven

MNEMEE - Electronic Systems - Technische Universiteit Eindhoven

MNEMEE - Electronic Systems - Technische Universiteit Eindhoven

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Embedded systems differ from general-purpose systems by executing the same application or class of<br />

applications repeatedly. Knowledge of an embedded application's profile can be well understood<br />

through extensive simulations. Applications in multimedia, video processing, speech processing, DSP<br />

applications and wireless communication require efficient memory design since on chip memory<br />

occupies more than 50% of the total chip area [13]. This will typically reduce the energy consumption<br />

of the memory unit, because less area implies reduction in the total switched capacitance. On chip<br />

caches using static RAM consume power in the range of 25% to 50% of the total chip power [14].<br />

Recently, interest has been focused on having on chip scratch pad memory (SPM) to reduce the power<br />

and improve performance. Figure 12 illustrates the generic architecture of SPM memory architecture.<br />

Scratchpad memory (SPM), also known as scratchpad or scratchpad RAM, is a high-speed internal<br />

memory used for temporary storage of calculations, data, and other work in progress. It can be<br />

considered as similar to an L1 cache in that it is the memory next closest to the ALUs after the internal<br />

registers, with explicit instructions to move data from and to main memory, often using DMA-based<br />

data transfer. In contrast with a system that uses caches, a system with scratchpads does commonly not<br />

contain a copy of data that is also stored in the main memory.<br />

Scratchpads are employed for simplification of caching logic, and to guarantee a unit can work<br />

without main memory contention in a system employing multiple processors, especially in<br />

multiprocessor system-on-chip for embedded systems. They are most suited to storing temporary results<br />

(such as would be found in the CPU stack for example) that typically wouldn't always need<br />

committing to main memory; however when fed by DMA, they can also be used in place of a cache for<br />

mirroring the state of slower main memory. They are suited to embedded systems, special-purpose<br />

processors and games consoles, where chips are often manufactured as MP-SoC, and where software<br />

is often tuned to one hardware configuration.<br />

Current embedded processors particularly in the area of multimedia applications and graphic<br />

controllers have on-chip scratch pad memories. In cache memory systems, the mapping of program<br />

elements is done during runtime, whereas in scratch pad memory systems this is done either by the<br />

user or automatically by the compiler using a suitable algorithm. As a result, the use of a tool in<br />

scratchpad memory optimization is highly beneficial. To reduce power in embedded systems, profile<br />

knowledge applied to a system with SPM instead of instruction cache, has been shown to be useful<br />

[15]. Previous results have shown SPM can outperform cache-based run-time memory on almost all<br />

counts. It has been shown that the area-time product (AT) can be reduced by 46% (average) by<br />

replacing cache by the scratch pad memory (Figure 13). For most applications and memory<br />

configurations, the total energy consumption of scratch pad based memory systems is less than that of<br />

cache-based systems.<br />

Figure 13 - Area and Performance benefits of SPM over cache for embedded benchmarks [15].<br />

To optimize energy consumption of the memory subsystem, both hardware and software memory<br />

optimization techniques can be applied. The techniques described in this section exploit the use of<br />

scratchpad memory (being more energy efficient than caches) by transforming the embedded software<br />

using design-time exploration and transformation tools. Quite some embedded processors have onchip<br />

scratchpad memories, which can be used to bridge the memory-processor gap in a more efficient<br />

Public Page 31 of 87

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!