A data processing system includes an interconnect, a plurality of nodes
coupled to the interconnect that each include at least one agent, response
logic within each node, and a queue. In response to snooping a transaction
on the interconnect, each agent outputs a snoop response. In addition, the
queue, which has an associated agent, allocates an entry to service the
transaction. The response logic within each node accumulates a partial
combined response of its node and any preceding node until a complete
combined response for all of the plurality of nodes is obtained. However,
prior to the associated agent receiving the complete combined response,
the queue speculatively deallocates the entry if the partial combined
response indicates that an agent other than the associated agent will
service the transaction.
Un sistema dell'elaborazione dei dati include un'interconnessione, una pluralità di nodi accoppiato all'interconnessione che ciascuno include almeno un agente, la logica di risposta all'interno di ogni nodo e una coda. In risposta a snooping una transazione sull'interconnessione, ogni agente produce una risposta dello snoop. In più, la coda, che ha un agente collegato, assegna un'entrata per assistere la transazione. La logica di risposta all'interno di ogni nodo accumula una risposta unita parziale del relativo nodo e di tutto il nodo preceding fino ad ottenere una risposta unita completa per tutta la pluralità di nodi. Tuttavia, prima dell'agente collegato che riceve la risposta unita completa, la coda cancella l'assegnazione speculativo dell'entrata se la risposta unita parziale indica che un agente tranne l'agente collegato assisterà la transazione.