Written in the open, and in progress. Live, evolving work that will keep changing. How this book is written →

2  Compounding Design Pressures

Author
Affiliation

Harvard John A. Paulson School of Engineering and Applied Sciences

Published

August 11, 2026

“[F]eedback is a method of controlling a system by reinserting into it the results of its past performance. If these results are merely used as numerical data for the criticism of the system and its regulation, we have the simple feedback of the control engineers.”

— Norbert Wiener, The Human Use of Human Beings (1950) (Wiener 1950, 71)

Wiener, Norbert. 1950. The Human Use of Human Beings: Cybernetics and Society. Eyre & Spottiswoode.

Author’s Note. Norbert Wiener, who helped establish cybernetics, made feedback the defining property of control. In the passage quoted, he separates feedback that merely regulates a system from feedback that changes how the system acts. Our architecture work turns on this exact distinction, and this chapter traces the compounding pressures that push the regulating kind of feedback past its limit.

North-Star question
Why does modern architecture work demand new forms of assistance, and where can that assistance help without weakening architectural comparisons?

Our work as architects is getting harder, not because good ideas are scarcer, but because we must hold more of the system in our heads at once. Parameters across microarchitecture, power delivery, packaging, and software interact in ways that no single model or heuristic can fully capture. A single cache-sizing decision, for example, ripples out to change software latency, memory traffic, die area, and package-level power.

We constantly frame questions, propose candidates, evaluate them with workloads and tools, and revise our designs in light of the results. But today, a modern architecture study spans more design information, tighter software and physical constraints, wider design spaces, and more expensive forms of evaluation than in the past. We must keep all those elements consistent long enough to make a confident decision. Because we can no longer rely on process scaling to deliver automatic performance and efficiency gains, we must extract those gains ourselves through architecture, specialization, software, and system composition.

These pressures quickly compound. Deepening our microarchitecture and multicore execution introduces intricate policies and coherence protocols. When we build specialized blocks, we closely bind them to specific workloads. And when we compose these specialized pieces into a system-on-chip (SoC), a chiplet-based package, or a warehouse-scale computer, we multiply our integration boundaries. All the while, compilers, runtimes, libraries, and applications constantly evolve underneath us while we design the hardware. Physical and verification checks become more consequential precisely as they become more expensive to run.

The resulting complexity complicates our design loops. A specialized hardware choice alters the very software path required to use it, and that new software path, in turn, shifts the workload and data movement the hardware ultimately sees. Later, physical limits can abruptly reverse a ranking that looked favorable in an early model. We then face verification cycles that must cover all the new interfaces and behaviors our choices just introduced. To make a fair comparison today, our models must therefore carry far more of the complete system.

Historically, we have addressed similar surges in complexity by raising our level of abstraction and making essential interfaces, rules, and measurements explicit. Instruction set architectures, hardware description languages, logic synthesis, shared benchmarks, and programming models each allowed us and our tools to tackle larger systems without reasoning about every single transistor. In that same spirit, AI may increase our design capacity, but only if we apply it to the tasks that actually limit our progress. Generating a flood of new design candidates helps us little if our simulation, verification, or expert reviews cannot keep pace.

Learning objectives

This chapter establishes the following learning objectives:

  • Trace how microarchitecture, specialization, software, and physical constraints interact in complex architecture comparisons.
  • Explain how the fading technology dividend shifts responsibility to architecture, software, and system composition.
  • Distinguish the size of a design space from the evaluation and verification capacity required to search it.
  • Identify where AI assistance can relieve bottlenecks without displacing authoritative software and physical checks.

2.1 How Architecture Absorbed Rising Complexity

We have historically absorbed rising complexity in architecture by elevating the level at which we describe our designs, and by making our interfaces, rules, tool paths, and comparisons explicit. Constraints do not vanish in this process. Instead, we empower our people and tools to manipulate larger design objects, while relying on lower-level checks to catch and reject choices that fail during implementation. This established history sets the baseline standard for any new form of design assistance we introduce.

Our architectural work has always progressed through cycles of analysis and revision. When initiating a typical study, we start with a clear aim, such as improving latency, reducing energy, raising throughput, supporting a specific workload, or fitting a system neatly within a power and cost envelope. From there, we choose an abstraction, build or select a model, run our analyses or simulations, and study the results. We iteratively revise the design until the surviving concepts eventually reach implementation, validation, verification, and signoff. Both our textbooks and daily industrial practice follow this pattern. However, as domain specialization tightly couples software mapping down to physical placement, our manual loops strain under the volume of interacting constraints. The bottleneck today is not generating candidate ideas; it is keeping our representations, tool environments, and feedback synchronized as we evaluate those candidates.

The Architectural Design Loop. The architectural design loop is the continuous, iterative cycle through which we formulate intent, generate candidate designs, evaluate candidates using multi-fidelity simulators and EDA tools, interpret empirical feedback, and refine hardware-software choices toward a supported decision.

Consider a traditional central processing unit (CPU) evaluation using SPEC CPU 2017 to measure processor, memory-system, and compiler performance (Standard Performance Evaluation Corporation 2017). We then run our architectural simulators (such as gem5, a modular cycle-accurate architectural simulator (Binkert et al. 2011), Sniper, a fast parallel multi-core timing simulator, or compiled Verilator models, an open-source SystemVerilog compiler engine) to inspect instructions per cycle (IPC), miss rates, branch-misprediction rates, and initial area and power estimates. When we find candidates that help one workload but harm others, we must either revise or discard them. Our human judgment shapes this comparison every step of the way, guiding everything from workload selection and proxy choice to the ultimate decision that a candidate deserves deeper analysis.

What matters in such a study is how we bound the comparison. When we define the workloads, run rules, and reporting conventions, we can compare different candidates fairly under clearly stated conditions.

However, what makes our comparisons sound is not entirely written down. As experienced architects, we carry the rest of this knowledge implicitly. We know which workloads we excluded, which tool settings we trust, why a previous candidate failed, and the real decision currently under review. But as our design programs scale, keeping this nuanced context synchronized across larger teams and increasingly complex toolchains becomes harder, often bottlenecking our progress.

Whenever informal coordination stops being sufficient, we turn our implicit knowledge into inspectable artifacts. We have historically stabilized interfaces, shared our design rules and benchmarks, exposed our tool paths, and explicitly recorded the criteria for rejecting a candidate. Six foundational shifts made key parts of our design work explicit in this way, each turning informal engineering agreements into explicit contracts (ISAs, layout rules, benchmarks, synthesis constraints) that let downstream tools reject invalid choices upstream (Table 2.1). When we expose these details to the people and tools that need to share, check, or automate the work, we ensure that a formal contract, representation, tool path, or comparison can coordinate a much larger design effort than informal knowledge ever could.

Table 2.1: Six changes that made architecture work easier to inspect. Each one established a shared representation, interface, tool path, benchmark, or decision criterion where informal coordination no longer sufficed.
Shift What the design process made explicit Why it mattered
System/360 compatibility A stable Instruction Set Architecture (ISA) contract separated architecture from implementation across a product family (Amdahl et al. 1964). The ISA carries architectural commitments across implementations and product generations.
Mead-Conway VLSI and MOSIS Design rules, layout abstractions, and fabrication access turned custom-chip design into a shareable and reusable loop (Mead and Conway 1980; Cohen and Lewicki 1981). Shared representations and fabrication access broaden participation in architecture work.
Reduced instruction set computer (RISC) The RISC argument linked ISA choices to compiler behavior, Very Large-Scale Integration (VLSI) implementation, workloads, and quantitative cost/performance (Patterson and Ditzel 1980). A complete comparison includes the workload, compiler, and implementation cost.
SPEC-style benchmarking Workload selection, run rules, reporting conventions, and comparability became community infrastructure (Standard Performance Evaluation Corporation 2017). Benchmarks govern workload choice, execution, and comparison.
Logic synthesis and timing closure Hardware Description Language (HDL), libraries, constraints, and timing reports let downstream checks reject upstream choices (De Micheli 1994). Implementation checks in tools like Yosys (an open-source RTL synthesis engine) or Synopsys VCS (an industrial SystemVerilog logic simulator) can rule out architecture candidates before we commit to them.
CUDA-style graphics processing unit (GPU) programming Kernels, thread hierarchies, memory spaces, libraries, and toolchains made specialized hardware programmable (Nickolls et al. 2008). Specialized hardware needs a usable programming model and toolchain.
Amdahl, Gene M., Gerrit A. Blaauw, and Frederick P. Brooks. 1964. “Architecture of the IBM System/360.” IBM Journal of Research and Development 8 (2): 87–101. https://doi.org/10.1147/rd.82.0087.
Mead, Carver, and Lynn Conway. 1980. Introduction to VLSI Systems. Addison-Wesley.
Cohen, Danny, and George Lewicki. 1981. MOSIS – the ARPA Silicon Broker.” Proceedings of the Second Caltech Conference on Very Large Scale Integration, 29–44.
Patterson, David A., and David R. Ditzel. 1980. “The Case for the Reduced Instruction Set Computer.” ACM SIGARCH Computer Architecture News 8 (6): 25–33. https://doi.org/10.1145/641914.641917.
Standard Performance Evaluation Corporation. 2017. SPEC CPU 2017 Benchmark. https://www.spec.org/cpu2017/.
De Micheli, Giovanni. 1994. Synthesis and Optimization of Digital Circuits. McGraw-Hill.

Each historical shift exposes a dependency that our people and tools must be able to inspect. System/360 and CUDA (NVIDIA’s parallel computing platform and programming model (Nickolls et al. 2008)) allowed our implementations and software to evolve smoothly around a shared interface. When we make these dependencies visible, we empower a single engineer’s decision to govern more of the design without obscuring the essential checks below it. Mead-Conway methods and logic synthesis connected our designs directly to the rules and tools that accept or reject them. While SPEC makes our results comparable across machines, RISC demonstrates why our hardware claims must carry the weight of their workload, compiler, and implementation costs. Our discipline could then close more of the widening gap between what a fabrication process could physically manufacture and what our teams could effectively design. We will return to the measured version of that gap in Section 2.8, once today’s version is fully in view.

Nickolls, John, Ian Buck, Michael Garland, and Kevin Skadron. 2008. “Scalable Parallel Programming with CUDA.” ACM Queue 6 (2): 40–53. https://doi.org/10.1145/1365490.1365500.
Lee, Yunsup, Andrew Waterman, Henry Cook, et al. 2016. “An Agile Approach to Building RISC-V Microprocessors.” IEEE Micro 36 (2): 8–20. https://doi.org/10.1109/MM.2016.11.
Amid, Alon, David Biancolin, Abraham Gonzalez, et al. 2020. “Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs.” IEEE Micro 40 (4): 10–21. https://doi.org/10.1109/MM.2020.2996616.
Ajayi, Tutu, Vidya A. Chhabria, Mateus Fogaça, et al. 2019. “Toward an Open-Source Digital Flow: First Learnings from the OpenROAD Project.” Proceedings of the 56th Annual Design Automation Conference (DAC), 1–4. https://doi.org/10.1145/3316781.3326334.
SkyWater PDK Authors. 2020. SkyWater SKY130 PDK Documentation. Project documentation. https://skywater-pdk.readthedocs.io/en/main/.

RISC-V’s open ISA standard illustrates how this same discipline can scale across a contemporary ecosystem. When we establish a stable instruction contract, we enable compatible cores, compilers, software, and research platforms to rapidly diversify. Frameworks like Chipyard, an integrated RISC-V design and simulation environment built on the agile hardware lineage (Y. Lee et al. 2016; Amid et al. 2020), carry our configurable RISC-V systems directly into multiple simulation and implementation paths. Yet openness alone does not settle physical claims. Our timing, power, area, and manufacturability still depend on the target’s Process Design Kit (PDK) views, cell and memory libraries, Intellectual Property (IP) blocks, tool versions, constraints, modes, corners, and required checks. Although open PDKs and physical-design flows (such as OpenROAD, an open-source physical design toolchain (Ajayi et al. 2019)) can make one specific target more accessible and inspectable (SkyWater PDK Authors 2020), the results we gather from that target cannot simply stand in for another process or project. Any automated method we restrict to an open target inherits the same limitation.

While our representations and interfaces coordinate what can change independently, our release strategies help us allocate exactly when we choose to take on different technical risks. Intel’s classic tick-tock model publicly demonstrated one such strategy. We move a known microarchitecture to a new process in one release, and then follow up with a new microarchitecture on the now-proven process in the next, avoiding attempting both major shifts simultaneously. This rule held only as long as the underlying process schedule remained predictable.

None of these historical changes eliminated iteration. Instead, they made our design information, choices, measurements, and decisions explicit enough for our broader teams and automated tools to meaningfully work with. Today, high-level synthesis and parameterized hardware generators (such as Chisel, an open-source hardware construction language embedded in Scala (Bachrach et al. 2012)) extend this very same history (Coussy and Morawiec 2008). We use them to raise our descriptions far above individual register-transfer level (RTL) structures, yet we still rely on lower-level synthesis, timing, physical, and verification checks to reject any inadequate results. Raising the level of abstraction scales our design work because it preserves these consequential checks, rather than attempting to make them unnecessary.

Bachrach, Jonathan, Huy Vo, Brian Richards, et al. 2012. “Chisel: Constructing Hardware in a Scala Embedded Language.” Proceedings of the 49th Design Automation Conference (DAC), 1216–25. https://doi.org/10.1145/2228360.2228584.
Coussy, Philippe, and Adam Morawiec, eds. 2008. High-Level Synthesis: From Algorithm to Digital Circuit. Springer. https://doi.org/10.1007/978-1-4020-8588-8.

However, these artifacts do not interpret themselves. Our architectural knowledge remains distributed across specifications, constraints, scripts, traces, tool versions, and review decisions. A shared interface or representation only helps when our team knows which assumptions are fixed, which choices are free to change, and which downstream checks might reject a new proposal. Because of modern specialization, we now require several of these boundaries to remain consistent at once. While this history provides a clear pattern, it offers no guarantee that our existing abstractions will remain sufficient. The underlying technology dividend has changed.

2.2 Fracturing Technology Dividends and Co-Design

Process and device technology still supply essential improvements, but we can no longer count on them to automatically deliver the broadly reusable gains we once expected from each new process generation. Instead, we have to extract more of our performance benefits from choices that tightly bind architecture, software, and physical implementation together.

2.2.1 The Collapse of Dennard Scaling and the Shift to Specialization

