Patents Examined by Richard Ellis
  • Patent number: 7502918
    Abstract: A method of dispatching instructions includes dispatching original instructions into an instruction buffer, including at least one operand, renaming the operand, selecting the original instructions from the instruction buffer, sending selected instructions with explicit bits, to an internal operation code exchange table, which includes replacement rules for replacing the selected instructions with a simplified instruction based on the original instructions and the explicit bits, replacing the selected instructions with the simplified instruction in accordance with the explicit bits, and issuing the simplified instructions to an execution unit by sending the simplified instruction and all explicit bits for the operands to a content addressable memory address logic of the internal operation code exchange table, wherein if a bitvector, consisting of the original instruction and the explicit bits, matches a pattern stored in the internal operation code exchange table, the original instruction is replaced by the s
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: March 10, 2009
    Assignee: International Business Machines Corporation
    Inventors: Harry Barowski, Tobias Gemmeke, Tim Niggemeier, Thomas Pflueger
  • Patent number: 7502911
    Abstract: A digital signal processor uses a variable length instruction set. The variable length instructions may be stored in adjacent locations within memory space. The beginning and ending of instructions may, but are not required to, occur across memory word boundaries. Preferably, the variable length instructions contain variable numbers of instruction fragments. Each instruction fragment causes a particular operation (or operations) to be performed, thereby allowing multiple operations to be performed during each clock cycle. This reduces the total number of clock cycles necessary to perform a task.
    Type: Grant
    Filed: September 25, 2006
    Date of Patent: March 10, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Gilbert C. Sih, Qiuzhen Zou, Jian Lin
  • Patent number: 7500089
    Abstract: An SIMD type microprocessor having a plurality of processor elements, wherein data stored in a specific register included in each processor element and data stored in an operand-designated source register are compared based on a first type of instruction; after the comparison, a larger data is stored in the specific register; and a smaller data is stored in the source register or an operand-designated destination register other than the source register.
    Type: Grant
    Filed: April 1, 2002
    Date of Patent: March 3, 2009
    Assignee: Ricoh Company, Ltd.
    Inventor: Kazuhiko Iwanaga
  • Patent number: 7484078
    Abstract: A data processing circuit contains a register file (17) with a write port and a pipeline of instruction processing stages (10a-d). A timing circuit (14) is arranged to time transfer of instruction dependent information between the stages at mutually different time points, so that processing of successive instructions in respective stages partially overlaps. A first and a second one of the stages (10c,d) are in series in the pipeline. Each of the first and a second one of the stages has a result output for writing a result to the write port, if instruction dependent information in the stage concerned (10c,d) requires writing. A write sequencing circuit (144) performs write tests alternately for instruction dependent information in the first and second one of the stages (10c,d). When the write sequencing circuit (144) performs the write test for a particular one of the stages (10c,d), it tests whether the instruction dependent information in the particular one of the stages (10c,d) requires writing of a result.
    Type: Grant
    Filed: April 21, 2005
    Date of Patent: January 27, 2009
    Assignee: NXP B.V.
    Inventors: Adrianus Josephus Bink, Mark Nadim Olivier De Clercq
  • Patent number: 7484080
    Abstract: One embodiment of the present invention provides a system that facilitates deferring execution of instructions with unresolved data dependencies as they are issued for execution in program order. During a normal execution mode, the system issues instructions for execution in program order. Upon encountering an unresolved data dependency during execution of an instruction, the system generates a checkpoint that can subsequently be used to return execution of the program to the point of the instruction. Next, the system executes the instruction and subsequent instructions in an execute-ahead mode, wherein instructions that cannot be executed because of an unresolved data dependency are deferred, and wherein other non-deferred instructions are executed in program order. Upon encountering a store during the execute-ahead mode, the system determines if the store buffer is full. If so, the system prefetches a cache line for the store, and defers execution of the store.
    Type: Grant
    Filed: April 11, 2005
    Date of Patent: January 27, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay, Paul Caprioli
  • Patent number: 7484076
    Abstract: Methods, apparatuses, and systems are presented for performing instructions using multiple execution units in a graphics processing unit involving issuing an instruction for P executions of the instruction wherein each execution uses different data, P being a positive integer, the instruction being issued based on a first clock having a first clock rate, operating Q execution units to achieve the P executions of the instruction, Q being a positive integer less than P and greater than one, each of the execution units being operated based on a second clock having a second clock rate higher than the first clock rate of the first clock, and wherein the second clock rate of the second clock is equal to the first clock rate of the first clock multiplied by the ratio P/Q.
    Type: Grant
    Filed: September 18, 2006
    Date of Patent: January 27, 2009
    Assignee: Nvidia Corporation
    Inventors: Stuart F. Oberman, Ming Y. Siu, Sameer D. Halepete
  • Patent number: 7483420
    Abstract: Digital signaling processing (DSP) circuitry that supports multiple channel or time division multiplexing (TDM) applications is provided. For example, the DSP circuitry can process one or more channels of data without mixing the data of one channel with data of another channel. DSP circuitry of the invention supports multiple channel or TDM applications by embedding a tap delay line structure within the DSP circuitry. Utilizing this embedded tap delay line structure enables the DSP circuitry to support multi-channel or TDM applications independent of any external circuitry such as logic resources, thereby freeing up those resources for other uses.
    Type: Grant
    Filed: March 8, 2004
    Date of Patent: January 27, 2009
    Assignee: Altera Corporation
    Inventor: Ben Esposito
  • Patent number: 7475222
    Abstract: A processor comprises a memory, an instruction decoder coupled to the memory for decoding instructions retrieved therefrom, and a plurality of execution units for executing the decoded instructions. One or more of the instructions are in a compound instruction format in which a single instruction comprises multiple operation fields, with one or more of the operation fields each comprising at least an operation code field and a function field. The operation code field and the function field together specify a particular operation to be performed by one or more of the execution units.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: January 6, 2009
    Assignee: Sandbridge Technologies, Inc.
    Inventors: C. John Glossner, Erdem Hokenek, Mayan Moudgill, Michael J. Schulte
  • Patent number: 7475226
    Abstract: A method of data processing includes fetching a sequence of instructions, assigning each instruction within the sequence a respective unique instruction tag, and associating a respective destination vector with each instruction. The destination vectors, which are of uniform size, identify which of a plurality of possible destinations for execution results are targeted by the associated instructions. Data dependency between instructions in the sequence is managed by reference to the destination vectors associated with the instructions.
    Type: Grant
    Filed: September 20, 2006
    Date of Patent: January 6, 2009
    Assignee: International Business Machines Corporation
    Inventors: Hung Q. Le, Dung Q. Nguyen
  • Patent number: 7473293
    Abstract: A conversion table converts a packed instruction (pre-conversion code) contained in the instruction code fetched from an instruction memory into a plurality of instruction codes (converted codes). An instruction decoder decodes the plurality of the instruction codes converted by a conversion table. A plurality of ALUs perform the operation in accordance with the decoding result of the instruction decoder. Therefore, the number of instructions that can be executed in parallel per cycle may be increased while at the same time the capacity of the instruction memory is reduced.
    Type: Grant
    Filed: September 14, 2006
    Date of Patent: January 6, 2009
    Assignee: Renesas Technology Corp.
    Inventor: Masami Nakajima
  • Patent number: 7461242
    Abstract: A method and apparatus provides context switching of logic in an integrated circuit using one or more test scan circuits that use test data during a test mode of operation of the integrated circuit to store and/or restore non-test data during normal operation of the integrated circuit. The integrated circuit includes context control logic operative to control the test scan circuit to at least one of: store and restore context state information contained in functional storage elements in response to detection of a request for a change in context during normal operation of the integrated circuit.
    Type: Grant
    Filed: November 3, 2005
    Date of Patent: December 2, 2008
    Assignee: ATI Technologies ULC
    Inventors: Mark S. Grossman, Gregory C. Buchner
  • Patent number: 7447883
    Abstract: A data processing system includes an instruction fetching circuit 2, an instruction queue 4 and further processing circuits 6. A branch target cache, which maybe a branch target address cache 8, a branch target instruction cache 10 or both, is used to store branch target addresses or blocks of instructions starting at the branch target respectively. A control circuit 12 is responsive to the contents of the instruction queue 4 when a branch instruction is encountered to determine whether or not storage resources within the branch target cache 8, 10 should be allocated to that branch instruction. Storage resources within the branch target cache 8, 10 will be allocated when the number of program instructions within the instruction queue is below a threshold number and/or the estimated execution time of the program instructions is below a threshold time.
    Type: Grant
    Filed: August 10, 2006
    Date of Patent: November 4, 2008
    Assignee: ARM Limited
    Inventors: Vladimir Vasekin, Stuart David Biles, Andrew Christopher Rose, Wilco Dijkstra
  • Patent number: 7437539
    Abstract: An issue unit for placing a processor into a gradual slow down mode of operation is provided. The gradual slow down mode of operation comprises a plurality of stages of slow down operation of an issue unit in a processor in which the issuance of instructions is slowed in accordance with a staging scheme. The gradual slow down of the processor allows the processor to break out of livelock conditions. Moreover, since the slow down is gradual, the processor may flexibly avoid various degrees of livelock conditions. The mechanisms of the illustrative embodiments impact the overall processor performance based on the severity of the livelock condition by taking a small performance impact on less severe livelock conditions and only increasing the processor performance impact when the livelock condition is more severe.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventors: Christopher M. Abernathy, Kurt A. Feiste, Ronald P. Hall, Albert J. Van Norstrand, Jr.
  • Patent number: 7434037
    Abstract: An information processing system includes a branch target buffer (BTB) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT when the a BTB predicted target is not successful. In another embodiment a system comprising a plurality of branch prediction resources dynamically predicts the best resource appropriate for a branch. The method includes predicting a target branch for an indirect instruction address using a resource chosen among the plurality of branch prediction resources; and selectively inhibiting updates of the branch prediction resources whose prediction accuracy does not meet a threshold.
    Type: Grant
    Filed: April 7, 2006
    Date of Patent: October 7, 2008
    Assignee: International Business Machines Corporation
    Inventors: Il Park, Mauricio J. Serrano, Jong-Deok Choi
  • Patent number: 7434033
    Abstract: Mechanisms for placing a processor into a gradual slow down mode of operation are provided. The gradual slow down mode of operation comprises a plurality of stages of slow down operation of an issue unit in a processor in which the issuance of instructions is slowed in accordance with a staging scheme. The gradual slow down of the processor allows the processor to break out of livelock conditions. Moreover, since the slow down is gradual, the processor may flexibly avoid various degrees of livelock conditions. The mechanisms of the illustrative embodiments impact the overall processor performance based on the severity of the livelock condition by taking a small performance impact on less severe livelock conditions and only increasing the processor performance impact when the livelock condition is more severe.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: October 7, 2008
    Assignee: International Business Machines Corporation
    Inventors: Christopher M. Abernathy, Kurt A. Feiste, Ronald P. Hall, Albert J. Van Norstrand, Jr.
  • Patent number: 7418581
    Abstract: One embodiment of the present invention provides a system that samples instructions on a processor that supports speculative-execution. The system starts by selecting an instruction, wherein selecting an instruction involves selecting an instruction that is received from an instruction fetch unit or a deferred queue, wherein the deferred queue holds deferred instructions which are deferred because of an unresolved data dependency. The system then records information about the selected instruction during execution of the selected instruction, whereby the recorded information can be used to determine the performance of the processor.
    Type: Grant
    Filed: April 17, 2006
    Date of Patent: August 26, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Paul Caprioli, Sherman H. Yip
  • Patent number: 7395416
    Abstract: A method and a system for operating a plurality of processors that each includes an execution pipeline for processing dependence chains, the method comprising: configuring the plurality of processors to execute the dependence chains on execution pipelines; implementing a Super Re-Order Buffer (SuperROB) in which received instructions are re-ordered after out-of-order execution when at least one of the plurality of processors is in an Instruction Level Parallelism (ILP) mode and at least one of the plurality of processors has a Thread Level Parallelism (TLP) core; detecting an imbalance in a dispatch of instructions of a first dependence chain compared to a dispatch of instructions of a second dependence chain with respect to dependence chain priority; determining a source of the imbalance; and activating the ILP mode when the source of the imbalance has been determined.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: July 1, 2008
    Assignee: International Business Machines Corporation
    Inventor: Sumedh W. Sathaye
  • Patent number: 7376814
    Abstract: Variable length instructions are formed for execution in a processing system. Each instruction includes a parameter portion having one or more of predetermined types of parameters and an opcode portion. The opcode portion specifies an operation to be performed, the number of parameters in the instruction, and definitive characteristics of the parameters. The parameters may represent data which is compressible, thereby enabling the size of parameters in an instruction to be reduced.
    Type: Grant
    Filed: September 7, 1999
    Date of Patent: May 20, 2008
    Assignee: NXP B.V.
    Inventors: Winthrop L. Saville, Kevin Ross
  • Patent number: 6049869
    Abstract: Detecting an encoding system used to encode computer readable text or data across a wide variety of encoding systems. When a user attempts to download and use text or data on his or her computer, encoded data is passed from the desired text or data file to a series of code readers. Each code reader is programmed to read encoded data according to the rules of a given encoding system. When a given code reader is unable to validate a byte of data according to the encoding system rules associated with that reader, that reader is deactivated. This process of elimination leads to a single reader and a single encoding system. If the list of readers is not eliminated to a single reader, ambiguity resolution is performed to narrow the list of readers to a single reader. Once the list of active readers is narrowed to one, the encoding system associated with that reader is returned as the encoding system with which the data is encoded.
    Type: Grant
    Filed: October 3, 1997
    Date of Patent: April 11, 2000
    Assignee: Microsoft Corporation
    Inventors: Julie A. Pickhardt, Christopher H. Pratley
  • Patent number: 5717908
    Abstract: An instruction execution unit having an instruction format with four addresses. Two of the addresses may be defined as sources for operands. Two of the four addresses may be defined as a destination for the result of the computational unit and a pointer updated by a pointer pipeline. There are two arithmetic pipelines, and two pointer pipelines that operate in parallel to perform computations indicated by specially developed instruction format. The pipelines are specially optimized for Hidden Markov Models and Dynamic Time Warping procedures used for pattern recognition. The available addresses that can be used as two sources of operands are not symmetrical. Therefore, the instruction set is implemented such that operations are defined in pairs with counterpart operations using reciprocal operands to add full flexibility to the arithmetic pipeline.
    Type: Grant
    Filed: October 7, 1994
    Date of Patent: February 10, 1998
    Assignee: Intel Corporation
    Inventor: Carole Dulong