Scoreboarding, Reservation Station, Or Aliasing Patents (Class 712/217)
-
Patent number: 7383422Abstract: A Very Long Instruction Word (VLIW) processor having an instruction set with a reduced size resulting in a small number of bits being necessary to specify registers. The VLIW processor includes a register file, and first through third operation units, and executes a very long instruction word. Further, the very long instruction word includes a register specifying field which specifies a least one of the registers in the register file and a plurality of instructions. The operand of each instruction includes bits src1, src2, and dst, which indicate whether or not the registers specified by the register specifying field are to be used as the source register and the destination register.Type: GrantFiled: September 27, 2004Date of Patent: June 3, 2008Assignee: Matsushita Electric Industrial Co., Ltd.Inventors: Takahiro Kageyama, Hideshi Nishida, Takeshi Tanaka, Kouji Nakajima
-
Patent number: 7383409Abstract: One disclosed embodiment is a multi-processor system comprising a processor having a processor pipeline that executes program instructions with data from a speculative fill that is provided in response to a source request. The multi-processor system can further comprise a non-retired store cache that retains non-retired store data based on program instructions to store data into a data cache associated with the processor. The non-retired store data can be written to the data cache if data of a speculative fill associated with the non-retired store data is determined to be coherent. Other apparatus and methodologies are disclosed.Type: GrantFiled: January 13, 2004Date of Patent: June 3, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: Simon C. Steely, Jr., Gregory Edward Tierney
-
Method and apparatus for back to back issue of dependent instructions in an out of order issue queue
Patent number: 7380104Abstract: A method is provided for evaluating two or more instructions in an out of order issue queue during a particular cycle of the queue, to select an instruction for issue during the next following cycle. If an instruction was previously designated to issue during the particular cycle, one or more instructions in the queue are evaluated to determine if any of them are dependent on the designated instruction. For the evaluation, each instruction placed into the queue is accompanied by corresponding logic elements that provide destination to source compares for the instruction. In an embodiment comprising a method, the oldest ready instruction in the queue during a particular cycle is identified.Type: GrantFiled: April 25, 2006Date of Patent: May 27, 2008Assignee: International Business Machines CorporationInventors: William Elton Burky, Raymond Cheung Yeung -
Patent number: 7376816Abstract: A method is disclosed for executing a load instruction. Address information of the load instruction is used to generate an address of needed data, and the address is used to search a cache memory for the needed data. If the needed data is found in the cache memory, a cache hit signal is generated. At least a portion of the address is used to search a queue for a previous load instruction specifying the same address. If a previous load instruction specifying the same address is found, the cache hit signal is ignored and the load instruction is stored in the queue. A load/store unit, and a processor implementing the method, are also described.Type: GrantFiled: November 12, 2004Date of Patent: May 20, 2008Assignee: International Business Machines CorporationInventors: Brian David Barrick, Kimberly Marie Fernsler, Dwain A. Hicks, Takeki Osanai, David Scott Ray
-
Patent number: 7376794Abstract: Multi-processor systems and methods are disclosed. One embodiment may comprise a multi-processor system comprising at least one data fill provided to a source processor in response to a source request by the source processor, and a coherent signal generated by the multi-processor system that provides an indication of which data fill of the at least one data fill is a coherent data fill.Type: GrantFiled: January 13, 2004Date of Patent: May 20, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: Simon C. Steely, Jr., Gregory Edward Tierney, Stephen R. Van Doren
-
Publication number: 20080114966Abstract: A data processing apparatus 2 supports out-of-order processing register renaming using a renaming stage 8. A set of physical registers 16 is mapped to architectural registers. Available-register identifying logic 26 is used to identify which physical registers 16 are available for use by the renaming stage 8. The available-register identifying logic 26 includes an instruction FIFO 28 storing register mapping data for unresolved instructions and indicating physical registers 16 storing data values which may be required in association with those unresolved speculative instructions. The speculative instructions may be predicted branch instructions, load/store instructions, conditional instructions or other types of instruction.Type: ApplicationFiled: October 25, 2006Publication date: May 15, 2008Applicant: ARM LimitedInventors: Florent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille, Melanie Vincent
-
Patent number: 7373484Abstract: A method of controlling write operations to a non-renamed register space includes receiving a write operation to a given register within the non-renamed register space. The method also includes determining whether a pending write operation to the given register exists. In response to determining that the pending write operation to the given register exists, the method includes blocking the write operation to the given register from being scheduled. However, in response to determining that the pending write operation to the given register does not exist, the method includes allowing the write operation to the given register to be scheduled. Further, if the pending write operation to the given register does not exist, the method includes allowing a subsequent write operation to a different register within the non-renamed register space to be scheduled.Type: GrantFiled: January 12, 2004Date of Patent: May 13, 2008Assignee: Advanced Micro Devices, Inc.Inventors: Arun Radhakrishnan, Benjamin T. Sander, Michael A. Filippo, Michael T. Clark, David E. Kroesche
-
Patent number: 7370178Abstract: 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: GrantFiled: July 14, 2006Date of Patent: May 6, 2008Assignee: MIPS Technologies, Inc.Inventors: Kjeld Svendsen, Xing Yu Jiang
-
Patent number: 7370176Abstract: A system and method for a high frequency stall design is presented. An issue unit includes a first instruction stage, a second instruction stage, and issue control logic. During a first instruction cycle, the issue unit performs two tasks, which are 1) the instructions located in the first instruction stage are moved to a second instruction stage, and 2) the issue control logic determines whether to issue or stall the instructions that are moved to the second instruction stage based upon their particular instruction attributes and the issue control unit's previous state. During a second instruction cycle that immediately follows the first instruction cycle, the second instruction stage's instructions are either issued or stalled based upon the issue control logic's decision from the first instruction cycle.Type: GrantFiled: August 16, 2005Date of Patent: May 6, 2008Assignee: International Business Machines CorporationInventors: Jonathan James DeMent, Kurt Alan Feiste, Robert Alan Philhower, David Shippy
-
Patent number: 7366719Abstract: There is described a method for manipulation, storage, modeling, visualization, and quantification of datasets, which correspond to target strings. An iterative algorithm is used to generate comparison strings corresponding to some set of points that can serve as the domain of an iterative function. The comparison string is scored by evaluating a function having the comparison string and one of the plurality of target strings as inputs. The score measures a relationship between a comparison string and a target string. The evaluation may be repeated for a number of the other target strings. The score or some other property corresponding to the comparison string is used to determine the target string's placement on a map. The target string may also be marked by a point on a visual display.Type: GrantFiled: October 6, 2004Date of Patent: April 29, 2008Assignee: Health Discovery CorporationInventor: Sandy C. Shaw
-
Patent number: 7363469Abstract: A method and processor for performing on-demand scratch register reallocation by dynamically adjusting the number of scratch registers from within the pool of rename registers includes initially allocating from a set of physical registers one or more architected registers and a pool of one or more rename registers and allocating from the pool of rename registers an initial number of scratch registers for storing microcode operands. In response to detecting that a fetched instruction requires an additional scratch register beyond the initial number, a selected physical register is reallocated from among the pool of rename registers as the additional scratch register, and a flag is set to indicate the rename register is allocated as the additional scratch register. In response to determining that the additional scratch register is no longer needed, the additional scratch register is deallocated and the flag is reset, such that the selected physical register returns to the pool of rename registers.Type: GrantFiled: March 28, 2006Date of Patent: April 22, 2008Assignee: International Business Machines CorporationInventors: Christopher M. Abernathy, William E. Burky, James A. Van Norstrand, Jr., Albert T. Williams
-
Patent number: 7363468Abstract: The present invention provides for a method for a load address dependency mechanism in a high frequency, low power processor. A load instruction corresponding to a memory address is received. At least one unexecuted preceding instruction corresponding to the memory address is identified. The load instruction is stored in a miss queue. And the load instruction is tagged as a local miss.Type: GrantFiled: November 18, 2004Date of Patent: April 22, 2008Assignee: International Business Machines CorporationInventors: Brian David Barrick, Kimberly Marie Fensler, Dwain Alan Hicks, David Scott Ray, David Shippy, Takeki Osanai
-
Patent number: 7360066Abstract: A processor including a Boolean logic unit, wherein the Boolean logic unit is operable for performing the short-circuit evaluation of Conjunctive Normal Form Boolean expressions/operations, a plurality of input/output interfaces, wherein the plurality of input/output interfaces are operable for receiving a plurality of compiled Boolean expressions/operations and transmitting a plurality of compiled results, and a plurality of registers. An associated processing method including starting an operation related to a Conjunctive Normal Form Boolean expression, wherein the Boolean expression comprises a conjunct, evaluating the conjunct, and selectively short-circuiting a portion of the Boolean expression.Type: GrantFiled: February 13, 2002Date of Patent: April 15, 2008Assignee: University of North Carolina at CharlotteInventor: Kenneth Elmon Koch, III
-
Patent number: 7360063Abstract: A facility is provided for managing register maps for map-based indirect register file access within a processor. The management facility includes a register mapping including a set of maps, each map of the set of maps having a plurality of map registers. A set of actual registers is indirectly accessed by the processor via map entries of the set of maps. The number of actual registers in the set of actual registers is greater than the number of map entries in the set of maps, and the map entries of the set of maps reference only a subset of the set of actual registers at any given time. The facility includes managing updates to multiple entries of the set of maps of the register mapping by updating multiple map entries of at least one map of the set of maps responsive to executing a single update instruction.Type: GrantFiled: March 2, 2006Date of Patent: April 15, 2008Assignee: International Business Machines CorporationInventors: Peter G. Capek, Jeffrey H. Derby, Robert K. Montoye
-
Publication number: 20080082792Abstract: A processor 2 utilising register renaming executes program instructions requiring a large number of architectural register specifiers to be renamed by dividing the renaming tasks into an initial set and a remaining set. The initial set are performed first and the results passed via a main channel 32 for further processing. The remaining set are performed in sequence with the results being passed via a background channel 34 for further processing. This technique is particularly useful for performing renaming operations for load/store multiple LDM instructions.Type: ApplicationFiled: August 21, 2007Publication date: April 3, 2008Inventors: Melanie Emanuelle Lucie Vincent, Forent Begon, Cedric Denis Robert Airaud, Norbert Bernard Eugene Lataille
-
Publication number: 20080082791Abstract: In one embodiment, the present invention includes a method for assigning a first identifier to a first instruction that is to write control information into a configuration register, assigning the first identifier to a second instruction that is to read the control information written by the first instruction, and storing the second instruction in a first structure of a processor with the first identifier. Other embodiments are described and claimed.Type: ApplicationFiled: September 29, 2006Publication date: April 3, 2008Inventors: Srinivas Chennupaty, Avinash Sodani, Brent Boswell, Mark Seconi
-
Publication number: 20080077778Abstract: Register renaming as contemplated by this invention allows processor hardware to use a larger set of registers than the architected registers visible to the compiler. This larger set of registers is called the physical register file. Thus, dynamically renaming every compiler-suggested architected register to a microarchitecture-specific physical register, allows the processor to overcome name dependencies and the hazards (pipeline slowdowns) induced by name dependencies. The invention here described differs from prior renaming techniques in that it extracts significant benefit from renaming with a fraction of the number of physical registers previously used for this process. The invention therefore also simplifies the logic involved in supporting the use of the physical registers.Type: ApplicationFiled: September 25, 2006Publication date: March 27, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaya, Jeffrey R. Summers
-
Publication number: 20080077777Abstract: Register renaming logic is disclosed that is operable to map registers from an architectural set of registers to registers within a physical set of registers, said architectural set of registers being registers specified by instructions within an instruction set and said physical set of registers being registers within a processor for processing instructions of said instruction set.Type: ApplicationFiled: September 25, 2006Publication date: March 27, 2008Applicant: ARM LimitedInventors: Norbert Bernard Eugene Lataille, Melanie Vincent
-
Publication number: 20080072018Abstract: 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: ApplicationFiled: September 20, 2006Publication date: March 20, 2008Inventors: Hung Q. Le, Dung Q. Nguyen
-
Patent number: 7340565Abstract: Multiprocessor systems and methods are disclosed. One embodiment may comprise a plurality of processor cores. A given processor core may be operative to generate a request for desired data in response to a cache miss at a local cache. A shared cache structure may provide at least one speculative data fill and a coherent data fill of the desired data to at least one of the plurality of processor cores in response to a request from the at least one processor core. A processor scoreboard arbitrates the requests for the desired data. A speculative data fill of the desired data is provided to the at least one processor core. The coherent data fill of the desired data may be provided to the at least one processor core in a determined order.Type: GrantFiled: January 13, 2004Date of Patent: March 4, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: Simon C. Steely, Jr., Gregory Edward Tierney
-
Patent number: 7340591Abstract: A number of architectural and implementation approaches are described for using extra path (Epath) storage that operate in conjunction with a compute register file to obtain increased instruction level parallelism that more flexibly addresses the requirements of high performance algorithms. A processor that supports a single load data to a register file operation can be doubled in load capability through the use of an extra path storage, an additional independently addressable data memory path, and instruction decode information that specifies two independently load data operations. By allowing the extra path storage to be accessible by arithmetic facilities, the increased data bandwidth can be fully utilized.Type: GrantFiled: October 28, 2004Date of Patent: March 4, 2008Assignee: Altera CorporationInventors: Gerald George Pechanek, Patrick R. Marchand, Larry D. Larsen
-
Publication number: 20080016325Abstract: In one embodiment, a processor comprises a core configured to execute instructions; a register file comprising a plurality of storage locations; and a window management unit. The window management unit is configured to operate the plurality of storage locations as a plurality of windows, wherein register addresses encoded into the instructions identify storage locations among a subset of the plurality of storage locations that are within a current window. Additionally, the window management unit is configured to allocate a second window in response to a predetermined event. One of the current window and the second window serves as a checkpoint of register state, and the other one of the current window and the second window is updated in response to instructions processed subsequent to the checkpoint. The checkpoint may be restored if the speculative execution results are discarded.Type: ApplicationFiled: July 12, 2006Publication date: January 17, 2008Inventors: James P. Laudon, Adam R. Talcott, Sanjay Patel, Thirumalai S. Suresh
-
Publication number: 20080016324Abstract: A method for implementing a register renaming scheme for a digital data processor using a plurality of physical register files for supporting out-of-order execution of a plurality of instructions from one or more threads, the method comprising: using a DEF table to store the instruction dependencies between the plurality of instructions using the instruction tags, the DEF table being indexed by a logical register name and including one entry per logical register; using a rename USE table indexed by the instruction tags to store logical-to-physical register mapping information shared by multiple sets of different types of non-architected copies of logical registers used by multiple threads; using a last USE table to transfer data of the multiple sets of different types of non-architected copies of logical registers into the first set of architected registered files, the last USE table being indexed by a physical register name in the second set of rename registered files; and performing the register renaming scType: ApplicationFiled: July 12, 2006Publication date: January 17, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: William E. Burky, Krishnan K. Kailas, Balaram Sinharoy
-
Publication number: 20080016326Abstract: A processor and system for latest producer tracking. In one embodiment, the processor includes an operand renamer circuit that includes a register rename map, a producer tracking circuit that includes a producer tracking map, and a results buffer allocater circuit that includes a results buffer free list. Control logic modifies in-register status values stored in the register rename map based on producer tracking status values stored in the producer tracking map. The producer tracking status values stored in the producer tracking map are modified based on buffer identification values output by the results buffer allocater circuit.Type: ApplicationFiled: July 14, 2006Publication date: January 17, 2008Applicant: MIPS Technologies, Inc.Inventors: Kjeld Svendsen, Xing Yu Jiang
-
Patent number: 7315936Abstract: A set of processors, co-processors and processor cores having a Boolean logic unit, wherein the Boolean logic unit is operable, respectively, for performing the short-circuit evaluation of Conjunctive Normal Form Boolean expressions/operations, Disjunctive Normal Form Boolean expression/operations, or both. Each processor or processor core also includes a plurality of input/output interfaces, operable for receiving a plurality of compiled Boolean expressions/operations and transmitting a plurality of compiled results, and a plurality of registers. An associated processing method including starting an operation related to a Conjunctive Normal Form Boolean expression comprising a conjunct or related to a Disjunctive Normal Form Boolean expression comprising a disjunct, evaluating the conjunct or disjunct, and selectively short-circuiting a portion of the Boolean expression.Type: GrantFiled: March 17, 2004Date of Patent: January 1, 2008Assignee: University of North Carolina at CharlotteInventor: Kenneth E. Koch, III
-
Patent number: 7313674Abstract: 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: GrantFiled: December 30, 2003Date of Patent: December 25, 2007Assignee: Fujitsu LimitedInventor: Takeo Asakawa
-
Patent number: 7313676Abstract: A register renaming technique for dynamic multithreading. One disclosed embodiment includes a register map to store up to M×N values to map M registers for N threads. A set of N values, one per thread, and a set of state bits is associated with each of the M registers. Each set of state bits indicates which of the N values per register are valid and whether ones of the N sets of values have been written by a dynamic execution thread. In response to termination of a dynamic execution thread, recovery logic may update state bits associated with ones of the M registers that were written to during dynamic execution.Type: GrantFiled: June 26, 2002Date of Patent: December 25, 2007Assignee: Intel CorporationInventors: Edward A. Brekelbaum, Jeffrey P. Rupley, II
-
Patent number: 7308563Abstract: A method and apparatus for dual-target register allocation is described, intended to enable the efficient mapping/renaming of registers associated with instructions within a pipelined microprocessor architecture.Type: GrantFiled: September 28, 2001Date of Patent: December 11, 2007Assignee: Intel CorporationInventor: Nicholas Samra
-
Patent number: 7298712Abstract: A wireless network device with data storage is provided that utilizes a wireless connection to communicate with a LAN. The wireless network device with data storage includes a control unit, a memory element and a wireless communication module. The control unit includes a base-band processor, an RF interface, an external memory interface and a host device interface, wherein the base-band processor is adapted to process all data input/output through each interfaces. The RF interface connects the wireless communication module with the control unit, the external memory interface connects the memory element with the control unit, and the host device interface makes the control unit connect with an electronic device. The wireless communication module is able to either transmit or receive wireless signals from other electronic devices. The memory element is divided into two storage areas, one used for storage of the driver program for the control unit, the other for storage of user data.Type: GrantFiled: March 18, 2004Date of Patent: November 20, 2007Assignee: Microlink Communications Inc.Inventors: An-Yu Yen, Kuang-Ju Shiao, Yu-Hsiang Lin, Yu-Hsiang Chen
-
Patent number: 7293162Abstract: A scheduling scheme and mechanism for a processor system is disclosed. The scheduling scheme provides a reservation station system that includes a control reservation station and a data reservation station. The reservation station system receives an operational entry and for each operational entry it identifies scheduling state information, operand state information, and operand information. The reservation station system stores the scheduling state information and operand information as a control reservation station entry in the control reservation station and stores the operating state information and the operand information as a data reservation station entry in the data reservation station. When control reservation station entries are identified as ready, they are scheduled and issued for execution by a functional unit.Type: GrantFiled: December 18, 2002Date of Patent: November 6, 2007Assignee: Fujitsu LimitedInventors: Michael C Shebanow, Michael G Butler
-
Patent number: 7287150Abstract: When a predetermined instruction is fetched and decoded, an instruction issuing unit develops the instruction operation into a multiflow of a previous flow and a following flow and issues the instruction by in-order. It is held into a reservation station. An instruction executing unit executes the instruction held in the reservation station by out-of-order. Further, an execution result of the instruction is committed by in-order. A multiflow guarantee processing unit guarantees an execution result of the previous flow stored in an allocation register on a register update buffer until the following flow is committed. Even if the previous flow is committed and the allocation register is released, the guaranteeing process is realized by stalling another instruction serving as a next register allocation destination in a decoding cycle until the following flow is committed.Type: GrantFiled: January 21, 2003Date of Patent: October 23, 2007Assignee: Fujitsu LimitedInventor: Toshio Yoshida
-
Patent number: 7278010Abstract: An instruction execution apparatus comprising a register storing a copy of contents of a maximum number of entries that are executable simultaneously in one cycle with the entry storing the oldest unreleased instruction at a head among all entries in an instruction storage device after execution of the instructions, a completion condition determination section 44 for determining whether the instructions stored in the entries of the register are completed in the cycle for determining completion conditions of the entries in the instruction storage device, and an entry release section 44 for releasing only the entries that are determined to be completed by the completion condition determination section among all entries in the instruction storage device, which allows the entries in the CSE to be released smoothly even though the number of entries in a commitment stack entry, or clock frequency, is increased.Type: GrantFiled: December 31, 2002Date of Patent: October 2, 2007Assignee: Fujitsu LimitedInventors: Yasunobu Akizuki, Aiichiro Inoue
-
Publication number: 20070226467Abstract: A technique for operating a computing apparatus includes allocating a working register file entry corresponding to a register in a working register file when an instruction referencing the register proceeds through a particular stage of the computing apparatus. The technique maintains the working register file entry until at least a predetermined number of subsequent instructions have similarly proceeded through the particular stage.Type: ApplicationFiled: June 22, 2006Publication date: September 27, 2007Applicant: SUN MICROSYSTEMS, INC.Inventors: Shailender Chaudhry, Quinn A. Jacobson, Marc Tremblay
-
Patent number: 7275146Abstract: 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: GrantFiled: December 30, 2003Date of Patent: September 25, 2007Assignee: Fujitsu LimitedInventor: Takeo Asakawa
-
Patent number: 7272701Abstract: A method and apparatus for a microprocessor with a divided register alias table is disclosed. In one embodiment, a first register alias table may have a full set of read and write ports, and a second register alias table may have a smaller set of read and write ports. The second register alias table may include translations for those logical register addresses that are used less frequently. When the second register alias table is called upon to translate more logical register addresses than it has read ports, in one embodiment a pipeline stall may permit additional time to utilize the limited read ports. In another embodiment, additional build rules for a trace cache may be utilized.Type: GrantFiled: October 22, 2003Date of Patent: September 18, 2007Assignee: Intel CorporationInventor: Avinash Sodani
-
Patent number: 7269716Abstract: A following CC read instruction which is decoded simultaneously with a previous CC update instruction is developed into a multiflow. The first flow is set to a no-operation. A CC renaming update is executed by a CC renaming map update processing unit by the decoding of the previous CC update instruction. The resultant instruction is stored into a CC read instruction multiflow instruction word register. At the next second flow, the CC read instruction is issued from the multiflow instruction word register and, in a state where another instruction is not simultaneously issued, a CC renaming map is referred to by a CC renaming map reference processing unit by the decoding of the CC read instruction.Type: GrantFiled: January 21, 2003Date of Patent: September 11, 2007Assignee: Fujitsu LimitedInventor: Toshio Yoshida
-
Patent number: 7257698Abstract: An instruction buffer of the present invention includes a sequence of instructions arranged in an order determined beforehand, and a buffer including entries arranged in a preselected order for storing the sequence of instructions. Any one of the instructions stored in any one of the entries designated by a low entry number is prior, in order, to another instruction stored in another entry designated by a high entry number.Type: GrantFiled: May 23, 2001Date of Patent: August 14, 2007Assignee: NEC CorporationInventor: Mitsuharu Kawaguchi
-
Patent number: 7243215Abstract: Generally, the present invention provides a system and method for processing instructions of a computer program and for indicating instruction attribute and/or status information so that the efficiency of the processing system may be increased. In architecture, the system of the present invention utilizes a pipeline, a scoreboard, and hazard detection circuitry. The pipeline processes and executes instructions of a computer program. Many of the instructions include register identifiers that identify registers where data should be written when the instructions are executed. When the data produced by execution of one of the instructions has yet to be written to the register identified by the one instruction's register identifier and is unavailable for use in executing other instructions of the program, the one instruction's register identifier is transmitted to the scoreboard.Type: GrantFiled: August 27, 2003Date of Patent: July 10, 2007Assignee: Hewlett-Packard Development Company, L.P.Inventors: Ronny Lee Arnold, Donald Charles Soltis, Jr.
-
Patent number: 7237096Abstract: If a consumer instruction specifies a 64 bit source register comprised of results provided by two 32 bit producer instructions, the number of dependencies that must be tracked per source register can be decreased by transforming one or more of the 32 bit producer instructions so that rather than simply storing its result in a 32 bit destination register, the transformed instruction stores its result into a 64 bit logical register along with another 32 bit value held in another 32 bit register.Type: GrantFiled: April 5, 2004Date of Patent: June 26, 2007Assignee: Sun Microsystems, Inc.Inventors: Julian A. Prabhu, Atul Kalambur, Sudarshan Kadambi, Daniel L. Liebholz, Julie M. Staraitis
-
Patent number: 7237095Abstract: A method and mechanism for managing shifts in a shifting queue. A reservation station in a processing device includes a queue of shifting entries. On a given cycle, zero, one, or two instructions may be dispatched and stored in the queue. Depending upon the dispatch conditions and the state of the queue, existing entries within the queue may be shifted to make room for the newly dispatched instruction(s) at the top of the queue. Shift vectors are generated which identify entries of the queue which are to be shifted and by how much. A queue management approach is adopted in which three rules are generally followed: (i) Only shift entries that must shift due to dispatch pressure from above; (ii) If an entry must be shifted elsewhere, shift it as far down the array as the particular implementation allows; and (iii) Don't allow the previous conditions to force additional entries to shift that are not required to shift by dispatch pressure.Type: GrantFiled: August 4, 2005Date of Patent: June 26, 2007Assignee: Advanced Micro Devices, Inc.Inventor: Daniel B. Hopper
-
Patent number: 7231510Abstract: A mechanism for, and method of, processing multiply-accumulate instructions with out-of-order completion in a pipeline, for use in a processor having an at least four-wide instruction issue architecture, and a digital signal processor (DSP) incorporating the mechanism or the method. In one embodiment, the mechanism including: (1) a multiply-accumulate unit (MAC) having an initial multiply stage and a subsequent accumulate stage and (2) out-of-order completion logic, associated with the MAC, that causes interim results produced by the multiply stage to be stored when the accumulate stage is unavailable and allows younger instructions to complete before the multiply-accumulate instructions.Type: GrantFiled: November 13, 2001Date of Patent: June 12, 2007Assignee: VeriSilicon Holdings (Cayman Islands) Co. Ltd.Inventors: Hung T. Nguyen, Shannon A. Wichman
-
Patent number: 7228402Abstract: A method to handle data dependencies in a pipelined computer system is disclosed. The method includes allocating a plurality of registers, enabling execution of computer instructions concurrently by using the plurality of registers, and tracking and reducing data dependencies in the computer instructions by correlating a busy condition of a computer instruction to each register.Type: GrantFiled: January 2, 2002Date of Patent: June 5, 2007Assignee: Intel CorporationInventors: Bohuslav Rychlik, Ryan N. Rakvic, Edward Brekelbaum, Bryan Black
-
Patent number: 7228403Abstract: A method for operating a processor having an architecture of a larger bitlength with a program comprising instructions compiled to produce instruction results of at least one smaller bitlength having the steps of detecting when in program order a first smaller bitlength instruction is to be dispatched which does not have a target register address as one of its sources, and adding a so_extract_instruction into an instruction stream before the smaller bitlength instruction.Type: GrantFiled: December 18, 2001Date of Patent: June 5, 2007Assignee: International Business Machines CorporationInventors: Petra Leber, Jens Leenstra, Wolfram Sauer, Dieter Wendel
-
Patent number: 7206923Abstract: A method and apparatus is provided to manage data in computer registers in a program, making more computer registers available to one or more programmers utilizing a name level instruction. The method and apparatus disclosed herein presents a way of reducing the overhead of register management, by introducing a concept of a name level for each of the named architected registers in a processor. The method provides a programmer with a larger register name-space while not increasing the size of the instruction word in the processor instruction-set architecture. It also provides for the facilitation of architectural features which overload the architected register namespace and ease the overhead of register management. This provides for the addition of more computer registers without changing the instruction format of the computer.Type: GrantFiled: December 12, 2003Date of Patent: April 17, 2007Assignee: International Business Machines CorporationInventors: Alexandre E. Eichenberger, Erik R. Altman, Sumedh W. Sathaye, John-David Wellman
-
Patent number: 7191315Abstract: The present invention provides methods and memory structures for efficient tracking and recycling of physical register assignments. The disclosed methods and memory structures each provide an approach to reduce the size of the memory structures needed to track the usage of the physical registers and the recycling of these registers.Type: GrantFiled: June 4, 2001Date of Patent: March 13, 2007Assignee: Sun Microsystems, Inc.Inventors: Spencer M. Gold, Julie M. Staraitis, Masooma Bhiawala
-
Patent number: 7185338Abstract: A computer system includes a processor capable of executing a plurality of N threads of instructions, N being an integer greater than one, with a set of global registers visible to each of the plurality of threads and a plurality of busy bit memory elements used to signal whether or not a register is in use by a thread. The processor includes logic to stall a read from global register if the thread reading the global register is a speculative thread and the busy bits for prior threads are set. The processor might also include a speculative load address memory, into which speculative loads from speculative threads are entered and logic to compare addresses for stores from nonspeculative threads with addressees in the speculative load address memory and invalidate speculative threads corresponding to the speculative load addresses stored in the speculative load address memory.Type: GrantFiled: October 15, 2002Date of Patent: February 27, 2007Assignee: Sun Microsystems, Inc.Inventors: Joseph Chamdani, Yuan Chou
-
Patent number: 7181598Abstract: In a processing core, a newly received load instruction may be dependent upon a previously received store instruction. The core may include a predictor to predict such dependencies and provide an identification of a colliding store instruction. The load instruction may be stored in a scheduler with a dependency marker. Thereafter, the load instruction may be prevented from executing until after execution of the colliding store. Upon execution of the load, the accuracy of the prediction is confirmed. Upon retirement of the load instruction, new prediction results may be provided to the predictor.Type: GrantFiled: May 17, 2002Date of Patent: February 20, 2007Assignee: Intel CorporationInventors: Stephan J. Jourdan, Darrell D. Boggs, John Alan Miller, Ronak Singhal
-
Patent number: 7178009Abstract: A digital signal processor may include a plurality of processing elements that are coupled together to accomplish a specialized function. Each processing element may utilize the same shared storage in a form of a plurality of general purpose registers. Each of these registers may be accessed by any of the processing elements. Each register may include a data storage section and a plurality of storage areas for data valid bits that indicate whether the data is valid or not for each of the plurality of processing elements.Type: GrantFiled: April 4, 2001Date of Patent: February 13, 2007Assignee: Intel CorporationInventor: David K. Vavro
-
Patent number: 7171545Abstract: A mechanism, which supports predictive register cache allocation and entry, uses a counter look-up table to determine the potential significances of physical register references.Type: GrantFiled: December 30, 2003Date of Patent: January 30, 2007Assignee: Intel CorporationInventors: John P. Devale, Bryan P. Black, Edward A. Brekelbaum, Jeffrey P. Rupley, II
-
Patent number: 7162614Abstract: Two or more pointers, each of which indicates where values of a respective group of bits of a source of a particular micro-operation will be found when the particular micro-operation is executed, may not all point to the same register. Renaming of the source of the particular micro-operation may be enabled by generating one or more new micro-operations that merge the values into a single register. The one or more new micro-operations are inserted into a sequence of micro-operations that includes the particular micro-operation. Once the source of the particular micro-operation has been renamed, subsequent micro-operations in the sequence may be renamed, if appropriate, and executed, without having to wait for the values to be calculated.Type: GrantFiled: June 30, 2003Date of Patent: January 9, 2007Assignee: Intel CorporationInventors: Zeev Sperber, Robert Valentine, Yuval Bustan, Rafi Marom