Top Banner
CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley
28

CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

CS61CL Machine Structures

Lec 7 – Introduction to Digital Design

David CullerElectrical Engineering and Computer Sciences

University of California, Berkeley

Page 2: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

CS61CL Road Map

10/14/09 CS61CL F09 2

Hardware

Software

Machine Lang. pgm

Instruction Set Architecture

Machine Organization

HLL Program Asm Lang. Pgm

Co

mp

iler

Ass

emb

ler

foo.cfoo.s

foo.o

I/O systemInstr. Set Proc.

Digital Design

Circuit Design

Datapath & Control

Layout & fab

Semiconductor Materials

foo.exe

Lin

ker

Page 3: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 3

Linking

• Resolve names to addresses

• Relocate code and data blocks– Adjust internally resolved addresses

J ____

Code

Data

Symbol table

ref “foo” ext 32

def “bar” int 32

ref “bar” int 60

ref “xyz” int 80

ddef “xyz” int 16

32:

J _32_

LW _16_

60:

80:

16: 0610

Object file exe file

20:

def “foo” int 20

Object file

SW $ra, 16($sp)

20: SW $ra, 16($sp)

J ____132:

J _32_

LW _16_

160:

180:

0610

100

20

360

20132

396

Page 4: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 4

Questions

Page 5: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 5

Evolution of Instruction SetsSingle Accumulator (EDSAC 1950)

Accumulator + Index Registers(Manchester Mark I, IBM 700 series 1953)

Separation of Programming Model from Implementation

High-level Language Based (Stack) Concept of a Family(B5000 1963) (IBM 360 1964)

General Purpose Register Machines

Complex Instruction Sets Load/Store Architecture

RISC

(Vax, Intel 432 1977-80) (CDC 6600, Cray 1 1963-76)

(MIPS,Sparc,HP-PA,IBM RS6000, 1987)iX86?

Page 6: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 6

Dramatic Technology Advance

• Prehistory: Generations– 1st Tubes

– 2nd Transistors

– 3rd Integrated Circuits

– 4th VLSI….

• Discrete advances in each generation– Faster, smaller, more reliable, easier to utilize

• Modern computing: Moore’s Law– Continuous advance, fairly homogeneous technology

Page 7: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 7

Moore’s Law

• “Cramming More Components onto Integrated Circuits”– Gordon Moore, Electronics, 1965

• # on transistors on cost-effective integrated circuit double every 18 months

Page 8: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 8

Example: Intel Pentium

Page 9: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 9

Integrated Circuits• Primarily Crystalline Silicon

• 1mm - 25mm on a side

• 100 - 200M transistors

