Computer processor architecture selectively using finite-state-machine for control code execution -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer How to File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
     new ** File a Provisional Patent ** 
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
11/22/07 | 28 views | #20070271440 | Prev - Next | USPTO Class 712 | About this Page  712 rss/xml feed  monitor keywords

Computer processor architecture selectively using finite-state-machine for control code execution

USPTO Application #: 20070271440
Title: Computer processor architecture selectively using finite-state-machine for control code execution
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. (end of abstract)
Agent: Wayne L. Tang Nixon Peabody, LLP. - Washington, DC, US
Inventors: Paul L. Master, W. James Scheuermann
USPTO Applicaton #: 20070271440 - Class: 712037000 (USPTO)
Related Patent Categories: Electrical Computers And Digital Processing Systems: Processing Architectures And Instruction Processing (e.g., Processors), Processing Architecture, Microprocessor Or Multichip Or Multimodule Processor Having Sequential Program Control, Programmable (e.g., Eprom)
The Patent Description & Claims data below is from USPTO Patent Application 20070271440.
Brief Patent Description - Full Patent Description - Patent Application Claims  monitor keywords

BACKGROUND OF THE INVENTION

[0001] This application relates in general to digital processing and more specifically to a digital processor microarchitecture for reducing power consumption in processors.

[0002] Reducing power consumption in microprocessor design is becoming more important as increasing numbers of portable digital processing applications, such as cellular telephones, personal digital assistants (PDAs), pocketbook computers, etc., become more popular. Also, as digital processors become faster, and as process technologies allow for increasingly dense designs, the effective capacitance, Ceff, encountered in new processor designs increases. The increased Ceff can require prohibitive amounts of power to achieve desired speeds. Recent projections indicate that traditional processor architectures that include significant random-access memory (RAM) and read-only memory (ROM) in the processor's microstore, cache, buffers, registers and other areas; requires much more power due to fast signal switching requirements encumbered by high Ceff.

[0003] Traditionally, the liberal use of memory at the processor level has been desirable. The program store allows the processor to be re-configured with updated instruction set functionality. The design of microprocessor instructions, or the "instruction set," can be changed to a degree without greatly affecting hardware design. The use of a microinstruction cache allows instructions that need to be repeated many times to be more quickly accessed by placing instructions within the loop to be executed in the fast cache. However, the use of large memories and memory caches also require cell arrays, control lines, decode logic, etc., whose operations are highly affected by Ceff. In general, storage accessing has a significant overhead at speeds desired for central processing unit (CPU) instruction execution.

[0004] The prior art has tried to minimize the use of memory devices in modern processor architecture designs by making the microinstruction or instruction cache extremely small, and by using large, complex instructions, e.g., very long instruction word (VLIW) or complex instruction set computer (CISC) approaches. These approaches use large instruction words, that can perform one or more functions that would otherwise require multiple, simpler, instructions. At an extreme, a single complex microinstruction might be the entirety of a loop so that frequently-executed loops and functions can be performed by keeping the single microinstruction in a small, single-word cache and executing the same microinstruction many times. However, the mere operation of looping a register, memory or cache, requires high switching speeds of signals in many transistors in the register memory, control memory and associated support circuitry. Such an approach is prohibitive where Ceff is large. The trend of denser numbers of transistors to control more and more circuitry and chip designs is causing a rapid increase in Ceff. Other aspects of microprocessor design can further thwart register and memory oriented approaches.

[0005] Thus, it is desirable to provide a system that alleviates one or more shortcomings in the prior art.

SUMMARY OF THE INVENTION

[0006] One embodiment of the invention uses a finite state machine in combination with a microcode instruction ("microinstruction") cache. Selected instructions 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.

[0007] In a preferred embodiment a microinstruction, or many microinstructions, are 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.

[0008] In one embodiment, the invention provides 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 (FSM) for performing a function in association with the operation; and control circuitry for providing data to the register and for starting execution of the FSM in response to the microinstruction.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] FIG. 1 shows basic components of the present invention;

[0010] FIG. 2A is a first diagram of an FSM control designation in a microinstruction;

[0011] FIG. 2B is a second diagram of an FSM control designation in a microinstruction;

[0012] FIG. 2C is a third diagram of an FSM control designation in a microinstruction; and

[0013] FIG. 3 is a flowchart of basic steps in a routine to determine whether FSM circuitry is invoked.

DESCRIPTION OF A PREFERRED EMBODIMENT

[0014] FIG. 1 illustrates a preferred embodiment of the invention.

[0015] In FIG. 1, microprocessor architecture 100 includes microstore 102 for storing microinstructions for execution by the components of the microprocessor architecture. As is known in the art, such instructions direct memory and register accessing, logical and arithmetic data operations, sequencing operations, and other operations to direct hardware in a digital processing system to perform functionality according to instructions stored in system memory (not shown).

[0016] Microstore 102 is indexed by program counter 104 to access a location of a current microinstruction whose data is output as current instruction 106. Note that a separate register or latch can be used to hold the current microinstruction, or the data can simply be output directly from the microstore. Many approaches to accessing and manipulating microinstructions are possible and are within the scope of the present invention.

[0017] The current microinstruction is used by control circuitry 108 to direct finite state machine (FSM) 112, FSM configuration 110 and memory oriented circuitry such as register 114 and loop control 116 to perform functions in accordance with the current microinstruction. Control circuitry 108 can also be used to direct, or control, other components in the system such as program counter 104, arithmetic/logic hardware and sequencing hardware 118, system memory accesses, etc.

[0018] Register 114 and loop control 116 can be microinstruction looping components as are known in the art. Other standard architecture components can be used. In a preferred embodiment, control circuitry 108 determines whether the current instruction, or a portion of the current instruction, is suitable, or has been designated, for using FSM processing. If so, control circuitry 108 directs the use of FSM 112 to execute according to data in the current instruction. In applications where the FSM is configurable, FSM configuration circuit 110 is used to pre-configure FSM 112, as desired. Note that any number of configurable, or fixed, FSMs can be used. For ease of illustration, only one is shown in FIG. 1.

[0019] Control circuitry 108 can be implemented in various ways, as desired. For example, in a simple implementation the control circuitry need be no more than hardwired routing of control signals and data in the current instruction, or from the microstore, to the appropriate components (such as FSM 112 or register 114). Other implementations can use multiplexers, gates or other devices to more flexibly control, generate, process, monitor, etc., the information from a microinstruction and use the information to control components.

[0020] Note that memory oriented circuitry can be other than a simple register and loop control. For example, multiple registers can be used. A memory bank can be employed, fast memory can be used as a cache, etc. In general, an FSM can be used in combination with any type of computer architecture, including additional FSMs.

Continue reading...
Full patent description for Computer processor architecture selectively using finite-state-machine for control code execution

Brief Patent Description - Full Patent Description - Patent Application Claims
Click on the above for other options relating to this Computer processor architecture selectively using finite-state-machine for control code execution patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Computer processor architecture selectively using finite-state-machine for control code execution or other areas of interest.
###


Previous Patent Application:
Method and device for managing a memory access look-up table
Next Patent Application:
Availability of space in a risc microprocessor architecture
Industry Class:
Electrical computers and digital processing systems: processing architectures and instruction processing (e.g., processors)

###

FreshPatents.com Support
Thank you for viewing the Computer processor architecture selectively using finite-state-machine for control code execution patent info.
IP-related news and info


Results in 1.67427 seconds


Other interesting Feshpatents.com categories:
Canon USA , Celera Genomics , Cephalon, Inc. , Cingular Wireless , Clorox , Colgate-Palmolive , Corning , Cymer ,