Você está na página 1de 16

Elements of Computing Systems, Nisan & Schocken, MIT Press

www.idc.ac.il/tecs

Sequential Logic
Usage and Copyright Notice:
Copyright 2005 Noam Nisan and Shimon Schocken
This presentation contains lecture materials that accompany the textbook The Elements of
Computing Systems by Noam Nisan & Shimon Schocken, MIT Press, 2005.
We provide both PPT and PDF versions.
The book web site, www.idc.ac.il/tecs , features 13 such presentations, one for each book
chapter. Each presentation is designed to support about 3 hours of classroom or self-study
instruction.
You are welcome to use or edit this presentation as you see fit for instructional and noncommercial purposes.
If you use our materials, we will appreciate it if you will include in them a reference to the books
web site.
If you have any questions or comments, you can reach us at tecs.ta@gmail.com

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 1

Sequential VS combinational logic


 Combinational devices: operate on data only;
provide calculation services (e.g. Nand ALU)
 Sequential devices: operate on data and a clock signal;
as such, contain state and can ve made to provide storage and
synchronization services
 Sequential devices are sometimes called clocked devices
 The low-level behavior of clocked / sequential gates is tricky
 The good news:


All sequential chips can be based on one low-level sequential gate, called
data flip flop, or DFF

The complex clock-dependency details can be encapsulated at the lowlevel DFF level

All the higher-level sequential chips can be built on top of the DFF using
combinational logic only.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 2

Lecture plan
 Clock
 A hierarchy of memory chips:


Flip-flop gates

Binary cells

Registers

RAM

 Counters
 Perspective.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 3

The Clock

HW
simulator
demo

tock

tick

clock
signal

tick

cycle

tock

tock

tick

cycle

tock

tick

cycle

cycle

 In our jargon, a clock cycle = tick-phase (low), followed by a


tock-phase (high)
 In real hardware, the clock is implemented by an oscillator
 In our hardware simulator, clock cycles can be simulated either


Manually, by the user, or

Automatically, by a test script.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 4

Flip-flop

HW
simulator
demo
in

DFF

out

out(t) = in(t-1)

 A fundamental state-keeping device


 For now, let us not worry about the DFF implementation
 Memory devices are made from numerous flip-flops, all
regulated by the same master clock signal
 Notational convention:

in

sequential
chip

out

in

sequential
chip

out

(notation)

clock
signal
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 5

1-bit register (we call it Bit)


load

Objective: build a storage unit that can:


(a) Change its state to a given input

in

Bit

out

(b) Maintain its state over time (until changed)


if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)

in

DFF

out

out(t) = in(t-1)

in

DFF

out

load

Basic building block

in
MUX

out

DFF

out(t) = out(t-1) ?
out(t) = in(t-1) ?
Wont work
if load(t-1) then out(t)=in(t-1)
else out(t)=out(t-1)
OK

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 6

Bit (cont.)

HW
simulator
demo

Interface

Implementation
load

load
Bit

out

in
MUX

in

DFF

out

if load(t-1) then out(t)=in(t-1)


else out(t)=out(t-1)

 Load bit
 Read logic
 Write logic

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 7

Multi-bit registers

HW
simulator
demo

load

load
in

out

Bit

if load(t-1) then out(t)=in(t-1)


else out(t)=out(t-1)

1-bit register

in

Bit Bit

...

Bit

out

if load(t-1) then out(t)=in(t-1)


else out(t)=out(t-1)

w-bit register

 Registers width: a trivial parameter


 Read logic
 Write logic

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 8

Aside: Hardware Simulation

HW
simulator
demo

Relevant topics from the HW simulator tutorial:


 Clocked chips: When a clocked chip is loaded into the simulator, the
clock icon is turned on, and the user can use it to control the clock
 Built-in chips:


feature a standard HDL interface yet a Java implementation

Provide behavioral simulation services

May have GUI effects.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 9

Random Access Memory (RAM)

HW
simulator
demo

load

register 0
register 1
register 2

in
(word)

..
.
register n-1

out
(word)

RAM n
address
Direct Access Logic

(0 to n-1)

 Read logic
 Write logic.
Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 10

RAM interface

load

in
out

16 bits

RAMn
address

16 bits

log 2 n
bits

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 11

RAM anatomy
RAM 64

RAM8

..
.

RAM 8

register

..
.

Register
Bit Bit

...

RAM8

register
Bit

register

...

Recursive ascent

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 12

Counter
Needed: a storage device that can:
(a) set its state to some base value
(b) increment the state in every clock cycle
(c) maintain its state (stop incrementing) over clock cycles
(d) reset its state

inc

in

load reset

out

PC (counter)
w bits

w bits

If reset(t-1) then out(t)=0


else if load(t-1) then out(t)=in(t-1)
else if inc(t-1) then out(t)=out(t-1)+1
else out(t)=out(t-1)

 Typical function: program counter


 Implementation: register chip + some combinational logic.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 13

Recap: Sequential VS combinational logic


Combinational chip

in

comb.
logic

out

out = some function of (in)

Sequential chip

in

(optional)

time delay

(optional)

comb.
logic

DFF
gate(s)

comb.
logic

out

out(t) = some function of (in(t-1), out(t-1))

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 14

Time matters
tock

clock
signal

tick

tock

tock

tick

cycle

tick

cycle

tock

tick

cycle

cycle

 During a tick-tock cycle, the internal states of all the clocked chips are allowed
to change, but their outputs are latched
 At the beginning of the next cycle, the outputs of all the clocked chips in the
architecture commit to the new values.

Implications:
a

Reg1

 Challenge: propagation delays


sel

 Solution: clock synchronization

out

Reg2

 Cycle length and processing speed.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 15

Perspective
 All the memory units described in this lecture are standard
 Typical memory hierarchy


SRAM (static),

DRAM (dynamic),

Disk

Access
time

Cost

typically used for the cache

typically used for main memory

(Elaborate caching / paging algorithms)


 A Flip-flop can be built from Nand gates
 But ... real memory units are highly optimized, using a great variety of storage
technologies.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.idc.ac.il/tecs , Chapter 3: Sequential Logic

slide 16

Você também pode gostar