Patents by Inventor David Shippy

David Shippy 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: 20080148021
    Abstract: 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: Application
    Filed: February 25, 2008
    Publication date: June 19, 2008
    Inventors: Jonathan James DeMent, Kurt Alan Feiste, Robert Alan Philhower, David Shippy
  • Publication number: 20080141014
    Abstract: 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: Application
    Filed: February 4, 2008
    Publication date: June 12, 2008
    Inventors: Brian David Barrick, Kimberly Marie Fensler, Dwain Alan Hicks, David Scott Ray, David Shippy, Takeki Osanai
  • Patent number: 7370176
    Abstract: 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: Grant
    Filed: August 16, 2005
    Date of Patent: May 6, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jonathan James DeMent, Kurt Alan Feiste, Robert Alan Philhower, David Shippy
  • Patent number: 7363468
    Abstract: 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: Grant
    Filed: November 18, 2004
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Brian David Barrick, Kimberly Marie Fensler, Dwain Alan Hicks, David Scott Ray, David Shippy, Takeki Osanai
  • Patent number: 7350056
    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: Grant
    Filed: September 27, 2005
    Date of Patent: March 25, 2008
    Assignee: International Business Machines Corporation
    Inventors: Christopher Michael Abernathy, Jonathan James DeMent, Kurt Alan Feiste, David Shippy
  • Patent number: 7328330
    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: Grant
    Filed: August 16, 2005
    Date of Patent: February 5, 2008
    Assignee: International Business Machines Corporation
    Inventors: Christopher Michael Abernathy, Jonathan James DeMent, Ronald Hall, David Shippy
  • Patent number: 7313673
    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: Grant
    Filed: June 16, 2005
    Date of Patent: December 25, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher Michael Abernathy, Jonathan James Dement, Albert James Van Norstrand, Jr., David Shippy
  • 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: 20070088935
    Abstract: A pipeline processor has circuits to detect the presence of a register access instruction in an issue stage of the pipeline. A load-miss occurring at a later stage may cause the register access instruction to be marked with an associated bit. The register access instruction progresses down the pipeline and when the flush stage is reached, the processor checks the associated bit and flushes the register access instruction.
    Type: Application
    Filed: October 18, 2005
    Publication date: April 19, 2007
    Inventors: Kurt Feiste, David Ray, David Shippy, Albert Van Norstrand
  • 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: 20070083742
    Abstract: A system and method for tracking the order of issued instructions using a counter is presented. In one embodiment, a saturating, decrementing counter is used. The counter is initialized to a value that corresponds to the processor's commit point. Instructions are issued from a first issue queue to one or more execution units and one or more second issue queues. After being issued by the first issue queue, the counter associated with each instruction is decremented during each instruction cycle until the instruction is executed by one of the execution units. Once the counter reaches zero it will be completed by the execution unit. If a flush condition occurs, instructions with counters equal to zero are maintained (i.e., not flushed or invalidated), while other instructions in the pipeline are invalidated based upon their counter values.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Inventors: Christopher Michael Abernathy, Jonathan James DeMent, Ronald Hall, Robert Philhower, 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: 20070043931
    Abstract: 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: Application
    Filed: August 16, 2005
    Publication date: February 22, 2007
    Inventors: Jonathan DeMent, Kurt Feiste, Robert Philhower, David Shippy
  • 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
  • Publication number: 20060253661
    Abstract: The present invention utilizes the good qualities of a single address concentrator (AC), without any extra chips or wires, and distributes the AC function among the various chips, making use of the fact that each chip in the system has a copy of the AC function therein. Using the distributed address concentrator function, each chip will handle approximately one-fourth of the command traffic and the average latency of servicing the commands will be approximately the same across each chip in the system.
    Type: Application
    Filed: May 3, 2005
    Publication date: November 9, 2006
    Applicant: International Business Machines Corporation
    Inventors: Brian Bass, Thomas Jeremiah, Charles Johns, David Shippy, Thuong Truong