Finite state machine with minimized memory requirements
First Claim
1. In a microcomputer containing an implementation of a finite state machine (FSM) that controls a process wherein a plurality of input signals received by the FSM correspond to monitored process conditions and output signals generated by the FSM correspond to commands that effect changes in parameters associated with the process, the FSM having a plurality of states and sets of selection vectors, logical data selectively stored in the selection vectors to define logical conditions, a method for implementing the FSM with minimized memory required by the microcomputer comprising the steps of:
- a) storing in a first portion of memory of said microprocessor only said sets of selection vectors containing said logical data;
b) storing an index in a second portion of memory of said microcomputer for each state of said FSM, said index containing an address indicator corresponding to each set of said selection vectors;
c) during the operation of said FSM in a current state, said microprocessor accessing one of said sets of selection vectors via reading a corresponding one address indicator from a corresponding index.
3 Assignments
0 Petitions
Accused Products
Abstract
A set of indexes associated with each state of the finite state machine provides an address locator to a location in memory of a microprocessor where sets of logical vectors are stored. A count stored in a group of logical vectors identifies the number of stored logical vectors and hence, permits memory allocation to vary depending upon the number of logical conditions to be applied for a given test. A predetermined null value entered in an index is interpreted by the finite state machine as requiring no further processing and having no corresponding memory allocated for logical vectors.
-
Citations
20 Claims
-
1. In a microcomputer containing an implementation of a finite state machine (FSM) that controls a process wherein a plurality of input signals received by the FSM correspond to monitored process conditions and output signals generated by the FSM correspond to commands that effect changes in parameters associated with the process, the FSM having a plurality of states and sets of selection vectors, logical data selectively stored in the selection vectors to define logical conditions, a method for implementing the FSM with minimized memory required by the microcomputer comprising the steps of:
-
a) storing in a first portion of memory of said microprocessor only said sets of selection vectors containing said logical data; b) storing an index in a second portion of memory of said microcomputer for each state of said FSM, said index containing an address indicator corresponding to each set of said selection vectors; c) during the operation of said FSM in a current state, said microprocessor accessing one of said sets of selection vectors via reading a corresponding one address indicator from a corresponding index. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a microcomputer containing an implementation of a finite state machine (FSM) that controls a process wherein a plurality of input signals received by the FSM correspond to monitored process conditions and output signals generated by the FSM correspond to commands that effect changes in parameters associated with the process, the FSM having a plurality of states and sets of selection vectors, logical data selectively stored in the selection vectors to define logical conditions, a method for minimizing memory required by the microcomputer for the FSM implementation comprising the steps of:
-
a) storing an index in memory of said microcomputer for each state of said FSM, said index containing an address locator corresponding to a set of said selection vectors; b) assigning a predetermined null value to address locators that correspond to said sets containing selection vectors without any logical data; c) storing in memory of said microprocessor selection vectors contained in said sets with corresponding address locators that do not contain said null value, no memory in said microprocessor used for storage of selection vectors contained in said sets corresponding to address locators that contain said null value; d) assigning a non-null value to address locators that correspond to sets containing selection vectors with logical data, said non-null value serving as a pointer to a location in memory that contains the corresponding selection vectors; e) during the operation of said FSM in a given state, said microprocessor seeks to access one set of selection vectors via reading a corresponding one address locator, the microprocessor interpreting a null value in said one address locator as an indication that no FSM processing of the associated one set of selection vectors is required, the microprocessor interpreting a non-null value in the one address locator as an indication that FSM processing of the associated one set of selection vectors is required, whereby memory is not required for the storage of selection vectors that do not contain logical data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. In a control system in which a process is controlled by a finite state machine (FSM) wherein a plurality of input signals received by the FSM correspond to monitored process conditions and output signals generated by the FSM correspond to commands that effect changes in parameters associated with the process, the FSM having a plurality of S states and sets of selection vectors, logical data selectively stored in the selection vectors to define logical conditions, the FSM implemented in a microcomputer having associated memory, the improvement comprising:
-
means for storing in said memory an address locator corresponding to a set of said selection vectors for each state S of said FSM; means for assigning a predetermined null value to address locators that correspond to sets containing selection vectors without any logical data; means for storing in memory of said microprocessor selection vectors contained in said sets corresponding to address locators that do not contain said null value and using no memory in said microprocessor for storage of selection vectors contained in sets corresponding to address locators that contain said null value; means for assigning a non-null value to address locators that correspond to sets containing selection vectors with logical data, said non-null value serving as a pointer to a location in said memory that contains the corresponding selection vectors; means for during the operation of said FSM in a given state wherein said microprocessor seeks to access one set of selection vectors via reading a corresponding one address locator, the microprocessor interpreting a null value in said one address locator as an indication that no FSM processing of the associated one set of selection vectors is required, the microprocessor interpreting a non-null value in the one address locator as an indication that FSM processing of the associated one set of selection vectors is required, whereby memory is not required for the storage of selection vectors that do not contain logical data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification