Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by...

50
Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory T. Byrd, North Carolina State University Digital Logic Structures Lecture 4: Chapter 3 1

Transcript of Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by...

Page 1: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Computer Science 210 s1

Computer Systems 12014 Semester 1

Lecture Notes

James Goodman (revised by Robert Sheehan)

Credits: Slides prepared by Gregory T. Byrd, North Carolina State University

Digital Logic StructuresLecture 4: Chapter 3

1

Page 2: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

2

Assigned Readings

Introduction to Computing Systems: from bits & gates to C and beyond, by Yale Patt and Sanjay Patel, 2nd Edition (2004), McGraw-Hill

This week: Chapter 3

Page 3: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

3

http://en.wikipedia.org/wiki/Moore's_law

Page 4: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

4

Anant Agarwal and Markus Levy,“Going multicore presents challenges and opportunities”

http://www.embedded.com/design/mcus-processors-and-socs/4007064/

Page 5: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

5

Transistor: Building Block of Computers

Microprocessors contain millions of transistors IBM PowerPC 750FX (2002): 38 million IBM/Apple PowerPC G5 (2003): 58 million Intel Core™2 Processor (2008): 410 million Intel® Xeon Phi™ coprocessor 5110P(2012): 5 billion

Logically, each transistor acts as a switchCombined to implement logic functions

AND, OR, NOT

Combined to build higher-level structures Adder, multiplexer, decoder, register, …

Combined to build processor LC-3

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 6: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

6

Simple Switch Circuit

Switch open: No current through circuit Light is off

Switch closed: Short circuit across switch Current flows Light is on

Switch-based circuits can easily represent two states:on/off, open/closed, voltage/no voltage.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 7: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

7

n-type MOS Transistor

MOS = Metal Oxide Semiconductor two types: n-type and p-type

n-type when Gate has positive voltage,

short circuit between #1 and #2(switch closed)

when Gate has zero voltage,open circuit between #1 and #2(switch open)

Gate = 1

Gate = 0

Terminal #2 must beconnected to GND (0V).

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 8: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

8

p-type MOS Transistor

p-type is complementary to n-type when Gate has positive voltage,

open circuit between #1 and #2(switch open)

when Gate has zero voltage,short circuit between #1 and #2(switch closed)

Gate = 1

Gate = 0

Terminal #1 must beconnected to +2.9V.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 9: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

9

Logic Gates

Use switch behavior of MOS transistorsto implement logical functions: AND, OR, NOT.

Digital symbols: recall that we assign a range of analog voltages to each

digital (logic) symbol

assignment of voltage ranges depends on electrical properties of transistors being used• typical values for "1": +5V, +3.3V, +2.9V• from now on we'll use +2.9V

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 10: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

10

CMOS Circuit

Complementary MOSUses both n-type and p-type MOS transistors

p-type• Attached to + voltage• Pulls output voltage UP when input is zero

n-type• Attached to GND• Pulls output voltage DOWN when input is one

For all inputs, make sure that output is either connected to GND or to +,but not both!

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 11: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

11

Inverter (NOT Gate)

In Out

0 V 2.9 V

2.9 V

0 V

In Out

0 1

1 0

Truth table

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 12: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

12

NOR Gate (OR-NOT)

A B C

0 0 1

0 1 0

1 0 0

1 1 0

Note: Serial structure on top, parallel on bottom.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 13: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

13

OR Gate

Add inverter to NOR.

A B C

0 0 0

0 1 1

1 0 1

1 1 1

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 14: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

14

NAND Gate (AND-NOT)

A B C

0 0 1

0 1 1

1 0 1

1 1 0

Note: Parallel structure on top, serial on bottom.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 15: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

15

AND Gate

Add inverter to NAND.

A B C

0 0 0

0 1 0

1 0 0

1 1 1

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 16: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

16

Basic Logic GatesCopyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 17: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Computer Science 210 s1

Computer Systems 12014 Semester 1

Lecture Notes

James Goodman (revised by Robert Sheehan)

