460 likes | 573 Views
ECE-548 Sequential Machine Theory. Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 http://cpe.gmu.edu/~khintz. Why SMT?. Some Things Cannot be Parallelized Theory Leads to New Ways of Doing Things Understand Fundamental FSM Limits
E N D
ECE-548 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 http://cpe.gmu.edu/~khintz KJH, ECE-548
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 KJH, ECE-548
Why SMT? • Discuss FSM Unencumbered by Implementation Issues • Technology is Changing Rapidly • Theory is a Framework within which to Understand and Integrate Practical Considerations KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
Finite State Machines • Equivalent to One Class of Language • Prototypical Sequence Controller • Many Processes Have Temporal Dependencies and Cannot Be Parallelized • FSM Costs • Hardware: More States More Hardware • Time: More States, Slower Operation KJH, ECE-548
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 KJH, ECE-548
Machine/Mathematics Hierarchy • AI Theory Intelligent Machines • Computer Theory Computer Design • Automata Theory Finite State Machine • Boolean Algebra Combinational Logic KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
Intelligent Machines • Ability to Learn • Possibly Not Computable KJH, ECE-548
Automata, aka FSM • Concepts of Machines • Mechanical • Computer programs • Political • Biological • Abstract mathematical KJH, ECE-548
Abstract Mathematical • Discrete • Continuous system can be discretized to any degree of resolution • Finite State • Input/Output • Some cause, some result KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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: KJH, ECE-548
Sets • Infinite set • Set of sets KJH, ECE-548
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 Larry, Curly, Moe A6 integers A7 KJH, ECE-548
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 KJH, ECE-548
Set Equality • Set A is equal to set B KJH, ECE-548
Sets • Null Set • A set with no elements, • Every set is a subset of itself • Every set contains the null set KJH, ECE-548
Operations on Sets • Intersection • Union KJH, ECE-548
Operations on Sets • Set Difference • Cartesian Product, Direct Product KJH, ECE-548
Special Sets • Powerset: set of all subsets of A *no braces around the null set since the symbol represents the set KJH, ECE-548
Special Sets • Disjoint sets: A and B are disjoint if • Cover: KJH, ECE-548
Properties of Operations on Sets • Commutative, Abelian • Associative • Distributive KJH, ECE-548
Partition of a Set • Properties • pi are called “pi-blocks” or “-blocks” of PI KJH, ECE-548
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: KJH, ECE-548
Domain of a Relation Domain of R R B a A b KJH, ECE-548
Range of a Relation Range of R R b A a B KJH, ECE-548
Inverse Relation, R-1 R-1 B a A b KJH, ECE-548
Partial Function, Mapping • A single-valued relation such that R a b b’ a’ * A B * can be many to one KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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 KJH, ECE-548
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.” KJH, ECE-548
a = a’ R b Injective, One-to-One a could map to b’ also if it were not at least a partial function which implies single-valued KJH, ECE-548
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 KJH, ECE-548
B A b B aa’ A Function Examples • Monotonically increasing if injective • Not one-to-one, but single-valued KJH, ECE-548
b b’ B b’’ a A Function Examples • Multivalued, but one-to-one KJH, ECE-548
The End of the Beginning KJH, ECE-548