logic design basics - uc santa barbarastrukov/ece154afall2012/lecture2.pdfclock + sequential logic =...

31
Logic Design Basics Logic Design Basics Information encoded in binary Information encoded in binary Low voltage = 0, High voltage = 1 One wire per bit One wire per bit Multibit data encoded on multiwire buses

Upload: doannga

Post on 26-Mar-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Logic Design BasicsLogic Design Basics

• Information encoded in binaryInformation encoded in binary– Low voltage = 0, High voltage = 1

One wire per bit– One wire per bit

– Multi‐bit data encoded on multi‐wire buses

Page 2: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Grouping of signalsGrouping of signals

Page 3: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

How to build combinational elements?

• AND‐gate AY+

Adder– Y = A & B

AY

B

Y+ Y = A + B

BY

Multiplexer Arithmetic/Logic Unit

Multiplexer Y = S ? I1 : I0

A

Y = F(A, B)

I0I1

YMux B

YALU

S F

Page 4: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Gate level design: NAND

Page 5: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

N instances of 1‐bit wide multiplexorN instances of 1 bit wide multiplexor

Page 6: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

1‐bit‐wide multiplexor

Page 7: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Implementation  of 1‐bit‐wide multiplexormultiplexor

Page 8: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

4‐to‐1 multiplexor

Page 9: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Hierarchical construction of MUXes

Page 10: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Building adder

Page 11: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Building adder

Page 12: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Building adder

Page 13: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Ripple carry adder

Page 14: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Circuit delay

Page 15: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Simple ALU

Page 16: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Combinational logicCombinational logic 

• Complex logic blocks are built from basic ANDComplex logic blocks are built from basic AND, OR, NOT building blocks we will see shortly

• A combinational logic block is one in which• A combinational logic block is one in which the output us a function only of its current inputinput

• Combination logic cannot have memory 

Page 17: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Sequential logic = State elements+ combination logic

Page 18: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

How to implement?How to implement?

Page 19: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Will that work?Will that work?

Page 20: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Sequential Elements• Flip flop: stores data in a circuit

Uses a clock signal to determine when to update– Uses a clock signal to determine when to update the stored value

– Edge‐triggered: update when Clk changes from 0Edge‐triggered: update when Clk changes from 0 to 1

D QClk

D

Clk

D

Q

Page 21: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Sequential Elements

• Flip flop with write control– Only updates on clock edge when write control input is 1

– Used when stored value is required later

Clk

D Q Write

Clk

ClkWrite D

Q

Page 22: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

RegisterRegister 

Page 23: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

D flip flop gate designD flip flop gate design

Page 24: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Second try for previous example 

Page 25: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Clock + sequential logic = synchronous design

• Clock rate (clock cycles per second in MHz or GH ) i i f l k l ti ( l k i d)

design

GHz) is inverse of clock cycle time (clock period)CC   =  1 / CR

one clock period

10 nsec clock cycle => 100 MHz clock rate10 nsec clock cycle     100 MHz clock rate

5 nsec clock cycle  =>  200 MHz clock rate

2 nsec clock cycle  =>  500 MHz clock rate

1 nsec (10‐9) clock cycle   =>  1 GHz (109) clock rate

500 psec clock cycle  =>   2 GHz clock rate

250 psec clock cycle > 4 GHz clock rate250 psec clock cycle  =>   4 GHz clock rate

200 psec clock cycle  =>   5 GHz clock rate

Page 26: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Clocking Methodology• Combinational logic transforms data during clock cyclesy– Between clock edges– Input from state elements, output to state p , pelement

– Longest delay determines clock period

Page 27: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

CPU Overview

Page 28: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

… with muxes

Can’t just join wires togethertogether Use multiplexers

Page 29: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

… with muxes

Page 30: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

A Few Words About Where We Are Headed

Performance = 1 / Execution time simplified to 1 / CPU execution time

CPU execution time = Instructions CPI / (Clock rate)

Performance = Clock rate / ( Instructions CPI )

Define an instruction set;

Design hardware for CPI = 1; seek improvements with

Try to achieve CPI = 1 with clock that is as high as that for CPI > 1

make it simple enough to require a small number of cycles and allow high

improvements with CPI >1

high as that for CPI > 1 designs; is CPI < 1 feasible?

clock rate, but not so simple that we need many instructions, even for very simple taskssimple tasks

Page 31: Logic Design Basics - UC Santa Barbarastrukov/ece154aFall2012/lecture2.pdfClock + sequential logic = synchronous ... Clocking Methodology • Combinational logic transforms data during

Strategies for Speeding Up Instruction Execution

Performance = 1 / Execution time simplified to 1 / CPU execution time

CPU execution time = Instructions CPI / (Clock rate)

Performance = Clock rate / ( Instructions CPI )

Assembly line analogyAssembly line analogy

Single-cycle (CPI = 1)

Parallel processing or pipelining

Faster

Items that take longest to inspect dictate the speed of the assembly line

Multicycle (CPI > 1)

Faster(CPI > 1)