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: 20030188124
    Abstract: An address translation logic and method for generating an instruction's operand address. The address generation logic includes an address generation circuit having adders that perform partial sum additions of the instruction operand's base register value with a displacement value in the instruction. The address generation logic also includes a carry prediction history block associated with the instruction that provides predicted carry-in values to the adders during the partial sum addition operation. In a related embodiment, the carry prediction history block that, in an advantageous embodiment, is appended to the instruction includes a predicted row access select (RAS) carry-in value, a predicted column access select (CAS) carry-in value and a confirmation flag that indicates whether the previous carry-in predictions for the previous predicted RAS and CAS carry-in values for the instruction were correct.
    Type: Application
    Filed: March 28, 2002
    Publication date: October 2, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030177338
    Abstract: Methods, articles of manufacture and systems for encoding an instruction are provided, whereby available bits within the instruction can be indicated for use. The available bits may include zero bits and constant bits. In one embodiment available bits include any bits within an expanded word that are not necessary for the execution of an instruction contained in the word. In another embodiment, bits are made available by reformatting/re-encoding a word, whereby the number of bits of some fields is abbreviated to a lesser number of bits.
    Type: Application
    Filed: March 13, 2002
    Publication date: September 18, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030177326
    Abstract: In a computer processor, a low-order portion of a virtual address for a pipelined operation is compared directly with the corresponding low-order portions of addresses of operations below it in the pipeline to detect an address conflict, without first translating the address. Preferably, if a match is found, it is assumed that an address conflict exists, and the pipeline is stalled one or more cycles to maintain data integrity in the event of an actual address conflict. Preferably, the CPU has caches which are addressed using real addresses, and a translation lookaside buffer (TLB) for determining the high-order portion of a real address. The comparison of low-order address portions provides conflict detection before the TLB can translate a real address of an instruction.
    Type: Application
    Filed: March 14, 2002
    Publication date: September 18, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030177335
    Abstract: In a computer processor, multiple partially translated real addresses for a pipelined operation are compared with the real addresses of one or more other operations in the pipeline to detect an address conflict, without waiting for the address translation mechanism to fully translate the real address. Preferably, if a match is found, it is assumed that an address conflict exists, and the pipeline is stalled one or more cycles to maintain data integrity in the event of an actual address conflict. Preferably, the CPU has caches which are addressed using real addresses, and an N-way translation lookaside buffer (TLB) for determining the high-order portion of a real address. Each of the N real address portions in the TLB is compared with other operations in the pipeline, before determining which is the correct real address portion.
    Type: Application
    Filed: March 14, 2002
    Publication date: September 18, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030149932
    Abstract: Disclosed is a parity checking scheme for data forwarding of results from a first function unit to a second function unit. In one embodiment, the results of the first function unit are forwarded along a result forwarding bus to a destination parity generator at the second function unit. The destination parity generator generates destination parity bits for the forwarded results and sends the destination parity bits to a parity checking circuit at the second function unit. In addition, the results of the first function unit are sent to a source parity generator at the first function unit. The source parity generator generates source parity bits for the forwarded results and sends the source parity bits to the parity checking circuit at the second function unit via a parity forwarding bus. The parity checking circuit compares the source parity bits and the destination parity bits, and generates a parity error signal indicating whether result forwarding is with any error.
    Type: Application
    Filed: February 1, 2002
    Publication date: August 7, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030140076
    Abstract: Embodiments are provided in which two or more sub-ALUs are interleaved to form a single ALU so as to shorten and reduce the number of the connection lines interconnecting the ALU to other devices.
    Type: Application
    Filed: January 22, 2002
    Publication date: July 24, 2003
    Applicant: International Business Machines Corporation
    Inventors: David Arnold Luick, Michael James Rohn
  • Publication number: 20030140199
    Abstract: A method and apparatus for purging a cache line from an issuing processor and sending the cache line to the cache of one or more processors in a multi-processor shared memory computer system. The method and apparatus enables cache line data to be moved from one processor to another before the receiving processor needs the data thus preventing the receiving processor from incurring a cache miss event.
    Type: Application
    Filed: January 22, 2002
    Publication date: July 24, 2003
    Applicant: International Business Machines Corporation
    Inventors: Steven R. Kunkel, David Arnold Luick
  • Publication number: 20030140217
    Abstract: Embodiments are provided in which result forwarding for each execution unit in a processor is implemented for only one operand input of the execution unit. If another non-implemented operand input of the execution unit needs forwarded results, the forwarded results are passed through the implemented operand input. Non-forwarded operands are passed through the non-implemented operand input.
    Type: Application
    Filed: January 22, 2002
    Publication date: July 24, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030140080
    Abstract: Apparatus and method for performing fast arithmetic operations, including addition, in a pipelined circuit. In one embodiment, the apparatus comprises a plurality of gates, the critical path through the plurality of gates being three gates delays for some embodiments. The apparatus may comprise: a first level of logic for receiving at least two binary numbers and generating multi-bit P, G, Z, and K carry signals; a second level of logic receiving the multi-bit P, G, Z, and K carry signals and generating multi-bit section-based carry signals; and a third level of logic receiving the multi-bit section-based carry signals and generating a sum of the received binary numbers, the third level of logic comprising: a plurality of domino logic gates forming sum bits using the multi-bit section-based P, G, Z, and K carry signals.
    Type: Application
    Filed: January 22, 2002
    Publication date: July 24, 2003
    Applicant: International Business Machines Corporation
    Inventors: David Michael Friend, David Arnold Luick, Nghia Van Phan
  • Publication number: 20030126178
    Abstract: An apparatus and method for performing fast arithmetic operations, including addition, in a pipelined circuit is described. The apparatus and method operating on a first binary number and a second binary number comprise: a first arithmetic logic unit (ALU) operating on a first lower portion of the first binary number and a second lower portion of the second binary number to produce a first result and a carry out signal; and a second ALU operating on a first upper portion of the first binary number and a second upper portion of the second binary number to produce a second result; wherein at least a portion of the pipelined circuit stalls in response to the carry out signal. Another embodiment includes memory comprising a plurality of words, each word comprising data bits and a flag bit indicating a predetermined number of the most significant data bits are all zero.
    Type: Application
    Filed: January 2, 2002
    Publication date: July 3, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030126401
    Abstract: Embodiments are provided in which the generation of a carry of a sum of two numbers can be implemented by adding only some most significant bits of the two numbers and assuming that the sum of the remaining bits do not generate a carry. Other embodiments are also provided in which the generation of the carry of a sum of the two numbers can be implemented using carry look-ahead techniques wherein generate and propagate terms are generated. By combining the product terms of the carry function and combining pairs of propagate or generate terms, the generation of the carry of the sum of the two numbers can be implemented in an And-Or-Inverter function less complex than that of prior art. Still other embodiments are provided in which one operand of a carry generation circuit comes from a fixed source and the other operand is selected from several forwarding sources.
    Type: Application
    Filed: January 2, 2002
    Publication date: July 3, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030074533
    Abstract: Embodiments are provided in which a first and second instructions are executed in parallel. A first and a second address are generated according to the first and second instructions, respectively. The first address is used to select a data cache line of a data cache RAM and a first data bank from the data cache line. The second address is used to select a second data bank from the data cache. The first and second data banks are outputted in parallel from the data cache RAM. An instruction pair testing circuit tests the probability of the first and second instructions accessing a same data cache line of the data cache RAM. If it is unlikely that the two instructions will access a same data cache line, the second instruction is refetched and re-executed, and the second data bank is not used.
    Type: Application
    Filed: October 11, 2001
    Publication date: April 17, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20030074532
    Abstract: Embodiments are provided in which a first and second instructions are executed in parallel. A first and a second address are generated according to the first and second instructions, respectively. The first address is used to select a data cache line of a data cache RAM and a first data bank from the data cache line. The second address is used to select a second data bank from the data cache. The first and second data banks are outputted in parallel from the data cache RAM. An instruction pair testing circuit tests the probability of the first and second instructions accessing a same data cache line of the data cache RAM. If it is unlikely that the two instructions will access a same data cache line, the second instruction is refetched and re-executed, and the second data bank is not used.
    Type: Application
    Filed: October 11, 2001
    Publication date: April 17, 2003
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6473835
    Abstract: A data cache is constructed with the same dimensions as for a conventional n-way associative cache, but is constructed as an (n−1)-way associative cache, so that one associative column of the cache is left unused, although the cache has the same memory array size as a typical n-way associative cache. The extra column of data in the cache is organized as an independent logical translation look-aside buffer (TLB) that is n-way associative. Thus, there is no separate TLB array for the cache, rather, the TLB is contained within the data cache array. In this way, the cache can be implemented with a single chip, and can be of relatively large size, on the order of 8 MB or more.
    Type: Grant
    Filed: January 23, 2002
    Date of Patent: October 29, 2002
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Publication number: 20020062418
    Abstract: A data cache is constructed with the same dimensions as for a conventional n-way associative cache, but is constructed as an (n−1)-way associative cache, so that one associative column of the cache is left unused, although the cache has the same memory array size as a typical n-way associative cache. The extra column of data in the cache is organized as an independent logical translation look-aside buffer (TLB) that is n-way associative. Thus, there is no separate TLB array for the cache, rather, the TLB is contained within the data cache array. In this way, the cache can be implemented with a single chip, and can be of relatively large size, on the order of 8 MB or more.
    Type: Application
    Filed: January 23, 2002
    Publication date: May 23, 2002
    Applicant: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6349362
    Abstract: A data cache is constructed with the same dimensions as for a conventional n-way associative cache, but is constructed as an (n−1)-way associative cache, so that one associative column of the cache is left unused, although the cache has the same memory array size as a typical n-way associative cache. The extra column of data in the cache is organized as an independent logical translation look-aside buffer (TLB) that is n-way associative. Thus, there is no separate TLB array for the cache, rather, the TLB is contained within the data cache array. In this way, the cache can be implemented with a single chip, and can be of relatively large size, on the order of 8 MB or more.
    Type: Grant
    Filed: August 31, 1998
    Date of Patent: February 19, 2002
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6314493
    Abstract: Disclosed is a predictive instruction cache system, and the method it embodies, for a VLIW processor. The system comprises: a first cache; a real or virtual second cache for storing a subset of the instructions in the second cache; and a real or virtual history look-up table for storing relations between first instructions and second instructions in the second cache. If a first instruction is located in a stage of the pipeline, then one of the relations will predict that a second instruction will be needed in the same stage a predetermined time later. The first cache can be physically distinct from the second cache, but preferably is not, i.e., the second cache is a virtual array. The history look-up table can also be physically distinct from the first cache, but preferably is not, i.e., the history look-up table is a virtual look-up table. The first cache is organized as entries.
    Type: Grant
    Filed: February 3, 1998
    Date of Patent: November 6, 2001
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6230260
    Abstract: A data processing system, circuit arrangement, integrated circuit device, program product, and method utilize a unique prefetch circuit arrangement that speculatively fetches instructions for execution by a processor based upon history data associated with such instructions. In particular, the history data for a given instruction identifies the next instruction that was executed immediately subsequent to the given instruction. An instruction history cache is utilized in some implementations to store history data representing predicted next instructions for a plurality of instructions stored in a memory, and the instruction history cache is operated concurrently with a secondary instruction cache so that predicted and actual next instructions may be retrieved in parallel. Predicted next instructions are speculatively executed when retrieved from the instruction history cache; however, execution of such instructions is terminated if the predicted and actual next instructions do not match.
    Type: Grant
    Filed: September 1, 1998
    Date of Patent: May 8, 2001
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6112299
    Abstract: In a computer capable of executing a superscalar and a very long instruction word instruction wherein the computer has compiled a number of primitive operations that can be executed in parallel into a single instruction having multiple parcels and each of the parcels correspond to an operation, the invention is an improved instruction cache to store all potential subsequent instructions and a method to select the subsequent instruction when several possible branches of execution are probable and must be evaluated. All branch conditions and all addresses of potential subsequent instructions of an instruction are replicated and stored in the instruction cache. All potential subsequent instructions are stored in the same block of the instruction cache having the same next address; individual instructions are identified by the replicated offset addresses. Further the instruction cache is divided into minicaches, each minicache to store one parcel, which allows rapid autonomous execution of each parcel.
    Type: Grant
    Filed: December 31, 1997
    Date of Patent: August 29, 2000
    Assignee: International Business Machines Corporation
    Inventors: Kemal Ebcioglu, Kenneth J. Kiefer, David Arnold Luick, Gabriel Mauricio Silberman, Philip Braun Winterfield
  • Patent number: 6088769
    Abstract: A method and apparatus for maintaining coherence between shared data stored within a plurality of memory devices, each memory device residing in a different node within a tightly coupled multiprocessor system. Each node includes a "local coherence unit" and an associated processor. A cache unit is associated with each memory/processor pair. Each local coherence unit maintains a table which indicates whether the most current copy of data stored within the node resides in the local memory, in the local cache, or in a non-local cache. The present invention includes a "global coherence" unit coupled to each node via the logical interconnect. The global coherence unit includes a interconnect monitoring device and a global coherence table. When data which resides within the memory of a first node is transferred to a second node, the interconnect monitoring device updates the global coherence table to indicate that the data is being shared.
    Type: Grant
    Filed: October 1, 1996
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corporation
    Inventors: David Arnold Luick, John Christopher Willis, Philip Braun Winterfield