Why Clock Speed Stopped Increasing: The Power Wall
Increasing a processor's clock frequency makes it complete more operations per second, but it also increases the amount of electrical power the chip consumes and, correspondingly, the heat it produces. This relationship is often called the Power Wall.
Power consumption in digital circuits grows roughly with the following relationship:
Power ≈ Capacitive Load × Voltage² × FrequencyBecause power scales with the square of voltage, even small increases in clock speed and voltage together produce disproportionately large increases in heat output. Beyond a certain point, the heat generated can no longer be removed using practical and affordable cooling methods, which is why manufacturers eventually stopped pushing single-core clock speeds significantly higher.
The Sea Change: Moving from Single Cores to Multiple Cores
Once raising clock speed became impractical, the industry shifted strategy: instead of making one processing core faster, chips began including multiple independent cores on the same piece of silicon. This shift is sometimes referred to as The Sea Change from uniprocessors to Multicore Microprocessors.
This change had a major consequence for software developers. A single-threaded program automatically ran faster on a new processor generation in the past, simply because the clock got faster. With multicore chips, a program only benefits from additional cores if it is explicitly written to divide its work across them — a technique known as Parallel Programming. Software that cannot be split this way sees little to no benefit from having more cores available.
Real Stuff: What Benchmarking an Actual Processor Shows
Marketing numbers and theoretical peak performance figures often differ significantly from what a processor achieves on real workloads. Benchmarking a real chip, such as an Intel Core i7, against a standardized suite of representative programs reveals how performance varies depending on the type of task: some workloads are limited by how fast data can move through memory, others are limited by how many arithmetic operations the core can issue per cycle, and results can differ substantially between programs even on identical hardware.
This is why relying on a single performance number, without knowing what workload produced it, gives an incomplete and sometimes misleading picture of real capability.
Common Fallacies and Pitfalls in Performance Reasoning
Certain mistaken assumptions about performance recur often enough that they are worth naming explicitly.
- Assuming that a higher clock frequency alone guarantees better performance, ignoring the number of cycles each instruction actually requires.
- Assuming that doubling the number of cores automatically doubles real-world application speed, ignoring the portion of a program that cannot be parallelized.
- Using peak theoretical performance figures as if they represented sustained real-world throughput.
- Comparing two systems using different benchmarks or workloads and treating the comparison as fair.
Concluding Remarks
The transition described in this chapter — from single fast cores constrained by the power wall, to multiple cores requiring explicit parallel software — shaped nearly every architectural decision made afterward. Understanding this shift is a prerequisite for reasoning correctly about why modern hardware and software are designed the way they are.