• (25 - 50M “logic gates")

• 3 - 10 conductive layers

• 2002 - feature size ~ 0.13um = 0.13 x 10-6 m

• “CMOS” most common - complementary metal oxide semiconductor

• Package provides:– spreading of chip-level signal paths to

board-level

– heat dissipation.

• Ceramic or plastic with gold wires.

Chip in Package

Page 10: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 10

Integrated Circuits

• Uses for digital IC technology today:– standard microprocessors

» used in desktop PCs, and embedded applications

» simple system design (mostly software development)

– memory chips (DRAM, SRAM)

– application specific ICs (ASICs)

» custom designed to match particular application

» can be optimized for low-power, low-cost, high-performance

» high-design cost / relatively low manufacturing cost

– field programmable logic devices (FPGAs, CPLDs)

» customized to particular application after fabrication

» short time to market

» relatively high part cost

– standardized low-density components

» still manufactured for compatibility with older system designs

Page 11: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 11

close switch (if A is “1” or asserted)and turn on light bulb (Z)

A Z

open switch (if A is “0” or unasserted)and turn off light bulb (Z)

Switches: the basic element

• Implementing a simple circuit:

Z A

AZ

Page 12: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 12

Technology State “0” State “1”

Relay logic Circuit Open Circuit ClosedCMOS logic 0.0-1.0 volts 2.0-3.0 voltsTransistor transistor logic (TTL) 0.0-0.8 volts 2.0-5.0 voltsFiber Optics Light off Light onDynamic RAM Discharged capacitor Charged capacitorNonvolatile memory (erasable) Trapped electrons No trapped electronsProgrammable ROM Fuse blown Fuse intactBubble memory No magnetic bubble Bubble presentMagnetic disk No flux reversal Flux reversalCompact disc No pit Pit

Physical world to Digital world

Sense the logical value, manipulate in a systematic fashion.

Page 13: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 13

The Digital Abstraction

• Logical 1 (true) : V > Vdd –V th• Logical 0 (false) : V < Vth• Logical Gates

– behave like boolean operators on these voltage signals– Produce signals that can be treated as logical values

V

+3

0

Logic 1

Logic 0

Logic Gate

Page 14: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 14

CMOS “Devices”

Cross Section

Top View

• MOSFET (Metal Oxide Semiconductor Field Effect Transistor)

• Essentially a voltage-controlled switch

• N: closed when gate is Hi

• P: closed when gate is Lo

nFET

pFET

Page 15: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 15

Transistor-level Logic Circuits (inv)

• Inverter (NOT gate):Vdd

Gnd

Vdd

Gnd0 volts

in out

3 volts

what is the relationship

between in and out?

3 volts

0 volts

Page 16: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 16

Example: NOT

Vout

+3

0

Logic 0Input Voltage

Logic 1Input Voltage

Vin+3

F

in out

T

T

F

not( out, in)

Page 17: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 17

Big idea: Self-restoring logic

• CMOS logic gates are self-restoring– Even if the inputs are imperfect, switching time is fast

and outputs go “rail to rail”

– Doesn’t matter how many you cascade

» Although propagation delay increases

• Limit fan-out to ensure sharp and complete transition

Page 18: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 18

Combinational Logic Symbols

• Common combinational logic systems have standard symbols called logic gates

– Buffer, NOT

– AND, NAND

– OR, NOR

Z

AB

Z

Z

A

AB

Easy to implementwith CMOS transistors(the switches we haveavailable and use most)

A B A*B A+B

0 0

0 1

10

1 1

0

0

0

1

0

1

1

1

Page 19: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 19

XY

Z

X Y Z0 0 10 1 11 0 11 1 0

X Y Z0 0 10 1 01 0 01 1 0

ZX

Y

X

YZ

X Y Z0 0 10 1 01 0 01 1 1

X Y Z0 0 00 1 11 0 11 1 0

ZXY

X xor Y = X Y' + X' YX or Y but not both

("inequality", "difference")

X xnor Y = X Y + X' Y'X and Y are the same

("equality", "coincidence")

more Boolean Expressions to Logic Gates

• NAND

• NOR

• XOR X Y

• XNOR X = Y

Page 20: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

Administration

• Great job on Mid Term– Mean: 79%, Median: 82%, Min: 36,

Max: 99 (3)

• Project 2 is due Monday 10/26– Work in pieces

» call snprintf / save / restore / rtn

» copy format to buffer respecting bufferSize

» dispatch to one format function

» add other format functions

• Homework 6 out tonight

10/14/09 CS61CL F09 20

Page 21: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 21

Relationship Among Representations

Truth Table

BooleanExpression

gaterepresentation

(schematic)

??

unique

notunique

notunique

[convenient for manipulation]

[close toimplementaton]

* Theorem: Any Boolean function that can be expressed as a truth table can be written as an expression in Boolean Algebra using AND, OR, NOT.

How do we convert from one to the other?

Page 22: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09

Recall: Addition

0000

0111

0011

1011

1111

1110

1101

1100

1010

1001

1000

0110

0101

0100

0010

0001

+0

+1

+2

+3

+4

+5

+6

+7+8

+9

+10

+11

+12

+13

+14

+15

+

Example: 3 + 2 = 5

Unsigned binary addition

Is just addition, base 2

Add the bits in each position and carry

0 0 1 1

+ 0 0 1 0

0 1 0 1

1

22

Page 23: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

Design an Adder

10/14/09 CS61CL F09 23

0 0 1 1

+ 0 0 1 1

0 1 1 0

1 1

A B Ci

Co S

A B Ci

Co S

A B Ci

Co S

A B Ci

Co S

Ci A B Co S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

10 0 0 1

1 0 1 1 0

1 1 1 1 1

Page 24: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 24

Element of Time

• Logical change is not instantaneous• Broader digital design methodology has to make it appears

as such– Clocking, delay estimation, glitch avoidance

Vout

+3

0T

Propagation delay

Page 25: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 25

What makes Digital Systems tick?

Combinational

Logic

time

clk

Page 26: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 26

Synchronous Circuit Design

• clock– distributed to all flip-flops

• ALL CYCLES GO THROUGH A REG!

• Combinational Logic Blocks (CL)– Acyclic

– no internal state (no feedback)

– output only a function of inputs

• Registers (reg)– collections of flip-flops

reg regCL CL

clock input

output

option feedback

input output

Page 27: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 27

Modern Hardware Design

• Extremely Software Intensive– Design tools (schematic capture, hardware description lang.)

– Simulation tools

– Optimization tools

– Verification tools

– Supply chain and project management

• Managing complexity of fundamental– Modularity

– Methodology

– Clarity

– Technology independence

• Push the edge– Of the available tools

– Of the technology

Page 28: CS61CL Machine Structures Lec 7 – Introduction to Digital Design David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

10/14/09 CS61CL F09 28

Basic Design Tradeoffs

• You can usually improve on one at the expense of one or both of the others.

• These tradeoffs exist at every level in the system design - every sub-piece and component.

• Design Specification - – Functional Description.

– Performance, cost, power constraints.

• As a designer you must make the tradeoffs necessary to achieve the function within the constraints.