Hardware prefetching of extended cache blocks
AssigneeArteris, Inc.
InventorPierre-Axel LAGADEC
Life of this patent
Estimating the term…
Abstract
An electronic system includes a plurality of partitions, system memory, and a hardware prefetch engine for performing pre-fetches on all cache lines in an extended cache block other than a cache line at a missed address. Extended cache block size is partition-dependent.
Claims18
(canceled)
The system of claim 5, wherein each partition includes at least one requester configured to generate memory access requests.
The system of claim 5, wherein the plurality of partitions are mapped to any of address ranges, a plurality of requesters, and specific information sent by at least one requester of the plurality of requesters.
The system of claim 5, wherein the extended cache block size is dependent upon partition traffic patterns and/or partition policies.
An electronic system comprising:
- a plurality of partitions;
- system memory;
- and
- a hardware prefetch engine for performing prefetches on a plurality of cache lines in an extended cache block, wherein the extended cache block includes the plurality of cache lines and at least one missed cache line at a missed address within the extended cache block,
- wherein extended cache block size is partition-dependent,
- wherein the missed cache line at the missed address is read from the system memory and a number X of prefetch requests are generated for all other cache lines in the extended cache block,
- where
- X
- =
- Block_size
-
- (
- partition
- )
- CL_size
- -
- 1
- -
- 1
- ,
- where Block_size(partition) is the extended cache block size as a function of one of the partitions, and
- where CL_size is size of the cache lines in the extended cache block.
(canceled)
A module for an electronic system including a plurality of partitions and system memory, the module comprising:
- cache;
- and
- a prefetch engine configured to respond to a cache miss in an extended cache block, which includes a plurality of cache lines and at least one missed cache line, by generating a number of prefetch requests for the plurality of cache lines in the extended cache block,
- wherein the number of prefetch requests is determined at runtime on a per-partition basis,
- wherein X denotes the number of prefetch requests, and
- X
- =
- Block_size
-
- (
- partition
- )
- CL_size
- -
- 1
- -
- 1
- ,
- where Block_size(partition) is size of the extended cache block as a function of a partition, and
- where CL_size is the size of a cache line in the extended cache block.
(canceled)
A method implemented by an electronic system including a cache and shared memory, the method comprising:
- using a memory access request to search the cache for a cache line;
- and
- when a cache miss occurs:
- copying a missed cache line from the shared memory into the cache;
- using a first field of the memory access request to identify an extended cache block that includes a plurality of cached lines and the missed cache line;
- using a second field of the memory access request to identify the plurality of cache lines in the extended cache block;
- and
- generating prefetch requests for the plurality of cache lines in the extended cache block,
- wherein X represents a number of the prefetch requests, and
- X
- =
- Block_size
-
- (
- partition
- )
- CL_size
- -
- 1
- -
- 1
- ,
- where Block_size(partition) is size of the extended cache block as a function of a partition, and
- where CL_size is size of a cache line in the extended cache block.
Dependencies are inferred from the claim text.