Hazards describe situations in a pipeline where the next instruction
can not be executed in the following clock cycle due to conflicts.
Although the instruction set and the associated core of a processor is
designed to avoid conflicts between processor components, there occur
scenarios which have to be handled through some additional processing
logic.
In this chapter, we discuss 3 different types of such hazards and
approaches to handle them: