Binárna sčítačka (iné názvy: dvojková sčítačka, (binárny) sumátorsumátor. In: , 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.
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.
Jednobitové sčítačky
Polovičná sčítačka náhľad|Polovičná sčítačka z hradiel XOR a AND Polovičná sčítačka (iné názvy: neúplná sčítačka, polosumátor; ) 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 ).
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.
Booleovský zápis:
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
Úplná sčítačka náhľad|Úplná sčítačka, zložená z dvoch polovičných sčítačiek a hradla OR (bloková schéma) náhľad|Ú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. náhľad|Schematická značka jednobitovej úplnej sčítačky
Úplná sčítačka (iné názvy: plná sčítačka, úplný sumátor, plný sumátor; ) 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 z ). Výstupom je jednobitový súčet (S) a jednobitový príznak prenosu do vyššieho rádu (Co, z ).
Ú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.
Ú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).
Booleovský zápis:
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.
Sčítačka s propagáciou prenosu náhľad|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 (, 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.
Sčítačka s predikciou prenosu náhľad|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, sčítačka so zrýchleným prenosom; , 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 (, 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 hradiel – O(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 náhľad|Bloková schéma 4-bitovej BCD sčítačky zloženej z dvoch binárnych sčítačiek a pomocnej logiky náhľad|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.
Napr.: prvá sčítačka ∑1 > 9 druhá sčítačka desiatkový súčet nie 0 + 0 = 0 nie 1 + 0 = 1 nie 8 + 0 = 8 nie 9 + 0 = 9 áno 9 + 1 = 10 áno 9 + 2 = 11 áno 9 + 8 = 17 áno 9 + 9 = 18
Tento obvod je vhodný pre najbežnejšie BCD kódovanie s bitovými váhami 8-4-2-1 (; skr. NBCD), pri ktorom reprezentácia hodnôt 09 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: 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 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.
Referencie
Pozri aj dvojková číselná sústava binárna násobička aritmeticko-logická jednotka (ALU) hradlo XOR zoznam základných logických obvodov
Iné projekty
Externé odkazy Polovičná sčítačka , úplná sčítačka – interaktívne simulácie hradlových obvodov k publikácii Hradla, volty, jednočipy Martina Malého Hardvérové algoritmy pre aritmetické moduly Reverzné inžinierstvo obvodu zrýchleného prenosu sčítačky v ALU procesora Intel 8008
Kategória:Logické obvody Kategória:Počítačová aritmetika