Download presentation
Presentation is loading. Please wait.
Published byJeffrey Bradley Modified over 9 years ago
1
1 i206: Lecture 3: Boolean Logic, Logic Circuits Marti Hearst Spring 2012
2
2 Today Quick Binary Exercise Boolean Logic –deMorgan’s Law How Bits are Made Relating Boolean Logic to Circuits –Logic gates
3
3 Review Binary Binary used as a code Can use binary to encode a game representation. Shapes Actions Colors
4
4 Review Binary Two approaches: modular and efficient Modular: –Shape bits, then color bits, then action bits 00 111 1 (circle, blue, jump) –Allows for expansion if you allow extra bits –Make it work for 7 colors: 00 1000 1 Efficient: –Minimize the number of bits needed –There are a total of 5 * 3 * 2 = 30 unique states So minimum number of bits = 5 –6 bits can support 7 * 3 * 2 = 42, for 7 colors, but would not be modular representation. Shape: 3 (2 bits) Color: 5 (3 bits) Action: 2 (1 bit) Shape: 3 (2 bits) Color: 5 (3 bits) Action: 2 (1 bit)
5
5 Boolean Logic CPU Operation Bits & Bytes Binary Numbers Number Systems Gates Boolean Logic Circuits CPU Machine Instructions Assembly Instructions Program Algorithms Application Memory Data compression Compiler/ Interpreter Operating System Data Structures Analysis I/O Memory hierarchy Design Methodologies/ Tools Process Truth table Venn Diagram DeMorgan ’ s Law Numbers, text, audio, video, image, … Decimal, Hexadecimal, Binary AND, OR, NOT, XOR, NAND, NOR, etc. Op-code, operands Instruction set arch Lossless v. lossy Info entropy & Huffman code Adders, decoders, Memory latches, ALUs, etc. Data Representation Data storage Principles Network Distributed Systems Security Cryptography Standards & Protocols Inter-process Communication Formal models Finite automata regex
6
6 How Do Computers Work? We are going bottom-up, with digressions Bits & BytesBinary Numbers Number Systems Orders of MagnitudeGates Boolean Logic Circuits CPUMachine Instructions Assembly Language Programming Languages Address Space Code vs. Data
7
7 Boolean Logic Boolean algebra = logical calculation of truth values (true/false values) Basic boolean operators –AND –OR –XOR (exclusive-OR) –NOT
8
8 Boolean Logic Where else have we seen this? Queries! –(“apple” OR “pear” OR “berry”) AND (“juice” OR “smoothie”) Venn Diagrams show Union and Intersection
9
9 Simple query language: Boolean –Terms + Connectors (or operators) –terms words normalized (stemmed) words phrases thesaurus terms –connectors AND OR NOT
10
10 Boolean Queries Cat Cat OR Dog Cat AND Dog (Cat AND Dog) (Cat AND Dog) OR Collar (Cat AND Dog) OR (Collar AND Leash) (Cat OR Dog) AND (Collar OR Leash)
11
11 Boolean Queries (Cat OR Dog) AND (Collar OR Leash) –Documents (columns) containing each of the following combinations satisfy this Boolean query: Catxxxx Dogxxxxx Collarxxxx Leashxxxx
12
12 Boolean Queries (Cat OR Dog) AND (Collar OR Leash) –None of the following combinations work; no documents returned: Catxx Dog xx Collarxx Leashxx
13
13 Boolean Notation U OperatorSymbolExample AND* or orA*B = AB = A B = AB OR+ or UA+B = A U B NOT¬ or ¯ or - ¬(A+B) = (A+B) = -(A+B) XORA B = AB + AB + U +
14
14 Boolean Queries –Usually expressed as INFIX operators in IR ((a AND b) OR (c AND b)) –NOT is UNARY PREFIX operator ((a AND b) OR (c AND (NOT b))) –AND and OR can be n-ary operators (a AND b AND c AND d) –Some rules - (De Morgan revisited) NOT(a) AND NOT(b) = NOT(a OR b) NOT(a) OR NOT(b)= NOT(a AND b) NOT(NOT(a)) = a
15
15 Boolean Logic Relationships A BC D Union (OR) Intersection (AND) Venn Diagram
16
16 Boolean Searching “ Measurement of the width of cracks in prestressed concrete beams ” Formal Query: cracks AND beams AND Width_measurement AND Prestressed_concrete Cracks Beams Width measurement Prestressed concrete
17
17 Boolean Logic and Venn Diagrams 3t33t3 1t11t1 2t22t2 1D11D1 2D22D2 3D33D3 4D44D4 5D55D5 6D66D6 8D88D8 7D77D7 9D99D9 10 D 10 11 D 11 m1m1 m2m2 m3m3 m5m5 m4m4 m7m7 m8m8 m6m6 m 2 = t 1 t 2 t 3 m 1 = t 1 t 2 t 3 m 4 = t 1 t 2 t 3 m 3 = t 1 t 2 t 3 m 6 = t 1 t 2 t 3 m 5 = t 1 t 2 t 3 m 8 = t 1 t 2 t 3 m 7 = t 1 t 2 t 3
18
18 Boolean Logic and Logic Gates AND, OR, NOT, NOR, NAND, XOR Boolean Logic can be expressed as a Logic Gate Gates are devices that produce the outputs of Boolean operations when given the operations ’ input values –Often implemented as electronic circuits called transistors –Provide the building blocks from which computers are constructed Gates operate on inputs of 0 and 1 Gates are used to build up circuits that perform computations (e.g., addition, subtraction), or store values to be used later
19
19 AND, OR, XOR, and NOT: Gates and Truth Tables
20
20 Exercise Let ’ s solve a problem using Boolean Logic –First express the problem using Boolean expressions and/or truth table –Then implement solution using Boolean gates
21
21 Making Bits http://www2.electronicproducts.com/Debugging_common_digital_problems_with_a_scope-article-farc_tek_jul2011-html.aspx
22
22 Making Bits Digital signals are interpreted by a system as high and low states, –above and below a defined voltage threshold. In practice, especially at higher speeds, digital signals are rarely ideal with flat high and low levels and clean edge transitions. http://www2.electronicproducts.com/Debugging_common_digital_problems_with_a_scope-article-farc_tek_jul2011-html.aspx
23
23 NAND, NOR, XNOR NAND and NOR gates easier to implement in hardware than AND and OR gates Example: AND logic can be implemented with two NOTs and a NOR (DeMorgan ’ s Law) A B = A B
24
24 Inverter (NOT Gate) Implements the simplest Boolean operator “ NOT ” using two transistors Photolithography techniques used in fabrication of integrated circuit (IC) chips http://www.csee.umbc.edu/~plusquel/vlsi/slides/chap3_2.html Image and further reading at: http://www.lithoguru.com/scientist/lithobasics.html
25
25 NAND Gate NAND gate implemented using 4 transistors
26
26 Integrated Circuit (IC) Chips Contain Gates & Connectors Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html
27
27 LEDs (light-emitting diodes) Images from http://www.cores.ro/electronic/Kit.html The circuit can turn the LED on or off.
28
28 Interactive demo of Boolean logic http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Gates/index.html
29
29 Circuits for Binary Addition Half Adder Images from http://www.play-hookey.com/digital/adder.html
30
30 Circuit Board for Half-Adder http://www.seas.upenn.edu/~ee111/half-adder/Half-adder.html
31
31 Circuits for Binary Addition Full Adder Images from http://www.play-hookey.com/digital/adder.html
32
32 Circuits for Binary Addition Full Adder, 4 bit output + carry Can link up an arbitrary number of input bits Can modify this easily to do subtraction Can also modify to do multiplication –How? –Usually division is done with a special floating point chip Images from http://www.play-hookey.com/digital/adder.html
33
33 Flip-Flops Also called a latch Used to “ remember ” values Keep the same value until the input signals a change Example –Circuit with two inputs –Setting input A to 1 means “ set output to 1 ” –Setting input B to 1 means “ set output to 0 ” output Input A Input B
34
34 Simple Flip-Flop: The Problem –If both inputs change simultaneously, the final state of the latch cannot be determined ahead of time. This is called: A Race Condition: the result depends on which input got changed first. Nondeterministic: Not being able to predict what will happen with certainty. bad –Nondeterminism is very, very bad from the perspective of computer science (most of the time).
35
35 The clock –CPS (cycles per second): The measure of how frequently an alternating current changes direction. This term has been replaced by the term hertz (Hz). –gigahertz (GHz): A unit of frequency denoting 10 9 Hz.
36
36 Clock cycles Logic gates introduce propagation delays as the signal goes through them. Therefore, a clock cycle is introduced into the circuit. –It’s like a heart beat for the system. It connects up to all the circuits that need it, so they can all be told to update at the same time. –The clock cycle can be no faster than the slowest set of logic gates. The clock keeps the circuit running in a predictable fashion, by making sure every part of the circuit gets changes to input at the same time.
37
37 Clocked D Latch Solves the problem: Clock line allows the system to control when to read the inputs. BUT only allows for one input. Image from http://www.play-hookey.com/digital/
38
38 Example; Linking Boolean to Circuits Lighting up a digital clock How are the LEDS for the digital clock controlled?
39
39 7 Segment LEDs Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html Need to control the inputs a through g Which ones are turned on to make a 5?
40
40 7 Segment LEDs: How to set the digits Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html
41
41 7 segment Digital Display How to turn on only 1 of the 4 digits at a time? Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html a b c d e f g p i1 i2 i3 i4
42
42 n-bit Decoder: Takes as input n inputs; turns on 1 (and only 1) of outputs Righthand image from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html AB W X Y Z a b c d e f g p ? ?
43
43 n-bit Decoder: Takes as input n inputs; turns on 1 (and only 1) of outputs Righthand image from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html Notice where the invertors are. They look like the inputs of a truth table. AB W X Y Z
44
44 Summary Quick Binary Exercise Boolean Logic –deMorgan’s Law How Bits are Made Relating Boolean Logic to Circuits –Logic gates Special gates: –Flip Flops –Adders –Decoders Next time: The CPU and instruction sets!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.