Hoofdcategorieën
Device Settings

Zuinige ARM-processor werkt zonder kloksignaal

Door Wouter Tinus, zaterdag 11 februari 2006 17:36
Bron: EE Times, views: 20.855

De ontwerpers van Philips-dochter Handshake Solutions hebben een processor gebouwd die werkt zonder kloksignaal. Volgens het bedrijf is deze ARM996HS het eerste commercieel beschikbare product dat op deze manier is opgebouwd. De asynchrone chip maakt gebruik van de ARM-instructieset en zou prestaties vergelijkbaar met een geklokte variant kunnen neerzetten voor slechts 36% van het normale stroomverbruik. De besparing ontstaat omdat transistors van een klokloos ontwerp alleen werken als ze echt nodig zijn, terwijl ze binnen een normale processor simpelweg op iedere kloktik reageren. Zelfs voor chips in embedded systemen tikt die klok tientallen tot honderden miljoenen keren per seconde. Naast een laag verbruik biedt het ontbreken van een centrale klok nog een ander voordeel voor embedded systemen: de chip veroorzaakt veel minder elektromagnetische interferentie.

De grootste moeilijkheid bij het ontwerpen van een asynchrone chip zonder centrale klok is om ervoor te zorgen dat de timing wel correct blijft, en het bedrijf geeft toe die problemen enigszins onderschat te hebben. Toen het project voor het eerst werd aangekondigd was het de bedoeling om in het eerste kwartaal van 2005 in productie te gaan op een 0,18 micron-procédé. Nu is het een jaar later en is men ondertussen overgestapt op kleinere 0,13 micron-transistors. Het bedrijf heeft er zelf vertrouwen in dat de chip in een keer goed zal werken, maar ARM is voorlopig nog wat afwachtender: zij willen eerst zien hoe de 996HS zich in de praktijk houdt, voor ze zelf soortgelijke ontwerpen gaan maken.

Synchroon circuit versus asynchroon circuit
Links: synchroon, rechts: asynchroon. Schakelende transistors zijn met rood aangegeven.
Volgende 17:47 Mp3-watermerk monitort distributie muziek via p2p
Vorige 16:45 Gamen leidt tot verbeterde cognitieve capaciteiten
Advertentie

Reacties

«  1  2  »

Maar op wat voor manier kun je nu nog iets zeggen over de snelheid, zonder te benchmarken? Wat moet ik me hier bij voorstellen?
En is die in zekere mate parallel, of werk ie puur opdracht voor opdracht af?

Op zich zegt kloksnelheid alleen iets over de snelheid waarmee er geschakeld word, niets over de prestaties.

Dit fabeltje heeft een cpu-fabrikant aardig de wereld ingeholpen (Intel) en daar zijn nu niet blij mee wat 10 ghz bleek toch niet haalbaar...

Logisch, maar toch zegt het iets over snelheid...
Bijvoorbeeld als je 2 cpu's van dezelfde architectuur vergelijkt, met dezelfde efficientie per kloktik...
Maargoed, ik denk dat je miss wel iets kunt zeggen over hoe snel de schakelende transitors onderling kunnen schakelen, in deze processor. En misschien iets over hoe efficient de schakelingen in deze chip zijn...

Misschien niet te achterhalen met Ghz's maar misschien wel in MIPS?

MIPS, was dat nu weer Millions of Instructions Per Second, of Meaningless Indication of Processor Speed? ;-)

Ik denk dat "Meaningless Indication of Processor Speed" dezer dagen meer staat voor kloktikken, staat tegenwoordig niet meer in verhouding met de snelheid.

Zouden beter een universele Benchmarkspeed als referentie geven, maar dat zou dan weer te eerlijk zijn voor de consument

Intel heeft eigenlijk weinig met dat fabeltje te maken. Feit is dat dit fabeltje pas ontstaan is nadat het aantal chips voor consumenten PC drastisch was afgenomen en Intel eigenlijk gewoon de markt domineerde. Daarvoor maakte vrijwel elke computer gebruik van een ander ontwerp. Maar doordat er geen serieuze keuze was en Intel inderdaad meestal niets anders deed dan bij een bestaand ontwerp simpelweg de kloksnelheid te verhogen, (bv Pentium van 60 naar 200mhz, maar toch ook een effectievere pentium 166 MMX ) werd de kloksnelheid vanzelf synoniem met de performance. Hier heeft Intel dus geen moeite voor hoeven doen.

