JP5644531B2 - Data transfer apparatus and data transfer method - Google Patents

Data transfer apparatus and data transfer method Download PDF

Info

Publication number
JP5644531B2
JP5644531B2 JP2011009033A JP2011009033A JP5644531B2 JP 5644531 B2 JP5644531 B2 JP 5644531B2 JP 2011009033 A JP2011009033 A JP 2011009033A JP 2011009033 A JP2011009033 A JP 2011009033A JP 5644531 B2 JP5644531 B2 JP 5644531B2
Authority
JP
Japan
Prior art keywords
transfer
data
buffer
buffers
division
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011009033A
Other languages
Japanese (ja)
Other versions
JP2012150663A (en
Inventor
真悟 黒田
真悟 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2011009033A priority Critical patent/JP5644531B2/en
Publication of JP2012150663A publication Critical patent/JP2012150663A/en
Application granted granted Critical
Publication of JP5644531B2 publication Critical patent/JP5644531B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

データ転送装置及びデータ転送方法に関する。   The present invention relates to a data transfer apparatus and a data transfer method.

従来、データ転送装置は、複数のバッファのそれぞれに蓄積されたデータを例えば1つの転送先の装置に転送する(例えば、特許文献1参照)。複数のバッファは、1つのデータバスに接続されている。各バッファには、それぞれに接続された装置から送信されるデータが格納される。データ転送装置は、データ転送を行う際、データバスにデータを送信する送信許可(占有権)を得るためにリクエスト信号を調停部に送信する。送信許可を得たデータ転送装置は、送信許可に対応するバッファに格納されたデータを、データバスを介して転送先に送信する。   Conventionally, a data transfer device transfers data stored in each of a plurality of buffers to, for example, one transfer destination device (see, for example, Patent Document 1). The plurality of buffers are connected to one data bus. Each buffer stores data transmitted from a device connected thereto. When data transfer is performed, the data transfer device transmits a request signal to the arbitration unit in order to obtain a transmission permission (occupation right) for transmitting data to the data bus. The data transfer apparatus that has obtained the transmission permission transmits the data stored in the buffer corresponding to the transmission permission to the transfer destination via the data bus.

特開平4−37941号公報JP-A-4-37941

しかしながら、上記のようなデータ転送方法では、送信許可を得たバッファのデータが全て転送された後に、他のバッファ(他の装置)に送信許可が与えられる。データサイズが大きいバッファはデータバスを長時間占有するため、他のバッファのデータ転送が長時間待たされる。   However, in the data transfer method as described above, after all the data in the buffer that has obtained the transmission permission is transferred, the transmission permission is given to another buffer (another device). Since a buffer with a large data size occupies the data bus for a long time, the data transfer of other buffers is waited for a long time.

このデータ転送装置で、共有のデータバスに接続された各バッファのデータ転送時の待ち時間を減らすことを目的とする。   An object of this data transfer apparatus is to reduce the waiting time during data transfer of each buffer connected to a shared data bus.

本発明の一観点によれば、複数の前記バッファのデータ蓄積量に基づいて分割サイズをそれぞれ算出する分割サイズ算出部と、複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を出力する複数の分割転送制御部と、前記転送指示に応じて前記バッファから前記転送先にデータを転送する転送制御部と、を含み、前記分割サイズ算出部は、複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出する複数の時間予測部と、前記バスの転送レートに基づいて、複数の前記予測時間を複数の前記分割サイズにそれぞれ変換する複数のサイズ変換部と、を含むAccording to an aspect of the present invention, a division size calculation unit that calculates a division size based on data accumulation amounts of a plurality of buffers, and a plurality of buffers corresponding to the plurality of buffers, according to the division size and the data accumulation amount. a plurality of divided transfer control section for outputting a transfer instruction of the corresponding buffer Te, the transfer instruction seen including and a transfer control unit that transfers the data to the transfer destination from the buffer in response to the division size calculation unit A plurality of time prediction units for calculating respective predicted times until the next transfer request is issued based on the data accumulation amounts of the plurality of buffers, and a plurality of the predicted times based on the transfer rate of the bus. A plurality of size conversion units that respectively convert the plurality of division sizes .

本発明の一観点によれば、データ転送時の待ち時間を減らすことができる。   According to one aspect of the present invention, the waiting time during data transfer can be reduced.

データ転送システムの概略ブロック図である。1 is a schematic block diagram of a data transfer system. 分割サイズ算出部の概略ブロック図である。It is a schematic block diagram of a division size calculation unit. 分割転送制御部の処理フローチャートである。It is a process flowchart of a division transfer control part. 各バッファのデータ蓄積量と転送タイミングを示す説明図である。It is explanatory drawing which shows the data accumulation amount and transfer timing of each buffer. 各バッファのデータ蓄積量と転送タイミングを示す説明図である。It is explanatory drawing which shows the data accumulation amount and transfer timing of each buffer. 各バッファのデータ蓄積量と転送タイミングを示す説明図である。It is explanatory drawing which shows the data accumulation amount and transfer timing of each buffer. 別例におけるデータ転送システムの概略ブロック図である。It is a schematic block diagram of the data transfer system in another example. 別例における分割サイズ算出部の概略ブロック図である。It is a schematic block diagram of the division size calculation part in another example.

以下、一実施形態を図1〜図4に従って説明する。
図1に示すように、複数(図1において2つ)の通信装置11a,11bは、バッファ12a,12bを介してそれぞれデータバス13と接続され、そのデータバス13はデータ転送装置20を介して転送先である目的の装置14に接続されている。
Hereinafter, an embodiment will be described with reference to FIGS.
As shown in FIG. 1, a plurality (two in FIG. 1) of communication devices 11 a and 11 b are connected to a data bus 13 via buffers 12 a and 12 b, respectively, and the data bus 13 is connected via a data transfer device 20. It is connected to a target device 14 that is a transfer destination.

各通信装置11a,11bからのデータはバッファ12a,12bにそれぞれ転送され、このバッファ12a,12b内のデータの転送を制御するデータ転送装置20の通信許可を得て、目的の装置14に対してデータバス13を介したデータ転送が可能とされる。各バッファ12a,12bは、例えばライトポインタとリードポインタとによりデータの書き込みとデータの読み出しが制御されるFIFO(First In First Out)メモリである。各バッファ12a,12bは、例えばライトポインタとリードポインタとに基づいて算出したデータ蓄積量Dsa,Dsbをそれぞれ出力する。   Data from each of the communication devices 11a and 11b is transferred to the buffers 12a and 12b, respectively, and the data transfer device 20 that controls the transfer of the data in the buffers 12a and 12b is permitted to communicate with the target device 14. Data transfer via the data bus 13 is enabled. Each of the buffers 12a and 12b is, for example, a FIFO (First In First Out) memory in which data writing and data reading are controlled by a write pointer and a read pointer. Each of the buffers 12a and 12b outputs data accumulation amounts Dsa and Dsb calculated based on, for example, a write pointer and a read pointer.

分割サイズ算出部21には、各バッファ12a,12bからデータ蓄積量Dsa,Dsbが供給される。また、分割サイズ算出部21には、制御部22から各種情報が供給される。   The division size calculation unit 21 is supplied with data accumulation amounts Dsa and Dsb from the buffers 12a and 12b. Various information is supplied from the control unit 22 to the division size calculation unit 21.

制御部22には、バッファ12aに対応する転送レートRtaと、バッファ12bに対応する転送レートRtbと、データバス13に対応する転送レートRt0とが記憶されている。各転送レートRta,Rtb,Rt0は、例えばデータ転送に用いられるクロック信号の周波数に応じて設定されている。また、制御部22には、バッファ12aに対応するしきい値Biaと、バッファ12bに対応するしきい値Bibが記憶されている。制御部22は、各転送レートRta,Rtb,Rt0と各しきい値Bia,Bibを出力する。   The control unit 22 stores a transfer rate Rta corresponding to the buffer 12a, a transfer rate Rtb corresponding to the buffer 12b, and a transfer rate Rt0 corresponding to the data bus 13. Each transfer rate Rta, Rtb, Rt0 is set according to the frequency of a clock signal used for data transfer, for example. Further, the control unit 22 stores a threshold value Bia corresponding to the buffer 12a and a threshold value Bib corresponding to the buffer 12b. The control unit 22 outputs each transfer rate Rta, Rtb, Rt0 and each threshold value Bia, Bib.

分割サイズ算出部21は、各転送レートRta,Rtb,Rt0と、各データ蓄積量Dsa,Dsbと、各しきい値Bia,Bibに基づいて、各バッファ12a,12bに対応する分割サイズBsa,Bsbを算出する。詳しくは、分割サイズ算出部21は、バッファ12bに対応する転送レートRtb,データ蓄積量Dsb,しきい値Bibと、データバス13に対応する転送レートRt0とに基づいて、バッファ12aに対応する分割サイズBsaを算出する。また、分割サイズ算出部21は、バッファ12aに対応する転送レートRta,データ蓄積量Dsa,しきい値Biaと、データバス13に対応する転送レートRt0とに基づいて、バッファ12bに対応する分割サイズBsbを算出する。   The division size calculation unit 21 divides the division sizes Bsa and Bsb corresponding to the buffers 12a and 12b based on the transfer rates Rta, Rtb, and Rt0, the data storage amounts Dsa and Dsb, and the threshold values Bia and Bib. Is calculated. Specifically, the division size calculation unit 21 performs division corresponding to the buffer 12a based on the transfer rate Rtb, the data accumulation amount Dsb, the threshold value Bib corresponding to the buffer 12b, and the transfer rate Rt0 corresponding to the data bus 13. The size Bsa is calculated. Further, the division size calculation unit 21 determines the division size corresponding to the buffer 12b based on the transfer rate Rta, the data accumulation amount Dsa, the threshold Bia corresponding to the buffer 12a, and the transfer rate Rt0 corresponding to the data bus 13. Bsb is calculated.

バッファ12aに対応する分割サイズBsaは、分割転送制御部23aに供給される。バッファ12bに対応する分割サイズBsbは、分割転送制御部23bに供給される。制御部22は任意のタイミングで分割転送制御部23a,23bに対して転送指示Tsa,Tsbを出力する。   The division size Bsa corresponding to the buffer 12a is supplied to the division transfer control unit 23a. The division size Bsb corresponding to the buffer 12b is supplied to the division transfer control unit 23b. The control unit 22 outputs transfer instructions Tsa and Tsb to the divided transfer control units 23a and 23b at an arbitrary timing.

分割転送制御部23aは、制御部22から出力される転送指示Tsaと、バッファ12aから出力されるデータ蓄積量Dsaと、分割サイズ算出部21から出力される分割サイズBsaとに基づくタイミングで、調停部24に対して分割サイズによる転送指示Tbaを出力する。転送指示Tbaは、対応するバッファ12aから転送先の装置14に転送するデータ量を含む。   The division transfer control unit 23a performs arbitration at a timing based on the transfer instruction Tsa output from the control unit 22, the data accumulation amount Dsa output from the buffer 12a, and the division size Bsa output from the division size calculation unit 21. The transfer instruction Tba based on the division size is output to the unit 24. The transfer instruction Tba includes the amount of data transferred from the corresponding buffer 12a to the transfer destination device 14.

同様に、分割転送制御部23bは、制御部22から出力される転送指示Tsbと、バッファ12bから出力されるデータ蓄積量Dsbと、分割サイズ算出部21から出力される分割サイズBsbとに基づくタイミングで、調停部24に対して分割サイズによる転送指示Tbbを出力する。転送指示Tbbは、対応するバッファ12bから転送先の装置14に転送するデータ量を含む。   Similarly, the division transfer control unit 23b performs timing based on the transfer instruction Tsb output from the control unit 22, the data accumulation amount Dsb output from the buffer 12b, and the division size Bsb output from the division size calculation unit 21. Then, the transfer instruction Tbb based on the division size is output to the arbitration unit 24. The transfer instruction Tbb includes the amount of data transferred from the corresponding buffer 12b to the transfer destination device 14.

調停部24は、分割転送制御部23a,23bから出力される転送指示Tba,Tbbを調停し、調停結果に応じた転送指示Tbsを転送制御部25に出力する。転送指示Tbsは、転送対象とするバッファを選択するための選択情報と、その選択したバッファから転送するデータの量を示す転送サイズ情報を含む。   The arbitration unit 24 arbitrates transfer instructions Tba and Tbb output from the divided transfer control units 23 a and 23 b and outputs a transfer instruction Tbs according to the arbitration result to the transfer control unit 25. The transfer instruction Tbs includes selection information for selecting a buffer to be transferred, and transfer size information indicating the amount of data transferred from the selected buffer.

転送制御部25は、調停部24からの転送指示Tbsに従って、転送元のバッファから転送先の装置14へ、指定されたサイズのデータを転送する。即ち、転送制御部25は、転送指示Tbsに含まれる選択情報に従ってバッファ12a,12bのうちの何れか1つを転送元として選択する。そして、転送制御部25は、選択したバッファから転送先の装置14へ、転送指示Tbsに含まれる転送サイズのデータを転送する。   The transfer control unit 25 transfers data of a specified size from the transfer source buffer to the transfer destination device 14 in accordance with the transfer instruction Tbs from the arbitration unit 24. That is, the transfer control unit 25 selects one of the buffers 12a and 12b as a transfer source according to the selection information included in the transfer instruction Tbs. Then, the transfer control unit 25 transfers data of the transfer size included in the transfer instruction Tbs from the selected buffer to the transfer destination device 14.

次に、分割サイズ算出部21について詳細に説明する。
図2に示すように、分割サイズ算出部21は、バッファ12aに対応する時間予測部31aと、バッファ12bに対応する時間予測部31bとを備えている。
Next, the division size calculation unit 21 will be described in detail.
As illustrated in FIG. 2, the division size calculation unit 21 includes a time prediction unit 31a corresponding to the buffer 12a and a time prediction unit 31b corresponding to the buffer 12b.

時間予測部31aと時間予測部31bは、互いに対応するバッファ以外のバッファのデータ格納状況に応じて、対応するバッファ
時間予測部31aと時間予測部31bは、互いに対応するバッファ以外のバッファに対するデータ蓄積時間を算出する。即ち、時間予測部31aは、バッファ12bに所定量(しきい値Bib)のデータを蓄積するまでに要する時間(データ蓄積時間)Tpbを算出する。時間予測部31bは、バッファ12aに所定量(しきい値Bia)のデータを蓄積するまでに要する時間(データ蓄積時間)Tpbを算出する。
The time prediction unit 31a and the time prediction unit 31b correspond to the data storage status of the buffers other than the buffers corresponding to each other. The corresponding buffer time prediction unit 31a and the time prediction unit 31b store the data in the buffers other than the corresponding buffers. Calculate time. That is, the time predicting unit 31a calculates the time (data storage time) Tpb required to store a predetermined amount (threshold value Bib) of data in the buffer 12b. The time prediction unit 31b calculates a time (data storage time) Tpb required to store a predetermined amount (threshold value Bia) of data in the buffer 12a.

詳述すると、時間予測部31aには、図1に示すバッファ12bに対応する情報が入力される。バッファ12bに対応する情報は、データ蓄積量Dsbと、転送レートRtbと、しきい値Bibを含む。時間予測部31aは、バッファ12bのデータ蓄積量Dsbが、しきい値Bib以下の場合、次の転送要求が発行されるまでのデータ蓄積時間Tpbを、次式、
Tpb=Rtb/(Bib−Dsb)
により算出する。なお、時間予測部31aは、バッファ12bのデータ蓄積量Dsbが分割サイズのしきい値Bib以上の場合は、次の転送要求が発行されるまでの時間を「0(ゼロ)」として計算、つまり転送可能状態とする。
More specifically, information corresponding to the buffer 12b shown in FIG. 1 is input to the time prediction unit 31a. Information corresponding to the buffer 12b includes a data accumulation amount Dsb, a transfer rate Rtb, and a threshold value Bib. When the data accumulation amount Dsb of the buffer 12b is equal to or less than the threshold value Bib, the time prediction unit 31a calculates the data accumulation time Tpb until the next transfer request is issued by the following equation:
Tpb = Rtb / (Bib−Dsb)
Calculated by When the data accumulation amount Dsb of the buffer 12b is equal to or greater than the division size threshold value Bib, the time prediction unit 31a calculates the time until the next transfer request is issued as “0 (zero)”, that is, The transfer is enabled.

バッファ12bは、所定量以上のデータを蓄積すると、データの転送が可能となる。つまり、バッファ12bに対する転送要求の発行が可能となる。即ち、時間予測部31aは、入力される各種情報に基づいて、バッファ12bに対して次の転送要求が発行可能となるまでの予測時間を算出する。   The buffer 12b can transfer data when it accumulates a predetermined amount or more of data. That is, it becomes possible to issue a transfer request to the buffer 12b. That is, the time prediction unit 31a calculates a predicted time until the next transfer request can be issued to the buffer 12b based on various pieces of input information.

同様に、時間予測部31bは、入力される各種情報に基づいて、バッファ12aに対して次の転送要求が発行可能となるまでの予測時間を算出する。即ち、時間予測部31bには、図1に示すバッファ12aに対応する情報、つまりデータ蓄積量Dsa,転送レートRta,しきい値Biaが入力される。時間予測部31bは、バッファ12aに対応する情報(Dsa,Bia,Rta)に基づいて、次の転送要求が発行されるまでのデータ蓄積時間Tpaを、次式、
Tpa=Rta/(Bia−Dsa)
により算出する。そして、時間予測部31bは、バッファ12aのデータ蓄積量Dsaがしきい値Bia以上の場合は、次の転送要求が発行されるまでの時間を「0(ゼロ)」として計算、つまり転送可能状態とする。
Similarly, the time prediction unit 31b calculates a predicted time until the next transfer request can be issued to the buffer 12a based on various pieces of input information. That is, information corresponding to the buffer 12a shown in FIG. 1, that is, the data accumulation amount Dsa, the transfer rate Rta, and the threshold value Bia are input to the time prediction unit 31b. Based on the information (Dsa, Bia, Rta) corresponding to the buffer 12a, the time prediction unit 31b calculates the data accumulation time Tpa until the next transfer request is issued by the following equation:
Tpa = Rta / (Bia-Dsa)
Calculated by Then, when the data accumulation amount Dsa of the buffer 12a is equal to or greater than the threshold value Bia, the time predicting unit 31b calculates the time until the next transfer request is issued as “0 (zero)”, that is, the transfer enabled state. And

サイズ変換部32a,32bは、時間予測部31a,31bにて算出されたデータ蓄積時間Tpa,Tpbを、対応するバッファ12a,12bから転送するデータの予測サイズPsa,Psbに変換する。サイズ変換部32aは、バッファ12bに対応するデータ蓄積時間Tpbを、バッファ12aに対応する予測サイズPsaに変換する。サイズ変換部32bは、バッファ12aに対応するデータ蓄積時間Tpaを、バッファ12bに対応する予測サイズPsbに変換する。   The size conversion units 32a and 32b convert the data storage times Tpa and Tpb calculated by the time prediction units 31a and 31b into the predicted sizes Psa and Psb of the data transferred from the corresponding buffers 12a and 12b. The size conversion unit 32a converts the data accumulation time Tpb corresponding to the buffer 12b into the predicted size Psa corresponding to the buffer 12a. The size conversion unit 32b converts the data storage time Tpa corresponding to the buffer 12a to the predicted size Psb corresponding to the buffer 12b.

バッファ12bにデータを蓄積している期間、バッファ12aはデータバス13を占有することができる。その占有期間において転送可能なデータ量は、データを転送する期間と、バッファ12aからデータを転送する速度と、の積により求められる。バッファ12aからデータを転送する速度は、そのバッファ12aと転送先の装置14との間の転送レート、即ちデータバス13の転送レートRt0に対応する。従って、サイズ変換部32aは、時間予測部31aによって算出されたバッファ12bに対応するデータ蓄積時間Tpbに、データバス13の転送レートRt0を乗じて、バッファ12aに対応する予測サイズPsaを算出する。   The buffer 12a can occupy the data bus 13 while the data is stored in the buffer 12b. The amount of data that can be transferred during the occupation period is determined by the product of the period for transferring data and the speed for transferring data from the buffer 12a. The speed at which data is transferred from the buffer 12a corresponds to the transfer rate between the buffer 12a and the transfer destination device 14, that is, the transfer rate Rt0 of the data bus 13. Therefore, the size converter 32a multiplies the data accumulation time Tpb corresponding to the buffer 12b calculated by the time predictor 31a by the transfer rate Rt0 of the data bus 13 to calculate the predicted size Psa corresponding to the buffer 12a.

同様に、バッファ12aにデータを蓄積している期間、バッファ12bは、データバス13を占有でき、その占有期間に転送可能なデータ量は、占有期間とデータバス13の転送レートRt0の積により求められる。従って、サイズ変換部32bは、時間予測部31bによって算出されたバッファ12aに対応するデータ蓄積時間Tpaに、データバス13の転送レートRt0を乗じて、バッファ12bに対応する予測サイズPsbを算出する。   Similarly, during the period in which data is stored in the buffer 12a, the buffer 12b can occupy the data bus 13, and the amount of data that can be transferred during the occupancy period is determined by the product of the occupation period and the transfer rate Rt0 of the data bus 13. It is done. Therefore, the size converter 32b multiplies the data accumulation time Tpa corresponding to the buffer 12a calculated by the time predictor 31b by the transfer rate Rt0 of the data bus 13 to calculate the predicted size Psb corresponding to the buffer 12b.

クリップ処理部33aには、サイズ変換部32aにより算出されたバッファ12aに対応する予測サイズPsaが供給される。また、クリップ処理部33aには、レジスタ34から分割サイズの上限値Bamx及び下限値Bamnが供給される。分割サイズの上限値Bamx及び下限値Bamnは、例えば、バッファの数、転送に係るオーバーヘッド、等に応じて設定され、レジスタ34に格納されている。   The predicted size Psa corresponding to the buffer 12a calculated by the size converting unit 32a is supplied to the clip processing unit 33a. In addition, the upper limit value Bamx and the lower limit value Bamn of the division size are supplied from the register 34 to the clip processing unit 33a. The upper limit value Bamx and the lower limit value Bamn of the division size are set according to, for example, the number of buffers, overhead related to transfer, and the like, and are stored in the register 34.

1つのバッファがデータバスを占有しているとき、他のバッファは転送を行うことができない。全てのバッファにおける転送量を互いに同じ値とすると、単位時間における各バッファに対する転送許可の回数は、バッファの数に反比例する。従って、バッファの数が多いほど、各バッファが転送可能となるまでの待ち時間は、バッファの数に転送するデータ量を乗じた結果に対応する。このため、転送するデータ量の上限値を設定することは、待ち時間の増大を抑制する。   When one buffer occupies the data bus, the other buffers cannot perform the transfer. If the transfer amounts in all the buffers are the same value, the number of times transfer is permitted for each buffer per unit time is inversely proportional to the number of buffers. Therefore, as the number of buffers increases, the waiting time until each buffer can be transferred corresponds to the result of multiplying the number of buffers by the amount of data to be transferred. For this reason, setting the upper limit of the amount of data to be transferred suppresses an increase in waiting time.

また、1回のデータ転送に際し、転送元の情報と、転送するデータ量を含むヘッダ情報を、転送先の装置14に送信する必要がある。そして、1回のデータ転送により転送するデータ量に係わらず、一定サイズのヘッダ情報を必要とする。このため、分割サイズを小さくして転送回数が多くなると、その分、ヘッダ情報を送信する回数が多くなり、実効的なデータ転送量、すなわち、転送期間(ヘッダ情報及びデータを転送する期間)に対するデータ転送期間の割合が少なくなる。このため、転送するデータ量の下限値を設定することは、転送効率の低下を抑制する。   Further, in one data transfer, it is necessary to transmit the transfer source information and header information including the amount of data to be transferred to the transfer destination device 14. Regardless of the amount of data transferred by one data transfer, header information of a certain size is required. For this reason, if the division size is reduced and the number of transfers increases, the number of times header information is transmitted increases, and the effective data transfer amount, that is, the transfer period (the period in which header information and data are transferred) is increased. The ratio of the data transfer period is reduced. For this reason, setting a lower limit value of the amount of data to be transferred suppresses a decrease in transfer efficiency.

クリップ処理部33aは、予測サイズPsaが分割サイズの上限値Bamx以下且つ下限値Bamn以上の場合、予測サイズPsaと等しい分割サイズBsaを出力する。一方、クリップ処理部33aは、予測サイズPsaが下限値Bamn未満の場合、下限値Bamnと等しい分割サイズBsaを出力する。また、クリップ処理部33aは、予測サイズPsaが上限値Bamxより大きい場合,上限値Bamxと等しい分割サイズBsaを出力する。   The clip processing unit 33a outputs a divided size Bsa that is equal to the predicted size Psa when the predicted size Psa is equal to or less than the upper limit value Bamx of the split size and equal to or higher than the lower limit value Bamn. On the other hand, when the predicted size Psa is less than the lower limit value Bamn, the clip processing unit 33a outputs a division size Bsa that is equal to the lower limit value Bamn. In addition, when the predicted size Psa is larger than the upper limit value Bamx, the clip processing unit 33a outputs a division size Bsa that is equal to the upper limit value Bamx.

同様に、クリップ処理部33bは、予測サイズPsbが分割サイズの上限値Bbmx以下且つ下限値Bbmn以上の場合、予測サイズPsbと等しい分割サイズBsbを出力する。一方、クリップ処理部33bは、予測サイズPsbが下限値Bbmn未満の場合、下限値Bbmnと等しい分割サイズBsbを出力する。また、クリップ処理部33bは、予測サイズPsbが上限値Bbmxより大きい場合,上限値Bbmxと等しい分割サイズBsbを出力する。   Similarly, the clip processing unit 33b outputs a divided size Bsb equal to the predicted size Psb when the predicted size Psb is equal to or smaller than the upper limit value Bbmx and lower limit value Bbmn of the divided size. On the other hand, when the predicted size Psb is less than the lower limit value Bbmn, the clip processing unit 33b outputs a division size Bsb equal to the lower limit value Bbmn. Further, when the predicted size Psb is larger than the upper limit value Bbmx, the clip processing unit 33b outputs a division size Bsb equal to the upper limit value Bbmx.

次に、分割転送制御部23a,23bが実行する処理(分割転送制御)の一例を、図3に従って説明する。尚、以下に説明する部材は、図1,図2を参照されたい。
尚、分割転送制御部23aは、バッファ12aに対する転送制御を行い、分割転送制御部23bは、バッファ12bに対する転送制御を行う。そして、分割転送制御部23a,23bは、対象とするバッファが異なり、実行する処理は互いに同じである。従って、図3に示すフローチャートの説明において、分割転送制御部23aについて説明し、分割転送制御部23bに対する説明を省略する。
Next, an example of processing (divided transfer control) executed by the divided transfer control units 23a and 23b will be described with reference to FIG. Refer to FIGS. 1 and 2 for members described below.
The division transfer control unit 23a performs transfer control on the buffer 12a, and the division transfer control unit 23b performs transfer control on the buffer 12b. The divided transfer control units 23a and 23b have different target buffers, and the processes to be executed are the same. Therefore, in the description of the flowchart shown in FIG. 3, the division transfer control unit 23a will be described, and the description of the division transfer control unit 23b will be omitted.

分割転送制御部23aは、制御部22からの転送指示Tsaとともに分割サイズ算出部21からの分割サイズBsaの情報を受けて動作を開始する。
先ず、分割転送制御部23aは、以前に転送していたことを考慮して、転送済みデータ数Tzsをクリア(=0)する(ステップS10)。
The division transfer control unit 23 a receives the information on the division size Bsa from the division size calculation unit 21 together with the transfer instruction Tsa from the control unit 22 and starts the operation.
First, the divided transfer control unit 23a clears (= 0) the number of transferred data Tzs in consideration of the previous transfer (step S10).

次いで、分割転送制御部23aは、転送データ数Tdsと転送済みデータ数Tzsとの差と、分割サイズBsaとの大小関係を判定する(ステップS11:YES)。分割転送制御部23aは、転送データ数Tdsと転送済みデータ数Tzsとの差が分割サイズBsaより大きけい場合(ステップS11:YES)、分割サイズBsaを転送サイズJTsに設定する(ステップS12)。一方、分割転送制御部23aは、転送データ数Tdsと転送済みデータ数Tzsとの差が分割サイズBsa以下の場合(ステップS11:NO)、転送データ数Tdsと転送済みデータ数Tzsとの差の値を転送サイズJTsに設定する(ステップS13)。   Next, the division transfer control unit 23a determines the size relationship between the difference between the transfer data number Tds and the transferred data number Tzs and the division size Bsa (step S11: YES). When the difference between the transfer data number Tds and the transferred data number Tzs is larger than the division size Bsa (step S11: YES), the division transfer control unit 23a sets the division size Bsa to the transfer size JTs (step S12). On the other hand, when the difference between the transfer data number Tds and the transferred data number Tzs is equal to or smaller than the split size Bsa (step S11: NO), the divided transfer control unit 23a determines the difference between the transfer data number Tds and the transferred data number Tzs. The value is set to the transfer size JTs (step S13).

次いで、分割転送制御部23aは、バッファ12aのデータ蓄積量Dsaを監視し、バッファ12aに分割サイズBsa分のデータがあるか否かを判定する(ステップS14)。分割転送制御部23aは、バッファ12aに分割サイズBsa分のデータが蓄積されていないと判定した場合(ステップS14:NO)、次のステップに移行しない。分割転送制御部23aは、バッファ12aに分割サイズBsa分のデータが蓄積されていると判定した場合(ステップS14:YES)、転送開始要求Reqを調停部24に対して出力する(ステップS15)。   Next, the division transfer control unit 23a monitors the data accumulation amount Dsa of the buffer 12a, and determines whether or not there is data for the division size Bsa in the buffer 12a (step S14). If the division transfer control unit 23a determines that data for the division size Bsa is not accumulated in the buffer 12a (step S14: NO), the division transfer control unit 23a does not proceed to the next step. If the division transfer control unit 23a determines that data of the division size Bsa is stored in the buffer 12a (step S14: YES), the division transfer control unit 23a outputs a transfer start request Req to the arbitration unit 24 (step S15).

分割転送制御部23aは、調停部24によって転送開始要求Reqが受け付けられたか否かを判定する(ステップS16)。調停部24は、転送開始要求Reqを受け付けると、転送開始要求Reqの送信元に例えば転送許可信号を送信する。   The division transfer control unit 23a determines whether or not the transfer start request Req has been received by the arbitration unit 24 (step S16). Upon receiving the transfer start request Req, the arbitrating unit 24 transmits, for example, a transfer permission signal to the transmission start request Req transmission source.

分割転送制御部23aは、転送許可信号を受け取らない場合(ステップS16:NO)、次のステップに移行しない。一方、分割転送制御部23aは、転送許可信号を受け取ると転送開始要求Reqが受け付けられたと判定し(ステップS16:YES)、転送指示Tbaを転送制御部25に対して発行する。即ち、分割転送制御部23aは、転送設定を転送制御部25に対して発行する(ステップS17)。転送設定は、テータを転送する転送元と転送先を特定するための情報、転送するデータ量を含む。分割転送制御部23aは、転送元としてバッファ12aを示す情報、転送先として装置14を示す情報、転送サイズJTsを転送制御部25に送信する。   When the division transfer control unit 23a does not receive the transfer permission signal (step S16: NO), the division transfer control unit 23a does not proceed to the next step. On the other hand, when receiving the transfer permission signal, the division transfer control unit 23a determines that the transfer start request Req has been received (step S16: YES), and issues a transfer instruction Tba to the transfer control unit 25. That is, the division transfer control unit 23a issues transfer settings to the transfer control unit 25 (step S17). The transfer setting includes information for specifying a transfer source and a transfer destination for transferring data, and an amount of data to be transferred. The division transfer control unit 23 a transmits information indicating the buffer 12 a as a transfer source, information indicating the device 14 as a transfer destination, and a transfer size JTs to the transfer control unit 25.

次いで、分割転送制御部23aは、転送開始指示を転送制御部25に対して発行する(ステップS18)。
転送制御部25は、転送開始指示を受け取ると、転送設定に応じて、データを転送する。この場合、転送制御部25は、バッファ12aから出力されるデータを、装置14に出力する。そして、転送制御部25は、転送サイズJTsのデータの転送を完了すると、転送完了通知を発行する。
Next, the divided transfer control unit 23a issues a transfer start instruction to the transfer control unit 25 (step S18).
When receiving the transfer start instruction, the transfer control unit 25 transfers data according to the transfer setting. In this case, the transfer control unit 25 outputs the data output from the buffer 12a to the device 14. Then, when the transfer control unit 25 completes the transfer of the transfer size JTs, it issues a transfer completion notification.

次いで、分割転送制御部23aは、転送完了通知があるか否かを判定する(ステップS19)。分割転送制御部23aは、転送完了通知がない場合(ステップS19:No)、次のステップに移行しない。一方、分割転送制御部23aは、転送完了通知を受け取ると(ステップS19:YES)、転送済みデータ数Tzsに今回の転送サイズJTs(分割サイズBsa)を積算する(ステップS20)。   Next, the division transfer control unit 23a determines whether or not there is a transfer completion notification (step S19). The division transfer control unit 23a does not proceed to the next step when there is no transfer completion notification (step S19: No). On the other hand, when receiving the transfer completion notification (step S19: YES), the divided transfer control unit 23a adds the current transfer size JTs (divided size Bsa) to the number of transferred data Tzs (step S20).

次いで、分割転送制御部23aは、転送データ数Tds分の転送が完了したか否かを判定する(ステップS21)。分割転送制御部23aは、転送済みデータ数Tzsが転送データ数Tdsより小さい場合に転送データ数Tds分の転送を完了していないと判定し(ステップS21:NO)、ステップS11に移行する。つまり、転送データ数Tds分のデータ転送を完了するまで、ステップS11からステップS20までの各処理を繰り返し実行する。そして、分割転送制御部23aは、転送済みデータ数Tzsが転送データ数Tdsと等しくなると、転送データ数Tds分の転送が完了したと判定し(ステップS21:NO)、割転送制御処理を終了する。   Next, the divided transfer control unit 23a determines whether or not the transfer for the transfer data number Tds is completed (step S21). When the transferred data number Tzs is smaller than the transfer data number Tds, the divided transfer control unit 23a determines that the transfer for the transfer data number Tds has not been completed (step S21: NO), and proceeds to step S11. That is, each process from step S11 to step S20 is repeatedly executed until the data transfer for the transfer data number Tds is completed. Then, when the transferred data number Tzs becomes equal to the transfer data number Tds, the divided transfer control unit 23a determines that the transfer for the transfer data number Tds is completed (step S21: NO), and ends the split transfer control process. .

次に、データ転送装置20の動作例を説明する。
(第1の動作例)
図4に示すように、時刻t0において、バッファ12aには転送すべき全てのデータが蓄積され、このデータ蓄積量は、しきい値Biaより多い。一方、バッファ12bにはしきい値Bibより少ないデータが蓄積されている。
Next, an operation example of the data transfer apparatus 20 will be described.
(First operation example)
As shown in FIG. 4, at time t0, all data to be transferred is accumulated in the buffer 12a, and this data accumulation amount is larger than the threshold value Bia. On the other hand, less data than the threshold value Bib is stored in the buffer 12b.

分割サイズ算出部21は、両バッファ12a,12bのデータ蓄積量Dsa,Dsbに基づいて分割サイズBsa,Bsbをそれぞれ算出する。分割転送制御部23aは、データ蓄積量Dsaがしきい値Biaより大きいため、転送指示Tbaを出力する。一方、分割転送制御部23bは、データ蓄積量Dsbはしきい値Bibより小さいため、転送指示Tbbを出力しない。その結果、調停部24は、分割サイズBsaを含む転送指示Tbsを転送制御部25に出力する。   The division size calculation unit 21 calculates the division sizes Bsa and Bsb based on the data accumulation amounts Dsa and Dsb of both the buffers 12a and 12b, respectively. The divided transfer control unit 23a outputs the transfer instruction Tba because the data accumulation amount Dsa is larger than the threshold value Bia. On the other hand, the divided transfer control unit 23b does not output the transfer instruction Tbb because the data accumulation amount Dsb is smaller than the threshold value Bib. As a result, the arbitrating unit 24 outputs a transfer instruction Tbs including the division size Bsa to the transfer control unit 25.

転送制御部25は、転送指示Tbsに従って、バッファ12aに対し、転送サイズJTsとする転送を開始する。転送制御部25は、先ずバッファ12aに対応するヘッダを送信し、バッファ12aから読み出したデータを装置14に転送する。バッファ12aからデータが転送されるに従って、バッファ12aのデータ蓄積量Dsaは減少する。   The transfer control unit 25 starts transfer with the transfer size JTs to the buffer 12a in accordance with the transfer instruction Tbs. The transfer control unit 25 first transmits a header corresponding to the buffer 12 a and transfers the data read from the buffer 12 a to the device 14. As data is transferred from the buffer 12a, the data storage amount Dsa of the buffer 12a decreases.

このバッファ12aに対するデータ転送(図中、「A1」と表記)は、バッファ12bのデータ蓄積量Dsbがしきい値Bib付近となる時刻t1において完了する。
次いで、時刻t1において、分割サイズ算出部21は、両バッファ12a,12bのデータ蓄積量Dsa,Dsbに基づいて分割サイズBsa,Bsbをそれぞれ算出する。分割転送制御部23a,23bは、転送指示Tba,Tbbを出力する。調停部24は、調停結果により、分割サイズBsbを転送サイズJTsとする転送指示Tbsを転送制御部25に出力する。転送制御部25は、転送指示Tbsに従って、バッファ12bに対するデータ転送を開始する。即ち、転送制御部25は、バッファ12bに対応するヘッダを送信し、バッファ12bから読み出したデータを装置14に転送する。このバッファ12bに対するデータ転送(図中、「B1」と表記)は、転送サイズJTs、即ち算出された分割サイズBsbのデータを転送して終了する。
The data transfer to the buffer 12a (denoted as “A1” in the figure) is completed at time t1 when the data accumulation amount Dsb of the buffer 12b is near the threshold value Bib.
Next, at time t1, the division size calculation unit 21 calculates the division sizes Bsa and Bsb based on the data accumulation amounts Dsa and Dsb of both buffers 12a and 12b, respectively. The division transfer control units 23a and 23b output transfer instructions Tba and Tbb. The arbitration unit 24 outputs a transfer instruction Tbs with the division size Bsb as the transfer size JTs to the transfer control unit 25 based on the arbitration result. The transfer control unit 25 starts data transfer to the buffer 12b in accordance with the transfer instruction Tbs. That is, the transfer control unit 25 transmits a header corresponding to the buffer 12 b and transfers the data read from the buffer 12 b to the device 14. The data transfer to the buffer 12b (denoted as “B1” in the drawing) is completed after transferring the transfer size JTs, that is, the data of the calculated division size Bsb.

次いで、時刻t2において、分割サイズ算出部21は、両バッファ12a,12bのデータ蓄積量Dsa,Dsbに基づいて分割サイズBsa,Bsbをそれぞれ算出する。このとき、バッファ12bにおけるデータ蓄積量Dsbは、時刻t0におけるデータ蓄積量Dsbより少ないため、分割サイズ算出部21は、同時刻t0における分割サイズBsaよりも大きな値の分割サイズBsaを算出する。そして、バッファ12aに対し、転送サイズJTs(分割サイズBsa)の転送が開始される。このバッファ12aに対するデータ転送(図中、「A2」と表記)は、バッファ12bのデータ蓄積量Dsbがしきい値Bib付近となる時刻t3において完了する。   Next, at time t2, the division size calculation unit 21 calculates the division sizes Bsa and Bsb based on the data storage amounts Dsa and Dsb of both the buffers 12a and 12b, respectively. At this time, since the data accumulation amount Dsb in the buffer 12b is smaller than the data accumulation amount Dsb at time t0, the division size calculation unit 21 calculates a division size Bsa having a larger value than the division size Bsa at the same time t0. Then, transfer of the transfer size JTs (divided size Bsa) is started to the buffer 12a. The data transfer to the buffer 12a (denoted as “A2” in the figure) is completed at time t3 when the data accumulation amount Dsb of the buffer 12b is near the threshold value Bib.

次いで、時刻t3において、時刻t1と同様に、調停部24は、分割サイズBsbを含む転送指示Tbbに応じて転送指示Tbsを出力し、転送制御部25はその転送指示Tbsに従って、バッファ12bに対するデータ転送(図中、「B2」と表記)を開始する。   Next, at time t3, similarly to time t1, the arbitrating unit 24 outputs a transfer instruction Tbs according to the transfer instruction Tbb including the division size Bsb, and the transfer control unit 25 performs data transfer to the buffer 12b according to the transfer instruction Tbs. Transfer (denoted as “B2” in the figure) is started.

このように、バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。従って、バッファ12aに対するデータ転送が終了したときに、バッファ12bに対するデータ転送が可能な状態になっているため、そのバッファ12bに対するデータ転送を開始することができる。このため、バッファ12bにおけるデータ転送の待ち時間を短縮することができる。   Thus, based on the data storage amount Dsb of the buffer 12b, the data storage time Tpb until data of the threshold value Bib or more is stored in the buffer 12b is predicted, and from the buffer 12a according to the data storage time Tpb. The division size Bsa of the data to be transferred is calculated. Therefore, when the data transfer to the buffer 12a is completed, the data transfer to the buffer 12b is possible, so that the data transfer to the buffer 12b can be started. For this reason, the waiting time for data transfer in the buffer 12b can be shortened.

また、バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。バッファ12bのデータ蓄積量Dsbが少ないほど、分割サイズBsaは大きくなる。従って、1つのヘッダによりバッファ12aのデータをまとめて転送することができ、データを所定サイズに分割して複数回に分けて転送する場合と比べ、データ転送におけるオーバーヘッドを少なくすることができる。   Further, based on the data accumulation amount Dsb of the buffer 12b, a data accumulation time Tpb until data of the threshold value Bib or more is accumulated in the buffer 12b is predicted and transferred from the buffer 12a according to the data accumulation time Tpb. The data division size Bsa is calculated. The smaller the data accumulation amount Dsb in the buffer 12b, the larger the division size Bsa. Therefore, the data in the buffer 12a can be transferred together by one header, and the overhead in data transfer can be reduced compared to the case where the data is divided into a predetermined size and transferred in multiple times.

(第2の動作例)
この動作例において、装置11bからバッファ12bにデータを転送する転送速度(転送レート)が、設定された転送レートRtbよりも低い。図5において、実線はバッファ12bにおけるデータ蓄積量Dsbを示し、一点鎖線は、設定された転送レートRtbに基づくデータ蓄積量を示す。
(Second operation example)
In this operation example, the transfer rate (transfer rate) for transferring data from the device 11b to the buffer 12b is lower than the set transfer rate Rtb. In FIG. 5, the solid line indicates the data accumulation amount Dsb in the buffer 12b, and the alternate long and short dash line indicates the data accumulation amount based on the set transfer rate Rtb.

図5に示すように、時刻t0において、転送制御部25は、上記の動作例と同様に、バッファ12aに対するデータ転送(図中、「A1」と表記)を開始する。
バッファ12aに対するデータ転送A1が終了した時刻t1において、バッファ12bには、分割しきい値Bib分のデータが蓄積されていない。従って、時刻t1では、分割転送制御部23bは、転送指示Tbbを出力しない。
As shown in FIG. 5, at time t0, the transfer control unit 25 starts data transfer (denoted as “A1” in the drawing) to the buffer 12a, as in the above operation example.
At time t1 when the data transfer A1 to the buffer 12a is completed, the buffer 12b does not store data for the division threshold value Bib. Therefore, at time t1, the divided transfer control unit 23b does not output the transfer instruction Tbb.

一方、分割転送制御部23aは、転送指示Tbaを出力する。時刻t0におけるデータ蓄積量Dsbよりも、時刻t1におけるデータ蓄積量Dsbが大きい。従って、時刻t1における分割サイズBsaは、時刻t0における分割サイズBsaよりも小さくなる。従って、時刻t1において算出された分割サイズBsaに基づくデータ転送A2は、時刻t0において算出された分割サイズBsaに基づくデータ転送A0よりも短い期間で終了する。   On the other hand, the division transfer control unit 23a outputs a transfer instruction Tba. The data accumulation amount Dsb at time t1 is larger than the data accumulation amount Dsb at time t0. Therefore, the division size Bsa at time t1 is smaller than the division size Bsa at time t0. Therefore, the data transfer A2 based on the division size Bsa calculated at time t1 ends in a shorter period than the data transfer A0 based on the division size Bsa calculated at time t0.

バッファ12aに対するデータ転送A2が終了した時刻t2において、バッファ12bには、分割しきい値Bib分のデータが蓄積されていない。従って、時刻t1では、分割転送制御部23bは、転送指示Tbbを出力しない。そして、時刻t1と同様に、分割転送制御部23aは、その時刻t1における分割サイズBsaよりも小さな分割サイズBsaを含む転送指示Tbaを出力する。これにより、転送制御部25は、バッファ12aに対応するデータ転送A3を実施する。   At the time t2 when the data transfer A2 to the buffer 12a is completed, the buffer 12b does not store data for the division threshold value Bib. Therefore, at time t1, the divided transfer control unit 23b does not output the transfer instruction Tbb. Similarly to time t1, the division transfer control unit 23a outputs a transfer instruction Tba including a division size Bsa smaller than the division size Bsa at the time t1. As a result, the transfer control unit 25 performs data transfer A3 corresponding to the buffer 12a.

時刻t3において、バッファ12bのデータ蓄積量Dsbは、しきい値Bibよりも多くなる。すると、バッファ12aに対するデータ転送A3が終了した時刻t4において、分割転送制御部23a,23bは、転送指示Tba,Tbbをそれぞれ出力し、調停部24は、調停結果に基づいて、バッファ12bに対応する転送指示Tbbに応じた転送指示Tbsを出力する。これにより、転送制御部25は、バッファ12bに対応するデータ転送B1を実施する。   At time t3, the data accumulation amount Dsb in the buffer 12b becomes larger than the threshold value Bib. Then, at time t4 when the data transfer A3 to the buffer 12a is completed, the divided transfer control units 23a and 23b output the transfer instructions Tba and Tbb, respectively, and the arbitrating unit 24 corresponds to the buffer 12b based on the arbitration result. A transfer instruction Tbs corresponding to the transfer instruction Tbb is output. As a result, the transfer control unit 25 performs data transfer B1 corresponding to the buffer 12b.

このように、装置11bからバッファ12bにデータを転送する転送速度が、制御部22に設定された転送レートRtbよりも遅い場合、他のバッファ12aのデータ転送が繰り返し実施される。従って、例えば、交互にバッファ12a,12bに対するデータ転送を実施する場合と比べ、バッファ12aのデータ転送が待たされることがなく、バッファ12aのデータ転送に係る時間を短縮することができる。   As described above, when the transfer rate for transferring data from the device 11b to the buffer 12b is lower than the transfer rate Rtb set in the control unit 22, the data transfer of the other buffers 12a is repeatedly performed. Therefore, for example, as compared with the case where data transfer to the buffers 12a and 12b is alternately performed, the data transfer of the buffer 12a is not waited, and the time required for the data transfer of the buffer 12a can be shortened.

(第3の動作例)
この動作例において、装置11bからバッファ12bにデータを転送する転送速度(転送レート)が、設定された転送レートRtbよりも高い。図6において、実線はバッファ12bにおけるデータ蓄積量Dsbを示し、一点鎖線は、設定された転送レートRtbに基づくデータ蓄積量を示す。従って、そして、バッファ12aに対する転送(「A1」)が終了した時刻t2において、バッファ12bには、しきい値Bib以上の量のデータが蓄積されている。
(Third operation example)
In this operation example, the transfer rate (transfer rate) for transferring data from the device 11b to the buffer 12b is higher than the set transfer rate Rtb. In FIG. 6, the solid line indicates the data accumulation amount Dsb in the buffer 12b, and the alternate long and short dash line indicates the data accumulation amount based on the set transfer rate Rtb. Therefore, at the time t2 when the transfer (“A1”) to the buffer 12a is completed, the buffer 12b stores data of an amount equal to or larger than the threshold value Bib.

図6に示すように、時刻t0において、図4に示す動作例と同様に、転送制御部25は、バッファ12aに対するデータ転送(図中、「A1」と表記)を開始する。
バッファ12aに対するデータ転送A1が終了した時刻t1において、バッファ12bには、分割しきい値Bib以上のデータが蓄積されている。従って、時刻t1において、分割転送制御部23a,23bは、転送指示Tba,Tbbをそれぞれ出力し、調停部24は、調停結果に基づいて、バッファ12bに対応する転送指示Tbbに応じた転送指示Tbsを出力する。これにより、転送制御部25は、バッファ12bに対応するデータ転送B1を実施する。
As shown in FIG. 6, at time t0, as in the operation example shown in FIG. 4, the transfer control unit 25 starts data transfer to the buffer 12a (denoted as “A1” in the figure).
At time t1 when the data transfer A1 to the buffer 12a is completed, the buffer 12b stores data that is equal to or greater than the division threshold value Bib. Therefore, at time t1, the divided transfer control units 23a and 23b output transfer instructions Tba and Tbb, respectively, and the arbitration unit 24, based on the arbitration result, transfers instruction Tbs corresponding to the transfer instruction Tbb corresponding to the buffer 12b. Is output. As a result, the transfer control unit 25 performs data transfer B1 corresponding to the buffer 12b.

バッファ12bに対応するデータ転送B1が終了した時刻t2において、分割サイズ算出部21は、両バッファ12a,12bのデータ蓄積量Dsa,Dsbに基づいて分割サイズBsa,Bsbをそれぞれ算出する。このとき、バッファ12bにおけるデータ蓄積量Dsbは、時刻t0におけるデータ蓄積量Dsbと同程度である。また、この時のデータ蓄積量Dsbは、図4に示す時刻t2におけるデータ蓄積量Dsbよりも多い。従って、分割サイズ算出部21は、図4に示す時刻t2における分割サイズBsaよりも小さな値の分割サイズBsaを算出する。そして、転送制御部25は、バッファ12aに対し、転送サイズJTs(分割サイズBsa)のデータ転送A2を開始する。   At time t2 when the data transfer B1 corresponding to the buffer 12b ends, the division size calculation unit 21 calculates the division sizes Bsa and Bsb based on the data accumulation amounts Dsa and Dsb of both the buffers 12a and 12b, respectively. At this time, the data accumulation amount Dsb in the buffer 12b is approximately the same as the data accumulation amount Dsb at time t0. Further, the data accumulation amount Dsb at this time is larger than the data accumulation amount Dsb at time t2 shown in FIG. Therefore, the division size calculation unit 21 calculates a division size Bsa having a smaller value than the division size Bsa at time t2 shown in FIG. Then, the transfer control unit 25 starts data transfer A2 of the transfer size JTs (divided size Bsa) to the buffer 12a.

データ転送A1と同様に、データ転送A2が終了した時刻t3において、バッファ12bには、分割しきい値Bib以上のデータが蓄積されている。従って、時刻t1において、分割転送制御部23a,23bは、転送指示Tba,Tbbをそれぞれ出力し、調停部24は、調停結果に基づいて、バッファ12bに対応する転送指示Tbbに応じた転送指示Tbsを出力する。これにより、転送制御部25は、バッファ12bに対応するデータ転送B2を実施する。   Similarly to the data transfer A1, at the time t3 when the data transfer A2 is completed, the buffer 12b stores data equal to or greater than the division threshold value Bib. Therefore, at time t1, the divided transfer control units 23a and 23b output transfer instructions Tba and Tbb, respectively, and the arbitration unit 24, based on the arbitration result, transfers instruction Tbs corresponding to the transfer instruction Tbb corresponding to the buffer 12b. Is output. Thereby, the transfer control unit 25 performs the data transfer B2 corresponding to the buffer 12b.

このように、装置11bからバッファ12bにデータを転送する転送速度が、制御部22に設定された転送レートRtbよりも早い場合、そのバッファ12bにおける分割サイズBsb分のデータ転送が終了したときのデータ蓄積量Dsbは、転送速度が転送レートRtb以下の場合と比べ多い。従って、バッファ12bにしきい値Bib分のデータが蓄積されるまでの時間が短く、バッファ12aに対する分割サイズBsaが小さくなる。従って、バッファ12bにおけるデータ転送の待ち時間を短縮することができる。   Thus, when the transfer rate for transferring data from the device 11b to the buffer 12b is faster than the transfer rate Rtb set in the control unit 22, the data when the data transfer for the division size Bsb in the buffer 12b is completed. The accumulation amount Dsb is larger than when the transfer rate is equal to or less than the transfer rate Rtb. Therefore, the time until the data for the threshold value Bib is accumulated in the buffer 12b is short, and the division size Bsa for the buffer 12a is small. Therefore, the waiting time for data transfer in the buffer 12b can be shortened.

また、第2及び第3の動作例のように、分割サイズ算出部21は、各バッファ12a,12bのデータ蓄積量Dsa,Dsbに応じて、各バッファ12a,12bの分割サイズBsa,Bsbを算出する。データ蓄積量Dsa,Dsbは、バッファ12a,12bにデータを格納する転送における転送速度に対応する。従って、分割サイズ算出部21は、実際の転送速度に応じて、各バッファ12a,12bの分割サイズBsa,Bsbを算出する。このため、例えば機種毎のばらつきや設定誤差などのように、設定値(転送レートRta,Rtb)と転送速度が異なる場合であっても、その転送速度に応じて各バッファ12a,12bの分割サイズBsa,Bsbを算出することで、データ転送にかかる待ち時間の短縮を図ることができる。   Further, as in the second and third operation examples, the division size calculation unit 21 calculates the division sizes Bsa and Bsb of the buffers 12a and 12b according to the data accumulation amounts Dsa and Dsb of the buffers 12a and 12b. To do. The data accumulation amounts Dsa and Dsb correspond to the transfer speed in the transfer for storing data in the buffers 12a and 12b. Accordingly, the division size calculation unit 21 calculates the division sizes Bsa and Bsb of the buffers 12a and 12b according to the actual transfer rate. For this reason, even if the set values (transfer rates Rta, Rtb) and the transfer rate are different, such as variations among models or setting errors, the divided sizes of the buffers 12a, 12b according to the transfer rate. By calculating Bsa and Bsb, the waiting time for data transfer can be shortened.

以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)分割サイズ算出部21は、各バッファ12a,12bの分割サイズBsa,Bsbを、互いに他のバッファのデータ蓄積量に基づいて算出する。例えば、バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。従って、バッファ12aに対するデータ転送が終了したときに、バッファ12bに対するデータ転送が可能な状態になっているため、そのバッファ12bに対するデータ転送を開始することができる。このため、バッファ12bにおけるデータ転送の待ち時間を短縮することができる。
As described above, according to the present embodiment, the following effects can be obtained.
(1) The division size calculation unit 21 calculates the division sizes Bsa and Bsb of the buffers 12a and 12b based on the data accumulation amounts of the other buffers. For example, based on the data storage amount Dsb of the buffer 12b, the data storage time Tpb until data of the threshold value Bib or more is stored in the buffer 12b is predicted, and transferred from the buffer 12a according to the data storage time Tpb. The data division size Bsa is calculated. Therefore, when the data transfer to the buffer 12a is completed, the data transfer to the buffer 12b is possible, so that the data transfer to the buffer 12b can be started. For this reason, the waiting time for data transfer in the buffer 12b can be shortened.

(2)バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。バッファ12bのデータ蓄積量Dsbが少ないほど、分割サイズBsaは大きくなる。従って、1つのヘッダによりバッファ12aのデータをまとめて転送することができ、データを所定サイズに分割して複数回に分けて転送する場合と比べ、データ転送におけるオーバーヘッドを少なくすることができる。   (2) Based on the data storage amount Dsb of the buffer 12b, the data storage time Tpb until data of the threshold value Bib or more is stored in the buffer 12b is predicted, and transferred from the buffer 12a according to the data storage time Tpb. The division size Bsa of the data to be calculated is calculated. The smaller the data accumulation amount Dsb in the buffer 12b, the larger the division size Bsa. Therefore, the data in the buffer 12a can be transferred together by one header, and the overhead in data transfer can be reduced compared to the case where the data is divided into a predetermined size and transferred in multiple times.

(3)装置11bからバッファ12bにデータを転送する転送速度が、制御部22に設定された転送レートRtbよりも遅い場合、他のバッファ12aのデータ転送が繰り返し実施される。従って、例えば、交互にバッファ12a,12bに対するデータ転送を実施する場合と比べ、バッファ12aのデータ転送が待たされることがなく、バッファ12aのデータ転送に係る時間を短縮することができる。   (3) When the transfer rate for transferring data from the device 11b to the buffer 12b is slower than the transfer rate Rtb set in the control unit 22, the data transfer of the other buffer 12a is repeatedly performed. Therefore, for example, as compared with the case where data transfer to the buffers 12a and 12b is alternately performed, the data transfer of the buffer 12a is not waited, and the time required for the data transfer of the buffer 12a can be shortened.

(4)装置11bからバッファ12bにデータを転送する転送速度が、制御部22に設定された転送レートRtbよりも早い場合、そのバッファ12bにおける分割サイズBsb分のデータ転送が終了したときのデータ蓄積量Dsbは、転送速度が転送レートRtb以下の場合と比べ多い。従って、バッファ12bにしきい値Bib分のデータが蓄積されるまでの時間が短く、バッファ12aに対する分割サイズBsaが小さくなる。従って、バッファ12bにおけるデータ転送の待ち時間を短縮することができる。   (4) When the transfer rate at which data is transferred from the device 11b to the buffer 12b is faster than the transfer rate Rtb set in the control unit 22, data storage when data transfer for the division size Bsb in the buffer 12b is completed The amount Dsb is larger than when the transfer rate is equal to or less than the transfer rate Rtb. Therefore, the time until the data for the threshold value Bib is accumulated in the buffer 12b is short, and the division size Bsa for the buffer 12a is small. Therefore, the waiting time for data transfer in the buffer 12b can be shortened.

(5)分割サイズ算出部21は、各バッファ12a,12bのデータ蓄積量Dsa,Dsbに応じて、各バッファ12a,12bの分割サイズBsa,Bsbを算出する。データ蓄積量Dsa,Dsbは、バッファ12a,12bにデータを格納する転送における転送速度に対応する。従って、分割サイズ算出部21は、実際の転送速度に応じて、各バッファ12a,12bの分割サイズBsa,Bsbを算出する。このため、例えば機種毎のばらつきや設定誤差などのように、設定値(転送レートRta,Rtb)と転送速度が異なる場合であっても、その転送速度に応じて各バッファ12a,12bの分割サイズBsa,Bsbを算出することで、データ転送にかかる待ち時間の短縮を図ることができる。   (5) The division size calculation unit 21 calculates the division sizes Bsa and Bsb of the buffers 12a and 12b according to the data accumulation amounts Dsa and Dsb of the buffers 12a and 12b. The data accumulation amounts Dsa and Dsb correspond to the transfer speed in the transfer for storing data in the buffers 12a and 12b. Accordingly, the division size calculation unit 21 calculates the division sizes Bsa and Bsb of the buffers 12a and 12b according to the actual transfer rate. For this reason, even if the set values (transfer rates Rta, Rtb) and the transfer rate are different, such as variations among models or setting errors, the divided sizes of the buffers 12a, 12b according to the transfer rate. By calculating Bsa and Bsb, the waiting time for data transfer can be shortened.

尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態は、2つの装置11a,11bから1つの装置14にデータを転送するデータ転送装置20に具体化したが、3つ以上の装置から1つの装置にデータを転送するデータ転送装置に具体化してもよい。例えば、図7に示すように、3つの装置11a,11b,11cに対し、データバス13に3つのバッファ12a,12b,12cが接続される。データ転送装置50は、バッファ12a〜12cの数に応じて構成される。即ち、データ転送装置50は、各バッファ12a.12b.12cのデータ蓄積量Dsa,Dsb,Dscに応じて分割サイズBsa,Bsb,Bscを求める分割サイズ算出部51を備え、分割サイズBsa,Bsb,Bscは分割転送制御部53a,53b,53cにそれぞれ供給される。
In addition, you may implement each said embodiment in the following aspects.
The above embodiment is embodied in the data transfer device 20 that transfers data from the two devices 11a and 11b to the one device 14, but the data transfer device transfers data from three or more devices to one device. It may be embodied. For example, as shown in FIG. 7, three buffers 12a, 12b, and 12c are connected to the data bus 13 for the three devices 11a, 11b, and 11c. The data transfer device 50 is configured according to the number of buffers 12a to 12c. That is, the data transfer device 50 includes the buffers 12a. 12b. 12c includes a division size calculation unit 51 that calculates division sizes Bsa, Bsb, and Bsc according to the data storage amounts Dsa, Dsb, and Dsc. The division sizes Bsa, Bsb, and Bsc are supplied to the division transfer control units 53a, 53b, and 53c, respectively. Is done.

制御部52は、各バッファ12a,12b,12cにそれぞれ対応するしきい値Bia,Bib,Bic及び転送レートRta,Rtb,Rtcと、バス13の転送レートRt0を分割サイズ算出部51に供給する。また、制御部52は、転送指示Tsa,Tsb,Tscを、対応する分割転送制御部53a,53b,53cにそれぞれ供給する。   The control unit 52 supplies threshold values Bia, Bib, Bic and transfer rates Rta, Rtb, Rtc corresponding to the buffers 12a, 12b, 12c, and the transfer rate Rt0 of the bus 13 to the division size calculation unit 51, respectively. Further, the control unit 52 supplies transfer instructions Tsa, Tsb, and Tsc to the corresponding divided transfer control units 53a, 53b, and 53c, respectively.

分割転送制御部53aは、転送指示Tsaとデータ蓄積量Dsaと分割サイズBsaに基づいて、転送指示Tbaを生成する。分割転送制御部53bは、転送指示Tsbとデータ蓄積量Dsbと分割サイズBsbに基づいて、転送指示Tbbを生成する。分割転送制御部53cは、転送指示Tscとデータ蓄積量Dscと分割サイズBscに基づいて、転送指示Tbcを生成する。   The division transfer control unit 53a generates a transfer instruction Tba based on the transfer instruction Tsa, the data accumulation amount Dsa, and the division size Bsa. The division transfer control unit 53b generates a transfer instruction Tbb based on the transfer instruction Tsb, the data accumulation amount Dsb, and the division size Bsb. The division transfer control unit 53c generates a transfer instruction Tbc based on the transfer instruction Tsc, the data accumulation amount Dsc, and the division size Bsc.

調停部24は、各分割転送制御部53a〜53cから出力される転送指示Tsa〜Tscを調停して転送指示Tbsを出力する。転送制御部55は、転送指示Tbsに基づいて、各バッファ12a〜12cに対するデータ転送を制御する。   The arbitrating unit 24 arbitrates the transfer instructions Tsa to Tsc output from the divided transfer control units 53a to 53c and outputs the transfer instruction Tbs. The transfer control unit 55 controls data transfer to each of the buffers 12a to 12c based on the transfer instruction Tbs.

図8に示すように、分割サイズ算出部51は、バッファ12a〜12cに対応する3つの時間予測部61a〜61cを備えている。時間予測部61aは、バッファ12aに対応する転送レートRta、しきい値Bia、データ蓄積量Dsaに基づいて、データ蓄積時間Tpaを算出する。同様に、時間予測部61bは、バッファ12bに対応する転送レートRtb、しきい値Bib、データ蓄積量Dsbに基づいて、データ蓄積時間Tpbを算出する。時間予測部61cは、バッファ12cに対応する転送レートRtc、しきい値Bic、データ蓄積量Dscに基づいて、データ蓄積時間Tpcを算出する。   As illustrated in FIG. 8, the division size calculation unit 51 includes three time prediction units 61a to 61c corresponding to the buffers 12a to 12c. The time prediction unit 61a calculates the data accumulation time Tpa based on the transfer rate Rta, the threshold Bia, and the data accumulation amount Dsa corresponding to the buffer 12a. Similarly, the time prediction unit 61b calculates the data accumulation time Tpb based on the transfer rate Rtb, threshold Bib, and data accumulation amount Dsb corresponding to the buffer 12b. The time prediction unit 61c calculates the data accumulation time Tpc based on the transfer rate Rtc, the threshold value Bic, and the data accumulation amount Dsc corresponding to the buffer 12c.

サイズ変換部62aは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpaを予測サイズPsaに変換する。同様に、サイズ変換部62bは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpbを予測サイズPsbに変換する。サイズ変換部62cは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpcを予測サイズPscに変換する。   The size converter 62a converts the data accumulation time Tpa to the predicted size Psa based on the transfer rate Rt0 of the data bus 13. Similarly, the size converter 62b converts the data accumulation time Tpb to the predicted size Psb based on the transfer rate Rt0 of the data bus 13. The size converter 62c converts the data storage time Tpc into the predicted size Psc based on the transfer rate Rt0 of the data bus 13.

選択部63は、各サイズ変換部62a〜62cから出力される予測サイズPsa〜Pscに基づいて、クリップ処理部64a〜64cに対する予測サイズP2a〜P2cを生成する。クリップ処理部64a〜64cは、バッファ12a〜12cにそれぞれ対応する。選択部63は、バッファ12a〜12cに対応するクリップ処理部64a〜64cに対し、対応しない2つのバッファの分割サイズのうちの1つを選択し、その選択した分割サイズを出力する。   The selection unit 63 generates predicted sizes P2a to P2c for the clip processing units 64a to 64c based on the predicted sizes Psa to Psc output from the size conversion units 62a to 62c. The clip processing units 64a to 64c correspond to the buffers 12a to 12c, respectively. The selection unit 63 selects one of the two non-corresponding division sizes for the clip processing units 64a to 64c corresponding to the buffers 12a to 12c, and outputs the selected division size.

