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