CAComputer Architecture · Lesson 5 of 7
Cores, Threads & Why Free Lunch Ended
CPUs stopped getting dramatically faster per-core around 2005 — physics said no. Instead we got more cores. Using them is now the programmer's job, and it's the hardest part of the machine.
Clock speeds hit a power wall (~4 GHz produces too much heat to cool practically), so vendors put multiple full CPUs — cores — on one chip. Each core runs one instruction stream (thread) at a time; 8 cores genuinely execute 8 things simultaneously. Simultaneous multithreading (Intel's 'hyper-threading') lets one core juggle two threads to fill idle execution slots — helpful, but not double speed.
✦ Tip
Modern hardware parallelism also includes SIMD (one instruction operating on 8-16 values at once — how video codecs and NumPy fly) and GPUs (thousands of simple cores for uniform work — graphics and neural networks). Different shapes of the same idea: do more per clock, since clocks stopped climbing.
Modern hardware parallelism also includes SIMD (one instruction operating on 8-16 values at once — how video codecs and NumPy fly) and GPUs (thousands of simple cores for uniform work — graphics and neural networks). Different shapes of the same idea: do more per clock, since clocks stopped climbing.
◆ Note
Cache coherency ties the whole chip together: when core A writes data cached by core B, hardware invalidates B's copy automatically. Correctness is preserved, but ping-ponging a hot cache line between cores ('false sharing') silently wrecks performance — a classic advanced gotcha.
Cache coherency ties the whole chip together: when core A writes data cached by core B, hardware invalidates B's copy automatically. Correctness is preserved, but ping-ponging a hot cache line between cores ('false sharing') silently wrecks performance — a classic advanced gotcha.