Hoofdcategorieën

Philips ontwerpt asynchroon werkende ARM-processor

Door Ralph Smeets, woensdag 27 oktober 2004 20:25
Bron: ElectronicsWeekly, submitter: EaS, views: 11.663

Handshake Solutions, een divisie van Philips, is samen met ARM bezig met het ontwerp van een asynchrone processor. In een asynchroon ontwerp is er geen klok aanwezig. Het grote voordeel hiervan is dat transistors alleen schakelen als dit echt nodig is. Omdat transistors alleen energie verbruiken als deze geschakeld worden, kan hiermee heel wat energie worden bespaard. Een bijkomend voordeel is de verminderde elektromagnetische straling die de cpu uitzendt ten opzichte van een synchrone cpu. Het nadeel is echter dat het ontwerp van de chip een stuk moeilijker is.

De cpu zal overweg kunnen met de vijfde versie van de ARM-instructieset. Daarnaast zal er ondersteuning voor Thumb en DSP-extensies aanwezig zijn. Het is de bedoeling dat de chip een plek vindt in draagbare apparatuur, zoals PDA's en telefoons. De processor kan net als andere ARM-processors in licentie worden genomen door microelektronicafabrikanten en zal ergens in het eerste kwartaal van 2005 beschikbaar komen.

Synchroon circuit versus asynchroon circuit
Synchroon (links) vs asynchroon circuit (rechts). De schakelende transistors zijn met rode punten aangegeven.
Volgende 20:53
Vorige 20:18

Reacties

«  1  2  »

Als de clock van extern komt, hoe kunnen er dan transistoren schakelen?

Switching activity (power) is shown in red

De plaatsen waar stroom is vereist tijdens het uitschakelen van de transistor.

[off topic]Wel mooi gedaan 4 dezelfde de posts in minder dan 1 minuut[off topic]

Synchroon (links) vs asynchroon circuit (rechts). De schakelende transistors zijn met rode punten aangegeven.

Activiteit van transistors

"Synchronous vs. Asynchronous: Switching activity (power) is shown in red"

Als de clock van extern komt, hoe kunnen er dan transistoren schakelen?
Door alle logica zelf een resultaat-gereedsignaal te laten produceren.

Zwaar versimpeld voorbeeld: stel dat je twee getallen bij elkaar wilt optellen. Als het 'adder'-circuit klaar is met het optellen, dan produceert hij behalve de lijntjes met het resultaat, zélf een signaal op een apart lijntje (ook een soort klokpuls, eigenlijk) dat het volgende stuk logica aanzet, bijvoorbeeld om het resultaat naar het geheugen te transporteren.

In een 'normale' chip wacht die volgende logica eerst rustig de volgende clockpulse af. Nadeel daarvan is dat alle componenten elke cycle zo'n pulse te verwerken krijgen, en er maar heel weinig dan ook daadwerkelijk iets doen.

Een asynchrone cpu is in theorie (!) dus niet alleen zuiniger (omdat alleen die componenten worden ingeschakeld die iets moeten doen) maar ook sneller dan een synchrone (omdat alle instructies precies zoveel tijd gebruiken als ze nodig hebben).

Maar om al die logica goed op elkaar aan te laten sluiten is vers twee, natuurlijk.

de schakelende transistors ;) (staat eronder)

Klikt ontzettend leuk maar ik vrees als men deze cpu's zal willen maken de prijs stukken omhoog zal gaan zoals in post gemeld.

Natuurlijk is dit altijd leuk voor de computergebruiker qua temperatuur en stroomverbruik. Of de consument daar een meerprijs voor WIL geven is dan de vraag! Ik zou dit wel doen maar als ze toch de prijs zo laag mogelijk proberen drukken ookal ligt deze wel wat hoger (10
%) hoger dan de prijs van een gewone cpu!!

