# IM System Architecture Notes

### Binary Logic

We use binary logic in order to have an abstract representation of logic gates. A digital logic circuit has a number of input lines A, B, C, ... and a number of output lines. We will consider one output line called Z at the moment.

We write Z = f(A,B,C,...) to mean that the value of Z is determined by the values of the inputs A, B, C.... Z is said to be a function of its inputs.

In the case of real digital circuits currents are passed through the lines, but voltages between about 5 and 15 are called on or TRUE and near zero called off or FALSE. We identify TRUE with the digit 1 and FALSE with the digit 0.

### Fundamental Operations

1. Binary Every expression can only evaluate to 0 or 1, there are no other possibilities.

2. NOT For any A, not(A) has the value 1 if A=0, and 0 if A=1. not(A) is called the complement of A.

3. OR Given two inputs A, B the expression A+B represents "A OR B" and evaluates to 1 if at least one of A or B is 1, otherwise it is 0.

4. AND Given two inputs A, B the expression A.B represents "A AND B" and evaluates to 1 if both A and B are 1, otherwise it is 0.

5. NOR Given two inputs A, B the expression not(A+B) (not-or) is the complement of A+B.

6. NAND Given two inputs A, B the expression not(A.B) (not-and) is the complement of A.B.

7. EOR Given two inputs A, B the expression A^B is the exclusive-or of A, B and has the value 1 if one and only one of A or B are 1 (but not both).

These operations may be expressed as Truth Tables, and using truth tables a number of fundamental laws of logic, often called Boolean Algebra (after the mathematician George Boole) may be constructed.