Simplified Hash Table
US-2024422006-A1 · Dec 19, 2024 · US
US9250915B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9250915-B2 |
| Application number | US-201213652544-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 16, 2012 |
| Priority date | Jun 24, 2010 |
| Publication date | Feb 2, 2016 |
| Grant date | Feb 2, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Data operand fetching control includes calculating a summation weight value for each instruction in a pipeline, the summation weight value calculated as a function of branch uncertainty and a pendency in which the instruction resides in the pipeline relative to other instructions in the pipeline. The data operand fetching control also includes mapping the summation weight value of a selected instruction that is attempting to access system memory to a memory access control. Each memory access control specifies a manner of handling data fetching operations. The data operand fetching control further includes performing a memory access operation for the selected instruction based upon the mapping.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method for operand fetching control in a computer processor pipeline of a processor having a data cache to store operands fetched by load/store instructions, the method comprising: calculating a summation weight value for each instruction or group of instructions in the computer processor pipeline, the summation weight value calculated as a function of branch uncertainty and a pendency in which the instruction or group of instructions reside in the computer processor pipeline relative to other instructions in the computer processor pipeline; mapping, by a control unit logic of the computer processor pipeline, the summation weight value of a selected load/store instruction in the computer processor pipeline that is attempting to access system memory to one of a number of distinct pre-defined ranges of summation weight values, each of the pre-defined ranges of summation weight values corresponding to a respective memory access control, each of the memory access controls specifying a different manner of handling an operand fetching operation from the data cache, wherein each manner of handling defines a respective depth in a cache hierarchy of the data cache that an operand fetch is permitted to access; receiving the mapped memory access control for the selected load/store instruction from the control unit logic by a load-store unit of the computer processor pipeline via an interface between the control unit logic and the load-store unit; and performing a memory access operation in the data cache for the selected load/store instruction based on the manner of handling the operand fetching operation that is specified by the received mapped memory access control by the load-store unit. 2. The computer-implemented method of claim 1 , further comprising: tracking the summation weight values; wherein calculating the summation weight value as a function of the branch confidence comprises: for each instruction or group of instructions in the computer processor pipeline, summing an uncertainty value assigned to a corresponding instruction with a summation value representing a cumulative sum of uncertainty values assigned to all older instructions in the computer processor pipeline. 3. The computer-implemented method of claim 1 , further comprising: calculating an uncertainty value that represents the branch confidence for each branch instruction or group of instructions that include the branch instruction in the computer processor pipeline, the uncertainty value calculated as a function of branch prediction logic and programmable options that include factors used in weighting predictions based on type. 4. The computer-implemented method of claim 3 , further comprising: modifying an uncertainty value assigned to the branch instruction upon resolution of the branch instruction in the computer processor pipeline, the uncertainty value modified to reflect a high branch prediction confidence. 5. The computer-implemented method of claim 1 , further comprising: re-calculating, at each clock cycle, the summation weight value for each instruction or group of instructions, the re-calculating comprising: summing an uncertainty value assigned to a corresponding branch instruction with a summation value representing a cumulative sum of uncertainty values assigned to all older instructions in the computer processor pipeline. 6. The computer-implemented method of claim 1 , the memory access controls comprising: a first manner of handling the operand fetching operation from the data cache comprising permitting the load-store unit of the computer processor pipeline to fetch an operand according to default memory access processing based on the summation weight value falling within a first pre-defined range of values; a second manner of handling the operand fetching operation from the data cache comprising permitting the load-store unit of the computer processor pipeline to fetch an operand from a secondary level of cache, and blocking the load-store unit of the computer processor pipeline from fetching the operand from a tertiary level of cache when the operand is not found in the secondary level cache based on the summation weight value falling within a second pre-defined range of values, the second pre-defined range of values being distinct from the first pre-defined range of values, wherein the secondary level of cache is a level of cache that is located further away from a processor than a first level cache, and the tertiary level of cache is a level of cache that is located further away from the processor than the secondary level of cache; and a third manner of handling the operand fetching operation from the data cache comprising permitting the load-store unit of the computer processor pipeline to access a secondary level of cache, and preventing logic of the secondary level of cache from processing an operand fetch from the secondary level of cache based on the summation weight value falling within a third pre-defined range of values, the third pre-defined range of values being distinct from the first pre-defined range of values and the second pre-defined range of values. 7. The computer-implemented method of claim 1 , the method further comprising: canceling a fetch request associated with the branch instruction based on an operand subject to the fetch request being determined to be non-demand data, wherein the operand is determined to be non-demand data when the operand is not needed for execution of a program issuing the fetch request. 8. The computer-implemented method of claim 6 , wherein the first pre-defined range of values corresponds to lower uncertainty than the second pre-defined range of values, and wherein the second pre-defined range of values corresponds to lower uncertainty than the third pre-defined range of values. 9. The computer-implemented method of claim 1 , wherein the number of pre-defined distinct pre-defined ranges of summation weight values is the same as a number of levels in the cache hierarchy of the data cache.
LOAD or STORE instructions; Clear instruction · CPC title
Physics · mapped topic
using address prediction, e.g. return stack, branch history buffer · CPC title
Operand accessing · CPC title
using dynamic branch prediction, e.g. using branch history tables · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.