Binárna sčítačka

Zo stránky testwiki
Prejsť na navigáciu Prejsť na vyhľadávanie

Binárna sčítačka[1] (iné názvy: dvojková sčítačka,[2] (binárny) sumátor[3][4], sčítačka) je kombinačný logický obvod, realizujúci sčítanie čísel, reprezentovaných v dvojkovej číselnej sústave. Tvorí dôležitú súčasť aritmeticko-logickej jednotky (ALU) centrálneho procesora (CPU) počítača.[5]

V prípade použitia dvojkového doplnkového kódovania záporných čísel sa dá sčítačka veľmi jednoducho rozšíriť na sčítačku-odčítačku.[5]

Jednobitové sčítačky

Polovičná sčítačka

Polovičná sčítačka z hradiel XORAND

Polovičná sčítačka[6] (iné názvy: neúplná sčítačka[7]Šablóna:Rp, polosumátor[4]; Šablóna:Eng) realizuje sčítanie dvoch jednociferných binárnych čísel. Vstupom sú dva jednobitové sčítance (A, B). Výstupom je jednobitový súčet (S) a jednobitový príznak prenosu do vyššieho rádu (C, z Šablóna:Eng).[5]

Polovičná sčítačka odovzdáva ďalej príznak prenosu do ďalšieho rádu, sama však nedokáže spracovať prenos z predchádzajúceho rádu. Nestačí preto na realizáciu viacbitového sčítania.[5]

Booleovský zápis:

S=AB
C=AB

Pravdivostná tabuľka polovičnej sčítačky:

vstup výstup
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Šablóna:Clear

Úplná sčítačka

Úplná sčítačka, zložená z dvoch polovičných sčítačiek a hradla OR (bloková schéma)
Úplná sčítačka z hradiel (2× XOR, 2× AND, 1× OR). Dve polovičné sčítačky sú v schéme vyznačené červenou farbou.
Schematická značka jednobitovej úplnej sčítačky

Úplná sčítačka[6] (iné názvy: plná sčítačka, úplný sumátor, plný sumátor; Šablóna:Eng) realizuje sčítanie dvoch jednociferných binárnych čísel s pripočítaním prenosu z predchádzajúceho rádu. Vstupom sú tri jednobitové sčítance: A, B, Ci (CiŠablóna:Eng). Výstupom je jednobitový súčet (S) a jednobitový príznak prenosu do vyššieho rádu (Co, z Šablóna:Eng).

Úplnú sčítačku je možné zložiť z dvoch polovičných sčítačiek a hradla OR (pozri obr.). Hradlo OR je navyše možné bez vplyvu na funkčnosť nahradiť hradlom XOR, nakoľko kombinácia vstupov (1, 1), pri ktorej by sa ich výstup líšil nemôže v prípade sčítania nastať (buď nastane prenos iba v prvej polovičnej sčítačke, alebo iba v druhej). Na vytvorenie úplnej sčítačky tak stačia 2 typy hradiel, čo je praktické pri ich realizácii.[5]

Úplné sčítačky je možné zreťaziť vedľa seba (výstup Co jednej sčítačky prepojiť so vstupom Ci ďalšej) a realizovať tak sčítanie viacbitových čísel (pozri nižšie).[5]

Booleovský zápis:

S=(AB)Ci
Co=(AB)+(Ci(AB))=(AB)+(BCi)+(CiA)

Pravdivostná tabuľka úplnej sčítačky:

vstup výstup
A B Ci Co S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Paralelné sčítačky

Paralelná sčítačka je kombinačný obvod, realizujúci sčítanie viacbitových binárnych čísel.[5]

Sčítačka s propagáciou prenosu

4-bitová sčítačka s propagáciou prenosu. Doba ustálenia obvodu je 2 × 4 = 8 čiastkových hradlových oneskorení.

