Hierarchical virtual model of a cache hierarchy in a multiprocessor system
First Claim
1. An apparatus comprising:
- a first plurality of nodes, each node having at least a cache memory, wherein the nodes are coupled together and interact according to a predetermined cache coherency protocol;
a peer agent coupled with the first plurality of nodes to represent a second plurality of nodes coupled with the peer agent, wherein the first plurality of nodes interact with the peer agent using the predetermined cache coherency protocol; and
a home agent coupled with the first plurality of nodes to represent at least one remote node.
1 Assignment
0 Petitions
Accused Products
Abstract
The cache coherency protocol described herein can be used to maintain a virtual model of a system, where the virtual model does not change as the system configuration changes. In general, the virtual model is based on the assumption that each node in the system can directly communicate with some number of other nodes in the system. In one embodiment, for each cache line, the address of the cache line is used to designate a node as the “home” node and all other nodes as “peer” nodes. The protocol specifies one set of messages for communication with the line'"'"'s home node and another set of messages for communication with the line'"'"'s peer nodes.
40 Citations
31 Claims
-
1. An apparatus comprising:
-
a first plurality of nodes, each node having at least a cache memory, wherein the nodes are coupled together and interact according to a predetermined cache coherency protocol;
a peer agent coupled with the first plurality of nodes to represent a second plurality of nodes coupled with the peer agent, wherein the first plurality of nodes interact with the peer agent using the predetermined cache coherency protocol; and
a home agent coupled with the first plurality of nodes to represent at least one remote node. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus comprising:
-
a control circuit;
a local cluster interface coupled with the control circuit to communicate with a plurality of nodes of a cluster, wherein the local cluster interface receives a message from one or more of the nodes of the cluster and forwards the message to the control circuit, the control circuit to determine whether a remote entity can satisfy requirements of the message and to selectively forward messages from the local cluster interface to the system interface; and
a system interface coupled with the control circuit to communicate with the remote entity with respect to the cluster, the system interface to communicate messages determined by the control circuit to be satisfied by the remote entity to the remote entity. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
a first plurality of nodes, each node having at least a cache memory, wherein the nodes are coupled together and interact according to a predetermined cache coherency protocol; and
means for representing a second plurality of nodes coupled with the first plurality of nodes, wherein the first plurality of nodes interact with the second plurality of nodes using the predetermined cache coherency protocol. - View Dependent Claims (12, 13)
-
-
14. A method comprising:
-
receiving a cache protocol message from a node of a cluster;
analyzing the message to determine whether the message can be satisfied by a remote entity;
selectively routing the message to the remote entity;
receiving a response from the remote entity; and
forwarding the response to the node. - View Dependent Claims (15, 16, 17)
-
-
18. A system comprising:
-
one or more agents;
a first cluster coupled with the one or more agents, the first cluster having a first set of nodes, each of which has at least a cache memory, a node of the first cluster to transmit a request message to the one or more agents; and
a second cluster coupled with the one or more agents, the second cluster having a second set of nodes, each of which has at least a cache memory;
wherein the one or more agents selectively forward request messages from the first cluster to the second cluster, and further wherein the one or more agents forward response messages from one or more nodes of the second cluster to the node of the first cluster that transmitted the request message. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification