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 slutförts. Detta i motsats till en synkron krets där elementen efterfrågas 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 fungerar komponenterna oberoende av vilken tidsram som helst. Istället för en diskret tid pålagd globalt använder komponenterna handskaknings- 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, vilket säkerställer att när en komponent är redo att skicka data till en granne, är grannen fri att ta emot den och skicka den vidare. Eftersom komponenterna fungerar utan hänvisning till en gemensam tidsram, kan operationer slutföras ur sekvens. Överföringsprotokollet kodar data som produceras på ett sådant sätt att de kan sättas ihop 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. Snabba framsteg inom integrerad kretsteknologi krävde en mer grundläggande design som var kompatibel med de tillgängliga resurserna. Synkron design med en systemklocka blev det föredragna tillvägagångssättet.

Asynkron kretsdesign har flera potentiella fördelar. Strömförbrukningen skulle bli mycket mindre med elimineringen av tidskretsen och det finns inget behov av att driva transistorer som inte används. Driftshastigheten skulle bestämmas av faktiska latenser mellan komponenter. I synkron design är hastigheten pålagd för att rymma det svagaste elementet. En krets konstruerad för att arbeta under asynkron logik skulle typiskt sett påverkas mindre av de små variationerna i komponentdelar på grund av tillverkningsprocessen.

Nackdelarna med asynkron kretsdesign beror huvudsakligen på dess komplexitet. Antalet nödvändiga element kan vara mycket större än vad som krävs för en synkron krets. Det finns få CAD-verktyg (Computer Assisted Design) gjorda för asynkron kretsdesign. Dessa kretsar är också mycket svårare att felsöka och felsöka än konventionella konstruktioner. Den extra hårdvarukostnaden och svårigheten att implementera kan kompensera för vinster i energiförbrukning och effektivitet.