ASICs, SOCs and Rock’s Law

In this series about the future of the computer, we looked at Moore’s Law: chips become smaller and have more transistors. We also know that that doesn’t mean they become more powerful. The examples we used came mainly from desktop CPUs. How about smaller CPUs, like those used in smartphones?

Hurray, 14nm chips!
Hurray, 14nm chips!

One hype at the moment is that the chip in the latest Samsung Galaxy S6 is produced using  a 14nm process, just like the Intel Broadwell chips. Cool! Hurray! No worries! Unfortunately, one swallow doesn’t make the summer. The only reason why Samsung can use such a process for smartphones (and Intel for PCs) is that there’s a lot of money in that market. Smartphones (and even PCs) get sold a lot. But what is really the status of ASICs and SoCs?

Most processes are stuck around 28nm or larger. There’s a reason for that: Rock’s Law (also known as Moore’s second law). The law states that it becomes harder and more expensive to comply with Moore’s law. There are even prophets who preach that Moore’s Law just stopped at 28nm. Technology wouldn’t be technology if they didn’t look at this as a challenge. Even Intel is looking for alternatives for silicon starting at 7nm (even though the alternatives don’t look viable at the moment). There is still plenty of work to be done on CPUs, but the focus has moved on.

So what is the tech sector working on when it’s not working on pure compute? Applications. The days of the “killer app” that turned a platform into a success (VisiCalc) are behind us. These days, the platform itself is the application: we build small computers that do something specific, connect them to each other and call it the Internet of Things.

SoCs, ASICs en Rock’s Law

We hebben in deze reeks over de toekomst van de computer gekeken naar de Wet van Moore: chips worden kleiner en bevatten meer transistoren. We weten ook dat ze daarom niet krachtiger worden. De voorbeelden waren vooral desktop CPUs. Hoe zit het met de kleinere CPUs, zoals die gebruikt worden in smartphones?

Hoera, 14nm chips!
Hoera, 14nm chips!

Op dit moment is de nieuwe hype dat de nieuwe Samsung Galaxy S6 ook een 14nm chip heeft, net zoals de nieuwste Broadwell processoren van Intel. Koel! Hoera! Geen vuiltje aan de lucht! Was het maar zo eenvoudig. De enige reden waarom deze processen lukken voor computers en smartphones is dat er veel geld tegen aan kan gesmeten worden. Die dingen worden veel verkocht. Maar hoe zit het nu echt met ASICs en SoCs?

De meeste processen zitten rond de 28nm of nog net er boven. Daar is een reden voor: Rock’s Law (ook gekend als Moore’s second law). Die zegt dat het moeilijker en duurder wordt om te blijven voldoen aan Moore’s Law. Er zijn er zelfs die beweren dat de wet van Moore gewoon ophield op 28nm. Natuurlijk zou technologie geen technologie zijn als we dit niet zouden bekijken als een uitdaging. Zelfs Intel kijkt voor alternatieven voor silicium vanaf 7nm (al lijken er weinig momenteel haalbaar). Er is dus nog wel genoeg werk aan de CPU-kant, maar het lijkt er op dat de focus is verschoven.

Waar is de tech sector dan mee bezig in plaats van met pure compute? Toepassingen! De dagen dat één toepassing van een platform een succes kon maken (VisiCalc) liggen ver achter ons. Tegenwoordig is het platform de toepassing: we bouwen kleine computertjes die iets specifieks voor ons doen, we verbinden ze met mekaar en noemen dat Internet of Things.

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!

Diversiteit in de CPU’s: multicore, SoC

Sinds Dennard scaling ophield, is het uitzicht van de CPU ook grondig veranderd. We kunnen dit zien wanneer we een (uiteraard single core) i386 vergelijken met een (even single core) Atom. De i386 is een core. De Atom heeft ergens ook een core, als je hem vindt tussen alle co-processoren en I/O. De vergelijking doet wat denken aan een telefoon met een draaischijf en een smartphone: en je kan er ook mee bellen.

Intel i386: kijk, een adresbus, een adder en, euh, dat is het ongeveer! Intel i386: kijk, een adresbus, een adder en, euh, dat is het ongeveer! ces2012-intel-atom-block-diagram-614x250 Intel Atom: massa’s I/O, een handvol co-processoren, een pittige cache… o ja, en een cpu-core.

Het lijkt misschien onfair van een CPU van 20 jaar voor het einde van Dennard scaling te vergelijken met een recente zoals Atom. Laten we dan eens kijken naar de laatste voor Tejas en Jayhawk: de Pentium4. Hardware Secrets heeft een diepgaand artikel over deze processor van in oktober 2005. Keywords zijn: Branch Target Buffer, Translation Lookaside Buffer, CISC/RISC-architectuur enzovoort. Er is een cache en een floating point co-processor bijgekomen, maar eigenlijk is het een CPU on steroids. En vooral: het is een single core.

De opvolger van de Pentium4 was de Pentium-D, een variant die dual core is. En die werd direct gevolgd door de Intel Core2, de eerste reeks die ook quad-cores had. Maar gewoon extra cores toevoegen is geen lange-termijnoplossing. Tegen dat de chips gemaakt worden op 8nm moet met een eenvoudige multicore-architectuur tot 50% van de CPU ongebruikt blijven om niet te oververhitten. En de meeste toepassingen zijn gewoon niet zo schaalbaar dat ze goed werken op meer processoren. Verbetert een 8-core de snelheid van Microsoft Word?

