byrd@portia.Stanford.EDU (Greg Byrd) (12/06/89)
Inclusion in multi-level caches is the property that the data in each level is a superset of the data in the previous level. For example, if something is in the first-level cache it is guaranteed to also be in the second-level cache. Inclusion is important with regard to cache coherence schemes, since shared data not in the second-level cache cannot possibly be in the first-level, so the first-level cache does not have to see every coherence-related operation. My question: Is strict inclusion really necessary? It seems as though private and read-only data, which do not participate in coherence operations, need not be included at every level. Has anyone experimented with allowing inclusion of shared data only? (This is, of course, assuming that one can distinguish shared and private data by looking at the address or some other field in the memory request.) ----------------------------------------------------------------------------- Greg Byrd byrd@sumex-aim.stanford.edu Knowledge Systems Lab 701 Welch Rd., Bldg. C, Palo Alto, CA 94304 Stanford University (415) 725-3849