Soft watermarking in thread shared resources implemented through thread mediation
AssigneeAdvanced Micro Devices, Inc.
InventorKai Troester
Life of this patent
Estimating the term…
Abstract
Techniques for use in a microprocessor core for soft watermarking in thread shared resources implemented through thread mediation. A thread is removed from a thread mediation decision involving multiple threads competing or requesting to use a shared resource at a current clock cycle based on a number of entries in the shared resource that the thread is estimated to have allocated to it at the current clock cycle. By removing the thread from the thread mediation decision, the thread is stalled from allocating additional entries in the shared resource.
Claims17
A microprocessor comprising:
- a shared resource of a multithreaded microprocessor core, the shared resource having a plurality of entries for use by a plurality of threads;
- and
- wherein the multithreaded microprocessor core is configured to:
- determine an allocation estimate for a thread of the plurality of threads, wherein the allocation estimate is an estimate of the cardinality of a set of entries of the plurality of entries, that the thread will be allocated at a future clock cycle relative to a current clock cycle;
- determine whether the allocation estimate for the thread satisfies an allocation target, wherein the allocation target is the cardinality of a should-not-exceed number of entries that is allocated to the thread;
- and
- remove the thread from a thread mediation decision based on a determination that the allocation estimate for the thread satisfies the allocation target;
- and
- wherein the multithreaded microprocessor core is further configured to determine the allocation estimate based on:
- the cardinality of a set of entries, of the plurality of entries, that the thread was allocated at a clock cycle in the past relative to the current clock cycle;
- and
- a number of times the thread was selected to use the shared resource prior to the current clock cycle.
A microprocessor comprising:
- a shared resource of a multithreaded microprocessor core, the shared resource having a plurality of entries for use by a plurality of threads;
- and
- wherein the multithreaded microprocessor core is configured to:
- determine an allocation estimate for each thread of the plurality of threads;
- wherein the allocation estimate for a thread is an estimate of the cardinality of the set of entries, of the plurality of entries, that the thread will be allocated at a future clock cycle relative to a current clock cycle;
- for each thread of the plurality of threads, determine if the allocation estimate for the thread satisfies an allocation target for the thread, wherein the allocation target for the thread is the cardinality of a should-not-exceed number of entries, of the plurality of entries, that is allocated to the thread;
- and
- for each thread of the plurality of threads, remove the thread from a thread mediation decision if the allocation estimate for the thread satisfies the allocation target and
- wherein the multithreaded microprocessor core is further configured to:
- for each thread of the plurality of threads, determine the allocation estimate for the thread based on a number of times the thread has been selected to use the shared resource.
Dependencies are inferred from the claim text.