Download presentation
Presentation is loading. Please wait.
1
Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear
2
John Chuang2 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. Register, Cache Main Memory, Secondary Storage Context switch Process vs. Thread Locks and deadlocks Op-code, operands Instruction set arch Lossless v. lossy Info entropy & Huffman code Adders, decoders, Memory latches, ALUs, etc. Data Representation Data storage Principles ALUs, Registers, Program Counter, Instruction Register Network Distributed Systems Security Cryptography Standards & Protocols Inter-process Communication Searching, sorting, Encryption, etc. Stacks, queues, maps, trees, graphs, … Big-O UML, CRC TCP/IP, RSA, … Confidentiality Integrity Authentication … C/S, P2P Caching sockets Formal models Finite automata regex
3
John Chuang3 Central Processing Unit (CPU) Software programs consist of arithmetic and logical operations The CPU or processor of a machine is responsible for executing these operations in hardware Modern CPUs are implemented using tens of millions of transistors (switches)
4
John Chuang4 Central Processing Unit (CPU) CPU components: -Arithmetic/Logic Units (ALU) -Control Unit -Registers -Cache Memory http://www.ischool.berkeley.edu/~chuang/images/mips_r10000.jpg
5
John Chuang5 Boolean Logic Boolean algebra = logical calculation of truth values (true/false values) Basic boolean operators -AND -OR -XOR (exclusive-OR) -NOT
6
John Chuang6 AND, OR, XOR, and NOT: Gates and Truth Tables
7
John Chuang7 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 +
8
John Chuang8 Boolean Logic Relationships A BC D Venn Diagram C = A*B D = (A+B) X+X = 1; X*X = 0 X+Y=Y+X; XY = YX X(Y+Z) = XY + XZ DeMorgan’s Law: -(A*B) = A + B -(A+B) = A * B
9
John Chuang9 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
10
John Chuang10 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
11
John Chuang11 Gates The Richest Man in the World 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 are used to build up circuits that perform computations (e.g., addition, subtraction), or store values to be used later
12
John Chuang12 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
13
John Chuang13 NAND Gate NAND gate implemented using 4 transistors
14
John Chuang14 Integrated Circuit (IC) Chips Contain Gates & Connectors Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html
15
John Chuang15 Circuits for Binary Addition Half Adder Images from http://www.play-hookey.com/digital/adder.html
16
John Chuang16 Circuits for Binary Addition Full Adder Images from http://www.play-hookey.com/digital/adder.html
17
John Chuang17 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 Images from http://www.play-hookey.com/digital/adder.html
18
John Chuang18 Arithmetic Logic Unit (ALU) Add, Subtract, and Logic Operations http://www.seas.upenn.edu/~ee201/lab/LabALU/ALU.html multiplexer
19
John Chuang19 Decoder Implementation of a truth table Example: 2-bit decoder -Uses NOTs (invertors) to convert 2 inputs to turn on one (and only one) of 4 outputs Adapted from http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html 1 1 1 10 00 000 0 0 0 0 00
20
John Chuang20 Example: Decoder for LED Clock http://www.cores.ro/electronic/Kit.html Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html
21
John Chuang21 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. Register, Cache Main Memory, Secondary Storage Context switch Process vs. Thread Locks and deadlocks Op-code, operands Instruction set arch Lossless v. lossy Info entropy & Huffman code Adders, decoders, Memory latches, ALUs, etc. Data Representation Data storage Principles ALUs, Registers, Program Counter, Instruction Register Network Distributed Systems Security Cryptography Standards & Protocols Inter-process Communication Searching, sorting, Encryption, etc. Stacks, queues, maps, trees, graphs, … Big-O UML, CRC TCP/IP, RSA, … Confidentiality Integrity Authentication … C/S, P2P Caching sockets Formal models Finite automata regex
22
John Chuang22 Central Processing Unit (CPU) Software programs consist of arithmetic and logical operations The CPU or processor of a machine is responsible for executing these operations in hardware CPU components -Arithmetic/Logic Units (ALU) -Control Unit -Registers -Cache Memory
23
John Chuang23 Program execution Controlled by two special-purpose registers -Program counter: address of next instruction -Instruction register: current instruction Steps performed by control unit -Fetch -Decode -Execute
24
John Chuang24 Machine language Machine instruction: an instruction coded as a bit pattern directly recognizable by the CPU Machine language: the set of all instructions recognized by a machine -Also known as instruction set architecture (ISA) -E.g., Intel x86, IA-64, MIPS, PowerPC, … -Brookshear Appendix C provides an example
25
John Chuang25 Example Machine Architecture (Brookshear Appendix C)
26
John Chuang26 Machine instruction types Data Transfer: copy data between CPU and main memory Arithmetic/Logic: use existing data values to compute a new data value Control: direct the execution of the program
27
John Chuang27 Parts of a machine instruction Op-code: specifies which machine operation to execute -One per instruction Operand: more detailed information about this operation -Number of operands varies depending on op-code Example:
28
John Chuang28 Example: Decoding the instruction 35A7
29
John Chuang29 Example: Addition Operation
30
John Chuang30 Readings for Next Week Read: Brookshear Chapter 5.1-5.5, 6.1 Review: Brookshear Chapter 6.2-6.5 Read: Brookshear Chapter 7.1-7.7 Read: -http://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://en.wikipedia.org/wiki/Unified_Modeling_Language
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.