Moore’s law: more transistors, so what?

As we’ve seen in the previous post in this series about the future of the computerMoore’s law predicts that every other year, the number of transistors on a chip doubles. So what? What are we going to do with all those transistors?

In the 90s, the life of a chip designer was rather straightforward: we’ll do the same, but faster. The industry had just emerged from the period of the great RISC-CISC war that was basically a war between Intel and its competitors. The machine language of a CISC processor had lots of instructions, but each instruction took a long time to execute. In a RISC processor, the number of instructions was limited but each was executed in exactly 1 clock cycle. If we simplify history a bit, the two designs approached each other in the 90s. RISC processors used the extra transistors to add more instructions (multiplications! floating point!). CISC processors used them to execute the existing instructions faster.

It’s an interesting case study to look at how Intel made their CISC x86 architecture more RISC-like. First, they built a layer under the assembly language: microcode. This wasn’t new: microcode is just a technique to simplify the design of CISC processors that’s been used since the 50s. Some microcode instructions are again split up in micro-instructions. The end result is a small set of basic instructions that are autonomous and independent.

superscalar-superpipeline-processor-10-638 Each instruction consists of a number of steps: fetching the instruction, fetching the data, executing the instruction and storing the data. Now we have split all of this up, we can execute it in a pipeline that works just like a conveyor belt in a factory. The 90s were the heyday of pipeline design: regular optimisations, super pipelining, superscalar (with >1 pipeline in parallel), … Each instruction may take a long time, but because the pipeline was processing several instructions at once, the effective processing speed was much higher.

Het einde van de gratis performance upgrades bij elke nieuwe chip.
The end of the free performance upgrades with every new chip.

The future looked great: thanks to Moore’s law, we could cram more transistors on a chip and use those to do the same, but faster. Life was good for processor manufacturers in the 90s. But in 2004, the whole industry hit a brick wall. The party was over. Intel was about to launch its latest and greatest Arnold-Schwarzenneger-Terminator of a CISC CPU. But the Tejas and Jayhawk architectures were shelved. It turned out Moore’s law by itself wasn’t sufficient to build faster processors. The law had a little twin brother: Dennard scaling. And that law had just passed its best-by date in 2004.

More about Dennard & the consequences in the next post!

Wet van Moore: meer transistoren, so what?

Zoals we al zagen in de vorige post in deze reeks over de toekomst van de computer, voorspelt de wet van Moore dat we elke twee jaar dubbel zo veel transistoren op een chip krijgen. So what? Wat gaan we doen met al die transistoren?

In de jaren ’90 was het leven van een chip designer nog relatief rechtlijnig: we doen hetzelfde, maar sneller. We kwamen uit de periode van de grote oorlog tussen RISC en CISC die grotendeels neerkwam op een oorlog tussen Intel en haar concurrenten. De machinetaal van CISC processoren hadden veel instructies, maar elke instructie duurde lang om uit te voeren. Bij RISC waren er weinig instructies die elk in exact 1 klokcyclus werden uitgevoerd. De jaren ’90 waren dan, eenvoudig gezegd, een toenadering. RISC processoren gebruikten extra transistoren voor extra instructies (vermenigvuldigingen! floating point!). CISC processoren gebruikten ze voor de vele instructies sneller te laten uitvoeren.

Het is interessant te zien hoe Intel hun CISC x86 meer RISC-achtig heeft gemaakt. Eerst bouwden ze een laag onder hun machinetaal: microcode. Niet dat dit nieuw was: microcode is gewoon een techniek om het ontwerp van CISC processoren te vereenvoudigen die al sinds de jaren ’50 in gebruik is. Sommige microcode instructies worden op zich nog opgesplitst in micro-instructies. Het resultaat is een kleine set basisinstructies die autonoom zijn en onafhankelijk van mekaar.

Elke instructie bestaat uit een aantal stappen: ophalen van de instructie, ophalen van de data, uitvoeren van de instructie en opslagen van de data. Nu we alles mooi opgedeeld hebben, kunnen we dit uitvoeren in een pipeline als op een lopende band. De jaren ’90 waren de hoogdagen van pipeline design: gewone optimalisaties, super pipelining, superscalar (met >1 pipeline in parallel), … Elke instructie duurde misschien nog wel lang, maar de pipeline was bezig met verscheidene instructies tegelijk, dus de effectieve snelheid van uitvoer leek veel hoger.