Process technology remains fundamental, yet it no longer automatically converts density into the same broadly reusable combination of frequency, single-thread performance, and energy efficiency. For roughly fifty years, processor generations improved through a familiar progression. Transistor density continued to rise while voltage scaling made it possible, for a time, for us to use more transistors without a proportional increase in power (Moore 1965; Dennard et al. 1974). Under classical Dennard scaling, scaling dimensions by a factor \(k\) reduced gate area by \(1/k^2\), while supply voltage \(V_{dd}\) and threshold voltage \(V_{th}\) scaled down by \(1/k\). This kept internal electric potential gradients constant, increased switching frequency by \(k\), and maintained constant power density. Quantitative analysis gave us a way to compare the resulting design choices (Hennessy and Patterson 2017).

Moore, Gordon E. 1965. “Cramming More Components onto Integrated Circuits.” Electronics 38 (8): 114–17.

However, when supply voltage dropped near \(0.7\text{--}0.9\,\text{V}\), threshold voltage \(V_{th}\) could no longer be reduced without triggering exponential increases in subthreshold leakage current (\(I_{\text{sub}} \propto e^{-V_{th}/V_T}\)), creating severe thermal runaway risks. As voltage scaling stagnated around 2005, dynamic power consumption (\(P_{\text{dyn}} = C \cdot V_{dd}^2 \cdot f\)) surged whenever frequency increased.

Fifty years of CPU frontier data (1971 to 2021), drawn from Karl Rupp’s public dataset, trace this shift (Figure 2.1). Transistor counts climb continuously from thousands to tens of billions, and before 2005 single-thread performance and clock frequency rose in tandem with transistor density. But at the 2005 boundary, where Dennard scaling ends, clock frequency stalls near \(3\text{--}5\,\text{GHz}\) and single-thread performance growth flattens, while the CPU power frontier surges to hundreds of watts and hardware thread counts climb steeply; a second inflection follows around 2016 with the specialization turn. When voltage scaling ended, we could no longer count on process nodes to deliver automatic frequency gains, forcing our discipline to extract performance through thread-level parallelism and domain specialization.

These diverging curves mark the conclusion of automatic hardware frequency scaling (Sutter 2005). Although transistor counts kept climbing, once Dennard scaling ended around 2005, the single-thread gains we historically associated with each generation slowed from roughly 50 percent a year to just a few percent (Hennessy and Patterson 2017). We must fit any further gains within the power envelope a package can dissipate. We also need to read the power trend carefully. The value near 300 W represents the highest entry in the final four-year interval of the public dataset, rather than a typical processor’s thermal design power. Like the other series, it highlights the frontier represented in the dataset so we can compare the directions of change on one chart.

Sutter, Herb. 2005. “The Free Lunch Is over: A Fundamental Turn Toward Concurrency in Software.” Dr. Dobb’s Journal 30 (3): 202–10.
Hennessy, John L., and David A. Patterson. 2017. Computer Architecture: A Quantitative Approach. 6th ed. Morgan Kaufmann.
Dennard, Robert H., Fritz H. Gaensslen, Hwa-Nien Yu, V. Leo Rideout, Ernest Bassous, and Andre R. LeBlanc. 1974. “Design of Ion-Implanted MOSFET’s with Very Small Physical Dimensions.” IEEE Journal of Solid-State Circuits 9 (5): 256–68. https://doi.org/10.1109/JSSC.1974.1050511.
Esmaeilzadeh, Hadi, Emily Blem, Renee St. Amant, Karthikeyan Sankaralingam, and Doug Burger. 2011. “Dark Silicon and the End of Multicore Scaling.” Proceedings of the 38th Annual International Symposium on Computer Architecture, ISCA ’11, 365–76. https://doi.org/10.1145/2000064.2000108.

Maintaining constant electrical properties during scaling depended on lowering voltage as transistor dimensions shrank (Dennard et al. 1974). Once voltage scaling slowed, power limits dictated how many transistors we could operate at full frequency at the same time (Esmaeilzadeh et al. 2011). This constraint helps explain both the frequency plateau in Figure 2.1 and the dark-silicon fraction that followed, the share of our chips that must remain inactive or unpowered to fit within a strict Thermal Design Power (TDP) budget. Our discipline responded increasingly with parallelism and domain specialization. These responses require us to manage more of the machine, rather than relying on automatic benefits from the next process node.

Although our measured history does not guarantee what comes next, technology continues to supply transistors without automatically turning them into proportional frequency or single-thread performance. These expanding design choices increase the workload that any new tools or assistance must help us improve.

2.2.2 Domain Specialization Tightens Cross-Layer Stack Coupling

Technology, architecture, workloads, compilers, and implementation were never truly independent. The layered stack remains a useful abstraction because it helps us separate different kinds of reasoning. Device technology supplies transistor characteristics, architecture organizes the machine, and the optimization layer covers the mapping, scheduling, and tuning that connect software to our hardware. Specialization does not create this coupling; instead, it tightens existing cross-layer dependencies.

The classical decoupled design stack and the modern specialization-coupled design loop differ in exactly one structural property, whether the layer boundaries stay independent (Figure 2.2). Domain specialization breaks the clean layer abstractions of the traditional vertical hierarchy: optimization, architecture, and technology become mutually dependent, bound together within shared power, thermal, and area limits. An accelerator decision made in software mapping or microarchitecture propagates immediately down to physical placement and thermal signoff, requiring us to evaluate software, architecture, and physical implementation as a single coupled system.

Two side-by-side stack diagrams. On the left, optimization, architecture, and technology form a vertical analytical stack with technology at the base. On the right, the same three layers are joined to a specialization panel by double-headed arrows, and a red dashed boundary labeled tightly coupled physical constraints encloses the entire stack.
Figure 2.2: Specialization tightens cross-layer physical and software coupling. An accelerator decision can bind software mapping and scheduling, architecture mechanisms, and technology and physical limits more tightly, increasing the cost of a mismatch and the evidence needed to compare candidates.

Our layered view keeps optimization, architecture, and technology distinct enough for us to reason about them separately. The specialization-coupled view retains that useful decomposition, but makes the two-way dependence explicit by enclosing our choices within shared power, thermal, and area limits. Consequently, specialization makes our workload mappings, architectural mechanisms, and physical implementations far more consequential to one another.

When we rely more heavily on caches, speculation, vector units, multicore processors, accelerators, and system-level optimization, we recover efficiency. However, every one of those choices introduced a new way for an early model to rank the wrong candidate. This comparison problem only compounds as we integrate those mechanisms into even larger systems.

2.3 Balancing Microarchitectural Scaling, Specialization, and Composition

As our designs evolve from a single core to a complete system, our methods of comparison must scale alongside them. Microarchitecture weaves intricate policies within a core, specialization binds a block to a specific workload, composition integrates diverse blocks into a single package, and wafer-scale integration stretches a unified fabric across new physical dimensions. Every step multiplies the parameters we can tune and the complex interactions our comparisons must account for.

2.3.1 Pipeline Depth, Issue-Window Complexity, and Speculative Corner Cases

Consider the familiar levers already in our architectural toolkit. Extending a pipeline, deploying a more aggressive branch predictor, widening a speculative scheduler, or scaling out the cache hierarchy can all recover performance.

However, each of these levers introduces corner cases that our benchmarks must carefully navigate. A prefetcher that anticipates one access pattern might pollute the cache for another. Increasing speculative execution can improve throughput, but it burns more energy and, as Spectre and Meltdown reminded us, can breach protection boundaries and leak speculative transient data (Kocher et al. 2019; Lipp et al. 2018). The gains we measure on one workload often obscure hidden costs that only surface elsewhere.

Palacharla, Subbarao, Norman P. Jouppi, and James E. Smith. 1997. “Complexity-Effective Superscalar Processors.” Proceedings of the 24th Annual International Symposium on Computer Architecture, ISCA ’97, 206–18. https://doi.org/10.1145/264107.264201.
Agarwal, Vikas, M. S. Hrishikesh, Stephen W. Keckler, and Doug Burger. 2000. “Clock Rate Versus IPC: The End of the Road for Conventional Microarchitectures.” Proceedings of the 27th Annual International Symposium on Computer Architecture, ISCA ’00, 248–59. https://doi.org/10.1109/ISCA.2000.854395.

We have long known that these microarchitectural mechanisms hit fundamental physical limits. Palacharla et al. (1997) demonstrated that dynamic out-of-order execution cores face steep physical complexity bounds, where wakeup tag-drive delay grows quadratically with instruction window size \(N\) and bypass delay grows quadratically with issue width \(W\), while selection logic grows only logarithmically in \(N\). Wire delay on these critical paths eventually dominates the clock cycle, capping achievable frequency. Agarwal et al. (2000) subsequently projected that the combined impact of interconnect delay and clock scaling would ultimately conclude the frequency-first era for conventional microarchitectures.

These microarchitectural costs translate into concrete engineering realities. Intel’s Pentium 4, leveraging the NetBurst microarchitecture, stretched to 31 pipeline stages in its 90 nm Prescott generation (up from Willamette’s 20 stages) to chase aggressive 4 GHz frequency targets (Boggs et al. 2004). While deepening the pipeline reduces the logic depth per cycle, it penalizes branch mispredictions by inflating refill latency to over 30 cycles. When a branch predictor misses, the entire 31-stage pipeline drains, creating execution bubbles and burning dynamic power (\(P = C \cdot V^2 \cdot f\)) while Instruction Per Cycle (IPC) collapses on branch-heavy workloads. This classic example clarifies our central trade-off. Frequency is never an isolated design objective. The very mechanisms we use to push clock speeds alter the work required per instruction and the energy our machines consume.

Boggs, Darrell, Aravindh Baktha, Jason Hawkins, et al. 2004. “The Microarchitecture of the Intel Pentium 4 Processor on 90nm Technology.” Intel Technology Journal 8 (1): 1–17.

Scaling out to multiple cores introduces an additional layer of complexity. Coherence protocols, memory-ordering rules, synchronization overheads, and workload partitioning all dictate how our designs behave in the wild, and none of these effects register in a single-threaded proxy metric. Even at this stage, before integrating a single specialized block, the volume of data required for a fair comparison has already outgrown any single summary number.

2.3.2 Specialization Traps and Amdahl’s Law

We should view specialization as a broad spectrum, not simply a binary leap from a general-purpose CPU to a custom accelerator. We can integrate vector and matrix execution units into standard cores, leverage GPUs for massive parallel execution, craft domain-specific accelerators with custom dataflows and memory hierarchies, or strip away flexibility entirely with fixed-function application-specific integrated circuits (ASICs). As we slide along this spectrum, we trade the breadth of workloads and software paths our hardware can run for raw efficiency.

This spectrum redefines what our comparisons must weigh. While microarchitecture and multicore scaling refine a general-purpose foundation, specialization bends the hardware around a specific workload. Consequently, we must shift our metrics and expand the design space we evaluate. A thermally constrained mobile chip sipping battery power and a warehouse-scale system choked by power delivery and total cost of ownership (TCO) disagree on what “efficiency” means. We can only fairly judge a specialized block against the specific target it was engineered for.

The potential upside is large. Across the computational kernels examined by Hameed et al. (2010), a bespoke fixed-function ASIC proved roughly 500 times more energy efficient than a conventional core. They captured most of this efficiency gain by eliminating instruction fetch, decoding, and redundant data movement, while simultaneously exploiting massive parallelism and fused operations. This result does not guarantee identical gains across the board. Instead, it highlights exactly why deciding what to specialize, determining which flexibility to keep, and shaping the software interface have become our central architectural challenges.

Hameed, Rehan, Wajahat Qadeer, Megan Wachs, et al. 2010. “Understanding Sources of Inefficiency in General-Purpose Chips.” Proceedings of the 37th Annual International Symposium on Computer Architecture (ISCA), 37–47. https://doi.org/10.1145/1815961.1815968.
Chung, Eric S., Jeremy Fowers, Kalin Ovtcharov, et al. 2018. “Serving DNNs in Real Time at Datacenter Scale with Project Brainwave.” IEEE Micro 38 (2): 8–20. https://doi.org/10.1109/MM.2018.022071131.

This drive for specialization has spawned a wide diversity of designs, a period the team behind Project Brainwave, Microsoft’s deep-learning acceleration platform, described as one of rapid architectural diversification (Chung et al. 2018).

For a sense of how expansive, Figure 2.3 plots roughly 180 publicly announced AI accelerators from the MIT Lincoln Laboratory survey (Reuther et al. 2025). They span seven orders of magnitude in peak power, from sub-watt embedded chips to multi-kilowatt data-center clusters, and six orders of magnitude in peak performance, from giga-operations to hundred-peta-operations per second, with energy-efficiency contours running from 100 GOps/W to 100 TOPS/W. Across form factors and across both training and inference roles, the parts form a dense, heterogeneous cloud rather than clustering around a single operating point.

Log-log scatter of about 180 AI accelerators, peak performance in giga-operations per second versus peak power in watts. Points span from sub-watt embedded chips at the lower left to multi-kilowatt data-center systems at the upper right, roughly seven orders of magnitude in power and six in performance. Dashed diagonal lines mark constant energy efficiency from 100 giga-ops per watt to 100 tera-ops per watt. Chips, cards, and systems are colored distinctly; training parts are filled and inference parts hollow.
Figure 2.3: The AI-accelerator landscape spans seven orders of magnitude in power. Each point is a publicly announced accelerator from the MIT Lincoln Laboratory survey (Reuther et al. 2025). Color marks form factor (chip, card, or system), filled versus hollow marks training versus inference, and the dashed diagonals trace constant energy-efficiency contours. The design space forms a dense, heterogeneous cloud rather than a single operating point.
Reuther, Albert, Peter Michaleas, Michael Jones, Vijay Gadepally, and Jeremy Kepner. 2025. “Lincoln AI Computing Survey (LAICS) and Trends.” 2025 IEEE High Performance Extreme Computing Conference (HPEC). https://doi.org/10.1109/HPEC67600.2025.11196427.

As architects, we have to decide precisely what to specialize, where that custom logic belongs, and how it will talk to the rest of the system. Choosing between a standard CPU and a custom accelerator is just our opening move. That initial pivot requires answering a series of subsequent architectural questions. What is our ideal vector length? How should we structure the memory hierarchy and local buffers? What dataflow, precision, and compression schemes make sense? How do we handle runtime scheduling, compiler support, strict deadlines, thermal throttling, and fallback modes?

In practice, specialization offloads the heaviest computational lifting to a heterogeneous cluster of Domain Specific Architectures (DSAs), leaving our general-purpose cores to handle control flow and the long tail of tasks that yield minimal acceleration benefit. We rarely find a universal partition; instead, the ideal balance shifts dramatically from one system to the next. Every new DSA we integrate threatens to drag in its own bespoke programming model, instruction set extension, or unwieldy toolchain obligation.

Specialization binds the value of our hardware directly to the efficiency of a targeted workload. Before we carve out die area for a specialized block, we must confront Amdahl’s law and ask what fraction of the deployed workload we are actually accelerating. If our targeted kernels only consume half the total execution time, an accelerator that executes them ten times faster will still yield a total speedup of about 1.8x, simply because the unaccelerated half now dominates the critical path (Amdahl 1967). The work we leave behind on the general-purpose core defines the ceiling of our specialized gains. Therefore, we cannot evaluate a specialized block in isolation; we must judge it alongside the compiler, the runtime, the memory traffic, and the residual workload that collectively determine its true delivered benefit.

Amdahl, Gene M. 1967. “Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities.” Proceedings of the April 18–20, 1967, Spring Joint Computer Conference, AFIPS ’67 (spring), 483–85. https://doi.org/10.1145/1465482.1465560.

2.3.3 Packaging and Chiplet Composition Risks

Specialized IP blocks rarely ship in isolation. We actively weave them into complex systems-on-chip (SoCs) and, increasingly, distribute them across multiple discrete chiplets. Manufacturing yield heavily drives this shift. Under classical random-defect models, die yield falls steeply with die area (Murphy 1964), so fracturing a large monolithic die into smaller compute and I/O chiplets recovers yield. However, this strategy does not linearize our costs, since advanced packaging, chiplet reuse, and heterogeneous process nodes completely rewrite the underlying economic model (Feng and Ma 2022). Beyond yield, chiplets allow us to freely mix process nodes, third-party IP blocks, and specialized memory arrays on a single substrate. Open standards like Universal Chiplet Interconnect Express (UCIe), an open die-to-die interconnect standard (UCIe Consortium 2026), stabilize the physical layer, with specification targets of sub-picojoule energy efficiency (\(<0.5\text{ pJ/bit}\)) and high shoreline bandwidth density (\(>1.3\text{ TB/s/mm}\)) across micro-bump pitches (\(25\text{--}55\,\mu\text{m}\)). Yet they leave the partitioning and implementation choices entirely in our hands.

Murphy, B. T. 1964. “Cost-Size Optima of Monolithic Integrated Circuits.” Proceedings of the IEEE 52 (12): 1537–45. https://doi.org/10.1109/PROC.1964.3442.
Feng, Yinxiao, and Kaisheng Ma. 2022. “Chiplet Actuary: A Quantitative Cost Model and Multi-Chiplet Architecture Exploration.” Proceedings of the 59th ACM/IEEE Design Automation Conference, DAC ’22, 121–26. https://doi.org/10.1145/3489517.3530428.
UCIe Consortium. 2026. UCIe Specifications. https://www.uciexpress.org/specifications.

These advantages demand that we navigate coupled design choices. A multi-chiplet system is far more volatile than just a miniaturized motherboard shoved into a package. Advanced packaging (such as 2.5D silicon interposers or 3D micro-bump arrays) alters our latency, bandwidth, and energy budgets while introducing severe thermal coupling and rigid physical constraints. A modern SoC also typically integrates heterogeneous IP blocks sourced from many different vendors.

In industrial practice, SoC projects frequently integrate new specialized blocks alongside legacy controllers and proprietary physical-interface IP without full RTL visibility. We must manage undocumented interface behaviors, conflicting reset sequences, and complex clock-domain crossing (CDC) constraints that resist simplified analytical modeling. Assembling the full system can uncover subtle coherence-protocol mismatches (Arm Limited 2020) or timing violations. Additionally, networks-on-chip (NoCs) can experience deadlock if cyclic dependencies enter the channel-dependency graph.1 These integration risks often remain undetected until late-stage verification or physical silicon bring-up.

Arm Limited. 2020. AMBA AXI and ACE Protocol Specification. ARM IHI 0022H. Arm Limited. https://developer.arm.com/documentation/ihi0022/h/.

1 Routing deadlocks: A routing function is deadlock-free when its channel-dependency graph has no cycles. Virtual channels can remove those cycles (Dally and Seitz 1987).

Dally, William J., and Charles L. Seitz. 1987. “Deadlock-Free Message Routing in Multiprocessor Interconnection Networks.” IEEE Transactions on Computers C-36 (5): 547–53. https://doi.org/10.1109/TC.1987.1676939.

Each additional IP block integrated into a design restricts the space of valid configurations. Partitioning a function across a chiplet boundary alters the physical interfaces, shifts the software path, and requires different evaluation tools.

Heterogeneous modules also compete for shared interconnect resources. The network-on-chip (NoC) must arbitrate between high-throughput bursty accelerator traffic and latency-sensitive real-time traffic under strict deadlines. Average bandwidth estimates can obscure microarchitectural contention that causes latency violations.

When automating exploration across multi-component systems, search algorithms encounter two primary failure modes. If the search remains unconstrained, algorithms waste compute evaluating invalid configurations that violate physical feasibility. Conversely, overly restrictive constraints risk excluding viable candidate architectures. Before executing a search algorithm, we must define valid transformations, fixed interfaces, legal configurations, and evaluation budgets. Evaluating a large candidate count alone does not resolve these critical questions.

Across multi-vendor packages, formal specifications are often incomplete. The Semiconductor Research Corporation’s Microelectronics and Advanced Packaging Technologies (MAPT) roadmap notes that design automation for packaged multi-vendor systems is constrained by the absence of standardized data formats, syntax, and semantics across suppliers (Semiconductor Research Corporation 2023). Optimization algorithms cannot enforce an integration rule unless suppliers specify it in a machine-readable format.

Binkert, Nathan, Bradford Beckmann, Gabriel Black, et al. 2011. “The gem5 Simulator.” ACM SIGARCH Computer Architecture News 39 (2): 1–7. https://doi.org/10.1145/2024716.2024718.

System composition multiplies the physical and economic constraints candidate designs must satisfy. Long software bring-up sequences exceed the practical execution limits of detailed software simulators like gem5 (Binkert et al. 2011) or MacSIM (a heterogeneous many-core timing simulator), forcing teams to rely on hardware emulation or FPGA prototyping. Tools like FireSim (Karandikar et al. 2018) provide FPGA-accelerated full-system simulation to address this bottleneck. Yet each platform requires trade-offs between execution throughput, debug visibility, hardware cost, and environment setup complexity.

Beyond functional correctness, chiplet manufacturing, security, power integrity, and IP interfaces demand independent verification. In advanced 2.5D and 3D integration schemes, such as TSMC’s CoWoS (TSMC 2023) or Intel’s Foveros (Intel 2023), discovering a defective die after packaging renders the entire assembly non-functional. While pre-bond screening mitigates yield losses, it cannot guarantee that every die survives the physical stresses of packaging and assembly. Consequently, architectural partitioning must incorporate adequate test access and support pre-bond screening (such as IEEE 1838 test access architecture) to establish Known-Good-Die status.2

TSMC. 2023. TSMC CoWoS Technology. https://www.tsmc.com/english/dedicatedFoundry/technology/cowos.
Intel. 2023. Intel Foveros 3D Packaging Technology. https://www.intel.com/content/www/us/en/silicon-innovations/6-pillars/foveros.html.

2 Known-Good-Die (KGD): KGD is the screening status assigned to a bare die judged suitable for assembly. Test-access work for three-dimensional stacks covers both pre-stacking die tests and post-stacking tests because screening one die does not establish the behavior of the completed assembly (Marinissen et al. 2010; IEEE 2020).

Marinissen, Erik Jan, Chun-Chuan Chi, Jouke Verbree, and Mario Konijnenburg. 2010. 3D DfT Architecture for Pre-Bond and Post-Bond Testing.” 2010 IEEE International 3D Systems Integration Conference, 3DIC 2010, 1–8. https://doi.org/10.1109/3DIC.2010.5751450.
IEEE. 2020. IEEE Standard for Test Access Architecture for Three-Dimensional Stacked Integrated Circuits. IEEE Std 1838-2019. IEEE. https://doi.org/10.1109/IEEESTD.2020.9036129.
Arm Limited. 2013. ARM Announces Power-Optimized Dual-Core ARM Cortex-A15 Hard Macro. Arm newsroom. https://www.arm.com/company/news/2013/05/arm-announces-power-optimized-dual-core-arm-cortex-a15-hard-macro.
Intel Corporation. 2024. Encrypting RTL IP Core with Licensing. Intel oneAPI DPC++/C++ Compiler Handbook for FPGAs. https://www.intel.com/content/www/us/en/docs/oneapi-fpga-add-on/developer-guide/2024-2/encrypting-rtl-ip-core-with-licensing.html.

Security introduces additional constraints. Unsanitized sharing of speculative buffers or execution units across security domains introduces microarchitectural side-channel vulnerabilities. Validating these boundaries requires formal verification or penetration testing, as standard performance proxies cannot detect security flaws. High current densities in multi-chiplet packages likewise induce voltage droops, where package inductance \(L\) and rapid current transients \(\frac{di}{dt}\) create inductive supply noise (\(L \cdot \frac{di}{dt}\)) alongside static resistive IR drop. Layout signoff therefore requires detailed power delivery network (PDN) and thermomechanical modeling rather than aggregate power estimations. Additionally, IP blocks may lack internal visibility; for instance, Arm has supplied processor IP as fixed hard macros (Arm Limited 2013), and Intel distributes encrypted RTL (Intel Corporation 2024). In these scenarios, we have restricted access to internal state, increasing reliance on interface verification.

2.3.4 Wafer-Scale Fabrics and Communication Latency Bounds

Some systems demand more raw compute, memory capacity, or internal bandwidth than any conventional package can ever deliver within a practical power envelope. Wafer-scale integration answers this by extending the machine to a new physical scale, all while preserving the illusion of a single tightly coupled fabric (Pal et al. 2019). While large machine-learning accelerators make this breaking point visible today, we face the same architectural trade-offs far beyond the domain of AI workloads.

Pal, Saptadeep, Daniel Petrisko, Matthew Tomei, Puneet Gupta, Subramanian S. Iyer, and Rakesh Kumar. 2019. “Architecting Waferscale Processors: A GPU Case Study.” 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), 250–63. https://doi.org/10.1109/HPCA.2019.00042.

When we place dozens of compute and memory regions on a single wafer-scale fabric, we can reduce the communication overhead that would burden a board- or rack-scale network. However, this scale pulls power delivery, physical reach, manufacturing yield, routing, dynamic repair, thread scheduling, and data placement into a single, massive architectural comparison. In a wafer-scale GPU case study, physical constraints reduced usable capacity from a nominal 100 GPU modules to 40, requiring architects to co-design software scheduling and data placement alongside physical hardware (Pal et al. 2019).

Consequently, wafer-scale engineering introduces system-level constraints typically associated with rack-scale networks. Defective dies or interconnect failures require dynamic redundancy and rerouting, while physical communication distance and software mapping govern net usable capacity. Architectural comparisons must account for power delivery, communication overheads, defect repair limits, and software mapping rather than evaluating peak compute in isolation.

At every physical scale, from a single core out to an entire wafer, our delivered benefit hinges on software placement, dynamic scheduling, and an unbroken executable path. As we scale up, the next pressure we face is not designing yet another piece of hardware. Instead, we must confront the software stack required to keep the machine fed.

2.4 Software as Silicon

Hardware provides minimal utility without the compilers, runtimes, libraries, and applications that map a workload onto it. This dependency can fail in two directions. We gain nothing from a mechanism that no compiler can target, and we might see diminishing returns if we optimize against a software stack that later changes.

2.4.1 Executable Software Paths

Even after our hardware candidates clear physical constraints and evaluation budgets, our software must actually be able to use them. The executable software path encompasses the programming model or front end, compiler, libraries and kernels, runtime, driver or firmware, operating system, and deployment controls. We need all of these to exploit a hardware mechanism without losing its benefits to data movement or overhead. Historical shifts like RISC and CUDA succeeded precisely because they provided the compiler support and programming models that made the hardware accessible. Conversely, a design with high peak floating-point operations per second (FLOPS) will fail if we cannot use its software contract.

Consider the IBM/Sony/Toshiba Cell Broadband Engine, which required developers to manage local static random-access memory (SRAM) stores through explicit direct memory access (DMA) transfers (Kahle et al. 2005). This mechanism makes the software obligation concrete. When we compare designs, we must evaluate the code, scheduling, and data movement needed to use the local stores, rather than relying solely on the hardware’s peak throughput. When we build specialized hardware without a usable software path, we introduce hidden costs that peak hardware metrics never reveal.

Kahle, James A., Michael N. Day, H. Peter Hofstee, Charles R. Johns, Theodore R. Maeurer, and David Shippy. 2005. “Introduction to the Cell Multiprocessor.” IBM Journal of Research and Development 49 (4.5): 589–604. https://doi.org/10.1147/rd.494.0589.
Ragan-Kelley, Jonathan, Andrew Adams, Dillon Sharlet, et al. 2018. Halide: Decoupling Algorithms from Schedules for High-Performance Image Processing.” Communications of the ACM 61 (1): 106–15. https://doi.org/10.1145/3150211.
Lattner, Chris, Mehdi Amini, Uday Bondhugula, et al. 2020. MLIR: A Compiler Infrastructure for the End of Moore’s Law.” arXiv Preprint arXiv:2002.11054, ahead of print. https://doi.org/10.48550/arXiv.2002.11054.

We must treat a hardware proposal as incomplete until we can inspect and test the software path needed to use it. Modern tensor programs turn that path into a search problem of its own. Frameworks like Halide (a domain-specific language and compiler for image processing) and MLIR (a modular compiler infrastructure for multi-level intermediate representations) integrate scheduling, lowering, and intermediate representations directly into our performance comparisons (Ragan-Kelley et al. 2018; Lattner et al. 2020). If we rely solely on a hardware optimizer, we might select a mechanism that our compilers cannot target, or we might suffer software overheads that erase our predicted gains. To be credible, our comparisons must evaluate the entire executable hardware-software path, rather than examining a hardware block in isolation.

