data hazard read after write (RAW) st r1 $1000 (write) > register R[1] --> M[$1000] ld r2 $1000 (read) > M[$1000] --> reg R[2] control dependency while i > 0 do ... i = i - 1 test i > 0 jump if false (to exit loop) do ... (1) decrement i jump to test exit: (2)