28
Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

Computer Organization

Boolean Logic and the CPU

i206 Fall 2010

John Chuang

Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

Page 2: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 2

Boolean LogicCPU Operation

Bits & BytesBinary Numbers

Number Systems

Gates

Boolean Logic

Circuits

CPU Machine Instructions

Assembly Instructions

Program Algorithms

Application

Memory

Data compression

Compiler/Interpreter

OperatingSystem

Data Structures

Analysis

I/O

Memory hierarchy

Design

Methodologies/Tools

Process

Truth tableVenn DiagramDeMorgan’s Law

Numbers, text,audio, video, image, …

Decimal, Hexadecimal, Binary

AND, OR, NOT, XOR, NAND, NOR,etc.

Register, CacheMain Memory,Secondary Storage

Context switchProcess vs. ThreadLocks and deadlocks

Op-code, operandsInstruction set arch

Lossless v. lossyInfo entropy & Huffman code Adders, decoders,

Memory latches, ALUs, etc.

DataRepresentation

Data

Data storage

Principles

ALUs, Registers,Program Counter, Instruction Register

Network

Distributed Systems Security

Cryptography

Standards & Protocols

Inter-processCommunication

Searching, sorting,Encryption, etc.

Stacks, queues,maps, trees, graphs, …

Big-O

UML, CRC

TCP/IP, RSA, …

ConfidentialityIntegrityAuthentication…

C/S, P2PCaching

sockets

Formal models

Finite automataregex

Page 3: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 3

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)

Page 4: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 4

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

Page 5: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 5

Boolean Logic

Boolean algebra = logical calculation of truth values (true/false values)

Basic boolean operators- AND- OR- XOR (exclusive-OR)- NOT

Page 6: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 6

AND, OR, XOR, and NOT:Gates and Truth Tables

Page 7: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 7

Boolean Notation

U

Operator

Symbol Example

AND * or • orA*B = A•B = A B = AB

OR + or U A+B = A U B

NOT¬ or ¯ or -

¬(A+B) = (A+B) = -(A+B)

XOR A B = AB + AB+

U

+

Page 8: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 8

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

Page 9: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 9

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

Page 10: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 10

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)

AB =

A

B

Page 11: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 11

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

Page 12: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 12

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

Page 13: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 13

NAND Gate

NAND gate implemented using 4 transistors

Page 14: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 14

Integrated Circuit (IC) Chips Contain Gates & Connectors

Images from http://www.ee.ed.ac.uk/~gaa/DigilabNotes/Digilab/Components/node7.html

Page 15: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 15

Circuits for Binary AdditionHalf Adder

Images from http://www.play-hookey.com/digital/adder.html

Page 16: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 16

Circuits for Binary AdditionFull Adder

Images from http://www.play-hookey.com/digital/adder.html

Page 17: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 17

Circuits for Binary AdditionFull 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

Page 18: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 18

Arithmetic Logic Unit (ALU)Add, Subtract, and Logic Operations

http://www.seas.upenn.edu/~ee201/lab/LabALU/ALU.html

multiplexer

Page 19: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 21

CPU Operation

Bits & BytesBinary Numbers

Number Systems

Gates

Boolean Logic

Circuits

CPU Machine Instructions

Assembly Instructions

Program Algorithms

Application

Memory

Data compression

Compiler/Interpreter

OperatingSystem

Data Structures

Analysis

I/O

Memory hierarchy

Design

Methodologies/Tools

Process

Truth tableVenn DiagramDeMorgan’s Law

Numbers, text,audio, video, image, …

Decimal, Hexadecimal, Binary

AND, OR, NOT, XOR, NAND, NOR,etc.

Register, CacheMain Memory,Secondary Storage

Context switchProcess vs. ThreadLocks and deadlocks

Op-code, operandsInstruction set arch

Lossless v. lossyInfo entropy & Huffman code Adders, decoders,

Memory latches, ALUs, etc.

DataRepresentation

Data

Data storage

Principles

ALUs, Registers,Program Counter, Instruction Register

Network

Distributed Systems Security

Cryptography

Standards & Protocols

Inter-processCommunication

Searching, sorting,Encryption, etc.

Stacks, queues,maps, trees, graphs, …

Big-O

UML, CRC

TCP/IP, RSA, …

ConfidentialityIntegrityAuthentication…

C/S, P2PCaching

sockets

Formal models

Finite automataregex

Page 20: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 22

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

Page 21: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 23

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

Page 22: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 24

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

Page 23: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 25

Example Machine Architecture (Brookshear Appendix C)

Page 24: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 26

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

Page 25: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 27

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:

Page 26: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 28

Example: Decoding the instruction 35A7

Page 27: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 29

Example: Addition Operation

Page 28: Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear

John Chuang 30

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_Language