A cache memory includes a first-level cache-memory unit that stores data;
a second-level cache-memory unit that stores data that is same as the
data stored in the first-level cache-memory unit; a storage unit that
stores a part of information relating to the first-level cache-memory
unit; and a coherence maintaining unit that maintains cache-coherence
between the first-level cache-memory unit and the second-level
cache-memory unit based on information stored in the storage unit.