Você está na página 1de 35

Logic Gates

CS/APMA 202, Spring 2005


Rosen, section 10.3
Aaron Bloomfield

1
Review of Boolean algebra
Just like Boolean logic
Variables can only be 1 or 0
 Instead of true / false

2
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
3
Review of Boolean algebra
___
Example: translate (x+y+z)(xyz) to a Boolean
logic expression
 (xyz)(xyz)
We can define a Boolean function:
 F(x,y) = (xy)(xy)
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
4
Quick survey
 I understand the basics of Boolean algebra
a) Absolutely!
b) More or less
c) Not really
d) Boolean what?

5
Today’s demotivators

6
Basic logic gates
Not x
x
x xy x xyz
And y y
z
x x+y x x+y+z
Or y
y z
x xy
Nand y
x x+y
Nor y
x xÅy
Xor y
7
Rosen, §10.3 question 1
Find the output of the following circuit

x x+y
y (x+y)y

y y

__
Answer: (x+y)y
 Or (xy)y 8
Rosen, §10.3 question 2
Find the output of the following circuit

x
x xy xy
y
y
___
__
Answer: xy
 Or (xy) ≡ xy 9
Quick survey
 I understand how to figure out what a logic
gate does
a) Absolutely!
b) More or less
c) Not really
d) Not at all

10
Rosen, §10.3 question 6
Write the circuits for the following
Boolean algebraic expressions
__
a) x+y

x x+y
x
y

11
Rosen, §10.3 question 6
Write the circuits for the following
Boolean
_______
algebraic expressions
b) (x+y)x

x x+y
x+y (x+y)x
y

12
Writing xor using and/or/not
p Å q  (p  q)  ¬(p  q) x y xÅy
____
1 1 0
x Å y  (x + y)(xy) 1 0 1
0 1 1
0 0 0

x x+y (x+y)(xy)
y
xy xy

13
Quick survey
 I understand how to write a logic circuit for
simple Boolean formula
a) Absolutely!
b) More or less
c) Not really
d) 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
16
A bit of binary humor

 Available for $15 at


http://www.thinkgeek.com/
tshirts/frustrations/5aa9/

17
Quick survey
 I understand the basics of converting numbers
between decimal and binary
a) Absolutely!
b) More or less
c) Not really
d) 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
x y Carry Sum
 1+0 = 1
 1+1 = 10 0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Carry is x AND y
Sum is x XOR y
The circuit to compute this is called a half-adder
19
The half-adder
Sum = x XOR y
Carry = x AND y

x x
y y Sum
Sum
Carry
Carry
20
Using half adders
We can then use a half-adder to compute
the sum of two Boolean numbers

1 0 0
1 1 0 0
+1 1 1 0
? 0 1 0

21
Quick survey
 I understand half adders
a) Absolutely!
b) More or less
c) Not really
d) Not at all

22
How to fix this
We need to create an adder that can take a
carry bit as an additional input
x y c carry sum
 Inputs: x, y, carry in
 Outputs: sum, carry out 1 1 1 1 1
This is called a full adder 1 1 0 1 0
 Will add x and y with a half-adder 1 0 1 1 0
 Will add the sum of that to the 1 0 0 0 1
carry in 0 1 1 1 0
What about the carry out? 0 1 0 0 1
 It’s 1 if either (or both): 0 0 1 0 1
 x+y = 10
0 0 0 0 0
 x+y = 01 and carry in = 1
23
The full adder
The “HA” boxes are half-adders

c X HA S
S
s
Y C
C

x X HA S

c
y
Y C

24
The full adder
The full circuitry of the full adder

c
s

x
y
c

25
Adding bigger binary numbers
Just chain full adders together

x0 X HA S
s0
y0 Y C

x1
C

X
FA S
s1
y1 Y C

x2
C

X
FA S
s2
y2 Y C

x3
C

X
FA S
s3
y3 Y C
c
26
Adding bigger binary numbers
A half adder has 4 logic gates
A 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 FAs
To 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 less
c) Not really
d) 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 reluctantly
agreed 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!! 31
Flip-flops
Consider the following circuit:

What does it do?


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 well
b) With some review, I’ll be good
c) Not really
d) Not at all

34
Quick survey
 The pace of the lecture for this slide set was…
a) Fast
b) About right
c) A little slow
d) Too slow

35

Você também pode gostar