Het einde van de gratis performance upgrades bij elke nieuwe chip.
Het einde van de gratis performance upgrades bij elke nieuwe chip.

De toekomst leek fantastisch: dankzij de wet van Moore kregen we meer transistoren op een chip en die kunnen we gebruiken om hetzelfde sneller te laten lopen. De jaren ’90 waren de hoogdagen voor processorfabrikanten. Maar in 2004 knalde de hele sector tegen een muur: het feestje was afgelopen. Intel wou net zijn nieuwste John-Massis-spierbal van een CISC CPU op de markt brengen, maar de architecturen Tejas en Jayhawk werden afgevoerd. Het bleek dat de wet van Moore op zich niet genoeg was om snellere processoren te bouwen. De wet had een tweelingbroertje: Dennard scaling. En die bereikte zijn houdbaarheidsdatum in 2004.

Meer over Dennard & de gevolgen in de volgende post!

The end of Moore’s Law

Zilog Z80A processor
Z80A processor, the one I used first in my Sinclair ZX81

As the first post in this series about the future of the computer we look at the basic hardware component: the processor. The development of processors (and chips in general) follows about the most well-known law in computers: Moore’s law. Gordon Moore was co-founder of Intel when he noticed the number of transistors they put on a chip doubled every other year. Since he noticed this in 1965 and 50 years have passed since then, processors nowadays have 2 25 (33,5 million) times more transistors than back then.

Historically, this law is extremely accurate. It almost feels like it’s a self-fulfilling prophecy and that manufacturers aim to reach it. One very explicit example is Intel with its tick-tock development. Every other year, Intel starts using another production process. This works really well for them: when they started tick-tock in 2006, AMD was a tough competitor. A few ticks and tocks later, Intel was both the technological as well as the market leader.

Intel announces new processors yearly. The first step, in 2006, was a tick: the existing architecture was put on another process, which was 65nm back then. The next year, the process stays the same and Intel improves the processor architecture. This keeps a clean division between the process and architectural improvements. Intel is able to avoid typical problems in the production of new processors this way. When another manufacturer updates both its process as well as its architecture at the same time, it can be hard to figure out if a bug is due to the process or the architecture. For example, TI’s TMS320C62 DSP processors experienced serious delays because of this.

When Intel ticks, they shrink the process with a factor of around √2. So on the same surface, they exactly double the number of transistors every other year.Self-fulfilling prophecy!

FinFET vergroot het contactoppervlak van gates.
FinFET is één manier om het contactoppervlak van gates te vergroten bij het verkleinen van het productieproces.

The production of smaller components has its own challenges. For example, the contact surface of the transistor gates becomes smaller, which makes it harder for enough electrons to pass. To solve that, processors with 25-20nm processes or smaller have gates that have a “fin” standing upright. The gate is wrapped over it, giving a larger contact surface. This kind of technique is an impressive workaround, but physically there is a hard limit on how small we can build transistors. And that limit is easy to calculate.

The most recent Intel Broadwell processors use a 14nm process. Graphene, a sheet of carbon molecules exactly one atom thick, is 0,345 nm thick (and silicon is a larger atom than carbon). Even if we assume that Intel succeeds in shrinking every other year by a factor of √2, then after 10 ticks the process is smaller than one atom. We can safely state that the end of an era is near.

In the next posts, I will cover other aspects of Moore’s Law: heat, production costs, and more. Did you hear about a material that can replace silicon? Or do you know how processors can evolve after Moore’s Law? Let me know in the comments below!

Twitter experiments

I’m experimenting a bit with Twitter & Twitter tools to increase my followers. Here’s a few things I found out already:

    • An old bit of wisdom is the followers ratio. If you have more followers than people you’re following, wow, you must be an expert. If it’s the other way round, you must be a soccer mom catching up with the news through Twitter.
    • Being friendly works. Somebody interesting started following you? Send a message and follow back. And use #ff to thank followers on Friday.
    • I downloaded a free cheat sheet from Punk Rock Marketing that gives a number of interesting free tips. A friend of mine (@DeNijsDirk) used their Twitter Marketing That Doesn’t Suck to triple his followers in a month.
FriendOrFollow overview
FriendOrFollow overview
  • I just tried out TweepDiff. It’s a simple and free website that compares your followers with who you are following. But that’s all it does. You can’t unfollow from the site, so it’s a laborious process of switching to a client to unfollow. Also, adding new people to follow isn’t possible. The information is useful, though.
  • More capable is FriendOrFollow. In the free version, you get a thumbnail overview of who you are following, who follows you, who you mutually follow and people who stopped or started following you. Hovering over a thumbnail produces a popup with more details & actions. Not bad!

