Adder-subtracter

In digital circuits, an adder-subtracter is a circuit that is capable of adding or subtracting numbers (in particular, binary).Below is a circuit that does adding "or" subtracting" depending on a control signal.However, it is possible to construct a circuit that performs both addition and subtraction at the same time.

Construction

Construction of a binary adder-subtracter is quite easy.Assume you have an "n"-bit adder for A and B, then S = A + B.Also assume the numbers are in two's complement.Then to perform B - A, two's complement theory says to invert each bit with a NOT gate then add one.This yields S = B + overline{A} + 1, which is easy to do with a slightly modified adder.

By preceding each A input bit on the adder with a 2-to-1 multiplexer where:
* Input 0 (I_0) is straight through (A_i)
* Input 1 (I_1) is negated (overline{A_i})that has control input D and the initial carry connect is also connected to D then:
* when D=0 the modified adder performs addition
* when D=1 the modified adder performs subtraction

This works because when D=1 the A input to the adder is really overline{A} and the carry in is 1. Adding B to overline{A} and 1 yields the desired subtraction of B-A.

Role in the arithmetic logic unit

Adders are a part of the core of an arithmetic logic unit (ALU).The control unit decides which operations an ALU should perform (based on the op code being executed) and sets the ALU operation.The D input to the adder-subtracter above would be one such control line from the control unit.

The adder-subtracter above could easily be extended to include more functions.For example, a 2-to-1 multiplexer could be introduced on each B_i that would switch between zero and B_i; this could be used (in conjunction with D=1) to yield the two's complement of A since -A = overline{A} + 1.

A further step would be to change the 2-to-1 mux on A to a 4-to-1 with the third input being zero, then replicating this on B_i thus yielding the following output functions:
* 0 (with the both A_i and B_i input set to zero and D=0)
* 1 (with the both A_i and B_i input set to zero and D=1)
* A (with the B_i input set to zero)
* B (with the A_i input set to zero)
* A+1 (with the B_i input set to zero and D=1)
* B+1 (with the A_i input set to zero and D=1)
* A+B
* A-B
* B-A
* overline{A} (with A_i set to invert; B_i set to zero; and D=0)
* -A (with A_i set to invert; B_i set to zero; and D=1)
* overline{B} (with B_i set to invert; A_i set to zero; and D=0)
* -B (with B_i set to invert; A_i set to zero; and D=1)

By adding more logic in front of the adder, a single adder can be converted into much more than just an adder — an ALU.

ee also

* Adder (electronics)
* Carry look-ahead adder
* Carry save adder
* Adding machine
* Subtractor


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • adder-subtracter — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • Adder (electronics) — In electronics, an adder or summer is a digital circuit that performs addition of numbers.In modern computers adders reside in the arithmetic logic unit (ALU) where other operations are performed.Although adders can be constructed for many… …   Wikipedia

  • subtracter-adder — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • Serial binary adder — The serial binary adder is a digital circuit that performs binary addition bit by bit. The serial full adder has three single bit inputs for the numbers to be added and the carry in. There are two single bit outputs for the sum and carry out. The …   Wikipedia

  • Addier-Subtrahier-Werk — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • Addier-Subtrahiereinrichtung — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • Subtrahier-Addierwerk — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • additionneur-soustracteur — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

  • sudėties ir atimties įtaisas — statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе вычитающее устройство, n pranc.… …   Automatikos terminų žodynas

  • сумматор-вычитатель — sudėties ir atimties įtaisas statusas T sritis automatika atitikmenys: angl. adder subtracter; subtracter adder vok. Addier Subtrahiereinrichtung, f; Addier Subtrahier Werk, n; Subtrahier Addierwerk, n rus. сумматор вычитатель, m; суммирующе… …   Automatikos terminų žodynas

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.