Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 92 reacties
Bron: Scientific American

Op de site van Scientific American is een artikel verschenen waarin wordt uitgelegd wat asynchrone computers zijn, wat de voordelen ervan zijn en hoe ver men met de ontwikkeling ervan is. Hieronder volgt een korte samenvatting van het artikel, wat hier in zijn geheel te lezen valt.

Nu de timing van de klok binnen de synchrone computers steeds complexer begint te worden, keert men weer terug naar het idee van asynchrone computers: computers waar onderdelen op eigen snelheid hun taken uitvoeren. Dit in tegenstelling tot de huidige situatie, waar elke actie binnen de computer gelijk moet lopen met de processor. Een goed voorbeeld om het verschil aan te geven tussen asynchrone en synchrone computers is het onderstaande plaatje, waar een rij mensen een emmer aan elkaar doorgeeft.

Bucketline

Bij een synchrone computer wordt de emmer op de maat van de klok doorgegeven, dus bij elke tik gaat de emmer een stap vooruit. Het ritme bij een asynchrone computer is helemaal niet geordend, in plaats daarvan wordt hier de emmer doorgegeven zodra bij de ontvanger de handen leeg zijn. Dit houdt dus in dat als de ontvanger een zware emmer moet doorgeven, dit langer duurt dan bij een lichte emmer. Hierdoor loopt het proces weliswaar vertraging op, maar omdat er in verhouding weinig zware emmers worden doorgegeven, zal een asynchrone rij over het algemeen sneller zijn dan een synchrone rij.

Enkele voordelen van asynchrone computers zijn onder andere een verhoogde snelheid, een lager stroomverbruik en dat er nauwelijks nog radio-interferentie meer waar te nemen valt. Verder kan met behulp van deze techniek flexibeler worden ontworpen, doordat er meer vrijheid is bij het kiezen van systeemonderdelen. Ook kan men gemakkelijker afzonderlijk onderdelen vervangen, om winst te boeken op de snelheid van het totale systeem. Maar om dit bereiken zijn wel twee cruciale co÷rdinatie circuits benodigd, de Rendezvous en de Arbiter:

Rendezvous (klein) A Rendezvous element indicates when the last of two or more signals has arrived at a particular stage. Asynchronous systems use these elements to wait until all the concurrent actions finish before starting the next action. For instance, an arithmetic division circuit must have both the dividend (say, 16) and the divisor (say, 2) before it can divide one by the other (to reach the answer 8).

[...]An Arbiter is like a traffic officer at an intersection who decides which car may pass through next. Given only one request, an Arbiter promptly permits the corresponding action, delaying any second request until the first action is completed. When an Arbiter gets two requests at once, it must decide which request to grant first. For example, when two processors request access to a shared memory at approximately the same time, the Arbiter puts the requests into a sequence, granting access to only one processor at a time. The Arbiter guarantees that there are never two actions under way at once, just as the traffic officer prevents accidents by ensuring that there are never two cars passing through the intersection on a collision course.

De auteurs van dit artikel hebben zich vooral geconcentreerd op de prestaties van hun collega's bij Sun, omdat zij daar ook werkzaam zijn. Maar dat is niet het enige bedrijf dat successen boekt op het gebied van asynchrone circuits, zo zijn er demonstraties geweest waar onder andere Caltech en Philips getoond hebben dat asynchrone computers kunnen samenwerken met hun synchrone broertjes, zonder speciaal geschreven software of aangepaste interfacecircuits. Verder heeft Philips inmiddels ook een naam hoog te houden, doordat zij inmiddels asynchrone technieken met wisselend commercieel succes hebben toegepast.

Moderatie-faq Wijzig weergave

Reacties (92)

Gaat het idee van overclocken dan niet een beetje naar de haaien? Straks moet je elke chip overclocken ipv 1.
Bij een aantal componenten achter elkaar in een ketting bepaalt de zwakste schakel de snelheid. Als je weet wat dat is kan je dat veranderen...

