Given a simple instruction set (RISC-V like), this project was aiming to create a virtual machine able to:
Translate provided assembly code to hexadecimal instructions;
Execute these instructions through registers, data memory and cache memory;
Extract performance indicators depending on cache memory architecture and different data management strategies;
Unit test every function.
Output
This image shows how many instructions per second the user's machine can execute depending on the different cache configuration, highlighting trends and peaks during execution.
Tools
Python3
UnitTest python framworke
Assembly code
Object-oriented programming
Like this project
0
Posted Mar 29, 2024
Creation of a python virtual machine able to execute assembly code through 32 bits registers, data memory and cache memory.