Patents Examined by Brian P. Johnson
  • Patent number: 7584345
    Abstract: A method for dynamically programming Field Programmable Gate Arrays (FPGA in a coprocessor, the coprocessor coupled to a processor, includes: beginning an execution of an application by the processor; receiving an instruction from the processor to the coprocessor to perform a function for the application; determining that the FPGA in the coprocessor is not programmed with logic for the function; fetching a configuration bit stream for the function; and programming the FPGA with the configuration bit stream. In this manner, the FPGA are programmable “on the fly”, i.e., dynamically during the execution of an application. The hardware acceleration and resource sharing advantages provided by the FPGA can be utilized more often by the application. Logic flexibility and space savings on the chip comprising thecoprocessor and processor are provided as well.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: September 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: Andreas C. Doering, Silvio Dragone, Andreas Herkersdorf, Richard G. Hofmann, Charles E. Kuhlmann
  • Patent number: 7581088
    Abstract: Methods and apparatus are provided for optimizing a conditional execution on a processor core. A processor sets a flag based on both the result and the type of an instruction. The flag is used during evaluation of a subsequent instruction to determine if the subsequent instruction should be executed. A semantically overloaded flag can be used to efficiently handle chained logical comparisons.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: August 25, 2009
    Assignee: Altera Corporation
    Inventor: Paul Metzgen
  • Patent number: 7577824
    Abstract: Techniques are described for decoupling fetching of an instruction stored in a main program memory from earliest execution of the instruction. An indirect execution method and program instructions to support such execution are addressed. In addition, an improved indirect deferred execution processor (DXP) VLIW architecture is described which supports a scalable array of memory centric processor elements that do not require local load and store units.
    Type: Grant
    Filed: February 6, 2004
    Date of Patent: August 18, 2009
    Assignee: Altera Corporation
    Inventors: Gerald George Pechanek, Stamatis Vassiliadis
  • Patent number: 7555630
    Abstract: A context forwarding bus efficiently communicates control and data between processing elements in a processor unit having a plurality of processing elements. Control and data information is transferred over a first bus from processing element to processing element.
    Type: Grant
    Filed: December 21, 2004
    Date of Patent: June 30, 2009
    Assignee: Intel Corporation
    Inventors: Sanjeev Jain, Gilbert M. Wolrich, Mark B. Rosenbluth
  • Patent number: 7555633
    Abstract: Various embodiments of methods and systems for implementing a microprocessor that fetches a group of instructions into instruction cache in response to a corresponding trace being evicted from the trace cache are disclosed. In some embodiments, a microprocessor may include an instruction cache, a trace cache, and a prefetch unit. In response to a trace being evicted from trace cache, the prefetch unit may fetch a line of instructions into instruction cache.
    Type: Grant
    Filed: November 3, 2003
    Date of Patent: June 30, 2009
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gregory William Smaus, Mitchell Alsup
  • Patent number: 7546445
    Abstract: In correspondence with an address of a branch instruction, a branch target address Apb, a valid bit V as branch history information, and delay slot information POS on the last position of delay slot instructions are stored in a branch target buffer 241. A branch prediction circuit 23 outputs hit information H/M as to whether or not an input address Ao is coincident with the branch instruction address, the valid bit which is also a branch prediction bit, the information POS, and the branch target address Apb. When a prediction error signal ERR is inactive, the address selection circuit 22 selectively outputs the output of an incrementer 21 and the branch target address Apb, based on the hit information H/M, the delay slot information POS, and the valid bit V.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: June 9, 2009
    Assignee: Fujitsu Limited
    Inventors: Shinichiro Tago, Tomohiro Yamana, Yoshimasa Takebe
  • Patent number: 7539846
    Abstract: The invention relates to a method and an apparatus for controlling a digital signal processor having a number of arithmetic units (1a, 1b) which process a program (8). A control unit (5) is provided for independent control of the individual arithmetic units (1a, 1b), which control unit (5) reads and evaluates the flags (9a, 9b) which are specific to the arithmetic units, and deactivates those arithmetic units (1a, 1b) whose associated flag is not set, so that a subroutine is carried out only by those arithmetic units (1a, 1b) whose flags are set.
    Type: Grant
    Filed: August 30, 2002
    Date of Patent: May 26, 2009
    Assignee: Infineon Technologies AG
    Inventors: Alberto Canella, Paul Fugger, Gerhard Nossing
  • Patent number: 7536534
    Abstract: A processor has an instruction set A and an instruction set B. A system instruction decoder decodes a system instruction that specifies the operating mode of the processor, the system instruction not being included in either the instruction set A or the instruction set B. A system instruction execution controller receives a decoded signal from the system instruction decoder, which has decoded an instruction requiring changeover of the instruction set, and sets the value of a instruction mode register. On the basis of the value in the instruction mode register, an instruction set changeover unit selects the instruction set to be used.
    Type: Grant
    Filed: February 24, 2004
    Date of Patent: May 19, 2009
    Assignee: NEC Electronics Corporation
    Inventor: Hiroyuki Nakajima
  • Patent number: 7526632
    Abstract: A system, apparatus and a method for implementing multifunctional memories is disclosed. The multifunctional memories perform a variety of functions during execution of extended instructions in a reconfigurable data path processor composed of processing nodes. In one embodiment, a processing node can be comprised of modular processing elements to perform computations associated with an extended instruction. Also, such a node includes at least two multifunctional memories and a data flow director configured to selectably couple the first multifunctional memory and the second multifunctional memory. The data flow director is configured to route data out from a first multifunctional memory of the two multifunctional memories while data is being routed into a second multifunctional memory. In another embodiment, a processing node is configured to compute a function output based on a number of Boolean functions, wherein at least one of the multifunctional memories is configured as a look-up table (“LUT”).
    Type: Grant
    Filed: October 22, 2004
    Date of Patent: April 28, 2009
    Assignee: Stretch, Inc.
    Inventors: Charle′ R. Rupp, Jeffrey M. Arnold
  • Patent number: 7523292
    Abstract: A multiplicity of processor elements, which both individually execute data processing in accordance with instruction codes that have been set as data and for which mutual connection relations are switch-controlled, are arranged in matrix form, and the instruction codes of this multiplicity of processor elements are successively switched by a state control unit. The state control units are composed of a plurality of units that intercommunicate to realize linked operation, and the multiplicity of processor elements is divided into a number of element areas that corresponds to the number of state control units. The plurality of state control units are arranged for each of the plurality of element areas and are connected to the processor elements, whereby the plurality of state control units can individually control a plurality of small-scale state transitions, or the plurality of state control units can cooperate to control a single large-scale state transition.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: April 21, 2009
    Assignee: NEC Electronics Corporation
    Inventors: Taro Fujii, Koichiro Furuta, Masato Motomura, Kenichiro Anjo, Yoshikazu Yabe, Toru Awashima, Takao Toi, Noritsugu Nakamura
  • Patent number: 7500086
    Abstract: One embodiment of the present invention supports execution of a start transactional execution (STE) instruction, which marks the beginning of a block of instructions to be executed transactionally. Upon encountering the STE instruction during execution of a program, the system commences transactional execution of the block of instructions following the STE instruction. Changes made during this transactional execution are not committed to the architectural state of the processor until the transactional execution successfully completes.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: March 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Marc Tremblay, Shailender Chaudhry, Quinn A. Jacobson
  • Patent number: 7496731
    Abstract: A method for processing matrix data. The processor includes M independent vector register files which are adapted to collectively store a matrix of L data elements. Each data element has B binary bits. The matrix has N rows and M columns, and L=N*M. Each column has K subcolumns. N?2, M?2, K?2, and B?1. Each row and each subcolumn is addressable. The processor does not duplicatively store the L data elements. The matrix includes a set of arrays such that each array is a row or subcolumn of the matrix. The processor may execute an instruction that performs an operation on a first array of the set of arrays, such that the operation is performed with selectivity with respect to the data elements of the first array.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: February 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: Peter A. Sandon, R. Michael P. West
  • Patent number: 7487338
    Abstract: A MOD_SAT instruction indicating that a 16 bit saturation is to be carried out with respect to the operation of one of instructions executed in parallel is placed in the left container and an ADD instruction is placed in the right container. When the instruction decode unit decodes these instructions, the instruction decode unit indicates that the instruction execution unit executes the ADD instruction accompanying a saturation process. Accordingly, the operation of a great number of instructions can be modified by combining instructions and, therefore, the basic instruction length can be made short and it becomes possible to increase the code efficiency.
    Type: Grant
    Filed: May 23, 2003
    Date of Patent: February 3, 2009
    Assignee: Renesas Technology Corp.
    Inventor: Masahito Matsuo
  • Patent number: 7487330
    Abstract: In a dynamically compiling computer system, a system and method for efficiently transferring control from execution of an instruction in a first representation to a second representation of the instruction is disclosed. The system and method include the setting of a tag for entry points of each instruction in a first representation that has been translated to a second representation. The tag is stored in memory in association with each such instruction. When a given instruction in a first representation is to be executed, the tag is examined, and if it indicates that a translated version of the instruction has previously been generated, control is passed to execution of the instruction in the second representation. The second representation can be a different instruction set representation, or an optimized representation in the same instruction set as the original instruction.
    Type: Grant
    Filed: May 2, 2001
    Date of Patent: February 3, 2009
    Assignee: International Business Machines Corporations
    Inventors: Erik R. Altman, Kemal Ebcioglu, Michael Karl Gschwind, David Arnold Luick
  • Patent number: 7475230
    Abstract: One embodiment of the present invention provides a system that performs register file checkpointing to support speculative execution within a processor. During operation, the system commences speculative execution of a program from a point of speculation, at which the outcome of a long latency instruction is speculatively predicted. During this speculative execution, registers are updated by checkpointing an old value of the register, if the register has not already been checkpointed, and then updating the architectural state of the register with the new value. In this way, only registers that are updated during the speculative execution are checkpointed, instead of checkpointing all of the architectural registers prior to commencing speculative execution.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: January 6, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Yuan C. Chou, Santosh G. Abraham
  • Patent number: 7441105
    Abstract: Methods and apparatus are provided for reducing the amount of resources allocated for handling multiplexing in a processor. Characteristics associated with processing blocks are analyzed. Operand restrictions and register groups can be configured to allow the use of more resource efficient multiplexing circuitry in a processor.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: October 21, 2008
    Assignee: Altera Corporation
    Inventor: Paul Metzgen
  • Patent number: 7430652
    Abstract: Multiple hardware accelerators can be used to efficiently perform processes that would otherwise be performed by general purpose hardware running software. The software overhead and bus bandwidth associated with running multiple hardware acceleration processes can be reduced by chaining multiple independent hardware acceleration operations within a circuit card assembly. Multiple independent hardware accelerators can be configured on a single circuit card assembly that is coupled to a computing device. The computing device can generate a playlist of hardware acceleration operations identifying hardware accelerators and associated accelerator options. A task management unit on the circuit card assembly receives the playlist and schedules the hardware acceleration operations such that multiple acceleration operations may be successively chained together without intervening data exchanges with the computing device.
    Type: Grant
    Filed: March 28, 2003
    Date of Patent: September 30, 2008
    Assignee: Tarari, Inc.
    Inventor: Douglas Edward Hundley
  • Patent number: 7430656
    Abstract: A method and system including transmitting data in an architectural format between execution units in a multi-type instruction set architecture and converting data received in the architectural format to an internal format and data output in the internal format to the architectural format based on an operation code and a data type of a microinstruction.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: September 30, 2008
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Ittai Anati, Oded Liron, Mohammad Abdallah
  • Patent number: 7406590
    Abstract: Methods and apparatus are provided for processing variable width instructions in a pipelined processor. The apparatus includes an instruction decoder configured to decode a loop setup instruction, having a loop setup instruction address, to obtain a loop bottom offset and configured to decode instructions following the loop setup instruction, each having an instruction address, to obtain an instruction width, registers for holding the loop setup instruction address and the loop bottom offset, and a loop bottom detector, responsive to a current instruction address, a current instruction width, the loop setup instruction address and the loop bottom offset, configured to determine if a next instruction is a loop bottom instruction.
    Type: Grant
    Filed: February 25, 2004
    Date of Patent: July 29, 2008
    Assignee: Analog Devices, Inc.
    Inventor: Christopher M. Mayer
  • Patent number: 7386703
    Abstract: A processor and method for processing matrix data. The processor includes M independent vector register files which are adapted to collectively store a matrix of L data elements. Each data element has B binary bits. The matrix has N rows and M columns, and L=N*M. Each column has K subcolumns. N?2, M?2, K?1, and B?1. Each row and each subcolumn is addressable. The processor does not duplicatively store the L data elements. The matrix includes a set of arrays such that each array is a row or subcolumn of the matrix. The processor may execute an instruction that performs an operation on a first array of the set of arrays, such that the operation is performed with selectivity with respect to the data elements of the first array.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: June 10, 2008
    Assignee: International Business Machines Corporation
    Inventors: Peter A. Sandon, R. Michael P. West