DCMSim - Didact Cache Memory Simulator

DCMSim v1.0 unpublished essay
DCMSim v1.0 tool
DCMSim (Didactic Cache Memory Simulator) is a didactic simulator that uses a structural modeling of cache memories and to be used in undergraduate classes in memory hierarchy topics. The DCMSim was designed to motivate and increase the student participation and reflection through an alternative learning environment. The simulator goal is to represent the cache memory structurally and not only functionally.

DCMSim is a project developed in Digital and Computational Systems Group (GSDC). The first version started as a undergraduate work, and the last version was finished as the graduation work.

Project Motivation
The difficulty of visual perception in cache memories' functioning is well-known, due to cache memories, even being a hardware, its architectural composition is an intangible device to be studied. Thus, it has a great difficulty for students in perceiving how a cache memory is organized and the events that occur for its functioning, as politics of substitution, how the blocks are stored and loaded, how the structure of cache memory interacts with the memory hierarchy.

The motivation for the DCMSim project is the possibility to supply a teaching/learning aid tool for use in under-graduation disciplines that deals with memory hierarchy. It happened in Computer Architecture classes with the first version of the tool, DCMSim Crawl 1, and now with the DCMSim V1.0. Representing the cache memory as real as is possible and providing the possibility to have more practical exercises, the DCMSim has been used in 2005 in under-graduate disciplines intending to improve the results of the aid tool’s use.

Project Goals
The main goal of the DCMSim project is to presents visually, simply and interactively, the memory address access events of a real cache memory.

Another goal is to allow, interactively, the analysis and comparison of some cache memory systems through results generated in the simulations. So, new possibilities of learning are created through experimentations varying cache architectures types and configurations and memory trace (sequence of memory address access).

It intends, in this project, to create an environment that motivates the students and stimulates their participation and contribution in the studies and tool's development. The use of alternative resources, as simulation, is intended to reach this goal easily. Experiences using simulators, as the first version of DCMSim, disclose that the teaching/learning become more efficient because it stimulates the participation and reflection of the student. Then, they start to collaborate more and more, contributing to improvements for the tools developed with this intention.