Specifying Function Units On most RISC machines, there are instructions whose results are not available for a specific number of cycles.
Common cases are instructions that load data from memory.
On many machines, a pipeline stall will result if the data is referenced too soon after the load instruction. In addition, many newer microprocessors have multiple function units, usually one for integer and one for floating point, and often will incur pipeline stalls when a result that is needed is not yet ready. The descriptions in this section allow the specification of how much time must elapse between the execution of an instruction and the time when its result is used. It also allows specification of when the execution of an instruction will delay execution of similar instructions due to function unit conflicts. If more than one unit is specified, they will be scheduled independently.