Created a program (using the QtMips simulator) to reverse-engineer information about the configuration of a system's microprocessor using 2 pieces of information:
- The number of cycles the program execution lasts.
- The output of the program.
Using these pieces of information we can uniquely identify the configuration that the microprocessor uses for:
- Data Hazards control
- Control Hazards control
Created a program that efficiently calculates the result of X = X + A*B. Where X, A & B are matrices.
The program takes into account the program's energy usage, meaning we primarily tried to implement an energy-efficient program using different array sizes.