L10  Models of Computation
1
6.004 – Fall 2010
10/12/10
Programmability
from silicon to bits
0110100110
1110010010
0011100011
the Big Ideas
of
Computer Science
modified 10/10/10 11:41
Quiz 2:
FRIDAY!
L10  Models of Computation
2
6.004 – Fall 2010
10/12/10
6.004 Roadmap
Sequential logic:
FSMs
CPU Architecture:
interpreter
for coded
programs
Programmability: Models
•
Interpretation; Programs; Languages;
Translation
•
Beta implementation
•
Pipelined Beta
•
Software conventions
•
Memory architectures
Fets & voltages
Logic gates
Combinational
logic circuits
L10  Models of Computation
3
6.004 – Fall 2010
10/12/10
FSMs as Programmable Machines
ROMbased FSM sketch:
Given i, s, and o, we need a ROM
organized as:
2
i+s
words x (o+s) bits
i
s
0...01
0...00
0...00
10110
011
o
2
i
+
s
s
N+1
o
s
N
i
inputs
outputs
2
(o+s)2
i+s
(some may be
equivalent)
An FSM’s behavior is completely
determined by its ROM contents.
So how many possible
iinput,
ooutput,
FSMs with
sstate bits
exist?
L10  Models of Computation
4
6.004 – Fall 2010
10/12/10
Big Idea #1:
FSM Enumeration
GOAL: List all possible FSMs in some
canonical order.
• INFINITE list, but
• Every FSM has an entry
and an associated index.
0...01
0...00
0...00
10110
011
s
N+1
o
s
N
i
inputs
outputs
2
8
FSMs
2
64
Every possible FSM can be
associated with a number.
We can discuss the i
th
FSM
What if
s=2,
i=o=1??
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
L10  Models of Computation
5
6.004 – Fall 2010
10/12/10
Some Perennial Favorites...
FSM
837
modulo 3 counter
FSM
1077
4bit counter
FSM
1537
lock for 6.004 Lab
FSM
89143
Steve’s digital watch
FSM
22698469884
Intel Pentium CPU – rev 1
FSM
784362783
Intel Pentium CPU – rev 2
FSM
72698436563783
Intel Pentium II CPU
Reality: The integer indexes of actual FSMs are
much
bigger
than the examples above.
They must include
enough information to constitute a
complete
description
of each device’s unique structure.
L10  Models of Computation
6
6.004 – Fall 2010
10/12/10
Models of Computation
The roots of computer science stem from the
study of many alternative mathematical “models”
of computation, and study of the classes of
computations they could represent.
An elusive goal was to find an “ultimate” model,
capable of representing all practical
computations...
We’ve got FSMs ...
what else do we need?
•
switches
•
gates
•
combinational logic
•
memories
•
FSMs
Are FSMs the
ultimate digital
computing device?
L10  Models of Computation
7
6.004 – Fall 2010
10/12/10
FSM Limitations
Despite their usefulness and flexibility, there exist common problems that
cannot be computed by FSMs. For instance:
Paren
Checker
“(()())”
OK
Paren
Checker
“(())())”
Nix
Wellformed Parentheses Checker:
Given any string of coded left & right
parens, outputs 1 if it is balanced, else 0.
Simple, easy to describe.
Is this device equivalent to one of our
enumerated FSMs???
PROBLEM: Requires ARBITRARILY many states,
depending on input.
Must "COUNT" unmatched
LEFT parens. An FSM can only keep track of a
finite number of unmatched parens: for every
FSM, we can find a string it can’t check.
This is the end of the preview.
Sign up
to
access the rest of the document.
 ... ..., Turing Machines

Click to edit the document details