final example:

A=B+C
D=E-F

program to implement this example:
LDB $201
LDC $202
ADDABC; A=B+C
STA $200; save result
LDE $204
LDF $205
SUBDEF; D=E-F
STD $203
; see if you can re-arrange to avoid data hazards.

answer:
LDB $201
LDC $202
LDE $204; avoid a data hazard stall
ADDABC
LDF $205; was exchanged with below to avoid data hazard stall
STA $200; was exchanged with below to avoid data hazard stall
SUBDEF
; do something else to give D time to "exist"
STD $203

by scheduling the instructions, the compiler attempts to produce code for which there is one instruction per clock tick (per execution unit).


speedups and parallelism in programs there are many approaches to increasing the number of instructions microprocessors can do per clock tick.