Online link: https://officiallynik.github.io/online-mips-simulator
- download the zip
- run "npm install"
- run "npm start"
*Node and npm are required to run Simulator locally
- Instruction Fetch
- Instruction Decode/Register Fetch
- Execute
- Memory
- Writeback
Simulator can simulate two levels of cache which can be configured. Cache contents can be seen anytime while running the code by navigating to Cache Table.
- Due to performance issues cache table is not live (i.e., does not get updated automatically), use refresh button or close and open the navigator to refresh the cache table to display the current contents of the cache.
['add', 'addi', 'sub', 'beq', 'bne', 'lw', 'li', 'lui', 'la', 'sw', 'slt', 'slti', 'j', 'jr', 'syscall']
- Each pipeline stage takes 1 clk cycle for any instruction except the load and store instructions
- Ideal IPC = 1
- Each 'stall' also takes 1 clk cycle
- write or upload your assembly code
- use cache settings to configure the two levels of cache
- enable dataforwarding or more stats as you like
- assemble the code
- use step-run or run to execute the code
- check the performance of simulator and code in performance analysis
-
Warning: Do Not Turn On More Stats For Large Programs Like 'Bubble Sort', As Time Taken To Complete The Task May Increase By Large Amount Or System May Hang!!
-
View the instructions in their pipeline stage by enabling and navigating to 'Pipeline' in lower screen
-
View the contents of the cache in 'cache table' in the sidebar of the simulator
-
This simulator is not bug free, feel free to hit a pull request on noticing one or to make improvements