Doordat er nu weer 3 verschillende CPU ontwerpen met elkaar concurreren (Pentium 4, Pentium M en de Athlon 64) zijn we dus terug bij af. Je moet eerst de performance van de chip zelf beschouwen en dan pas de kloksnelheid. Maar binnen een reeks chips met dezelfde eigenschappen is een hogere kloksnelheid altijd te prefereren boven een lagere snelheid. :)

Intel heeft zeker wel hard gewerkt om de "Mhz-myth" te versterken, ze hebben een hele tijd toen AMD achterliep in kloksnelheid en de prestaties niet echt beter waren dan Intel heel veel reklame lopen maken over "echte Mhz" en hoe je hier altijd topprestaties mee haalt. Dit natuurlijk om een vals gevoel te creëren dat de rating van AMD onzin was, terwijl de AMD's dus eigenlijk sneller zijn per kloktik.

Maar AMD is ook niet helemaal onschuldig wat de Mhz-myth betreft, ze hebben namelijk destijds als eerste de 1Ghz barrière gebroken en dit in advertenties Intel flink ingepeperd. Toen ze daarna dus een andere weg in zijn geslagen wat betreft prestaties hebben ze zelf moeten bewijzen dat de Mhz juist niet zoveel tellen, maar dat is ze inmiddels wel gelukt lijk me. ;)

Ja ik had die Athlon 1ghz, wat een crisis ding was dat zeg :S na 4 jaar doorgebrand. terwijl de celeron 800mhz die ik ervoor had nogsteeds draait en ook de p3 500mhz die elke dag aanstaat.

[offtopic]@inn87:
Moet je de koeling eens vaker nakijken, cpu's fikken niet zomaar door. Het zegt alleen maar iets over de gebruiker/onderhoud.

De kloksnelheid wordt in synchrone computers bepaald door het langste pad wat een signaal van geklokt element (flipflop) naar geklokt element moet afleggen, dat heet het critical path. Zo'n critical path wordt vaak niet veel gebruikt, maar toch moet je er rekening mee houden.
Zo zou je bijvoorbeeld kunnen bedenken dat het lange critical path van een vermenigvuldiger de kloksnelheid bepaald, terwijl de opteller (ALU) veel sneller zou kunnen schakelen. Een oplossing is verschillende componenten van een chip een eigen kloksignaal te geven. Dan heb je echter veel extra componenten nodig voor het opwekken van de kloksignalen en de communicatie tussen de onderdelen.
Asynchroon werkt niet met een klok en dus ook niet met een critical path. Data wordt doorgegeven naar het volgende component als het verwerkt is, daarvoor heeft elk component een controllertje die zgn. 'handshaking' uitvoerd met de andere componenten. Hoesnel data verwerkt is, is afhankelijk van de operatie en van de data.
Je werkt dus met statistiek, met een gemiddelde snelheid... en die is dan weer applicatieafhankelijk.

Ik wil ook nog even toevoegen dat in sommige chips het clockdistributienetwerk tot 40% van het totaal energieverbruik van de chip vebruikte

Goh wow, ik ben erg benieuwd hoe dit werkt, dit zal naast lage stoom verbruik ook een drastisch lagere warmte afgeven denk ik.

Op de site van eetimes kan ik ook niet echt lezen hoe het werkt, iemand meer info?

hier is iets meer te vinden:
http://www.arm.com/news/12013.html

dit zal naast lage stoom verbruik ook een drastisch lagere warmte afgeven denk ik.
Ik weet het zeker, aangezien de energie die er ingaat er als warmte weer uitkomt.

Netto gezien wel, maar je hebt best kans dat bepaalde delen van de processor nu veel warmer worden dan de rest en dat je dus andere problemen kunt krijgen zoals het scheuren van het silicium.

Uh... nog nooit van gehoord. Volgens mij wordt de warmte gewoon verspreid via het substraat.
Naja. dan maar ff underclocken. erm...

Haha.. scheuren.. :+ Met een beetje normaal design komt dat niet voor. De thermische stress is meestal kleiner dan de mechanische spanning opgebouwd door verschillende depositites en packaging regelateerde issues.

maar je hebt best kans dat bepaalde delen van de processor nu veel warmer worden dan de rest
Huidige CPUs hebben ook al last van dat soort hotspots.

Redelijk logisch, aangezien de huidige processoren nog geen geluid maken (denk niet dat je buren blij worden van 130W geluid, jij ook niet trouwens :+ ) en voorlopig ook geen licht gaan geven wordt de stroom omgezet in warmte he :)

Tja, heb ik hier in huis nou net iemand die echt van zo-ongeveer alles wakker wordt, ook van een pc die 2 dichte deuren verder op dezelfde verdieping aanstaat. Gelukkig zit ik nu mooi op zolder.

Ze komen nu bijna elke dag aanzetten met nieuwe technieken zoals dit. Goed zo! Ga zo door!

Nieuw...? Kun je dit eigenlijk niet zien als een processor met x miljoen cores?

(elke transistor is een eigen core)

Nieuw is dit niet echt. Het is al een oud idee dat nooit echt is doorgebroken omdat timed circuits zoveel eenvoudiger waren om een ontwerp mee te maken. De moeite die al in sychrone circuits was gestoken maakte het ook onrendabel om een echte asynchrone CPU te maken. Voor zover ik weet was dit al een topic in de jaren 70 voor designers die wat vooruitdachten en de zwakeheden onderkenden van getimede chips.

BTW er bestaan al langer asynchrone MCUs -> eenvoudiger dan CPUs

Goh, zou dit nu ook interessant zijn voor bijvoorbeeld AMD en Intel voor de desktop markt? Aangezien de Mhz race nu wel voorbij is en beide partijen zich op energiezuinigheid hebben gestort?

Ik denk dat het voor Intel en AMD nog niet interessant genoeg is om volledig klokloos te gaan. Het was al heel erg moeilijk om deze chip te ontwerpen, terwijl dit ding uit minder dan 100.000 schakelingen bestaat. Bij een moderne x86-core ligt dat toch grofweg een factor 100 hoger, en het zou dus een monsterlijke klus zijn, in ieder geval met de huidige stand van zaken qua ontwerp- en simulatie-software.

Dat wil overigens niet zeggen dat het concept niet globaal toegepast kan worden binnen een geklokte chip: in zijn volgende generatie architectuur kan Intel bijvoorbeeld ook ieder klein blokje uitzetten als het niet gebruikt wordt, het wordt dan gewoon losgekoppeld van het centrale kloknetwerk. Dat is lang niet zo fijn als een volledig asynchroon ontwerp, maar een groot deel van de winst kun je op die manier toch wel meepakken.

Ik vermoed dat ze voor toepassingen in een klokloze PC niet alleen mogelijk de hele processor complexer moeten maken, maar mogelijk ook veel meer en vaker moeten bufferen.
Het gaat er nu namelijk steeds meer naar toe dat we steeds meer parallel gaan werken (omdat de klok niet veel hoger kan worden in de praktijk) en juist met parallelle toepassingen is eigenlijk een klok essentieel.

Een voordeel van dergelijke klokloze technieken is echter wel dat je niet meer zoveel problemen hebt door de te overbruggen afstanden.
De chips kunnen dus groter worden, of eventueel meerdere plakjes per chip. (om de yields wat hoger te krijgen.)

en juist met parallelle toepassingen is eigenlijk een klok essentieel.
Dat is in de praktijk dus niet zo, een vermenigvuldiging kost nu eenmaal meer kloktikken dan een optelling, etc...
Oftewel als je bij paralleprocessen je code in stukjes breekt, en die apart op een core/processor worden uitgevoerd. Zal altijd één van de processen eerder klaar zijn, en dus in bepaalde situaties moeten wachten.

Het zou weer cputijd kosten om exact uit te rekenen hoelang een code reeks duurt, dus word er gebruik gemaakt van (data aankomst) flag's inplaats van exact klok tikken te tellen..

Dit is veelal vergelijkbaar met een klokloze processor waar bij ook gewacht word tot dat data en instructies beide op de juiste plek zijn gearriveerd, en dus de (data aankomst) flags gezet zijn :)

