Transcript Chapter04

Chapter 4
Gates and Circuits
Computers and Electricity


Gate: A device that performs a basic
operation on electrical signals.
Circuits: Gates combined to perform more
complicated tasks.
2
Computers and Electricity

There are three different, but equally
powerful, notational methods
for describing the behavior of gates
and circuits:



Boolean expressions
logic diagrams
truth tables
3
Computers and Electricity

Boolean expressions: Expressions in
Boolean algebra, a mathematical notation for
expressing two-valued logic.
This algebraic notation is an elegant and
powerful way to demonstrate the activity of
electrical circuits.
4
Computers and Electricity

Logic diagram: a graphical representation of
a circuit
Each type of gate is represented by a specific
graphical symbol.

Truth table: A table showing all possible
input values and the associated output values.
5
Gates

Let’s examine the processing of the following
six types of gates:







NOT
AND
OR
XOR
NAND
NOR
Typically, logic diagrams are black and white, and the
gates are distinguished only by their shape.
6
NOT Gate

A NOT gate accepts one input value
and produces one output value.
Figure 4.1 Various representations of a NOT gate
7
NOT Gate


By definition, if the input value for a NOT
gate is 0, the output value is 1, and if the input
value is 1, the output is 0.
A NOT gate is sometimes referred to as an
inverter because it inverts the input value.
8
AND Gate


An AND gate accepts two input signals.
If the input values for an AND gate are both 1,
the output is 1; otherwise, the output is 0.
Figure 4.2 Various representations of an AND gate
9
OR Gate

If the two input values are both 0, the output
value is 0; otherwise, the output is 1.
Figure 4.3 Various representations of a OR gate
10
XOR Gate

XOR gate (eXclusive OR)

An XOR gate produces 0 if its two inputs are the
same, and a 1 otherwise.

Note the difference between the XOR gate
and the OR gate; they differ only in one
input situation:

When both input signals are 1, the OR gate produces a
1 but the XOR produces a 0.
11
XOR Gate
Figure 4.4 Various representations of an XOR gate
12
NAND and NOR Gates

The NAND and NOR gates are essentially the
opposite of the AND and OR gates, respectively.
Figure 4.5 Various representations
of a NAND gate
Figure 4.6 Various representations
of a NOR gate
4–15
Review of Gate Processing



A NOT gate inverts its single input value.
An AND gate produces 1 if both input values
are 1.
An OR gate produces 1 if one or the other or
both input values are 1.
14
Review of Gate Processing



An XOR gate produces 1 if one or the other
(but not both) input values are 1.
A NAND gate produces the opposite results
of an AND gate.
A NOR gate produces the opposite results of
an OR gate.
15
So far gates are theoretical devices.
How can we construct them?
PHYSICAL GATES
16
Constructing Gates

Transistor: A device that acts, depending on the
voltage level of an input signal, either as a wire that
conducts electricity or as a resistor that blocks the
flow of electricity.

A transistor has no moving parts, yet acts like a switch.

It is made of a semiconductor material, which is neither a
particularly good conductor of electricity, such as copper,
nor a particularly good insulator, such as rubber.
17
Constructing Gates

A transistor has three
terminals:




Figure 4.8 The connections of a transistor
A source
A base
An emitter, typically
connected to a ground wire
If the electrical signal is
grounded, it is allowed to flow
through an alternative route to
the ground (literally) where it
can do no harm.
18
Constructing Gates

It turns out from the way a transistor works, the
easiest gates to create are the NOT, NAND, and
NOR gates.
19
Figure 4.9 Constructing gates using transistors
Back to theory…
CIRCUITS
20
Circuits

Two general categories:



In a combinational circuit, the input values explicitly
determine the output.
In a sequential circuit, the output is a function of the
input values as well as the existing state of the circuit.
As with gates, we can describe the operations
of entire circuits using three notations:



Boolean expressions
logic diagrams
truth tables
21
Combinational Circuits
Gates are combined into circuits by using the output of
one gate as the input for another.
22
Combinational Circuits
The same circuit expressed in Boolean algebra:
AB + AC
23
Combinational Circuits
Because there are three inputs to this circuit, eight rows
are required to describe all possible input combinations.
24
Combinational Circuits

Now let’s go the other way; let’s take a Boolean expression
and draw its circuit and its Truth Table.

Consider the following Boolean expression:
A(B + C)

What does it mean?
25
Combinational Circuits
A (B + C)
Can you create its Truth Table?
26
A (B + C)
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
B+C
A(B + C)
27
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
A(B + C)
28
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
A(B + C)
29
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
A(B + C)
30
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
A(B + C)
31
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
A(B + C)
32
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
A(B + C)
33
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
A(B + C)
34
A (B + C)
A
B
C
B+C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
A(B + C)
35
A (B + C)
A
B
C
B+C
A(B + C)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
1
1
36
Combinational Circuits
Now compare the final result column in this truth table to the
truth table for the previous example:
A(B+C)
(AB + AC)
Their result columns are identical!
37
Combinational Circuits
We have therefore just demonstrated
circuit equivalence.
since both circuits produce the exact same output
for each combination of input values.
38
Boolean algebra allows us to apply provable
mathematical principles to help us design logical
circuits.
PROPERTIES
39
Properties of Boolean Algebra
40
A special type of Combinational Circuit:
ADDERS
41
Adders


At the digital logic level, addition is
performed in binary.
Addition operations are carried out
by special circuits called, appropriately,
adders.
42
Adders



The result of adding two binary digits could
produce a carry value.
Recall that 1 + 1 = 10 in base two.
A circuit that computes the sum of two bits
and produces the correct carry bit is called a
half adder.
43
Addition
Recall the Binary Rules of Addition:
00
00
01
01
+
+
+
+
00
01
00
01
=
=
=
=
00
01
01
10
44
Adder Truth Table
Examine the adder’s truth
table carefully.
A
B
Carry Sum
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
45
Adder Truth Table
The Carry column has the
same results as an AND
gate.
A
B
Carry Sum
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
46
Adder Truth Table
The Sum column has the
same results as an XOR
gate.
A
B
Carry Sum
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
47
Adders


Page 103
This circuit diagram
represents a half
adder.
As do these two
Boolean
expressions:
sum = A  B
carry = AB
48
Adders

A circuit called a full adder takes the carryin value into account.
49
Figure 4.10 A full adder
Multiplexers

A multiplexer is a general circuit that
produces a single output signal.

The output is equal to one of several input signals
to the circuit.

The multiplexer selects which input signal is used
as an output signal based on the value represented
by a few more input signals, called select signals
or select control lines.
50
Multiplexers

The control lines S0,
S1, and S2
determine which of
eight other input lines
(D0 through D7) are
routed to the output
(F).
51
Page 105
Sequential Circuits


Digital circuits can also be used to store
information.
This application employs sequential circuits,
because the output of the circuit is also used
as input to the circuit.
52
Circuits as Memory

An S-R latch stores a
single binary digit
(1 or 0).

There are several ways
an S-R latch circuit
could be designed using
various kinds of gates.
Figure 4.12 An S-R latch
53
Circuits as Memory



