You are on page 1of 18

Sequential Logic

Building a Modern Computer From First Principles

www.nand2tetris.org

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 1
Usage and Copyright Notice:

Copyright © 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.

Our web site, www.nand2tetris.org ,features a set of 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 non-
commercial purposes.

If you use our materials, please include a reference to www.nand2tetris.org


If you have any questions or comments, please write us at nand2tetris@gmail.com

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 2
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, can be made to be state-aware and 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 clock-dependency details can be encapsulated at the low-level DFF


level

 Higher-level sequential chips can be built on top of DFF gates using


combinational logic only.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 3
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.nand2tetris.org , Chapter 3: Sequential Logic slide 4
The Clock HW
simulator
demo

 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.nand2tetris.org , Chapter 3: Sequential Logic slide 5
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:

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 6
1-bit register (we call it “Bit”)

Objective: build a storage unit that can:


(a) Change its state to a given input
(b) Maintain its state over time (until changed)

in out
DFF

out(t) = out(t-1) ?
out(t) = in(t-1) ?

Won’t work

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 7
Bit register (cont.) HW
simulator
demo

Interface Implementation

o Load bit
o Read logic
o Write logic

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 8
Multi-bit register HW
simulator
demo

o Register’s width: a trivial parameter


o Read logic
o Write logic

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 9
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 enabled, allowing clock control
 Built-in chips:
 feature a standard HDL interface yet a Java implementation
 Provide behavioral simulation services
 May feature GUI effects (at the simulator level only).

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 10
Random Access Memory (RAM) HW
simulator
demo

o Read logic
o Write logic.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 11
RAM interface

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 12
RAM anatomy

Recursive ascent

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 13
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

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.nand2tetris.org , Chapter 3: Sequential Logic slide 14
Recap: Sequential VS combinational logic

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 15
Time matters

 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:

 Challenge: propagation delays

 Solution: clock synchronization

 Cycle length and processing speed.

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 16
Perspective

 All the memory units described in this lecture are standard

 Typical memory hierarchy Access


time Cost
 SRAM (“static”), typically used for the cache

 DRAM (“dynamic”), typically used for main memory

 Disk

(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.nand2tetris.org , Chapter 3: Sequential Logic slide 17
End notes: some poetry about the limits of logic ...

There exists a field where things are neither true nor false;
I’ll meet you there. (Rumi)

In the place where we are always right


No flowers will bloom in springtime (Yehuda Amichai)

A mind all logic is like a knife all blade;


It makes the hand bleed that uses it.
(Rabindranath Tagor)

Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 3: Sequential Logic slide 18

You might also like