Structural hazards - computer architecture:
A structural hazard takes place when a part of the processor's hardware is required by 2 or more than two instructions at the same time. A structural hazard might take place, for example, if a program were to execute a branch instruction which is followed by a computation instruction. Because they are executed in parallel manner, and because branching is very slow (needing a comparison between program counter-related computation, and writing to registers), it is possible (depending on the architecture) that the both computation and the branch instruction will need the ALU (arithmetic logic unit) at the identical time.
When a machine is pipelined then overlapped execution of instructions needs pipelining of functional units and duplication of resources to permit all possible combinations of instructions in the pipeline.
If some particular combination of instructions can't be accommodated because of a resource conflict, the machine is denoting to have a structural hazard.
Common examples of structural hazards arise when Some functional unit is not completely pipelined. Then a sequence of instructions by using that un pipelined unit can't be proceed ahead at the rate of 1 per clock cycle
Some resource has not been duplicated adequate to permit all combinations of instructions in the pipeline to execute.