De oplossing is van de I/O peripherals on-chip te plaatsen. Zo evolueren CPU’s naar een system-on-a-chip (SoC). De Atom hierboven is een typisch voorbeeld.

SoC was geen nieuwe technologie: in 1974 was er een eerste experiment mee, al kon dat bezwaarlijk succesvol genoemd worden. Embedded systems gebruikten al langer SoCs of chips specifiek voor één toepassing (ASIC) gewerkt. Intel werd wakker en merkte dit op. Intel had nog een andere goeie reden om naar embedded te kijken: smartphones zijn een vorm van embedded computers en verkopen veel meer dan PC’s. En smartphones zijn dan nog klein tegenover het potentieel van de technologische opvolger van de embedded systems: Internet of Things (IoT).

Maar dat is voor de volgende paar blogposts!

Dennard scaling: how to build even faster CPUs?

As mentioned in the previous post in this series about the future of the computer, CPU manufacturers hit a brick wall around 2004. Intel had invested a tremendous amount in their new architecture, Tejas (desktop) and Jayhawk (server) but cancelled it. What had happened?

The end of the free performance upgrades with every new chip.
Dennard scaling stops: only the the number of transistor still scales.

When we can put double the number of transistors on the same surface, it would seem logical that they use double the amount of power. No, said Robert H. Dennard: because these transistors are smaller, the power density stays the same. In other words: the power used per square millimeter is identical. The extra transistors are effectively free as far as power consumption is concerned. This is Dennard scaling and it is what gave Moore’s Law its power.

Gave, because Dennard scaling stopped working in 2004. Extremetech describes in detail what happened. From 90nm and smaller, it became unavoidable that transistors would leak part of their power into the substrate of the processor. When that happens, the chip heats up. Put a sufficiently large number of “leaky” transistors together and the chip overheats. The continuous revolution comes to a grinding halt. Before 2004, chip evolution was lightning fast: the clock speed of a 1GHz P3 is 125x higher than that of an 8086, but its power usage is only 18x higher. Between 1994 and 1998, the clock speed of a processor increased with 300%. But between 2007 and 2011, the increase was only 33%. Processors hit a hard and solid wall.

Move over single core, from 2004 it's the multicore era.
Move over single core, from 2004 it’s the multicore era.

There can hardly be a more in-depth description of the consequences than the one DrDobbs gives (in their typical style) in the article “The Free Lunch Is Over“. What do we do with more transistors when they just overheat? The answer is: we try to use them as little as possible. Suddenly, it was hip to have processors with more than one core on a chip. Perfect! Software wasn’t ready for multicore so at least half of the transistors remained idle! All sarcasm aside, the end of Dennard scaling also meant the end of straightforward chip design. Before, the focus was on building a single core that was more complex and more powerful. Since then, the complexity of a processor is much more diverse. But that is the subject of the next blog post.

Dennard scaling: hoe nog snellere CPUs bouwen?

Zoals gezegd in de vorige post in deze reeks over de toekomst van de computer, knalde de sector van de CPUs rond 2004 tegen een muur. Intel had gigantisch geïnvesteerd in hun nieuwe architectuur, Tejas (desktop) en Jayhawk (server) maar schrapte ze. Wat was er gebeurd?

Het einde van de gratis performance upgrades bij elke nieuwe chip.
Dennard scaling stopt: enkel het aantal transistoren schaalt nog verder.

Wanneer we plots dubbel zo veel transistoren op dezelfde oppervlakte kunnen zetten, dan lijkt het logisch dat er dubbel zo veel stroom verbruikt wordt. Nee, zei Robert H. Dennard: omdat die transistoren kleiner zijn, blijft de vermogensdensiteit identiek. Met andere woorden: per vierkante millimeter verbruiken we even veel. De extra transistoren zijn dus effectief gratis qua verbruik. Dat is Dennard scaling en het is ook wat de Wet van Moore zijn kracht gaf.

Gaf, want Dennard scaling stopte dus in 2004. Extremetech beschrijft in detail wat er toen juist gebeurd is. Vanaf 90nm en kleiner bleek het onvermijdelijk dat er stroom van de gate in het onderliggende substraat lekt. Wanneer dat gebeurt, warmt de chip op. Zet genoeg “lekke” transistoren bij mekaar en de chip oververhit. De continue revolutie valt stil. Voor 2004 ging alles bliksemsnel: de klok van een 1GHz P3 gaat 125x sneller dan een 8086, maar verbruikt maar 18x zo veel. Tussen 1994 en 1998 ging de kloksnelheid met 300% naar boven. Maar tussen 2007 en 2011 was dat maar 33%. De muur was hard en zeer stevig.

Gedaan met single core, het multicore-tijdperk begint in 2004.
Gedaan met single core, het multicore-tijdperk begint in 2004.

De gevolgen worden op de ongeëvenaard diepgaande stijl van DrDobbs Magazine uitgelegd in het artikel “The Free Lunch Is Over“. Wat doen we met meer transistoren als die gewoon opsmoren? We proberen ze zo weinig mogelijk te gebruiken. Plots werd het hip van meer dan één processor op een chip te zetten. Ideaal! De software was er niet klaar voor, dus bleven heel wat transistoren ongebruikt. Los van alle sarcasme, betekende het einde van Dennard scaling ook het einde van het rechtlijnige chipdesign waarbij single core processoren complexer en zo krachtiger werden. Sinds toen is de complexiteit van processoren veel diverser van aard. Maar dat is voor de volgende blogpost.