Which tools do you use to monitor your Twitter account? Any free tools that are useful? Other tips?

Het einde van de wet van Moore

Zilog Z80A processor
Z80A processor die ik als eerste gebruikte in mijn Sinclair ZX81

Als eerste blok in deze reeks over de toekomst van de computer kijken we naar de basis hardwarecomponent: de processor. De ontwikkeling van processoren (en chips in het algemeen) is onderhevig aan ongeveer de bekendste wet in de computerwereld: de wet van Moore. Gordon Moore was medeoprichter van Intel toen hij opmerkte dat het aantal transistoren dat ze op een chip konden plaatsen, elke twee jaar verdubbelde. Aangezien hij dat in 1965 opmerkte en we nu 50 jaar verder zijn, hebben de processoren tegenwoordig 2 25 (33,5 miljoen) keer meer transistoren dan toen.

Historisch blijkt deze wet ontzettend goed te kloppen. Het lijkt wel alsof het een self-fulfilling prophecy is en dat de fabrikanten zich er op richten. Eén erg expliciet voorbeeld is Intel met zijn tick-tock ontwikkeling. Elke twee jaar stapt Intel over naar een ander productieprocédé. Dit werkt ontzettend goed voor hen: toen ze in 2006 ermee begonnen, hadden ze nog sterke concurrentie van AMD. Enkele ticks en tocks later was Intel weer de onbetwiste technologische en marktleider.

Jaarlijks kondigt Intel zijn nieuwste processoren aan. De eerste stap, in 2006, was een tick: de bestaande architectuur werd overgezet naar een nieuw procédé, toen 65mm. Het jaar nadien blijft het procédé behouden en verbetert Intel de architectuur. Hierdoor is het werk netjes gescheiden en vermijdt Intel de typische problemen van processorfabrikanten. Andere fabrikanten updaten tegelijk hun architectuur en hun proces, waardoor het niet altijd duidelijk is waar een bug zit. Dit leidde o.a. tot enorme vertragingen bij de introductie van de TI TMS320C62 DSPs.

Wanneer Intel een tick doet, dan krimpt het procédé met ongeveer een factor van √2, dus per oppervlak verdubbelen ze elke twee jaar exact het aantal transistoren. Self-fulfilling prophecy!

FinFET vergroot het contactoppervlak van gates.
FinFET is één manier om het contactoppervlak van gates te vergroten bij het verkleinen van het productieproces.

De productie van kleinere componenten heeft uiteraard uitdagingen. Zo verkleint het contactoppervlak van de gates van de transistor, waardoor er minder electronen kunnen passeren. Om dat te omzeilen, worden de gates in processen vanaf 25-20nm over een rechtopstaande “vin” gedrapeerd, zodat het contactoppervlak terug vergroot. Dit soort technieken zijn knappe workarounds, maar fysiek is er een harde limiet op hoe klein we kunnen gaan. En we kunnen die eenvoudig uitrekenen.

De meest recente Broadwell-processoren van Intel zitten op een proces van 14nm. Grafeen, een vel koolstofmoleculen van exact één atoom dik, is 0,345 nm dik (en silicium is een groter atoom dan koolstof). Zelfs als we aannemen dat Intel er in slaagt om de twee jaar te krimpen met √2, dan is over 10 ticks het proces kleiner dan één atoom. We kunnen gerust stellen dat het einde van een tijdperk in zicht is.

In de volgende posts komen andere aspecten van Moore’s Law aan bod: hitte, productiekosten en meer. Heb jij van iets gehoord dat silicium kan vervangen? Of weet jij hoe processoren kunnen evolueren na de wet van Moore? Laat het hieronder zeker weten!

The past of the computer

Guess which OS this is!
A bit older than 2005… Which computer is this?

In this first post in the series about the future of the computer, let’s first look back. I want to show how short-sighted we are when we look forward. Looking back, we see obvious trends like smartphones and cloud computing. But we can’t just guess those by extrapolating our knowledge of the present towards the future: it doesn’t work for the stock market and it doesn’t work for technology.

