We present an educational software package (Csim) used as a teaching tool to analyze the structure and behavior of a cache memory and to help the student in the design of cache memories for embedded systems. By means of an integrated software development environment, the user can create a program and explore its behavior (locality analysis). The student can observe the cache actions needed for a memory operation and evaluate the cache performance as a function of the configuration parameters. Finally, the parametric-evaluation graphical tools help in the actual design of an embedded system, in order to find the cache and memory configuration which provides the best balance between cost and performance.