1 / 46

ECE-548 Sequential Machine Theory

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

Download Presentation

ECE-548 Sequential Machine Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

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

  8. 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

  9. Machine/Mathematics Hierarchy • AI Theory Intelligent Machines • Computer Theory Computer Design • Automata Theory Finite State Machine • Boolean Algebra Combinational Logic KJH, ECE-548

  10. 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

  11. 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

  12. 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

  13. Intelligent Machines • Ability to Learn • Possibly Not Computable KJH, ECE-548

  14. Automata, aka FSM • Concepts of Machines • Mechanical • Computer programs • Political • Biological • Abstract mathematical KJH, ECE-548

  15. Abstract Mathematical • Discrete • Continuous system can be discretized to any degree of resolution • Finite State • Input/Output • Some cause, some result KJH, ECE-548

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Sets • Infinite set • Set of sets KJH, ECE-548

  22. 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

  23. 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

  24. Set Equality • Set A is equal to set B KJH, ECE-548

  25. Sets • Null Set • A set with no elements,  • Every set is a subset of itself • Every set contains the null set KJH, ECE-548

  26. Operations on Sets • Intersection • Union KJH, ECE-548

  27. Operations on Sets • Set Difference • Cartesian Product, Direct Product KJH, ECE-548

  28. Special Sets • Powerset: set of all subsets of A *no braces around the null set since the symbol represents the set KJH, ECE-548

  29. Special Sets • Disjoint sets: A and B are disjoint if • Cover: KJH, ECE-548

  30. Properties of Operations on Sets • Commutative, Abelian • Associative • Distributive KJH, ECE-548

  31. Partition of a Set • Properties • pi are called “pi-blocks” or “-blocks” of PI KJH, ECE-548

  32. 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

  33. Domain of a Relation Domain of R R B a A b KJH, ECE-548

  34. Range of a Relation Range of R R b A a B KJH, ECE-548

  35. Inverse Relation, R-1 R-1 B a A b KJH, ECE-548

  36. Partial Function, Mapping • A single-valued relation such that R a b b’ a’ * A B * can be many to one KJH, ECE-548

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. B A b B aa’ A Function Examples • Monotonically increasing if injective • Not one-to-one, but single-valued KJH, ECE-548

  45. b b’ B b’’ a A Function Examples • Multivalued, but one-to-one KJH, ECE-548

  46. The End of the Beginning KJH, ECE-548

More Related