Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
251 words
A cache controller for a multithreading multiprocessor which suspends an ongoing execution of a thread and starts an execution of another thread when a cache miss happens, the cache controller comprising: a directory unit for storing management information indicating data blocks which are loaded from a main memory into a cache, the management information including a thread number field for storing thread reference numbers of threads which use the data blocks in the cache; a data block replacing means for determining a data block having a highest replacing priority among the data blocks in the cache and replacing the data block having the highest replacing priority with a data block in the main memory; an access control unit including a first input/output port and a second input/output port, the first input/output port transmitting and receiving an access requesting message which is one of a write requesting message and a read requesting message to and from said multithreading multiprocessor, and the second input/output port transmitting and receiving the access requesting message to and from the main memory and another cache controller, said access control unit for, on receiving the access requesting message from said multithreading multiprocessor, comparing a received thread reference number included in the received access requesting message with a thread reference number stored in said thread number field, and starting said data block replacing means by lowering a replacing priority of the data block indicated by the received thread reference number in a case where the thread reference numbers match.
Claim 2
Dependent Claim
251 words
A cache controller for a multithreading multiprocessor which suspends an ongoing execution of a thread and starts an execution of another thread when a cache miss happens, the cache controller comprising: a directory unit for storing management information indicating data blocks which are loaded from a main memory into a cache, the management information including a thread number field for storing thread reference numbers of threads which use the data blocks in the cache; a data block replacing means for determining a data block having a highest replacing priority among the data blocks in the cache and replacing the data block having the highest replacing priority with a data block in the main memory; an access control unit including a first input/output port and a second input/output port, the first input/output port transmitting and receiving an access requesting message which is one of a write requesting message and a read requesting message to and from said multithreading multiprocessor, and the second input/output port transmitting and receiving the access requesting message to and from the main memory and another cache controller, said access control unit for, on receiving the access requesting message from said multithreading multiprocessor, comparing a received thread reference number included in the received access requesting message with a thread reference number stored in said thread number field, and starting said data block replacing means by lowering a replacing priority of the data block indicated by the received thread reference number in a case where the thread reference numbers match.
Claim 3
Dependent Claim
104 words
The cache controller of claim 1, wherein said management information further includes footprint bits, each footprint bit being relevant to a corresponding data block in the cache; and said access control unit includes a footprint bit changing means for, on detecting a cache hit, of a specific data block setting a specific footprint bit corresponding to the specific data block, whereas, on detecting a cache miss of the specific data block, starting said data block replacing means by raising the replacing priority of the specific data block and resetting the specific footprint bit when a replacement of the specific data block has been completed.
Claim 4
Dependent Claim
134 words
The cache controller of claim 1, wherein said management information further includes sharing bits, each sharing bit being relevant to a corresponding data block in the cache; and said access control unit further includes a sharing bit changing means for, on detecting a cache hit of a specific data block, comparing a thread reference number stored in said thread number field with the received thread reference number included in the received access requesting message, and resetting the sharing bit in a case where the thread reference numbers do not match, and on detecting a cache miss of a specific data block, starting said data block replacing means by raising a replacing priority of the specific data block, and resetting the specific sharing bit when a replacement of the specific data block has been completed.
Claim 5
Dependent Claim
128 words
The cache controller of claim 1, wherein said management information further includes reservation bits, each reservation bit being relevant to a corresponding data block in the cache; and said access control unit further includes a reservation bit changing means for, on receiving the write requesting message from the processor for a specific data block, setting a specific reservation bit corresponding to the specific data block in a case where a cache hit of the specific data block is detected by retrieving said directory unit, and on detecting a cache miss of the specific data block, starting said data block replacing means by raising a replacing priority of the specific data block and resetting the specific reservation bit when a replacement of the specific data block has been completed.
Claim 6
Dependent Claim
65 words
The cache controller of claim 4, wherein said access control unit further includes a responding message generation unit for outputting a positive responding message upon receipt of the access requesting message from another cache controller through the second input/output port when the specific reservation bit is set, and outputting a negative responding message to the other cache controller when the specific reservation bit is reset.
Claim 7
Dependent Claim
102 words
The cache controller of claim 5, wherein said management information further includes negative bits, each negative bit being relevant to a corresponding data block in the cache; said access control unit further including a negative bit change means for setting a specific negative bit when said responding message generation unit has outputted the negative responding message; and said responding message generation unit outputs an access completion message to the other cache controller which is a sender of the negative responding message if the specific negative bit is set when the reservation bit is transformed from a reset state to a set state.
Claim 8
Dependent Claim
106 words
The cache controller of claim 6, further comprising: a rejection record storage unit for storing information of rejection history by referring data outputted from the access controlling unit; on receiving the negative responding message in response to the access requesting message to the other cache controller, said access control unit stores the negative responding message to said negative history storage unit, and on receiving the access completion message from the other cache controller, retrieves said rejection history storage unit and reoutputs the access requesting message to the other cache controller when said rejection history storage unit has rejection history information corresponding to the access completion message.
Claim 9
Dependent Claim
132 words
The cache controller of claim 1, wherein said management information further includes preservation bits, each preservation bit being relevant to a corresponding data block in the cache; and said access control unit further includes a preservation bit changing means for, on receiving a synchronization requesting message from said multiheading multiprocessor, setting a specific reservation bit in a case where a cache hit of a corresponding specific data block is detected by retrieving said directory unit, and on detecting a cache miss, starting said data block replacing means by raising a replacing priority of the corresponding specific data block, resetting the preservation bit when a replacement of the corresponding specific data block has been completed, and not changing the preservation bit even if an access requesting message is received from said multiheading multiprocessor.