Structural hazards
When more than one instruction in the pipeline needs to access a resource, the datapath is said to have a structural hazard.
Examples of resources: register file, memory, ALU.
Solution: Stall the pipeline for one clock cycle when the conflict is detected. This results in a pipeline bubble.
See Fig.3.6, 3.7 that illustrate the memory access conflict and how it is resolved by stalling an instruction. Problem: one memory port.