例えば、選択部63は、クリップ処理部64aに対し、バッファ12b,12cに対応する2つの予測サイズPsb,Pscのうち、小さい値の分割サイズを選択し、その選択した分割サイズの値と等しい予測サイズP2aを出力する。同様に、選択部63は、クリップ処理部64bに対し、バッファ12a,12cに対応する2つの予測サイズPsa,Pscのうち、小さい値の分割サイズを選択し、その選択した分割サイズの値と等しい予測サイズP2bを出力する。また、選択部63は、クリップ処理部64cに対し、バッファ12a,12bに対応する2つの予測サイズPsa,Psbのうち、小さい値の分割サイズを選択し、その選択した分割サイズの値と等しい予測サイズP2cを出力する。   For example, the selection unit 63 selects a smaller divided size from the two predicted sizes Psb and Psc corresponding to the buffers 12b and 12c for the clip processing unit 64a, and predicts the same value as the selected divided size. The size P2a is output. Similarly, the selection unit 63 selects a smaller division size from the two predicted sizes Psa and Psc corresponding to the buffers 12a and 12c for the clip processing unit 64b, and is equal to the value of the selected division size. The predicted size P2b is output. Further, the selection unit 63 selects a smaller division size from the two prediction sizes Psa and Psb corresponding to the buffers 12a and 12b, and predicts the clip processing unit 64c equal to the selected division size value. The size P2c is output.

クリップ処理部64aは、レジスタ65から供給される上限値Bamxと下限値Bamnに基づいて予測サイズP2aをクリップ処理して生成した分割サイズBsaを出力する。同様に、クリップ処理部64bは、レジスタ65から供給される上限値Bbmxと下限値Bbmnに基づいて予測サイズP2bをクリップ処理して生成した分割サイズBsbを出力する。クリップ処理部64cは、レジスタ65から供給される上限値Bcmxと下限値Bcmnに基づいて予測サイズP2cをクリップ処理して生成した分割サイズBscを出力する。   The clip processing unit 64a outputs a divided size Bsa generated by clipping the predicted size P2a based on the upper limit value Bamx and the lower limit value Bamn supplied from the register 65. Similarly, the clip processing unit 64b outputs a divided size Bsb generated by clipping the predicted size P2b based on the upper limit value Bbmx and the lower limit value Bbmn supplied from the register 65. The clip processing unit 64c outputs the divided size Bsc generated by clipping the predicted size P2c based on the upper limit value Bcmx and the lower limit value Bcmn supplied from the register 65.

このように、バッファ12a〜12cにそれぞれ格納されるデータを装置14に転送する際の分割サイズを変更することにより、上記実施形態と同様に、転送に係る待ち時間を短縮することができる。   As described above, by changing the division size when the data stored in the buffers 12a to 12c is transferred to the device 14, the waiting time for the transfer can be shortened as in the above embodiment.

尚、選択部63において、設定した優先順位に従って、各クリップ処理部64a〜64cに対し、対応しないバッファの2つの分割サイズのうちの一方を選択して出力する構成としてもよい。また、図8において、選択部63を、サイズ変換部62a〜62cとクリップ処理部64a〜64cの間に接続したが、選択部63を、時間予測部61a〜61cとサイズ変換部62a〜62cとの間に接続するようにしてもよい。   The selection unit 63 may be configured to select and output one of the two divided sizes of the unsupported buffer to each of the clip processing units 64a to 64c in accordance with the set priority order. In FIG. 8, the selection unit 63 is connected between the size conversion units 62a to 62c and the clip processing units 64a to 64c, but the selection unit 63 is connected to the time prediction units 61a to 61c and the size conversion units 62a to 62c. You may make it connect between.

・上記実施形態では、制御部22から分割サイズ算出部21に対して出力される各通信装置11a,11bからバッファ12a,12bまでの転送レートRta,Rtbを固定する構成としたが、これらの転送レートRta,Rtbを適宜変更する構成を採用してもよい。   In the above embodiment, the transfer rates Rta and Rtb from the communication devices 11a and 11b to the buffers 12a and 12b output from the control unit 22 to the division size calculation unit 21 are fixed. A configuration in which the rates Rta and Rtb are appropriately changed may be adopted.

・上記実施形態では、各通信装置11a,11b(各バッファ12a,12b)の転送先が同一の装置14とした構成を採用したが、例えば各通信装置11a,11b(各バッファ12a,12b)の転送先がそれぞれ異なる構成であってもよい。要は、通信装置11a,11b(バッファ12a,12b)のそれぞれが目的の装置に対してデータを転送する際に共通(共有)のデータバス13を利用する構成であれば本発明を適用することができる。   In the above embodiment, the configuration is adopted in which the communication devices 11a and 11b (each buffer 12a and 12b) have the same transfer destination. However, for example, the communication devices 11a and 11b (each buffer 12a and 12b) Different transfer destinations may be used. In short, if the communication devices 11a and 11b (buffers 12a and 12b) are configured to use a common (shared) data bus 13 when transferring data to the target device, the present invention is applied. Can do.

・上記実施形態では、通信装置11a及び通信装置11bからデータバス13を介して目的の装置14に対してデータ転送を実施する、つまりデータ転送の転送方向が一方向とされる構成としたが、これに限らない。例えばデータ転送を通信装置11a,11bと目的の装置14との間で双方向にデータ転送が可能な構成の場合に、各バッファに対する分割サイズをデータ転送装置20(分割サイズ算出部21)によって変更することで双方向へのデータ転送が可能な構成であっても、上記効果(1)と同様の効果を得ることができる。   In the above embodiment, the data transfer is performed from the communication device 11a and the communication device 11b to the target device 14 via the data bus 13, that is, the transfer direction of the data transfer is set to one direction. Not limited to this. For example, when the data transfer is configured to enable bidirectional data transfer between the communication devices 11a and 11b and the target device 14, the division size for each buffer is changed by the data transfer device 20 (division size calculation unit 21). Thus, even if the configuration allows bidirectional data transfer, the same effect as the effect (1) can be obtained.

・上記実施形態では、バッファ12a,12b及び通信装置11a,11b間における転送レートRta,Rtbを予め設定したが、これに限らない。例えば、バッファ12a,12b及び通信装置11a,11b間の転送レートを所定タイミング毎若しくは任意のタイミングで計測し、その計測した実測値を転送レートRta,Rtbとして使用する構成を採用してもよい。   In the above embodiment, the transfer rates Rta and Rtb between the buffers 12a and 12b and the communication devices 11a and 11b are set in advance, but the present invention is not limited to this. For example, a configuration may be adopted in which the transfer rate between the buffers 12a and 12b and the communication devices 11a and 11b is measured at predetermined timings or at arbitrary timings, and the measured values measured are used as the transfer rates Rta and Rtb.

・通信装置11a,11bから各バッファ12a,12bにデータを転送する際に用いるクロック信号(例えば、通信装置11a,11bの送信回路が動作するためのクロック信号等)の周波数を転送レートRta,Rtbとして用いるようにしてもよい。同様に、データバス13の転送レートRt0についても、クロック信号の周波数を用いるようにしてもよい。   A frequency of a clock signal (for example, a clock signal for operating a transmission circuit of the communication devices 11a and 11b) used when transferring data from the communication devices 11a and 11b to the buffers 12a and 12b is set to a transfer rate Rta and Rtb. You may make it use as. Similarly, the frequency of the clock signal may be used for the transfer rate Rt0 of the data bus 13.

・上記実施形態では、各バッファ12a,12bに対する分割サイズの上限値Bamx,Bbmx及び下限値Bamn,Bbmnを設定する構成としたが、いずれか一方のみを設定する構成、若しくは上限値及び下限値の両方を設定しない構成としてもよい。   In the above embodiment, the upper limit values Bamx and Bbmx and the lower limit values Bamn and Bbmn of the division size for each buffer 12a and 12b are set. However, only one of the configurations, or the upper limit value and the lower limit value are set. It is good also as a structure which does not set both.

・上記実施形態では、各バッファ12a,12bに蓄積されるデータのデータ蓄積量Dsa,Dsbに応じて分割するデータのサイズ(分割サイズBsa,Bsb)を変更する構成としたが、例えば各バッファ12a,12bの空き容量に応じて分割するデータのサイズを変更する構成としてもよい。   In the above embodiment, the size of data to be divided (divided size Bsa, Bsb) is changed in accordance with the data accumulation amount Dsa, Dsb of the data accumulated in the buffers 12a, 12b. , 12b, the size of data to be divided may be changed according to the free capacity.

・上記実施形態では、特に言及していないが、前記データバス13は、CPU内部にある内部バス、CPUの外部にある外部バス、拡張カード等を増設する際に用いられる拡張バスのいずれであってもよい。要は、1つの転送路(バス)に複数の装置が接続され、それら装置が転送路を介してそれぞれの転送対象である装置に対してデータを転送するものであればよい。また、データバス13は、バッファ12a,12bから装置14に対してデータを転送可能であればよく、無線通信や有線通信等の通信形態、シリアルバスやパラレルバスなどの構成形態は限定されない。   Although not particularly mentioned in the above embodiment, the data bus 13 is any of an internal bus inside the CPU, an external bus outside the CPU, and an expansion bus used when adding an expansion card or the like. May be. In short, any device may be used as long as a plurality of devices are connected to one transfer path (bus), and these devices transfer data to the respective transfer target devices via the transfer path. The data bus 13 only needs to be able to transfer data from the buffers 12a and 12b to the device 14, and the communication form such as wireless communication and wired communication, and the configuration form such as serial bus and parallel bus are not limited.

