IP Library Granted Patent US 7,231,508
Granted Patent B2
US 7,231,508 · App. 10/022,776 · Granted Jun 12, 2007

Configurable finite state machine for operation of microinstruction providing execution enable control value

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,231,508
App. No.
10/022,776
Granted
Jun 12, 2007
Kind
B2
Abstract

A microprocessor architecture including a finite state machine in combination with a microcode instruction cache for executing microinstructions. Microinstructions which would normally result in small sequences of high-repetition looped operations are implemented in a finite state machine (FSM). The use of the FSM is more energy-efficient than looping instructions in a cache or register set. In addition, the flexibility of a cache, or other memory oriented approach, in executing microcode instructions is still available. A microinstruction is identified as an FSM operation (as opposed to a cache operation) by an ID tag. Other fields of the microinstruction can be used to identify the type of FSM circuitry to use, direct configuration of a FSM to implement the microinstruction, indicate that certain fields are to be implemented in one or more FSMs and/or in memory-oriented operations such as in a cache or register.

Claims (25)

1. A digital processor responsive to a microinstruction to perform an operation, the digital processor comprising:

a memory for storing data associated with the operation to be performed;

a finite state machine configuration circuit;

a configurable finite state machine (FSM) coupled to the finite state machine configuration circuit, the configurable finite state machine configurable to perform a function in association with the operation; and

control circuitry for providing data to the memory and for enabling execution of the FSM in response to detecting a predefined value in a field in the microinstruction.

2. The digital processor of claim 1 , further comprising loop control circuitry for repetitively accessing the data stored in the memory.

3. The digital processor of claim 1 , wherein the control circuitry further comprises detection circuitry for determining that at least a portion of a microinstruction is to be implemented by the configurable finite state machine.

4. The digital processor of claim 1 , further comprising a plurality of finite state machines, and

wherein the control circuitry further comprises:

finite state machine execution circuitry to selectively invoke operation of one or more of the plurality of finite state machines.

5. The digital processor of claim 1 , wherein the finite state machine configuration circuit further comprises circuitry to direct the configurable finite state machine to be configured in advance for a predetermined function associated with the microinstruction.

6. The digital processor of claim 1 , wherein the memory further comprises a register.

7. The digital processor of claim 1 , wherein the memory further comprises a microstore.

8. The digital processor of claim 1 , wherein the memory further comprises a cache.

9. The digital processor of claim 1 , wherein multiple instructions are used for configurable finite state machine control.

10. The digital processor of claim 9 , wherein a predetermined field is used to indicate how many microinstructions are to be used for configurable finite state machine control.

11. A method for executing a microinstruction, the method comprising:

configuring a configurable finite state machine to implement a first function indicated by the microinstruction;

using both the finite state machine and an iterative register to perform at least a portion of the first function indicated by the microinstruction;

allowing execution of the finite state machine if a predefined value in a field in the microinstruction is detected; and

concurrently using processing circuitry to perform a second function indicated by the microinstruction.

12. The digital processor of claim 1 , wherein the predefined value is represented by a single bit.

13. The digital processor of claim 12 , wherein a bit value of 0 prevents configurable finite state machine execution, wherein a bit value of 1 enables configurable finite state machine execution.

14. The digital processor of claim 1 , wherein when configurable finite state machine execution is enabled a predetermined field in the microinstruction is used to invoke configurable finite state machine processing.

15. The digital processor of claim 14 , wherein when configurable finite state machine execution is prevented the predetermined field in the microinstruction is used for a purpose other than to invoke FSM processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: QST HOLDINGS, LLC
To: ALTERA CORPORATION
Reel/Frame 030011/0209 →