ARM processoren hebben zich altijd gekenmerkt door een zeer laag vermogen, vandaar dat ze populair zijn portable apparatuur als PDA's.
De ARM processor werd in 1987 voor het eerst toegepast in de Acorn Archimedes computers (http://en.wikipedia.org/w...Ltd#New_RISC_architecture).

Hier staat nog wat meer info over ARM996HS: http://www.arm.com/products/CPUs/ARM996HS.html

Toepassing in de computer lijkt mij nog ver weg, aangezien je I/O altijd met kloksignalen werkt en je cpu dan niet. En om dat nu te synchroniseren, dat gaat ze ook niet zo snel lukken.

Daar zijn ze toch verder mee dan je denkt. Sowieso zijn er natuurlijk veel chips die tijdens het draaien regelmatig hun kloksnelheid veranderen (Intel Speedstep, AMD Cool 'n' Quiet), maar ook is er al een processor die deels synchroon en deels asynchroon is: de Itanium Montecito. Het L3-cache is asynchroon ontworpen, de businterface en arbiter draaien op een vaste kloksnelheid en de cores kunnen hun klok dynamisch aanpassen (hoewel die laatste feature nog niet helemaal perfect werkt, waardoor ie uitgesteld moest worden).

Heb ik het nou mis of zou het werken met I/O juist makkelijker zijn zonder klok dan met? Nu werkt I/O nog vooral met klok en interrupts, zodra de klok wegvalt moet je het systeem wat aanpassen, maar dan zou je verder toch gewoon alleen met interrupts kunnen werken?

Dit is overigens wel heel simpel gezegd nu, maar ik heb er dan ook niet zoveel verstand van.

Zonder flauw te willen zijn maar... de ARM996HS core is een computer! Om exact te zijn het is een design voor een CPU core, er moet alleen nog maar iemand dit in silicium bakken, wat RAM en flash erbij (natuurlijk in het zelfde silicium) en tada een clockless computer!

Dito Mashell. ARM is trouwens Advanced Risc Machine, de firma onstaan uit Acorn computers dat een van de eerste home pcs leverde. Acorn ontwierp ZELF de CPU! maar de engineers in acorn maakten liever cpus dan dat ze pcs verkochten...

De huidige ARMcores zijn een CPUdesign die eenzelfde ordegroote van complexiteit heeft. Een pc vervangen door enkele 32bit ARMcores aan elkaar te schakelen is dan ook al bestudeert en leefbaar bevonden. (niet zo lang geleden heeft nog een pda producent het hier over gehad)

Bovendien is het aaneenschakelen van timed en asynchrone compenenten een fluitje van een cent als het aantal verbindingen laag blijft.

Dit soort machines (of wel Meele machines) bestaan al een tijdje alleen dit is volgens mij de eerste keer dat een chip van dergelijk formaat wordt geproduceerd als meele machine.

Het klopt verder wat ze zeggen over de klok. 80% van de gehele consumptie gaat naar het genereren van de klok en 60% daarvan wordt gedecimeerd (verloren aan warmte) omdat de klok constant heen en weer staat te zwiepen.

Meele machines zijn machines die direct op een input kunnen reageren dus deze zijn nog een stuk sneller ook.

"Meele"? Dat zegt Google niets.
Volgens mij bedoel je "State Machine", ofwel een veredelde fridrank-automaat.
Die bestaan inderdaad al heel lang, eerst als PLCs, nu ook als FPGAs, die zowel synchroon als asynchroon kunnen werken.

Hij bedoeld "Mealy" |:(

en Mealy hoeft helemaal niet asynchroon te zijn...

Tnx kon ff niet vinden hoe je het moest schrijven, rare naam heeft die gozer ook. Zelfde als dat Moore boos wrodt als je zijn naame als More uitspreekt en niet Moore (moer).

Maar goed een asynchrone cpu is niks anders dan een vereidelde Mealy machine.

Waarvoor kunnen dit soort processor gebruikt/ingezet worden?

Je kunt wel nog wat over de snelheid zeggen doordat je weet hoe lang de processor doet over het verwerken van een instructie. Bij een geklokte processor is dit het aantal klok tikken en hier is dat de delays die ze hebben ingebouwd/het sillicon heeft.

Delays? Volgend dit Wiki verhaaltje is het mooie van dit clockless CPU's nou juist dat er geen delays nodig zijn. Het nadeel is wel dat in principe een waarde voor een onbekende tijd moet kunnen behouden (tot maximaal oneindig ipv maximaal 1 clock tick tot de verversing).

Delay verdwijnt natuurlijk niet... dat zou geweldig zijn: je haalt de klok weg en je computer wordt oneindig snel.

Zie mijn verhaal boven: hoe lang een processor doet over een applicatie is afhankelijk van de instructie en de data... statistiek speelt een grote rol en je eindigt met een gemiddelde delay/snelheid

De vraag is natuurlijk wel of de tweakers hier nu blij van worden... Hoe moeten ze straks hun systeem gaan overclocken als er geen clock in zit? :+

Signalen gaan sneller door een processor die kouder is. Je kunt dus nog wel degelijk overklokken, maar je zult dit moeten doen door koeling. Denk aan de traditionele overklokkers die hun proc meer kunnen overklokken bij een lagere temp. Als je deze proc goed koelt, gaat'ie vanzelf harder lopen. Is veel makkelijker.

En natuurlijk de spanning opvoeren.

Je kan juist veel meer tweaken!
Bij synchrone logica wordt de maximale snelheid begrenst door het critical path.
Ieder stukje heeft zijn eigen buffer/handshake, waardoor er nooit gegevens te laat aan zullen komen.
«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 17:47 Mp3-watermerk monitort distributie muziek via p2p
Vorige 16:45 Gamen leidt tot verbeterde cognitieve capaciteiten
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011