En adderare inom kybernetik är en enhet som omvandlar informationssignaler (analoga eller digitala) till en signal som motsvarar summan av dessa signaler [1] ; en enhet som utför en tilläggsoperation .
Beroende på formen för presentation av information särskiljs analoga och digitala adderare [1] .
Tabelladderare användes först i reläräknare i USA före andra världskriget.
En binär adderare kan beskrivas på tre sätt:
Eftersom formler och kretsar kan transformeras identiskt, kan en sanningstabell för en binär adderare motsvara många olika logiska formler och logiska kretsar. Därför, ur synvinkeln att erhålla resultatet utan att ta hänsyn till den tid som spenderas på att beräkna summan, är den tabellformade metoden för att bestämma den binära adderaren den viktigaste. Den vanliga tabellformiga beskrivningen av adderaren tar inte hänsyn till fördröjningstiderna i verkliga logiska element och är inte lämpliga för att bestämma prestandan för verkliga adderare.
x 0 =A | ett | 0 | ett | 0 | ett | 0 | ett | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|
x 1 =B | ett | ett | 0 | 0 | ett | ett | 0 | 0 | ||
x 2 = | ett | ett | ett | ett | 0 | 0 | 0 | 0 | Åtgärdsnamn (funktion). | Funktionsnummer _ |
ett | 0 | 0 | ett | 0 | ett | ett | 0 | Summa bit modulo 2 | F3.150 | |
ett | ett | ett | 0 | ett | 0 | 0 | 0 | Bär lite | F3.232 |
En bärenhet förekommer 4 av 8 gånger.
SDNF summerar modulo 2:
bär bit SDNF :
En krets som ger tillägg av två enbitars nummer A och B utan att ta emot en överföringsbit från den föregående biten kallas en halvadderare . Halvadderaren har 4 signallinjer: två ingångar för signaler som representerar ensiffriga binära tal A och B, och två utgångar: summan av A och B modulo 2 (S) och överföringssignalen till nästa bit (P). I detta fall är S den minst signifikanta biten och P är den mest signifikanta biten.
Genom att kombinera två halvadderare och lägga till ytterligare en ELLER-krets kan du skapa en trestegs fulladderare med en extra ingång Pi -1 (i figur 1) som tar emot överföringssignalen från den föregående kretsen. Det första steget på halvadderaren lägger till två binära tal och genererar den första partiella överföringsbiten, det andra steget på halvadderaren lägger till resultatet av det första steget med det tredje binära talet och genererar den andra partiella överföringsbiten , genererar det tredje steget på det logiska elementet 2OR den resulterande överföringsbiten till den mest signifikanta biten.
En komplett adderare kan användas som "byggstenar" för att bygga multi-bit adderare genom att lägga till en-bit full adderare. För varje siffra som kretsen behöver kunna hantera används en hel adderare.
I adderaren i fig. 1 är tiden för att beräkna summan modulo 2 2dt, tiden för att beräkna överföringen är 3dt, där dt är fördröjningstiden i ett typiskt logiskt element. I en m-bit adderare i värsta fall (bär enheter i alla bitar) går bärsignalen genom m-1 bitar till den sista biten, och summan kommer att vara klar om ytterligare 2dt, så den maximala additionstiden är:
De maximala additions- och överföringstiderna för fler bitar visas i Tabell 1:
Tabell 1.
antal siffror i adderaren | ett | 2 | fyra | åtta | 16 | 32 | 64 |
---|---|---|---|---|---|---|---|
tilläggstid, dt | 2 | 5 | elva | 23 | 47 | 95 | 191 |
överföringsberäkningstid, dt | 3 | 6 | 12 | 24 | 48 | 96 | 192 |
En binär enbitars fulladderare är en fullständig trinär (tre-operand) binär logikfunktion med en binär (två-bitars) utgång. Alla tre operanderna och båda utbitarna är enbitar.
Decimaladderaren kan anges i form av två tabeller:
med noll överförd från föregående siffra:
+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 |
0 | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 |
ett | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio |
2 | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva |
3 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 |
fyra | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 |
5 | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton |
6 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton |
7 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 |
åtta | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 |
9 | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton |
och med en överföring från föregående siffra:
+ | ett | ett | ett | ett | ett | ett | ett | ett | ett | ett |
---|---|---|---|---|---|---|---|---|---|---|
+ | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 |
0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio |
ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva |
2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 |
3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 |
fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton |
5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton |
6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 |
7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 |
åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton |
9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 |
eller i form av en enda tabell, där bärenheten från föregående bit skiftar en kolumn åt höger:
+ | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio |
ett | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva |
2 | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 |
3 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 |
fyra | fyra | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton |
5 | 5 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton |
6 | 6 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 |
7 | 7 | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 |
åtta | åtta | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton |
9 | 9 | tio | elva | 12 | 13 | fjorton | femton | 16 | 17 | arton | 19 |
Med lämplig firmware kan en hexadecimal adderare och en tjugosju adderare-subtraktor på ROM fungera som en decimaladderare (decimal).
Parallella adderare är tillräckligt snabba för att snabbt lägga till ett litet antal nummer med fast längd. Eftersom bitvis addition i sig är sekventiell, när det finns väldigt många tillägg, är det mer fördelaktigt att konfigurera om samma hårdvara ( ALU ) för att utföra flera seriella tillägg parallellt, eller inte så samtidigt.
Till exempel kommer en parallell 64-bitars binär adderare med 64 binära adderare med komplexa snabböverföringsscheman att lägga till 1 par 64-bitars tal i de bästa scheman i cirka 5dt och 32 par 64-bitars tal i cirka 32*5dt =160dt.
32 på varandra följande binära adderare utan bit-för-bit snabbspolningskretsar kommer att lägga till 32 par 64-bitars tal i ungefär 64*2dt=128dt.
32 på varandra följande kvartära adderare utan snabböverföringskretsar kommer att lägga till 32 par 64-bitars tal i ungefär (64/lg 2 4)*2dt=64dt.
32 på varandra följande hexadecimala adderare utan snabböverföringskretsar kommer att lägga till 32 par 64-bitars tal i ungefär (64/lg 2 16)*2dt=32dt.
32 på varandra följande 250-sex adderare utan snabböverföringskretsar kommer att lägga till 32 par 64-bitars tal i ungefär (64/lg 2 256)*2dt=16dt, dvs. cirka tio gånger snabbare än en parallell 64-bitars adderare med snabba överföringskretsar.
32 på varandra följande fyra tusen nittiosex adderare utan snabböverföringskretsar kommer att lägga till 32 par med 64 bitars nummer i ungefär (64/lg 2 4096)*2dt=10,67dt.