Data transfer arbitration apparatus and data transfer arbitration method
First Claim
1. A data transfer arbitration apparatus in which data to be recorded are sequentially transferred to a memory controller that records data in memory having a plurality of banks, the apparatus comprising:
- a selector which selects a data transfer requesting entity from among a plurality of data transfer requesting entities, irrespective of priority sequence of transfer service for the data transfer requesting entity; and
a transmitter which transmits, to the memory controller, data requested to be transferred by the selected data transfer requesting entity,wherein;
said selector selects consecutively the data transfer requesting entity so that the transfer service for the same data transfer requesting entity is consecutively executed, and determines the number of consecutive selections in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length so that a transfer across the banks of the memory occurs by a plurality of the transfer services; and
when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank.
3 Assignments
0 Petitions
Accused Products
Abstract
When a concentration of access requests on a specific bank occurs, the delay time is caused due to the competition among the accesses, thereby lowering the processing speed of an information processing apparatus as a whole. A data transfer arbitration unit 172 sequentially transfers data to be recorded to a memory controller 160 that records data in memory having a plurality of banks. A selector 174 selects any DMAC 170 from among a plurality of DMACs, irrespective of priority sequence of transfer service for the DMAC. A transmitter 176 transmits, to a control-side transfer unit 114, data requested to be transferred by the selected DMAC 170. The selector 174 selects consecutively the DMAC 170 so that the transfer service for the same DMAC is consecutively executed, and determines the number of consecutive selections so that a transfer across the banks of the DMAC 170 occurs by a plurality of the transfer services.
-
Citations
18 Claims
-
1. A data transfer arbitration apparatus in which data to be recorded are sequentially transferred to a memory controller that records data in memory having a plurality of banks, the apparatus comprising:
-
a selector which selects a data transfer requesting entity from among a plurality of data transfer requesting entities, irrespective of priority sequence of transfer service for the data transfer requesting entity; and a transmitter which transmits, to the memory controller, data requested to be transferred by the selected data transfer requesting entity, wherein; said selector selects consecutively the data transfer requesting entity so that the transfer service for the same data transfer requesting entity is consecutively executed, and determines the number of consecutive selections in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length so that a transfer across the banks of the memory occurs by a plurality of the transfer services; and when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank. - View Dependent Claims (2, 3, 4)
-
-
5. A data transfer arbitration apparatus in which data to be recorded are sequentially transferred to a memory controller that records data in memory having a plurality of banks, the apparatus comprising:
-
a selector which selects a data transfer requesting entity from among a plurality of data transfer requesting entities, according to priority sequence of transfer service determined for the plurality of data transfer requesting entities; and a transmitter which transmits, to the memory controller, data requested to be transferred by the selected data transfer requesting entity, wherein; when the data transfer requesting entity requests another data transfer after having received a transfer service, said selector selects consecutively the data transfer requesting entity after having received the transfer service, even if there exists a data transfer requesting entity which is supposed to receive a transfer service next time according to the priority sequence, and determines the number of consecutive selections in a manner that a product of the bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length so that a transfer across the banks of the memory occurs by a plurality of the transfer services; and when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank. - View Dependent Claims (6, 7)
-
-
8. A data transfer arbitration method in which when data transfer requests are issued, in parallel, from a plurality of data transfer requesting entities to memory having a plurality of banks, a transfer service is sequentially provided to the data transfer requesting entities, the method characterized in that
a data transfer requesting entity is consecutively selected from among the plurality of data transfer requesting entities so that the transfer service for the data transfer requesting entity is performed consecutively a predetermined number of times, irrespective of priority sequence of transfer service for the data transfer requesting entity, and the predetermined number of times is determined so that a transfer across the banks of the memory occurs by a plurality of the transfer services, wherein: -
the number of consecutive selections is determined in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length; and when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank. - View Dependent Claims (9, 10, 11)
-
-
12. A data transfer arbitration method in which when data transfer requests are issued, in parallel, from a plurality of data transfer requesting entities to memory having a plurality of banks, a transfer service is sequentially provided to the data transfer requesting entities, the method characterized in that
a data transfer requesting entity is selected from among the plurality of data transfer requesting entities, according to priority sequence of transfer service determined for the plurality of data transfer requesting entities, so as to perform the transfer service, and when the data transfer requesting entity requests another data transfer after having received the transfer service, the data transfer requesting entity is consecutively selected so that the transfer service to the data transfer requesting entity after having received the transfer service is consecutively performed, even if there exists a data transfer requesting entity which is supposed to receive a transfer service next time according to the priority sequence, and the number of consecutive selections is determined in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length so that a transfer across the banks of the memory occurs by a plurality of the transfer services, wherein when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank.
-
15. A recording medium, readable by a computer, on which a data transfer arbitration program is stored and on which a set of instructions is stored for causing the computer, when data transfer requests are issued, in parallel, from a plurality of data transfer requesting entities to memory having a plurality of banks, to execute the data transfer arbitration program for sequentially providing a transfer service to the data transfer requesting entities by causing the computer to perform steps comprising:
-
consecutively selecting a data transfer requesting entity from among the plurality of data transfer requesting entities so that the transfer service for the data transfer requesting entity is performed consecutively a predetermined number of times, irrespective of priority sequence of transfer service for the data transfer requesting entity, and determining the predetermined number of times so that a transfer across the banks of the memory occurs by a plurality of the transfer services, wherein; the number of consecutive selections is determined in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length; and when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank. - View Dependent Claims (16)
-
-
17. A recording medium, readable by a computer, on which a data transfer arbitration program is stored and on which a set of instructions is stored for causing the computer, when data transfer requests are issued, in parallel, from a plurality of data transfer requesting entities to memory having a plurality of banks, to execute the data transfer arbitration program for sequentially providing a transfer service to the data transfer requesting entities by causing the computer to perform steps comprising:
-
selecting a data transfer requesting entity from among the plurality of data transfer requesting entities, according to priority sequence of transfer service determined for the plurality of data transfer requesting entities, so as to perform the transfer service, consecutively selecting the data transfer requesting entity when the data transfer requesting entity requests another data transfer after having received the transfer service, so that the transfer service to the data transfer requesting entity after having received the transfer service is consecutively performed, even if there exists a data transfer requesting entity which is supposed to receive a transfer service next time according to the priority sequence, and determining the number of consecutive selections in a manner that a product of a bit number of data transmitted by one transfer service and the number of consecutive selections is less than or equal to predetermined stride length so that a transfer across the banks of the memory occurs by a plurality of the transfer services, wherein when data write destinations which have been read in advance are not consecutive among the addresses of one round of all the banks, the stride length is shortened from maximum stride length, the maximum stride length being defined as a product of the number of the banks and the entry bit number of each bank. - View Dependent Claims (18)
-
Specification