The design of this circuit
guarantees that the two outputs
X and Y are always
complements of each other.
The value of X at any point in
time is considered to be the
current state of the circuit.
Therefore, if X is 1, the circuit
is storing a 1; if X is 0, the
circuit is storing a 0.
54
Circuits as Memory (S-R latch)
S=1, R=1, X=1, Y=0
S=1
X=1
S NAND Y = 1
R NAND X = 0
The latch is storing 1.
Y=0
R=1
55
Circuits as Memory (S-R latch)
Momentarily set R=0
S=1
X=1
R NAND X =>
0 NAND 1 =
? at Y
Y NAND S =>
1 NAND 1 =
? at X
Y=?
R=0
56
Circuits as Memory (S-R latch)
Momentarily set R=0
S=1
X=?
R NAND X =>
0 NAND 1 =
1 (at Y)
Y NAND S =>
1 NAND 1 =
? at X
Y=1
R=0
57
Circuits as Memory (S-R latch)
Momentarily set R=0
S=1
X=0
R NAND X =>
0 NAND 1 =
1 (at Y)
Y NAND S =>
1 NAND 1 =
0 (at X)
Y=1
R=0
58
Circuits as Memory (S-R latch)
When R is set back to 1
S=1
X=0
R NAND X = 1
S NAND Y = 0
The latch stores 0.
Y=1
R=1
59
Circuits as Memory (S-R latch)
S=1, R=1, X=0, Y=1
S=1
X=0
R NAND X = 1
S NAND Y = 0
The latch stores 0.
Y=1
Momentarily set S=0…
R=1
60
Circuits as Memory (S-R latch)
When S=0
S=0
X=?
S NAND Y =>
0 NAND 1 =
? (at X)
Y=1
R=1
61
Circuits as Memory (S-R latch)
S=0
X=1
S NAND Y =>
0 NAND 1 =
1 (at X)
X NAND R =>
1 NAND 1 =
? (at Y)
Y=1
R=1
62
Circuits as Memory (S-R latch)
S=0
X=1
S NAND Y =>
0 NAND 1 =
1 (at X)
X NAND R =>
1 NAND 1 =
0 (at Y)
Y=0
R=1
63
Circuits as Memory (S-R latch)
When S returns to 1
S=1
X=1
S NAND Y = 1
R NAND X = 0
The latch stores 1 again.
Y=0
R=1
64
Circuits as Memory
There are many ways to construct memory
circuits. The SR latch is cheap to build (only 4
transistors) but it requires that its inputs by 1
normally.
The flip-flop is a more expensive device that
requires inputs of 0.
65
Circuits as Memory
The flip-flop.
66
Circuits as Memory
The flip-flop with its inputs set
to 0.
Note that it’s impossible to
state the value of X.
67
Circuits as Memory (flip-flop)
What happens if A
becomes 1?
68
Circuits as Memory (flip-flop)
1 OR anything = …
69
Circuits as Memory (flip-flop)
1 OR anything = 1
So now 1 AND 1 = …
70
Circuits as Memory (flip-flop)
1 AND 1 = 1
Now, notice what happens
when the input at A
returns to 0.
71
Circuits as Memory (flip-flop)
The flip-flop continues to
hold the value 1 as its
output.
72
Circuits as Memory (flip-flop)
Let’s go back to the
original state with the
output unknown.
What happens if input B is
set to 1?
73
Circuits as Memory (flip-flop)
NOT 1 = …?
74
Circuits as Memory (flip-flop)
NOT 1 = 0
0 AND anything = …?
75
Circuits as Memory (flip-flop)
0 AND anything = 0
0 OR 0 = …?
76
Circuits as Memory (flip-flop)
0 OR 0 = 0
Now, notice what happens
when the input at B
returns to 0.
77
Circuits as Memory (flip-flop)
The flip-flop continues to
hold the value 0 as its
output.
78
Circuits as Memory (flip-flop)
Since we didn’t know the
initial value of X we
can summarize the
behaviour of the flipflop as follows:
Input at A causes it to
store a 1.
Input at B causes it to
store a 0.
79
Circuits as Memory (flip-flop)
There are other ways to
construct memory
devices.
See if you can figure out
how this one works.
Can you redesign it to be
more efficiently
manufactured?
80
Integrated Circuits

Integrated circuit (also called a chip) - A
piece of silicon on which multiple gates have
been embedded.
These silicon pieces are mounted on a plastic
or ceramic package with pins along the edges
that can be soldered onto circuit boards or
inserted into appropriate sockets.
81
Integrated Circuits

Integrated circuits (IC) are classified by the
number of gates contained in them.
Page 107
82
Integrated Circuits
83
Figure 4.13 An SSI chip contains independent NAND gates
CPU Chips


The most important integrated circuit
in any computer is the Central Processing
Unit, or CPU.
Each CPU chip has a large number
of pins through which essentially all
communication in a computer system occurs.
84
CPU Chips
A CPU adaptor.
Each hole receives a pin from the CPU.
85