Memory access consolidation for SIMD processing elements having access indicators
First Claim
1. A method of retrieving a data item from a memory unit in a data processing apparatus comprising a SIMD (single instruction multiple data) array of processing elements, wherein the processing elements are operably divided into a plurality of processing blocks, the processing blocks being operable to process respective groups of data items and wherein the data processing apparatus includes said memory unit in which data items are stored at addresses therein, and to which the plurality of processing elements have access, the method comprising:
- for each processing element in the array which requires access to the memory unit, setting an access indicator to indicate that the processing element concerned requires access to the memory unit, and storing a target address of the memory unit to which such access is required;
selecting one of the processing elements having the access indicator set, and retrieving the stored target address from that selected processing element;
transmitting the retrieved target address and transaction identification information to the processing elements in the array;
for each processing element having the access indicator set, comparing the transmitted target address with the stored target address, and it the stored and transmitted target addresses are equivalent, clearing the access indicator and storing the transaction identification information;
retrieving at least one data item stored at the transmitted target address in the memory unit;
transmitting the at least one retrieved data item and associated transaction identification information to the processing elements in the array; and
for each processing element having stored transaction identification information, comparing the stored transaction identification information with the transmitted transaction identification information, and if the stored transaction information is equivalent to the transmitted transaction information, receiving the or each retrieved data item.
3 Assignments
0 Petitions
Accused Products
Abstract
A data processing apparatus includes a SIMD (Single Instruction Multiple Data) array (10) of processing elements. The processing elements are operably divided into a plurality of processing blocks, the processing blocks being operable to process respective groups of data items.
-
Citations
9 Claims
-
1. A method of retrieving a data item from a memory unit in a data processing apparatus comprising a SIMD (single instruction multiple data) array of processing elements, wherein the processing elements are operably divided into a plurality of processing blocks, the processing blocks being operable to process respective groups of data items and wherein the data processing apparatus includes said memory unit in which data items are stored at addresses therein, and to which the plurality of processing elements have access, the method comprising:
-
for each processing element in the array which requires access to the memory unit, setting an access indicator to indicate that the processing element concerned requires access to the memory unit, and storing a target address of the memory unit to which such access is required; selecting one of the processing elements having the access indicator set, and retrieving the stored target address from that selected processing element; transmitting the retrieved target address and transaction identification information to the processing elements in the array; for each processing element having the access indicator set, comparing the transmitted target address with the stored target address, and it the stored and transmitted target addresses are equivalent, clearing the access indicator and storing the transaction identification information; retrieving at least one data item stored at the transmitted target address in the memory unit; transmitting the at least one retrieved data item and associated transaction identification information to the processing elements in the array; and for each processing element having stored transaction identification information, comparing the stored transaction identification information with the transmitted transaction identification information, and if the stored transaction information is equivalent to the transmitted transaction information, receiving the or each retrieved data item.
-
-
2. A method of writing data items to a memory unit in a data processing apparatus comprising a SIMD (single instruction multiple data) array of processing elements, wherein the processing elements are operably divided into a plurality of processing blocks, the processing blocks being operable to process respective groups of data items, and wherein the data processing apparatus includes the memory unit in which data items are stored at addresses therein, and to which the plurality of processing elements have access the method comprising:
-
for each processing element in the array which requires access to the memory unit, setting an access indicator to indicate that the processing element concerned requires access to the memory unit, and storing a target address of the memory unit to which such access is required; selecting one of the processing elements having the access indicator set, and retrieving the stored target address from that selected processing element; transmitting the retrieved target address and transaction identification information to all the processing elements in the array; for each processing element having the access indicator set, comparing the transmitted target address with the stored target address, and if the stored and transmitted target addresses are equivalent, clearing the access indicator and storing the transaction identification information; transmitting transaction identification information to the processing elements in the array; for each processing element having stored transaction identification information, comparing the stored transaction identification information with the transmitted transaction identification information, and if the stored transaction information is equivalent to the transmitted transaction information, transmitting at least one data item to be stored in the memory unit at the target address; and storing the at least one transmitted data item at the target address in the memory unit. - View Dependent Claims (3)
-
-
4. In a data processing apparatus, a method of retrieving a data item from a memory unit in which data items are stored at addresses therein, said data processing apparatus further comprising an array of a plurality of processing elements which have access to the memory unit, the method comprising:
-
for each processing element in the array which requires access to the memory unit, setting an access indicator to indicate that the processing element concerned requires access to the memory unit, and storing a target address of the memory unit to which such access is required; selecting one of the processing elements having the access indicator set, and retrieving the stored target address from that selected processing element; transmitting the retrieved target address and transaction identification information to the processing elements in the array; for each processing element having the access indicator set, comparing the transmitted target address with the stored target address, and if the stored and transmitted target addresses are equivalent, clearing the access indicator and storing the transaction, identification information; retrieving at least one data item stored at the transmitted target address in the memory unit; transmitting the at least one retrieved data item and associated transaction identification information to the processing elements in the array; and for each processing element having stored transaction identification information, comparing the stored transaction identification information with the transmitted transaction identification information, and if the stored transaction information is equivalent to the transmitted transaction information, receiving the at least one retrieved data item. - View Dependent Claims (5, 6)
-
-
7. A method of writing data items to a memory unit in a data processing apparatus including the memory unit in which data items are stored at addresses therein, and an array of a plurality of processing elements which have access to the memory unit, the method comprising:
-
for each processing element in the array which requires access to the memory unit, setting an access indicator to indicate that the processing element concerned requires access to the memory unit, and storing a target address of the memory unit to which such access is required; selecting one of the processing elements having the access indicator set, and retrieving the stored target address from that selected processing element; transmitting the retrieved target address and transaction identification information to all the processing elements in the array; for each processing element having the access indicator set, comparing the transmitted target address with the stored target address, and if the stored and transmitted target addresses are equivalent, clearing the access indicator and storing the transaction identification information; transmitting transaction identification information to the processing elements in the array; for each processing element having stored transaction identification information, comparing the stored transaction identification information with the transmitted transaction identification information, and if the stored transaction information is equivalent to the transmitted transaction information, transmitting at least one data item to be stored in the memory unit at the target address; and storing the at least one transmitted data item at the, target address in the memory unit. - View Dependent Claims (8, 9)
-
Specification