1 Logic Gates TARUNGEHLOTS
2
Review of Boolean algebra
Just like Boolean logic
Variables can only be 1 or 0 Instead of true / false
3
Review of Boolean algebra
Not is a horizontal bar above the number 0 = 1 1 = 0
Or is a plus 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 1
And is multiplication 0*0 = 0 0*1 = 0 1*0 = 0 1*1 = 1
_
_
4
Review of Boolean algebra
Example: translate (x+y+z)(xyz) to a Boolean logic expression
(xyz)(xyz)
We can define a Boolean function: F(x,y) = (xy)(xy)
And then write a “truth table” for it:
_ _ _
x y F(x,y)
1 1 0
1 0 0
0 1 0
0 0 0
5
Quick survey
I understand the basics of Boolean algebra
a) Absolutely!b) More or lessc) Not reallyd) Boolean what?
9
Quick survey
I understand how to figure out what a logic gate does
a) Absolutely!b) More or lessc) Not reallyd) Not at all
11
xyxyxy
Write the circuits for the following Boolean algebraic expressions
b) (x+y)x_______
xy
x+yx+y (x+y)x
12
Writing xor using and/or/not
p q (p q) ¬(p q)
x y (x + y)(xy)
x y xy1 1 0
1 0 1
0 1 1
0 0 0
xy
x+y
xy xy
(x+y)(xy)
____
13
Quick survey
I understand how to write a logic circuit for simple Boolean formula
a) Absolutely!b) More or lessc) Not reallyd) Not at all
14
Converting decimal numbers to binary
53 = 32 + 16 + 4 + 1= 25 + 24 + 22 + 20
= 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20
= 110101 in binary= 00110101 as a full byte in binary
211= 128 + 64 + 16 + 2 + 1= 27 + 26 + 24 + 21 + 20
= 1*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20
= 11010011 in binary
15
Converting binary numbers to decimal
What is 10011010 in decimal?10011010 = 1*27 + 0*26 + 0*25 + 1*24 + 1*23 +
0*22 + 1*21 + 0*20
= 27 + 24 + 23 + 21
= 128 + 16 + 8 + 2 = 154
What is 00101001 in decimal? 00101001 = 0*27 + 0*26 + 1*25 + 0*24 + 1*23 +
0*22 + 0*21 + 1*20
= 25 + 23 + 20
= 32 + 8 + 1 = 41
17
Quick survey
I understand the basics of converting numbers between decimal and binary
a) Absolutely!b) More or lessc) Not reallyd) Not at all
18
How to add binary numbers
Consider adding two 1-bit binary numbers x and y 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10
Carry is x AND y
Sum is x XOR y
The circuit to compute this is called a half-adder
x y Carry Sum0 0 0 00 1 0 11 0 0 11 1 1 0
20
Using half adders
We can then use a half-adder to compute the sum of two Boolean numbers
1 1 0 0
+ 1 1 1 0010?
001
22
How to fix this
We need to create an adder that can take a carry bit as an additional input
Inputs: x, y, carry in Outputs: sum, carry out
This is called a full adder Will add x and y with a half-adder Will add the sum of that to the
carry in
What about the carry out? It’s 1 if either (or both): x+y = 10 x+y = 01 and carry in = 1
x y c carry sum
1 1 1 1 1
1 1 0 1 0
1 0 1 1 0
1 0 0 0 1
0 1 1 1 0
0 1 0 0 1
0 0 1 0 1
0 0 0 0 0
23
The full adder
The “HA” boxes are half-adders
HAX
Y
S
C
HAX
Y
S
C
xy
c
c
s
HAX
Y
S
C
HAX
Y
S
C
xy
c
25
Adding bigger binary numbers
Just chain full adders together
HAX
Y
S
C
FAC
Y
X
S
C
FAC
Y
X
S
C
FAC
Y
X
S
C
x1y1
x2y2
x3y3
x0y0
s0
s1
s2
s3c
26
Adding bigger binary numbers
A half adder has 4 logic gatesA full adder has two half adders plus a OR gate
Total of 9 logic gates
To add n bit binary numbers, you need 1 HA and n-1 FAsTo add 32 bit binary numbers, you need 1 HA and 31 FAs
Total of 4+9*31 = 283 logic gates
To add 64 bit binary numbers, you need 1 HA and 63 FAs
Total of 4+9*63 = 571 logic gates
27
Quick survey
I understand (more or less) about adding binary numbers using logic gates
a) Absolutely!b) More or lessc) Not reallyd) Not at all
28
More about logic gates
To implement a logic gate in hardware, you use a transistor
Transistors are all enclosed in an “IC”, or integrated circuit
The current Intel Pentium IV processors have 55 million transistors!
29
Pentium math error 1 Intel’s Pentiums
(60Mhz – 100 Mhz) had a floating point error
Graph of z = y/x
Intel reluctantlyagreed to replace them in 1994
Graph from http://kuhttp.cc.ukans.edu/cwis/units/IPPBR/pentium_fdiv/pentgrph.html
30
Pentium math error 2 Top 10 reasons to buy a Pentium:
10 Your old PC is too accurate 8.9999163362 Provides a good alibi when the IRS calls 7.9999414610 Attracted by Intel's new "You don't need to know
what's inside" campaign
6.9999831538 It redefines computing--and mathematics!5.9999835137 You've always wondered what it would be like to
be a plaintiff
4.9999999021 Current paperweight not big enough 3.9998245917 Takes concept of "floating point" to a new level 2.9991523619 You always round off to the nearest hundred
anyway 1.9999103517 Got a great deal from the Jet Propulsion
Laboratory 0.9999999998 It'll probably work!!
32
Memory
A flip-flop holds a single bit of memory The bit “flip-flops” between the two NAND
gates
In reality, flip-flops are a bit more complicated
Have 5 (or so) logic gates (transistors) per flip-flop
Consider a 1 Gb memory chip 1 Gb = 8,589,934,592 bits of memory That’s about 43 million transistors!
In reality, those transistors are split into 9 ICs of about 5 million transistors each
33
Quick survey
I felt I understood the material in this slide set…
a) Very wellb) With some review, I’ll be goodc) Not reallyd) Not at all