11/25/22, 7:24 PM Lab #2
https:
webcourses.ucf.edu/courses/1418246/assignments/ XXXXXXXXXX/2
Lab #2
Due Dec 2 by 11:59pm Points 60 Submitting a file upload
Available Oct 15 at 12am - Dec 2 at 11:59pm
Start Assignment
In this project, you are asked to write the core part of a mini processor simulator called MySPIM using
the C programming language on a Unix platform. Your MySPIM will demonstrate functions of the MIPS
processor as well as the principle actions of the datapath and the control signals of a MIPS processor.
The simulator should read in a file containing MIPS machine codes (in the format specified below) and
simulate what the MIPS processor does cycle-by-cycle. You are required to implement the processo
simulation as a single-cycle datapath. You are asked to fill in the body of several functions in the
provided project file.
Please download the following files: spimcore.c spimcore.h project.c
These files contain the main program and the other supporting functions of the simulator. You are
equired to fill in the functions in project.c. You may also introduce new functions, but do not modify any
other part of the files. You are not allowed to modify spimcore.c and spimcore.h. All your work should be
placed in project.c. Please also avoid input and output statements as these will inte
upt the test cases.
For more detail, you can check ProjectGuideline.pdf and ProjectFAQ.pdf.
Submission: Only project.c file.
Note: Functionality is important. Any functional issue, such as segmentation fault or abnormal
termination, may not be accepted (Hint: I will try many different input files).
ProjectGuideline.pdf (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
project.c (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
spimcore.c (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
spimcore.h (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
ProjectFAQ.pdf (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1
11/25/22, 7:24 PM Lab #2
https:
webcourses.ucf.edu/courses/1418246/assignments/ XXXXXXXXXX/2
sample input file: input.asc (https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1)
(https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1)
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX?wrap=1
https:
webcourses.ucf.edu/courses/1418246/files/ XXXXXXXXXX/download?download_frd=1