In principle, we can run a joint search that varies compiler schedules alongside hardware parameters, using a shared schema such as an MLIR dialect to co-generate the intermediate representation and the RTL. This approach might uncover combinations that we would miss in separate hardware and software studies, but we must test this hypothesis rather than assuming a guaranteed benefit. On the software side, we have already demonstrated search at enormous scale, as autotuners (such as AutoTVM, a machine learning-based tensor program optimizer (Chen et al. 2018)) search spaces of billions of tensor-program schedules. However, if we want to claim that we co-optimized the hardware and schedule to produce a better system, we still need an evaluation that scores both sides at matched fidelity. These evaluation gaps, rather than the search itself, are where our co-design efforts typically stall.

Zheng, Lianmin, Zhuohan Li, Hao Zhang, et al. 2022. “Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning.” Proceedings of the 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI). https://arxiv.org/abs/2201.12023.
Narayanan, Deepak, Mohammad Shoeybi, Jared Casper, et al. 2021. “Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM.” Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC). https://doi.org/10.1145/3458817.3476209.

As we scale to distributed systems, our software path grows even more complex. Compiling code for a single node is no longer enough. Our execution path now relies on communication primitives such as the Message Passing Interface (MPI) and NVIDIA Collective Communications Library (NCCL), alongside systems that coordinate computation across many accelerators. For example, Alpa, an automated framework for inter- and intra-operator parallel execution (Zheng et al. 2022), automatically derives parallel execution plans for distributed deep learning, while Megatron-LM, a large-scale transformer training framework (Narayanan et al. 2021), combines tensor, pipeline, and data parallelism. Our choices in collective selection, topology awareness, and runtime scheduling dictate whether thousands of accelerators can actually deliver the throughput we predicted for a single device.

We should view the instruction set architecture (ISA) as just one boundary within a much larger software path. Whenever we introduce a new vector or accelerator interface, we must preserve the relevant application binary interface, memory model, operating-system assumptions, compiler lowering, runtime behavior, and compatibility tests. We also need our compiled programs to demonstrate that data movement and software overheads do not consume our predicted benefits. We must not advance a design based on a favorable hardware proxy if we cannot compile, schedule, and test it. Establishing an executable path once does not freeze it for the life of the hardware. In many of our modern comparisons, proposing another hardware mechanism is no longer the limiting factor. Instead, our real challenge is re-establishing an executable, representative comparison every time our compilers, runtimes, libraries, workloads, or deployment policies change. This software path often evolves while we are still designing the hardware.

2.4.2 Software Speed vs. Silicon

Our software and workloads constantly evolve while we design hardware. Consequently, our architectural comparisons can become stale long before the silicon ships, even if the hardware design remains entirely unchanged.

Several parts of our target can shift during this interval. We regularly see changes in AI models, precision formats, sparsity patterns, compiler passes, kernel libraries, runtimes, serving systems, batching strategies, fleet policies, and benchmarks. For instance, precision formats like 8-bit floating point (FP8), 4-bit integer (INT4), and block-scale formats evolve rapidly, yet we must eventually fix our supported data types in hardware.3

3 Block-scale formats: Low-precision number formats amortize shared exponent or scale metadata across a block of elements rather than storing independent metadata for every element (Rouhani et al. 2023). Committing to one in silicon fixes our datapath choices even as formats and workloads continue to evolve, so we must carefully judge whether the choice will remain useful over time.

Rouhani, Bita Darvish, Ritchie Zhao, Ankit More, et al. 2023. Microscaling Data Formats for Deep Learning. https://doi.org/10.48550/arXiv.2310.10537.

Every hardware decision encounters two kinds of software change, and our comparisons must explicitly state which one we are addressing. Before release, our hardware and software teams can revise the design together, though these late changes become increasingly expensive. After release, the hardware is fixed, but our compilers, kernels, libraries, runtimes, and deployment policies keep improving. These continuous improvements reveal performance that our initial evaluations never captured. If we want to claim post-release gains, we need clearly paired hardware, workload, and software versions, as we develop in Chapter 9. We also must separate the software improvements explicitly made for our hardware from unrelated shifts in the broader workload. The former strengthens our case for the existing design; the latter renders our original evidence stale.

Our primary challenge lies in determining whether a software change invalidates an architectural comparison or leaves it intact. Simply detecting that two traces or software versions differ does not answer this question. We must identify which specific differences could reverse our design decisions and determine which measurements will test that possibility.

While specialization can improve efficiency, it also makes our designs far less tolerant of workload drift. Conversely, generality preserves our flexibility, but often at a steep cost in performance per watt. As a result, we must bound the workload, continuously measure how it changes, and proactively revisit our hardware decisions whenever the original assumptions no longer hold.

We can see one bounded example of this in AI workloads, where model scale and computational demands shift visibly. While convolutional inference with fixed shapes tends to be regular, we often see dynamic behavior in autoregressive Transformer deployments due to growing key-value caches (W. Kwon et al. 2023), variable sequence lengths, sparse mixture-of-experts4 routing, or distinct prefill and decode phases (Agrawal et al. 2024). We recognize these as common sources of changing memory behavior, rather than universal properties of every model. To illustrate this rapid evolution, an Epoch AI report estimated a four- to fivefold annual growth in training compute for recent notable and frontier models through May 2024 (Sevilla and Roldán 2024). In Figure 2.4, we present a separate fit using the displayed records from a frozen July 19, 2026 snapshot of Epoch AI’s model database (Epoch AI 2025). We calculated a roughly 4.4-fold rate as our own fit to that snapshot, distinct from the original report. Both results depend heavily on model class, outliers, and our chosen form of fit. While compute growth itself is not workload drift, it illustrates why we cannot transfer evidence tied to one model scale, software stack, or training regime to another without explicitly checking our assumptions. A useful comparison must state which model, compiler, runtime, benchmark, trace, and deployment versions support each architectural decision.

Kwon, Woosuk, Zhuohan Li, Siyuan Zhuang, et al. 2023. “Efficient Memory Management for Large Language Model Serving with PagedAttention.” Proceedings of the 29th Symposium on Operating Systems Principles, 611–26. https://doi.org/10.1145/3600006.3613165.

4 Mixture-of-experts (MoE) routing: A sparsely gated model activates only a subset of its expert subnetworks for each input (Shazeer et al. 2017). Because this input-dependent routing forces memory traffic to vary from token to token instead of following one fixed schedule, we must design our hardware to serve highly dynamic memory demands.

Shazeer, Noam, Azalia Mirhoseini, Krzysztof Maziarz, et al. 2017. “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer.” International Conference on Learning Representations. https://openreview.net/forum?id=B1ckMDqlg.
Agrawal, Amey, Nitin Kedia, Ashish Panwar, et al. 2024. “Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve.” 18th USENIX Symposium on Operating Systems Design and Implementation (OSDI 24), 117–34. https://www.usenix.org/conference/osdi24/presentation/agrawal.
Sevilla, Jaime, and Edu Roldán. 2024. Training Compute of Frontier AI Models Grows by 4–5x Per Year. https://epoch.ai/publications/training-compute-of-frontier-ai-models-grows-by-4-5x-per-year.
Log-scale scatter of AI training compute in FLOP versus publication date from 2010 to 2026. Points rise from about ten to the fifteenth FLOP in 2010 to over ten to the twenty-sixth by 2025, frontier models tracing the upper edge. A fitted line marks roughly 4.4-fold growth per year. AlexNet, AlphaGo Zero, GPT-3, and GPT-4 are labeled along the rising frontier.
Figure 2.4: A fit to the displayed notable-model records yields about 4.4-fold annual growth in training compute. Each point is a record from Epoch AI’s database (Epoch AI 2025); the red line is a least-squares fit over the 2010–2026 points shown, which run past the cited analysis’s May 2024 window. The growth factor describes the displayed records rather than a universal rate, and it does not measure how changes in model scale overlap a hardware project.
Epoch AI. 2025. Data on AI Models. https://epoch.ai/data/ai-models-documentation.

The notable-model and frontier records rise by orders of magnitude over the 2010–2026 window, and our fitted line summarizes that scattered cloud as more than fourfold annual growth. We do not use this fit to establish a universal rate, and we know that a larger model does not automatically constitute a different workload. Instead, it provides us with a bounded example of how rapidly model scale and the software stack can evolve while a hardware project is still underway. The specific model we sized our comparison against may ultimately differ from the model that eventually runs in production. For this reason, we must record the software and model versions behind our comparisons rather than taking them for granted.

Product announcements reveal intervals between commercial releases, not the period during which an architecture decision remains exposed to software change. The timeline compares those public intervals for two product categories relative to November 2020 (Figure 2.5). Apple client SoCs appear at 7- to 19-month intervals in this sample, while NVIDIA data-center accelerators appear at 22- to 24-month intervals. These dates motivate the versioning question, but they do not reveal either company’s internal design schedule or establish how long a hardware decision remained fixed.

Timeline plot comparing public announcement intervals for Apple M-series chips, ranging from 7 to 19 months in this sample, and NVIDIA data-center accelerators, ranging from 22 to 24 months.
Figure 2.5: Public product announcements provide cadence markers, not design-cycle measurements. Points mark announcement dates for the Apple M1 through M4 (Apple 2020, 2022, 2023, 2024) and the NVIDIA A100, H100, and B200 (NVIDIA 2020, 2022, 2024); the Rubin date reflects NVIDIA’s January 2026 CES announcement (NVIDIA 2026). The resulting intervals describe this public sample only. They do not establish internal design schedules, software-adaptation windows, or the duration of frozen architecture decisions.
Apple. 2020. Apple Unleashes M1. https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/.
Apple. 2022. Apple Unveils M2, Taking the Breakthrough Performance and Capabilities of M1 Even Further. https://www.apple.com/newsroom/2022/06/apple-unveils-m2-with-breakthrough-performance-and-capabilities/.
Apple. 2023. Apple Unveils M3, M3 Pro, and M3 Max, the Most Advanced Chips for a Personal Computer. https://www.apple.com/newsroom/2023/10/apple-unveils-m3-m3-pro-and-m3-max-the-most-advanced-chips-for-a-personal-computer/.
Apple. 2024. Apple Introduces M4 Chip. https://www.apple.com/newsroom/2024/05/apple-introduces-m4-chip/.
NVIDIA. 2020. NVIDIA’s New Ampere Data Center GPU in Full Production. https://nvidianews.nvidia.com/news/nvidias-new-ampere-data-center-gpu-in-full-production.
NVIDIA. 2022. NVIDIA Announces Hopper Architecture, the Next Generation of Accelerated Computing. https://nvidianews.nvidia.com/news/nvidia-announces-hopper-architecture-the-next-generation-of-accelerated-computing.
NVIDIA. 2024. NVIDIA Blackwell Platform Arrives to Power a New Era of Computing. https://nvidianews.nvidia.com/news/nvidia-blackwell-platform-arrives-to-power-a-new-era-of-computing.
NVIDIA. 2026. NVIDIA Kicks Off the Next Generation of AI with Rubin: Six New Chips, One Incredible AI Supercomputer. https://investor.nvidia.com/news/press-release-details/2026/NVIDIA-Kicks-Off-the-Next-Generation-of-AI-With-Rubin--Six-New-Chips-One-Incredible-AI-Supercomputer/default.aspx.

Apple’s gaps shrink rapidly from 19 to 16 to 7 months, while NVIDIA’s data-center GPU gaps remain near two years, at 22 and 24 months (Figure 2.5). We cannot use these announcement dates to bound a silicon program or to identify exactly when an architecture choice became too hard to change. They do not measure the pace of software change, rank release strategies, isolate any specific architecture contribution, or prove that AI tools caused a release to arrive sooner. Neither plot establishes a definitive design-cycle mismatch. Together, they illustrate why our comparisons must record the actual hardware, workload, and software exposure, rather than attempting to infer these details from public release dates.

We often use benchmarks to keep our changing workloads comparable. For example, MLPerf, an industry-standard machine learning benchmarking suite (Mattson et al. 2020), defines shared tasks and reporting rules for machine-learning systems. Within the same benchmark version, division, scenario, and accuracy target, its strict inference rules allow us to compare results from different systems (Reddi et al. 2020), all while giving submitters the freedom to optimize their software toolchains (Reddi et al. 2021). However, this comparability is actively maintained rather than inherent to the workloads themselves. The comparison only holds true as long as our community actively maintains the tasks and run rules.5 Whenever those underlying rules change, we may find that an earlier comparison no longer answers the same question.

Mattson, Peter, Vijay Janapa Reddi, Christine Cheng, et al. 2020. MLPerf: An Industry Standard Benchmark Suite for Machine Learning Performance.” IEEE Micro 40 (2): 8–16. https://doi.org/10.1109/MM.2020.2974843.
Reddi, Vijay Janapa, Christine Cheng, David Kanter, et al. 2020. MLPerf Inference Benchmark.” 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), 446–59. https://doi.org/10.1109/ISCA45697.2020.00045.
Reddi, Vijay Janapa, Christine Cheng, David Kanter, Peter Mattson, Guenther Schmuelling, and Carole-Jean Wu. 2021. “The Vision Behind MLPerf: Understanding AI Inference Performance.” IEEE Micro 41 (3): 10–18. https://doi.org/10.1109/MM.2021.3066343.

5 Metrological traceability: A measurement result is traceable when we can relate it to a reference through a documented, unbroken chain of calibrations, each contributing uncertainty (Possolo et al. 2021). While our architecture benchmarks do not create this kind of formal calibration chain, we still need explicit versions for their tasks, run rules, and measurement procedures so that reviewers can verify when two results remain genuinely comparable.

Possolo, Antonio, Sally S. Bruce, and Jr. Watters Robert L. 2021. Metrological Traceability: Frequently Asked Questions and NIST Policy. NIST Technical Note 2156. National Institute of Standards; Technology. https://doi.org/10.6028/NIST.TN.2156.
Kwon, Hyoukjun, Krishnakumar Nair, Jamin Seo, et al. 2023. XRBench: An Extended Reality (XR) Machine Learning Benchmark Suite for the Metaverse.” Proceedings of Machine Learning and Systems 5: 1–20. https://proceedings.mlsys.org/paper_files/paper/2023/hash/07b7c2f8a6978e376f9656d69619bfbb-Abstract-mlsys2023.html.

For a target like Lighthouse mobile extended-reality (XR), the term “XR” remains far too broad to define a concrete workload, as it combines complex sensing, perception, graphics, display, interaction, latency, quality-of-experience, and energy constraints into a single concept. Five workload archetypes make the ambiguity concrete (ResNet-50 vision, GPT-2/Llama language models, DLRM recommendation engines, MobileNetV2 mobile perception, and KWS always-on keyword spotters), each pulling a design toward different memory, latency, and energy behavior. Even when we employ a dedicated benchmark suite like XRBench (H. Kwon et al. 2023), we must still independently decide which specific traces, model versions, deadlines, input distributions, and quality targets truly matter for our design.

We must therefore treat our workload description as a precisely versioned input rather than a static name. When we document versioned traces, benchmark rules, compiler and runtime assumptions, and tool results, we allow our reviewers to independently verify whether a hardware claim still holds true. Our architecture studies also need explicit triggers that prompt us to repeat the comparison the moment one of those inputs changes. When our machines span an entire data center, the executable software path dictates exactly how our hardware, networks, and facility resources successfully operate as a single, unified system.

2.5 Machine Boundary Expansion

Warehouse scale pulls all our preceding hardware and software pressures into a single architecture problem. Our server and accelerator choices no longer exist in a vacuum; they ripple outward through network topology, collective communication, cluster scheduling, failure handling, deployment policies, and even facility power and cooling. When we compare systems at this level, we must judge the delivered service and operating constraints of the entire infrastructure, rather than just admiring the efficiency of an isolated node.

Even if a single user request fits perfectly on one package, our aggregate demand, availability targets, and stringent service objectives often force us to deploy thousands of nodes. The boundary of “the computer” expands until it swallows the entire data center. As we adopt scale-out networks, sophisticated cluster software, and coherent device and memory interconnects like CXL (Compute Express Link), resource placement and sharing turn into fundamental architectural questions.6 We have officially entered the domain of warehouse-scale computing (WSC) (Barroso et al. 2019). Our architectural problem now encompasses everything from heterogeneous servers and shared cooling infrastructure to facility power limits and cluster-wide scheduling.

6 Compute Express Link (CXL): A cache-coherent interconnect standard for processors, accelerators, and memory devices. Its memory semantics and switching support allow us to treat device-attached or pooled memory as a system-level provisioning decision (Compute Express Link Consortium 2026).

Compute Express Link Consortium. 2026. Compute Express Link Specification Revision 4.0. https://computeexpresslink.org/wp-content/uploads/2026/02/CXL-Specification_rev4p0_ver1p0_2026February26_clean_evalcopy_v2.pdf.
Barroso, Luiz André, Urs Hölzle, and Parthasarathy Ranganathan. 2019. The Datacenter as a Computer: Designing Warehouse-Scale Machines, Third Edition. Synthesis Lectures on Computer Architecture. Springer International Publishing. https://doi.org/10.1007/978-3-031-01761-2.
Dean, Jeffrey, and Luiz André Barroso. 2013. “The Tail at Scale.” Communications of the ACM 56 (2): 74–80.

Experimenting with or simulating warehouse-scale systems is challenging, largely because component failure is a constant reality rather than an exceptional case (Barroso et al. 2019). As architects, we must synthesize evidence by combining trace-driven and discrete-event models, emulation, controlled deployments, and raw production measurements. Yet, every model and measurement inevitably leaves something out. A simple trace might entirely miss the dynamic network congestion that drives high “tail at scale” latency (Dean and Barroso 2013). Similarly, a node that appears highly efficient in isolation can lose its advantage when delayed by stragglers or heavy distributed coordination. Our core challenge is selecting evidence at an affordable scale without oversimplifying the model in ways that remove essential system behaviors.

As we traverse these scales, we never get a clean slate; our architecture comparisons do not reset just because the system boundary expands. A single core contributes baseline policies and tricky corner cases. An accelerator brings along its own workload mapping and software interfaces. SoCs and chiplets add strict integration, packaging, and testing constraints. When we step up to wafer-scale and warehouse-scale systems, we inherit all those previous obligations while stacking on new burdens like repair, placement, networking, failure handling, deployment logistics, and facility limits.

This system boundary expansion steadily accumulates comparison obligations across five architectural scales, from a single core through accelerators, systems-on-chip (SoCs) and chiplets, wafer-scale systems, and warehouse-scale systems (Figure 2.6). As we expand system boundaries, the early microarchitectural and ISA obligations never disappear: each scale adds new evaluation obligations while carrying forward the constraints, interfaces, software paths, tool feedback, failures, and rejected alternatives established at smaller scales. A warehouse-scale evaluation must preserve core-level software correctness and chiplet-level physical constraints while absorbing cluster networking and thermal limits.

Five architecture scales run from core through accelerator, system-on-chip or chiplet, wafer-scale system, and warehouse-scale system. Each scale adds named obligations to a common comparison path, which carries constraints, interfaces, workload and software paths, tool feedback, failures, and rejected alternatives into one cross-scale architecture comparison.
Figure 2.6: Wider system boundaries accumulate multi-scale comparison obligations. A credible comparison carries forward constraints, interfaces, software paths, tool feedback, failures, and rejected alternatives established at smaller scales while adding the obligations introduced by accelerators, package composition, wafer-scale fabrics, and warehouse-scale operation.

This progression is cumulative, though we are not claiming every architectural study must simulate an entire data center. If we are comparing cores, we might legitimately stop after our microarchitecture and physical checks. But a warehouse-scale comparison cannot stop there; our node’s behavior only reaches the delivered service through thick layers of software, complex networks, deployment policies, and rigid facility constraints. The appropriate boundary for our study is always the smallest one that captures the effects capable of flipping our final decision. Once we pull hardware, software, network, and facility choices into a single comparison, the number of possible combinations explodes far faster than our capacity to evaluate them.

2.7 Physical Limits and Throughput

We can keep growing our design space, but physics, budgets, and schedules still bound our comparisons. Physics dictates what we can actually build, power, and cool, while fixed program budgets and schedules dictate how much we can check before we commit to a tapeout. Though more resources might expand our evaluation capacity, they never remove underlying physical limits nor make our available time and money unbounded.

2.7.1 Physical Constraints

When we compare architectures, physical effects introduce two distinct problems. First, our early models might omit an effect that later overturns our initial rankings. Second, the definitive measurements that would settle the question often cost too much to run on every candidate. Consequently, a design that looks sound at our architectural abstraction can still fail due to a thermal hotspot or severe IR drop, revealing that our comparison masked a consequential physical effect. Reliability narrows the viable space further. Phenomena like soft errors, process variation (Borkar 2005), and silicon aging, including Negative Bias Temperature Instability (NBTI) and Hot Carrier Injection (HCI), directly affect viability in demanding domains like automotive systems governed by ISO 26262 (International Organization for Standardization 2018). To build confidence, we must often look to evidence from fault injection, aging simulation, physical and circuit analysis, accelerated testing, and production data.

Borkar, Shekhar. 2005. “Designing Reliable Systems from Unreliable Components: The Challenges of Transistor Variability and Degradation.” IEEE Micro 25 (6): 10–16. https://doi.org/10.1109/MM.2005.110.
International Organization for Standardization. 2018. ISO 26262: Road Vehicles — Functional Safety. 2nd ed. ISO.

Consider data movement, for example, which can reverse an early ranking based purely on compute. As we move data through a memory hierarchy, we often consume far more energy than we do performing arithmetic operations. Horowitz (2014) provides widely used estimates that quantify this difference. If we rely on a compute-only comparison, we risk ranking the wrong design first. Our results depend on where the data resides, how often it moves, who schedules it, what locality we can exploit, which precision we find acceptable, and what our software stack can express.

To quantify this physical reality, Figure 2.8 reports energy consumption per operation across arithmetic units and memory hierarchy levels using the 45 nm reference values from Horowitz (2014). A baseline 32-bit integer addition costs about \(0.1\,\text{pJ}\) (\(1\times\)); floating-point arithmetic runs \(0.9\text{--}4\,\text{pJ}\) (\(9\text{--}40\times\)); 8 KB to 32 KB SRAM cache reads run \(10\text{--}20\,\text{pJ}\) (\(100\text{--}200\times\)); a 1 MB on-chip SRAM access costs \(100\,\text{pJ}\) (\(1000\times\)); and off-chip DRAM accesses reach \(1.3\text{--}2.6\,\text{nJ}\) (\(13{,}000\text{--}26{,}000\times\)). Fetching data from off-chip DRAM thus consumes thousands of times more energy than performing arithmetic on that data, so an architectural comparison that omits memory hierarchy and locality can rank the wrong design first.

Log-scale plot comparing arithmetic and memory-access energy, showing a 32-bit integer add at 0.1 picojoules, SRAM accesses from 10 to 100 picojoules, and an off-chip DRAM access range from 1.3 to 2.6 nanojoules.
Figure 2.8: Data movement can dominate arithmetic energy. Rough Horowitz 45 nm energy values show why architecture comparisons must represent locality, buffering, precision, scheduling, and memory hierarchy rather than counting arithmetic alone (Horowitz 2014). The values are transcribed order-of-magnitude anchors, including the source’s 1.3–2.6 nJ DRAM range, not current-node device estimates.

The DRAM cost is a range rather than a single point, and the values are order-of-magnitude anchors relative to the 32-bit integer addition: advanced nodes change the exact numbers, but the locality argument still holds rather than acting as a current-node energy estimate (Figure 2.8). It reminds us that we must model our memory hierarchy before we rank candidates.

We use a structural architecture-level energy breakdown. \[ E_{\mathrm{system}} = E_{\mathrm{compute}} + E_{\mathrm{memory}} + E_{\mathrm{interconnect}} + E_{\mathrm{control}} + E_{\mathrm{leakage}} \tag{2.1}\]

We intend this as a structural breakdown, not a rigorous circuit-level energy model, and it delivers a clear lesson in diminishing returns. In Equation 2.1, this decomposition directly reflects two persistent physical limits. First, the memory wall identified by Wulf and McKee (1995) highlights that logic performance scaling continuously outpaces DRAM access latency improvements, elevating off-chip memory access into the primary latency and energy bottleneck. Second, as multi-core and accelerator tile counts scale, Network-on-Chip (NoC) bisection bandwidth contention becomes a governing throughput bottleneck. High inter-tile communication and memory traffic saturate physical wiring and router buffers across die bisection cuts, causing routing congestion and severe backpressure. If an optimization focuses solely on compute efficiency while ignoring memory hierarchy and interconnect topology, unoptimized data movement and leakage terms quickly dominate system energy and render the design physically infeasible.

Wulf, Wm A., and Sally A. McKee. 1995. “Hitting the Memory Wall: Implications of the Obvious.” ACM SIGARCH Computer Architecture News 23 (1): 20–24.

The proxy-mismatch failure shows up directly when we compare total system energy between a balanced baseline design and an unoptimized accelerator candidate (Figure 2.9). The candidate shrinks compute energy (\(E_{\mathrm{compute}}\)), yet its added memory accesses and communication overhead swell memory and interconnect energy (\(E_{\mathrm{memory}} + E_{\mathrm{interconnect}}\)) enough to push the system total above the baseline. Reducing compute energy in isolation can thus increase data movement and interconnect energy, inflating total system energy and causing partial evaluation metrics to rank an inferior design first.

Bar chart comparing a baseline energy breakdown with an illustrative candidate whose lower compute energy is outweighed by higher memory and interconnect energy.
Figure 2.9: Local compute energy reductions can obscure total system energy increases. The illustrative candidate reduces compute energy but increases memory and interconnect energy enough to exceed the baseline total. A comparison that omits data movement can therefore rank the worse of the two designs first. The bar heights show the relationship and are not measured energy breakdowns.

The numbers here are illustrative, but the reversal in Figure 2.9 is exactly our point: an early proxy might strongly favor a design that ultimately loses once we properly account for the costs of moving data through the system. We explore this specific proxy-mismatch failure directly in Chapter 7.

We must give interconnect costs the same rigorous attention as memory movement. Our on-chip networks, package links, memory interfaces, collective operations, and host-device protocols limit what our designs can sustain. During early logical synthesis and architectural modeling, we rely on approximate interconnect estimates, whereas detailed placement and routing expose our actual topology, congestion, and parasitic delays (Kahng et al. 2011). Because of this gap, a highly parallel accelerator might score well in our early models, only to fail timing or routing during physical implementation. The fundamental failure here is not that our early tools completely ignore wires; rather, it is that a clever optimizer will always exploit whatever our inexpensive models leave out.

Because timing, placement, routing, IR drop, thermal behavior, power delivery, leakage, signoff, and test requirements can easily overturn an architectural choice, we must consider relevant electronic design automation (EDA) and physical-design constraints as early as possible. These deep physical checks rely heavily on stateful tools, meaning a repeated run becomes entirely invalid if stale constraints or cached netlists survive from a previous candidate. While Chapter 6 covers our detailed tool isolation and execution mechanics, our core point here is that a clean tool state remains an absolute prerequisite for a valid comparison. For example, local power and thermal density can flag a dense accelerator mapping as highly risky long before implementation, even if its average power comfortably clears an early limit.

Once we have a placed netlist and a current profile, fast learned IR-drop estimation (Xie et al. 2020) and authoritative thermal signoff can either confirm or clear that risk. Thermal Design Power (TDP), which serves as a target for sizing our cooling solution rather than a strict measure of sustained power draw, is not our only limit (Intel Corporation 2014). For instance, rapid clock-gating transitions or 512-bit SIMD vector lane wakeups induce severe step-current transients (\(di/dt\)), causing localized \(L \cdot \frac{di}{dt}\) voltage droops on the power grid that force conservative frequency guardbanding or dedicated Emergency Voltage Mitigation (EVM) circuits. If we employ early physical estimates, workload-aware power models, and closer coordination between our microarchitecture and physical design, we can expose these subtle risks long before final signoff.

Intel Corporation. 2014. Intel Quark SoC X1000 Thermal and Mechanical Design Guide. Nos. 330259-001. Intel Corporation. https://www.intel.com/content/dam/support/us/en/documents/processors/quark/sb/330259_quark_tmdg_rev001.pdf.

Vector execution makes the policy interaction concrete. When we add 512-bit vector units to general-purpose CPU cores, we raise our peak floating-point throughput. However, sustained wide-vector execution might raise power and power-delivery demand enough to force the processor to reduce its operating frequency. Peak vector width alone does not determine our final application speed; as architects, we must carefully measure the active-frequency policy alongside our exact mix of vector and nonvector work on the target processor.

During timing signoff, we evaluate multiple analysis views that pair operating modes with specific process corners using static timing signoff tools like Cadence Tempus (Cadence Design Systems 2021). We often find that our design might clear one view but completely fail another. Because our physical-design tools rely on heuristic optimization, a single failed closure attempt rarely tells us whether our candidate or a flawed tool setup caused the failure. When we carefully compare constraints, seeds, and repeated outcomes, we can better separate true design flaws from tool artifacts.

