Diversity in CPUs: multicore, SoC

Since Dennard scaling stopped working, the design of a CPU has changed dramatically. We can see this clearly when we compare an (obviously single core) i386 with a (just as single core) Atom. The i386 is just a core. The Atom has a core somewhere, but you have to find it between all the coprocessors and I/O. The comparison is a bit like an old phone vs. a smartphone: ah yes, you can also make calls with it.

Intel i386: kijk, een adresbus, een adder en, euh, dat is het ongeveer! Intel i386: look, an address bus, an adder and, ehrm, that’s about it! ces2012-intel-atom-block-diagram-614x250 Intel Atom: lots of I/O, a handful of coprocessors, a nice cache… oh yes, there’s a cpu core too.

It may seem unfair to compare a CPU of 20 years before the demise of Dennard scaling to a recent one like Atom. But then let’s take a look at the last Intel processor before Tejas and Jayhawk: the Pentium4. Hardware Secrets has an in-depth article about this processor that dates from October 2005. Keywords are: Branch Target Buffer, Translation Lookaside Buffer, CISC/RISC-architecture, and so on. There’s a cache and a floating point unit, but it’s actually a CPU core on steroids. And notice: it’s a single core.

The successor of the Pentium4 was the Pentium-D, a variation that is a dualcore. That one was followed by the Intel Core2, the first series that also offered quadcores. But just adding more cores isn’t a long term solution. By the time the production process reaches 8nm, a simple multicore architecture has to shut down up to 50% of the CPU, otherwise it starts overheating. And anyway, most applications just aren’t that scalable. Does an octa-core improve the speed of Microsoft Word?

The solution is to put the I/O peripherals on-chip as well. This way, the humble CPU evolves into a system-on-a-chip (SoC). The Intel Atom above is a typical example.

SoC isn’t a new technology: there was a first experiment in 1974, though it could hardly be called successful. Embedded systems had been using SoCs and application-specific chips (ASICS) for quite some time. Intel took notice. Aside from Dennard scaling, Intel had a second good reason to take notice. Smartphones are a sort of embedded computers and they sell way more than regular PCs. And smartphones are peanuts compared to the potential of the technological successor of embedded systems: Internet of Things (IoT).

But that is a topic for the next few blog posts!