Hugorm

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. februar 2022; verifikation kræver 1 redigering .

En adderer  i kybernetik er en enhed, der konverterer informationssignaler (analoge eller digitale) til et signal svarende til summen af ​​disse signaler [1] ; en enhed , der udfører en tilføjelsesoperation .

Historie

Klassificering af addere

Afhængig af præsentationsformen af ​​information skelnes der mellem analoge og digitale addere [1] .

Som implementering

I henhold til handlingsprincippet
  • tællere tæller antallet af impulser af indgangssignaler.
  • Funktionel, udlæsning af værdierne af den logiske funktion af modulosummen og den logiske funktion af bærebitten:
    • logisk, hver gang beregner modulosumcifferfunktionen og bærecifferfunktionen
    • tabelform, med tabeller over forudberegnede værdier af modulosum-cifferfunktionen og værdier for bærecifferfunktionen registreret:
      • i ROM , PROM (hardware) (mere pålidelige og billigere end logiske, da ROM i stedet for halvledere, der udfører logiske beregninger, bruger ledere og isolatorer ("firmware") [4] eller
      • i RAM (hardware og software).

Tabeladdere blev først brugt i relæberegnere i USA før Anden Verdenskrig.

Arkitektur

  • Kvart  -addere er binære (to-operand) modulo-addere uden bærebit, kendetegnet ved tilstedeværelsen af ​​to indgange, hvortil to enkeltcifrede tal leveres, og en udgang, hvorpå deres aritmetiske modulosum er implementeret.
  • Halv  -addere er binære (to-operand) modulo-addere med en bærebit, kendetegnet ved tilstedeværelsen af ​​to indgange, som forsynes med samme navngivne bit af to tal, og to udgange: den ene implementerer den aritmetiske modulosum i denne bit, og den anden går over til den næste (højeste) rang.
  • Fuld addere er trinære (tre-operand) modulo addere med en carry bit, kendetegnet ved tilstedeværelsen af ​​tre inputs, som leveres med samme navn bits af to tilføjede tal og en carry fra den forrige (nedre) bit, og to output: den ene implementerer en aritmetisk modulosum i et givet ciffer, og på den anden - overførsel til det næste (højere ciffer). Sådanne addere er oprindeligt kun fokuseret på eksponentielle positionstalsystemer. .
  • Akkumulerende addere - udstyret med deres egen interne hukommelse.

Som handling

  • Sekventiel (enkelt-bit), hvor behandlingen af ​​tallenes cifre udføres en efter en, bit for bit, på det samme enkelt-bit udstyr.
  • Parallel-seriel, hvor flere cifre i et talpar tilføjes parallelt i serier.
  • Parallel (flercifret), hvor termerne tilføjes samtidigt for alle cifre, og hvert ciffer har sit eget udstyr.

Ifølge metoden til at organisere overførslen [5] [6]

  • Med seriel overførsel ( Ripple-carry adder , Sequential Transfer Scheme ).
  • Med accelereret gruppeoverførsel (med videreføring) ( Carry-lookahead addere , CLA-addere).
  • Bære- skip adder [7 ] .
  • Adder med betinget addition ( Betinget sum adderer ).
  • Med carry-toggle (med carry -select [8] ) ( Carry-select adder ).
  • Carry-save adder ( Carry-save adder ).

Talsystem _

Binær adder

En binær adderer kan beskrives på tre måder:

  1. tabel, i form af en sandhedstabel ,
  2. analytisk i form af en formel ( SDNF ),
  3. grafik, i form af et logisk diagram .

Da formler og kredsløb kan transformeres identisk, så kan én sandhedstabel for en binær adderer svare til mange forskellige logiske formler og logiske kredsløb. Derfor, fra synspunktet om at opnå resultatet uden at tage hensyn til den tid, der bruges på at beregne summen, er den tabelformede metode til bestemmelse af den binære adder den vigtigste. Den sædvanlige tabelformede og sædvanlige formelbeskrivelse af addereren tager ikke højde for forsinkelsestiderne i reelle logiske elementer og er ikke egnede til at bestemme ydeevnen af ​​rigtige addere.

x 0 =A en 0 en 0 en 0 en 0
x 1 =B en en 0 0 en en 0 0
x 2 = en en en en 0 0 0 0 Navn på handling (funktion). Funktionsnummer _
en 0 0 en 0 en en 0 Sum bit modulo 2 F3.150
en en en 0 en 0 0 0 Bær lidt F3.232

En bæreenhed forekommer 4 ud af 8 gange.

SDNF summerer modulo 2:

bære bit SDNF :

Et kredsløb, der giver tilføjelsen af ​​to en-bit-numre A og B uden at modtage en carry-bit fra den forrige bit, kaldes en halv-adder . Halvadderen har 4 signallinjer: to indgange til signaler, der repræsenterer encifrede binære tal A og B, og to udgange: summen af ​​A og B modulo 2 (S) og bæresignalet til den næste bit (P). I dette tilfælde er S den mindst signifikante bit, og P er den mest signifikante bit.

Ved at kombinere to halve addere og tilføje et ekstra OR-kredsløb, kan du oprette en tre-trins fuld adder med en ekstra input Pi -1 (i figur 1), der modtager bæresignalet fra det forrige kredsløb. Det første trin på halvadderen udfører tilføjelsen af ​​to binære tal og genererer den første partielle bærebit, det andet trin på halvadderen tilføjer resultatet af det første trin med det tredje binære tal og genererer den anden partielle bærebit , genererer det tredje trin på det logiske element 2OR den resulterende bærebit til den mest signifikante bit.

Et fuldt adderkredsløb kan bruges som "byggeklodser" til at bygge multi-bit adderkredsløb ved at tilføje single-bit fuld addere. For hvert ciffer, som kredsløbet skal kunne håndtere, bruges én fuld adderer.

I adderen i fig. 1 er tiden til at beregne summen modulo 2 2dt, tiden til at beregne carry er 3dt, hvor dt er forsinkelsestiden i et typisk logisk element. I en m-bit adder i værste fald (bære enheder i alle bits), går bæresignalet gennem m-1 bit indtil den sidste bit, og summen vil være klar om yderligere 2dt, så den maksimale additionstid er:

.

De maksimale additions- og transportberegningstider for flere bit er vist i Tabel 1:
Tabel 1.

antal cifre i adderen en 2 fire otte 16 32 64
tillægstid, dt 2 5 elleve 23 47 95 191
overførselsberegningstid, dt 3 6 12 24 48 96 192

En binær en-bit fuld adder er en fuld trinær (tre-operand) binær logikfunktion med en binær (to-bit) udgang. Alle tre operander og begge outputbits er en-bit.

Decimaltaller

Decimaladderen kan angives i form af to tabeller:
med nul overført fra det foregående ciffer:

+ 0 0 0 0 0 0 0 0 0 0
+ 0 en 2 3 fire 5 6 7 otte 9
0 0 en 2 3 fire 5 6 7 otte 9
en en 2 3 fire 5 6 7 otte 9 ti
2 2 3 fire 5 6 7 otte 9 ti elleve
3 3 fire 5 6 7 otte 9 ti elleve 12
fire fire 5 6 7 otte 9 ti elleve 12 13
5 5 6 7 otte 9 ti elleve 12 13 fjorten
6 6 7 otte 9 ti elleve 12 13 fjorten femten
7 7 otte 9 ti elleve 12 13 fjorten femten 16
otte otte 9 ti elleve 12 13 fjorten femten 16 17
9 9 ti elleve 12 13 fjorten femten 16 17 atten

og med en overførsel fra det foregående ciffer:

+ en en en en en en en en en en
+ 0 en 2 3 fire 5 6 7 otte 9
0 en 2 3 fire 5 6 7 otte 9 ti
en 2 3 fire 5 6 7 otte 9 ti elleve
2 3 fire 5 6 7 otte 9 ti elleve 12
3 fire 5 6 7 otte 9 ti elleve 12 13
fire 5 6 7 otte 9 ti elleve 12 13 fjorten
5 6 7 otte 9 ti elleve 12 13 fjorten femten
6 7 otte 9 ti elleve 12 13 fjorten femten 16
7 otte 9 ti elleve 12 13 fjorten femten 16 17
otte 9 ti elleve 12 13 fjorten femten 16 17 atten
9 ti elleve 12 13 fjorten femten 16 17 atten 19

eller i form af en enkelt tabel, hvor bæreenheden fra den forrige bit flytter en kolonne til højre:

+ 0 en 2 3 fire 5 6 7 otte 9
0 0 en 2 3 fire 5 6 7 otte 9 ti
en en 2 3 fire 5 6 7 otte 9 ti elleve
2 2 3 fire 5 6 7 otte 9 ti elleve 12
3 3 fire 5 6 7 otte 9 ti elleve 12 13
fire fire 5 6 7 otte 9 ti elleve 12 13 fjorten
5 5 6 7 otte 9 ti elleve 12 13 fjorten femten
6 6 7 otte 9 ti elleve 12 13 fjorten femten 16
7 7 otte 9 ti elleve 12 13 fjorten femten 16 17
otte otte 9 ti elleve 12 13 fjorten femten 16 17 atten
9 9 ti elleve 12 13 fjorten femten 16 17 atten 19

Med den passende firmware kan en hexadecimal adderer og en 27 adder-subtraktor på ROM fungere som en decimal adder (decimal).

Vejledning til udvikling af addere

Parallelle addere er hurtige nok til hurtigt at tilføje et lille antal numre med fast længde. Da bitvis tilføjelse i sagens natur er sekventiel, når der er rigtig mange tilføjelser, er det mere fordelagtigt at omkonfigurere den samme hardware ( ALU ) til at udføre flere serielle tilføjelser parallelt eller ikke samtidigt.

For eksempel vil en parallel 64-bit binær adderer på 64 binære adderer med komplekse fast-carry-skemaer tilføje 1 par 64-bit-tal i de bedste skemaer i ca. 5dt og 32 par 64-bit-tal i ca. 32*5dt = 160 dt.

32 på hinanden følgende binære addere uden bit-for-bit fremspolingskredsløb vil tilføje 32 par 64-bit tal i cirka 64*2dt=128dt.
32 på hinanden følgende kvaternære addere uden hurtige overføringskredsløb vil tilføje 32 par 64-bit tal i ca. (64/lg 2 4)*2dt=64dt.
32 på hinanden følgende hexadecimale addere uden hurtige overføringskredsløb vil tilføje 32 par 64-bit tal i cirka (64/lg 2 16)*2dt=32dt.
32 på hinanden følgende 250-seks addere uden fast-carry-kredsløb vil tilføje 32 par 64-bit tal i cirka (64/lg 2 256)*2dt=16dt, dvs. omkring ti gange hurtigere end en parallel 64-bit adder med hurtige bærekredsløb.
32 på hinanden følgende fire tusinde seksoghalvfems addere uden hurtige overføringskredsløb vil tilføje 32 par 64 bit tal i ca. (64/lg 2 4096)*2dt=10,67dt.

Se også

Noter

  1. 1 2 Dictionary of Cybernetics / Redigeret af akademiker V. S. Mikhalevich . - 2. - Kiev: Hovedudgave af den ukrainske sovjetiske encyklopædi opkaldt efter M. P. Bazhan, 1989. - 751 s. - (C48). — 50.000 eksemplarer.  - ISBN 5-88500-008-5 .
  2. Wilhelm Schickards tællerur
  3. Arkiveret kopi . Hentet 7. marts 2011. Arkiveret fra originalen 9. oktober 2009. Historie sider. 1938
  4. Adder, 4-bit, fuld, parallel gruppe (tabel), på ROM
  5. Hardwarealgoritmer til aritmetiske moduler
  6. Adder Designs
  7. 3 Addition og subtraktion af binære tal. Binære addere. Side 30. Fig. 12. Skema af huggorm med overspringende transport-overspringshuggorm
  8. Tanenbaum E. - Computerarkitektur. s. 130

Litteratur

  • Ugryumov E. P.  Elementer og komponenter i den digitale computer. M.: Højere skole, 1976. - 232 s.
  • Ugryumov E.P.  Digitalt kredsløb. - St. Petersborg: BHV-Petersburg, 2001. - 528 s.
  • Jean M. Rabai, Ananta Chandrakasan, Borivoj Nikolic. 11. Design af aritmetiske blokke: Adder // Digitale integrerede kredsløb. Designmetodologi = Digitale integrerede kredsløb. - 2. udg. — M .: Williams , 2007. — S.  912 . — ISBN 0-13-090996-3 .

Links