You are on page 1of 1

Q1. What do you understand by pipelining?

Discuss with an example the


different hazards possible with pipelining?

Pipelining is the process of accumulating instruction from the


processor through a pipeline. It allows storing and executing
instructions in an orderly process. It is also known as pipeline
processing.

Hazards are the situations that stop the next instruction in the
instruction stream from being executed during its designated clock
cycle. Hazards reduce the performance from the ideal speedup gained
by pipelining. In general, there are three major categories of
hazards that can affect normal operation of a pipeline.

1. Structural hazards (also called resource conflicts): They occur


from resource conflicts when the hardware cannot support all possible
combinations of instructions in simultaneous overlapped execution.
These are caused by multiple accesses to memory performed by
segments. In most cases this problem can be resolved by using
separate instruction and data memories.
2. Data hazards (also called data dependency): They occur when an
instruction depends on the result of a previous instruction in a way
that is exposed by the overlapping of instructions in the pipeline.
This happens arise when an instruction requires the previous output
and output is not yet present.
3. Control hazards (also called branch difficulties): Branch
difficulties arise from branch and other instructions that change the
content of PC (Program Counter).

You might also like