Patents by Inventor Christopher Abernathy

Christopher Abernathy has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070245129
    Abstract: An issue unit for placing a processor into a gradual slow down mode of operation is provided. The gradual slow down mode of operation comprises a plurality of stages of slow down operation of an issue unit in a processor in which the issuance of instructions is slowed in accordance with a staging scheme. The gradual slow down of the processor allows the processor to break out of livelock conditions. Moreover, since the slow down is gradual, the processor may flexibly avoid various degrees of livelock conditions. The mechanisms of the illustrative embodiments impact the overall processor performance based on the severity of the livelock condition by taking a small performance impact on less severe livelock conditions and only increasing the processor performance impact when the livelock condition is more severe.
    Type: Application
    Filed: April 14, 2006
    Publication date: October 18, 2007
    Inventors: Christopher Abernathy, Kurt Feiste, Ronald Hall, Albert Van Norstrand
  • Publication number: 20070245350
    Abstract: A system and method for placing a processor into a gradual slow down mode of operation are provided. The gradual slow down mode of operation comprises a plurality of stages of slow down operation of an issue unit in a processor in which the issuance of instructions is slowed in accordance with a staging scheme. The gradual slow down of the processor allows the processor to break out of livelock conditions. Moreover, since the slow down is gradual, the processor may flexibly avoid various degrees of livelock conditions. The mechanisms of the illustrative embodiments impact the overall processor performance based on the severity of the livelock condition by taking a small performance impact on less severe livelock conditions and only increasing the processor performance impact when the livelock condition is more severe.
    Type: Application
    Filed: April 14, 2006
    Publication date: October 18, 2007
    Inventors: Christopher Abernathy, Kurt Feiste, Ronald Hall, Albert Van Norstrand
  • Publication number: 20070234011
    Abstract: 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: Application
    Filed: March 28, 2006
    Publication date: October 4, 2007
    Inventors: Christopher Abernathy, William Burky, James Norstrand, Albert Williams
  • Publication number: 20070198814
    Abstract: A method and apparatus are provided for detecting and handling an instruction flush in a microprocessor system. A flush mechanism is provided that is distributed across all of the execution units in a data processing system. The flush mechanism does not require a central collection point to re-distribute the flush signals to the execution units.
    Type: Application
    Filed: August 11, 2005
    Publication date: August 23, 2007
    Inventors: Christopher Abernathy, Kurt Feiste, David Ray, David Shippy, Albert Van Norstrand
  • Publication number: 20070198812
    Abstract: An information handling system includes a processor that issues instructions out of program order. The processor includes an issue queue that may advance instructions toward issue even though some instructions in the queue are not ready-to-issue. The issue queue includes a main array of storage cells and an auxiliary array of storage cells coupled thereto. When a particular row of the main array includes an instruction that is not ready-to-issue, a stall condition occurs for that instruction. However, to prevent the entire issue queue and processor from stalling, a ready-to-issue instruction in another row of the main array may bypass the row including the stalled or not-ready-to-issue instruction. To effect this bypass, the issue queue moves the ready-to-issue instruction to an issue row of the auxiliary array for issuance to an appropriate execution unit. Out-of-order issuance of instructions to the execution units thus continues despite the stalled instruction.
    Type: Application
    Filed: September 27, 2005
    Publication date: August 23, 2007
    Applicant: IBM Corporation
    Inventors: Christopher Abernathy, Jonathan DeMent, Kurt Feiste, David Shippy
  • Publication number: 20070180221
    Abstract: An apparatus and method for handling data cache misses out-of-order for asynchronous pipelines are provided. The apparatus and method associates load tag (LTAG) identifiers with the load instructions and uses them to track the load instruction across multiple pipelines as an index into a load table data structure of a load target buffer. The load table is used to manage cache “hits” and “misses” and to aid in the recycling of data from the L2 cache. With cache misses, the LTAG indexed load table permits load data to recycle from the L2 cache in any order. When the load instruction issues and sees its corresponding entry in the load table marked as a “miss,” the effects of issuance of the load instruction are canceled and the load instruction is stored in the load table for future reissuing to the instruction pipeline when the required data is recycled.
    Type: Application
    Filed: February 2, 2006
    Publication date: August 2, 2007
    Inventors: Christopher Abernathy, Jeffrey Bradford, Ronald Hall, Timothy Heil, David Shippy
  • Publication number: 20070118726
    Abstract: A system and method for dynamic switching between performance schemes is presented. The software program uses an instruction to indicate whether a pacing performance scheme or a flushing performance scheme is to be used. The selection by the software program is stored in a hardware register that the processor uses to determine whether the pacing or flushing performance scheme is used. After setting the performance scheme, subsequent instructions of the software program will be executed using the selected performance scheme. The pacing performance scheme preemptively stalls an instruction that might overload the queue that stores instructions for the Load/Store Unit (LSU). The flushing performance scheme flushes instructions when the LSU storage queue is overloaded and holds the thread that caused the overflow dormant until the queue is no longer full.
    Type: Application
    Filed: November 22, 2005
    Publication date: May 24, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, David Shippy, Albert Nordstrand
  • Publication number: 20070088989
    Abstract: A method of processor error resolution includes receiving a resource error alert at a processor, determining an application error resolution preference at the processor, and executing an algorithm corresponding to the error resolution preference at the processor. Another embodiment provides a method for providing an error resolution preference from an application to a processor including receiving a resource error notification at an application, and sending one of at least two application error resolution preferences to a processor based on the resource error notification. Another embodiment is a system for providing an error resolution preference from an application to a processor that includes means for sending an application error resolution preference to a processor based on a resource error notification, means for determining the application error resolution preference at the processor, and means for executing the error resolution preference at the processor.
    Type: Application
    Filed: October 18, 2005
    Publication date: April 19, 2007
    Inventors: Christopher Abernathy, A. Van Norstrand, David Shippy, Hiroo Hayashi, Masaki Osawa
  • Publication number: 20070083734
    Abstract: A method, an apparatus and a computer program product are provided for the managing of SIMD instructions and GP instructions within an instruction pipeline of a processor. The SIMD instructions and the GP instructions share the same “front-end” pipelines within an Instruction Unit. Within the shared pipelines the Instruction Unit checks the GP instructions for dependencies and resolves these dependencies. At the dispatch point within the pipelines the Instruction Unit sends valid GP instructions to the GP Unit and SIMD instructions to an SIMD issue queue. In the SIMD issue queue the Instruction Unit checks the SIMD instructions for dependencies and resolves these dependencies. Then the SIMD issue queue dispatches the SIMD instructions to the SIMD Unit. Accordingly, dependencies involving SIMD instructions do not affect GP instructions because the SIMD dependencies are checked and resolved independently.
    Type: Application
    Filed: August 16, 2005
    Publication date: April 12, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, Ronald Hall, David Shippy
  • Publication number: 20070074059
    Abstract: A system and method for dynamic power management in a processor design is presented. A pipeline stage's stall detection logic detects a stall condition, and sends a signal to idle detection logic to gate off the pipeline's register clocks. The stall detection logic also monitors a downstream pipeline stage's stall condition, and instructs the idle detection logic to gate off the pipeline stage's registers when the downstream pipeline stage is in a stall condition as well. In addition, when the pipeline stage's stall detection logic detects a stall condition, either from the downstream pipeline stage or from its own pipeline units, the pipeline stage's stall detection logic informs an upstream pipeline stage to gate off its clocks and thus, conserve more power.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Christopher Abernathy, Jonathan DeMent, Ronald Hall, Robert Philhower, David Shippy
  • Publication number: 20070074005
    Abstract: An information handling system includes a processor that issues instructions out of program order. The processor includes an issue queue that may advance instructions toward issue even though some instructions in the queue are not ready-to-issue. The issue queue includes a matrix of storage cells configured in rows and columns including a first row that couples to execution units. Instructions advance toward issuance from row to row as unoccupied storage cells appear. Unoccupied cells appear when instructions advance toward the first row and upon issuance. When a particular row includes an instruction that is not ready-to-issue a stall condition occurs for that instruction. However, to prevent the entire issue queue and processor from stalling, a ready-to-issue instruction in another row may bypass the row including the stalled or not-ready-to-issue instruction. Out-of-order issuance of instructions to the execution units thus continues.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Applicant: IBM Corporation
    Inventors: Christopher Abernathy, Jonathan DeMent, Kurt Feiste, David Shippy
  • Publication number: 20070050652
    Abstract: Power is conserved by dynamically applying clocks to execution units in a pipeline of a microprocessor. A clock to an execution unit is applied only when an instruction to the execution unit is valid. At other times when the execution unit needs not to be operational, the clock is not applied to the execution unit. In a preferred embodiment of the invention, a dynamic clock-control unit is used to provide a control signal to a local clock buffer providing a local clock to an execution unit.
    Type: Application
    Filed: October 25, 2006
    Publication date: March 1, 2007
    Inventors: Christopher Abernathy, Gilles Gervais, Rolf Hilgendorf
  • Publication number: 20070022278
    Abstract: A method, system and processor for improving the performance of an in-order processor. A processor may include an execution unit with an execution pipeline that includes a backup pipeline and a regular pipeline. The backup pipeline may store a copy of the instructions issued to the regular pipeline. The execution pipeline may include logic for allowing instructions to flow from the backup pipeline to the regular pipeline following the flushing of the instructions younger than the exception detected in the regular pipeline. By maintaining a backup copy of the instructions issued to the regular pipeline, instructions may not need to be flushed from separate execution pipelines and re-fetched. As a result, one may complete the results of the execution units to the architected state out of order thereby allowing the completion point to vary among the different execution pipelines.
    Type: Application
    Filed: July 19, 2005
    Publication date: January 25, 2007
    Inventors: Christopher Abernathy, Jonathan Dement, Ronald Hall, Albert Van Norstrand
  • Publication number: 20060288192
    Abstract: The present invention provides a method, a computer program product, and an apparatus for blocking a thread at dispatch in a multi-thread processor for fine-grained control of thread performance. Multiple threads share a pipeline within a processor. Therefore, a long latency condition for an instruction on one thread can stall all of the threads that share the pipeline. A dispatch-block signaling instruction blocks the thread containing the long latency condition at dispatch. The length of the block matches the length of the latency, so the pipeline can dispatch instructions from the blocked thread after the long latency condition is resolved. In one embodiment the dispatch-block signaling instruction is a modified OR instruction and in another embodiment it is a Nop instruction. By blocking one thread at dispatch, the processor can dispatch instructions from the other threads during the block.
    Type: Application
    Filed: June 16, 2005
    Publication date: December 21, 2006
    Inventors: Christopher Abernathy, Jonathan Dement, Albert Van Norstrand, David Shippy