Patents by Inventor Rami Mohammad Al Sheikh

Rami Mohammad Al Sheikh 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: 20170371790
    Abstract: Next line prefetchers employing initial high prefetch prediction confidence states for throttling next line prefetches in processor-based system are disclosed. Next line prefetcher prefetches a next memory line into cache memory in response to read operation. To mitigate prefetch mispredictions, next line prefetcher is throttled to cease prefetching after prefetch prediction confidence state becomes a no next line prefetch state indicating number of incorrect predictions. Instead of initial prefetch prediction confidence state being set to no next line prefetch state, which is built up in response to correct predictions before performing a next line prefetch, initial prefetch prediction confidence state is set to next line prefetch state to allow next line prefetching. Thus, next line prefetcher starts prefetching next lines before requiring correct predictions to be “built up” in prefetch prediction confidence state.
    Type: Application
    Filed: June 24, 2016
    Publication date: December 28, 2017
    Inventors: Brandon Dwiel, Rami Mohammad Al Sheikh
  • Publication number: 20170293565
    Abstract: Systems and methods are directed to selectively bypassing allocation of cache lines in a cache. A bypass predictor table is provided with reuse counters to track reuse characteristics of cache lines, based on memory regions to which the cache lines belong in memory. A contender reuse counter provides an indication of a likelihood of reuse of a contender cache line in the cache pursuant to a miss in the cache for the contender cache line, and a victim reuse counter provides an indication of a likelihood of reuse for a victim cache line that will be evicted if the contender cache line is allocated in the cache. A decision whether to allocate the contender cache line in the cache or bypass allocation of the contender cache line in the cache is based on the contender reuse counter value and the victim reuse counter value.
    Type: Application
    Filed: September 22, 2016
    Publication date: October 12, 2017
    Inventors: Shivam PRIYADARSHI, Brandon Harley Anthony DWIEL, Rami Mohammad A. AL SHEIKH, Harold Wade CAIN III
  • Publication number: 20170293571
    Abstract: Systems and methods relate to cost-aware cache management policies. In a cost-aware least recently used (LRU) replacement policy, temporal locality as well as miss cost is taken into account in selecting a cache line for replacement, wherein the miss cost is based on an associated operation type including instruction cache read, data cache read, data cache write, prefetch, and write back. In a cost-aware dynamic re-reference interval prediction (DRRIP) based cache management policy, miss costs associated with operation types pertaining to a cache line are considered for assigning re-reference interval prediction values (RRPV) for inserting the cache line, pursuant to a cache miss and for updating the RRPV upon a hit for the cache line. The operation types comprise instruction cache access, data cache access, prefetch, and write back. These policies improve victim selection, while minimizing cache thrashing and scans.
    Type: Application
    Filed: September 20, 2016
    Publication date: October 12, 2017
    Inventors: Rami Mohammad A. AL SHEIKH, Shivam PRIYADARSHI, Harold Wade CAIN, III
  • Publication number: 20170285727
    Abstract: A scheduler and method for dynamic power reduction, e.g., in a processor core, is proposed. In conventional processor cores for example, the scheduler precharges grant lines of many instructions only to discharge a great majority of the precharged lines in one cycle. To reduce power consumption, selective precharge and/or selective evaluation are proposed. In the selective precharge, the grant lines of instructions that will evaluate to false (e.g., invalid instructions) are not precharged in a cycle. In the selective evaluation, among the precharged instructions, instructions that are not ready are not evaluated in the same cycle. In this way, power consumption is reduced by avoiding unnecessary precharge and discharge.
    Type: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: Milind Ram KULKARNI, Rami Mohammad A. AL SHEIKH, Raguram DAMODARAN
  • Publication number: 20170286119
    Abstract: Aspects disclosed in the detailed description include providing load address predictions using address prediction tables based on load path history in processor-based systems. In one aspect, a load address prediction engine provides a load address prediction table containing multiple load address prediction table entries. Each load address prediction table entry includes a predictor tag field and a memory address field for a load instruction. The load address prediction engine generates a table index and a predictor tag based on an identifier and a load path history for a detected load instruction. The table index is used to look up a corresponding load address prediction table entry. If the predictor tag matches the predictor tag field of the load address prediction table entry corresponding to the table index, the memory address field of the load address prediction table entry is provided as a predicted memory address for the load instruction.
    Type: Application
    Filed: March 31, 2016
    Publication date: October 5, 2017
    Inventors: Rami Mohammad Al Sheikh, Raguram Damodaran
  • Publication number: 20170286120
    Abstract: A scheduler with a picker block capable of dispatching multiple instructions per cycle is disclosed. The picker block may comprise an inter-group picker and an intra-group picker. The inter-group picker may be configured to pick multiple ready groups when there are two or more ready groups among a plurality of groups of instructions, and pick a single ready group when the single ready group is the only ready group among the plurality of groups. The intra-group picker may be configured to pick one ready instruction from each of the multiple ready groups when the inter-group picker picks the multiple ready groups, and to pick multiple ready instructions from the single ready group when the inter-group picker picks the single ready group.
    Type: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: Milind Ram KULKARNI, Rami Mohammad A. AL SHEIKH, Raguram DAMODARAN
  • Publication number: 20170249149
    Abstract: Systems and methods for operating a processor include determining confidence levels, such as high, low, and medium confidence levels, associated with in-flight branch instructions in an instruction pipeline of the processor, based on counters used for predicting directions of the in-flight branch instructions. Numbers of in-flight branch instructions associated with each of confidence levels are determined. A weighted sum of the numbers weighted with weights corresponding to the confidence levels is calculated and the weighted sum is compared with a threshold. A throttling signal may be asserted to indicate that instructions are to be throttled in a pipeline stage of the instruction pipeline based on the comparison.
    Type: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: Shivam PRIYADARSHI, Rami Mohammad AL SHEIKH, Raguram DAMODARAN, Michael Scott MCILVAINE, Jeffrey Todd BRIDGES
  • Publication number: 20170090936
    Abstract: A method for instruction signature based (ISB) speculative optimization includes storing a plurality of entries. Each entry of the plurality of entries includes an instruction signature tag and an ISB predictor effectiveness measurement. The instruction signature tag corresponds to an instruction signature and the ISB predictor effectiveness measurement is based, least in part, on an effectiveness of a predictor when applied to the instruction signature. The method also includes detecting a to-be-executed instruction signature and determining if the plurality of entries includes a matching entry. The matching entry has an instruction signature tag corresponding to the to-be-executed instruction signature. Upon determining that the plurality of entries includes the matching entry, the method includes controlling an application of the predictor to the to-be-executed instruction signature, based at least in part on the ISB predictor effectiveness measurement in the matching entry.
    Type: Application
    Filed: March 31, 2016
    Publication date: March 30, 2017
    Inventors: Rami Mohammad AL SHEIKH, Shivam PRIYADARSHI
  • Publication number: 20170075692
    Abstract: Selective flushing of instructions in an instruction pipeline in a processor back to an execution-determined target address in response to a precise interrupt is disclosed. A selective instruction pipeline flush controller determines if a precise interrupt has occurred for an executed instruction in the instruction pipeline. The selective instruction pipeline flush controller determines if an instruction at the correct resolved target address of the instruction that caused the precise interrupt is contained in the instruction pipeline. If so, the selective instruction pipeline flush controller can selectively flush instructions back to the instruction in the pipeline that contains the correct resolved target address to reduce the amount of new instruction fetching.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Vignyan Reddy Kothinti Naresh, Rami Mohammad Al Sheikh, Harold Wade Cain, III
  • Patent number: 9582285
    Abstract: Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media are disclosed. In one embodiment, a branch prediction circuit including a first branch predictor and a second branch predictor is provided. The first branch predictor generates a first branch prediction for a conditional branch instruction, and the first branch prediction is stored in a first branch prediction history. The first branch prediction is also speculatively forwarded to a second branch prediction history. The second branch predictor subsequently generates a second branch prediction based on the second branch prediction history, including the speculatively forwarded first branch prediction. By enabling the second branch predictor to base its branch prediction on the speculatively forwarded first branch prediction, an accuracy of the second branch predictor may be improved.
    Type: Grant
    Filed: March 24, 2014
    Date of Patent: February 28, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Rami Mohammad Al Sheikh, Raguram Damodaran
  • Publication number: 20170046159
    Abstract: Systems and methods relate to an instruction fetch unit of a processor, such as a superscalar processor. The instruction fetch unit includes a fetch bandwidth predictor (FBWP) configured to predict a number of instructions to be fetched in a fetch group of instructions in a pipeline stage of the processor. A first entry of the FBWP corresponding to the fetch group corresponds to a prediction of the number of instructions to be fetched, based on occurrence and location of a predicted taken branch instruction in the fetch group and a confidence level associated with the predicted number in the prediction field. The instruction fetch unit is configured to fetch only the predicted number of instructions, rather than the maximum number of entries that can be fetched in the pipeline stage, if the confidence level is greater than a predetermined threshold. In this manner, wasteful fetching of instructions is avoided.
    Type: Application
    Filed: August 14, 2015
    Publication date: February 16, 2017
    Inventors: Shivam PRIYADARSHI, Rami Mohammad AL SHEIKH, Raguram DAMODARAN
  • Publication number: 20160170770
    Abstract: Providing early instruction execution in an out-of-order (OOO) processor, and related apparatuses, methods, and computer-readable media are disclosed. In one aspect, an apparatus comprises an early execution engine communicatively coupled to a front-end instruction pipeline and a back-end instruction pipeline of an OOO processor. The early execution engine is configured to receive an incoming instruction from the front-end instruction pipeline, and determine whether an input operand of one or more input operands of the incoming instruction is present in a corresponding entry of one or more entries in an early register cache. The early execution engine is also configured to, responsive to determining that the input operand is present in the corresponding entry, substitute the input operand with a non-speculative immediate value stored in the corresponding entry. In some aspects, the early execution engine may execute the incoming instruction using an early execution unit and update the early register cache.
    Type: Application
    Filed: December 12, 2014
    Publication date: June 16, 2016
    Inventors: Harold Wade Cain, III, Rami Mohammad Al Sheikh
  • Publication number: 20150268958
    Abstract: Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media are disclosed. In one embodiment, a branch prediction circuit including a first branch predictor and a second branch predictor is provided. The first branch predictor generates a first branch prediction for a conditional branch instruction, and the first branch prediction is stored in a first branch prediction history. The first branch prediction is also speculatively forwarded to a second branch prediction history. The second branch predictor subsequently generates a second branch prediction based on the second branch prediction history, including the speculatively forwarded first branch prediction. By enabling the second branch predictor to base its branch prediction on the speculatively forwarded first branch prediction, an accuracy of the second branch predictor may be improved.
    Type: Application
    Filed: March 24, 2014
    Publication date: September 24, 2015
    Applicant: QUALCOMM Incorporated
    Inventors: Rami Mohammad Al Sheikh, Raguram Damodaran