Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors
First Claim
Patent Images
1. A multiprocessor machine comprising:
- a plurality of processors;
a first cache shared by said plurality of processors; and
a first controller providing control so that data accessed by at least two processors out of said plurality of processors is given higher priority in being saved to said first cache compared to data accessed by only one of said plurality of processors;
second caches associated with each of said plurality of processors; and
a second controller providing control so that, when data stored in a second cache is accessed by a processor other than a processor associated with said second cache, said data is not stored in said second cache with a higher priority compared to data accessed only by said processor associated with said second cache.
1 Assignment
0 Petitions
Accused Products
Abstract
In multiprocessor machines and chip multiprocessor systems in particular, the object of the present invention is to reduce data communication between the LSI chip and external components and to avoid restrictions in communication volume resulting from the LSI pin count. Sets in tag and data blocks of a shared cache include a shared bit S. When data is replaced for a cache miss, the contents of the shared bit S are checked and the side with the shared bit S set to 0 in the tag and data block is selected for data replacement. This allows data shared by a plurality of processors to be left in the shared cache, and the data transfer between the shared cache and the main memory can be reduced.
16 Citations
11 Claims
-
1. A multiprocessor machine comprising:
- a plurality of processors;
a first cache shared by said plurality of processors; and
a first controller providing control so that data accessed by at least two processors out of said plurality of processors is given higher priority in being saved to said first cache compared to data accessed by only one of said plurality of processors;second caches associated with each of said plurality of processors; and
a second controller providing control so that, when data stored in a second cache is accessed by a processor other than a processor associated with said second cache, said data is not stored in said second cache with a higher priority compared to data accessed only by said processor associated with said second cache. - View Dependent Claims (2, 3)
- a plurality of processors;
-
4. A multiprocessor machine comprising:
- a plurality of processors;
a first cache shared by said plurality of processors; and
a first controller providing control so that data accessed by at least two processors out of said plurality of processors is given higher Priority in being saved to said first cache compared to data accessed by only one of said plurality of processors,wherein said first controller includes first selecting means which, if storing new data to said first cache and there is an area in said first cache containing data not accessed by at least two processors of aid plurality of processors, selects said area in said first cache over an area containing data accessed by at least two processors of said plurality of processors.
- a plurality of processors;
-
5. A method for controlling cache comprising:
-
a first step evaluating whether data stored in a cache shared by a plurality of processors is accessed by at least two processors from said plurality of processors;
a second step selecting an area determined by said first step to not be accessed by at least two processors when storing new data to said cache;
a third step selecting an area in said cache if no area can be selected in said second step; and
a fourth step storing said new data in said cache area selected by either said second step or said third step. - View Dependent Claims (6)
-
-
7. A processor system comprising:
- a plurality of processors;
a cache memory accessible by at least two processors of said plurality of processors;
a first bus connecting said plurality of processors and said cache memory;
a main storage memory exchanging data with said cache memory;
a second bus connecting said cache memory and said main storage memory;
a sharing evaluation module evaluating whether data stored in said cache memory is accessed by at least two processors and adding attributes to said data; and
a replacement controller selecting data in said cache memory determined to not be accessed by at least two processors based on said attributes over data determined to be accessed by at least two processors, and replacing data in said main storage memory with said selected data. - View Dependent Claims (8, 9, 10, 11)
- a plurality of processors;
Specification