Data processing apparatus and method for performing hazard detection
First Claim
1. A data processing apparatus for coupling to one or more slave devices, the data processing apparatus comprising:
- processing circuitry for issuing a series of access requests for handling by said one or more slave devices, said series of access requests including one or more write access requests, each write access request specifying a write operation to be performed by an addressed slave device from said one or more slave devices, and each issued write access request being a pending write access request until the write operation has been completed by the addressed slave device; and
hazard detection circuitry for detecting occurrence of at least one hazard condition in respect of the series of access requests issued by the processing circuitry;
said hazard detection circuitry comprising;
a pending write access history storage comprising at least one buffer and at least one counter for keeping a record of each pending write access request;
update circuitry, responsive to receipt of a write access request to be issued by the processing circuitry, to perform an update process to identify that write access request as a pending write access request in one of said at least one buffers and, if the identity of another pending write access request is overwritten by that update process, to increment a count value in said at least one counter;
on completion of each write access request by the addressed slave device, the update circuitry being arranged to perform a further update process to remove the record of that completed write access request from the pending write access history storage; and
hazard checking circuitry, responsive to at least a subset of the access requests to be issued by the processing circuitry, to reference the pending write access history storage in order to determine whether said at least one hazard condition occurs.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing apparatus and method are provided for performing hazard detection in respect of a series of access requests issued by processing circuitry for handling by one or more slave devices. The series of access requests include one or more write access requests, each write access request specifying a write operation to be performed by an addressed slave device, and each issued write access request being a pending write access request until the write operation has been completed by the addressed slave device. Hazard detection circuitry comprises a pending write access history storage having at least one buffer and at least one counter for keeping a record of each pending write access request. Update circuitry is responsive to receipt of a write access request to be issued by the processing circuitry, to perform an update process to identify that write access request as a pending write access request in one of the buffers, and if the identity of another pending write access request is overwritten by that update process, to increment a count value in one of the counters. On completion of each write access request by the addressed slave device, the update circuitry performs a further update process to remove the record of that completed write access request from the pending write access history storage. Hazard checking circuitry is then responsive to at least a subset of the access requests to be issued by the processing circuitry, to reference the pending write access history storage in order to determine whether a hazard condition occurs. The manner in which the update circuitry uses a combination of buffers and counters to keep a record of each pending write access request provides improved performance with respect to known prior art techniques, without the hardware cost that would be associated with increasing the number of buffers.
-
Citations
21 Claims
-
1. A data processing apparatus for coupling to one or more slave devices, the data processing apparatus comprising:
-
processing circuitry for issuing a series of access requests for handling by said one or more slave devices, said series of access requests including one or more write access requests, each write access request specifying a write operation to be performed by an addressed slave device from said one or more slave devices, and each issued write access request being a pending write access request until the write operation has been completed by the addressed slave device; and hazard detection circuitry for detecting occurrence of at least one hazard condition in respect of the series of access requests issued by the processing circuitry; said hazard detection circuitry comprising; a pending write access history storage comprising at least one buffer and at least one counter for keeping a record of each pending write access request; update circuitry, responsive to receipt of a write access request to be issued by the processing circuitry, to perform an update process to identify that write access request as a pending write access request in one of said at least one buffers and, if the identity of another pending write access request is overwritten by that update process, to increment a count value in said at least one counter; on completion of each write access request by the addressed slave device, the update circuitry being arranged to perform a further update process to remove the record of that completed write access request from the pending write access history storage; and hazard checking circuitry, responsive to at least a subset of the access requests to be issued by the processing circuitry, to reference the pending write access history storage in order to determine whether said at least one hazard condition occurs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of detecting occurrence of at least one hazard condition in respect of a series of access requests issued by processing circuitry for handling by one or more slave devices, said series of access requests including one or more write access requests, each write access request specifying a write operation to be performed by an addressed slave device from said one or more slave devices, and each issued write access request being a pending write access request until the write operation has been completed by the addressed slave device, the method comprising the steps of:
-
providing a pending write access history storage comprising at least one buffer and at least one counter for keeping a record of each pending write access request; responsive to receipt of a write access request to be issued by the processing circuitry, performing an update process to identify that write access request as a pending write access request in one of said at least one buffers and, if the identity of another pending write access request is overwritten by that update process, to increment a count value in said at least one counter; on completion of each write access request by the addressed slave device, performing a further update process to remove the record of that completed write access request from the pending write access history storage; and responsive to at least a subset of the access requests to be issued by the processing circuitry, referencing the pending write access history storage in order to determine whether said at least one hazard condition occurs.
-
-
21. A data processing apparatus for coupling to one or more slave device means, the data processing apparatus comprising:
-
processing means for issuing a series of access requests for handling by said one or more slave device means, said series of access requests including one or more write access requests, each write access request specifying a write operation to be performed by an addressed slave device means from said one or more slave device means, and each issued write access request being a pending write access request until the write operation has been completed by the addressed slave device means; and hazard detection means for detecting occurrence of at least one hazard condition in respect of the series of access requests issued by the processing means; said hazard detection means comprising; a pending write access history storage means comprising at least one buffer means and at least one counter means for keeping a record of each pending write access request; update means, responsive to receipt of a write access request to be issued by the processing means, for performing an update process to identify that write access request as a pending write access request in one of said at least one buffer means and, if the identity of another pending write access request is overwritten by that update process, for incrementing a count value in said at least one counter means; on completion of each write access request by the addressed slave device means, the update means for performing a further update process to remove the record of that completed write access request from the pending write access history storage means; and hazard checking means, responsive to at least a subset of the access requests to be issued by the processing means, for referencing the pending write access history storage means in order to determine whether said at least one hazard condition occurs.
-
Specification