Answer from cs61c-ax (Amanda Alfonso 15906918) for Question 2
The three values are coming from 
- a forwarded value (from after the Memory/WB stage)
      lw $t1, 0($t2)
      add $t5, $t1, $t5
      (second add has to wait until after memory is
       accessed to ensure that it gets the correct
       value for $t1)
 - a forwarded value (from after the ALU/execute   stage)
     add $t1, $t2, $t3
     add $t5, $t1, $t2
     (second add needs $t1 from first add, which is
      ready after the ALU stage and $t2+$t3 has
      occured)
- a value that is read from the register
     add $t1, $t2, $t3
     add $t4, $t5, $t3
     (RAR, can use values coming from register)