Ik vrees idd dat overclocken buiten beeld gaat vallen maar aan de andere kant is het de vraag met toekomstige computers hoe snel het al gaat en hoe intelligent software wordt geschreven. Dat laatste is dus vaak een hekelpunt in de PC wereld.

Maar omdat het asynchroon wordt geen radio radio-interferentie meer :?
Omdat dus nu allerlij puslsbreedtes ontstaan zul je dus nu echt een breedband stoorzender in huis krijgen !
Nee, want die radiointerferentie ontstaat omdat gelijktijdig alle electronen doorgepompt worden. Door interferentie van die kleine golfjes, allemaal bij elkaar en tegelijkertijd, wordt een grote golfe (met grote pieken en dalen) gecreeerd.
Met een asynchrone klok gebeurt dat niet meer (zo vaak); omdat de golfjes allemaal op verschillende tijden plaatsvinden, daalt de kans dat meerdere trillingen die elkaar kunnen versterken tegelijkertijd opduiken.

Denk ik. :)
Inderdaad, omdat er heel veel kleine golfjes zijn, zijn er altijd wel 2 elektromagnetische golven die elkaar uitdoven. Ik verwacht dus dat EMI zo ongeveer tot nul wordt gereduceerd!
Deze chips lopen gewoon zo hard als ze kunnen.

Bij overklokken van normale chips gaat het vaak fout omdat het ene emmertje er nog niet staat terwijl het volgende mannetje die wel op wil pakken. Als een chip warm wordt, wordt gaan die mannetjes langzamer werken en krijg je meer kans op fouten.

Als je zo'n chips zonder klok wil overklokken moet je gewoon meer koelen en gaan de mannetjes harder werken.
De huidige P4 maakt intern al gebruik van asynchrone gedeeltes/eilandjes. Van buiten is hij alleen nog synchroon. Intel heeft daar een tijd terug ook een onderzoek naar gedaan. Daaruit bleek dat asynchrone procs vele malen efficienter waren, maar veel moeilijker te ontwikkelen zijn.

Zie ook dit artikel op T.net van november vorig jaar:
http://www.tweakers.net/nieuws/19188
Overclocken bestaat dan niet meer, omdat elke chip vanzelf al zo snel gaat als ie maar kan.

Je kan met asynchrone chips ook alleen maar een 'snellere' versie maken door een betere architectuur, of een zuiverder productieproces.
Overklokken gaat _wel_ met asynchrone chips: dit doe je door simpelweg het voltage te verhogen. Door het hogere voltage verminder je n.l. de schakeltijd v.d. transistoren.
Predator heeft dus wel gelijk, want hoe meer je de chip koelt, hoe lager de elektron mobiliteit wordt. En doordat de mobiliteit lager wordt, zullen electronen meer tijd nodig hebben om van punt A naar B te komen.

However, er is ook nog een effect dat lattice scattering heet, dat ervoor zorgt dat juist bij hogere temperaturen de electronen tegen de vaste atomen aanbotsen en dus ook minder snel op de eindbestemming zijn.

Het komt er op neer dat er tussen deze twee effecten een optimum zit, dat onder andere afhangt van de dotering van het silicium. Bij een dotering van 10^19 zit het optimum ongeveer bij 250 K, dus -25C.

Concluderend: huistuinenkeuken koelprojectjes zoals jullie ze hier doen hebben dus zeker wel zin, maar koeling tot zeer ver onder het nulpunt is niet nuttig.
Of door ze flink te koelen. Hoe kouder hoe sneller.
Of door ze flink te koelen. Hoe kouder hoe sneller
Nee

Een chip die koud heeft werkt helemaal niet sneller dan 1 die warm heeft.
Wel kan je die meer vermogen laten verbruiken omdat de meer geproduceerde warmte beter afgevoerd wordt.

( ~ idee van overclocken)


Zelfs:
hoe kouder -> hoe minder geleiding
Uuuhm [P]redator... je zegt het zelf, kouder = minder weerstand, dus gaat de stroom ook harder en schakelen de transistoren sneller
supergeleiding proberen met stikstofkoeling???
Als er geen klok meer is, dan valt er niks over te klokken. :) Of heeft ieder chippie nu z'n eigen klokje?

