Je leest:

Computer van slag

Computer van slag

Auteur: | 28 mei 2003

De processorsnelheid van een computer is erg belangrijk, dat weet zelfs de grootste digibeet: hoe meer GigaHertz, hoe sneller de computer als geheel. Chipontwerpers van het Communications Research Laboratory (CRL) te Japan willen aan die simpele waarheid gaan sleutelen met een klokloze computer. Hun ontwerp lijkt verdacht veel op een oude bekende voor biologen, de cellulaire automaat.

CRL-onderzoeker Ferdinand Peper ziet allerlei toepassingen voor het nieuwe ontwerp. “Simulaties in de natuur- of scheikunde vragen altijd om snellere computers,” zegt hij, “maar om fatsoenlijk te reageren op menselijke gebruikers heb je ook bergen rekenkracht nodig.” De snelheidswinst die hij verwacht hangt af van de opdracht die de chip krijgt: “sommige problemen lenen zich er beter voor dan andere.”

Kristallen klok

Elke moderne desktop-computer heeft een ingebouwde klok, een klein stukje kristal dat extreem snelle electrische pulsjes afgeeft. Die klok houdt niet bij welke dag het is, of wanneer de lunch begint, maar zorgt dat alle onderdelen van de computer in de pas lopen. Een computer die met een klok werkt heet ‘synchroon’ en sinds de jaren 1950 is dit de favoriete manier om een computer te ontwerpen. Op de maat van de klok verstuurt elke component gegevens en begint het met de volgende rekenslag. Door die regelmaat is de informatiestroom binnen de computer goed te voorspellen, wat weer makkelijk is voor ontwerpers van hard- en software. Maar de ijzeren discipline van de klok legt ook beperkingen op.

Eén zo’n beperking is de lichtsnelheid (299,792,458 m/sec). Het kost een signaal altijd tijd om van de klok naar een component te reizen. Daardoor begint een onderdeel dichtbij de klok eerder met zijn taak dan een verder gelegen collega en gaat het systeem uit de pas lopen. Een 2 GHZ-processor, die dus 2.000.000.000 tikken per seconde geeft, is eigenlijk al te snel. Licht kan tussen de tikken van de klok namelijk maar zo’n veertien centimeter afleggen, en dat komt al aardig in de buurt van de paar centimeter die een processor meet.

Omdat de informatie uit verschillende onderdelen óók door de chip naar nieuwe bestemmingen moet reizen en omdat de elektrische stroompjes in de chip ook nog eens langzamer bewegen dan het licht, zijn er nu al allerlei kunstgrepen nodig om de computeronderdelen in de pas te laten lopen. Al die extra apparatuur neemt ruimte en rekenkracht in beslag. Bovendien produceert alle apparatuur warmte, en in een warme chip reist een stroompulsje nóg trager…hoe compacter de chips, hoe groter al die problemen worden. Hoe kunnen ontwerpers in de toekomst steeds kleinere chips bouwen zonder allerlei kunstgrepen?

Dit circuit werkt zonder centrale klok: het is asynchroon. bron: Mobile Data Integration

Revolutionaire chips

In het CRL-ontwerp is een chip opgebouwd uit zogenaamde cellen die de waarde 0 of 1 kunnen hebben. Elke cel bestaat uit vier bits – zelf ook weer schakelaars die 0 of 1 als waarde hebben – en gehoorzaamt negen regels die de samenwerking met buurcellen regelen. Informatie stroomt als een kettingreactie van cellen door de chip heen. “De cellen zijn bewust erg simpel gehouden,” zegt Peper. Daardoor zijn ze makkelijk te verkleinen en in grote aantallen te produceren. “We proberen de chip ook zo te bouwen, dat een defecte cel gewoon wordt omzeild. Dat betekent dat het systeem een stootje kan hebben!” Hun simpele opbouw betekent trouwens niet dat de cellen alleen simpele klussen aankunnen. Informatici én biologen wisten dat al jaren. Cellulaire automaten, waar het CRL-ontwerp op is gebaseerd, zijn voor beide groepen namelijk interessant.

Cellulaire automaten

Automaten bestaan al langer dan vandaag – klokken en mechanisch speelgoed, maar ook computers zijn goede voorbeelden. In principe kun je altijd voorspellen wat een automaat gaat doen, als je maar weet hoe het binnenwerk eruit ziet en in welke toestand het apparaat zich bevindt. Op dat idee zijn cellulaire automaten (CAs) gebaseerd. Een CA is een afgesloten wereldje. In dat wereldje bestaan afstanden, tijd en grootheden alleen in vaste stapjes. Je krijgt dan aaneengrenzende cellen die maar een paar verschillende toestanden kunnen hebben. Verder zijn er regels die bepalen hoe alles na een tijdstap verandert. Dat maakt het eenvoudig om een CA met de hand of met een computer te simuleren. Informatica studenten krijgen vaak de opdracht om een CA zo snel mogelijk te laten werken. Daarbij moeten ze een manier bedenken om alle cellen waar niets gaat veranderen te negeren en alleen de ‘interessante’ stukken aan de regels te onderwerpen. Maar toch…hoe leuk kan een verzonnen wereldje met zulke simpele eigenschappen nou zijn?