Er zijn altijd bedrijven die bijvoorbeeld de langste stand-by tijd willen claimen. Mijn Philips Xenium 9@9++ (wat een naam) heeft een stand-by tijd van meer dan een maand... denk dat die wel gaan voor een iets duurdere cpu die minder stroom vreet. Maar ja, het is dan ook een toestel voor een bepaalde markt, niet voor pubers die graag foto's MMS'sen ;).
Een telefoon heeft deze CPU misschien niet nodig? Misschien voor video (via UMTS) wel, anders zijn er vast wel PDA fabrikanten die zo lang mogelijk met de batterij willen doen...

In princiepe hoeft de prijs dus niet hoger te liggen. De energie voordelen en het achterwege laten van de klok leiden tot mogelijk kleinere processoren. Je kan alleen veel minder "standaard blokken" aan elkaar plakken. Omdat asynchroon ontwerpen erg nieuw is, wordt dit veel minder gedaan, en daarom is het (ontwerpen) op het moment veel duurder. Ook ontstaan er allerlei timings problemen, die het ontwerp complexer maken.
In moderne processoren zouden er echter enorme voordelen kunnen ontstaan bij een asynchroon ontwerp. Het is daarom zeker geen gekke gedachte om in ieder geval hier in de toekomst naar te blijven kijken.

Denk niet dat er zo gauw een asynchrone pentium oid zal verschijnen. Het is namelijk razend ingewikkeld zodat een moderne PC cpu met z'n uitgebreidde instructieset niet echt haalbaar is.

Misschien heb je gelijk, misschien ontdekt morgen iemand een techniek om handig van een high-level VHDL beschrijving direct een asynchrone chip te maken... na nano tubes en quantum technieken lijkt me een dergelijke uitvinding niet eens zo vreemd meer. Zodra bedrijf A met techniek A snellere CPU's kan maken, dan komt bedrijf B prompt met een aankondiging van techniek B, waarmee een vergelijkbare snelheidswinst te behalen valt.
Op dit moment is het misschien de moeite van het ontwerpen niet eens voor Intel en AMD, zo'n asynchrone chip... kost misschien ook een (paar) jaar extra, ik weet het niet. Wat ik wel weet is dat het gegeven genoeg tijd en investeringen zeker niet onmogelijk zal zijn om een dergelijke chip te maken.
Ze hebben het nu echter goed voor elkaar, met gezonde winstmarges, dus waarom de markt verpesten door dat soort technieken uit te brengen. Volgens mij zou met een milieubelasting van 10 euro per Watt (15 Watt scheelt 150 euro per CPU) na een jaar best een aankondiging van een asynchrone CPU kunnen komen hoor...

Een ARMv5 is niet zo heel veel minder ingewikkeld dan een moderne PC cpu.
Sterker nog, daar kun je gewoon een PC mee bouwen. Heb er hier een naast me staan, heeft bijna alles behalve een videokaart (besturing via telnet) en draait Windows CE.

Een zéér interresante ontwikkeling die er al een tijd aan zat te komen.

Als iets dergelijks in een PC zal kunnen worden toegepast, zal dit energie schelen, en theoretisch een enorme snelheidsboost kunnen betekenen, immers nu moeten onderdelen op elkaar wachten.

Voor erwinb (wat zijn die rode vlekjes?):

edit: lam hoor, je post aanpassen.

het bestaat al heel lang asynchrone processoren. Het is alleen ontzettend moeilijk deze te ontwikkelen.

Er zijn namelijk nog steeds conflicten die je moet op lossen. bijvoorbeeld, stel je moet wachten op de gegevens van een andere transistor, kan je dan ook gegevens aannemen? omdat er geen klok is weet jij niet hoelang het duurt voordat de andere transistoren klaar zijn met hun werk, dus kan jij ook niet weten of je zelf sneller klaar zou kunnen zijn dan datgene waar je op wacht.

