Patents by Inventor Adam R. Talcott

Adam R. Talcott 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).

  • Patent number: 6115810
    Abstract: One embodiment of the present invention provides a system for predicting an address of an instruction following a branch instruction in a computer instruction stream. This system receives a current address specifying an address of a current instruction. It uses this current address (or possibly a preceding address) to generate a first select signal, which is used to select a first predicted address of an instruction following the current instruction in the computer instruction stream. At the same time the system generates a second select signal, which takes more time to generate than the first select signal but achieves a more accurate selection for a predicted address of the instruction following the current instruction. The system assumes that the first predicted address is correct and proceeds with a subsequent instruction fetch operation using the first predicted address. Next, the system compares the first select signal with the second select signal.
    Type: Grant
    Filed: September 16, 1998
    Date of Patent: September 5, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay Patel, Adam R. Talcott, Rajasekhar Cherabuddi
  • Patent number: 5964869
    Abstract: A microprocessor is provided with an instruction fetch mechanism that simultaneously predicts multiple control-flow instructions. The instruction fetch unit further is capable of handling multiple types of control-flow instructions. The instruction fetch unit uses predecode data and branch prediction data to select the next instruction fetch bundle address. If a branch misprediction is detected, a corrected branch target address is selected as the next fetch bundle address. If no branch misprediction occurs and the current fetch bundle includes a taken control-flow instruction, then the next fetch bundle address is selected based on the type of control-flow instruction detected. If the first taken control-flow instruction is a return instruction, a return address from the return address stack is selected as the next fetch bundle address.
    Type: Grant
    Filed: June 19, 1997
    Date of Patent: October 12, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam R. Talcott, Ramesh K. Panwar
  • Patent number: 5941985
    Abstract: The outcome of a given branch instruction is predicted using early and late branch history addressing modes. In an early addressing process, a first subset of bits from a branch history register is used to first address a branch history table to obtain a plurality of candidate predictions. In a late addressing process, a second subset of bits from the branch history register is used to again address the branch history table to select one of the plurality of candidate predictions, the second subset of bits including additional branch history information loaded into the branch history register subsequent to the early addressing mode. In this way, more recent branch history information is used to predict the outcome of the given branch instruction.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: August 24, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam R. Talcott, Ramesh K. Panwar
  • Patent number: 5938761
    Abstract: One embodiment of the present invention provides a method and an apparatus for predicting the target of a branch instruction. This method and apparatus operate by using a translation lookaside buffer (TLB) to store page numbers for predicted branch target addresses. In this embodiment, a branch target address table stores a small index to a location in the translation lookaside buffer, and this index is used retrieve a page number from the location in the translation lookaside buffer. This page number is used as the page number portion of a predicted branch target address. Thus, a small index into a translation lookaside buffer can be stored in a predicted branch target address table instead of a larger page number for the predicted branch target address. This technique effectively reduces the size of a predicted branch target table by eliminating much of the space that is presently wasted storing redundant page numbers.
    Type: Grant
    Filed: November 24, 1997
    Date of Patent: August 17, 1999
    Assignee: Sun Microsystems
    Inventors: Sanjay Patel, Adam R. Talcott, Rajasekhar Cherabuddi
  • Patent number: 5935238
    Abstract: A microprocessor is provided with an instruction fetch mechanism that simultaneously predicts multiple control-flow instructions. The instruction fetch unit farther is capable of handling multiple types of control-flow instructions. The instruction fetch unit uses predecode data and branch prediction data to select the next instruction fetch bundle address. If a branch misprediction is detected, a corrected branch target address is selected as the next fetch bundle address. If no branch misprediction occurs and the current fetch bundle includes a taken control-flow instruction, then the next fetch bundle address is selected based on the type of control-flow instruction detected. If the first taken control-flow instruction is a return instruction, a return address from the return address stack is selected as the next fetch bundle address.
    Type: Grant
    Filed: June 19, 1997
    Date of Patent: August 10, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam R. Talcott, Ramesh K. Panwar
  • Patent number: 5875325
    Abstract: A processor and method of predicting a resolution of a speculative branch instruction are described. According to the present invention, a plurality of predicted resolutions of speculative branch instructions and at least one group of bits that indicates a plurality of previous resolutions of branch instructions are stored. A compressed branch history is generated that indicates a number of like previous resolutions within each group of bits. In response to a detection of a speculative branch instruction, a particular predicted resolution among the plurality of predicted resolutions is accessed utilizing the compressed branch history, such that the size of the storage utilized to store the predicted resolutions is reduced as compared to prior art systems.
    Type: Grant
    Filed: September 19, 1996
    Date of Patent: February 23, 1999
    Assignee: International Business Machines Corporation
    Inventor: Adam R. Talcott
  • Patent number: 5857098
    Abstract: The outcome of a given branch instruction is predicted using early and late branch history addressing modes. In an early addressing process, a first subset of bits from a branch history register is used to first address a branch history table to obtain a plurality of candidate predictions. In a late addressing process, a second subset of bits from the branch history register is used to again address the branch history table to select one of the plurality of candidate predictions, the second subset of bits including additional branch history information loaded into the branch history register subsequent to the early addressing mode. In this way, more recent branch history information is used to predict the outcome of the given branch instruction.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: January 5, 1999
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Adam R. Talcott, Ramesh K. Panwar
  • Patent number: 5854761
    Abstract: A cache memory array stores two-way set associative data. An odd set data bank stores odd number sets of the two-way set associative data, where the two ways of each odd number set are aligned horizontally within the odd set data bank. An even set data bank stores even number sets of the two-way set associative data, where the two ways of each even number set are aligned horizontally within the even set data bank. Also, the odd set data bank is aligned horizontally with the even set data bank such that each odd number set is aligned horizontally with a next even number set. The horizontally aligned ways are interleaved for data path width reduction. Set and way selection circuits extract lines of data from the array. The array may be structurally implemented by single-ported RAM cells.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: December 29, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay Patel, Rajasekhar Cherabuddi, Ramesh Panwar, Adam R. Talcott
  • Patent number: 5796998
    Abstract: An apparatus and method for fetching instructions in an information handling system operating at a predetermined number of cycles per second includes an instruction cache for storing instructions to be fetched. Branch target calculators are operably coupled to instruction queues and to a fetch address selector for determining, in parallel, if instructions in the instruction queues are branch instructions and for providing, in parallel, a target address for each of the instruction queues to the fetch address selector such that the fetch address selector can provide the instruction cache with one of the plurality of target addresses as the next fetch address. Decoding of instructions, calculating the target addresses of branch instructions, and resolving branch instructions are performed in parallel instead of sequentially and, in this manner, back-to-back taken branches can be executed at a rate of one per cycle.
    Type: Grant
    Filed: November 21, 1996
    Date of Patent: August 18, 1998
    Assignee: International Business Machines Corporation
    Inventors: David Stephen Levitan, John S. Muhich, Adam R. Talcott, Steven W. White