Conditional read and invalidate for use in coherent multiprocessor systems
First Claim
Patent Images
1. A method of controlling a cache block, comprising:
- sending a conditional read and invalidate request from a first agent associated with the cache block to a second agent associated with the cache block; and
transferring data between the first and second agents in response to the conditional read and invalidate request.
1 Assignment
0 Petitions
Accused Products
Abstract
A conditional read and invalidate operation for use in coherent multiprocessor systems is disclosed. A conditional read and invalidate request may be sent via an interconnection network from a first processor that requires exclusive access to a cache block to a second processor that requires exclusive access to the cache block. Data associated with the cache block may be sent from the second processor to the first processor in response to the conditional read and invalidate request and a determination that the cache block is associated with a state of a cache coherency protocol.
76 Citations
25 Claims
-
1. A method of controlling a cache block, comprising:
-
sending a conditional read and invalidate request from a first agent associated with the cache block to a second agent associated with the cache block; and
transferring data between the first and second agents in response to the conditional read and invalidate request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of controlling a cache block for use with a cache coherency protocol, the method comprising:
-
sending a conditional read and invalidate request via an interconnection network from a first processor that requires exclusive access to the cache block to a second processor that requires exclusive access to the cache block; and
sending data associated with the cache block from the second processor to the first processor in response to (a) the conditional read and invalidate request and (b) a determination that a predefined state of the cache coherency protocol is associated with the cache block in the second processor. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of controlling data transfers between first and second caches, the method comprising:
-
generating at a first time a first conditional read and invalidate request in response to a request for exclusive access to a cache block within the first cache;
generating at a second time prior to the first time a second conditional read and invalidate request in response to a request for exclusive access to the cache block within the second cache; and
transferring data from the first cache to the second cache upon reception of the second conditional read and invalidate request by an agent associated with the first cache and a determination by the agent that a state of the cache block within the first cache is one of a shared state, an owned state and a modified state. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A processor for use in a multiprocessor system, the processor comprising:
-
a cache; and
a cache controller to generate a first conditional read and invalidate request in response to the processor requiring exclusive access to a block within the cache and to send data to another processor in response to (a) reception of a second conditional read and invalidate request from the other processor and (b) a determination that a state of the block within the cache is one of a shared state, an owned state and a modified state. - View Dependent Claims (19, 20, 21)
-
-
22. A multiprocessor system, comprising:
-
a first processor having a first cache and a first cache controller;
a second processor having a second cache and second cache controller, wherein the first and second cache controllers generate respective conditional read and invalidate requests in response to requests for exclusive access to cache blocks within the first and second caches; and
an interconnection network that communicatively couples the first and second processors. - View Dependent Claims (23, 24, 25)
-
Specification