Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

ECE-548

Sequential Machine Theory

Prof. K. J. Hintz
Department of Electrical and Computer
Engineering
Lecture 1
http://mason.gmu.edu/~khintz

1/21/10 ©KJH, ECE-548 1

Why SMT?
•  Some Things Cannot be Parallelized
•  Theory Leads to New Ways of Doing
Things
•  Understand Fundamental FSM Limits
•  Minimize FSM Complexity and Size
•  Find the “Essence” of a Machine

1/21/10 ©KJH, ECE-548 2

Why SMT?
•  Discuss FSM Unencumbered by
Implementation Issues
•  Technology is Changing Rapidly
•  Theory is a Framework within which to
Understand and Integrate Practical
Considerations

1/21/10 ©KJH, ECE-548 3


Hardware/Software
•  There Is an Equivalence Relation Between
Hardware and Software
–  Anything that can be done in one can be done
in the other…perhaps faster/slower
–  System design now done in hardware
description languages without regard for
realization method
•  Hardware/software/split decision deferred until later
stage in design

1/21/10 ©KJH, ECE-548 4

Hardware/Software
•  H/S equivalence extends to formal
languages
–  Different classes of computational machines
are related to different classes of formal
languages
–  Finite State Machines (FSM) can be
equivalently represented by one class of
languages

1/21/10 ©KJH, ECE-548 5

Formal Languages
•  Unambiguous
•  Can Be Finite or Infinite
•  Can Be Rule-based or Enumerated
•  Various Classes With Different Properties
•  Studied First Half of ECE-548

1/21/10 ©KJH, ECE-548 6


Finite State Machines
•  Equivalent to One Class of Language
•  Prototypical Sequence Controller
•  Many Processes Have Temporal or Data
Dependencies and Cannot Be Parallelized
•  FSM Costs
–  Hardware: More States More Hardware
–  Time: More States, (slightly) Slower Operation

1/21/10 ©KJH, ECE-548 7

Goal of ECE-548
•  Develop understanding of Hardware/
Software/Language Equivalence
•  Understand Properties of FSM
•  Develop Ability to Convert FSM
Specification Into Set-theoretic Formulation
•  Develop Ability to Partition Large Machine
Into Greatest Number of Smallest Machines
–  This reduction is unique
1/21/10 ©KJH, ECE-548 8

Machine/Mathematics Hierarchy
•  AI Theory Intelligent Machines
F
e
e
•  Computer Theory Computer Design d
b
a
c
•  Automata Theory Finite State Machine k

n
o
•  Boolean Algebra Combinational Logic n
e

1/21/10 ©KJH, ECE-548 9


Combinational Logic
•  Feedforward
•  Output Is Only a Function of Input
•  No Feedback
–  No memory
–  No temporal dependency
•  Single Valued Function Minimization Techniques
Well-known Minimization Techniques
•  Multi-valued Function Minimization Well-known
Heuristics
1/21/10 ©KJH, ECE-548 10

Finite State Machine


•  Feedback
•  Behavior Depends Both on Present State
and Present Input
•  State Minimization Well-known With
Guaranteed Minimum
•  Realization Minimization
–  Unsolved problem of Digital Design

1/21/10 ©KJH, ECE-548 11

Computer Design
•  Defined by Turing Computability
–  Can compute anything that is “computable”
–  Some things are not computable
•  Assumed Infinite Memory
•  State Dependent Behavior
•  5 Elements
–  Control Unit is specified and implemented as
FSM
1/21/10 ©KJH, ECE-548 12
Intelligent Machines
•  Ability to Learn
•  Possibly Not Computable

1/21/10 ©KJH, ECE-548 13

Automata, aka FSM


•  Concepts of Machines
–  Mechanical
–  Computer programs
–  Political
–  Biological
–  Abstract mathematical

1/21/10 ©KJH, ECE-548 14

Abstract Mathematical
•  Discrete
–  Continuous system can be discretized to any
degree of resolution
•  Finite State
•  Input/Output
–  Some cause, some result

1/21/10 ©KJH, ECE-548 15


Set Theoretic Formulation

•  S: Finite set of possible states


•  I: Finite set of possible inputs
•  O: Finite set of possible outputs
•  δ: Rule defining state change
•  β: Rule determining outputs
That is, a machine is a quintuple of sets

1/21/10 ©KJH, ECE-548 16

Types of FSMs
•  Moore
–  Output is a function of state only

•  Mealy
–  Output is a function of both the present state
and the present input

1/21/10 ©KJH, ECE-548 17

Types of FSMs
•  Finite State Acceptors, Language
Recognizers
–  Start in a single, specified state
–  End in particular state(s)
•  Pushdown Automata
–  Not an FSM
–  Assumed infinite stack with access only to
topmost element

