External way allocation circuitry for processor cores
AssigneeMarvell Asia Pte Ltd
InventorsShubhendu Sekhar Mukherjee, Thomas F. Hummel
Life of this patent
Estimating the term…
Abstract
An apparatus includes a plurality of processor cores; a shared cache connected to the plurality of processor cores; a cache control unit connected to the shared cache; and a way allocation circuitry connected to at least one of the plurality of processor cores. The way allocation circuitry is external to the plurality of processor cores. The cache control unit and the way allocation circuitry are cooperatively configured to process an intercepted memory request with respect to designated ways in the shared cache, the designated ways being based on a partition identifier and a partition table.
Claims22
A method for memory management, the method comprising:
- sending a memory request from a requesting entity, the requesting entity being at least one of at least one processor core of a plurality of processor cores that have access to a shared cache or a process running on the at least one processor core;
- intercepting the memory request, by way allocation circuitry, prior to processing at the shared cache in the event the memory request misses all applicable intervening caches, the way allocation circuitry external to the plurality of processor cores;
- reading from a partition storage, by the way allocation circuitry, a partition identifier for the requesting entity, the partition storage located with the way allocation circuitry and the partition storage populated with partition identifiers by at least one instruction executed within a pipeline associated with the requesting entity, the instruction addressing a portion of an address space reserved for accessing the partition storage;
- attaching, by the way allocation circuitry, the partition identifier to the memory request;
- sending, by the way allocation circuitry, the memory request with the attached partition identifier to a cache control unit associated with the shared cache;
- determining, by the cache control unit from a partition information table, designated ways in the shared cache based on the partition identifier;
- and
- processing the memory request with respect to the determined designated ways in the shared cache.
An apparatus comprising:
- a plurality of processor cores;
- a shared cache connected to the plurality of processor cores;
- a partition storage populated with partition identifiers by one of a software or an operating system;
- a cache control unit connected to the shared cache;
- and
- way allocation circuitry connected to at least one of the plurality of processor cores, the way allocation circuitry external to the plurality of processor cores, the cache control unit and the way allocation circuitry cooperatively configured to
- process an intercepted memory request with respect to designated ways in the shared cache, the designated ways being based on a partition identifier and a partition information table, the partition information table populated with at least partition identifiers and designated ways by the one of a software or an operating system;
- wherein the way allocation circuitry is further configured to intercept a memory request prior to processing at the shared cache when the memory request misses all applicable intervening caches, the memory request sent by a requesting entity associated with at least one processor core of the plurality of processor cores;
- wherein the requesting entity is at least one of the at least one processor core or a process running on the at least one processor core, and the requesting entity has a partition identifier;
- and
- wherein the one of a software or an operating system populates the partition storage and the partition information table at initialization and wherein the one of a software or an operating system updates the partition storage and the partition information table at defined events.
An apparatus comprising:
- a plurality of processor cores;
- a shared cache connected to the plurality of processor cores;
- a cache control unit connected to the shared cache;
- and
- way allocation circuitry connected to at least one of the plurality of processor cores, the way allocation circuitry external to the plurality of processor cores, the cache control unit and the way allocation circuitry cooperatively configured to:
- intercept a memory request prior to processing at the shared cache when the memory request misses all applicable intervening caches, the memory request sent by a requesting entity that is at least one of at least one processor core of the plurality of processor cores or a process running on the at least one processor core;
- read from a partition storage a partition identifier for the requesting entity, the partition storage located with the way allocation circuitry and the partition storage populated with partition identifiers by at least one instruction executed within a pipeline associated with the requesting entity, the instruction addressing a portion of an address space reserved for accessing the partition storage;
- attach the partition identifier to the memory request;
- and
- send the memory request with the attached partition identifier to the cache control unit;
- and
- the cache control unit configured to:
- determine from a partition information table, designated ways in the shared cache based on the partition identifier;
- and
- process the memory request with respect to the determined designated ways in the shared cache.
An apparatus comprising:
- a plurality of processor cores;
- a shared cache connected to the plurality of processor cores;
- a partition storage populated with partition identifiers by one of a software or an operating system;
- means for cache control connected to the shared cache;
- and
- means for way allocation connected to at least one of the plurality of processor cores, the means for way allocation external to the plurality of processor cores, the means for cache control and the means for way allocation cooperatively configured to process an intercepted memory request with respect to designated ways in the shared cache, the designated ways being based on a partition identifier and a partition information table, the partition information table populated with at least partition identifiers and designated ways by the one of a software or an operating system;
- wherein the means for way allocation is further configured to intercept a memory request prior to processing at the shared cache when the memory request misses all applicable intervening caches, the memory request sent by a requesting entity associated with at least one processor core of the plurality of processor cores;
- wherein the requesting entity is at least one of the at least one processor core or a process running on the at least one processor core, and the requesting entity has a partition identifier;
- and
- wherein the one of a software or an operating system populates the partition storage and the partition information table at initialization and wherein the one of a software or an operating system updates the partition storage and the partition information table at defined events.
Dependencies are inferred from the claim text.