Dit zijn maar een paar voorbeelden. Overigens is het wel leuk om te zien hoe deze discussie op meerdere lagen in de informatica worden gevoerd. namelijk niet alleen voor asynchrone processoren ook asynchrone communicatie, asynchroon distributed computing etc... en telkens duiken min of meer dezelfde problemen op.

En als nu AMD en Intel een licentie nemen op deze technologie van Philips hebben alle partijen er baat bij. Wellicht dat een volgende generatie CPU's kan uitgerust worden met zowel deze techniek, als de reeds bestaande stroombesparende technieken (indien deze niet gewoon al een andere manier zijn van deze door Philips ontwikkelde techniek).

Op miljoenen transistors energie afsluiten zou wellicht kunnen zorgen dat we weer naar de normale situatie toegaan van passief koelen, of minder gigantische koelers, of water koeling etc.

Ik denk niet dat deze technologie in de nabije toekomst voor desktops komen omdat je dan waarschijnlijk gehele besturingsystemen en software opnieuw kan schrijven. ARM processoren zijn geheel anders dan x86 processoren

OS en applicatie software staan los van de onderliggende CPU. Linux draait bv zonder problemen op vele CPUs inclusief x86 en ARM.

Dat x86 toch niet zo snel asynchroon zult zien als een ARM heeft te maken met de complexiteit van de instructieset en overige architecturele aspecten (caches, pipelines, etc.). Dit is bij moderne x86 implementatie zoveel complexer (en groter) dan ARM implementaties dat het asynchroon maken veel meer werk is.

waarom zijn er dan voor x86 en ARM toch verschillende binaries?

juist, omdat het wel degelijk uit maakt...

als ik code maak, en daar verschillende binary's van maak (linux-x86, linux-arm, ...) dan hoef ik nog steeds maar 1x de code te schrijven. Zonder de code opnieuw te schrijven kan het werken op een ander systeem.
Linux ombouwen naar een nieuw platform kost maanden, linux herbouwen kost 15 jaar... :)

Ook voor Microsoft moet het mogelijk zijn om te hercompileren voor een ander platform. Aangezien ze dit nog niet zo vaak hebben gedaan zal dat wel wat lastiger zijn...

Verschillende binaries, dezelfde code, gecompileerd voor die instructieset. Iets dat op een synchrone ARM draait, draait ook op een asynchrone ARM. Debian draait er dus op.

Maar deze asynchrone cpu zal dus de ARM 5 instructieset ondersteunen... Dus alle bestaande software die hiervoor gecompileerd is zal dus gewoon werken lijkt mij.

De wijze waarop instructies worden uitgevoerd is niet interessant voor de software, als de instructieset maar klopt.

Ik denk niet dat meteen bij de volgende generatie zal worden geimpleteerd kijk maar eens naar enkele roadmaps van amd en intel. Voordat dit soort technieken op de desktop markt geintroduceerd worden zal er nog heel wat onderzoek en ontwikkeling gedaan moeten worden. Want je krijgt dan immers heel ander soort platform dat behoorlijk afwijkt van wat we nu gebruiken. (Op de desktop dan)

Ik denk zelf dat soort chips zeker de toekomst zullen hebben maar met toekomst denk ik wel dat daar zeker nog 5 tot 10 jaar ontwikkeling aan zit maar begrijp me niet verkeerd als dit goed wordt opgepikt kan dit zomaar dichter bij de 5 dan bij de 10 jaar zitten. Het lijkt mij zeker intresant om deze techniek bijvoorbeeld te combineren met nano en quantam technieken want op die manier krijg je zeer kleine cpu's met een zeer laag stroom verbruik.

Het overclocken gaat er dan iig ook uit, asynchroon (dus zonder clock signal) kan -correct me if i'm wrong- niet op een hogere / lagere frequentie draaien omdat er dan wellicht transistoren zijn die niet snel genoeg / sneller gaan schakelen. Wat resulteert in een signaal dat niet over de gehele chip gelijk loopt. (vrij doodelijk voor je berekeningen op dat moment)

Het overclocken gaat er dan iig ook uit, asynchroon (dus zonder clock signal) kan niet op een hogere / lagere frequentie draaien...
Neo, there is no spoon^H^H^H^H^Hfrequency! Ban het 'F-woord' uit je hersenpan, als je aan a-synchroon denkt; scheelt wat gedachten/taal kronkels...
Feit is dus, dat de exectutietijd van elke instructie nu louter bepaald wordt door de (volledig fysiek bepaalde) propagatietijd van de gebruikte deelschakeling, om 't even netjes uit te drukken...
Wat resulteert in een signaal dat niet over de gehele chip gelijk loopt.
Goh wat erg... :Z
Maakt geen donder uit! Zowel microscopisch niet (asynchrone handshakes) als macroscopisch niet (out-of-order execution). Beiden helemaal niets nieuws in digitaal-land...

Zoals zagadka al opmerkte, is 't concept niets nieuws, maar 't mocht tijd worden dat 't 'n serieuze stap richting 'mainstream' maakt. Eindelijk van 't [MG]Hz- en 'half gebruikte' cycle gezijk af!

Je kunt een asynchrone CPU nog steeds 'opvoeren' door simpelweg het voltage op te krikken. De transistoren schakelen dan sneller, en dus ook de asynch-cascade.

ik denk dat zowel amd als intel ook wel aan deze techniek zitten te werken maar dan voor hun type cpu's ik denk niet dat 'standaard' intels/amd's zich lenen voor deze techniek en dan toch wel een stevige wijziging nodig hebben. toch min of meer passen het al toe. niet gebruikte stukke core schakelen zich nu namelijk uit dit is natuurlijk effectiever en ik denk in de toekomst sneller aangezien je niet oneindig kan blijven upscalen. misschien dat dit trouwens ook mogelijk is met een netwerk dat de 'doorsturende' data snelheid/bussnelheid afhankelijk van de totale data dat men probeert te sturen?

Hmm, zo erg nieuw is dit nu ook weer niet:

http://www.cs.man.ac.uk/apt/old/publications/papers/comcon94.html

Dateert uit 1994 en beschrijft
a fully asynchronous implementation of the ARM microprocessor
.

AMD en Intel heeft hier niets aan.
dit is leuk voor directe doorvoer zoals voor audio of video voor mobieltjes.

Je weet nooit waar een bepaalde techniek zal eindigen.
Ik denk dat een RISC processor zich eenvoudiger ontleent aan zulke veranderingen dan een full blow x86(-64) met alle toeters en bellen.

Maar de pentium is intern al RISC. Alle CISC instructies worden vertaalt in een aantal kleinere RISC instructies en dan uitgevoerd.

In het begin is alles niet te betalen. Later vinden ze wel manieren om de kosten te drukken. Het is wel mooi dat deze techniek er nu is ook mooi voor laptops.

Echt nieuw is dit niet. AMULET, een onderzoeksteam van de universiteit van Manchester had dit al in 1994:

This March, a team lead by Furber succeeded in building a completely asynchronous version of Advanced RISC Machines' ARM processor - the chip that powers Apple's Newton. The work leant heavily on funding from the European Commission's Esprit Open Microprocessor Systems Initiative and the result is claimed to be the world's first asynchronous implementation of a commercial processor - it runs standard ARM binaries.

Bron: http://www.cs.man.ac.uk/apt/publications/misc/PPC_news.html

Waarom het niet echt goed doorgezet heeft weet ik niet, maar waarschijnlijk was het toen niet commercieel aantrekkelijk.

ik had een paar jaar geleden ookal in Scientific American gelezen dat SUN ook bezig was met de ontwikkeling van Asynchrone chips...
Ik maar wachten en wachten, en me afvragen waarom ik er niks meer van hoorde.. :)
nu gaat 'onze' Philips er gelukkig ook mee door :D
«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 20:53
Vorige 20:18
VNU Media logo Powered by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van: