PRESENTATION OUTLINE
PIPE LINING
- is widely used in modern processors. It improves system performance in terms of throughput.
THROUGHPUT
- measured by the rate at which instruction execution is completed.
PIPE LINED ORGANIZATION
- requires sophisticated compilation techniques
HAZARD
– any condition that causes a pipeline ti stall is called a hazard
Structural hazards occur when two instructions need same hardware resource at the same time.
An instruction in the pipeline needs a resource being used by another instruction
Approaches to resolving structural hazards
o Programmer explicitly avoids scheduling instructions that would create structural hazards.
o Hardware includes control logic that stalls until earlier instructions are no longer using contented resource.
o Add more hardware to design so that each instruction can access to independent resources at the same time.
When do structural hazards occur in pipe lined architectures?
When memory needs to be accessed during different stages of the pipeline.
i.e.
the initial instruction fetch stage and
the later memory read/write stage
In a scalar implementation, a structural hazard can exist if specific execution hardware is not fully pipelined.
In a scalar implementation, a structural hazard can exist if specific execution hardware is not fully pipelined.
For some operations (e.g., multiplication and especially division) the cost of implementing full pipelining may not be considered worthwhile for the expected frequency of the operation.
In a superscalar implementation, a structural hazard may exist because not every execution unit can perform every operation.
BANKING
is often used for caches
Banking storage is substantially less expensive than adding access ports. The potential for bank conflicts represents a structural hazard.