[Computer Architecture] Hazards


Structural hazards: HW cannot support this combination of instructions. For example, no two instructions can be at execution stage simultaneously if there is only one execution unit.
Data hazards: instruction depends on result of prior instruction still in the pipeline. (RAW, WAW, WAR)
Control hazards: pipelining of branches and other instructions that change the PC. If there are branches, it is uncertain which instruction should be issued.

Data hazards

From Compiler Optimization course by Seon Wook Kim

Alleviated with forwarding

Control hazards

Branch instructions are the cause of control hazards

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.