Credits: Slides prepared by Gregory T. Byrd, North Carolina State University

Digital Logic StructuresLecture 5:

17

Page 18: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

18

DeMorgan's Law

Converting AND to OR (with some help from NOT)Consider the following gate:

A B

0 0 1 1 1 0

0 1 1 0 0 1

1 0 0 1 0 1

1 1 0 0 0 1

Same as A+B!

To convert AND to OR (or vice versa),

invert inputs and output.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 19: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

DeMorgan’s Law

19

Page 20: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

De Morgan’s Theorem:Using Only NAND gates to create a

NOR gate

20

credit: http://en.wikipedia.org/wiki/NOR_gate

Page 21: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

De Morgan’s Theorem:Using Only NOR gates to create a

NAND gate

21

credit: http://en.wikipedia.org/wiki/NOR_gate

Page 22: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

22

More than 2 Inputs?

AND/OR can take any number of inputs. AND = 1 if all inputs are 1. OR = 1 if any input is 1. Similar for NAND/NOR.

Can implement with multiple two-input gates,or with single CMOS circuit.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 23: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

23

Summary

MOS transistors are used as switches to implementlogic functions.

n-type: connect to GND, turn on (with 1) p-type: connect to +2.9V, turn on (with 0)

Basic gates: NOT, NOR, NAND Logic functions are usually expressed with AND, OR, and NOT

DeMorgan's Law Convert AND to OR (and vice versa)

by inverting inputs and output

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 24: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

24

Building Functions from Logic Gates

Combinational Logic Circuit output depends only on the current inputs stateless

Sequential Logic Circuit output depends on the sequence of inputs (past and present) stores information (state) from past inputs

We'll first look at some useful combinational circuits,then show how to use sequential circuits to store information.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 25: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

25

Decoder

n inputs, 2n outputs exactly one output is 1 for each possible input pattern

2-bitdecoder

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Is this OK?

Page 26: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Two Variables: 16 Unique Functions

26

A B f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

ORA+B

ANDA⋅B

ZERO

_ _A⋅B

AONE

XORA⊕B

B ___A⊕BXNOR

___A⋅B

NAND

___A+BNOR

=

Page 27: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Truth Table for Function F

27

A B C F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

Page 28: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Creating a Function from a Truth Table

28

A B C F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

_ _A⋅B⋅C

_ _A⋅B⋅C

_ _A⋅B⋅C

A⋅B⋅C

AA

B

C

F

Page 29: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

29

Logical Completeness

Can implement ANY truth table with AND, OR, NOT.

A B C D

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 0

1. AND combinations that yield a "1" in the truth table.

2. OR the resultsof the AND gates.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 30: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

30

Multiplexer (MUX)

n-bit selector and 2n inputs, one output output equals one of the inputs, depending on selector

4-to-1 MUX

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 31: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

31

Four-bit AdderCopyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 32: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

32

Full Adder

Add two bits and carry-in,produce one-bit sum and carry-out. A B Cin S Cout

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 33: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Computer Science 210 s1c

Computer Systems 12014 Semester 1

Lecture Notes

James Goodman (revised by Robert Sheehan)

Credits: Slides prepared by Gregory T. Byrd, North Carolina State University

Sequential LogicLecture 6:

33

Page 34: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

34

Combinational vs. Sequential

Combinational Circuit always gives the same output for a given set of inputs

• ex: adder always generates sum and carry,regardless of previous inputs

Sequential Circuit stores information output depends on stored information (state) plus input

• so a given input might produce different outputs,depending on the stored information

example: ticket counter• advances when you push the button• output depends on previous state

useful for building “memory” elements and “state machines”

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 35: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

35

The textbook describes latches using NAND gates.Here I present latches made of NOR gates

—the de Morgan equivalent—in a way I believe to be more intuitive.

The two descriptions together demonstratethe duality of NAND and NOR gates.

Page 36: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

36

R-S Latch: Simple Storage Element (NOR)

R is used to “reset” or “clear” the element – set output to zero.S is used to “set” the element – set output to one.

If both R and S are zero, out could be either zero or one.

