Micro-sequencer apparatus and method of combination state machine and instruction memory
AssigneeFord Motor Company
InventorsMartin G. Gravenstein, Michael A. Vigil, Silvia E. Jaeckel
Life of this patent
Estimating the term…
Abstract
A micro-code sequencer apparatus (10) and method includes a state machine controller (14) and an instruction memory (24) for executing instructions and branches. The branch conditions for each state are stored in the state machine controller (14) whereas reprogrammable calculation instructions are stored in instruction memory (24). The instruction memory (24) is accessed by a program counter (20) which receives the decoded state information to determine the location of its instruction. A processor (30) processes the instruction and sends the output to a next state decoder (32) which determines the next state based on the branch conditions.
Claims17
A micro-sequencer apparatus comprising:
- a state machine controller (14) for storing a plurality of states and identifying a state as a current state with current state instruction;
- a program counter (20) for receiving said current state and producing a program count based thereon identifying a location of associated instruction;
- an instruction memory (24) for storing a plurality of instructions and for receiving said program count to identify one set of said instructions as a current instruction set, said instruction memory being reprogrammable;
- a processor (30) for performing functions of said current instruction set and for producing an output;
- next state decoder (32) containing a plurality of branch conditions for receiving said current state and said output to determine branching to one of said plurality of states as a next state and transferring same to said state machine controller (14);
- and
- an instruction decoder (28) receiving said current instruction set for decoding said current instruction set for said processor (30).
A method of sequencing instructions, the method including the steps of:
- storing a plurality of states;
- identifying one of the states as a current state;
- producing a program count based on the current state identifying a location of associated instruction;
- storing a plurality of instructions which storing may be reprogrammed;
- identifying one set of the instructions as a current instruction set based on the program count;
- decoding the current instruction set;
- performing functions of the current instruction set and producing an output;
- and
- determining a next state from the plurality of states based on the result and the current state.
A micro-sequencer apparatus comprising:
- a state machine controller (14) for storing a plurality of states and identifying a state as a current state with current state instruction;
- a program counter (20) for receiving said current state and producing a program count based thereon identifying a location of associated instruction;
- an instruction memory (24) for storing a plurality of instructions and for receiving said program count to identify one set of said instructions as a current instruction set, said instruction memory being re-programmable;
- a processor (30) for performing functions of said current instruction set and for producing an output;
- next state decoder (32) containing a plurality of branch conditions for receiving said current state and said output to determine branching to one of said plurality of states as a next state and transferring same to said state machine controller (14);
- and
- a thread counter (12) for identifying one of a plurality of threads as a current thread, said state machine controller (14) storing a plurality of states for each thread and said instruction memory (24) storing a plurality of instruction for each of said threads.
A method of sequencing instructions, the method including the steps of:
- storing a plurality of states;
- identifying one of the states as a current state;
- producing a program count based on the current state identifying a location of associated instruction;
- storing a plurality of instructions which storing may be reprogrammed;
- identifying one set of the instructions as a current instruction set based on the program count;
- performing functions of the current instruction set and producing an output;
- determining a next state from the plurality of states based on the result and the current state;
- and
- identifying one of a plurality of threads as a current thread.
Dependencies are inferred from the claim text.