Patents by Inventor Anthony X. Jarvis

Anthony X. Jarvis 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: 8667257
    Abstract: Techniques are disclosed relating to improving the performance of branch prediction in processors. In one embodiment, a processor is disclosed that includes a branch prediction unit configured to predict a sequence of instructions to be issued by the processor for execution. The processor also includes a pattern detection unit configured to detect a pattern in the predicted sequence of instructions, where the pattern includes a plurality of predicted instructions. In response to the pattern detection unit detecting the pattern, the processor is configured to switch from issuing instructions predicted by the branch prediction unit to issuing the plurality of instructions. In some embodiments, the processor includes a replay unit that is configured to replay fetch addresses to an instruction fetch unit to cause the plurality of predicted instructions to be issued.
    Type: Grant
    Filed: November 10, 2010
    Date of Patent: March 4, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ravindra N. Bhargava, David Suggs, Anthony X. Jarvis
  • Patent number: 8181005
    Abstract: A system and method for branch prediction in a microprocessor. A hybrid device stores branch prediction information in a sparse cache for no more than a common smaller number of branches within each entry of the instruction cache. For the less common case wherein an i-cache line comprises additional branches, the device stores the corresponding branch prediction information in a dense cache. Each entry of the sparse cache stores a bit vector indicating whether or not a corresponding instruction cache line includes additional branch instructions. This indication may also be used to select an entry in the dense cache for storage. A second sparse cache stores entire evicted entries from the first sparse cache.
    Type: Grant
    Filed: September 5, 2008
    Date of Patent: May 15, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gerald D. Zuraski, Jr., James D. Dundas, Anthony X. Jarvis
  • Publication number: 20120117362
    Abstract: Techniques are disclosed relating to improving the performance of branch prediction in processors. In one embodiment, a processor is disclosed that includes a branch prediction unit configured to predict a sequence of instructions to be issued by the processor for execution. The processor also includes a pattern detection unit configured to detect a pattern in the predicted sequence of instructions, where the pattern includes a plurality of predicted instructions. In response to the pattern detection unit detecting the pattern, the processor is configured to switch from issuing instructions predicted by the branch prediction unit to issuing the plurality of instructions. In some embodiments, the processor includes a replay unit that is configured to replay fetch addresses to an instruction fetch unit to cause the plurality of predicted instructions to be issued.
    Type: Application
    Filed: November 10, 2010
    Publication date: May 10, 2012
    Inventors: Ravindra N. Bhargava, David Suggs, Anthony X. Jarvis
  • Publication number: 20110093658
    Abstract: A system and method for branch prediction in a microprocessor. A branch prediction unit stores an indication of a location of a branch target instruction relative to its corresponding branch instruction. For example, a target instruction may be located within a first region of memory as a branch instruction. Alternatively, the target instruction may be located outside the first region, but within a larger second region. The prediction unit comprises a branch target array corresponding to each region. Each array stores a bit range of a branch target address, wherein the stored bit range is based upon the location of the target instruction relative to the branch instruction. The prediction unit constructs a predicted branch target address by concatenating a bits stored in the branch target arrays.
    Type: Application
    Filed: October 19, 2009
    Publication date: April 21, 2011
    Inventors: Gerald D. Zuraski, JR., James D. Dundas, Anthony X. Jarvis
  • Patent number: 7757066
    Abstract: There is disclosed a data processor that executes variable latency load operations using bypass circuitry that allows load word operations to avoid stalls caused by shifting circuitry.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: July 13, 2010
    Assignees: STMicroelectronics, Inc., Hewlett-Packard Company
    Inventors: Anthony X. Jarvis, Paolo Faraboschi
  • Publication number: 20100064123
    Abstract: A system and method for branch prediction in a microprocessor. A hybrid device stores branch prediction information in a sparse cache for no more than a common smaller number of branches within each entry of the instruction cache. For the less common case wherein an i-cache line comprises additional branches, the device stores the corresponding branch prediction information in a dense cache. Each entry of the sparse cache stores a bit vector indicating whether or not a corresponding instruction cache line includes additional branch instructions. This indication may also be used to select an entry in the dense cache for storage. A second sparse cache stores entire evicted entries from the first sparse cache.
    Type: Application
    Filed: September 5, 2008
    Publication date: March 11, 2010
    Inventors: Gerald D. Zuraski, JR., James D. Dundas, Anthony X. Jarvis
  • Patent number: 7143268
    Abstract: A data processor includes execution clusters, an instruction cache, an instruction issue unit, and alignment and dispersal circuitry. Each execution cluster includes an instruction execution pipeline having a number of processing stages, and each execution pipeline is a number of lanes wide. The processing stages execute instruction bundles, where each instruction bundle has one or more syllables. Each lane is capable of receiving one of the syllables of an instruction bundle. The instruction cache includes a number of cache lines. The instruction issue unit receives fetched cache lines and issues complete instruction bundles toward the execution clusters. The alignment and dispersal circuitry receives the complete instruction bundles from the instruction issue unit and routes each received complete instruction bundle to a correct one of the execution clusters. The complete instruction bundles are routed as a function of at least one address bit associated with each complete instruction bundle.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: November 28, 2006
    Assignees: STMicroelectronics, Inc., Hewlett-Packard Development Co., L.P.
    Inventors: Paolo Faraboschi, Anthony X. Jarvis, Mark Owen Homewood, Geoffrey M. Brown, Gary L. Vondran
  • Patent number: 7093107
    Abstract: There is disclosed a data processor that uses bypass circuitry to transfer result data from late pipeline stages to earlier pipeline stages in an efficient manner and with a minimum amount of wiring. The data processor comprises: 1) an instruction execution pipeline comprising a) a read stage; b) a write stage; and c) a first execution stage comprising E execution units that produce data results from data operands.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: August 15, 2006
    Assignee: STMicroelectronics, Inc.
    Inventor: Anthony X. Jarvis
  • Patent number: 7028164
    Abstract: There is disclosed a data processor containing an instruction issue unit that efficiently transfers instruction bundles from a cache to an instruction pipeline. The data processor comprises 1) an instruction pipeline comprising N processing stages; and 2) an instruction issue unit for fetching into the instruction pipeline instructions fetched from the instruction cache, each of the fetched instructions comprising from one to S syllables.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: April 11, 2006
    Assignee: STMicroelectronics, Inc.
    Inventors: Anthony X. Jarvis, Mark Owen Homewood, Gary L. Vondran
  • Patent number: 6922773
    Abstract: For use in a data processor comprising an instruction execution pipeline comprising N processing stages, a system and method of encoding constant operands is disclosed. The system comprises a constant generator unit that is capable of generating both short constant operands and long constant operands. The constant generator unit extracts the bits of a short constant operand from an instruction syllable and right justifies the bits in an output syllable. For long constant operands, the constant generator unit extracts K low order bits from an instruction syllable and T high order bits from an extension syllable. The right justified K low order bits and the T high order bits are combined to represent the long constant operand in one output syllable. In response to the status of op code bits located within a constant generation instruction, the constant generator unit enables and disables multiplexers to automatically generate the appropriate short or long constant operand.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: July 26, 2005
    Assignees: STMicroelectronics, Inc., Hewlett-Packard Company
    Inventors: Paolo Faraboschi, Alexander J. Starr, Anthony X. Jarvis, Geoffrey M. Brown, Mark Owen Homewood, Gary L. Vondran
  • Patent number: 6865665
    Abstract: There is disclosed a data processor for stalling the instruction execution pipeline after a cache miss and re-loading the correct cache data into any bypass devices before restarting the pipeline.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: March 8, 2005
    Assignee: STMicroelectronics, Inc.
    Inventor: Anthony X. Jarvis
  • Patent number: 6807628
    Abstract: There is disclosed a data processor having a clustered architecture that comprises a plurality of clusters and an interrupt and exception controller. Each of the clusters comprises an instruction execution pipeline having N processing stages. Each of the N processing stages is capable of performing at least one of a plurality of execution steps associated with instructions being executed by the clusters. The interrupt and exception controller operates to (i) detect an exception condition associated with one of the executing instructions, wherein this executing instruction issued at time t0, and (ii) generate an exception in response to the exception condition upon completed execution of earlier ones of the executing instructions, these earlier executing instructions issued at time preceding t0.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: October 19, 2004
    Assignee: STMicroelectronics, Inc.
    Inventors: Mark Owen Homewood, Anthony X. Jarvis, Alexander J. Starr
  • Patent number: 6772355
    Abstract: There is disclosed a data processor having a clustered architecture that comprises a plurality of clusters, an instruction cache and a power-down controller. Each of the clusters comprises an instruction execution pipeline having N processing stages. Each of the N processing stages is capable of performing at least one of a plurality of execution steps associated with instructions being executed by the clusters. The power-down controller monitors the instruction cache and each instruction execution pipeline to identify power-down conditions associated with the same and, in response to an identified power-down condition, at least one of: (i) bypasses performance of at least a portion of subsequent ones of the N processing stages associated with an executing instruction, (ii) powers down the instruction cache, and (iii) powers down the data processor.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: August 3, 2004
    Assignee: STMicroelectronics, Inc.
    Inventors: Mark Owen Homewood, Anthony X. Jarvis
  • Publication number: 20030014614
    Abstract: There is disclosed a data processor that uses bypass circuitry to transfer result data from late pipeline stages to earlier pipeline stages in an efficient manner and with a minimum amount of wiring. The data processor comprises: 1) an instruction execution pipeline comprising a) a read stage; b) a write stage; and c) a first execution stage comprising E execution units that produce data results from data operands.
    Type: Application
    Filed: December 29, 2000
    Publication date: January 16, 2003
    Inventor: Anthony X. Jarvis
  • Publication number: 20020124163
    Abstract: There is disclosed a data processor having a clustered architecture that comprises a plurality of clusters and an interrupt and exception controller. Each of the clusters comprises an instruction execution pipeline having N processing stages. Each of the N processing stages is capable of performing at least one of a plurality of execution steps associated with instructions being executed by the clusters. The interrupt and exception controller operates to (i) detect an exception condition associated with one of the executing instructions, wherein this executing instruction issued at time t1, and (ii) generate an exception in response to the exception condition upon completed execution of earlier ones of the executing instructions, these earlier executing instructions issued at time preceding t0.
    Type: Application
    Filed: December 29, 2000
    Publication date: September 5, 2002
    Inventors: Mark Owen Homewood, Anthony X. Jarvis, Alexander J. Starr
  • Publication number: 20020087900
    Abstract: There is disclosed a data processor having a clustered architecture that comprises a plurality of clusters, an instruction cache and a power-down controller. Each of the clusters comprises an instruction execution pipeline having N processing stages. Each of the N processing stages is capable of performing at least one of a plurality of execution steps associated with instructions being executed by the clusters. The power-down controller monitors the instruction cache and each instruction execution pipeline to identify power-down conditions associated with the same and, in response to an identified power-down condition, at least one of: (i) bypasses performance of at least a portion of subsequent ones of the N processing stages associated with an executing instruction, (ii) powers down the instruction cache, and (iii) powers down the data processor.
    Type: Application
    Filed: December 29, 2000
    Publication date: July 4, 2002
    Inventors: Mark Owen Homewood, Anthony X. Jarvis
  • Publication number: 20020087838
    Abstract: There is disclosed a data processor for stalling the instruction execution pipeline after a cache miss and re-loading the correct cache data into any bypass devices before restarting the pipeline.
    Type: Application
    Filed: December 29, 2000
    Publication date: July 4, 2002
    Inventor: Anthony X. Jarvis
  • Publication number: 20020087830
    Abstract: There is disclosed bundle alignment and dispersal circuitry for use in a data processor.
    Type: Application
    Filed: December 29, 2000
    Publication date: July 4, 2002
    Inventors: Paolo Faraboschi, Anthony X. Jarvis, Mark Owen Homewood, Geoffrey M. Brown, Gary L. Vondran
  • Publication number: 20020087832
    Abstract: There is disclosed a data processor containing an instruction issue unit that efficiently transfers instruction bundles from a cache to an instruction pipeline. The data processor comprises 1) an instruction pipeline comprising N processing stages; and 2) an instruction issue unit for fetching into the instruction pipeline instructions fetched from the instruction cache, each of the fetched instructions comprising from one to S syllables.
    Type: Application
    Filed: December 29, 2000
    Publication date: July 4, 2002
    Inventors: Anthony X. Jarvis, Mark Owen Homewood, Gary L. Vondran
  • Publication number: 20020087839
    Abstract: There is disclosed a data processor that executes variable latency load operations using bypass circuitry that allows load word operations to avoid stalls caused by shifting circuitry.
    Type: Application
    Filed: December 29, 2000
    Publication date: July 4, 2002
    Inventors: Anthony X. Jarvis, Paolo Faraboschi