“quiescent” state – holds its previous value note: if a is 1, b is 0, and vice versa

1

0

0

0

1

1

0

0

0

0

0

0

1

1

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 37: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

37

Setting the R-S Latch (NOR)

Suppose we start with output = 0, then change S to one.

Output changes to one.

Then set S=0 to “store” value in quiescent state.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

1

0

0

0

1

1

0

0

0

0

0

0

1

1

Page 38: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

38

Clearing the R-S latch (NOR)

Suppose we start with output = 1, then change R to one.

Output changes to zero.

Then set R=0 to “store” value in quiescent state.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

1

0

0

0

1

1

0

0

0

0

0

0

1

1

Page 39: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

39

R-S Latch Summary (NOR)

R = S = 0 hold current value in latch

S = 1, R=0 set value to 1

R = 1, S = 0 set value to 0

R = S = 1 both outputs equal zero no memory -- final state determined by electrical properties of

gates and which input is last changed to zero Not useful!

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 40: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

Gated D-Latch

40

D

WE

OUT

Two inputs: D (data) and WE (write enable) when WE = 1, latch is set to value of D

• S = D, R = NOT(D) when WE = 0, latch holds previous value

• S = R = 0

S

R

Page 41: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

41

Register

A register stores a multi-bit value. We use a collection of D-latches, all controlled by a common

WE. When WE=1, n-bit value D is written to register.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

WE

D3

Q3

D2

Q2

D1

Q1

D0

Q0

Page 42: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

42

Representing Multi-bit Values

Number bits from right (0) to left (n-1) just a convention – could be left to right, but must be

consistent

Use brackets to denote range:D[l:r] denotes bit l to bit r, from left to right

May also see A<14:9>, especially in hardware block diagrams.

A = 0101001101010101

A[2:0] = 101A[14:9] = 101001

015

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 43: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

43

Memory

Now that we know how to store bits,we can build a memory – a logical k × m array of stored bits.

•••

k = 2n

locations

m bits

Address Space:number of locations(usually a power of 2)

Addressability:number of bits per location(e.g., byte-addressable)

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 44: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

44

22 x 3 Memory

addressdecoder

word select word WEaddress

writeenable

input bits

output bits

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 45: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

45

More Memory Details

This is a not the way actual memory is implemented. fewer transistors, much more dense,

relies on electrical properties

But the logical structure is very similar: address decoder word select line word write enable

Two basic kinds of RAM (Random Access Memory)Static RAM (SRAM)

fast, maintains data as long as power applied

Dynamic RAM (DRAM) slower but denser, bit storage decays – must be periodically

refreshed

Also, non-volatile memories: ROM, PROM, flash, …

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 46: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

46

State Machine

Another type of sequential circuit Combines combinational logic with storage “Remembers” state, and changes output (and state)

based on inputs and current state

State Machine

CombinationalLogic Circuit

StorageElements

Inputs Outputs

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 47: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

47

Combinational vs. Sequential

Two types of “combination” locks

4 1 8 4

30

15

5

1020

25

CombinationalSuccess depends only onthe values, not the order in which they are set.

SequentialSuccess depends onthe sequence of values(e.g, R-13, L-22, R-3).

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 48: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

48

State

The state of a system is a snapshot ofall the relevant elements of the systemat the moment the snapshot is taken.

Examples: The state of a tic-tac-toe (Noughts & Crosses) game

can be represented by the placement of X’s and O’s on the board.

The state of a basketball game can be represented bythe scoreboard.• Number of points, time remaining, possession,

etc.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 49: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

49

State of Sequential Lock

Our lock example has four different states,labelled A-D:

A: The lock is not open,and no relevant operations have been

performed.B: The lock is not open,

and the user has completed the R-13 operation.C: The lock is not open,

and the user has completed R-13, followed by L-22.D: The lock is open.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 50: Computer Science 210 s1 Computer Systems 1 2014 Semester 1 Lecture Notes James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory.

50

State Diagram

Shows states and actions that cause a transition between states.

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.