Ian Sutton CSE 381 Fall 2014 Project 1 - MIPS Matrix Multiplier My approach to this project was to use my existing skills with relatively higher-architecture operating system/kernel to better understand the relatively lower-level CPU operations: 'top-down' rather than 'bottom-up'. I started by writing an equivalent program in C along with a makefile that specifies a compilation routine that results in a rather unoptimized binary, important for later reasons. I compiled on an intel i386 single-core 32-bit pentium chip (on an old thinkpad) in order to get the least complicated instructions. I stripped the ELF headers/footers and translated the sequence of opcodes into readable x86 ASM. This is where I started to get a feel for how this program was working on the instruction level. I then changed the compilation options to instead cross-compile and target an older Longsoon 32-bit MIPS platform, suitable for this course. After adjusting the optimization settings, I was able to come up with an instruction file suitable for this assignment (specifically, it did not use any MIPS64, multithreaded, or pseudo-instructions prohibited by the handout). I then ran it through MARS to guarantee operability on the professor's end.