Patent ID: 8601167

Claim:
Interconnect circuitry for a data processing apparatus, said interconnect circuitry configured to provide data routes by which at least one initiator device may access at least one recipient device, said interconnect circuitry comprising: at least one input for receiving transaction requests from said at least one initiator device; at least one output for outputting said transaction requests to said at least one recipient device; at least one path for transmitting said transaction requests between said at least one input and said at least one output; control circuitry configured to route said received transaction requests from said at least one input to said at least one output, wherein said control circuitry is configured to maintain an ordering of at least some transaction requests with respect to said barrier transaction request within a stream of transaction requests passing along one of said at least one paths, by not allowing reordering of at least some of said transactions requests that occur before said barrier transaction request in said stream of transaction requests with respect to at least some of said transaction requests that occur after said barrier transaction request in said stream of transaction requests; hazard checking circuitry configured to check a stream of transaction requests and comparing a transaction request within said stream of transaction requests against earlier outstanding transaction requests that have not yet completed, to determine if said transaction request may potentially generate a data hazard, and, in response to detecting a potential hazard between said transaction request and at least one of said outstanding transaction requests, said hazard checking circuitry is configured to stall said transaction request until said at least one outstanding transaction request has completed; and barrier termination circuitry associated with said hazard checking circuitry and configured to detect a barrier transaction request within said stream of transaction requests and, only in response to detecting said barrier transaction request, to terminate said detected barrier transaction request.