Sčítač – odečítač - Adder–subtractor - Wikipedia
Část série na | |||||||
aritmetické logické obvody | |||||||
---|---|---|---|---|---|---|---|
Rychlá navigace | |||||||
Součásti
| |||||||
Kategorie
| |||||||
Viz také | |||||||
![]() | tento článek ne uvést žádný Zdroje.Červen 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v digitální obvody, an sčítač – odečítač je obvod, který je schopen přidávání nebo odečítání čísla (zejména binární ). Níže je uveden obvod, který přidává nebo odečítání v závislosti na řídicím signálu. Je také možné zkonstruovat obvod, který provádí sčítání i odčítání současně.
Konstrukce

Mít n-bitová zmije pro A a B, pak S = A + B. Pak předpokládejme, že čísla jsou v doplněk dvou. Pak provést B − A, teorie dvou komplementů říká, že invertuje každý bit A s NENÍ brána pak jeden přidejte. To přináší S = B + A + 1, což je u mírně upraveného sčítače snadné.
Předcházením každého A vstupní bit na sčítačce s 2: 1 multiplexer kde:
- Vstup 0 (Já0) je A
- Vstup 1 (Já1) je A
který má řídicí vstup D který je také spojen s počátečním přenosem, pak provede upravenou sčítačku
- doplněk, když D = 0nebo
- odčítání, když D = 1.
To funguje, protože když D = 1 the A vstup do sčítačky je opravdu A a přenos je 1. Přidávání B na A a 1 získá požadované odečtení B − A.
Způsob, jak můžete označit číslo A jako pozitivní nebo negativní bez použití multiplexeru na každém bitu je použití XOR brána místo toho předcházet každý bit.
- První vstup do brány XOR je skutečný vstupní bit
- Druhým vstupem do brány XOR pro každý je řídicí vstup D
To produkuje totéž pravdivostní tabulka pro bit přijíždějící na sčítač jako řešení multiplexeru, protože výstup brány XOR bude takový, jaký je vstupní bit, když D = 0 a invertovaný vstupní bit, když D = 1.
Role v aritmetické logické jednotce
Přidávače jsou součástí jádra aritmetická logická jednotka (ALU). The řídící jednotka rozhoduje, které operace by ALU měla provádět (na základě operační kód prováděna) a nastavuje operaci ALU. The D vstup do sčítače – odečítače výše by byl jeden takový ovládací řádek z řídicí jednotky.
Sčítač-odečítač výše lze snadno rozšířit tak, aby zahrnoval více funkcí. Například na každém by mohl být zaveden multiplexor 2: 1 Bi to by přepínalo mezi nulou a Bi; toto by mohlo být použito (ve spojení s D = 1) k získání doplněk dvou z A od té doby −A = A + 1.
Dalším krokem by byla změna multiplexu 2 na 1 A na 4: 1, přičemž třetí vstup je nulový, a poté to replikuje Bi čímž se získá následující výstupní funkce:
- 0 (s oběma Ai a Bi vstupy nastaveny na nulu a D = 0)
- 1 (s oběma Ai a Bi vstupy nastaveny na nulu a D = 1)
- A (s Bi vstup nastaven na nulu)
- B (s Ai vstup nastaven na nulu)
- A + 1 (s Bi vstup nastaven na nulu a D = 1)
- B + 1 (s Ai vstup nastaven na nulu a D = 1)
- A + B
- A − B
- B − A
- A (s Ai nastavit invertovat; Bi nastaven na nulu; a D = 0)
- −A (s Ai nastavit invertovat; Bi nastaven na nulu; a D = 1)
- B (s Bi nastavit invertovat; Ai nastaven na nulu; a D = 0)
- −B (s Bi nastavit invertovat; Ai nastaven na nulu; a D = 1)
Přidáním další logiky před sčítač lze jeden sčítač převést na mnohem víc než jen sčítač - ALU.