edit:
Als ze dus allemaal zo hard gaan als ze kunnen dan heb je ook de maximale warmte ontwikkeling, dus goede koelling is wel noodzakelijk.
Nee, niet iedere chipje heeft een eigen klokje. Eindgelijk werkt het zoals de parallele printerpoort. Daar wordt ook tussen computer en printer gepraat op de maximale snelheid die beide machines kunnen hanteren. (met strobe en acknowledge signalen)
Als ik het goed heb begrepen kan je dus het beste de zwakke schakels overklokken?
Gaat het idee van overclocken dan niet een beetje naar de haaien? Straks moet je elke chip overclocken ipv 1.
Lijkt me makelijker worden, de onderdelen wachten namelijk op elkaar:
waar onderdelen op eigen snelheid hun taken uitvoeren
Maar als alle onderdelen van de chip al zo snel werken als ze kunnen, en allemaal hun eigen (maximale) snelheid hebben, wat wil je dan nog overklokken?
Er blijft natuurlijk altijd een marge tussen de door de fabricant gespecificeerde snelheid van de onderdelen en de Hoogst Haalbare Snelheid. En wie bevinden zich van nature in die marge?...

Juistem! ;)
Maar het lijkt me dat elk (goed geprogrammeerd) programma uit zichzelf al het uiterste van de verschillende onderdelen zal krijgen. En dat verschilt dan ook per programma...
Dat lijkt mij dus ook, dan kun je bijvoorbeeld een goede processor erg hoog gaan klokken en ben je niet afhankelijk van (slechte) andere onderdelen.

In de huidige situatie ben je voor je overklokresultaat juist afhankelijk van alle componenten waardoor ze allemaal van topkwaliteit moeten zijn.

edit:
je bent zo snel als de zwakste schakel, en dat geld volgens mij in dit geval ook gewoon, helemaal als ze nogsteeds op elkaar moeten wachten ...
maar je kunt wel je systeem zo optimaliseren dat hij voor jouw optimaal werkt. Je kunt zelf je zwakste schakel bepalen.
HmmmZ,

misschien zie ik het verkeerd...
maar volgens mij geld nog steeds: je bent zo snel als de zwakste schakel, en dat geld volgens mij in dit geval ook gewoon, helemaal als ze nogsteeds op elkaar moeten wachten ...

of zie ik het nou weer helemaal verkeerd :s
Je ziet het verkeerd.

Een synchrone chip kan niet sneller lopen dat z'n langzaamste component, ook niet als die langzame component bijna nooit nodig is.

Het emmertjes doorgegeven is wat dat betreft niet helemaal duidelijk, want als er een langzaam mannetje staat, met een zwaar emmertje, dan gaat de asynchrone rij niet sneller dan de synchrone rij. Mßßr, als er een tijdje alleen maar hele lichte emmertjes voorbij komen gaat de asynchrone rij daar sneller doorheen, terwijl de synchrone rij op het langzaamste tempo verder gaat, omdat de klok nu eenmaal constant is ongeacht wat voor emmertjes er voorbij komen.
Je kunt het vergelijken met rijen aan de kassa. Stel dat er iedere keer precies 1 klant tegelijk doorheen moet, dan moeten alle rijen wachten als er toevallig ergens een klant in een andere rij staat met een hele volle kar boodschappen.

edit:
Eerste deel bericht verwijderd i.v.m. dubbelpost, sorry niet gezien



( Dynamic Duo doet altijd op maandag boodschappen :) )
Kun je procesortijd aan bepaalde toepassingen instellen waardoor er belangrijke taken voorgaan.
Kan erg belangrijk zijn voor sommige toepassingen.
Volgens mij zit dat nu ook al in je OS, zoiets als de prioriteit instellen voor een bepaald proces/applicatie? (Windows Task Manager bijvoorbeeld).
Die is gerelateerd aan de processorload en niet aan de asynchroneklok frequenties. Ik neem aan dat je processor synchroon is. :)
een software taak heeft er in dit geval wel wat mee te maken maar niet alles, je Interupts en rest van je systeem hebben er ook mee te maken, nu is alles afhankelijk van 1 klok dus bv je beeld loopt gelijk met geluid, het voordeel van asynchroon is dat je bv je beeld meer voorrang kan geven en je geluid minder. wat dus kan resulteren ik bagger geluid maar mooi beeld en visa versa .. om maar ff een idee te geven.

