1 of 24

Slide Notes

DownloadGo Live

structural hazard

Published on Nov 18, 2015

No Description

PRESENTATION OUTLINE

structural hazard

ancajas, andrea marie         macatumbas, ryan ruzzel
Photo by haribote

PIPE LINING
- is widely used in modern processors. It improves system performance in terms of throughput.

Photo by lovro

THROUGHPUT
- measured by the rate at which instruction execution is completed.

Photo by williamcho

PIPE LINED ORGANIZATION
- requires sophisticated compilation techniques

HAZARD
– any condition that causes a pipeline ti stall is called a hazard

structural

hazards
Photo by USACE HQ

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

Photo by ell brown

Approaches to resolving structural hazards

  • Schedule
  • Stall
  • Duplicate

1. Schedule

Photo by photosteve101

o Programmer explicitly avoids scheduling instructions that would create structural hazards.

2. Stall

o Hardware includes control logic that stalls until earlier instructions are no longer using contented resource.

3. Duplicate

Photo by lonely radio

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?

Photo by khedmati

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

Photo by paalia

Banking storage is substantially less expensive than adding access ports. The potential for bank conflicts represents a structural hazard.