N-bitová sčítačka s propagáciou prenosu alebo sčítačka so sériovým prenosom[6] (Šablóna:Eng, skr. RCA) vznikne jednoduchým zreťazením N úplných 1-bitových sčítačiek, prepojením výstupu Co úplnej sčítačky n-tého bitu so vstupom Ci sčítačky (n+1). bitu (pozri obr.). Vstupom výslednej N-bitovej sčítačky sú potom dve N-bitové čísla (+ prípadný prenos z predchádzajúceho rádu), výstupom je ich súčet, široký N+1 bitov (N bitov + prenos). Názov je odvodený z princípu – príznak prenosu sa odovzdáva (propaguje) z jedného bitu do druhého.

Sčítačka s propagáciou prenosu je jednoduchá na návrh a realizáciu a teoreticky je rozšíriteľná na ľubovoľný počet bitov. Má však zásadnú nevýhodu: s rastúcou šírkou (a teda počtom zreťazených úplných sčítačiek) priamo úmerne narastá celkové oneskorenie (doba ustálenia) výsledného obvodu. Signál prenosu prechádza v každej úplnej sčítačke dvoma hradlami, takže korektný súčet sa na výstupe napr. 32-bitovej sčítačky s propagáciou prenosu objaví s oneskorením až 64 čiastkových hradlových oneskorení, čo by mohlo výrazne obmedzovať priepustnosť (maximálny možný počet sčítaní za jednotku času) sekvenčného zariadenia, využívajúceho takýto typ sčítačky. Toto obmedzenie viedlo k snahe navrhnúť N-bitové sčítačky s menším oneskorením.

Šablóna:Clear

Sčítačka s predikciou prenosu

4-bitová sčítačka s predikciou prenosu

Sčítačka s predikciou prenosu (iné názvy: sčítačka s predvídaním prenosu[7]Šablóna:Rp, sčítačka so zrýchleným prenosom[6]; Šablóna:Eng, skr. CLA) je N-bitová binárna sčítačka, schopná vypočítať súčet v kratšom čase (v jednotkách hradlového oneskorenia) než sčítačka s propagáciou prenosu (RCA). Pri RCA musí každá čiastková 1-bitová sčítačka „čakať“ na korektný príznak prenosu od sčítačky predchádzajúceho bitu. Pri CLA sú (zjednodušene povedané) všetky prenosy medzi rádmi vypočítané súčasne – kombinačným obvodom, nazývaným jednotka predikcie prenosu (Šablóna:Eng, skr. LCU).

Výhody:

  • výpočet súčtu s oneskorením, teoreticky nezávislým od šírky vstupu – O(1), zatiaľ čo sčítačka s propagáciou prenosu má oneskorenie priamo úmerné šírke vstupu – O(n)

Nevýhody:

  • vyššie nároky na celkový počet hradielO(n²) a celkový počet tranzistorov (O(n³) kvôli potrebe hradiel s počtom vstupov úmerným šírke sčítačky) v porovnaní so sčítačkou s propagáciou prenosu (O(n) hradiel)
  • od určitého počtu bitov prestáva byť prakticky realizovateľná (kvôli počtu hradiel a výrobným obmedzeniam na počet vstupov jedného hradla). Široké sčítačky je preto potrebné realizovať viacúrovňovo – kombinovaním princípu predikcie prenosu (na nižšej úrovni) s propagáciou prenosu (na vyššej úrovni), prípadne použitím princípu predikcie prenosu na dvoch (alebo viacerých) úrovniach.

BCD sčítačky

Bloková schéma 4-bitovej BCD sčítačky zloženej z dvoch binárnych sčítačiek a pomocnej logiky
Schéma 4-bitovej BCD sčítačky z konkrétnych TTL obvodov z rodiny 7400

Pre sčítavanie čísel reprezentovaných v BCD kódovaní, kde je každá desiatková cifra reprezentovaná samostatnou štvoricou bitov, je možné použiť obvod zložený z dvoch 4-bitových úplných binárnych sčítačiek a pomocnej logiky.

