Binárna sčítačka
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[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:
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



Ú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 z Š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:
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

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


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 |
|---|---|---|---|
| nie | 0 + 0 = Šablóna:00 | ||
| nie | 1 + 0 = Šablóna:01 | ||
| nie | 8 + 0 = Šablóna:08 | ||
| nie | 9 + 0 = Šablóna:09 | ||
| á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 (Š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
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 Šablóna:Webarchive, úplná sčítačka Šablóna:Webarchive – interaktívne simulácie hradlových obvodov k publikácii Hradla, volty, jednočipy Martina Malého
- Hardvérové algoritmy pre aritmetické moduly Šablóna:Eng icon
- Reverzné inžinierstvo obvodu zrýchleného prenosu sčítačky v ALU procesora Intel 8008 Šablóna:Eng icon
- ↑ Chyba citácie Neplatná značka
<ref>; nebol zadaný text pre referencie s názvomkollar-digit - ↑ Šablóna:Citácia knihy
- ↑ sumátor. In: Šablóna:Citácia elektronického dokumentu
- ↑ 4,0 4,1 Chyba citácie Neplatná značka
<ref>; nebol zadaný text pre referencie s názvomkvasnicka-2012 - ↑ 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ázvomantosova-2009 - ↑ 6,0 6,1 6,2 6,3 Chyba citácie Neplatná značka
<ref>; nebol zadaný text pre referencie s názvomadam - ↑ 7,0 7,1 7,2 Chyba citácie Neplatná značka
<ref>; nebol zadaný text pre referencie s názvommaly-2020 - ↑ 8,0 8,1 Šablóna:Citácia elektronického dokumentu
- ↑ Šablóna:Citácia elektronického dokumentu
- ↑ Šablóna:Citácia elektronického dokumentu