Tato prezentace byla vytvořena v rámci projektu Orbis pictus 21. století
OB21-OP-EL-CT-JANC-M-2-016 Sčítačky OB21-OP-EL-CT-JANC-M-2-016
Sčítačky Aritmetické operace s binárními čísly jsou základem programového vybavení mikroprocesorů a hardwarového vybavení specializovaných integrovaných obvodů. Základem těchto aritmetických operací je sčítání čísel v binární soustavě. Obvody, které toto hardwarové sčítání realizují se nazývají sčítačky.
Sčítačky Sečtení dvou dvojkových čísel je založeno na sečtení všech dvojic dvojkových míst, které si vzájemně řádově odpovídají počínaje nejnižšími řády. Přitom je třeba brát v úvahu i přenosy z nižších do vyšších řádů, které během sčítání vznikají.
Sčítačky Při sčítání dvou dvojkových čísel musíme nejdříve sečíst hodnoty na nejnižším řádovém místě (tj. na řádovém místě odpovídající pozici 20). Může přitom vzniknout aritmetický součet nula, jedna nebo dvě. Vzato binárně, v posledním uvedeném případě nestačí jedno dvojkové místo na zapsání výsledku. Vznikne tedy dvojkový přenos do vyššího řádu. Tento přenos musíme přičíst k binárním číslicím ve vyšším řádu ( v tomto případě na řádovém místě odpovídající pozici 21).
Sčítačky 0 1 1 0 0 1 -------------- 0 1 10 0 1 1 0 0 1 -------------- 0 1 10 Vlastnosti součtu binárních číslic využijeme při návrhu logických obvodů pro aritmetické operace. Problém sčítání dvou dvojkových číslic převedeme do oblasti návrhu logických funkcí
Sčítačky Máme dvě nezávisle proměnné, a to obě sčítané dvojkové číslice A, B, a dvě závisle proměnné, a to součet S odpovídající řádovému místu 20 a přenos C (z anglického Carry – přenos) odpovídající řádovému místu 21. Hodnota C má tedy z hlediska dvojkové číselné soustavy vyšší váhu řádového místa než S, jehož váha je stejná jako váha sčítanců A i B. Uveďme příklad součtu dvou binárních čísel A = 1011 B = 1011 ------------ 10110
Obr. 1 Bloková schéma čtyřbitové sčítačky Součet v tomto tvaru získáme za předpokladu respektování přenosů z nižšího řádu do vyššího. V případě, že bychom tyto přenosy nerespektovali,vypadal by uvedený součet 0000. Obr. 1 Bloková schéma čtyřbitové sčítačky
Sčítačky Součet dvou čtyřbitových čísel A a B můžeme znázornit pomocí blokového schématu na obr. 1. Zde jsou tři nejvyšší řády sčítany v blocích označených , které se nazývají sčítačky nebo úplné sčítačky. Mají tři vstupy. V každém řádu do nich vstupují binární číslice An, Bn a přenos z nižšího řádu Cn. V nejnižším řádu do bloku označeného /2 vstupují pouze binární číslice A0 a B0, a proto se tento blok nazývá poloviční sčítačka. Poloviční sčítačku můžeme použít pouze k součtu dvou číslic na nejnižších řádových místech dvou binárních čísel, do kterého nevstupuje přenos z nižšího řádu.
Obr. 2 Pravdivostní tabulka poloviční sčítačky Poloviční sčítačka Popis funkce poloviční sčítačky můžeme zapsat pomocí pravdivostní tabulky na obr. 2. Pravdivostní tabulka ukazuje, že součet binárních číslic A0 a B0 označený jako S0 nabývá hodnoty 1 právě tehdy, jsou-li hodnoty A0 i B0 různé, a hodnoty 0, jsou-li A0 a B0 shodné. Obr. 2 Pravdivostní tabulka poloviční sčítačky
Poloviční sčítačka S0 můžeme tedy vyjádřit jako nonekvivalenci obou proměnných Přenos C1 vyjádříme z pravdivostní tabulky jako logický součin vstupních proměnných Z odvozených logických funkcí můžeme nakreslit zapojení poloviční sčítačky, které je znázorněno na obr. 3 a.
Obr. 3 Poloviční sčítačka logický obvod, schematická značka Na obr. 3 b je uvedeno značení poloviční sčítačky. Funkci obvodu nonekvivalence realizovanou pomocí hradel AND a OR je možné jednodušeji realizovat jedním obvodem XOR.
Úplná sčítačka Používá se pro vyšší řádová místa vícebitových čísel. Ke dvěma číslicím An a Bn, patřícím k oběma sčítancům, se přidává hodnota přenosu z nižšího řádového místa Cn, viz obr. 1. Součet binárních hodnot An + Bn + Cn, označený Sn, a přenos do vyššího řádu Cn+1 mohou nabývat hodnot uvedených v pravdivostní tabulce na obr. 4.
Obr. 4 Pravdivostní tabulka úplné sčítačky Úplná sčítačka Obr. 4 Pravdivostní tabulka úplné sčítačky
Úplná sčítačka Jestliže nejméně dvě (tedy i všechny tři) z proměnných An, Bn, Cn nabývají hodnoty 1, musí zákonitě nabývat hodnoty 1 i proměnná Cn+1. Z pravdivostní tabulky na obr. 4 lze pro přenos Cn+1 a součet Sn odvodit logické výrazy.
Úplná sčítačka Tyto výrazy popisují možná zapojení obvodů pro realizaci funkcí Cn+1 a Sn. S výhodou zde lze použít logické obvody XOR. Na obr. 5 a) je znázorněno schéma jednobitové úplné sčítačky a na obr. 5 b) její schématická značka. Blok sčítačky má tři vstupy a dva výstupy, jejichž funkce vycházejí z odvozených vztahů pro součet a přenos. Sčítačka je realizována obvody XOR a obvody NAND.
Obr. 5 a) Schéma zapojení úplné sčítačky s obvody XOR, Úplná sčítačka Obr. 5 a) Schéma zapojení úplné sčítačky s obvody XOR, b) schematická značka
Úplná sčítačka Sčítačku lze samozřejmě realizovat i jinými obvody jako např. pomocí základních logických funkcí AND, OR a NOT, ale pak je nutné počítat s podstatně složitějším zapojením při realizaci těchto funkcí. Úplná jednobitová sčítačka pak vychází jako podstatně složitější obvod. Pro ukázku je takto realizovaná sčítačka uvedena na obr.6. Vznikla minimalizací logických funkcí z pravdivostní tabulky uvedené na obr. 4 pomocí Karnaughových map.
Úplná sčítačka Obr. 6 Úplná sčítačka realizovaná minimalizací pravdivostní tabulky z obr. 4
Úplná sčítačka Vzhledem k tomu, že hodnoty proměnných, které přicházejí na vstup úplné sčítačky, mají stejnou váhu řádového místa, není třeba mezi vstupy této sčítačky rozlišovat. Hodnoty na výstupech jsou závislé vždy jen na tom, kolik jedniček se na vstupech sčítačky vyskytne, a ne na tom, na kterých vstupech tyto jedničky jsou. Naproti tomu výstupy sčítačky nejsou zaměnitelné, protože odpovídají hodnotám s různou váhou řádových míst. Dvojkové vícebitové sčítačky můžeme realizovat spojováním jednotlivých jednobitových sčítaček. Pro sčítání prvních dvou bitů můžeme použít buď sčítačku poloviční nebo sčítačku úplnou s tím, že na přenosový vstup připojíme logickou úroveň nula.
Paralelní sčítačka Pojmem paralelní sčítačky budeme označovat číslicové kombinační obvody, které provádějí sčítání nebo odčítání vícebitových binárních čísel. Nejčastěji bývají realizovány jako integrované obvody. Vzhledem k tomu, že vícebitovou sčítačku lze realizovat kaskádním spojením několika jednobitových sčítaček, bude rychlost obvodu záviset na rychlosti generování přenosu v nejvyšším řádu.
Paralelní sčítačka Z hlediska rychlosti šíření přenosu je v mnoha případech normální sčítačka příliš pomalá. Z tohoto důvodu se používají obvody pro „předvídání“, resp. zrychlení výpočtu přenosu. Přenos v určitém řádu je možné získat bez čekání na výsledek přenosu v předchozích řádech. Tyto obvody jsou označovány jako sčítačky se zrychleným přenosem.
Paralelní sčítačka Příkladem paralelních sčítaček mohou být integrované obvody s označením 7483, nebo 74181. Jedná se o čtyřbitové paralelní sčítačky. Pomocí těchto sčítaček lze realizovat jak funkci sčítání, tak i odčítání čísel pomocí dvojkových doplňků. Musíme dát ovšem pozor na to aby se nám výsledek operace „vešel“ do potřebného počtu bitů. Pokud nám tedy nestačí výsledné čtyři bity a potřebujeme k vyjádření výsledku použít i přenos carry (C), mluvíme o tzv. přetečení OV (z anglického Overflow).
Paralelní sčítačka Přetečení výsledku při operaci aritmetického součtu binárních čísel se projevuje tím, že výsledek nemůžeme zobrazit v počtu bitů, ve kterém jsou zobrazena jednotlivá čísla. Taková situace nastane, jestliže sčítáme dvě větší kladná čísla nebo dvě záporná čísla. Stav, kdy došlo k přetečení, musíme nějakým způsobem indikovat, abychom provedli rozšíření výsledku o přenosový bit. Přetečení je něco jiného než přenos
Paralelní sčítačka Indikace přetečení je závislá na hodnotách nejvyšších bitů obou sčítanců, na nejvyšším bítu výsledku a na hodnotě přenosu. Nejvyšším bitům binárních čísel v reprezentaci dvojkových doplňků říkáme znaménkové bity. Pro čtyřbitová čísla můžeme napsat logickou funkci pro indikaci přetečení jako ekvivalenci znaménkových bitů sčítanců A3 a B3, násobenou nonekvivalencí přenosového bitu a znaménkového bitu výsledku S3.
Schéma generování příznaku přetečení čtyřbitové sčítačky Paralelní sčítačka Schéma generování příznaku přetečení čtyřbitové sčítačky
BCD sčítačka Desítková sčítačka provádí součet dvou binárních čísel v kódu BCD. V každém řádu se sčítají dvě čtyřbitová BCD čísla Ad + Bd, odpovídající ekvivalentům čísel 0 až 9, a přičítá se přenos C0 z nižšího řádu. Výsledkem je součet Sd opět v kódu BCD a výstupní přenos Cd, který se generuje v případě, je-li součet čísel Ad + Bd + C0 větší než 9. Při součtu dvou BCD čísel je zbytečné převádět tato čísla na binární, pak je sečíst a potom je opět převést na číslo desítkové. Výhodnější je sečíst obě BCD čísla pomocí binární sčítačky a potom výsledný součet korigovat.
Děkuji za pozornost Ing. Ladislav Jančařík
Literatura Antošová M, Davídek V.: Číslicová technika, KOPP České Budějovice 2008 Bernard J., Hugon J., Le Covec R.: Od logických obvodů k mikroprocesorům I, SNTL Praha 1982