Prvá sčítačka binárne sčíta 4-bitové BCD sčítance, pričom pokiaľ je ich súčet ≤ 9, je už jej výstupom platná BCD reprezentácia výsledku. Ak je hodnota súčtu > 9, je k nemu potrebné (v modulo 16 aritmetike) pripočítať hodnotu 6 (a indikovať prenos do vyššieho rádu, Co), aby výsledok znova binárne reprezentoval príslušnú desiatkovú cifru súčtu. Toto pričítanie zabezpečuje druhá 4-bitová sčítačka, ktorá má ako jedného sčítanca výstup prvej sčítačky a ako druhého buď hodnotu 0 (00002) alebo hodnotu 6 (01102), pričom prepínanie týchto dvoch hodnôt zabezpečuje pomocná hradlová logika, dekódujúca výstupy prvej sčítačky.[5]Šablóna:Rp

Napr.:

prvá sčítačka 1 > 9 druhá sčítačka desiatkový súčet
0+0  0(mod16) nie   0+00(mod16) 0 + 0 = Šablóna:00
1+0  1(mod16) nie   1+01(mod16) 1 + 0 = Šablóna:01
8+0  8(mod16) nie   8+08(mod16) 8 + 0 = Šablóna:08
9+0  9(mod16) nie   9+09(mod16) 9 + 0 = Šablóna:09
9+110(mod16) áno 10+60(mod16) 9 + 1 = 10
9+211(mod16) áno 11+61(mod16) 9 + 2 = 11
9+8  1(mod16) áno   1+67(mod16) 9 + 8 = 17
9+9  2(mod16) áno   2+68(mod16) 9 + 9 = 18

Tento obvod je vhodný pre najbežnejšie BCD kódovanie s bitovými váhami 8-4-2-1 (Šablóna:Eng; skr. NBCD), pri ktorom reprezentácia hodnôt 0Šablóna:--9 priamo zodpovedá ich zápisom v dvojkovej sústave.

Integrované obvody

Medzi bežné TTL/CMOS integrované obvody realizujúce binárne sčítačky patria:[8][9][10]

  • 7480: 1-bitová úplná sčítačka
  • 7482: 2-bitová úplná sčítačka
  • 7483: 4-bitová úplná sčítačka so zrýchleným prenosom
  • 74181: 4-bitová 16-funkčná aritmeticko-logická jednotka (ALU)
  • 74183: 2× 1-bitová úplná sčítačka
  • 74283: 4-bitová úplná sčítačka so zrýchleným prenosom
  • 74381: 4-bitová ALU s výstupmi „generate“ a „propagate“
  • 74382: 4-bitová ALU s výstupmi „ripple carry“ a „overflow“
  • 74385: 4× 1-bitová sčítačka/odčítačka
  • 74456: natural binary coded decimal (NBCD) sčítačka
  • 4008: 4-bitová úplná sčítačka so zrýchleným prenosom
  • 4032: 3× sériová sčítačka
  • 4038: 3× sériová sčítačka (spúšťanie zostupnou hranou)
  • 4560: NBCD sčítačka
  • 40181: 4-bitová 16-funkčná ALU

Ekvivalenty uvedených obvodov[8] aj ľubovoľné vlastné účelové obvody sčítačiek je dnes možné pohodlne používať aj vo forme komponentov pre programovateľné hradlové polia.[7]Šablóna:Rp

Referencie

Šablóna:Referencie

Pozri aj

Iné projekty

Šablóna:Projekt

Externé odkazy

  1. Chyba citácie Neplatná značka <ref>; nebol zadaný text pre referencie s názvom kollar-digit
  2. Šablóna:Citácia knihy
  3. sumátor. In: Šablóna:Citácia elektronického dokumentu
  4. 4,0 4,1 Chyba citácie Neplatná značka <ref>; nebol zadaný text pre referencie s názvom kvasnicka-2012
  5. 5,0 5,1 5,2 5,3 5,4 5,5 5,6 5,7 Chyba citácie Neplatná značka <ref>; nebol zadaný text pre referencie s názvom antosova-2009
  6. 6,0 6,1 6,2 6,3 Chyba citácie Neplatná značka <ref>; nebol zadaný text pre referencie s názvom adam
  7. 7,0 7,1 7,2 Chyba citácie Neplatná značka <ref>; nebol zadaný text pre referencie s názvom maly-2020
  8. 8,0 8,1 Šablóna:Citácia elektronického dokumentu
  9. Šablóna:Citácia elektronického dokumentu
  10. Šablóna:Citácia elektronického dokumentu