Source controlled cache allocation

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S138000, C711S139000, C711S144000, C711S145000, C711S170000, C711S173000

Reexamination Certificate

active

06574708

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention is related to the field of caches and, more particularly, to allocation of space in caches.
2. Description of the Related Art
Caches are used frequently in systems to reduce the memory access latency. Typically, at any given time, caches store the most recently accessed data. For each access, the cache determines whether or not the accessed data is currently stored in the cache. If the data is stored in the cache (a cache “hit”), the cache responds to the access (updating the stored data if the access is a write, or providing the stored data if the data is a read). If the data is not stored in the cache (a cache “miss”), the data is transferred to/from memory. Generally, the cache allocates storage for the data if the access is a read. In some cases, the cache also allocates storage for the data if the access is a write.
Since the cache is finite, the allocation of storage for data which misses the cache frequently causes data currently stored in the cache to be replaced (referred to as “evicting” the stored data). If the evicted data is modified with respect to the corresponding copy of the data in memory, the cache writes the data back to the memory. Otherwise, the cache may simply overwrite the evicted data in the cache with the new data. Unfortunately, if the evicted data is accessed again at a later time, the evicted data will experience the longer memory latency instead of the shorter cache latency.
SUMMARY OF THE INVENTION
An apparatus including a cache is described. The 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. Cache allocation may be controlled on a finer grain level than if the cache allocated cache blocks in response to each cache miss. Cache pollution may be reduced.
Broadly speaking, a system is contemplated. The system comprises an agent configured to initiate a transaction addressing a first cache block and a cache coupled to receive the transaction. The cache includes a plurality of cache block storage locations for storing cache blocks. The agent is configured to transmit a cache allocate indication in the transaction, which 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. If the transaction is a miss, the cache 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.
Additionally, an apparatus is contemplated. The apparatus comprises a first circuit configured to generate a request for a transaction addressing a first cache block on an interconnect. The first circuit is 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. A second circuit is configured to transmit the transaction on the interconnect, the transaction including 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.
Moreover, a cache is contemplated. The cache comprises a cache memory including a plurality of cache block storage locations and a control circuit coupled to receive a cache allocate indication corresponding to an access. The control circuit is configured to selectively allocate one of the plurality of cache block storage locations to store a first cache block addressed by the access, if the access misses in the cache, responsive to the cache allocate indication.


REFERENCES:
patent: 4433378 (1984-02-01), Leger
patent: 4463424 (1984-07-01), Mattson et al.
patent: 4760571 (1988-07-01), Schwarz
patent: 5640399 (1997-06-01), Rostoker et al.
patent: 5668809 (1997-09-01), Rostoker et al.
patent: 5778414 (1998-07-01), Winter et al.
patent: 5802287 (1998-09-01), Rostoker et al.
patent: 5829025 (1998-10-01), Mittal
patent: 5887187 (1999-03-01), Rostoker et al.
patent: 5893150 (1999-04-01), Hagersten et al.
patent: 5908468 (1999-06-01), Hartmann
patent: 5914955 (1999-06-01), Rostoker et al.
patent: 5974508 (1999-10-01), Maheshwari
patent: 6018763 (2000-01-01), Hughes et al.
patent: 6098064 (2000-08-01), Pirolli et al.
patent: 6111859 (2000-08-01), Godfrey et al.
patent: 6151662 (2000-11-01), Christie et al.
patent: 6157623 (2000-12-01), Kerstein
patent: 6202125 (2001-03-01), Patterson et al.
patent: 6202129 (2001-03-01), Palanca et al.
patent: 6209020 (2001-03-01), Angle et al.
patent: 6215497 (2001-04-01), Leung
patent: 6262594 (2001-07-01), Cheung et al.
patent: 6266797 (2001-07-01), Godfrey et al.
patent: 6269427 (2001-07-01), Kuttanna et al.
patent: 6279087 (2001-08-01), Melo et al.
patent: 6332179 (2001-12-01), Okpisz et al.
patent: 6349365 (2002-02-01), McBride
patent: 6366583 (2002-04-01), Rowett et al.
patent: 6373846 (2002-04-01), Daniel et al.
patent: 6438651 (2002-08-01), Slane
patent: 00/30322 (2000-05-01), None
patent: 00/52879 (2000-09-01), None
“ATLAS I: A Single-Chip, Gigabit ATM Switch with HIC/HS Links and Multi-Lane Back-Pressure,” Katevenis, et al., IPC Business Press LTD., Long, GB, vol. 21, No. 7-8, Mar. 30, 1998, XP004123981, 5 pages.
“An Introductory VHDL Tutorial: Chapter 1—An Introduction and Background,” 1995, Green Mountain Computing Systems, XP002212233, 2 pages.
Pentium® Pro Family Developer's Manual,vol. 1: Specifications, Chapter 4, pp. 1-18, 1996.
SiByte, “Target Applications,” http://sibyte.com/mercurian/applications.htm, Jan. 15, 2001, 2 pages.
SiByte, “SiByte Technology,” http://sibyte.com/mercurian/technology.htm, Jan. 15, 2001, 3 pages.
SiByte, “The Mercurian Processor,” http://sibyte.com/mercurian, Jan. 15, 2001, 2 pages.
SiByte, “Fact Sheet,” SB-1 CPU, Oct. 2000, rev. 0.1, 1 page.
SiByte, “Fact Sheet,” SB-1250, Oct. 2000, rev. 0.2, 10 pages.
Stepanian, SiByte, SiByte SB-1 MIPS64 CPU Core, Embedded Processor Forum 2000, Jun. 13, 2000, 15 pages.
Jim Keller, “The Mercurian Processor: A High Performance, Power-Efficient CMP for Networking,” Oct. 10, 2000, 22 pages.
Tom R. Halfhill, “SiByte Reveals 64-Bit Core For NPUs; Independent MIPS64 Design Combines Low Power, High Performance,” Microdesign Resources, Jun. 2000, Microprocessor Report, 4 pages.
Intel, “Pentium Processor Family User's Manual,” vol. 1: Pentium Processor Family Data Book, 1994, pp. 5-23 and 5-50.
“PowerPC 601,” RISC Microprocessor User's Manual, Revision 1, Motorola, Inc. 1993, p. 8-14.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Source controlled cache allocation does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Source controlled cache allocation, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Source controlled cache allocation will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3110293

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.