上記各実施形態に関し、以下の付記を開示する。
(付記1)
複数のバッファのそれぞれに格納されたデータを、複数の前記バッファが接続される1つのバスを介して転送先にデータを転送するデータ転送装置であって、
複数の前記バッファのデータ蓄積量に基づいて分割サイズをそれぞれ算出する分割サイズ算出部と、
複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を出力する複数の分割転送制御部と、
前記転送指示に応じて前記バッファから前記転送先にデータを転送する転送制御部と、
を含むデータ転送装置。
(付記2)
前記分割サイズ算出部は、前記分割サイズ分のデータ転送が終了する毎に、複数の前記バッファに対する分割サイズを算出する、ことを特徴とする付記1に記載のデータ転送装置。
(付記3)
前記分割サイズ算出部は、複数の前記バッファの分割サイズを、算出対象以外のバッファのデータ蓄積量に基づいてそれぞれ算出する、ことを特徴とする付記1又は2に記載のデータ転送装置。
(付記4)
前記分割サイズ算出部は、
複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出する複数の時間予測部と、
前記バスの転送レートに基づいて、複数の前記予測時間を複数の前記分割サイズにそれぞれ変換する複数のサイズ変換部と、
を含む、ことを特徴とする付記1〜3のうちの何れか一項に記載のデータ転送装置。
(付記5)
前記分割サイズ算出部は、複数の前記分割サイズを、複数の前記バッファのそれぞれに対応する上限値及び下限値に基づいてそれぞれクリップする複数のクリップ処理部を含む、ことを特徴とする付記4に記載のデータ転送装置。
(付記6)
前記バスには少なくとも3つの前記バッファが接続され、
前記分割サイズ算出部は、複数の前記バッファの分割サイズを、算出対象以外のバッファの予測時間のうちの最小の予測時間に基づいて算出する、ことを特徴とする付記1〜5のうちの何れか一項に記載のデータ転送装置。
(付記7)
前記時間予測部は、対応する前記バッファのデータ蓄積量と転送レートと転送開始しきい値とに基づいて前記予測時間を算出する、ことを特徴とする付記4に記載のデータ転送装置。
(付記8)
複数のバッファのそれぞれに格納されたデータを、複数の前記バッファが接続される1つのバスを介して転送先にデータを転送するデータ転送方法であって、
複数の前記バッファのデータ蓄積量に基づいて分割サイズをそれぞれ算出し、複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を生成し、前記転送指示に応じて前記バッファから前記転送先にデータを転送する、データ転送方法。
The following notes are disclosed regarding the above embodiments.
(Appendix 1)
A data transfer device that transfers data stored in each of a plurality of buffers to a transfer destination via a single bus to which the plurality of buffers are connected,
A division size calculation unit that calculates a division size based on the data accumulation amount of the plurality of buffers;
A plurality of division transfer control units that output a buffer transfer instruction corresponding to the plurality of buffers and corresponding to the division size and the data accumulation amount;
A transfer control unit for transferring data from the buffer to the transfer destination in response to the transfer instruction;
A data transfer device including:
(Appendix 2)
The data transfer apparatus according to appendix 1, wherein the division size calculation unit calculates a division size for the plurality of buffers every time data transfer for the division size is completed.
(Appendix 3)
The data transfer apparatus according to appendix 1 or 2, wherein the division size calculation unit calculates the division sizes of the plurality of buffers based on the data accumulation amount of buffers other than the calculation target.
(Appendix 4)
The division size calculation unit
A plurality of time prediction units for calculating respective predicted times until the next transfer request is issued based on the data accumulation amounts of the plurality of buffers;
A plurality of size conversion units that respectively convert a plurality of the predicted times into a plurality of the divided sizes based on a transfer rate of the bus;
The data transfer device according to any one of Appendices 1 to 3, characterized by comprising:
(Appendix 5)
The additional size 4 is characterized in that the division size calculation unit includes a plurality of clip processing units that respectively clip the plurality of division sizes based on an upper limit value and a lower limit value corresponding to each of the plurality of buffers. The data transfer device described.
(Appendix 6)
At least three of the buffers are connected to the bus,
Any one of Supplementary notes 1 to 5, wherein the division size calculation unit calculates a division size of the plurality of buffers based on a minimum prediction time of prediction times of buffers other than the calculation target. A data transfer apparatus according to claim 1.
(Appendix 7)
The data transfer apparatus according to appendix 4, wherein the time prediction unit calculates the prediction time based on a data accumulation amount, a transfer rate, and a transfer start threshold value of the corresponding buffer.
(Appendix 8)
A data transfer method for transferring data stored in each of a plurality of buffers to a transfer destination via a single bus to which the plurality of buffers are connected,
A division size is respectively calculated based on the data accumulation amount of the plurality of buffers, a transfer instruction for the buffer corresponding to the plurality of buffers is generated according to the division size and the data accumulation amount, and the transfer instruction A data transfer method of transferring data from the buffer to the transfer destination in response to

12a〜12c バッファ
13 データバス
14 装置(転送先)
20,50 データ転送装置
21,51 分割サイズ算出部
23a,23b,53a〜53c 分割転送制御部
25,55 転送制御部
31a,31b,61a〜61c 時間予測部
32a,32b,62a〜62c サイズ変換部
33a,33b クリップ処理部
Bia,Bib しきい値(転送開始しきい値)
Tpa,Tpb データ蓄積時間(予測時間)
Dsa,Dsb,Dsc データ蓄積量
Rta,Rtb,Rtc 転送レート
Rt0 転送レート
Bsa,Bsb,Bsc 分割サイズ
Bamx,Bbmx 上限値
Bamn,Bbmn 下限値
12a to 12c buffer 13 data bus 14 device (transfer destination)
20, 50 Data transfer device 21, 51 Division size calculation unit 23a, 23b, 53a to 53c Division transfer control unit 25, 55 Transfer control unit 31a, 31b, 61a to 61c Time prediction unit 32a, 32b, 62a to 62c Size conversion unit 33a, 33b Clip processing unit Bia, Bib threshold (transfer start threshold)
Tpa, Tpb Data accumulation time (estimated time)
Dsa, Dsb, Dsc Data accumulation amount Rta, Rtb, Rtc Transfer rate Rt0 Transfer rate Bsa, Bsb, Bsc Division size Bamx, Bbmx Upper limit value Bamn, Bbmn Lower limit value

Claims (4)

複数のバッファのそれぞれに格納されたデータを、複数の前記バッファが接続される1つのバスを介して転送先にデータを転送するデータ転送装置であって、
複数の前記バッファのデータ蓄積量に基づいて分割サイズをそれぞれ算出する分割サイズ算出部と、
複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を出力する複数の分割転送制御部と、
前記転送指示に応じて前記バッファから前記転送先にデータを転送する転送制御部と、を含み、
前記分割サイズ算出部は、
複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出する複数の時間予測部と、
前記バスの転送レートに基づいて、複数の前記予測時間を複数の前記分割サイズにそれぞれ変換する複数のサイズ変換部と、
を含む、ことを特徴とするデータ転送装置。
A data transfer device that transfers data stored in each of a plurality of buffers to a transfer destination via a single bus to which the plurality of buffers are connected,
A division size calculation unit that calculates a division size based on the data accumulation amount of the plurality of buffers;
A plurality of division transfer control units that output a buffer transfer instruction corresponding to the plurality of buffers and corresponding to the division size and the data accumulation amount;
See containing and a transfer control unit that transfers the data to the transfer destination from the buffer in response to the transfer instruction,
The division size calculation unit
A plurality of time prediction units for calculating respective predicted times until the next transfer request is issued based on the data accumulation amounts of the plurality of buffers;
A plurality of size conversion units that respectively convert a plurality of the predicted times into a plurality of the divided sizes based on a transfer rate of the bus;
A data transfer device comprising:
前記分割サイズ算出部は、前記分割サイズ分のデータ転送が終了する毎に、複数の前記バッファに対する分割サイズを算出する、ことを特徴とする請求項1に記載のデータ転送装置。   The data transfer apparatus according to claim 1, wherein the division size calculation unit calculates a division size for the plurality of buffers every time data transfer for the division size is completed. 前記分割サイズ算出部は、複数の前記バッファの分割サイズを、算出対象以外のバッファのデータ蓄積量に基づいてそれぞれ算出する、ことを特徴とする請求項1又は2に記載のデータ転送装置。   The data transfer apparatus according to claim 1, wherein the division size calculation unit calculates a division size of each of the plurality of buffers based on a data accumulation amount of a buffer other than the calculation target. 複数のバッファのそれぞれに格納されたデータを、複数の前記バッファが接続される1つのバスを介して転送先にデータを転送するデータ転送方法であって、
複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出し、前記バスの転送レートに基づいて、複数の前記予測時間を複数の分割サイズにそれぞれ変換し、複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を生成し、前記転送指示に応じて前記バッファから前記転送先にデータを転送する、データ転送方法。
A data transfer method for transferring data stored in each of a plurality of buffers to a transfer destination via a single bus to which the plurality of buffers are connected,
Calculate the estimated time until the next transfer request is issued based on the data accumulation amount of the plurality of buffers , respectively, and convert the plurality of estimated times into a plurality of division sizes based on the bus transfer rate, respectively. A buffer transfer instruction corresponding to the plurality of buffers, corresponding to the division size and the data accumulation amount, and transferring data from the buffer to the transfer destination according to the transfer instruction; Transfer method.
JP2011009033A 2011-01-19 2011-01-19 Data transfer apparatus and data transfer method Active JP5644531B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011009033A JP5644531B2 (en) 2011-01-19 2011-01-19 Data transfer apparatus and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011009033A JP5644531B2 (en) 2011-01-19 2011-01-19 Data transfer apparatus and data transfer method

Publications (2)

Publication Number Publication Date
JP2012150663A JP2012150663A (en) 2012-08-09
JP5644531B2 true JP5644531B2 (en) 2014-12-24

Family

ID=46792849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011009033A Active JP5644531B2 (en) 2011-01-19 2011-01-19 Data transfer apparatus and data transfer method

Country Status (1)

Country Link
JP (1) JP5644531B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468720B2 (en) 2014-04-28 2019-02-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Adapt to anticipated changes in host transfer rate

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0754494B2 (en) * 1987-08-12 1995-06-07 富士通株式会社 Asynchronous data transfer control device
JPH0831076B2 (en) * 1989-09-13 1996-03-27 日本電気株式会社 I / O processor
JP2005056067A (en) * 2003-08-01 2005-03-03 Matsushita Electric Ind Co Ltd Dma transfer controller
JP2006040167A (en) * 2004-07-29 2006-02-09 Sharp Corp Bus arbitration circuit, information processing device, and program and recording medium for the same
JP4522808B2 (en) * 2004-09-29 2010-08-11 オリンパス株式会社 Bus control device
JP2008139934A (en) * 2006-11-30 2008-06-19 Matsushita Electric Ind Co Ltd Bus access method and bus access device

Also Published As

Publication number Publication date
JP2012150663A (en) 2012-08-09

Similar Documents

Publication Publication Date Title
US9444740B2 (en) Router, method for controlling router, and program
KR100784385B1 (en) System and method of arbitrating requests for a shared resource
US7624221B1 (en) Control device for data stream optimizations in a link interface
US20120042105A1 (en) Bus arbitration apparatus
US8285903B2 (en) Requests and data handling in a bus architecture
JP5895840B2 (en) Multiprocessor system, execution control method, execution control program
JP2011505037A (en) Read data buffering system and method
JP2012064021A (en) Communication system, master device and slave device, and communication method
US9262355B2 (en) Controller configured to control timing of access request according to density of burst access and access load
WO2013187191A1 (en) I/o device, programmable logic controller and calculation method
JP5644531B2 (en) Data transfer apparatus and data transfer method
JP2010282352A (en) Dma transfer control device
KR101420290B1 (en) Bus arbiter capable of grouping transactions, bus device and system including the same
EP1513069A2 (en) Resource management apparatus
JP2006215621A (en) Dma controller
JP4372110B2 (en) Data transfer circuit, multiprocessor system using the same, and data transfer method
JP5360594B2 (en) DMA transfer apparatus and method
JP5887970B2 (en) Information processing apparatus and information processing apparatus control method
US10002092B2 (en) Arithmetic processing unit, and method of controlling arithmetic processing unit
JP7226084B2 (en) Information processing equipment
JP4601657B2 (en) Traffic shaping apparatus and method
JP2013005145A (en) Packet transfer device and packet transfer method
JP2012199788A (en) Information processing system and arbitration method
JP6160717B1 (en) Processor and data transfer method
JP7292044B2 (en) Control device and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350