To-do list:

(put your name next to what you want to work on)

Please comment your code so we know what everything does.

- Handling Input (Completed)

  • parse registers into an std::map<std::string, int>
  • create an instruction object for each line in the input file (including labels)
  • put each instruction in a vector of instructions
  • set up instruction object with useful variables for storing information in a line

- Pipelining structure (Completed)

  • create basic structure for pipeline
  • implement each step of the pipeline (IF, ID, EX, MEM, WB)

- Handling Hazards (Completed)

  • Data Hazards (exactly like homework 5)
  • Control Hazards (jumping and branching)
  • inserting nop's in correct places

- Implementing forwarding (Completed)

  • Used for data hazards to not require a stall
  • easier than it sounds

- Output Formatting (Completed)

  • match output format with examples on pdf

Replace when you are done with each step

  • means unfinished
  • means finished

Design suggestions: