A method of controlling the flow of execution for a plurality of instructions, comprising the steps of:
- receiving a plurality of resource request signals, each resource request signal associated with an instruction signal requiring execution by an execution unit;
- receiving a lesser plurality of resource availability signals indicating a number of available execution units;
- comparing a selected one of the resource request signals to each of the resource availability signals, and either:
- allocating an execution unit to the instruction signal associated with the resource request signal, and altering one of the resource availability signals to reduce the number of available execution units, where at least one execution unit is available;
- or
- suppressing the instruction signal associated with the resource request signal where no execution units are available;
- and
- repeating the steps of receiving and comparing until for each resource request signal, the instruction signal associated therewith has been either suppressed or allocated an execution unit.