Welcome to the UW CSE 351 Cache Simulator!
Click the Next button below to start a text tutorial or click the "x" button above to start using the simulator.
System Parameters
Use the first panel to configure address width, cache size, block size, associativity, and write and replacement policies.
The system must be generated before the other panels become usable. The system can be regenerated at any time if you wish to change your selections.
Manual Memory Access
This simulator supports 1-byte reads and write, as well as flushing the cache. Enter address and data inputs into the text boxes and click the appropriate button to perform the desired operation.
Use the "step by step" option to walk through the process and changes to the cache and memory. The TIO address breakdown and cache hit and miss totals are also displayed here.
Simulation Messages & History
The simulation messages will detail the steps of each operation (either all at once or step by step, if selected). The messages will clear for each new operation.
The history log will show all operations that have been performed to get to the system's current state. The access history can be traversed using the ↑ and ↓ buttons – the ">" symbol indicates the next operation to be performed. The history can also be manually modified (typing or pasting) and then loaded for ease of getting to a particular state or seeing the different outcomes caused by different system parameters.
Cache & Memory
Once the system is generated, cache and memory will be shown. All data are shown in hex, but other numbers may be in decimal. In particular, the numbers shown to the right of the cache are "cache line status indicators" that are used by the replacement policy.
As operations are performed, changes made to the system are highlighted. Hover over any byte of data in the cache or memory to see its corresponding memory address.
This simulator supports a single level of cache, which starts with all lines invalid. Memory is initially populated with random values; append "?seed=******" to the URL to use a different 6-character seed, if desired.
Need Help?
Welcome to the 351 Cache Simulator! You can:
- Use System Parameters to configure your cache and memory.
- Use Manual Memory Access to simulate cache operations.
- Check Messages and History for results.
- Restart the guided tutorial below if you'd like a walkthrough.