Suppose we looked forward 10 years ago. The trends back then were: faster PCs and faster Internet. Concretely:

  • The processor war was about to start again. AMD launched the first 64 bit x86 processor in 2003: the K8 architecture, sold as the Opteron and the Athlon64. After that, they were first again with dual core server processors. Intel kept itself busy mainly with lawsuits. But in 2006, the giant awoke. They announced the Core architecture and started the incredibly successful tick-tock development.
  • Belgacom increased its ADSL speeds to nearly 5mbit/s. They had about a million customers. Telenet was coming up strong and owned around 25% of the residential market with a customer base of around 600000.
  • Mobile computing was very limited. Psion had opened Symbian to a consortium of GSM manufacturers like Nokia and Ericsson. Windows Mobile was strong in the US and the BlackBerry slowly started its victory march. It was two years before the iPhone was announced.

In 2005, it didn’t look like the smartphone had a good future. Mail worked okay: it’s what made the BlackBerry popular. But browsing wasn’t very enjoyable. Until 2004, Windows Mobile only supported a QVGA resolution (240 x 320). The state of apps was just as miserable. Even Apple didn’t have an app store in iOS 1.0. If you wanted to install an app, you had to google it, download it and jailbreak your iPhone.

The future, it seemed, belonged to the laptop. Indeed, in 2007 Intel considered mobile processors powerful enough to base a new type of small laptops around them: the netbooks. These had Wi-Fi and sometimes 3G as connectivity. In 2005, nobody saw it coming that mobile computing would be thoroughly revolutionised by smartphones and apps. And then I haven’t even mentioned tablets.

Today, it looks obvious that the future belongs to the smartphones and their apps. But that doesn’t mean that’s what the future will look for. What it means is that we have gotten used to smartphones and apps. Just like Henry Ford’s “faster horses”, we mostly expect more of the same, only better. Chances are slim that that’s the only thing we will be getting. That’s why I’m looking at a few trends that may be worrying or controversial.

Will the future look exactly as I say it will? Who knows. But I expect to recognise a few elements.

Which trends do you see under the surface at this moment? Will they determine the future of the computer? Let me know in the comments below!

Het verleden van de computer

Raad welk OS dit is!
Wel wat ouder dan 2005… Welke computer is dit?

Als eerste post in deze reeks over de toekomst van de computer, kijken we eerst achteruit. Ik wil tonen dat we kortzichtig zijn wanneer we vooruit kijken. Als we terugkijken, dan zien we natuurlijk wel tendenzen, zoals smartphones en cloud computing. Maar we kunnen die niet gewoon extrapoleren uit de kennis van het moment naar de toekomst toe: dat werkt niet voor aandelen, maar ook niet voor technologie.

Stel dat we 10 jaar geleden hadden vooruit gekeken. De trends waren toen: krachtigere PC’s en sneller Internet. Concreet:

  • De processor-oorlog ging net terug losbarsten. AMD bracht in 2003 als eerste een 64-bit x86 processor op de markt: de K8-architectuur, verkocht als de Opteron en de Athlon 64. Daarna waren ze eerst met dual core server processoren. Intel was vooral bezig met rechtszaken, maar in 2006 werd de reus wakker. Ze kondigden de Core architectuur aan en startten de waanzinnig succesvolle tick-tock ontwikkeling.
  • Belgacom verhoogde de ADSL snelheden naar bijna 5mbit/s. Ze hadden intussen al een miljoen klanten. Telenet was sterk aan het opkomen en had 25% van de residentiële markt, met ongeveer 600000 klanten.
  • Mobiel computeren was heel beperkt. Psion had Symbian geopend naar een consortium van GSM-fabrikanten, zoals Nokia en Ericsson. Windows Mobile stond sterk in de VS en de BlackBerry begon daar stilaan aan zijn optocht. Op de iPhone was het nog twee jaar wachten.

Als we in 2005 hadden gekeken naar de toekomst, dan leek de smartphone geen goede optie. Mail werkte enigszins: mail heeft de BlackBerry populair gemaakt. Maar browsen was niet bepaald prettig: Windows Mobile ondersteunde tot 2004 enkel QVGA (240 x 320). Met apps was het al even matig gesteld. Zelfs Apple bood geen app store in iOS 1.0. Voor extra apps moest je googlen, downloaden en je iPhone eerst kraken.

