Patents Examined by William M. Treat
  • Patent number: 7370178
    Abstract: Methods for latest producer tracking in a processor. In one embodiment, the method includes the steps of (1) writing a physical register identification value in a first register rename map location specified by a first instruction, (2) writing a first in-register status value in a second register rename map location specified by the first instruction, (3) writing a producer tracking status value at a producer tracking map location specified by the physical register identification value, and (4) modifying, upon graduation of the first instruction, the first in-register status value only if the producer tracking map location stores the producer tracking status value written in step (3). Other methods are also presented.
    Type: Grant
    Filed: July 14, 2006
    Date of Patent: May 6, 2008
    Assignee: MIPS Technologies, Inc.
    Inventors: Kjeld Svendsen, Xing Yu Jiang
  • Patent number: 7360064
    Abstract: The present invention provides a network multithreaded processor, such as a network processor, including a thread interleaver that implements fine-grained thread decisions to avoid underutilization of instruction execution resources in spite of large communication latencies. In an upper pipeline, an instruction unit determines an instruction fetch sequence responsive to an instruction queue depth on a per thread basis. In a lower pipeline, a thread interleaver determines a thread interleave sequence responsive to thread conditions including thread latency conditions. The thread interleaver selects threads using a two-level round robin arbitration. Thread latency signals are active responsive to thread latencies such as thread stalls, cache misses, and interlocks. During the subsequent one or more clock cycles, the thread is ineligible for arbitration. In one embodiment, other thread conditions affect selection decisions such as local priority, global stalls, and late stalls.
    Type: Grant
    Filed: December 10, 2003
    Date of Patent: April 15, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Donald Steiss, Earl T Cohen, John J Williams, Jr.
  • Patent number: 7356675
    Abstract: A data processor having: an instruction fetch unit for acquiring an instruction; and an instruction execution unit for execution, by pipeline processing, the instruction acquired by the instruction fetch unit. In the data processor, the instruction execution unit includes an execution pipeline pipelined into two or more stages for execution of the execution instruction, and an execution pipeline control unit capable of changing a stage to arrange an operation by the execution unit in according to the number of wait cycles until data required for execution of the execution instruction is fixed. The stage, where an operation by the execution unit is arranged, is changed according to the number of wait cycles until the data is fixed, whereby the number of input-fixing wait cycles increased by pipelining cache access can be reduced.
    Type: Grant
    Filed: July 7, 2006
    Date of Patent: April 8, 2008
    Assignee: Renesas Technology Corp.
    Inventor: Motokazu Ozawa
  • Patent number: 7353370
    Abstract: A system includes a multithreaded processor, a memory to store the plurality of threads, and a bus to deliver the plurality of threads to the multithreaded processor. The multithreaded processor includes an event detector to detect a first event indication for a first thread. The event detector, responsive to the detection of the first event indication for the first thread, monitors a second thread being processed within the multithreaded processor to detect a clearing point for the second thread and, responsive to the detection of the clearing point for the second thread clears a functional unit within the multithreaded processor for at least the first thread.
    Type: Grant
    Filed: January 20, 2005
    Date of Patent: April 1, 2008
    Assignee: Intel Corporation
    Inventors: Dion Rodgers, Darrell Boggs, Amit Merchant, Rajesh Kota, Rachel Hsu, Keshavan Tiruvallur
  • Patent number: 7340628
    Abstract: During execution of a program of computer instructions, the execution of branch instructions is detected, and in response, the activity of processing circuitry during execution of instructions following a branch instruction is measured. Respective information about the measured activity is recorded for each of a plurality of branch instructions. The measured activity is later used to adapt the power consumption mode of the processing circuitry after encountering the respective branch instructions.
    Type: Grant
    Filed: March 22, 2004
    Date of Patent: March 4, 2008
    Assignee: NXP B.V.
    Inventor: Francesco Pessolano
  • Patent number: 7334111
    Abstract: The invention provides for a method and related device and control program for use in decoding executable code in a processing system, for example run-time operating system, including bit-shuffling code at run-time, and including the steps of dividing the code into a plurality of sub-portions, identifying sub-portions of the code that can be bit-shuffled prior to the said run-time and bit-shuffling the said identified sub-portions prior to run-time so as to reduce the bit-shuffling required at run-time.
    Type: Grant
    Filed: January 11, 2005
    Date of Patent: February 19, 2008
    Assignee: NXP B.V.
    Inventor: Colin I. King
  • Patent number: 7320066
    Abstract: A branch history stores execution history information of branch instructions, and predicts presence of a branch instruction and a corresponding branch destination. A first return address stack stores, when an execution of a call instruction of a subroutine is completed, address information of a return destination of a corresponding return instruction. A second return address stack stores, when presence of a call instruction of a subroutine is predicted, address information of a return destination of a corresponding return instruction. An output selecting unit selects, when presence of a return instruction is predicted, if address information is stored in the second return address stack, the address information as a result of the branch prediction with a highest priority, and outputs the address information selected.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: January 15, 2008
    Assignee: Fujitsu Limited
    Inventor: Megumi Yokoi
  • Patent number: 7320062
    Abstract: The present invention concerns configuration of a new category of integrated circuitry for adaptive computing. The various embodiments provide an executable information module for an adaptive computing engine (ACE) integrated circuit and may include configuration information, operand data, and may also include routing and power control information. The ACE IC comprises a plurality of heterogeneous computational elements coupled to an interconnection network. The plurality of heterogeneous computational elements include corresponding computational elements having fixed and differing architectures, such as fixed architectures for different functions such as memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability. In response to configuration information, the interconnection network is operative to configure the plurality of heterogeneous computational elements for a plurality of different functional modes.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: January 15, 2008
    Assignee: QST Holdings, LLC
    Inventors: Paul L. Master, Stephen J. Smith, John Watson
  • Patent number: 7315937
    Abstract: A method of extracting bits of a bit stream including retrieving bits from the bit stream into an accumulator, specifying a size value specifying a number of bits to extract, storing a position value into a control register, and executing a bit extraction instruction. The bit extraction instruction includes copying the size value number of bits from the accumulator beginning at the position value into a target register, setting any remaining bits of the target register to zero, and decrementing the position value by an amount based on the size value. The method may include loading bits from a bit stream into a register and moving the contents of the register into the accumulator to replenish the accumulator. The method may include determining, based on the position value, whether the accumulator needs to be replenished, and if not, branching to bypass replenishing functions.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: January 1, 2008
    Assignee: MIPS Technologies, Inc.
    Inventors: Darren M. Jones, Ryan C. Kinter, Rivka Shenhav, Radhika Thekkath
  • Patent number: 7313675
    Abstract: A technique for allocating register resources within a microprocessor. More particularly, embodiments of the invention pertain to a register allocation technique within a microprocessor for multiple-threads of instructions or groups of micro-operations (“uops”).
    Type: Grant
    Filed: June 16, 2005
    Date of Patent: December 25, 2007
    Assignee: Intel Corporation
    Inventors: Fernando Latorre, José González, Antonio González
  • Patent number: 7313674
    Abstract: The present invention relates to an instruction control device, and more particularly to an instruction control device which has achieved a high speed operational processing, such as a reduction in the amount of components, so as to enable an out-of-order instruction execution to thereby execute an instruction processing at high speed in an information processor.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: December 25, 2007
    Assignee: Fujitsu Limited
    Inventor: Takeo Asakawa
  • Patent number: 7313673
    Abstract: The present invention provides a method, a computer program product, and an apparatus for blocking a thread at dispatch in a multi-thread processor for fine-grained control of thread performance. Multiple threads share a pipeline within a processor. Therefore, a long latency condition for an instruction on one thread can stall all of the threads that share the pipeline. A dispatch-block signaling instruction blocks the thread containing the long latency condition at dispatch. The length of the block matches the length of the latency, so the pipeline can dispatch instructions from the blocked thread after the long latency condition is resolved. In one embodiment the dispatch-block signaling instruction is a modified OR instruction and in another embodiment it is a Nop instruction. By blocking one thread at dispatch, the processor can dispatch instructions from the other threads during the block.
    Type: Grant
    Filed: June 16, 2005
    Date of Patent: December 25, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher Michael Abernathy, Jonathan James Dement, Albert James Van Norstrand, Jr., David Shippy
  • Patent number: 7313671
    Abstract: Computer architectures consist of a fixed data path, which is controlled by a set of control words. Each control word controls part of the data path. Each set of instructions generates a new set of control words. In case of a VLIW processor, multiple instructions are packaged into one so-called VLIW instruction. A VLIW processor uses multiple, independent functional units to execute these multiple instructions in parallel. Application specific domain tuning of a VLIW processor requires that instructions having varying requirements with respect to the number of instruction bits they require can be encoded in a single VLIW instruction, such that an efficient encoding and encoding of instructions is maintained. The present invention describes a processing apparatus as well as a processing method for processing data, allowing the use of such an asymmetric instruction set.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: December 25, 2007
    Assignee: Koninklijke Philips Electronics, N.V.
    Inventor: Jeroen Anton Johan Leijten
  • Patent number: 7310722
    Abstract: Instruction dispatch in a multithreaded microprocessor such as a graphics processor is not constrained by an order among the threads. Instructions are fetched into an instruction buffer that is configured to store an instruction from each of the threads. A dispatch circuit determines which instructions in the buffer are ready to execute and may issue any ready instruction for execution. An instruction from one thread may be issued prior to an instruction from another thread regardless of which instruction was fetched into the buffer first. Once an instruction from a particular thread has issued, the fetch circuit fills the available buffer location with the following instruction from that thread.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: December 18, 2007
    Assignee: NVIDIA Corporation
    Inventors: Simon S. Moy, John Erik Lindholm
  • Patent number: 7302555
    Abstract: Programmable processors are used to transform input data into output data based on program information encoded in instructions. The value of the resulting output data depends, amongst others, on the momentary state of the processor at any given moment in time. This state is composed of temporary data values stored in registers, for example, as well as so-called flags. A disadvantage of the principle of flags, is that they cause side effects in the processor, especially in parallel processors. However, when removing the traditional concept of flags, the remaining problem is the implementation of branching. A processing system according to the invention comprises an execution unit (EX1, EX2), a first register file (RF1, RF2) for storing data, a memory (PM) and a second register file (RF3) for storing a program counter. The execution unit conditionally executes dedicated instructions for writing a value of the program counter into the second register file.
    Type: Grant
    Filed: April 27, 2004
    Date of Patent: November 27, 2007
    Assignee: Koninklijke Philips Electronics, N.V.
    Inventor: Jeroen Anton Johan Leijten
  • Patent number: 7299369
    Abstract: method of preventing an electronic file containing a computer virus from infecting a computer system using the Symbian™ operating system, the method comprising the steps of scanning files using an anti-virus application, and if an infected file is identified, maintaining the file in an open non-sharing state, whereby other applications running on the computer system may not operate on an infected file.
    Type: Grant
    Filed: August 8, 2002
    Date of Patent: November 20, 2007
    Assignee: AT&T Corp.
    Inventors: Paul Webster, Phil Endecott, Alan Mycroft
  • Patent number: 7287147
    Abstract: A configurable coprocessor interface between a central processing unit (CPU) and a coprocessor is provided. The coprocessor interface has an instruction transfer signal group for transferring different instruction types from the CPU to the coprocessor, sequentially or in parallel, a busy signal group, for allowing the coprocessor to signal the CPU that it cannot receive a transfer of one or more of the different instruction types, and an instruction order signal group for indicating to the coprocessor a relative execution order for multiple instructions that are transferred in parallel. In addition, the coprocessor interface includes separate data transfer signal groups for data being transferred from the CPU to the coprocessor, and for data being transferred from the coprocessor to the CPU, along with a data order signal group for indicating a relative order of data (if transferred out-of-order).
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: October 23, 2007
    Assignee: MIPS Technologies, Inc.
    Inventors: Lawrence Henry Hudepohl, Darren Miller Jones, Radhika Thekkath, Franz Treue
  • Patent number: 7284114
    Abstract: A video processing system with reconfigurable instructions includes a processor, a first register file in the processor, an extension adapter, programmable logic, a second register file coupled to the programmable logic, and a load/store module. The processor executes a video application that contains an instruction extension not native to the instruction set of the processor. The extension adapter detects the instruction extension in the video application. The programmable logic device is configured to execute the instruction extension. The programmable logic device then executes the instruction extension. The load/store module transfers data between the first register file and the second register file, and transfers data directly between the second register file and a system memory for use by the processor in processing the video application.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: October 16, 2007
    Assignee: Stretch, Inc.
    Inventors: Jeffrey Mark Arnold, Gareld Howard Banta, Scott Daniel Johnson, Albert R. Wang
  • Patent number: 7275146
    Abstract: The present invention relates to an instruction control device, and more particularly to an instruction control device which has achieved a high speed operational processing, such as a reduction in the amount of components, so as to enable an out-of-order instruction execution to thereby execute an instruction processing at high speed in an information processor.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: September 25, 2007
    Assignee: Fujitsu Limited
    Inventor: Takeo Asakawa
  • Patent number: 7272705
    Abstract: A programmable processor is adapted to detect exception conditions associated with one or more instructions before the instructions are executed. The detected exception conditions may be stored with the one or more instructions in a prefetch unit. Then, the exception conditions may be issued in parallel with the issuance of the instructions.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: September 18, 2007
    Assignee: Analog Devices, Inc.
    Inventors: Juan G. Revilla, Ravi P. Singh, Charles P. Roth