Vad är en asynkron krets?
En asynkron krets är ett nätverk av i stort sett oberoende komponenter som vidarebefordrar data när deras operationer har avslutats. Detta i motsats till en synkron krets där elementen undersöks för data som svar på en global tidssignal. I en asynkron krets bestämmer dataöverföringsprotokoll när och hur data utbyts. Istället för att regelbundet polla varje komponent överförs data när komponenten själv signalerar att den är klar.
Majoriteten av elektroniska kretsimplementeringar använder synkron design. Detta är en enklare modell där alla komponenter fungerar inom samma tidsram. I en asynkron krets arbetar komponenterna oberoende av vilken tidsram som helst. I stället för en diskret tid som påläggs globalt använder komponenterna handskakning och överföringsprotokoll. Dessa utför nödvändig synkronisering, dataöverföring och operationssekvensering.
Det finns flera överföringsprotokoll som används i asynkrona kretsar. Alla inkluderar handskakning, som säkerställer att när en komponent är redo att skicka data till en granne, är grannen fri att ta emot den och vidarebefordra den. Eftersom komponenterna fungerar utan hänvisning till en gemensam tidsram, kan operationerna slutföras i sekvens. Överföringsprotokollet kodar data som produceras på ett sådant sätt att de kan monteras i rätt ordning.
Vissa tidiga datorer använde asynkron design. Illinois Integrator and Automatic Computer, eller ILLIAC I, utvecklad av University of Illinois 1951, var en sådan design. Snabb utveckling i integrerad kretsteknik krävde en mer grundläggande design som var kompatibel med tillgängliga resurser. Synkron design med en systemklocka blev den föredragna metoden.
Asynkron kretsdesign har flera potentiella fördelar. Strömförbrukningen skulle vara mycket mindre när elimineringen av tidskretsen och det finns inget behov av att krafttransistorer som inte används. Driftshastighet bestäms av faktiska latenser mellan komponenter. I synkron design påläggs hastigheten för att rymma det svagaste elementet. En krets utformad för att arbeta under asynkron logik skulle typiskt påverkas mindre av de små variationerna i komponentdelar beroende på tillverkningsprocessen.
Nackdelarna med asynkron kretsdesign beror främst på dess komplexitet. Antalet nödvändiga element kan vara mycket större än vad som krävs för en synkronkrets. Det finns få CAD-verktyg (Computer Assisted Design) för asynkron kretsdesign. Dessa kretsar är också mycket svårare att felsöka och felsöka än konventionella mönster. Den extra hårdvarukostnaden och svårigheten att implementera kan kompensera vinster i kraftförbrukning och effektivitet.