Source controlled cache allocation
First Claim
1. A system comprising:
- an agent configured to initiate a cacheable transaction addressing a first cache block;
a cache coupled to receive the transaction, the cache including a plurality of cache block storage locations for storing cache blocks;
wherein the agent is configured to transmit a cache allocate indication in an initial transmission of the transaction, wherein the cache allocate indication indicates whether or not the cache is to allocate one of the plurality of cache block storage locations to store the first cache block if the transaction is a miss in the cache; and
wherein the cache, if the transaction is a miss, is configured to selectively allocate one of the plurality of cache block storage locations to store the first cache block responsive to the cache allocate indication.
2 Assignments
0 Petitions
Accused Products
Abstract
A cache is coupled to receive an access which includes a cache allocate indication. If the access is a miss in the cache, the cache either allocates a cache block storage location to store the cache block addressed by the access or does not allocate a cache block storage location in response to the cache allocate indication. In one implementation, the cache is coupled to an interconnect with one or more agents. In such an implementation, the cache accesses may be performed in response to transactions on the interconnect, and the transactions include the cache allocate indication. Thus, the source of a cache access specifies whether or not to allocate a cache block storage location in response to a miss by the cache access. The source may use a variety of mechanisms for generating the cache allocate indication.
110 Citations
38 Claims
-
1. A system comprising:
-
an agent configured to initiate a cacheable transaction addressing a first cache block;
a cache coupled to receive the transaction, the cache including a plurality of cache block storage locations for storing cache blocks;
wherein the agent is configured to transmit a cache allocate indication in an initial transmission of the transaction, wherein the cache allocate indication indicates whether or not the cache is to allocate one of the plurality of cache block storage locations to store the first cache block if the transaction is a miss in the cache; and
wherein the cache, if the transaction is a miss, is configured to selectively allocate one of the plurality of cache block storage locations to store the first cache block responsive to the cache allocate indication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
a first circuit configured to generate a request for a cacheable transaction addressing a first cache block on an interconnect, the first circuit further configured to determine whether or not a cache on the interconnect is to allocate a cache block storage location to store the first cache block if the first cache block is a miss in the cache; and
a second circuit configured to transmit the transaction on the interconnect, the transaction including a cache allocate indication in an initial transmission of the transaction indicating whether or not a cache on the interconnect is to allocate a cache block storage location to store the first cache block if the first cache block is a miss in the cache. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
initiating a cacheable transaction, the initiating including transmitting a cache allocate indication indicating whether or not a cache on the interconnect is to allocate a cache block storage location to store the first cache block if the first cache block is a miss in the cache;
detecting a miss in the cache for the first cache block; and
selectively allocating storage in the cache responsive to detecting the miss and responsive to the cache allocate indication. - View Dependent Claims (21, 22, 23, 24, 25, 26)
requesting the transaction responsive to a second transaction received on an input/output interface, the second transaction including an isochronous indication; and
generating the cache allocate indication responsive to the isochronous indication.
-
-
25. The method as recited in claim 20 further comprising transmitting a plurality of transactions including the transaction in response to receiving a packet on a network interface, wherein an initial number of the plurality of transactions include the cache allocate indication indicating that the cache is to allocate one of the cache block storage locations.
-
26. The method as recited in claim 25, wherein a remaining number of the plurality of transactions include the cache allocate indication indicating that the cache is not to allocate one of the cache block storage locations.
-
27. A carrier medium comprising a database used by a program in an integrated circuit fabrication process, the database representing:
-
an agent configured to initiate a cacheable transaction addressing a first cache block;
a cache coupled to receive the transaction, the cache including a plurality of cache block storage locations for storing cache blocks;
wherein the agent is configured to transmit a cache allocate indication in an initial transmission of the transaction, wherein the cache allocate indication indicates whether or not the cache is to allocate one of the plurality of cache block storage locations to store the first cache block if the transaction is a miss in the cache; and
wherein the cache, if the transaction is a miss, is configured to selectively allocate one of the plurality of cache block storage locations to store the first cache block responsive to the cache allocate indication. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification