Important terms
- control hazard
- Hazard caused by the need to wait until a branch target is computed and resolved.
- compiler
- Software that translates high-level code into assembly or machine code. Can (and usually does) perform many optimizations in the process.
- loop
- Section of code that will be iterated more than one time through. Implies linear execution; that is, many times through that section of code without executing other instructions.
- optimization
- Any of a number of methods used to improve performance by eliminating stalls, eliminating unnecessary instructions, etc.
- partial ordering
- Series of instructions where the later are dependant on the earlier completing.
- rescheduling
- Optimization with the goal of eliminating stalls.
- stall
- That which keeps a pipelined machine from having a full pipe. Hazards can cause stalls.
- unrolling
- Another optimization, this one done by putting multiple iterations of a high-level loop into the loop body in assembly and machine code.