Modelling superscalar pipelines with finite state machines