JSCacheSimulator Version 1.0 The simulator was written in HTML5, using JQuery and Bootstrap libraries. --- Changelog: - --- Tested in: Ubuntu 14.04 Firefox, Chromium Windows 8.1 Google Chrome, Firefox Windows 10 Google Chrome --- Note: The project is composed by a set of classes representing the various types of cache, and the main application code, in mycode.js file. This code links the simulation code with graphics elements using "render" functions. The classes are: frames, cache, accessoArray, cachedirect, cachefassociative, cacheSAssociative. The simulator tasks can be summarized in: 1. The simulator asks the user to insert the simulation settings. 2. When the user clicks the submit button, it initializes the objects that composes the simulation cache (such as, cache, frames, ecc) 3. Every simulation step it executes an memory operation from the given list and calls posizionaBlocco() that simulates cache operations (cache mapping, block eviction and block placement). You can find other details in the user guide, and for each functions in comments inside the source code. --- What can be done better? I tried to develop an algorithm that simulates memory accesses from a typical program. I wrote it in a function called: simulaOperazione() simulaOperazione() returns a list of memory accesses, as an HEX string, that is then supplied as input for the simulator. simulaOperazione repetitely uses random numbers to choose one of the following behaviours: - Simulate a single memory access: This algorithm can be chosen with a probability of: (5/7) = 72% - Simulate a while loop (repeating previous accesses): // (1/7) = 14% - Simulate an array access: // (1/7) = 14% If you develop a better algorithm, please feel free to contact me by email.