Patents Examined by Brian P. Johnson
-
Patent number: 7584345Abstract: 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: GrantFiled: October 30, 2003Date of Patent: September 1, 2009Assignee: International Business Machines CorporationInventors: Andreas C. Doering, Silvio Dragone, Andreas Herkersdorf, Richard G. Hofmann, Charles E. Kuhlmann
-
Patent number: 7581088Abstract: 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: GrantFiled: June 16, 2004Date of Patent: August 25, 2009Assignee: Altera CorporationInventor: Paul Metzgen
-
Patent number: 7577824Abstract: 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: GrantFiled: February 6, 2004Date of Patent: August 18, 2009Assignee: Altera CorporationInventors: Gerald George Pechanek, Stamatis Vassiliadis
-
Patent number: 7555630Abstract: 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: GrantFiled: December 21, 2004Date of Patent: June 30, 2009Assignee: Intel CorporationInventors: Sanjeev Jain, Gilbert M. Wolrich, Mark B. Rosenbluth
-
Patent number: 7555633Abstract: 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: GrantFiled: November 3, 2003Date of Patent: June 30, 2009Assignee: Advanced Micro Devices, Inc.Inventors: Gregory William Smaus, Mitchell Alsup
-
Patent number: 7546445Abstract: 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: GrantFiled: May 16, 2003Date of Patent: June 9, 2009Assignee: Fujitsu LimitedInventors: Shinichiro Tago, Tomohiro Yamana, Yoshimasa Takebe
-
Patent number: 7539846Abstract: 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: GrantFiled: August 30, 2002Date of Patent: May 26, 2009Assignee: Infineon Technologies AGInventors: Alberto Canella, Paul Fugger, Gerhard Nossing
-
Patent number: 7536534Abstract: 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: GrantFiled: February 24, 2004Date of Patent: May 19, 2009Assignee: NEC Electronics CorporationInventor: Hiroyuki Nakajima
-
Patent number: 7526632Abstract: 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: GrantFiled: October 22, 2004Date of Patent: April 28, 2009Assignee: Stretch, Inc.Inventors: Charle′ R. Rupp, Jeffrey M. Arnold
-
Patent number: 7523292Abstract: 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: GrantFiled: October 10, 2003Date of Patent: April 21, 2009Assignee: NEC Electronics CorporationInventors: Taro Fujii, Koichiro Furuta, Masato Motomura, Kenichiro Anjo, Yoshikazu Yabe, Toru Awashima, Takao Toi, Noritsugu Nakamura
-
Patent number: 7500086Abstract: 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: GrantFiled: December 6, 2005Date of Patent: March 3, 2009Assignee: Sun Microsystems, Inc.Inventors: Marc Tremblay, Shailender Chaudhry, Quinn A. Jacobson
-
Patent number: 7496731Abstract: 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: GrantFiled: September 6, 2007Date of Patent: February 24, 2009Assignee: International Business Machines CorporationInventors: Peter A. Sandon, R. Michael P. West
-
Patent number: 7487338Abstract: 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: GrantFiled: May 23, 2003Date of Patent: February 3, 2009Assignee: Renesas Technology Corp.Inventor: Masahito Matsuo
-
Patent number: 7487330Abstract: 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: GrantFiled: May 2, 2001Date of Patent: February 3, 2009Assignee: International Business Machines CorporationsInventors: Erik R. Altman, Kemal Ebcioglu, Michael Karl Gschwind, David Arnold Luick
-
Patent number: 7475230Abstract: 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: GrantFiled: May 16, 2003Date of Patent: January 6, 2009Assignee: Sun Microsystems, Inc.Inventors: Yuan C. Chou, Santosh G. Abraham
-
Patent number: 7441105Abstract: 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: GrantFiled: June 16, 2004Date of Patent: October 21, 2008Assignee: Altera CorporationInventor: Paul Metzgen
-
Patent number: 7430652Abstract: 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: GrantFiled: March 28, 2003Date of Patent: September 30, 2008Assignee: Tarari, Inc.Inventor: Douglas Edward Hundley
-
Patent number: 7430656Abstract: 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: GrantFiled: December 31, 2002Date of Patent: September 30, 2008Assignee: Intel CorporationInventors: Zeev Sperber, Ittai Anati, Oded Liron, Mohammad Abdallah
-
Patent number: 7406590Abstract: 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: GrantFiled: February 25, 2004Date of Patent: July 29, 2008Assignee: Analog Devices, Inc.Inventor: Christopher M. Mayer
-
Patent number: 7386703Abstract: 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: GrantFiled: November 18, 2003Date of Patent: June 10, 2008Assignee: International Business Machines CorporationInventors: Peter A. Sandon, R. Michael P. West