Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationUS20070271440 A1
Type de publicationDemande
Numéro de demandeUS 11/803,997
Date de publication22 nov. 2007
Date de dépôt16 mai 2007
Date de priorité13 déc. 2001
Autre référence de publicationUS7231508, US20030115553, WO2003052591A2, WO2003052591A3
Numéro de publication11803997, 803997, US 2007/0271440 A1, US 2007/271440 A1, US 20070271440 A1, US 20070271440A1, US 2007271440 A1, US 2007271440A1, US-A1-20070271440, US-A1-2007271440, US2007/0271440A1, US2007/271440A1, US20070271440 A1, US20070271440A1, US2007271440 A1, US2007271440A1
InventeursPaul Master, W. Scheuermann
Cessionnaire d'origineQuicksilver Technology, Inc.
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes: USPTO, Cession USPTO, Espacenet
Computer processor architecture selectively using finite-state-machine for control code execution
US 20070271440 A1
Résumé
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.
Images(4)
Previous page
Next page
Revendications(26)
1-8. (canceled)
9. A computer processor for executing a microinstruction, the computer processor comprising:
a configurable finite state machine (FSM);
processing circuitry; and
control circuitry for controlling the configurable finite state machine (FSM) to implement at least a portion of the microinstruction in parallel with the processing circuitry.
10. The computer processor of claim 9, wherein the configurable finite state machine (FSM) and processing circuitry are operated concurrently.
11. (canceled)
12. A method of performing an operation according to a microinstruction having a finite state machine control field, comprising:
storing data associated with the operation to be performed;
configuring a configurable finite state machine via a finite state machine configuration circuit to perform a function in association with the operation;
detecting a predefined value in the finite state machine control field in the microinstruction; and
providing data to enable execution of the function by the finite state machine in response to the predefined value.
13. The method of claim 12, further comprising configuring a second configurable finite state machine via the finite state configuration circuit to perform a second function in association with the operation.
14. The method of claim 12, further comprising configuring the configurable finite state machine in advance to perform the function associated with the microinstruction.
15. The method of claim 12, wherein a second microinstruction having the same function as the first microinstruction is executed by the finite state machine.
16. A method of processing a microinstruction using a plurality of finite state machines in a processing system, the microinstruction including a finite state machine data field and directing at least one operation, the method comprising:
reading the microinstruction;
determining the at least one operation directed by the microinstruction to be performed;
selecting one of the plurality of finite state machines to perform the at least one operation of the microinstruction; and
configuring the selected finite state machine to perform the at least one operation of the microinstruction.
17. The method of claim 16, wherein the finite state machine is selected by hardware within the processing system.
18. The method of claim 16, wherein the finite state machine is selected by a source external to the processing system.
19. The method of claim 16, wherein the configuration of the selected finite state machine occurs prior to reading the microinstruction.
20. The method of claim 16, wherein the microinstruction includes configuration data used to select the finite state machine and control data to control the performance of the operation via the finite state machine.
21. The method of claim 16, wherein the finite state machine is selected from the plurality of finite state machines based on the use of the plurality of finite state machines in the processing system.
22. The method of claim 16, wherein the finite state machine is selected based on power requirements.
23. The method of claim 16, wherein configuring the finite state machine is performed via a hardwired configuration circuit.
24. The method of claim 16, wherein configuring the finite state machine is performed via the microinstruction.
25. A method for executing software with a computer processor having a configurable finite state machine, control circuitry for configuring the configurable finite state machine to perform different operations, and processing circuitry, the method comprising:
reading the software;
deriving at least one microinstruction from the software, the microinstruction including directing an operation;
determining whether the operation should be executed using the configurable finite state machine;
providing an instruction that the operation is to be executed by the configurable finite state machine based on the determination; and
executing the operation with the configurable finite state machine.
26. A processor system for processing a microinstruction including a finite state machine data field and directing at least one operation, the processor comprising:
a plurality of finite state machines;
an input device to read the microinstruction;
a controller to determine the at least one operation directed by the microinstruction to be performed and to select one of the plurality of finite state machines to perform the at least one operation of the microinstruction; and
a configuration circuit to configure the selected finite state machine to perform the at least one operation of the microinstruction.
27. The processor system of claim 26, wherein controller is hardware within the processing system.
28. The processor system of claim 26, wherein the controller configures the selected finite state machine prior to the input device reading the microinstruction.
29. The processor system of claim 26, wherein the microinstruction includes configuration data used to select the finite state machine and control data to control the performance of the operation via the finite state machine.
30. The processor system of claim 26, wherein the controller selects the finite state machine from the plurality of finite state machines based on the use of the plurality of finite state machines in the processor system.
31. The processor system of claim 26, wherein the controller selects the finite state machine based on power requirements of the processor system.
32. The processor system of claim 26, wherein the configuration circuit is hardwired.
33. The processor system of claim 26, wherein the configuration circuit performs the configuration via reading the microinstruction.
Description
    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.
  • [0021]
    FSM configuration circuitry 110 can be invoked by earlier instructions to prepare an FSM for later use by a different microinstruction. Alternatively, portions of an instruction can be used to direct configuration of the FSM via the configuration circuitry, while other parts of the same instruction serve to control FSM execution. In some applications, control of an FSM need not be more involved than merely invoking the FSM to begin execution.
  • [0022]
    FIGS. 2A-C illustrate different types of FSM control microinstructions.
  • [0023]
    In FIG. 2A, microinstruction 200 includes typical fields 204 for directing the operation of CPU circuitry. Typical fields can be, e.g., a next address field, arithmetic logic unit (ALU) control field, register access field, memory access, access mode, etc. Additionally, an FSM control bit FSMCTL at 202 is reserved. FSMCTL is set to 0 the FSM feature of the present invention is not invoked. In this case, the CPU can behave as a traditional processor. However, when FSMCTL is set to 1 then fields 204, and subsequent fields in subsequent instructions, can invoke FSM processing.
  • [0024]
    FIG. 2B illustrates the microinstruction format where FSM control is enabled.
  • [0025]
    In FIG. 2B, microinstruction 200 now has FSM control bit 202 set to 1. This enables FSMCTL control field 206 which would otherwise be used for other purposes. Depending on the microinstruction set design, additional fields such as 208, etc., can be used for FSM control. In different embodiments, many different arrangements for determining when, and how, a microinstruction (or instructions) will be interpreted to control an FSM. For example, other approaches can use fixed, predetermined fields for FSM control so that an FSM control bit is not needed. The configuration information for the FSM can be stored in these fields.
  • [0026]
    FIG. 2C illustrates an FSM control mode where multiple instructions are used.
  • [0027]
    In FIG. 2C, the FSM control bit is set to 1. FSMCTL field 212 then indicates how many microinstruction words following word 200 are to be used for FSM control. In this example, the remaining fields of microinstruction 200 along with the next two microinstructions, 214 and 216, can be used in their entirety for FSM-related purposes.
  • [0028]
    In other embodiments, the FSM control bit can be derived from a signal generated by hardware within the digital processing system, or obtained or derived from an external source. One refinement is to provide control circuit 108 of FIG. 1 with a “power saving mode” signal. When on, control circuit 108 will attempt to utilize FSM execution unit hardware as much as possible. When off, the emphasis will be on speed of execution which. One approach is to provide parallel instructions for different functions to be executed. One set of microinstructions is FSM oriented while the other is non-FSM. The control circuitry can selectively retrieve the desired (FSM, or non-FSM) instructions from a microstore as dictated by the power saving mode. Both the FSM and normal microstore operations could be executing in parallel.
  • [0029]
    FIG. 3 illustrates a flowchart showing basic steps in a routine to determine whether FSM circuitry, such as FSM 110 of FIG. 1, is invoked.
  • [0030]
    In FIG. 3, the routine of flowchart 300 is entered at step 302. At step 304, a next microinstruction to be executed is obtained. At step 306, a determination is made as to whether FSM mode execution is desired, or directed. As discussed above, this determination can be made from information in the obtained microinstruction, itself, or from a different microinstruction or from a control signal. If not desired, then step 308 is performed to execute the microinstruction's functions or operations in a non-FSM manner.
  • [0031]
    If, however, it is desired at step 306 to use FSM mode execution then step 310 is next executed to check whether FSM mode is available. Even though desired, FSM mode may not be available for a variety of reasons including lack of availability of the FSM execution unit (112 of FIG. 1), or lack of other resources. In an embodiment where dual sets of microinstructions are used to allow FSM or non-FSM modes for same operations, not all operations may be provided with dual FSM microinstructions so that FSM mode execution will not be possible. If FSM mode is not possible then step 308 is executed to execute the microinstruction's operations in a non-FSM mode.
  • [0032]
    If FSM mode is possible then step 312 is performed to check whether configuration data is needed. If so, step 314 obtains the configuration data. Configuration data can be provided by microinstructions, data elsewhere in the system, or hardwired circuitry for frequently used tasks. After configuration, or if it determined that configuration is not necessary, execution proceeds to step 316 where microinstruction operations are executed in an FSM mode and the routine exits at step 318.
  • [0033]
    Note that the functionality described by the steps of FIG. 3 may be achieved in many different ways. Steps can be added to or removed from those shown in FIG. 3. The steps can be modified and the sequencing can vary without departing from the scope of the invention. The functionality can be achieved by hardware, software or a combination of both.
  • [0034]
    Although the invention has been described with respect to specific embodiments above, the embodiments are merely illustrative, and not restrictive, of the invention. For example, even though aspects of the invention have been described advantageously reducing power consumption, the invention can be applied to designs where use of an FSM along with other execution units is desirable for other reasons. In some applications, power consumption may actually increase. For example, reducing the area of a design can be achieved, faster implementation of certain microinstructions can be realized (resulting in faster performance), advantages in microinstruction length, complexity, organization, execution, etc., can be obtained.
  • [0035]
    Although a distinction has been made between FSM and non-FSM execution, these terms are intended to mean either use of specialized FSM execution unit circuitry or non-use of such circuitry for a specific instruction, set of instructions, or portion of instruction. The term “non-FSM” or similar does not mean that no FSM is used. Nor does “FSM” mean that only FSM circuitry is used. For example, a non-FSM execution may still use FSM circuitry, but not the specialized FSM circuitry that is illustrated as FSM 112 of FIG. 1. In the art, FSM is a design approach that can be used to implement many different functions. For example, it is popular to use an FSM to generate control signals so that an FSM may be used in control circuitry 108 and ALU hardware/sequencer 118. The discussion herein, relating to use or non-use of FSM execution hardware includes specialized FSM circuitry that is selectable according to a microinstruction's fields, a control signal, or other component or approach discussed or implied herein. The type of specialized circuitry can vary widely. The same specialized circuitry need not be used for different instructions, or even for a same instruction executed at a later time.
  • [0036]
    Thus, the scope of the invention is to be determined solely by the appended claims.
Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US555417 *29 mai 189425 févr. 1896 baron
US3938639 *28 nov. 197317 févr. 1976The Cornelius CompanyPortable dispenser for mixed beverages
US4076145 *9 août 197628 févr. 1978The Cornelius CompanyMethod and apparatus for dispensing a beverage
US4143793 *13 juin 197713 mars 1979The Cornelius CompanyApparatus and method for dispensing a carbonated beverage
US4181242 *30 mai 19781 janv. 1980The Cornelius CompanyMethod and apparatus for dispensing a beverage
US4252253 *21 févr. 197824 févr. 1981Mcneil CorporationDrink dispenser having central control of plural dispensing stations
US4377246 *11 mai 198122 mars 1983The Cornelius CompanyApparatus for dispensing a carbonated beverage
US4577782 *2 mai 198325 mars 1986The Cornelius CompanyBeverage dispensing station
US4578799 *5 oct. 198325 mars 1986Codenoll Technology CorporationMethod and apparatus for recovering data and clock information from a self-clocking data stream
US4719056 *21 juin 198512 janv. 1988Isoworth LimitedFluid treatment
US4726494 *29 déc. 198623 févr. 1988Isoworth LimitedBeverage dipensing apparatus
US4800492 *13 mai 198724 janv. 1989The Coca-Cola CompanyData logger for a post-mix beverage dispensing system
US4811214 *14 nov. 19867 mars 1989Princeton UniversityMultinode reconfigurable pipeline computer
US4901887 *8 août 198820 févr. 1990Burton John WBeverage dispensing system
US4905231 *3 mai 198827 févr. 1990American Telephone And Telegraph Company, At&T Bell LaboratoriesMulti-media virtual circuit
US4982876 *8 août 19888 janv. 1991Isoworth LimitedCarbonation apparatus
US4993604 *28 août 198619 févr. 1991The Coca-Cola CompanyLow-cost post-mix beverage dispenser and syrup supply system therefor
US5090015 *6 févr. 198918 févr. 1992Motorola, Inc.Programmable array logic self-checking system
US5099418 *14 juin 199024 mars 1992Hughes Aircraft CompanyDistributed data driven process
US5190083 *3 oct. 19912 mars 1993The Coca-Cola CompanyMultiple fluid space dispenser and monitor
US5190189 *30 oct. 19902 mars 1993Imi Cornelius Inc.Low height beverage dispensing apparatus
US5193151 *30 août 19899 mars 1993Digital Equipment CorporationDelay-based congestion avoidance in computer networks
US5193718 *25 juin 199116 mars 1993Imi Cornelius Inc.Quick electronic disconnect for a beverage dispensing valve
US5297400 *17 févr. 199329 mars 1994Maytag CorporationLiquid dispensing assembly for a refrigerator
US5379343 *26 févr. 19933 janv. 1995Motorola, Inc.Detection of unauthorized use of software applications in communication units
US5381546 *11 mars 199310 janv. 1995Gte Laboratories IncorporatedControl process for allocating services in communications systems
US5381550 *10 janv. 199410 janv. 1995Thinking Machines CorporationSystem and method for compiling a source code supporting data parallel variables
US5388062 *6 mai 19937 févr. 1995Thomson Consumer Electronics, Inc.Reconfigurable programmable digital filter architecture useful in communication receiver
US5388212 *13 août 19937 févr. 1995Motorola Inc.Detecting unauthorized modification of communication unit based on comparison between stored hardware identification code and hardware identification code generated from operational platform identification code
US5491823 *25 janv. 199413 févr. 1996Silicon Graphics, Inc.Loop scheduler
US5594657 *7 juin 199514 janv. 1997Lucent Technologies Inc.System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5600810 *9 déc. 19944 févr. 1997Mitsubishi Electric Information Technology Center America, Inc.Scaleable very long instruction word processor with parallelism matching
US5600844 *5 avr. 19934 févr. 1997Shaw; Venson M.Single chip integrated circuit system architecture for document installation set computing
US5603043 *3 avr. 199511 févr. 1997Giga Operations CorporationSystem for compiling algorithmic language source code for implementation in programmable hardware
US5607083 *21 mai 19934 mars 1997Imi Cornelius Inc.Beverage dispensing valve
US5608643 *1 sept. 19944 mars 1997General Programming Holdings, Inc.System for managing multiple dispensing units and method of operation
US5611867 *12 avr. 199518 mars 1997Maytag CorporationMethod of selecting a wash cycle for an appliance
US5706191 *23 mai 19976 janv. 1998Gas Research InstituteAppliance interface apparatus and automated residence management system
US5706976 *21 déc. 199513 janv. 1998Purkey; Jay FloydVending machine inventory control device
US5712996 *1 mars 199427 janv. 1998Siemens AktiengesellschaftProcess for dividing instructions of a computer program into instruction groups for parallel processing
US5720002 *17 avr. 199517 févr. 1998Motorola Inc.Neural network and method of using same
US5721693 *3 janv. 199624 févr. 1998Lg Electronics Inc.Electric home appliance real use state information collection and analysis apparatus
US5721854 *27 août 199624 févr. 1998International Business Machines CorporationMethod and apparatus for dynamic conversion of computer instructions
US5729754 *17 mai 199517 mars 1998Estes; Mark D.Associative network method and apparatus
US5732563 *23 mai 199431 mars 1998Imi Cornelius Inc.Electronically controlled beverage dispenser
US5734808 *28 sept. 199431 mars 1998Namco Ltd.Pipeline processing device, clipping processing device, three-dimensional simulator device and pipeline processing method
US5860021 *24 avr. 199712 janv. 1999Klingman; Edwin E.Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel
US5862961 *14 oct. 199726 janv. 1999Imi Cornelius Inc.Connection device for dispensing fluid from a bottle
US5870427 *1 juin 19959 févr. 1999Qualcomm IncorporatedMethod for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode
US5873045 *29 oct. 199716 févr. 1999International Business Machines CorporationMobile client computer with radio frequency transceiver
US5881106 *30 août 19959 mars 1999Sgs-Thomson Microelectronics S.A.Signal processing circuit to implement a Viterbi algorithm
US5884284 *6 août 199716 mars 1999Continental Cablevision, Inc.Telecommunication user account management system and method
US5886537 *5 mai 199723 mars 1999Macias; Nicholas J.Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells
US5887174 *18 juin 199623 mars 1999International Business Machines CorporationSystem, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots
US5889816 *2 févr. 199630 mars 1999Lucent Technologies, Inc.Wireless adapter architecture for mobile computing
US5889989 *16 sept. 199630 mars 1999The Research Foundation Of State University Of New YorkLoad sharing controller for optimizing monetary cost
US5890014 *5 août 199630 mars 1999Micronet Technology, Inc.System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US6016395 *18 oct. 199618 janv. 2000Samsung Electronics Co., Ltd.Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor
US6021186 *14 nov. 19971 févr. 2000Ricoh Company Ltd.Automatic capture and processing of facsimile transmissions
US6021492 *9 oct. 19961 févr. 2000Hewlett-Packard CompanySoftware metering management of remote computing devices
US6023742 *18 juil. 19978 févr. 2000University Of WashingtonReconfigurable computing architecture for providing pipelined data paths
US6028610 *9 mars 199822 févr. 2000Sun Microsystems, Inc.Geometry instructions for decompression of three-dimensional graphics data
US6039219 *20 janv. 199821 mars 2000Bach; Lanae E.Liquid dispensing system for a refrigerator
US6041322 *18 avr. 199721 mars 2000Industrial Technology Research InstituteMethod and apparatus for processing data in a neural network
US6173389 *4 déc. 19989 janv. 2001Billions Of Operations Per Second, Inc.Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
US6195788 *9 oct. 199827 févr. 2001Altera CorporationMapping heterogeneous logic elements in a programmable logic device
US6199181 *9 sept. 19986 mars 2001Perfecto Technologies Ltd.Method and system for maintaining restricted operating environments for application programs or operating systems
US6202130 *17 avr. 199813 mars 2001Motorola, Inc.Data processing system for processing vector data and method therefor
US6346824 *27 juil. 200012 févr. 2002Xilinx, Inc.Dedicated function fabric for use in field programmable gate arrays
US6347346 *30 juin 199912 févr. 2002Chameleon Systems, Inc.Local memory unit system with global access for use on reconfigurable chips
US6510138 *25 févr. 199921 janv. 2003Fairchild Semiconductor CorporationNetwork switch with head of line input buffer queue clearing
US6510510 *22 déc. 199821 janv. 2003Analog Devices, Inc.Digital signal processor having distributed register file
US6526570 *24 avr. 200025 févr. 2003Sun Microsystems, Inc.File portability techniques
US6675284 *20 août 19996 janv. 2004Stmicroelectronics LimitedIntegrated circuit with multiple processing cores
US6691148 *24 déc. 199810 févr. 2004Verizon Corporate Services Group Inc.Framework for providing quality of service requirements in a distributed object-oriented computer system
US6694380 *27 déc. 199917 févr. 2004Intel CorporationMapping requests from a processing unit that uses memory-mapped input-output space
US6859434 *1 oct. 200222 févr. 2005Comsys Communication & Signal Processing Ltd.Data transfer scheme in a communications system incorporating multiple processing elements
US6986142 *14 sept. 200010 janv. 2006Texas Instruments IncorporatedMicrophone/speaker system with context switching in processor
US20020010848 *21 mai 200124 janv. 2002Shoichi KamanoData processing system
US20020013799 *4 mai 200131 janv. 2002Blaker David M.Accelerated montgomery multiplication using plural multipliers
US20020013937 *21 déc. 200031 janv. 2002Ostanevich Alexander Y.Register economy heuristic for a cycle driven multiple issue instruction scheduler
US20020015439 *22 déc. 20007 févr. 2002Sanjai KohliGPS system for navigating a vehicle
US20020023210 *22 mars 200121 févr. 2002Mark TuomenoksaMethod and system for managing and configuring virtual private networks
US20020024942 *28 août 200128 févr. 2002Nec CorporationCell search method and circuit in W-CDMA system
US20020024993 *29 déc. 200028 févr. 2002Ravi SubramanianMethod and apparatus to support multi standard, multi service base-stations for wireless voice and data networks
US20030007606 *8 janv. 20029 janv. 2003Estech Systems, Inc.Service observing in a voice over IP telephone system
US20030012270 *5 oct. 200116 janv. 2003Changming ZhouReceiver
US20030018446 *12 juil. 200223 janv. 2003National Instruments CorporationGraphical program node for generating a measurement program
US20030018700 *26 mars 200223 janv. 2003Giroti Sudhir K.Unified XML voice and data media converging switch and application delivery system
US20030023830 *25 juil. 200130 janv. 2003Hogenauer Eugene B.Method and system for encoding instructions for a VLIW that reduces instruction memory requirements
US20030026242 *19 sept. 20026 févr. 2003Harri JokinenMethod for identifying base stations of a time division cellular network in a mobile station and mobile station
US20030030004 *31 janv. 200113 févr. 2003General Electric CompanyShared memory control between detector framing node and processor
US20040006584 *8 août 20018 janv. 2004Ivo VandeweerdArray of parallel programmable processing engines and deterministic method of operating the same
US20040010645 *21 mai 200315 janv. 2004Quicksilver Technology, Inc.Uniform interface for a functional node in an adaptive computing engine
US20040015970 *6 mars 200222 janv. 2004Scheuermann W. JamesMethod and system for data flow control of execution nodes of an adaptive computing engine (ACE)
US20040015973 *31 mai 200222 janv. 2004International Business Machines CorporationResource reservation for large-scale job scheduling
US20040025159 *21 mai 20035 févr. 2004Quicksilver Technology, Inc.Hardware task manager
US20050044344 *21 août 200324 févr. 2005Quicksilver Technology, Inc.System, method and software for static and dynamic programming and configuration of an adaptive computing architecture
US20060031660 *30 sept. 20059 févr. 2006Master Paul LApparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
Classifications
Classification aux États-Unis712/37, 712/E09.078, 712/E09.035, 712/E09.005, 712/E09.016, 712/E09.028
Classification internationaleG06F9/30, G06F9/32, G06F9/26, G06F9/318, G06F17/50, G06F9/22
Classification coopérativeG06F9/30189, G06F9/30145, G06F9/325, G06F9/223
Classification européenneG06F9/30X4, G06F9/22D, G06F9/30T, G06F9/32B6