Digital logic is a precise set of mathematical rules for representing the relationships and interactions of symbols stored in a digital computer. Binary logic, Boolean logic, and digital logic are often considered interchangeable terms, as nearly all digital computers perform logical and arithmetic operations on information cast in binary (i.e., two-valued) form.
In 1847 the English mathematician George Boole created a system of algebra that represented logical relationships and operations in which all values are reduced to either TRUE or FALSE. In the 1930s and 1940s British mathematician Alan Turing and American applied mathematician Claude Shannon, who together laid much of the theoretical foundation for the use of binary logic in digital computers, recognized that binary logic was well suited to digital computers. By the late 1930s several digital computers were using Boolean algebra, thus implementing earlier theoretical ideas. Some of these computers were the Z1 calculating machine designed by German engineer Konrad Zuse, the Atanasoff-Berry Computer (ABC) created by American mathematician and physicist John Atanasoff and his graduate student Clifford Berry, and the Bell Laboratories relay computers developed by American mathematician George Stibitz.
Digital logic is a natural match to the binary number system, in which each binary digit (bit) has a value of either 1 or 0 (or TRUE or FALSE; the two physical device states used to represent 1 and 0 can be used to represent any symbolic pair, including plus and minus, up and down, or any other). Digital logic uses a high voltage to represent the bit value 1 and a low voltage to represent the bit value 0. Use of the binary number system implies the use of binary arithmetic to perform calculations such as addition, subtraction, multiplication, and division.
The instructions that control the circuit-level operations of a computer are known as machine code and are written as sequences of groups of bits. These bits switch groups of transistors called logic gates on and off, and the outputs of these gates constitute binary information also. There are three basic logic gates: AND, OR, and NOT. An AND gate receives the value of two input bits and tests them to determine whether or not they both equal 1. If so, the output of the AND gate is a 1 (TRUE). If they are not, the output of the AND gate is a 0 (FALSE). An OR gate tests two input bits to find if either of the bits is equal to 1. If either input bit is equal to 1, the output of the OR gate is a 1; if both input bits are 0, the output of the OR gate is a 0. A NOT gate negates its input bit, so an input of 1 results in an output of 0 and vice versa.
Combinations of logic gates in open or closed positions (i.e., 1 or 0 output bit, respectively) can be used to represent data and to execute operations on that data. A group of logic gates connected together are a logic circuit. The output of a logic circuit can provide input to another logic circuit or produce the final result of an operation. Complex operations can be performed using combinations of the AND, OR, and NOT functions. In fact, all the operations performed by a digital computer are produced by the action of thousands or millions of such gates, changing state millions of times per second.
This is the complete article, containing 562 words
(approx. 2 pages at 300 words per page).