Claims
- 1. A state machine architecture comprising:
a plurality of node elements, wherein each of the plurality of node elements represents a node of a control flow graph; a plurality of interconnections to connect node elements; a plurality of state transition connectivity control logic to enable and disable connections within the plurality of interconnections to form the control flow graph with the plurality of node elements; and a plurality of state transition evaluation logic coupled to the interconnections and operable to evaluate input data against criteria, the plurality of state transition evaluation logic to control one or more state transitions between node elements in the control flow graph.
- 2. The state machine architecture defined in claim 1 wherein the criteria comprises evaluation symbols containing specifications for one or more of the group consisting of operations and data.
- 3. The state machine architecture defined in claim 2 wherein the evaluation symbols are programmable.
- 4. The state machine architecture defined in claim 1 further comprising a data transfer unit through which dynamically computed data is sent to the state transition connectivity control logic.
- 5. The state machine architecture defined in claim 1 wherein each interconnection in the plurality of interconnections represents a distinct state transition in the control flow graph.
- 6. The state machine architecture defined in claim 1 wherein the state transition connectivity control logic comprises a plurality of storage elements, where each storage element in the plurality of storage elements stores a value used to enable or disable an interconnection between node elements in the plurality of interconnections.
- 7. The state machine architecture defined in claim 1 wherein the state transition connectivity control logic is programmable.
- 8. The state machine architecture defined in claim 1 wherein the state transition evaluation criteria are programmable.
- 9. The state machine architecture defined in claim 1 wherein the state transition connectivity control logic and the state transition evaluation symbols are programmable.
- 10. The state machine architecture defined in claim 1 further comprising at least one trigger signal coupled to the plurality of interconnections to gate a state transition across an interconnection in the plurality of interconnections.
- 11. The state machine architecture defined in claim 10 wherein the at least one trigger signal is generated in response to the set of state transition evaluation logic
- 12. The state machine architecture defined in claim 1 wherein each of the plurality of node elements comprises a storage element to store a value representing the state of the control flow graph.
- 13. The state machine architecture defined in claim 1 wherein the set of state transition evaluation logic comprises a plurality of comparators to compare the input data to the criteria.
- 14. The state machine architecture defined in claim 1 wherein the state machine architecture is configured to begin evaluation with a set of programmable start states initialized to be active.
- 15. The state machine architecture defined in claim 1 wherein the state machine architecture is configured to perform recognition with an accept state defined to terminate evaluation when reached.
- 16. The state machine architecture defined in claim 1 wherein the plurality of interconnections comprises a plurality of wires.
- 17. The state machine architecture defined in claim 1 wherein the state transition connectivity control logic comprises a plurality of switches.
- 18. The state machine architecture defined in claim 1 wherein switches in the plurality of switches are implemented with logic gates.
- 19. The state machine architecture defined in claim 1 wherein the control flow graph comprises M nodes, M2 arc transitions and M2 symbols for evaluation, where M is an integer.
- 20. The state machine architecture defined in claim 19 wherein M is one of a group consisting of 16 and 32.
- 21. The state machine architecture defined in claim 1 wherein the control flow graph comprises M nodes, M2 arc transitions and M symbols for evaluation, where M is an integer.
- 22. The state machine architecture defined in claim 20 wherein M is one of a group consisting of 16 and 32.
- 23. A finite state automata comprising:
a plurality of node elements; state transition interconnections and next state evaluation logic coupled to the plurality of node elements; state transition connectivity control coupled to the state transition interconnections and next state evaluation logic; a plurality of state transition evaluation symbols; and state transition dynamic trigger computation logic coupled to receive input data and state transition evaluation symbol outputs and to generate a plurality of computation outputs coupled to the state transition interconnections and next state evaluation logic.
- 24 A method comprising:
programming connectivity control and state transition criteria for a control flow graph; evaluating input data against programmable criteria; and controlling one or more state transitions between node elements in the control flow graph in response to results of evaluation of the input data.
- 25. A state machine architecture comprising:
a plurality of supernodes, a plurality of interconnections to connect supernode elements; a plurality of state transition connectivity control logic to enable and disable connections within the plurality of interconnections to form the first control flow graph with the plurality of node elements; and a plurality of state transition evaluation logic coupled to the interconnections and operable to evaluate input data against criteria, the plurality of state transition evaluation logic to control one or more state transitions between supernode elements in the first control flow graph, wherein one of the plurality of supernodes comprises a state machine having
a plurality of node elements, wherein each of the plurality of node elements represents a node of a second control flow graph; a plurality of interconnections to connect node elements; a plurality of state transition connectivity control logic to enable and disable connections within the plurality of interconnections to form the second control flow graph with the plurality of node elements; and a plurality of state transition evaluation logic coupled to the interconnections and operable to evaluate input data against criteria, the plurality of state transition evaluation logic to control one or more state transitions between node elements in the second control flow graph.
Parent Case Info
[0001] This application is a non-provisional application of U.S. Provisional Patent Application Serial No. 60/406,835, filed Aug. 28, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60406835 |
Aug 2002 |
US |