Cadence Design Systems. 2021. Tempus Timing Signoff Solution. Product datasheet. https://www.cadence.com/en_US/home/resources/datasheets/tempus-timing-signoff-solution-ds.html.
Kahng, Andrew B., Jens Lienig, Igor L. Markov, and Jin Hu. 2011. VLSI Physical Design: From Graph Partitioning to Timing Closure. Springer. https://doi.org/10.1007/978-90-481-9591-6.

Design Rule Checks (DRC) introduce yet another rigorous physical constraint. Our routing must satisfy restricted design rules, including stringent minimum wire and via spacing (Kahng et al. 2011). Simply moving a single macro can spawn numerous violations, and repairing just one can alter neighboring routes and expose fresh errors. If our automated flow cannot interpret these markers intelligently, we dump a large, repetitive cleanup and rerouting burden onto our implementation team.

Artifact-producing flows introduce a traceability problem of their own. If our high-level tool emits RTL and a physical-design tool reports a thermal failure much later, tracing that failure back to the specific architectural decision that caused it becomes difficult. Since we can often rerun a saved RTL or topology artifact for deeper inspection, our design team must preserve the emitted artifacts, parameters, and tool states rather than hoping we can somehow recreate them later. When we evaluate these physical constraints, we also face the challenge of bridging the deep semantic gap between our high-level proposals and intricate EDA formats like LEF/DEF and Liberty timing files.7

7 LEF/DEF and Liberty: In our place-and-route flows, LEF carries the abstract physical information we use to place and connect blocks, while DEF captures the fully placed and routed state of our specific design (Silicon Integration Initiative n.d.). Meanwhile, Liberty provides characterized cell models covering timing, power, noise, and related behaviors (Synopsys 2012). We rely on these implementation formats to expose the essential details missing from our high-level architectural descriptions.

Silicon Integration Initiative. n.d. Public Standards and Solutions: LEF/DEF. Si2 standards documentation. https://si2.org/public-standards-and-solutions/.
Synopsys. 2012. Synopsys’ Open-Source Liberty Format to Incorporate on-Chip Variation Extensions. Synopsys newsroom. https://news.synopsys.com/home?item=123415.
Peherstorfer, Benjamin, Karen Willcox, and Max Gunzburger. 2018. “Survey of Multifidelity Methods in Uncertainty Propagation, Inference, and Optimization.” SIAM Review 60 (3): 550–91. https://doi.org/10.1137/16M1082469.

To manage this complexity, we increasingly turn to multifidelity methods that pair abundant, inexpensive estimates with carefully selected high-fidelity evaluations. We retain the stronger model to repeatedly check the accuracy of our proxy, a strategy familiar across engineering optimization, not just architecture (Peherstorfer et al. 2018). Our physical constraints demand exactly this level of care. If we know our early model omits timing, congestion, thermal behavior, or data movement, we must secure a more robust model before we confidently compare more candidates.

While an inexpensive energy proxy can support our early screening efforts, our finalists require an accurate, current power model before we can make binding power or efficiency decisions. We encounter this same limitation when measuring whatever metric we happen to be optimizing. A design can easily lead on the figures advertised in a standard data sheet, yet still fall behind on the actual work a real program executes.

The evolution of AMD’s Bulldozer architecture, its later FX-9590 product, and the subsequent Zen transition illustrates this gap between easy-to-count specifications and real-world workload behavior (Butler et al. 2011; Advanced Micro Devices 2014, 2017).

Butler, Michael, Leslie Barnes, Debjit Das Sarma, and Bob Gelinas. 2011. “Bulldozer: An Approach to Multithreaded Compute Performance.” IEEE Micro 31 (2): 6–15. https://doi.org/10.1109/MM.2011.23.
Advanced Micro Devices. 2014. AMD FX Series Processor Quick Reference. https://subscriptions.amd.com/newsletters/localized-channel-update/assets/la/52969d_hts_fx_fnl_la.pdf.
Advanced Micro Devices. 2017. AMD Zen Microarchitecture. https://www.amd.com/en/technologies/zen-core.html.

War story: A design that won on the spec sheet
The claim. In their Bulldozer generation (Zambezi, 2011), AMD chose to group two integer cores behind a shared front-end and floating-point unit while aggressively pursuing high clock frequencies. Since core counts and frequencies were easy to advertise, they made compelling marketing points. When sharing structures, AMD’s design team explicitly traded some per-thread capacity to maximize overall throughput.

The gap. Unfortunately, those figures did not reflect how real workloads actually used the machine. The shared structures became performance bottlenecks when threads competed for resources, and raising clock frequencies increased power draw. AMD’s later FX-9590 specification listed a high 220 W thermal design power.

The lesson. Candidates must always be ranked on the metrics their true workloads reward, rather than the numbers that are easiest to count. In silicon, discovering that gap is expensive, because it only becomes undeniable after the design is shipped. AMD eventually addressed this by introducing the Zen microarchitecture, returning to a renewed, disciplined emphasis on core performance and efficiency.

Because physical constraints and reliability concerns define a vast search space, no early model will ever eliminate our need for the robust physical tools required to validate our final claims. As architects, we must understand which lower-cost estimates are safe for broad screening, and which rigorous checks retain the power to overturn our rankings.

2.7.2 Simulation Throughput and Fidelity

As we design larger systems, we expose vastly more candidate configurations, software states, physical corners, and failure modes. Expanding our choice space inherently drives up our demand for simulator runs, synthesis runs, physical-design tools, verification passes, and expert review. We simply cannot run every candidate through every available tool. Since these evaluations consume varying mixtures of compute clusters, software licenses, project schedule, and human attention, our feedback loop starves whenever an architectural study demands more checking capacity than our available people and tools can provide.

Our evaluation tools form a broad spectrum where adjacent tiers often sit orders of magnitude apart in throughput, cost, and setup time. Suppose, as an illustrative working rate, that a detailed simulator like gem5 sustains ten to one hundred thousand instructions per second. At those rates, simulating just one real-time second of a workload retiring one billion instructions per second takes \(10^{9}/10^{5}\) to \(10^{9}/10^{4}\) host seconds, roughly three to twenty-eight hours. Fast parallel simulators like Sniper or compiled C++ RTL models generated via Verilator run significantly faster, while hardware emulation platforms (such as Cadence Palladium, an enterprise hardware emulation system, or Synopsys ZeBu, a high-throughput emulation engine) and FPGA prototypes (like FireSim, an FPGA-accelerated full-system simulation platform (Karandikar et al. 2018)) accelerate execution even further. Yet, each step up the fidelity spectrum demands different hardware, complex logic synthesis (via open-source engines like Yosys or industrial suites), and substantial bring-up costs. Since actual rates always depend on the model, workload, host, tool, and platform, our budgeting question is not just whether a candidate can be measured, but rather which candidates have actually earned the right to consume an expensive evaluation tier.

Karandikar, Sagar, Howard Mao, Donggyu Kim, et al. 2018. FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in the Public Cloud.” 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA), 29–42. https://doi.org/10.1109/ISCA.2018.00014.
Sherwood, Timothy, Erez Perelman, Greg Hamerly, and Brad Calder. 2002. “Automatically Characterizing Large Scale Program Behavior.” Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 45–57. https://doi.org/10.1145/605397.605403.
Wunderlich, Roland E., Thomas F. Wenisch, Babak Falsafi, and James C. Hoe. 2003. SMARTS: Accelerating Microarchitecture Simulation via Rigorous Statistical Sampling.” Proceedings of the 30th Annual International Symposium on Computer Architecture (ISCA), 84–95. https://doi.org/10.1145/859618.859629.

To cope, we have long rationed our expensive evaluations through abstraction and statistical sampling. For example, SimPoint, a profile-driven simulation sampling framework (Sherwood et al. 2002), helps us isolate representative program regions, while SMARTS, a statistically rigorous sampling methodology (Wunderlich et al. 2003), gives us rigorous error bounds for sampled simulation. We employ analytical models, reduced workloads, and multifidelity evaluation to serve this exact same purpose across different design levels. Because every one of these techniques trades some fidelity for capacity, we must clearly state what our cheaper evaluations preserve and explicitly flag which candidates still mandate a stronger check.

Making this allocation decision is difficult. While generating or scoring one more candidate might feel cheap, an inaccurate screening tool can discard a breakthrough design or advance a weak one into our most expensive stages. We have to decide which inexpensive checks can safely reject a candidate, which nagging uncertainties demand stronger tools, and which measurements are most likely to completely flip our final decision. If we fail to make these distinctions, generating candidates faster merely dumps more unproductive work into our design program’s most expensive, back-end stages.

The substantial costs of leading-edge chip development illustrate the magnitude of this constraint. Although public estimates vary and should not be taken as universal accounting rules, they paint a clear picture. Semiconductor Industry Association (2026) reports that designing a latest-node chip increased from approximately $30M for a 65 nm node in 2006 to over $540M for a 5 nm node in 2020, representing an \(18\times\) increase. A McKinsey analysis confirms this order of magnitude, estimating roughly $175M for a 10 nm design, $300M for 7 nm, and $540M for 5 nm once we include validation, IP qualification, and related development costs (Bauer et al. 2020). We must recognize that these estimates cover far more than just masks or wafers; they capture the architecture, design, validation, verification, IP, tooling, and human engineering labor required to succeed.

Semiconductor Industry Association. 2026. Chip Design and R&D. https://www.semiconductors.org/policies/chip-design/.
Bauer, Harald, Ondrej Burkacky, Peter Kenevan, Stephanie Lingemann, Klaus Pototzky, and Bill Wiseman. 2020. Semiconductor Design and Manufacturing: Achieving Leading-Edge Capabilities. McKinsey & Company report. https://www.mckinsey.com/industries/semiconductors/our-insights/semiconductor-design-and-manufacturing-achieving-leading-edge-capabilities.

If we force a respin, we add fabrication, validation, and schedule penalties before we even learn whether our correction worked. Our investments in simulation, emulation, and signoff exist precisely to minimize the probability of paying for that iteration again.

2.7.3 Verification Bottlenecks

Verification faces an exponential state-space upper bound, even though careful structuring, abstraction, and advanced verification methods ultimately govern how much work we actually perform. Adding just a single state-holding bit doubles our number of encoded states, meaning a design with \(n\) such bits can technically encode up to \(2^n\) states. In practice, the reachable subset is usually far smaller because it depends tightly on our reset and next-state logic; this is precisely why our verification jobs do not just blindly enumerate every encoded state.

However, that theoretical upper bound rules out verifying every relevant property through brute-force enumeration. Instead, we must combine coverage goals, SystemVerilog Assertions (SVA), formal proofs, constrained-random testing with production simulators like Synopsys VCS (an industrial SystemVerilog logic simulator), fast compiled C++ simulation using Verilator, deep regressions, unresolved-defect reviews, and engineering judgment. We view a flattening bug-discovery curve as just one key input to our tapeout decision, rather than a standalone, infallible rule. A sudden flood of novel architectural candidates forces our team to repeat substantial portions of this work.

For these reasons, our architectural evaluations must explicitly weigh verification effort alongside the classic pillars of Power, Performance, and Area (PPA). For instance, a highly speculative cache-coherence protocol might demonstrate a strong measured performance gain, yet it remains a poor choice if we cannot check its complex new states and interactions within our given design-program budget.

We rely on formal verification and simulation to attack entirely different parts of this problem. When we simulate using engines like VCS or Verilator, we exercise selected behaviors under highly specific stimuli. When we use formal methods (supported by tools like Yosys for formal checking), we mathematically prove a stated property across all possible behaviors covered by our model and its baseline assumptions, though our formal capacity drops sharply depending on the property, abstraction level, and sequential state. To manage this, we often use bounded model checking (BMC) to search behavior only up to a chosen cycle depth. We also rely on combinational equivalence checking, which circumvents sequential state space growth by proving that two combinational descriptions implement the same Boolean function. Despite these tools, intricate sequential protocols, liveness guarantees, and broad system interactions will always require us to deploy a carefully balanced mix of formal checking and robust simulation (Clarke et al. 2018).

Clarke, Edmund M., Thomas A. Henzinger, Helmut Veith, and Roderick Bloem, eds. 2018. Handbook of Model Checking. Springer. https://doi.org/10.1007/978-3-319-10575-8.
Semiconductor Research Corporation. 2023. Microelectronics and Advanced Packaging Technologies Roadmap, Chapter 9: Design, Modeling, Test, and Standards. SRC MAPT Roadmap. https://srcmapt.org/chapter9/.

Our industry has grappled publicly with this verification pressure for over a quarter of a century. As far back as 2001, the ITRS Design chapter declared verification “a bottleneck that has now reached crisis proportions” (International Technology Roadmap for Semiconductors 2001). Today, the Semiconductor Research Corporation’s MAPT roadmap still explicitly warns of a widening verification gap looming across our future transitions (Semiconductor Research Corporation 2023). While this history makes verification an indispensable constraint to check whenever someone proposes generating architectural candidates faster, it does not imply that verification will be the limiting constraint in every design program.

Yet the math is inescapable. If we can produce new register-transfer level (RTL) candidates faster than we can create the properties, tests, coverage metrics, and human reviews required to bless them, our generation speed does nothing to improve our final tapeout decision. This grounds the abstract state-space argument in the daily work of a hardware team.

Looking at the workforce, Foster (2022) summarizes the 2022 Wilson Research Group functional-verification study and confirms that verification demand has outpaced design staffing. Indexed to their 2007 baseline, mean peak staffing for IC and ASIC projects grew by 146 percent for verification engineers but by only 50 percent for design engineers over the same fifteen-year period (Figure 2.10). In the surveyed projects, checking hardware correctness now claims a share of peak staffing that rivals design work itself.

Two-line chart indexing engineer demand to 2007, with verification-engineer demand rising to about 2.5 times its 2007 level by 2022 while design-engineer demand reaches about 1.5 times, opening a widening gap between the lines.
Figure 2.10: Verification staffing grew faster than design staffing. Mean peak demand for IC/ASIC verification engineers grew about 146 percent from 2007 to 2022 while demand for design engineers grew about 50 percent, a 6.2 versus 2.7 percent compound annual growth rate (Foster 2022). Filled markers have printed data labels in the published study figures; hollow 2022 markers are chart-read approximations constrained by the study’s stated growth figures.
Foster, Harry. 2022. Part 8: The 2022 Wilson Research Group Functional Verification Study. Verification Horizons, Siemens EDA. https://blogs.sw.siemens.com/verificationhorizons/2022/12/12/part-8-the-2022-wilson-research-group-functional-verification-study/.

These indexed lines highlight relative growth rather than absolute staffing levels, and the 2022 endpoints are chart-read approximations constrained by the study’s published growth rates rather than printed data labels (Figure 2.10). These staffing trends do not pinpoint a single universal cause for the disparity, nor do they perfectly diagnose the bottleneck in any single project. However, they show that checking our designs steadily consumes an ever-growing share of our engineering capacity across the surveyed projects. Once a candidate reaches this late stage, evaluation is no longer inexpensive. Hardware implementation permits little tolerance for post-silicon errors. The 1994 Pentium FDIV flaw illustrates the importance of early verification, where a bug originating from five omitted lookup table entries (Edelman 1997) resulted in a $475M pretax charge (Intel Corporation 1995). More recently, the Meltdown and Spectre vulnerabilities (Lipp et al. 2018; Kocher et al. 2019) exposed microarchitectural side channels in speculative execution engines. Although published evaluations show varying performance impacts when deploying transient-execution defenses (Canella et al. 2019), software mitigations do not alter the underlying hardware mechanism. Together, these historical cases demonstrate how hardware flaws transform into long-lived liabilities.

Edelman, Alan. 1997. “The Mathematics of the Pentium Division Bug.” SIAM Review 39 (1): 54–67. https://doi.org/10.1137/S0036144595293959.
Intel Corporation. 1995. Intel 1994 Revenue, Earnings Per Share Set Records. Exhibit 99.2 to Form 8-K, January 17, 1995. https://www.intc.com/filings-reports/all-sec-filings/content/0000050863-95-000001/0000050863-95-000001.pdf.
Lipp, Moritz, Michael Schwarz, Daniel Gruss, et al. 2018. “Meltdown: Reading Kernel Memory from User Space.” 27th USENIX Security Symposium (USENIX Security 18) (Baltimore, MD), August, 973–90. https://www.usenix.org/conference/usenixsecurity18/presentation/lipp.
Kocher, Paul, Jann Horn, Anders Fogh, et al. 2019. “Spectre Attacks: Exploiting Speculative Execution.” IEEE Symposium on Security and Privacy (s&p), 1–19.
Canella, Claudio, Jo Van Bulck, Michael Schwarz, et al. 2019. “A Systematic Evaluation of Transient Execution Attacks and Defenses.” 28th USENIX Security Symposium (USENIX Security 19), 249–66.
Arm Holdings plc. 2023. Prospectus (Form 424B4). U.S. Securities and Exchange Commission, filed September 14, 2023. https://www.sec.gov/Archives/edgar/data/1973239/000119312523235320/d550931d424b4.htm.
Shilov, Anton. 2023. Firm Estimates a 2nm Chip Now Costs $725 Million to Design. Tom’s Hardware, August 31, 2023. https://www.tomshardware.com/news/firm-estimates-a-2nm-chip-now-costs-dollar725-million-to-design.

While that Pentium charge highlights the fallout from a single escaped defect, leading-edge development raises commitment costs even without a public recall. Arm’s 2023 prospectus shares International Business Strategies (IBS) estimates of $249M to design a 7 nm chip and $725M for a 2 nm chip (Arm Holdings plc 2023). We must read these figures as broad estimates rather than rigid project prices. Even so, they illustrate that high-fidelity evaluation and physical implementation at the leading edge consume substantial engineering budgets alongside simulator cycles. For us as architects, the internal composition of that 2 nm estimate is particularly significant. In the IBS breakdown reported alongside those figures, software development accounts for roughly $314M and verification for roughly $154M, together about two-thirds of the $725M total (Shilov 2023). Our durable takeaway is clear. The majority of the estimated budget pays for software and checking work required to make a chip usable and trustworthy, rather than generating the raw RTL artifact.

This reality predates the advanced nodes that produced these numbers. The 2001 ITRS Design chapter observed that software already accounted for 80 percent of embedded-systems development costs (International Technology Roadmap for Semiconductors 2001). Software and verification remain the dominant cost drivers across process node transitions.

These costs alter what constitutes an architectural improvement. Producing additional candidate designs offers little value if surviving options add extensive simulation, synthesis, physical-design, verification, and code-review workloads to an already constrained queue. We must synthesize disparate tool outputs into a clear, rigorous comparison that reviewers can evaluate and leadership can use for tapeout decisions.

2.8 Compounding Loop Pressures

The pressures we have traced interact rather than merely accumulate. As we specialize our designs, we expand the choice set; each hardware choice creates new software obligations. Our software changes can easily make the original workload description stale, while physical effects might reverse whatever rankings remain. Every candidate that survives this sequence then adds more work to our schedule, demanding simulation, implementation tools, verification, and expert review.

This tight coupling matters because optimizing one stage often shifts the bottleneck elsewhere. If we generate candidates faster, we might simply flood our evaluation queue. Speeding up simulation risks churning out more results than reviewers can reconcile. Building a more accurate physical model may reveal that none of our available choices hit the target. Design space size, evaluation capacity, and decision quality are distinct quantities; increasing the first does not guarantee improvement in the other two.

Rather than hunting for a single, universal bottleneck, our teams should look for the specific work that currently throttles progress. We can look at the age and size of our simulation or verification queues, track the fraction of candidates rejected as illegal, or count the repeated tool runs and changing inputs. We might also watch where our results stall out waiting for expert judgment. While broad industry trends provide context, we need these local, concrete measures to diagnose the actual constraints of our own design programs.

A fundamental evaluation bottleneck emerges as candidate generation velocity outpaces downstream evaluation capacity, where automated methods produce proposed designs faster than verification tools and we as human architects can execute rejection checks to accept or disqualify them. Any candidate caught in that gap has been generated but has not been evaluated deeply enough to support a defensible decision. It is easy for us to let this gap grow unnoticed, since raw candidate counts fail to distinguish a design that actually survived rigorous review from one that has not even reached an evaluator.

Missing or stale information only makes this worse, creating a reinforcing bottleneck. The cycle closes on itself: incomplete context admits invalid candidate choices into evaluation, those choices waste scarce simulator and synthesis runs, the wasted runs overload architectural review, and delayed review then forces the next choices to be made with even staler information (Figure 2.11). We cannot break a local design bottleneck simply by generating candidates faster; we must repair information context and decision boundaries to prevent bad data from circulating through the design loop.

Four-node reinforcing cycle connecting missing information, invalid choices, wasted evaluation, and overloaded review.
Figure 2.11: Local capacity bottlenecks create self-reinforcing evaluation backlog loops. Missing information admits invalid choices, which waste our scarce evaluation and overload our review; delayed review then worsens the information available for the next choice.

Left unchecked, this local cycle can balloon into a capacity gap across the design program. The causal loop traces how we generate unresolved work; that unresolved work then compounds into a widening gap between candidate generation rate and evaluation capacity (Figure 2.12).

Conceptual diverging-line diagram in which tool and reviewer capacity initially exceeds work awaiting evaluation. The straight lines cross as design scope and result volume increase, after which work awaiting evaluation rises faster and creates widening unsettled work.
Figure 2.12: Unchecked candidate generation outpaces physical evaluation and review capacity. In this conceptual relationship, the two straight lines cross as our design scope and result volume increase. The widening region beyond the crossing holds candidates that we have generated but never evaluated well enough to accept or reject.

As design scope and result volume expand, work awaiting evaluation and review climbs steadily while tool and reviewer capacity plateaus (Figure 2.12). Capacity comfortably absorbs incoming proposals at first, but the two lines eventually cross, and beyond that intersection unresolved proposals accumulate in a widening region of unsettled work. Increasing candidate generation speed without scaling evaluation capacity thus fills queues with unverified designs rather than delivering tapeout-ready decisions.

The scissors model in Figure 2.12 has a well-established ancestor in our discipline. Back in 2001, the International Technology Roadmap for Semiconductors highlighted a design productivity gap, warning that available transistors were growing much faster than our ability to meaningfully design them (International Technology Roadmap for Semiconductors 2001). We responded to that gap largely by raising the level of abstraction, embracing RTL synthesis and IP reuse so that a single engineer’s decision could govern many more transistors. Two decades later, the Semiconductor Research Corporation (SRC) and Semiconductor Industry Association (SIA) echoed this exact shortfall in their Decadal Plan for Semiconductors. They identified a persistent design gap between what the technology permits and what we can realistically build in a reasonable time, calling for a tenfold or greater leap in design productivity (though they scoped this target to analog and mixed-signal work rather than the entire design loop) (Semiconductor Research Corporation and Semiconductor Industry Association 2021). That history sets the bar for what we will explore in this book. For AI assistance to earn its place, we must be able to show how it changes our workload without weakening the checks we need to make confident decisions.

International Technology Roadmap for Semiconductors. 2001. International Technology Roadmap for Semiconductors: 2001 Edition, Design. ITRS technical report. https://www.semiconductors.org/wp-content/uploads/2018/08/2001-Design.pdf.
Semiconductor Research Corporation, and Semiconductor Industry Association. 2021. The Decadal Plan for Semiconductors. SRC/SIA technical report. https://www.src.org/about/decadal-plan/.

While a growing evaluation or review queue makes one type of mismatch visible, not every constraint manifests as a neat queue. An architecture study might simply be missing a workload trace, a packaging constraint, or a software model that would otherwise completely reverse our findings. We might find that our available choices exclude the specific interface or memory organization we need to hit our targets. Sometimes the decisive tool is just too expensive to run broadly, or our results are completed but awaiting review. The key question is not which category label is assigned to the overall effort. The core question is what specific task blocks the next architectural decision, and which checks must remain authoritative when accelerating that work.

This nuance explains why the widening region in Figure 2.12 is conditional rather than universal. We might find design programs limited by candidate production, while others are constrained by evaluation, verification, missing information, or an infeasible design space. The figure only transforms into a local diagnosis when our own programmatic measurements prove that the work awaiting our evaluation or review is genuinely growing faster than we can complete it.

2.9 Targeting AI Assistance

When we consider applying AI to our design process, we first need to identify the specific bottlenecks holding back our decisions. If our design context is stale, we need tools that can reconcile conflicting information; if strong evaluations are too costly, we need predictive screening before invoking expensive simulators. Sometimes, we lack an executable artifact altogether and need automated construction, or our choice space simply exceeds our evaluation budget and requires guided search. Even mundane tasks like repeated tool operation and triage place pressure on our attention. To choose the right assistance, we must ask which specific limit is slowing progress in our current architecture study.

Design principle: Relieve the true limiting constraint
The principle: System complexity shifts the bottlenecks of architectural design. To accelerate progress, explicitly identify whether exploration, evaluation, verification, or review limits the next architectural decision.

The application: Target automation or AI assistance strictly at this limiting work without relocating the burden downstream. Progress is valid only when the resulting comparison preserves workload definitions, executable software paths, physical constraints, evaluation costs, and authoritative verification.

We can look to existing research for concrete examples of how these bottlenecks are being addressed. When we adapt models to our internal design collateral, we can quickly retrieve and organize critical information, while tool-using systems can directly translate our requests into electronic design automation (EDA) commands (using domain-adapted Large Language Models (LLMs) like ChipNeMo (a domain-adapted LLM suite for chip design queries) or ChatEDA (an LLM-based autonomous agent for EDA flow automation) (Liu et al. 2023; He et al. 2024)). If simulation time is our limit, predictive models and learned physical estimators (such as PowerNet, a deep-learning model for fast voltage-drop estimation (Xie et al. 2020)) can screen out poor candidates long before we run detailed analyses (Ipek et al. 2006; B. C. Lee and Brooks 2006). When exploring complex accelerators, we can use learned search heuristics to guide our exploration (Yazdanbakhsh et al. 2021). If verification-authoring effort is what holds us back, we can deploy generators (such as AutoBench, an LLM-driven testbench generation framework (Qiu et al. 2024)) to draft our testbenches. Scaling up to the warehouse level, we see how learned schedulers (such as DeepRM, a reinforcement-learning resource manager (Mao et al. 2016)) and reconfigurable fabrics allow us to evaluate automated decisions against cluster-level workloads and stringent system-level constraints (Jouppi et al. 2023).

Liu, Mingjie, Teodor-Dumitru Ene, Robert Kirby, et al. 2023. ChipNeMo: Domain-Adapted LLMs for Chip Design. arXiv preprint arXiv:2311.00176. https://arxiv.org/abs/2311.00176.
He, Zhuolun, Haoyuan Wu, Xinyun Zhang, et al. 2024. “ChatEDA: A Large Language Model Powered Autonomous Agent for EDA.” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, ahead of print. https://doi.org/10.1109/TCAD.2024.3383347.
Xie, Zhiyao, Haoxing Ren, Brucek Khailany, et al. 2020. PowerNet: Transferable Dynamic IR Drop Estimation via Maximum Convolutional Neural Network.” Proceedings of the 25th Asia and South Pacific Design Automation Conference (ASP-DAC), 13–18. https://doi.org/10.1109/ASP-DAC47756.2020.9045574.
Ipek, Engin, Sally A. McKee, Rich Caruana, Bronis R. de Supinski, and Martin Schulz. 2006. “Efficiently Exploring Architectural Design Spaces via Predictive Modeling.” Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XII, 195–206. https://doi.org/10.1145/1168857.1168882.
Lee, Benjamin C., and David M. Brooks. 2006. “Accurate and Efficient Regression Modeling for Microarchitectural Performance and Power Prediction.” Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XII, 185–94. https://doi.org/10.1145/1168857.1168881.
Yazdanbakhsh, Amir, Christof Angermueller, Berkin Akin, et al. 2021. Apollo: Transferable Architecture Exploration. https://doi.org/10.48550/arXiv.2102.01723.
Qiu, Ruidi, Grace Li Zhang, Rolf Drechsler, Ulf Schlichtmann, and Bing Li. 2024. “AutoBench: Automatic Testbench Generation and Evaluation Using LLMs for HDL Design.” Proceedings of the 2024 ACM/IEEE International Symposium on Machine Learning for CAD (MLCAD). https://doi.org/10.1145/3670474.3685956.
Mao, Hongzi, Mohammad Alizadeh, Ishai Menache, and Srikanth Kandula. 2016. “Resource Management with Deep Reinforcement Learning.” Proceedings of the 15th ACM Workshop on Hot Topics in Networks, 50–56.
Jouppi, Norman P., George Kurian, Sheng Li, Peter Ma, Rahul Nagarajan, et al. 2023. TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings.” Proceedings of the 50th Annual International Symposium on Computer Architecture, 1–14. https://doi.org/10.1145/3579371.3589350.

Software co-evolution presents another compelling target for assistance. We can deploy tool-using regression systems to ingest new compiler builds, rerun our architecture benchmarks, and notify us whenever a candidate’s standing shifts. While such a system dramatically reduces our manual reevaluation workload, it ultimately cannot decide if that software change invalidates our core architecture comparison. As architects, we still have to use our judgment to determine whether those software updates could actually reverse our design decisions.

While regression automation is one specific application of AI on the software side, the Compiler 2.0 proposal points us toward a much broader opportunity. The argument is that modern multicore processors, vector instructions, accelerators, and heterogeneous systems have fundamentally pushed the performance burden back onto software developers. When we modernize our compilers through better abstractions, machine learning, and other advanced techniques, we can begin to lift that burden (Amarasinghe 2026). However, even this level of assistance still must produce a functional, executable path and explicitly demonstrate its benefit on the specific hardware and workloads we are reviewing.

Amarasinghe, Saman. 2026. Compiler 2.0: Building the Next Generation Compilers with Machine Learning. https://www.csail.mit.edu/event/csail-forum-saman-amarasinghe-compiler-20-building-next-generation-compilers-machine-learning.

Every form of assistance incurs a distinct cost and introduces new ways our systems can fail. Mapping AI interventions directly to the design loop bottleneck each one relieves keeps those trade-offs inspectable (Table 2.3). Across the five bottlenecks (scattered context, scarce evaluation, missing artifacts, bloated search spaces, and tool operation friction), AI assistance can reduce manual iteration and automate tool execution. It cannot replace the independent evidence appropriate to the claim. Depending on the study boundary, that evidence may come from formal properties, executable-software checks, physical signoff, calibrated measurement, or several of these together.

Table 2.3: Each use retains a claim-appropriate independent check. AI may reduce manual work in information search, evaluation, artifact creation, design-space exploration, or tool operation. It cannot replace the provenance, calibration, engineering evidence, or architectural judgment needed for the result being claimed.
Limiting work How AI might help Engineering work it could reduce What still establishes the result
Context is scattered or stale Reconcile workload, interface, tool, and result information; flag missing details or stale assumptions. Manual search across reports, repositories, traces, and prior studies. Source provenance, versioning, coverage, and our architectural judgment that the information is sufficient.
Strong evaluation is scarce Estimate performance, power, physical risk, or uncertainty before a stronger tool is run. High-fidelity evaluations spent on candidates unlikely to change our decisions. Calibration against stronger tools, coverage of the relevant design region, and checks on finalists.
A needed artifact is missing Draft RTL, compiler code, tests, constraints, or candidate organizations. Repetitive artifact creation and our first pass through a design choice. Interface rules, compilation or synthesis, verification, and physical checks appropriate to the artifact.
The choice space exceeds the budget Search mappings, schedules, parameters, or topologies under stated objectives and constraints. Manual sweeps and repeated selection among large numbers of choices. A complete objective, legal choices, matched evaluation budgets, and stronger evaluation of the selected result.
Tool operation or triage consumes attention Configure tools, launch runs, classify failures, compare reports, and route uncertain cases. Repeated tool operation and initial result triage. Clean tool state, reproducible commands, declared tool results, and expert review where required.

We often deploy several forms of assistance to address different bottlenecks within the same design program. However, combining them does not magically make our results self-validating. If every component in our pipeline depends on the same incomplete workload description or flawed model, our complete system might look internally consistent while being wrong.

Any useful comparison must therefore fully account for the cost of assistance itself. We have to supply surrogate models with data from stronger tools. Our generative tools often add numerous new candidates to a full evaluation queue, and our tool-using systems readily consume software licenses, simulation time, and our own review attention. Our limiting work and our required independent checks determine whether a particular use of assistance actually helps us. Once we identify those factors, our next question is which method or combination best fits the work, a topic we develop further in Chapter 5.

Importantly, our evaluation test must also allow us to reject AI assistance entirely. AI is simply the wrong intervention when we already have an established deterministic method that solves the limiting task within our required cost and time budgets. We should also reject it when a proposed learned method lacks representative training data, or when we cannot construct an independent check commensurate with the consequences of failure. It is an equally poor trade when inference time, tool calls, and added human review cost us more than the engineering work they supposedly save. Sometimes, our real obstacle is an infeasible system requirement or a complex decision that no amount of faster search can settle. In those cases, the right answer is sticking to a conventional method, fundamentally changing our architecture problem, or simply refusing to add unnecessary automation.

Lighthouse prompt: No single method carries the Lighthouse moonshot
The system spans the stack. Our mobile extended-reality (XR) target requires a complete hardware and software stack spanning all eight layers, including workload traces (XRBench, SPEC CPU2017, MLPerf), an ISA and ABI contract (RV64GCV), a precise compute organization (vector-capable CPU, accelerator, SoC block), careful memory and data movement choices (hierarchy, NoC bisection bandwidth, DRAM timing), strict adherence to a 3 W TDP power envelope, a robust compiler and runtime stack (including Triton, an open-source GPU compiler language, LLVM, and MLIR), physical constraints (TSMC N7 and 3 nm-class LP mobile process), and rigorous reliability and verification (Unified Power Format UPF, Static Timing Analysis STA signoff, SVA) across all resulting interfaces. We cannot rely on any single method to cover that entire chain.

Assistance has several roles. We can use a retrieval system to assemble our current workload, ISA, compiler, package, and tool constraints. We can deploy predictors to screen out microarchitecture and physical risks early on. An optimizer allows us to compare complex mappings and resource allocations, while generators can draft our RTL, compiler support, or tests. Finally, a tool-using system can automatically run our simulators and implementation checks, routing failures back to the relevant stage for review.

Shared assumptions remain mandatory. The Lighthouse example also clearly shows the limits of this decomposition. Every component in our pipeline must refer to the same underlying workload, interfaces, and technology assumptions. Even with all this assistance, our selected design still needs executable software, stronger physical analysis, and independent verification. While assistance can connect and accelerate our work, it cannot turn an inconsistent set of local results into a sound, reliable system design.

The public AlphaChip debate illustrates this same boundary. Producing a macro placement quickly is a different claim from establishing its routed physical quality. We have seen that comparisons of learned placement inherently depend on specific cases, compute budgets, implementation details, and downstream checks (Mirhoseini et al. 2021; Cheng et al. 2023; Goldie et al. 2024). While we will not resolve that technical disagreement here, its crucial lesson for our discussion is clear. Candidate-production speed can never stand in for matched, rigorous downstream evaluation.

Mirhoseini, Azalia, Anna Goldie, Mustafa Yazgan, et al. 2021. “A Graph Placement Methodology for Fast Chip Design.” Nature 594 (7862): 207–12. https://doi.org/10.1038/s41586-021-03544-w.
Cheng, Chung-Kuan, Andrew B. Kahng, Sayak Kundu, Yucheng Wang, and Zhiang Wang. 2023. “Assessment of Reinforcement Learning for Macro Placement.” Proceedings of the 2023 International Symposium on Physical Design (ISPD). https://doi.org/10.1145/3569052.3578926.
Goldie, Anna, Azalia Mirhoseini, and Jeff Dean. 2024. “That Chip Has Sailed: A Critique of Unfounded Skepticism Around AI for Chip Design.” arXiv Preprint arXiv:2411.10053, ahead of print. https://doi.org/10.48550/arXiv.2411.10053.

No single method diagnoses its own need, performs the required work, and supplies an independent check all at the same time. As architects, we still own the question, the scope, the comparison, and the supported technical recommendation. A named commitment authority separately decides whether the organization should act on that recommendation.

2.10 Common Pitfalls

When we deploy AI assistance inside the design loop, we frequently expose anti-patterns where candidate generation velocity outpaces evaluation capacity. As system boundaries expand and multi-stage evaluation becomes expensive, we risk conflating local optimization speed with systemic progress. The following pitfalls detail how uncalibrated generation loops and compounding evaluation bottlenecks distort our architectural decision-making.

  • Conflating candidate generation throughput with evaluation capacity: Assuming that generating hundreds of candidate microarchitectures or floorplans per hour represents genuine progress. Generating options is cheap, but evaluating them accurately against cycle-accurate simulation, formal verification, and physical EDA signoff demands substantial computational and human resources. Expanding generation velocity without scaling evaluation capacity creates queue backlogs and forces our pipeline to drop essential validation checks.

  • Evaluating hardware candidates without co-optimized software: Treating hardware block exploration as independent of the executing software stack. Specialized accelerators evaluated against unoptimized compiler flags, stale kernel libraries, or mismatched memory layouts yield misleading performance estimates. When candidate generation loops optimize hardware in isolation, selected configurations frequently stall in deployment under real software workloads.

  • Ignoring downstream physical design and integration bottlenecks: Ranking candidate blocks purely on high-level analytical metrics or floorplan proxies while ignoring routing congestion, power delivery networks, and clock domain crossings. Fast candidate generators often select high-density layouts that fail physical synthesis or require prolonged wire-delay debug cycles, shifting engineering costs further downstream in the design loop.8

8 Horowitz energy and wire scaling: Interconnect wire energy and RC delay scale poorly relative to logic gates in deep submicron nodes (Horowitz 2014; Ho et al. 2001). High-level floorplan generators that optimize logic density without extracting global routing delay and power delivery networks (PDN) frequently trigger severe timing and thermal signoff failures.

Horowitz, Mark. 2014. “1.1 Computing’s Energy Problem (and What We Can Do about It).” 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers, 10–14. https://doi.org/10.1109/ISSCC.2014.6757323.
Ho, Ron, Kenneth W. Mai, and Mark A. Horowitz. 2001. “The Future of Wires.” Proceedings of the IEEE 89 (4): 490–504. https://doi.org/10.1109/5.920580.
  • Surrogate model exploitation and uncalibrated screening: Relying on fast machine learning surrogate models to filter candidates without periodic re-calibration against high-fidelity EDA tools. Learned proxies exploit blind spots in their training distribution, nominating candidates that look optimal to the surrogate but fail gate-level timing or thermal limits during signoff.

  • Relocating bottlenecks downstream instead of eliminating work: Accelerating early RTL synthesis or candidate draft creation while leaving verification debug, coverage closure, and manual review unassisted. Shifting the system bottleneck downstream creates evaluation congestion, increasing total turn-around time even as generation metrics appear to improve.

2.11 Open Questions

As we move from manual architectural exploration to AI-augmented generation, the open problems concentrate where candidate creation meets rigorous evaluation. When we scale up our ability to propose new designs, navigating those choices against compounding physical, software, and integration constraints becomes difficult. Solving the questions below is essential if we want to untangle where our design loops are bottlenecked. We must ensure our new methodologies drive actual progress, rather than shifting an unsustainable evaluation burden further downstream.

Diagnosing compounding pressure. We only see the true value of AI assistance when it relieves the work that actually delays our architectural decisions, rather than just hiding or relocating the burden.

  • How can we reliably identify the limiting constraint in an ongoing project? Before deploying AI assistance, the architect must know whether the project is blocked on generating architectural candidates, running simulations, debugging SoC composition, or passing physical signoff. The challenge lies in combining tool logs, traces, and work records into a defensible diagnosis before predicting that an intervention will accelerate the final decision.

  • How can we detect when an intervention merely shifts a bottleneck downstream? Using generative models to rapidly propose specialized accelerator designs risks overwhelming simulation, verification, and expert review capacity. Reliable signals across the complete tool path are needed to distinguish a genuine reduction in engineering effort from a costly queue shift.

Managing evaluation capacity. We can only benefit from a vast design space if we possess the simulation, physical verification, and review capacity to actually identify our best candidates.

  • How can we detect when candidate generation outpaces evaluation? Because different candidates require vastly different levels of checking, from high-level performance proxies to cycle-accurate simulation, FPGA prototyping, and power delivery analysis, simple backlog growth can be misleading. The core research problem is identifying when this capacity imbalance threatens the timeline and budget, well before it prevents a supported decision.

  • When does expanding the design space actively harm our final result? Given fixed evaluation and review budgets, generating more candidates can either uncover a breakthrough design or spread verification efforts far too thin. The open problem is defining the precise threshold where adding more architectural choices dilutes the evidence, leaving the final decision weakly supported.

2.12 Summary

System complexity changes what a fair architecture comparison must carry. Microarchitecture, specialization, system composition, evolving software, physical constraints, evaluation cost, and verification add coupled work rather than independent concerns. A local improvement can easily shift costs elsewhere in the system or expose constraints that an earlier model omitted.

The technology dividend has also changed. More transistors no longer produce proportional frequency or single-thread performance automatically. We must extract more of the benefit through parallelism, specialization, software, and composition, while the cost of evaluating and verifying those choices continues to rise. A large design space matters only when the team can evaluate enough of it, at sufficient fidelity, to change the pending architecture decision.

Those pressures make AI assistance worth investigating. Retrieval can assemble scattered context, predictors can ration expensive evaluation, generators can draft artifacts, optimizers can search large spaces, and tool-using systems can connect proposals to existing engineering checks. None of these roles is universally helpful, and none makes its own output trustworthy.

Key Takeaways: Coupled Pressures and the Limits of Assistance
  • Coupled system complexity. Microarchitecture, specialization, system composition, software co-adaptation, physical limits, and verification load add tightly coupled work rather than independent design choices.
  • Shift in technology dividends. Transistor density scaling no longer delivers frequency or single-thread performance automatically, shifting architectural gains to heterogeneous parallelism, domain specialization, and system composition.
  • Evaluation capacity constraints. Expanding the architectural design space delivers real value only when an engineering team possesses the simulation, physical signoff, and review capacity to evaluate candidates at sufficient fidelity.
  • Boundaries of AI assistance. Learned retrieval, surrogate prediction, candidate generation, and tool orchestration assist design exploration, but cannot make their own outputs trustworthy or bypass the checks appropriate to the claim.

Ultimately, we must evaluate the complete architecture work. A hardware claim inherits its workload, software path, physical assumptions, tool state, and verification. Point assistance can earn its place when a local intervention improves that complete comparison without shifting cost downstream or weakening a necessary check. A broader AI-native system faces the same test across more of the workflow. Applying either well requires a systematic way to organize AI-native co-design work, which Chapter 3 takes up.