Dynamic scheduling (contd.)
Split ID into two : Check for structural hazard (IS) , check for data hazard (RO).
If there is no structural hazard, the inst is issued.
As soon as the data operands are available execution may start. Ex: SUBD will go before ADDD in the last example.
This results in out-of-order completion.
It also introduces major complications in exception handling.