Back to results
US 10,949,210 B2Granted
Shadow cache for securing conditional speculative instruction execution
AssigneeMicron Technology, Inc.
InventorSteven Jeffrey Wallach
Life of this patent
Estimating the term…
Abstract
A computing device, having: a processor; memory; a first cache coupled between the memory and the processor; and a second cache coupled between the memory and the processor. During speculative execution of one or more instructions, effects of the speculative execution are contained within the second cache.
Claims13
A computing device, comprising:
- a processor;
- memory;
- a first cache coupled between the memory and the processor;
- and
- a second cache coupled between the memory and the processor;
- wherein during speculative execution of one or more instructions, effects of the speculative execution are contained within the second cache;
- wherein during the speculative execution of one or more instructions, the processor asserts a signal indicative speculative execution;
- and when the signal is asserted, the first cache is blocked from changes;
- wherein in response to a determination that execution of the one or more instructions is to be performed, the first cache is updated according to the second cache.
6 more elements
A method implemented in a computing device, the method comprising:
- executing, by a processor, first instructions using a first cache coupled between a memory and the processor;
- executing, by the processor, second instructions in speculation using a second cache coupled between the memory and the processor;
- limiting, in the computing device, effects of the executing of the second instructions in speculation in the second cache;
- after the executing of the second instructions in speculation, determining whether execution of the second instructions is required;
- in response to a determination that the execution of the second instructions is required, applying changes made by the second instructions in the second cache to the first cache;
- and
- in response to a determination that the execution of the second instructions is not required, invalidating content of the second cache.
4 more elements
A computing device, comprising:
- memory;
- a plurality of processors;
- and
- a plurality of pairs of caches for the plurality of processors respectively, wherein for each respective processor in the plurality of processors, the plurality of pairs of caches have:
- a first cache coupled between the memory and the respective processor;
- and
- a second cache coupled between the memory and the respective processor;
- wherein a cache coherency protocol is implemented among the plurality of processors, the cache coherency protocol allowing a first processor in the plurality of processors to access the first cache of the respective processor other than the first processor;
- wherein during speculative execution of one or more instructions by the respective processor, the respective processor is limited to access the memory via the second cache of the respective processor and is prohibited from changing the memory;
- wherein during the speculative execution of one or more instructions by the respective processor, the first processor is prohibited from accessing the second cache of the respective processor other than the first processor;
- and
- wherein after the speculative execution of one or more instructions, changes in the second cache of the respective processor are incorporated into the first cache of the respective processor, in response to a determination to execute the one or more instructions.
9 more elements
Dependencies are inferred from the claim text.