Patents by Inventor David Arnold Luick

David Arnold Luick 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: 20090006819
    Abstract: A method and apparatus for forwarding data in a processor. The method includes providing at least one cascaded delayed execution pipeline unit having a first pipeline and a second pipeline, wherein the second pipeline executes instructions in a common issue group in a delayed manner relative to the first pipeline. The method further includes determining if a first instruction being executed in the first pipeline modifies data in a data register which is accessed by a second instruction being executed in the second pipeline. If the first instruction being executed in the first pipeline modifies data in the data register which is accessed by the second instruction being executed in the second pipeline, the modified data is forwarded from the first pipeline to the second pipeline.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006818
    Abstract: A method and apparatus for executing instructions. The method includes receiving a first load instruction and a second load instruction. The method also includes issuing the first load instruction and the second load instruction to a cascaded delayed execution pipeline unit having at least a first execution pipeline and a second execution pipeline, wherein the second execution pipeline executes an instruction in a common issue group in a delayed manner relative to another instruction in the common issue group executed in the first execution pipeline. The method also includes accessing a cache by executing the first load instruction and the second load instruction. A delay between execution of the first load instruction and the second load instruction allows the cache to complete the access with the first load instruction before beginning the access with the second load instruction.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006823
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for forwarding data in a processor is provided. The design structure includes a processor. The processor includes at least one cascaded delayed execution pipeline unit having a first and second pipeline, wherein the second pipeline is configured to execute instructions in a common issue group in a delayed manner relative to the first pipeline, and circuitry. The circuitry is configured to determine if a first instruction being executed in the first pipeline modifies data in a data register which is accessed by a second instruction being executed in the second pipeline, and if the first instruction being executed in the first pipeline modifies data in the data register which is accessed by the second instruction being executed in the second pipeline, forward the modified data from the first pipeline to the second pipeline.
    Type: Application
    Filed: March 21, 2008
    Publication date: January 1, 2009
    Inventor: DAVID Arnold LUICK
  • Publication number: 20090006905
    Abstract: Embodiments of the invention relate to methods and systems for error detection and recovery from errors during pipelined execution of data. A cascaded, delayed execution pipeline may be implemented to maintain a precise machine state. In some embodiments, a delay of one or more clock cycles may be inserted prior to a write back stage of each pipeline to facilitate error detection and recovery. Because a precise machine state is maintained error detection and recovery mechanisms may be built directly into register files of the system. If an error is detected execution of the instruction associated with the error and all subsequent instructions may be restarted.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006803
    Abstract: A method and apparatus for accessing cache memory in a processor. The method includes accessing requested data in one or more level one caches of the processor using requested effective addresses of the requested data. If the one or more level one caches of the processor do not contain requested data corresponding to the requested effective addresses, the requested effective addresses are translated to real addresses. A lookaside buffer includes a corresponding entry for each cache line in each of the one or more level one caches of the processor. The corresponding entry indicates a translation from the effective addresses to the real addresses for the cache line. The translated real addresses are used to access a level two cache.
    Type: Application
    Filed: June 28, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006812
    Abstract: A method and apparatus for accessing a processor cache. The method includes executing an access instruction in a processor core of the processor. The access instruction provides an untranslated effective address of data to be accessed by the access instruction. The method also includes determining whether a level one cache for the processor core includes the data corresponding to the effective address of the access instruction. The effective address of the access instruction is used without address translation to determine whether the level one cache for the processor core includes the data corresponding to the effective address. If the level one cache includes the data corresponding to the effective address, the data for the access instruction is provided from the level one cache.
    Type: Application
    Filed: June 28, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006768
    Abstract: A method and apparatus for accessing a cache. The method includes receiving a request to access the cache. The request includes an address of requested data to be accessed. The method also includes using a first portion of the address to perform an access to a first directory for the cache and using a second portion of the address to perform an access to a second directory for the cache. Results from the access to the first directory for the cache and results from the access to the second directory for the cache are used to determine whether the cache includes the requested data to be accessed.
    Type: Application
    Filed: June 28, 2007
    Publication date: January 1, 2009
    Inventor: David Arnold Luick
  • Publication number: 20090006753
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for accessing a processor cache is provided. The design structure comprises a processor having a processor core, a level one cache, and circuitry. The circuitry is configured to execute an access instruction in the processor's core, wherein the access instruction provides an untranslated effective address of data to be accessed by the access instruction, determine whether the processor core's level one cache includes the data corresponding to the effective address of the access instruction, wherein the effective address of the access instruction is used without address translation to determine whether the processor core's level one cache includes the data corresponding to the effective address, and provide the data for the access instruction from the level one cache if the level one cache includes the data corresponding to the effective address.
    Type: Application
    Filed: March 13, 2008
    Publication date: January 1, 2009
    Inventor: DAVID ARNOLD LUICK
  • Publication number: 20080313438
    Abstract: Improved techniques for executing instructions in a pipelined manner that may reduce stalls that occur when executing dependent instructions are provided. Stalls may be reduced by utilizing a cascaded arrangement of pipelines with execution units that are delayed with respect to each other. This cascaded delayed arrangement allows dependent instructions to be issued within a common issue group by scheduling them for execution in different pipelines to execute at different times.
    Type: Application
    Filed: June 14, 2007
    Publication date: December 18, 2008
    Inventor: David Arnold Luick
  • Publication number: 20080162883
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for improved techniques for executing instructions in a pipelined manner is provided. Such techniques may reduce stalls that occur when executing dependent instructions. Stalls may be reduced by utilizing a cascaded arrangement of pipelines with execution units that are delayed with respect to each other. This cascaded delayed arrangement allows dependent instructions to be issued within a common issue group by scheduling them for execution in different pipelines to execute at different times.
    Type: Application
    Filed: March 13, 2008
    Publication date: July 3, 2008
    Inventor: David Arnold Luick
  • Patent number: 7343480
    Abstract: A register file bit includes a primary latch and a secondary latch with a feedback path and a context switch mechanism that allows a fast context switch when execution changes from one thread to the next. A bit value for a second thread of execution is stored in the primary latch, then transferred to the secondary latch. The bit value for a first thread of execution is then written to the primary latch. When a context switch is needed (when the first thread stalls and the second thread needs to begin execution), the register file bit can perform a context switch from the first thread to the second thread in a single clock cycle. The register file bit contains a backup latch inside the register file itself so that minimal extra wire paths are needed to or from the existing register file.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: March 11, 2008
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7272751
    Abstract: A method, apparatus, system, and signal-bearing medium that in an embodiment detect an event that will cause idle cycles in the processor and issue diagnostic instructions to the processor during the cycles that would be idle. In another embodiment, the processor is periodically interrupted and diagnostic instructions are issued to the processor, where the diagnostic instructions are selected based on a history of activity at the processor and a log of previous errors at the processor. In this way, errors may be detected at the processor without undue cost and impact on performance.
    Type: Grant
    Filed: January 15, 2004
    Date of Patent: September 18, 2007
    Assignee: International Business Machines Corporation
    Inventors: Thomas Joseph Beacom, David Arnold Luick
  • Patent number: 7237094
    Abstract: A more efficient method of handling instructions in a computer processor, by associating resource fields with respective program instructions wherein the resource fields indicate which of the processor hardware resources are required to carry out the program instructions, calculating resource requirements for merging two or more program instructions based on their resource fields, and determining resource availability for simultaneously executing the merged program instructions based on the calculated resource requirements. Resource vectors indicative of the required resource may be encoded into the resource fields, and the resource fields decoded at a later stage to derive the resource vectors. The resource fields can be stored in the instruction cache associated with the respective program instructions. The processor may operate in a simultaneous multithreading mode with different program instructions being part of different hardware threads.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: Brian William Curran, Brian R. Konigsburg, Hung Qui Le, David Arnold Luick, Dung Quoc Nguyen
  • Patent number: 7234017
    Abstract: A high speed computer processor system has a high speed interface for a graphics processor. A preferred embodiment combines a PowerPC microprocessor called the Giga-Processor Ultralite (GPUL) 110 from International Business Machines Corporation (IBM) with a high speed interface on a multi-chip module.
    Type: Grant
    Filed: February 24, 2005
    Date of Patent: June 19, 2007
    Assignee: International Business Machines Corporation
    Inventors: Giora Biran, Matthew Adam Cushing, Robert Allen Drehmel, Allen James Gavin, Mark E. Kautzman, Jamie Randall Kuesel, Ming-I Mark Lin, David Arnold Luick, James Anthony Marcella, Mark Owen Maxson, Eric Oliver Mejdrich, Adam James Muff, Clarence Rosser Ogilvie, Charles S. Woodruff
  • Patent number: 7219185
    Abstract: A processor having the capability to dispatch multiple parallel operations, including multiple load operations, accesses a cache which is divided into banks. Each bank supports a limited number of simultaneous read and write access operations. A bank prediction field is associated with each memory access operation. Memory access operations are selected for dispatch so that they are predicted to be non-conflicting. Preferably, the processor automatically maintains a bank predict value based on previous bank accesses, and a confirmation value indicating a degree of confidence in the bank prediction. The confirmation value is preferably an up-or-down counter which is incremented with each correct prediction and decremented with each incorrect prediction.
    Type: Grant
    Filed: April 22, 2004
    Date of Patent: May 15, 2007
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7200773
    Abstract: A method, apparatus, system, and signal-bearing medium that in an embodiment detect an error, disable selected functions of a computer system via inhibit switches in response to the error, issue a set of diagnostic instructions to a processor, and incrementally enable the selected functions until the error is reproduced. In this way, the source of the error may be determined.
    Type: Grant
    Filed: January 15, 2004
    Date of Patent: April 3, 2007
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7191432
    Abstract: A high-frequency compound instruction mechanism and method allows performing a common compare immediate function before an add function has completed, thereby reducing the number of cycles to perform the add-compare function. By increasing the speed of performing the add-compare function, a branch mispredict signal may be provided to an instruction pipeline before data registers are affected by the pipelined instructions. The compound instruction mechanism of the preferred embodiments may be implemented within space that is primarily unused within arithmetic logic units, resulting in an implementation that only marginally increases space requirements on an integrated circuit.
    Type: Grant
    Filed: June 5, 2003
    Date of Patent: March 13, 2007
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7124318
    Abstract: A multiple parallel pipeline digital processing apparatus has the capability to substitute a second pipeline for a first in the event that a failure is detected in the first pipeline. Preferably, a redundant pipeline is shared by multiple primary pipelines. Preferably, the pipelines are located physically adjacent one another in an array. A pipeline failure causes data to be shifted one position within the array of pipelines, to by-pass the failing pipeline, so that each pipeline has only two sources of data, a primary and an alternate. Preferably, selection logic controlling the selection between a primary and alternate source of pipeline data is integrated with other pipeline operand selection logic.
    Type: Grant
    Filed: September 18, 2003
    Date of Patent: October 17, 2006
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7117389
    Abstract: Multiple processor cores are implemented on a single integrated circuit chip, each having its own respective shareable functional units, which are preferably floating point units. A failure of a shareable unit in one processor causes that processor to share the corresponding unit in another processor on the same chip. Preferably, a functional unit is shared on a cycle interleaved basis.
    Type: Grant
    Filed: September 18, 2003
    Date of Patent: October 3, 2006
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 7099999
    Abstract: A computer system includes a main memory, at least one processor, and at least one level of cache. The system maintains reference history data with respect to each addressable page in memory, preferably in a page table. The reference history data is preferably used to determine which cacheable sub-units of the page should be pre-fetched to the cache. The reference history data is preferably an up or down counter which is incremented if the cacheable sub-unit is loaded into cache and is referenced by the processor, and decremented if the sub-unit is loaded into cache and is not referenced before being cast out. The reference counter thus expresses an approximate likelihood, based on recent history, that the sub-unit will be referenced in the near future.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: August 29, 2006
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick