Classify the workload before touching the design. Each class below names its mechanism in one line and the metric that exposes it.
Workload | Structure it stresses | Metric that exposes it |
|---|---|---|
Branchy control flow | Fetch width, predictor tables, and I-cache hold the mechanism. | Branch mispredict MPKI and frontend stall share. |
Pointer chase, irregular | D-cache, TLB, LLC, and DRAM serve each dependent miss. | MPKI per level, TLB MPKI, and AMAT. |
Streaming, sequential | Prefetcher, NoC, and DRAM bandwidth carry the stream. | Delivered bandwidth, coverage, and MLP. |
Producer-consumer sharing | Coherency protocol, line size, and layout set the cost. | Invalidations and snoop or directory traffic. |
Accelerator offload | SRAM tile, DMA engine, and launch path bound the win. | Utilization, DMA bandwidth, and launch cost. |
Latency-critical service | Queues, arbitration, and QoS classes guard the tail. | p99 latency and tail share under load. |
Match the workload to one row, then measure that row's metric first. If the metric is flat, the bottleneck sits in a different row.