include("./header.php"); ?>
The previous lab should have created a simulator capable of performing rudimentary hazard avoidance with "bubbling". In this lab we'll be expanding on this idea by implementing forwarding.
Your task (100 points)Provided you've already implemented the task given in the previous lab, your task is to add the ability to do forwarding while executing instructions in the pipeline.
Analysis (same as lab 10)Your program must also track some basic statistics about the code it is emulating. You need to track:
To help give us a standard to use please use this piece of code as the basis for what your simulator should operate on. I have used numerical register names to make it easier for the implementation. As the file says, there are numerous hazards present and should help provide a clear picture of how hazard detection helps. If you want to use an additional file (of your own making) please do.
Extra credit (30 points)To earn some extra credit on this lab you need to turn in a completed version by Friday, May 2nd at 9am. Extra credit will only be awarded if your submission meets the requirements of this assignment. You will not be allowed to submit a second program if this proves to not be the case.
Important notesYou will be submitting your programs via the web-drop by May 7th at 9am. The link is available from the course web page. For this lab I'm asking you to create a tar file containing any files relevant to your implementation. To create this file first create a directory named with your email user-name. Then place any files into that directory. Finally create a tar file so that when I untar it I get a directory with your user-id. The process looks like this:
mkdir sstorie cp /home/files/lab11/* sstorie/ tar -cvf sstorie.tar sstorie