Patent ID: 8463960

Claim:
A synchronising device for determining progress of at least a subset of transaction requests that are transmitted through a data processing system in response to receipt of one of a plurality of different types of system synchronising requests, said data processing system having a plurality of devices including a plurality of transaction request generating devices for generating said transaction requests and a plurality of recipient devices for receiving said transaction, requests, said synchronising device and at least one interconnect for interconnecting at least some of said devices; said system synchronising requests comprising requests generated by one of said plurality of transaction generating devices and querying progress of at least a subset of said transaction requests; said synchronising device comprising: at least one port for receiving requests from, and outputting requests and responses to, said data processing system; system synchronising request identifying circuitry for identifying said type of said system synchronising request received at said at least one port; buffer circuitry for storing received pending system synchronising requests to be output to multicast circuitry; arbitration circuitry for selecting a next one of said pending system synchronising requests for output to said multicast circuitry; said multicast circuitry configured to generate a plurality of synchronising requests in response to receipt of said system synchronising request and to output said plurality of synchronising requests for multicast to at least some of said devices within said data processing system, said synchronising requests querying said progress of said at least subset of said transaction requests at each of said respective at least some of said devices; gather circuitry for collecting responses to said plurality of synchronising requests said responses confirming said queried progress has occurred at said respective device, said gather circuitry being configured to determine when responses to all of said plurality of synchronising requests generated in response to one of said system synchronising requests have been received and in response to determining that all of said responses have been received to output a response to said one of said system synchronising request.