In dit grid van 266 cellen hebben de CRL-onderzoekers een for-loop geprogrammeerd. Dat is een simpel en heel erg veel voorkomende manier om een reeks opdrachten telkens te herhalen. bron: Communications Research Laboratory

De truuk is om de regels zo te kiezen dat buurcellen elkaars toestand gaan veranderen. Dan verschijnen de meest ingewikkelde patronen. In een heel beroemde CA, eind jaren ‘60 bedacht door John Conway, met cellen die alleen maar aan of uit kunnen, zijn bijvoorbeeld patronen ontdekt die over het ’bord’ bewegen of zichzelf voortplanten! Deze CA heet dan ook niet voor niets Game of Life. In Game of Life zou je in principe een computer kunnen bouwen (er bestaat er zelfs al een die een reeks priemgetallen uitspuugt), maar dan ben je een computer aan het simuleren in een computer. De stap die Peper’s team bij CRL heeft gezet, is dat ze een CA in de echte wereld gaan bouwen. Een CA, met zijn patronen die allemaal met verschillende snelheden veranderen, is van zichzelf al asynchroon. Ideaal spul om een asynchrone chip mee te bouwen.

Asynchrone computers

Toen men in de jaren 1950 de eerste computers ontwierp, was een interne klok erg aantrekkelijk. Asynchrone ontwerpen bestaan wel – bedrijven als SHARP, Phillips en Sun Microsystems hebben asynchrone onderdelen op de markt – maar de overgrote meerderheid van de computers werkt synchroon. Het voordeel van een synchroon ontwerp is voorspelbaarheid. Het is immers makkelijker om een peloton marcherende soldaten ergens heen te dirigeren dan een wanordelijke groep met voetgangers. Met de steeds kleinere chips worden synchrone systemen echter steeds moeilijker te hanteren. Het lijkt dan ook tijd om de teugels te laten vieren.

In een asynchrone computer werkt elk onderdeel op zijn eigen snelheid en soms is één deel van een programma dan ook al verder dan een ander. Bijhouden van alle mogelijke toestanden in een asynchroon systeem is haast onmogelijk – met al die verschillende onderdelen zijn de combinaties haast eindeloos. Bij het ontwerpen moet daarom aandacht worden besteed aan het laten samenwerking van de onderdelen. Synchrone ontwerpen hadden dit soort problemen aanvankelijk ook, maar alle jaren en miljoenen die in het ontwerpen ervan zijn gestoken hebben een hoop expertise opgeleverd. Voor asynchrone systemen is zo’n investering domweg nooit gedaan.

“Op een compleet nieuwe manier computers leren ontwerpen is niet makkelijk, maar zeker de moeite waard”, zeggen onderzoekers Sutherland en Ebergen van Sun Microsystems. Allereerst is er de snelheidswinst. In een synchrone chip heb je een hoop onderdelen die wel sneller kúnnen, maar moeten wachten op het langzaamste onderdeel. Dat onderdeel bepaalt de maximale snelheid van het systeem. In een asynchrone chip wordt er heel wat minder gewacht: de maximale snelheid is het gemiddelde van alle werksnelheden!

Asynchrone chips verbruiken ook een stuk minder energie. In een synchrone chip verbruikt elk onderdeel elke ‘tik’ van de klok energie, of het nu ergens aan werkt of niet. In asynchrone chips verbruiken alleen die onderdelen stroom die ook echt ergens mee bezig zijn. Minder stroomverbruik betekent minder warmteontwikkeling, en dus minder energie die nodig is om de chip te koelen. Dat is nuttig voor draagbare systemen met kleine batterijen maar ook voor grote mainframes die veel warmte produceren.

En tenslotte is het ontbreken van een klok ook goed voor de omgeving. Het ingebakken ritme van een synchrone computer zorgt, dat elke normale pc op één golflengte een hoop energie uitzendt als elektromagnetische straling. Dat kan storend zijn voor gevoelige apparatuur, zoals in ziekenhuizen. Omdat er geen duidelijk ritme in een asynchrone chip zit, verdeelt die zijn energie juist over een hoop verschillende golflengtes.

“Asynchrone systemen hebben nog een lange weg te gaan,” stelt Sutherland en Ebergen. “We moeten nog een hoop leren, maar de trend is duidelijk: de toekomst is klokloos.” Als ze gelijk krijgen, kunnen we niet meer zo makkelijk opscheppen over de kloksnelheid van onze pc’s – geniet er dus van zolang het kan…

Dit artikel is een publicatie van NEMO Kennislink.
© NEMO Kennislink, sommige rechten voorbehouden
Dit artikel publiceerde NEMO Kennislink op 28 mei 2003
NEMO Kennislink nieuwsbrief
Ontvang elke week onze nieuwsbrief met het laatste nieuws uit de wetenschap.