摘要 |
Disclosed is a device 10, 14 that selects the requests to be serviced in a data processing apparatus. The device has an arbitration stage 50 that selects an arbitrated request from a list of candidate requests and a hazard detection stage 60 that performs hazard detection to predict whether the arbitrated request selected by the arbitration stage meets a hazard condition. If the arbitrated request meets the hazard condition, the hazard detection stage returns the arbitration request to the arbitration stage for a later arbitration and sets a hazard indication for the returned request. The hazard detection stage controls an arbitration request to be returned if it conflicts with a candidate request having the hazard indication set. The arbitration stage may in each arbitration select two candidate requests from the list of requests and select the arbitrated request from the two candidates. Also, the hazard detection stage detects that another arbitrated request conflicts with a candidate request having the hazard indication set even if the candidate request having the hazard indication set is not currently one of the candidate requests selected for arbitration. |