Patents Examined by Daniel Pan
-
Method and structure for low latency load-tagged pointer instruction for computer microarchitechture
Patent number: 7849293Abstract: A methodology and implementation of a load-tagged pointer instruction for RISC based microarchitecture is presented. A first lower latency, speculative implementation reduces overall throughput latency for a microprocessor system by estimating the results of a particular instruction and confirming the integrity of the estimate a little slower than the normal instruction execution latency. A second higher latency, non-speculative implementation that always produces correct results is invoked by the first when the first guesses incorrectly. The methodologies and structures disclosed herein are intended to be combined with predictive techniques for instruction processing to ultimately improve processing throughput.Type: GrantFiled: January 31, 2008Date of Patent: December 7, 2010Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, Michael K. Gschwind -
Patent number: 7844807Abstract: In at least one embodiment, a processor includes at least one execution unit and instruction sequencing logic that fetches instructions for execution by the execution unit. The instruction sequencing logic includes branch logic that outputs predicted branch target addresses for use as instruction fetch addresses. The branch logic includes a branch target address cache (BTAC) having at least one direct entry providing storage for a direct branch target address prediction associating a first instruction fetch address with a branch target address to be used as a second instruction fetch address immediately after the first instruction fetch address and at least one indirect entry providing storage for an indirect branch target address prediction associating a third instruction fetch address with a branch target address to be used as a fourth instruction fetch address subsequent to both the third instruction fetch address and an intervening fifth instruction fetch address.Type: GrantFiled: February 1, 2008Date of Patent: November 30, 2010Assignee: International Business Machines CorporationInventors: David S. Levitan, Lixin Zhang
-
Patent number: 7822948Abstract: An apparatus, system, and method are disclosed for discontiguous multiple issue of instructions. An assignment unit assigns a plurality of instruction blocks to a plurality of issue units. The plurality of issue units each comprises a renaming map that maps each architecturally visible register address to a rename register. Each issue unit maps each architecturally visible register in the decoded instruction to a register placeholder if the renaming map entry for that architecturally visible register is invalid else maps the architecturally visible register in the decoded instruction to a rename register if the rename register entry is valid. Each issue unit further receives predecessor mapping information from the renaming map of the issue unit's predecessor issue unit in response to the assignment unit identifying a relationship with the predecessor issue unit and the final mapping information being available from the predecessor issue unit.Type: GrantFiled: January 3, 2008Date of Patent: October 26, 2010Assignee: International Business Machines CorporationInventor: Russell Lee Lewis
-
Patent number: 7793080Abstract: One or more processor cores of a multiple-core processing device each can utilize a processing pipeline having a plurality of execution units (e.g., integer execution units or floating point units) that together share a pre-execution front-end having instruction fetch, decode and dispatch resources. Further, one or more of the processor cores each can implement dispatch resources configured to dispatch multiple instructions in parallel to multiple corresponding execution units via separate dispatch buses. The dispatch resources further can opportunistically decode and dispatch instruction operations from multiple threads in parallel so as to increase the dispatch bandwidth. Moreover, some or all of the stages of the processing pipelines of one or more of the processor cores can be configured to implement independent thread selection for the corresponding stage.Type: GrantFiled: December 31, 2007Date of Patent: September 7, 2010Inventors: Gene Shen, Sean Lie
-
Patent number: 7711925Abstract: An information-processing device that executes a specific process more frequently than other processes among a variety of processes is provided. The information-processing device includes a first processor capable of executing an instruction set corresponding to the variety of processes, and a second processor capable of executing a portion of or the entire instruction set, the second processor being capable of executing a part of the instruction set corresponding to the specific process more efficiently than the first processor, wherein the second processor executes the specific process whereas the first processor executes the other processes. Accordingly, the information-processing device can execute a variety of instructions efficiently.Type: GrantFiled: December 26, 2000Date of Patent: May 4, 2010Assignee: Fujitsu LimitedInventor: Hisashige Ando
-
Patent number: 7685283Abstract: The invention comprises a computer-implemented process for managing computing resources provided to customers in an on-demand data center. The process comprises: providing a shared computing environment; providing to each customer one or more logical partitions of computing resources within the shared computing environment; allocating at least one processing engine to each logical partition; modeling a selected customer's resource utilization as a beta distribution; iteratively selecting a random resource utilization value from the beta distribution and, for each logical partition, calculating a processing engine differential; for each iteration, calculating a collective processing engine differential until the collective processing engine differential converges on an optimal processing engine differential; and adjusting the number of processing engines by the optimal processing engine differential to achieve an optimal free pool size.Type: GrantFiled: January 23, 2006Date of Patent: March 23, 2010Assignee: International Business Machiens CorporationInventors: Robert L. Boyce, Jr., Randy S. Johnson, Tedrick N. Northway, Walter F. Schmidt, Clea A. Zolotow
-
Patent number: 7650384Abstract: A method and system for maintaining real-time conversations over unreliable connections is provided. The reliable messaging system initiates a conversation from a sending participant to a receiving participant by sending an invitation to join the conversation to the receiving participant. Once a connection is established, the reliable messaging system associates the conversation with the connection. If the connection is lost, then the reliable messaging system attempts to restore the connection by sending an invitation to the participant that was disconnected. If the reliable messaging system is able to restore the connection, then the new connection is associated with the previous conversation, and the conversation can continue.Type: GrantFiled: November 17, 2006Date of Patent: January 19, 2010Assignee: Microsoft CorporationInventors: Rajesh Ramanathan, Parag Samdadiya
-
Patent number: 7467288Abstract: A system and method for processing operations that use data vectors each comprising a plurality of data elements, in accordance with the present invention, includes a vector data file comprising a plurality of storage elements for storing data elements of the data vectors. A pointer array is coupled by a bus to the vector data file. The pointer array includes a plurality of entries wherein each entry identifies at least one storage element in the vector data file. The at least one storage element stores at least one data element of the data vectors, wherein for at least one particular entry in the pointer array, the at least one storage element identified by the particular entry has an arbitrary starting address in the vector data file.Type: GrantFiled: November 15, 2003Date of Patent: December 16, 2008Assignee: International Business Machines CorporationInventors: Clair John Glossner, III, Erdem Hokenek, David Meltzer, Mayan Moudgill
-
Patent number: 7464251Abstract: A method and an apparatus for configuring arbitrary sized data paths comprising multiple context processing elements (MCPEs) are provided. Multiple MCPEs may be chained to form wider-word data paths of arbitrary widths, wherein a first ALU serves as the most significant byte (MSB) of the data path while a second ALU serves as the least significant byte (LSB) of the data path. The ALUs of the data path are coupled using a left-going, or forward, carry chain for transmitting at least one carry bit from the LSB ALU to the MSB ALU. The MSB ALU comprises configurable logic for generating at least one signal in response to a carry bit received over the left-going carry chain, the at least one signal comprising a saturation signal and a saturation value. The MCPEs of the data path use configurable logic to manipulate a resident bit sequence in response to the saturation signal transmitted thereby reconfiguring, or changing the operation of, the data path in response to the saturation signal.Type: GrantFiled: February 27, 2003Date of Patent: December 9, 2008Assignee: Broadcom CorporationInventor: Ethan A. Mirsky
-
Patent number: 7461237Abstract: A system that suppresses duplicative prefetches for branch target cache lines. During operation, the system fetches a first cache line into in a fetch buffer. The system then prefetches a second cache line, which immediately follows the first cache line, into the fetch buffer. If a control transfer instruction in the first cache line has a target instruction which is located in the second cache line, the system determines if the control transfer instruction is also located at the end of the first cache line so that a corresponding delay slot for the control transfer instruction is located at the beginning of the second cache line. If so, the system suppresses a subsequent prefetch for a target cache line containing the target instruction because the target instruction is located in the second cache line which has already been prefetched.Type: GrantFiled: April 20, 2005Date of Patent: December 2, 2008Assignee: Sun Microsystems, Inc.Inventors: Abid Ali, Paul Caprioli, Shailender Chaudhry, Miles Lee
-
Patent number: 7454601Abstract: The present invention relates to a method and system for providing an N-wide add-compare-select instruction includes decoding an instruction as an N-wide add-compare-select instruction and selecting a plurality of branch metrics. The method also includes combining the plurality of branch metrics with a plurality of source operands and outputting a pair of maximum values.Type: GrantFiled: March 28, 2002Date of Patent: November 18, 2008Assignee: Intel CorporationInventor: Gad Sheaffer
-
Patent number: 7447880Abstract: A processor comprises an arithmetic unit for processing operands, a register memory for storing operands with a register memory space and a register memory configuration unit. The register memory configuration unit is designed to configure the register memory such that memory space in the register memory is assigned to operands, and that memory space in the register memory that is not assigned to operands will be made available for other data than the operands. Thereby, on the one hand the number of operand transfers between an external bus and the arithmetic unit is decreased, since as many operands as possible are stored in the register memory, while on the other hand, when part of the register memory is not needed for storage of operands, this part will not be idle but made available for other data, so that the memory resources of the processors are always utilized optimally.Type: GrantFiled: November 25, 2003Date of Patent: November 4, 2008Assignee: Infineon Technologies AGInventors: Astrid Elbe, Norbert Janssen
-
Patent number: 7447886Abstract: A system and methods are discussed for providing additional capabilities to some instructions associated with loop execution. A standard set of instructions is processed using only a standard instruction size. Some loop instructions are processed with a standard instruction portion of the standard instruction size and an augmented instruction portion. The augmented instruction portion provides additional capabilities associated with the standard instruction portion. The augmented instruction portion can provide capabilities associated with conditional execution of the standard instruction portion or other instructions within a program loop. Furthermore, the augmented instruction portion can provide an additional operand to be used with the standard instruction portion.Type: GrantFiled: April 22, 2002Date of Patent: November 4, 2008Assignee: Freescale Semiconductor, Inc.Inventors: Lea Hwang Lee, William C. Moyer
-
Patent number: 7447876Abstract: The present invention provides a system and method for managing load and store operations necessary for reading from and writing to memory or I/O in a superscalar RISC architecture environment. To perform this task, a load store unit is provided whose main purpose is to make load requests out of order whenever possible to get the load data back for use by an instruction execution unit as quickly as possible. A load operation can only be performed out of order if there are no address collisions and no write pendings. An address collision occurs when a read is requested at a memory location where an older instruction will be writing. Write pending refers to the case where an older instruction requests a store operation, but the store address has not yet been calculated. The data cache unit returns 8 bytes of unaligned data. The load/store unit aligns this data properly before it is returned to the instruction execution unit.Type: GrantFiled: April 18, 2005Date of Patent: November 4, 2008Assignee: Seiko Epson CorporationInventors: Cheryl D. Senter, Johannes Wang
-
Patent number: 7444495Abstract: A computing arrangement including a processor and programmable logic. In various embodiments, the arrangement includes an instruction processing circuit coupled to a programmable logic circuit, and a memory arrangement coupled to the instruction processing circuit and to the programmable logic circuit. The instruction processing circuit executes instructions of a native instruction set, and the programmable logic is configured to dynamically translate input instructions to translated instructions of the native instruction set. The translated instructions are stored in a translation cache in the memory arrangement, and the translation cache is managed by the programmable logic. The programmable logic then provides the translated instructions to the instruction processing circuit for execution.Type: GrantFiled: August 30, 2002Date of Patent: October 28, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventor: Gregory S. Snider
-
Patent number: 7441104Abstract: The present invention provides for parallel subword instructions that cause results to be non-contiguously stored in a result register. For example, a targeting-type instruction can specify (implicitly or explicitly) a bit position and the result of each of the parallel subword compare operations can be stored at that bit position within the respective subword location of a result register. Alternatively, for a shifting-type instruction, pre-existing contents of a result register can be shifted one bit toward greater significance while the results are of the present operation are stored in the least-significant bits of respective result-register subword locations. This approach provides the results of multiple parallel subword compare instructions to be combined with relatively few instructions and reduces the maximum lateral movement of information—both of which can enhance performance.Type: GrantFiled: March 30, 2002Date of Patent: October 21, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventor: Dale Morris
-
Patent number: 7426631Abstract: Methods and systems for storing branch information in an address table of a processor are disclosed. A processor of the disclosed embodiments may generally include an instruction fetch unit connected to an instruction cache, a branch execution unit, and an address table being connected to the instruction fetch unit and the branch execution unit. The address table may generally be adapted to store a plurality of entries with each entry of the address table being adapted to store a base address and a base instruction tag. In a further embodiment, the branch execution unit may be adapted to determine the address of a branch instruction having an instruction tag based on the base address and the base instruction tag of an entry of the address table associated with the instruction tag. In some embodiments, the address table may further be adapted to store branch information.Type: GrantFiled: February 2, 2005Date of Patent: September 16, 2008Assignee: International Business Machines CorporationInventors: Brian R. Konigsburg, David Stephen Levitan, Wolfram M. Sauer, Samuel Jonathan Thomas
-
Patent number: RE40942Abstract: An integrated data processing platform for processing a digital signal that includes a general purpose processor and a digital signal processor (DSP) module. The DSP module recovers digital data from a digital signal utilizing a sequence of DSP operations selected by the general purpose processor. The general purpose processor processes the digital data recovered by the DSP module, but is also available to perform general purpose tasks. A shared internal memory array selectively provides information to the DSP module and to the general purpose processor. The information stored in the internal memory array includes operands utilized in the execution of the DSP algorithm and selected instructions and data utilized by the general purpose CPU either for controlling the execution of the DSP algorithm or for executing its own general purpose tasks.Type: GrantFiled: January 20, 1999Date of Patent: October 20, 2009Assignee: National Semiconductor CorporationInventors: Amos Intrater, Gideon Intrater, Moshe Doron, Lev Epstein, Maurice Valentaten, Israel Greiss
-
Patent number: RE41012Abstract: A double indirect method of accessing a block of data in a register file is used to allow efficient implementations without the use of specialized vector processing hardware. In addition, the automatic modification of the register addressing is not tied to a single vector instruction nor to repeat or loop instructions. Rather, the technique, termed register file indexing (RFI) allows full programmer flexibility in control of the block data operational facility and provides the capability to mix non-RFI instructions with RFI instructions. The block-data operation facility is embedded in the iVLIW ManArray architecture allowing its generalized use across the instruction set architecture without specialized vector instructions or being limited in use only with repeat or loop instructions.Type: GrantFiled: June 3, 2004Date of Patent: November 24, 2009Assignee: Altera CorporationInventors: Edwin Franklin Barry, Gerald George Pechanek, Patrick R. Marchand
-
Patent number: RE41293Abstract: Global address and data routers interconnect individual system units each having its own processors, memory, and I/O. A domain filter coupled to the routers dynamically defines groups of system units as domains and clusters of domains which have both software and hardware isolation from each other. Clusters can share dynamically definable ranges of memory with each other. The domain filter has software-loadable registers on the system units and in the global routers to set the parameters of the domains and clusters. The registers label individual inter-system transactions on the routers as invalid for system units not in the same domain or cluster as the originating unit.Type: GrantFiled: August 1, 2001Date of Patent: April 27, 2010Assignee: Sun Microsystems, Inc.Inventors: Daniel P. Drogichen, Andrew J. McCrocklin, Nicholas E. Aneshansley