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