der lopen in een pc minimaal 10 taken zonder dat je een toets aanraakt .. om mogelijk te maken dat je die toets kan aanraken en dat er wat gebeurd .. het is zelfs zo erg dat je eigenlijk een procces in de wacht zet als je een toets indrukt of met je muis beweegt nu merk je dat niet en is het niet zo erg maar kan voor progammeurs best wel eens lastig zijn..
De interrupt-klok van 100Hertz (of zo) die voor multi-tasking zorgt heeft natuurlijk niets te maken met de klokfrequentie van de processor van 2GHz.
Ook een asynchrone processor kan nog een interrupt-klok hebben
nee het was maar een voorbeeld .. sjees ...(die interrupt dan)
Zou dit te combineren zijn met 'paralel processing' waarmee meerdere instructies tegelijk kunnen worden uitgevoerd?

Dan wordt het natuurlijk helemaal interessant :9~
Parallel processing is nooit echt van de grond gekomen omdat geen enkel OS de taken goed kan verdelen over de processors zonder veel rekenkracht te verspillen. Of je laat het door de applicatie zelf doen maar dan krijg je dus dat je ontwikkel team veel moeite moet doen voor een (te) kleine markt.

Vaak kost het verdelen van de berekeningen en het ophalen van de resultaten meer tijd dan wanneer je alles lekker door 1 processor laat doen. (Van de paar parallele OSen had BeOS op een 4 procs moederbord zelfs 1 dedicated processor alleen al voor het verdelen van de taken over de andere drie).

Heb zelf een dual celly 300@450 geboort B-) maar haal maar 10% extra fps bij Q3. Maar met apps die voor multi procs zijn geschreven haal ik wel 50% winst met M$ Developer Studio en zo'n 35% met Photoshop plugins. Geen 100% wat je in al je onschuldige naiviteit zou denken met twee procs.

Dus parallel is wel lache, vooral als je zelf je cellies boort :), maar (nog) niet voor standaard applicaties weggelegd. Hopelijk komt hier door async procs een verandering in.

log!c
Waarom denk je dat een processoren als de Pentium of de Athlon over VIER integer en TWEE floating point ALUs beschikt (getallen afhankelijk van merk en type). Om ze maar niet tegelijk te gebruiken? Dat is OOK parallele processing hoor! (Intruction Level Parallelism ILP)
Titel:
Een toekomst zonder klok

Waar beginnen we over? Overklokken! :+

* 786562 twi
Volgens mij wordt alleen maar verkeerd gereageerd op deze post. Asynchroon betekent niet dat er GEEN klok is, alleen dat de klokken die er zijn niet synchroon lopen. Overklokken zal zeker nog blijven bestaan! Het is netzoiets als het geheugen, dat loopt tegenwoordig ook vaak asynchroon, maar zeker wel op een klok! Nadeel van asynchroon is dat er een bepaald communicatie protocol moet zijn. Bij synchrone communicatie is dit veel eenvoudiger, vaak gewoon data aanbieden, en dat bij de volgende inlezen. Bij asynchrone communicatie is dit toch een stuk lastiger!
Beetje jammer dat CTD's reactie met +4 interessant wordt gewaardeerd (al gun ik et em wel), want dat geeft toch wel aan dat er nogal wat onbegrip de ronde doet. Asynchroon betekent in deze context wel degelijk zonder klok. Componenten synchroniseren zichzelf tenopzichte van elkaar met zogenaamde handshake protocollen. Dat gaat b.v. alsvolgt in 4 phase handshaking:

A zegt tegen B ik heb data
B zegt tegen A ok, geef maar
A zegt tegen B zo, ik ben klaar
B zegt tegen A ok, bedankt

Wat CTD zegt wordt tegenwoordig wel toegepast hoor, maar dat komt omdat wire delays tegenwoordig de overhand beginnen te krijgen over gate delays waardoor het erg moeilijk is om het kloksignaal snel over de hele proc te versprijden. Om dat tegen te gaan worden er klokdomeinen ge´ntroduceerd die min of meer los van elkaar lopen. Maar dit noemt met nogsteeds synchroon.
Volgens mij worden hier wel chips bedoeld zonder klok.

Er wordt gewoon een signaal gegeven aan het volgende mannetje dat er weer een emmer klaar staat om op te pakken.
In reactie op veel mensen: bij een klokloze processor HOEF je dus niet over te klokken. De processor werkt zo hard als hij kan, dus bijvoorbeeld beter koelen is al voldoende om hem sneller te laten werken. Makkelijker 'overklokken' kan niet :)

[Edit]
Dubbelpost? Grappig is dat. Ik was verreweg de eerste met deze opmerking, hoe kan het dan een dubbelpost zijn?
Dus die cpu kan nooit crashen door te hoge warmte behalve dan dat het zo traag als stroop gaat lopen :)
Of hij stopt als ie doorfikt :) Dus dat de mannetjes verbranden.. :D
Kunnen die mannetjes elkaar niet blussen dan als ze toch emmertjes water staan door te geven? Of zijn ze daar dan weer niet slim genoeg voor?
Dat is wel grappig benchmarken. In de zomer gaat je computer dus iets langzamer dan in de winter.
Pcies. En alles op flink hoog voltage laten schakelen natuurlijk! :P ... je systeem overspannen...

Doel: transistors zo rappo mogelijk laten openen/sluiten.
Ik kan me herrineren dat een aantal jaren geleden er een a-synchrone versie van de ARM (zit o.a. in pocket PC PDA's, RISC-PC's, printers en telefoons, en is de voorloper van de XScale prosessor van INTEL) ontworpen is.

Ik geloof dat het ding in cambridge onwikkeld is door het ARM team en heeft de naam "Amulette". Weet iemand hier meer van / betere details?
Ik weet niets over die chip waar jij het over hebt, maar ik weet wel dat er in de tijd van de Pentium 100 ofzo ook een Pentium zonder klok is gemaakt om te testen. Ik geloof dat ze toen aardig hetzelfde presteerden. Maar bij hogere snelheden heeft het meer voordeel om zonder klok te werken.

Philips heeft geloof ik ook een paar klokloze chips.
Klopt.. Philips heeft een asynchrone variant van de 8051 ontwikkeld een tijdje terug, die volgens mij voornamelijk gebruikt is in mobiele telefoons. Ze zijn namelijk ook zuiniger dan gewone IC's (de klok kost best wel veel energie om aan de gang te houden), en ze geven minder storing.
Ze hebben al wat meer asynchrone chips dan dat geproduceerd hoor, en ze blijven HARD aan de weg timmeren. Het asynchrone project is hier sinds kort van research naar development verhuist (eigenlijk alleen een formaliteit) en het loopt als een trein, echt een succes story. Een vriend van me heeft zojuist z'n afstudeer opdracht binnen het project afgerond (asynchroon ontwerp van een simpele lowcost general purpose microprocessor) en gaat in augustus als werknemer binnen het project aan de slag. Vanuit de industrie krijgt Philips veel vragen of de toolflow gelicenceerd kan worden, maar daar beginnen ze nog niet aan, eerst zelf geld verdienen ;) Kort door de bocht zou je kunnen zeggen dat Philips MIJLENVER voorloopt op iedereen op asynchroon gebied. Als je dit iets nuanceerd komt het er op neer dat dit dus geldt op de gebieden waar Philips in is ge´ntereseerd namelijk lowpower en lowcost en dus NIET op highperformance. Omdat de starter van het project professor is op de TU/e kun je daar een vak volgen waarin je kan een beetje kunt spelen met de toolflow die Tangram heet. Erg cool allemaal. Overigens, behalve dat philips niet in high performance is ge´ntereseerd is ook niet iedereen het ermee eens dat asynchroon er erg geschikt voor is. Bovenstaande professor betwijfeld dat b.v.
Misschien een hele domme vraag, maar hoe gaat een asynchrone compu met tijdsgevoelige applicaties om?
Want ik meen mij te herinneren dat er al problemen zijn met bijvoorbeeld GPS/sateliet/sterrekijker programma's (die programma's zijn heel ruimte [en dus tijds] gevoelig) op een pc, omdat de tijd niet precies genoeg is. Nu kan er nog bij instructies uitgegaan worden van de processor klok (mbv complexe correcties), maar ik kan me voorstellen dat dat met een asynchrone compu anders is...
Tja, voor dergelijke doeleinden kun je natuurlijk nog een klokgenerator op je moederbord prikken, dat de processor er geen gebruik meer van maakt staat daar los van.
Pagina 12 en verder van de onderstaande PowerPoint presentatie [390 kB] bevatten een paar plaatjes van het stroomverbruik van een synchrone versus een asynchrone versie van die 80C51. Spreken behoorlijk voor zich...

http://www.ee.technion.ac.il/vlsi/async2000/presentation/Joep.Kessels. ppt

Pagina 13 laat het spectrum van de storing zien, en daarbij zie je heel goed dat de asynchrone chip veel minder storing produceert dan de synchrone.
Je hebt toch altijd een klokgenerator nodig, anders werkt de systeemklok ook niet meer. En ik wil wel dat het tijdje in m'n taakbalk iets zinnigs aan blijft geven :P.
Ik weet niets over die chip waar jij het over hebt, maar ik weet wel dat er in de tijd van de Pentium 100 ofzo ook een Pentium zonder klok is gemaakt om te testen.
Dat is een misverstand, intel heeft ooit een asynchrone fetch unit voor een pentium ontwikkeld. Voor zover bekend nooit een hele pentium.
Kijk maar eens op onderstaande pagina. Ergens op de onderste helft van de pagina staan twee photoemissie metingen. Het linker circuit is synchroon, het rechter asynchroon. Het verschil in stroomverbruik is heel duidelijk te zien. De synchrone gebruikt op heel veel plaatsen flink wat, bij de asynchrone wordt er slechts op een paar plaatsen zichtbaar stroom verbruikt:

http://www.semiconductors.philips.com/news/publications/content/file_1 83.html

[ Photoemissie metingen meten het licht wat een circuit uitstraalt, wat een maat is voor het verbruikte vermogen. Tevens kun je zo zien waar op de chip het verbruik het hoogste is.]
zijn deze chips niet een marketing nachtmerie??.....


hoe wil je de consument er zodanig in laten stinken dat ie de ene chip sneler vind dan de ander
Wellicht door ze een Rating mee te geven.

b.v. Uitgerukt in MIPS.
Is FLOPS (floating operations per second) hier niet een betere benchmark? En dat dan met een specifiek programma (zoals nu gedaan wordt met een Quakedemo) die een specifiek probleem oplost?

Ben even vergeten of MIPS van FLOPS afhangt of anders om...
Wellicht door ze een Rating mee te geven.
b.v. Uitgerukt in MIPS.
Nee joh, uitgedrukt in emmers water per seconde :)
Uhm... aantal }:O dattie kraakt in de winkel vermelden?

edit: deze moderatie doet me wel een beetje tekort... wat is er nou weer overbodig aan? Ik bedoel alleen te zeggen dat je prima met de een of andere benchmark aan kan komen zetten in de marketingwereld. Doet Apple ook. En of je daar nu SPECblabla of }:O }:O voor neemt, maakt nie zoveel uit (nuja, voor de P4 zou dat laatste geen verstandig plan zijn :) ).
neuh gewoon heel simpel je zegt dat de kloksnelheid oneindig snel is. of je maakt een rating gelijk aan de pentium 1

zegmaar de amd versie :P

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True