Huggorm

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 14 februari 2022; verifiering kräver 1 redigering .

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 .

Historik

Klassificering av adderare

Beroende på formen för presentation av information särskiljs analoga och digitala adderare [1] .

Som implementering

Enligt handlingsprincipen
  • räknare , räknar antalet pulser av ingångssignaler.
  • Funktionell, utmatning av värdena för den logiska funktionen för modulosumman och den logiska funktionen för bärbiten:
    • logiskt, varje gång beräkna modulosumsiffran och bärsiffrans funktion
    • tabellform, med tabeller med förberäknade värden för modulosumsifferfunktionen och värden för bärsifferfunktionen inspelade:
      • i ROM , PROM (hårdvara) (mer tillförlitliga och billigare än logiska, eftersom istället för halvledare som utför logiska beräkningar använder ROM ledare och isolatorer ("firmware") [4] eller
      • i RAM (hårdvara och mjukvara).

Tabelladderare användes först i reläräknare i USA före andra världskriget.

Arkitektur

  • Kvartsadderare  är binära (tvåoperand) moduloadderare utan bärbit, kännetecknade av närvaron av två ingångar, till vilka två ensiffriga tal tillförs, och en utgång, på vilken deras aritmetiska modulosumma är implementerad.
  • Halv  -adderare är binära (två-operand) modulo-adderare med en bärbit, kännetecknad av närvaron av två ingångar, som förses med samma namngivna bitar av två tal, och två utgångar: en implementerar den aritmetiska modulosumman i denna bit, och den andra går över till nästa (högsta) rang.
  • Fulladderare är trinära (tre-operand) modulo-adderare med en överföringsbit, kännetecknad av närvaron av tre ingångar, som förses med samma namnbitar av två tillagda nummer och en överföring från den föregående (lägre) biten, och två utdata: en implementerar en aritmetisk modulosumma i en given siffra, och på den andra - överföring till nästa (högre siffra). Sådana adderare är initialt endast fokuserade på exponentiella positionstalssystem. .
  • Ackumulerande adderare - utrustade med eget internminne.

Som åtgärd

  • Sekventiell (single-bit), där behandlingen av siffrorna i siffror utförs en efter en, bit för bit, på samma enbitsutrustning.
  • Parallell-seriell, där flera siffror i ett talpar läggs till parallellt i serier.
  • Parallell (flersiffrig), där termerna läggs till samtidigt för alla siffror, och varje siffra har sin egen utrustning.

Enligt metoden för att organisera överföringen [5] [6]

  • Med seriell överföring ( Ripple-carry adder , Sequential Transfer Scheme ).
  • Med accelererad gruppöverföring (med förflyttning) ( Carry-lookahead adders , CLA-adders).
  • Bäradderare [ 7 ] .
  • Adderare med villkorad addition ( Villkorsadderare ).
  • Med carry-toggle (med carry -select [8] ) ( Carry-select adder ).
  • Bär-spara adderare ( Bär-spara adderare ).

Nummersystem _

Binär adderare

En binär adderare kan beskrivas på tre sätt:

  1. tabell, i form av en sanningstabell ,
  2. analytisk, i form av en formel ( SDNF ),
  3. grafik, i form av ett logiskt diagram .

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.

Decimaladderare

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).

Anvisningar för utveckling av adderare

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.

Se även

Anteckningar

  1. 1 2 Dictionary of Cybernetics/Redigerad av akademikern V. S. Mikhalevich . - 2:a. - Kiev: Huvudupplagan av den ukrainska sovjetiska encyklopedin uppkallad efter M. P. Bazhan, 1989. - 751 s. - (C48). — 50 000 exemplar.  - ISBN 5-88500-008-5 .
  2. Wilhelm Schickards räkneklocka
  3. Arkiverad kopia . Hämtad 7 mars 2011. Arkiverad från originalet 9 oktober 2009. Historiesidor. 1938
  4. Adderare, 4-bitars, full, parallell grupp (tabell), på ROM
  5. Hårdvarualgoritmer för aritmetiska moduler
  6. Adderdesigner
  7. 3 Addition och subtraktion av binära tal. Binära adderare. Sida 30. Fig. 12. Schema för adderaren med hoppande transport-hoppadderare
  8. Tanenbaum E. - Datorarkitektur. s.130

Litteratur

  • Ugryumov E. P.  Element och komponenter i den digitala datorn. M.: Högre skola, 1976. - 232 sid.
  • Ugryumov E.P.  Digitala kretsar. - St Petersburg: BHV-Petersburg, 2001. - 528 sid.
  • Jean M. Rabai, Ananta Chandrakasan, Borivoj Nikolic. 11. Design av aritmetiska block: Adderare // Digitala integrerade kretsar. Designmetodik = Digitala integrerade kretsar. - 2:a uppl. — M .: Williams , 2007. — S.  912 . — ISBN 0-13-090996-3 .

Länkar