De toekomst was dus aan de laptop. Inderdaad, in 2007 vond Intel dat de mobiele processoren krachtig genoeg waren om een nieuwe klasse van kleine laptops uit te vinden: netbooks. Deze kwamen met Wi-Fi en soms met 3G als connectiviteit. Niemand zag in 2005 aankomen dat mobiel computeren helemaal zou revolutioneren met smartphones (en later tablets) en apps. En dan had ik het nog niet over de tablet.

Vandaag lijkt het logisch dat de toekomst is aan de smartphones en de apps. Maar dat betekent niet dat de toekomst zo zal zijn. Het betekent vooral dat we nu vertrouwd zijn geraakt aan smartphones en apps. Net zoals Henry Ford’s “snellere paarden” verwachten we nu vooral meer van het zelfde maar beter. De kans is klein dat we alleen dat zullen krijgen. Daarom kijk ik naar een paar tendenzen die soms zorgwekkend, soms controversieel zijn.

Zal de toekomst zo zijn zoals ik zeg? Wie weet. Maar elementen er van zal je zeker terugvinden.

Welke trends en tendenzen denk jij dat nu onder het oppervlak zitten en de toekomst van de computer zullen bepalen? Laat het me weten in de commentaren hier onder!

The future of the computer

Liever Nederlands?

In 10 or 20 years, computers will be very different from what they are now. Possibly their shape, too, but it’s the underlying technologies that faces a number of revolutions. And those will be as fundamental as the rise of home computers, PCs, Internet, cloud computing, smartphones, and so on. This post starts a series about the future of the computer, seen from a technological point of view.

Every so often, we can read in the media how differently we will work with our computers in the future. From self driving suitcases with speech recognition to strapping a smartphone to your face for virtual reality, the user interface guarantees a never ending feed of hilarious “news”. Let’s dig under this theatrical surface and look at what happens there, in the beating heart of what a computer is and how it gets us the information we asked for.

I see three areas in which computers will change fundamentally:

  • “Free compute” and the end of Moore’s law. We have grown so used to the exponential growth of computers that we have started to assume this is normal. On the one hand, Moore will continue to have an impact for a good while to come: not everything we use now is built on the latest process. On the other hand, we are reaching the limits of what is physically possible.
  • Internet of Things. As the slogan says: the digitalisation of the world has only just begun. Ideas are partially digitised. What does the world look like if we digitise the material side?
  • Distributed applications. Some of our applications are currently decentralised, mostly to make them more resilient against disasters. Blockchain technology allows completely distributed applications that don’t need central management.

In the coming months, I will expand into each of these three areas on this blog.

De toekomst van de computer

Over 10-20 jaar zien computers er helemaal anders uit. Fysiek misschien ook, maar de onderliggende technologie staat voor een aantal ingrijpende revoluties. En die zullen zeker zo diepgaand zijn als de opkomst van home computers, PC’s, Internet, cloud computing, smartphones en zo verder. Deze post begint een reeks over de toekomst van de computer, gezien van uit een technologisch standpunt.

De media komt af en toe met een artikel over hoe anders we zullen werken met computers in de toekomst. Van zelfsturende valiezen op spraakherkenning tot het voorbinden van een GSM voor virtuele realiteit, de user interface staat altijd garant voor hilarische berichtgeving. Laat ons even onder dit theatrale oppervlak graven en kijken wat er daar gebeurt, in het kloppende hart van wat een computer is en hoe hij ons de informatie bezorgt die we nodig hebben.

Ik zie drie vlakken waarop computers ingrijpend zullen veranderen:

  • “Gratis rekenkracht” en het einde van de wet van Moore. We zijn zo gewoon geraakt aan een exponentiële groei van de computers, dat we er stilaan van uitgaan dat dat normaal is. Enerzijds zal Moore nog wel een tijdje impact blijven hebben: niet alles wat we nu gebruiken is al op het meest recente proces. Anderzijds komen we aan de grenzen van wat fysiek mogelijk is.
  • Internet of Things. Zoals de slogan dan luidt: de digitalisering van de wereld is nog maar net begonnen. De ideeën van mensen zijn al gedeeltelijk gedigitaliseerd. Hoe ziet de wereld er uit als we de fysieke kant ook digitaliseren?
  • Gedistribueerde toepassingen. Momenteel zijn een deel van onze toepassingen gedecentraliseerd, vooral omdat ze dan resistenter zijn tegen rampscenario’s. Blockchain technologie staat toe een toepassing compleet te distribueren, waardoor er ook geen centrale beheerder meer nodig is.

In de komende maanden werk ik deze drie punten verder uit op deze blog.