Presentation on theme: "1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 Adaptation to this."— Presentation transcript:
1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 http://cpe.gmu.edu/~khintz Adaptation to this class and additional comments by Marek Perkowski
2 Why Sequential Machine Theory (SMT)? Sequential Machine Theory – SMT Some Things Cannot be Parallelized Theory Leads to New Ways of Doing Things, has also practical applications in software and hardware (compiler design, controllers design, etc.) Understand Fundamental FSM Limits Minimize FSM Complexity and Size Find the Essence of a Machine, –what does it mean that there is a machine for certain task?
3 Why Sequential Machine Theory? Discuss FSM properties that are unencumbered by Implementation Issues: –Software –Hardware –FPGA/ASIC/Memory, etc. Technology is Changing Rapidly, the core of the theory remains forever. Theory is a Framework within which to Understand and Integrate Practical Considerations
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 (VHDL, Verilog, higher) without regard for realization method Hardware/software/split decision deferred until later stage in design
5 Hardware/Software Hardware/Software 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
6 Formal Languages Unambiguous Can Be Finite or Infinite –Give some simple examples Can Be Rule-based or Enumerated Various Classes With Different Properties
7 Finite State Machines FSMs are Equivalent to One Class of Languages Prototypical Sequence Controller –Generator –acceptor –controller Many Processes Have Temporal Dependencies and Cannot Be Parallelized, –the need some form of state machine. FSM Costs –Hardware: More States More Hardware –Time: More States, Slower Operation –Technology dependent: how many CPLD chips?
8 Goal of this set of lectures 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
9 Machine/Mathematics Hierarchy AI TheoryIntelligent Machines Computer TheoryComputer Design Automata TheoryFinite State Machine Boolean AlgebraCombinational Logic
10 Combinational Logic Feedforward Output Is Only a Function of Input No Feedback –No memory –No temporal dependency Two-Valued Function Minimization Techniques –Well-known Minimization Techniques Multi-valued Function Minimization –Well-known Heuristics
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 –Technology related, combinational design related
12 Computer Design: Turing Machines Defined by Turing Computability –Can compute anything that is computable –Some things are not computable Assumed Infinite Memory State Dependent Behavior Elements: –Control Unit is specified and implemented as FSM –Tape infinite –Head –Head movements Show example of a very simple Turing machine now: x--> x+1
13 Intelligent Machines Some machines display an ability to learn –How a machine can learn? Some problems are possibly not computable –What problems? –Why not computable? –Something must be infinite?
14 Automata, aka FSM Concepts of Machines: –Mechanical Counters, adders –Computer programs –Political Towns, highways, social groups, parties, etc –Biological Tissues, cells, genetic, neural, societies –Abstract mathematical Functions, relations, graphs You should be able to use FSM concepts in other areas like robotics
15 FSM - Abstract mathematical concept of many types of behavior Discrete –Continuous system can be discretized to any degree of resolution Finite State: –finite alphabets for inputs, outputs and states. Input/Output –Some cause, some result
16 Set Theoretic Formulation of Finite State Machine 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
17 Types of FSMs Moore FSM –Output is a function of state only Mealy FSM –Output is a function of both the present state and the present input Discuss timing differences, show examples and diagrams, discuss fast signaling and PLD realization
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
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
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: