Computer Architecture · All levels
Hazards and Forwarding Networks — Pitfalls & Red Flags
Pitfalls & Red Flags for Hazards and Forwarding Networks (Pipeline Fundamentals).
Common mistakes
Optimizing for average stall reduction while weakening correctness guarantees.
Ignoring rare replay/exception windows where forwarded values must be invalidated.
Adding broad stalling to hide bug, causing large IPC regressions.
Red flags in reviews
Cannot explain worst report line
No regression list after proposed fix
Waiver requested without cluster analysis
Failure modes seen in real product programs
A performance win is accepted on one benchmark while product workloads regress.
A simulation result is trusted without matching PMU counter definitions.
A microarchitecture knob hides a workload-specific issue but creates verification and PPA debt.
A local improvement in Hazards and Forwarding Networks regresses Compiler scheduling assumptions, DV reference model alignment, and post-silicon debug time are directly impacted..
How a senior engineer recovers
Freeze the evidence: workload, model/RTL tag, counter setup, trace, and simulator switches.
Name the real owner and approval path.
Convert the lesson into a checklist item, regression, or methodology guardrail.
Pitfall map
TRADEOFF MATRIX — Hazards and Forwarding Networks
+----------------------+----------------------+----------------------+----------------------+
| Option | Helps | Can hurt | Validation needed |
+----------------------+----------------------+----------------------+----------------------+
| Larger / wider block | peak perf, miss rate | area, power, timing | workload sweep |
| Smarter policy | hit rate, QoS, IPC | verification risk | corner cases + PMU |
| More buffering | latency tails, stalls| deadlock, leakage | stress traffic tests |
| Software contract | locality, ordering | portability, APIs | production workload |
+----------------------+----------------------+----------------------+----------------------+
Senior rule: pick the smallest change that proves or disproves the mechanism.Architecture deep dive
Pipeline depth and width are bets on branch predictability and cache behavior.
Concept diagram
PIPELINE VIEW
Fetch ──► Decode ──► Rename ──► Issue ──► Execute ──► Memory ──► Commit
│ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼
I-cache decode ROB/RS wakeup ALU/BR LSU retire
miss bubbles full select latency miss bandwidth
Every pipeline discussion should name where bubbles enter and where they retire.Metric graph
STALL STACK EXAMPLE
cycles (%)
frontend ██████████████ 28
branch ████████ 16
backend ████████████ 24
memory █████████ 18
retire/other ██████ 12
Read this before saying "make the pipe wider."Metrics and artifacts
IPC/CPI breakdown
stall cycles by stage
branch mispredict rate
frontend vs backend bound
Mini case study
IPC drops after widening decode but branch-heavy workload shows frontend stalls unchanged. The correct read: backend was not the bottleneck — branch prediction and fetch bandwidth need investment first.
Debug branches
If IPC flat after deeper pipeline, check branch MPKI and cache miss stalls.
If hold timing fails on critical path, architecture may need shorter pipeline stage — link PD.
Senior review question
Ask: what single metric would prove this concept is working or failing on your workload?
Key takeaways
Connect every architecture claim to a workload and measurable metric.
State verification and PPA impact before proposing design changes.
Common pitfalls
Feature-driven design without MPKI/IPC/bandwidth evidence.
Ignoring coherency and NoC traffic in cache and accelerator sizing.
Study notes
Re-read this topic with one concrete workload.