1/21/10 ©KJH, ECE-548 18


Computer
•  Turing Machine
–  Assumed infinite read/write tape
–  FSM controls read/write/tape motion
–  Definition of computable function
–  Universal Turing machine reads FSM behavior
from tape

1/21/10 ©KJH, ECE-548 19

Review of Set Theory


•  Element: “a”, a single object with no
special property
•  Set: “A”, a collection of elements, i.e.,

–  Enumerated Set:

–  Finite Set:

1/21/10 ©KJH, ECE-548 20

Sets
–  Infinite set

–  Set of sets

1/21/10 ©KJH, ECE-548 21


Subsets
•  All elements of B are elements of A and
there may be one or more elements of A
that is not an element of B
A3
A6
Larry,
integers
Curly,
A7
Moe

1/21/10 ©KJH, ECE-548 22

Proper Subset
•  All elements of B are elements of A and
there is at least one element of A that is not
an element of B

1/21/10 ©KJH, ECE-548 23

Set Equality
•  Set A is equal to set B

1/21/10 ©KJH, ECE-548 24


Sets
•  Null Set
–  A set with no elements, φ

•  Every set is a subset of itself

•  Every set contains the null set

1/21/10 ©KJH, ECE-548 25

Operations on Sets
•  Intersection

•  Union

1/21/10 ©KJH, ECE-548 26

Operations on Sets
•  Set Difference

•  Cartesian Product, Direct Product

1/21/10 ©KJH, ECE-548 27


Special Sets
•  Powerset: set of all subsets of A

*no braces around the null set since the symbol represents the set

1/21/10 ©KJH, ECE-548 28

Special Sets
•  Disjoint sets: A and B are disjoint if

•  Cover:

1/21/10 ©KJH, ECE-548 29

Properties of Operations on Sets


•  Commutative, Abelian

•  Associative

•  Distributive

1/21/10 ©KJH, ECE-548 30


Partition of a Set
•  Properties

•  pi are called “pi-blocks” or “π-blocks” of PI

1/21/10 ©KJH, ECE-548 31

Relations Between Sets


•  If A and B are sets, then the relation from A
to B,
is a subset of the Cartesian product of A and
B, i.e.,

•  R-related:

1/21/10 ©KJH, ECE-548 32

Domain of a Relation

Domain of R

a R B

A
b

1/21/10 ©KJH, ECE-548 33


Range of a Relation

Range of R

R b
A
a
B

1/21/10 ©KJH, ECE-548 34

Inverse Relation, R-1

R-1 B
a

A b

1/21/10 ©KJH, ECE-548 35

Partial Function, Mapping


•  A single-valued relation such that

R
a b

b’
a’ *
A
B
* can be many to one

1/21/10 ©KJH, ECE-548 36


Partial Function
–  Also called the Image of a under R

–  Only one element of B for each element of A

–  Single-valued

–  Can be a many-to-one mapping

1/21/10 ©KJH, ECE-548 37

Function
•  A partial function with
–  A b corresponds to each a, but only one b for
each a

–  Possibly many-to-one: multiple a’s could map


to the same b

1/21/10 ©KJH, ECE-548 38

Function Example

• Unique, one image for each element of A and no


more
• Defined for each element of A, so a function,
not partial
• Not one-to-one since 2 elements of A map to v
1/21/10 ©KJH, ECE-548 39
Surjective, Onto
•  Range of the relation is B
–  At least one a is related to each b
•  Does not imply
–  single-valued
–  one-to-one R B

A a

1/21/10 ©KJH, ECE-548 40

Injective, One-to-One
•  “A relation between 2 sets such that pairs
can be removed, one member from each set,
until both sets have been simultaneously
exhausted.”

1/21/10 ©KJH, ECE-548 41

Injective, One-to-One
a could map to b’
also if it were not at a =
a’
least a partial function
which implies R
single-valued
b

1/21/10 ©KJH, ECE-548 42


Bijective
•  A function which is both Injective and
Surjective is Bijective.
–  Also called “one-to-one and onto”
•  A bijective function has an inverse, R-1, and
it is unique

1/21/10 ©KJH, ECE-548 43

Function Examples
•  Monotonically increasing
if injective B

A
•  Not one-to-one,
b
but single-valued B

a a’
A
1/21/10 ©KJH, ECE-548 44

Function Examples
•  Multivalued, but one-to-one
b
b’
B
b’’

a
A
1/21/10 ©KJH, ECE-548 45
The End of the Beginning

1/21/10 ©KJH, ECE-548 46

You might also like