Cache device controlling a state of a corresponding cache memory according to a predetermined protocol
First Claim
1. A cache device comprising at least first and second cache controllers each for controlling respective first and second cache memories, said first and second cache memories each provided to respective first and second processors sharing a shared memory with each other, said first and second cache controllers each connected to the shared memory via a bus, said first and second cache memories each comprising a plurality of data regions for temporarily storing information including data read from said shared memory by designating an address and said address designated, whereinsaid shared memory includes a first space to which at least one predetermined address space of said first processor is pre-assigned and which is for storing data to be accessed most frequently by said first processor, and a second space to which at least one predetermined address space of said second processor is pre-assigned and which is for storing data to be accessed most frequently by said second processor;
- said first and second cache controllers perform mutual input and output via said bus;
when said first cache controller detects that data designated by an address belonging to said predetermined address space of said first processor in said first cache memory is updated, said first cache controller outputs an invalidation request including said address for designating data corresponding to said updated data to said second cache controller via said bus if said data corresponding to said updated data is stored in said second cache memory; and
when said second cache controller receives said invalidation request from said first cache controller via said bus, said second cache controller invalidates said data corresponding to said updated data in said second cache memory based on said address in said received invalidation request.
5 Assignments
0 Petitions
Accused Products
Abstract
It assumes that “SO” represents a state, in which that data in a responsible region storing the data to be accessed most frequently by the corresponding processor is updated in a cache memory to be controlled by a cache device, and other data is stored in other cache memory. In this case, one or more cache devices controlling each of the remaining cache memories changes the state of the data in a region other than the responsible region of the cache memory controlled by itself from “SN” to “I” (invalid). Therefore, in the case where the data designated by the same address is shared by the plurality of cache memories, the data can be invalidated in the cache memories other than the cache memory corresponding to the processor including the designated address in its own responsible region. Therefore, a data sharing rate can be low.
-
Citations
15 Claims
-
1. A cache device comprising at least first and second cache controllers each for controlling respective first and second cache memories, said first and second cache memories each provided to respective first and second processors sharing a shared memory with each other, said first and second cache controllers each connected to the shared memory via a bus, said first and second cache memories each comprising a plurality of data regions for temporarily storing information including data read from said shared memory by designating an address and said address designated, wherein
said shared memory includes a first space to which at least one predetermined address space of said first processor is pre-assigned and which is for storing data to be accessed most frequently by said first processor, and a second space to which at least one predetermined address space of said second processor is pre-assigned and which is for storing data to be accessed most frequently by said second processor; -
said first and second cache controllers perform mutual input and output via said bus; when said first cache controller detects that data designated by an address belonging to said predetermined address space of said first processor in said first cache memory is updated, said first cache controller outputs an invalidation request including said address for designating data corresponding to said updated data to said second cache controller via said bus if said data corresponding to said updated data is stored in said second cache memory; and when said second cache controller receives said invalidation request from said first cache controller via said bus, said second cache controller invalidates said data corresponding to said updated data in said second cache memory based on said address in said received invalidation request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A cache device comprising at least first and second cache controllers each for controlling respective first and second cache memories, said first and second cache memories each provided to respective first and second processors sharing a shared memory with each other, said first and second cache controllers each connected to the shared memory via a bus, said first and second cache memories each comprising a plurality of data regions for temporarily storing information including data read from said shared memory by designating an address and said address designated, wherein
said shared memory includes a first space to which at least one predetermined address space of said first processor is pre-assigned and which is for storing data to be accessed most frequently by said first processor, and a second space to which at least one predetermined address space of said second processor is pre-assigned and which is for storing data to be accessed most frequently by said second processor; -
said first and second cache controllers perform mutual input and output via said bus, said first cache controller has a first dedicated access portion for accessing one or more among said plurality of data regions of said first cache memory storing an address belonging to said predetermined address space for said first processor corresponding to said first cache memory and a first non-dedicated access portion for accessing one or more of the remaining data regions, and said second cache controller has a second dedicated access portion for accessing one or more among said plurality of data regions of said second cache memory storing an address belonging to said predetermined address space for said second processor corresponding to said second cache memory and a second non-dedicated access portion for accessing one or more of the remaining data regions; when said first cache controller detects that data designated by an address belonging to the predetermined address space of said first processor provided with said first cache memory is updated, said first dedicated access portion of said first cache controller outputs an invalidation request including said address for designating data corresponding to said updated data to said second cache controller via said bus if said data corresponding to said updated data is stored in said second cache memory, and when said second non-dedicated access portion of said second cache controller receives said invalidation request from said first cache controller via said bus, said second non-dedicated access portion invalidates said data corresponding to said updated data in said second cache memory based on said address in said invalidation request received. - View Dependent Claims (15)
-
Specification