Boolean algebra is named after George Boole, who developed his algebra of two values -- zero and one -- as a thought experiment in the mid 19th century. A little under 100 years later, MIT student Claude Shannon demonstrated the application of Boolean algebra to design electronic circuits that could resolve any logical and numeric relationship. Shannon's thesis underlies all modern circuit design and information theory.
Boolean Algebra has three operations: conjunction, disjunction, and negation. In computer logic design, we call conjunction AND, disjunction OR, and negation NOT. The result of these operations are defined in truth tables, as shown below.
0 AND 0 = 0 | 0 OR 0 = 0
1 AND 0 = 0 | 1 OR 0 = 1
0 AND 1 = 0 | 0 OR 1 = 1
1 AND 1 = 1 | 1 OR 1 = 1
NOT 0 = 1
NOT 1 = 0
Other logical operators are created from these basic Boolean operations. These are NOT AND (NAND), Exclusive OR (XOR), NOT Exclusive OR (XNOR) and so forth.
It turns out every logical operation can be construction from NAND gates. An entire computer processor, adders, memory circuits and so forth can be designed using nothing but NAND logic.
In computer circuits, these zeroes and ones are represented by voltage levels, which are controlled by the electronic switches we've already discussed in Tubes, Transistors and Integrated Circuits. Millions of these logic gates are combined to perform arithmetic operations, store values, and make decisions.
1. Describe or draw a basic TTL NAND logic circuit.
2. Modern computer memory is design using edged triggered flip flop circuits. Find a logic diagram for this type of memory circuit. (Hint: Google is your friend).
3. What does "flip flop" mean in the context of digital circuits?
4. Why is a clock signal important in dynamic random access memory (DRAM)?