Un structural hazard (hazard strutturale) si verifica quando due o più istruzioni vogliono usare la stessa risorsa hardware nello stesso ciclo di clock, ma l’architettura non è in grado di gestirle contemporaneamente.
Esempi di risorse in conflitto:
- 1 sola memoria condivisa tra istruzioni e dati (memoria unificata). (es.
lweswin casi particolari) - 1 sola ALU, ma più istruzioni che vorrebbero eseguire operazioni aritmetiche.
- 1 solo bus per leggere/scrivere, ma più istruzioni lo richiedono insieme.
RISC-V per design evita gli structural hazard, lasciando all’implementazione hardware la libertà di usare risorse separate.