Synchronization of hardware units in data processing systems
AssigneeArm Limited
InventorsPan Xuefeng, Yin Jianfeng
Life of this patent
Estimating the term…
Abstract
A data processing system includes one or more producer processing units operable to produce data outputs, and one or more consumer processing units operable to use a data output produced by a producer processing unit, and a synchronization unit that is operable to communicate with the one or more producer processing units and the one or more consumer processing units, so as to synchronize the production and use of data outputs by the producer and consumer processing units.
Claims23
A data processing system comprising:
- one or more producer processing units operable to produce data outputs;
- one or more consumer processing units operable to use a data output produced by a producer processing unit;
- and
- a memory for storing data outputs produced by the producer processing unit or units;
- wherein:
- the one or more producer processing units each comprise processing circuitry operable to produce a data output and store the data output in the memory;
- and
- the one or more consumer processing units each comprise processing circuitry operable to read a data output from the memory and use the read data output;
- the data processing system further comprising:
- a synchronization unit that is operable to communicate with the one or more producer processing units and the one or more consumer processing units, and that is operable to:
- maintain a record of data outputs that are being generated by producer processing units of the data processing system;
- receive from a producer processing unit of the data processing system a message relating to the progress that the producer processing unit has made when producing a data output;
- and
- and to, in response to the message relating to the progress that the producer processing unit has made when producing the data output received from the producer processing unit:
- send to one or more consumer processing units of the data processing system a message relating to the progress that the producer processing unit has made when producing the data output;
- wherein:
- the one or more producer processing units each further comprise processing circuitry operable to send to the synchronization unit messages relating to the progress that the producer processing unit has made when producing a data output;
- and
- the one or more consumer processing units each further comprise processing circuitry operable to:
- receive data output progress messages from the synchronization unit and to control the reading of a data output from the memory in accordance with data output progress messages received from the synchronization unit.
A method of operating a data processing system that comprises:
- one or more producer processing units operable to produce data outputs;
- one or more consumer processing units operable to use a data output produced by a producer processing unit;
- a memory for storing data outputs produced by the producer processing unit or units;
- and
- a synchronization unit that is operable to communicate with the one or more producer processing units and the one or more consumer processing units;
- the method comprising:
- a producer processing unit of the one or more producer processing units producing a data output and storing the data output in the memory;
- and
- one or more of the one or more consumer processing units reading the data output from the memory and using the read data output;
- the method further comprising:
- the synchronization unit maintaining a record of the data output that is being generated by the producer processing unit;
- the producer processing unit that is producing the data output sending to the synchronization unit a message relating to the progress that the producer processing unit has made when producing the data output;
- the synchronization unit receiving from the producer processing unit the message relating to the progress that the producer processing unit has made when producing the data output, and, in response to the message relating to the progress that the producer processing unit has made when producing the data output from the producer processing unit, the synchronization unit sending to one or more consumer processing units of the data processing system, a message relating to the progress that the producer processing unit has made when producing the data output;
- and
- one or more of the consumer processing units receiving the data output progress message from the synchronization unit and controlling their reading of the data output from the memory in accordance with the data output progress message received from the synchronization unit.
A computer readable storage medium storing computer software code which when executing on a processor performs a method of operating a data processing system that comprises:
- one or more producer processing units operable to produce data outputs;
- one or more consumer processing units operable to use a data output produced by a producer processing unit;
- a memory for storing data outputs produced by the producer processing unit or units;
- and
- a synchronization unit that is operable to communicate with the one or more producer processing units and the one or more consumer processing units;
- the method comprising:
- a producer processing unit of the one or more producer processing units producing a data output and storing the data output in the memory;
- and
- one or more of the one or more consumer processing units reading the data output from the memory and using the read data output;
- the method further comprising:
- the synchronization unit maintaining a record of the data output that is being generated by the producer processing unit;
- the producer processing unit that is producing the data output sending to the synchronization unit a message relating to the progress that the producer processing unit has made when producing the data output;
- the synchronization unit receiving from the producer processing unit the message relating to the progress that the producer processing unit has made when producing the data output, and, in response to the message relating to the progress that the producer processing unit has made when producing the data output from the producer processing unit, the synchronization unit sending to one or more consumer processing units of the data processing system, a message relating to the progress that the producer processing unit has made when producing the data output;
- and
- one or more of the consumer processing units receiving the data output progress message from the synchronization unit and controlling their reading of the data output from the memory in accordance with the data output progress message received from the synchronization unit.
Dependencies are inferred from the claim text.