Method for supporting cache control instructions within a coherency granule
First Claim
1. A method for operating a cache within a computer system including a processor, an L1 cache, and an L2 cache, wherein said L1 cache is at a higher level than said L2 cache, wherein said L2 cache has a predetermined coherency granule size within a data array, wherein said coherency granule has a plurality of MESI bits, and wherein said method comprises the steps of:
- determining whether or not a miss has occurred in said L1 cache;
in response to determining that a cache miss has occurred in said L1 cache, determining a state of a target sector and a state of an alternate sector within said coherency granule in said L2 cache; and
performing a cache control instruction in conformity with said state of said target sector and said alternate sector within said coherency granule, such that said cache control instruction selectively performs a different operation on said alternate sector than is performed for said target sector.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for improving data processing in an L2 cache for symmetrical multiprocessing systems consists of efficient execution of cache control instructions without having to give up the data bandwidth provided by a greater byte coherency granule. The L2 cache has a coherency granule size within its data array and is divided into a target sector and an alternate sector. Additionally, the coherency granule has a plurality of MESI bits, which define sector write enables, and data write enables. By determining the states of the target sector and/or the alternate sector a series of L2 cache control instructions are performed to signal the L2 cache to hit. If a hit occurs corresponding data will be either written into or read out of the data array.
-
Citations
19 Claims
-
1. A method for operating a cache within a computer system including a processor, an L1 cache, and an L2 cache, wherein said L1 cache is at a higher level than said L2 cache, wherein said L2 cache has a predetermined coherency granule size within a data array, wherein said coherency granule has a plurality of MESI bits, and wherein said method comprises the steps of:
-
determining whether or not a miss has occurred in said L1 cache;
in response to determining that a cache miss has occurred in said L1 cache, determining a state of a target sector and a state of an alternate sector within said coherency granule in said L2 cache; and
performing a cache control instruction in conformity with said state of said target sector and said alternate sector within said coherency granule, such that said cache control instruction selectively performs a different operation on said alternate sector than is performed for said target sector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for performing 32-byte cache control instructions within a computer system including a processor having L1 cache connected by a bus to a L2 cache, said L2 cache having a 64-byte coherency granule size within a data array, said 64-byte coherency granule having MESI bits, said MESI bits defining four sector write enables and two data write enables, wherein said computer system further includes means for transferring and determining data between said processor, said L1 and said L2 cache, said method comprising the steps of:
-
determining whether or not a miss has occurred in said L1 cache;
responsive to determining that a miss has occurred in said L1 cache, determining a state of a 32-byte target sector and a state of a 32-byte alternate sector within said 64-byte coherency granule in said L2 cache; and
performing an L2 cache control instruction in conformity with said state of said 32-byte target sector and said 32-byte alternate sector within said 64-byte coherency granule, such that said L2 cache control instruction selectively performs a different operation on said alternate sector than is performed for said 32-byte target sector. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for instructions within a coherency granule in a symmetrical multiprocessing system including a processor having L1 cache connected by a bus to a L2 cache, said L2 cache having a 64-byte coherency granule size within a data array, said 64-byte coherency granule having MESI bits, said MESI bits defining four sector write enables and two data write enables, wherein said symetrical multiprocessing system further includes means for transferring and determining data between said processor, said L1 and said L2 cache, said method comprising the steps of:
-
determining whether or not a miss has occurred in said L1 cache;
responsive to determining that a miss has occurred in said L1 cache, determining a state of a 32-byte target sector and a state of a 32-byte alternate sector within said 64-byte coherency granule in said L2 cache; and
performing an L2 cache control instruction on said 32-byte target sector and said 32-byte alternate sector within said 64-byte coherency granule, wherein said L2 cache control instruction will signal said L2 cache to hit in conformity with said state of said 32-byte target sector and said 32-byte alternate sector within said 64-byte coherency granule, such that said L2 cache control instruction selectively performs a different operation on said alternate sector than is performed for said target sector.
-
Specification