Cache memory design in embedded systems can take advantage from the analysis of the software that runs on that system, which usually remains the same for its whole life. Programs can be characterized, in respect of the memory hierarchy, using locality analysis. We propose an environment which permits one to analyze the locality of a program and the effects on the target system performance. The student can thus figure out the best tradeoff between costs and performance for cache memory and timings, exploring different system configurations. A fully graphical interface permits one to observe the program behavior from many points of view: locality surface, working set evolution, and performance metrics. The tool is currently used as a teaching tool at our University and it is distributed as part of a commercial development environment for embedded systems.
[1]
K. Grimsrud,et al.
Locality as a Visualization Tool
,
1996,
IEEE Trans. Computers.
[2]
Michael J. Flynn,et al.
Computer Architecture: Pipelined and Parallel Processor Design
,
1995
.
[3]
Daniel D. Gajski,et al.
Specification and Design of Embedded Software/Hardware Systems
,
1995
.
[4]
Frank Vahid,et al.
Specification and Design of Embedded Hardware-Software Systems
,
1995,
IEEE Des. Test Comput..
[5]
Luigi M. Ricciardi,et al.
A Trace-Driven Simulator for Performance Evaluation of Cache-Based Multiprocessor Systems
,
1995,
IEEE Trans. Parallel Distributed Syst..
[6]
Alex Van Someren,et al.
The Arm Risc Chip: A Programmer's Guide
,
1994
.