JP5644531B2 - Data transfer apparatus and data transfer method - Google Patents
Data transfer apparatus and data transfer method Download PDFInfo
- 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
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.
しかしながら、上記のようなデータ転送方法では、送信許可を得たバッファのデータが全て転送された後に、他のバッファ(他の装置)に送信許可が与えられる。データサイズが大きいバッファはデータバスを長時間占有するため、他のバッファのデータ転送が長時間待たされる。 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〜図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
各通信装置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
分割サイズ算出部21には、各バッファ12a,12bからデータ蓄積量Dsa,Dsbが供給される。また、分割サイズ算出部21には、制御部22から各種情報が供給される。
The division
制御部22には、バッファ12aに対応する転送レートRtaと、バッファ12bに対応する転送レートRtbと、データバス13に対応する転送レートRt0とが記憶されている。各転送レートRta,Rtb,Rt0は、例えばデータ転送に用いられるクロック信号の周波数に応じて設定されている。また、制御部22には、バッファ12aに対応するしきい値Biaと、バッファ12bに対応するしきい値Bibが記憶されている。制御部22は、各転送レートRta,Rtb,Rt0と各しきい値Bia,Bibを出力する。
The
分割サイズ算出部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
バッファ12aに対応する分割サイズBsaは、分割転送制御部23aに供給される。バッファ12bに対応する分割サイズBsbは、分割転送制御部23bに供給される。制御部22は任意のタイミングで分割転送制御部23a,23bに対して転送指示Tsa,Tsbを出力する。
The division size Bsa corresponding to the
分割転送制御部23aは、制御部22から出力される転送指示Tsaと、バッファ12aから出力されるデータ蓄積量Dsaと、分割サイズ算出部21から出力される分割サイズBsaとに基づくタイミングで、調停部24に対して分割サイズによる転送指示Tbaを出力する。転送指示Tbaは、対応するバッファ12aから転送先の装置14に転送するデータ量を含む。
The division
同様に、分割転送制御部23bは、制御部22から出力される転送指示Tsbと、バッファ12bから出力されるデータ蓄積量Dsbと、分割サイズ算出部21から出力される分割サイズBsbとに基づくタイミングで、調停部24に対して分割サイズによる転送指示Tbbを出力する。転送指示Tbbは、対応するバッファ12bから転送先の装置14に転送するデータ量を含む。
Similarly, the division
調停部24は、分割転送制御部23a,23bから出力される転送指示Tba,Tbbを調停し、調停結果に応じた転送指示Tbsを転送制御部25に出力する。転送指示Tbsは、転送対象とするバッファを選択するための選択情報と、その選択したバッファから転送するデータの量を示す転送サイズ情報を含む。
The
転送制御部25は、調停部24からの転送指示Tbsに従って、転送元のバッファから転送先の装置14へ、指定されたサイズのデータを転送する。即ち、転送制御部25は、転送指示Tbsに含まれる選択情報に従ってバッファ12a,12bのうちの何れか1つを転送元として選択する。そして、転送制御部25は、選択したバッファから転送先の装置14へ、転送指示Tbsに含まれる転送サイズのデータを転送する。
The
次に、分割サイズ算出部21について詳細に説明する。
図2に示すように、分割サイズ算出部21は、バッファ12aに対応する時間予測部31aと、バッファ12bに対応する時間予測部31bとを備えている。
Next, the division
As illustrated in FIG. 2, the division
時間予測部31aと時間予測部31bは、互いに対応するバッファ以外のバッファのデータ格納状況に応じて、対応するバッファ
時間予測部31aと時間予測部31bは、互いに対応するバッファ以外のバッファに対するデータ蓄積時間を算出する。即ち、時間予測部31aは、バッファ12bに所定量(しきい値Bib)のデータを蓄積するまでに要する時間(データ蓄積時間)Tpbを算出する。時間予測部31bは、バッファ12aに所定量(しきい値Bia)のデータを蓄積するまでに要する時間(データ蓄積時間)Tpbを算出する。
The
詳述すると、時間予測部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
Tpb = Rtb / (Bib−Dsb)
Calculated by When the data accumulation amount Dsb of the
バッファ12bは、所定量以上のデータを蓄積すると、データの転送が可能となる。つまり、バッファ12bに対する転送要求の発行が可能となる。即ち、時間予測部31aは、入力される各種情報に基づいて、バッファ12bに対して次の転送要求が発行可能となるまでの予測時間を算出する。
The
同様に、時間予測部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
Tpa = Rta / (Bia-Dsa)
Calculated by Then, when the data accumulation amount Dsa of the
サイズ変換部32a,32bは、時間予測部31a,31bにて算出されたデータ蓄積時間Tpa,Tpbを、対応するバッファ12a,12bから転送するデータの予測サイズPsa,Psbに変換する。サイズ変換部32aは、バッファ12bに対応するデータ蓄積時間Tpbを、バッファ12aに対応する予測サイズPsaに変換する。サイズ変換部32bは、バッファ12aに対応するデータ蓄積時間Tpaを、バッファ12bに対応する予測サイズPsbに変換する。
The
バッファ12bにデータを蓄積している期間、バッファ12aはデータバス13を占有することができる。その占有期間において転送可能なデータ量は、データを転送する期間と、バッファ12aからデータを転送する速度と、の積により求められる。バッファ12aからデータを転送する速度は、そのバッファ12aと転送先の装置14との間の転送レート、即ちデータバス13の転送レートRt0に対応する。従って、サイズ変換部32aは、時間予測部31aによって算出されたバッファ12bに対応するデータ蓄積時間Tpbに、データバス13の転送レートRt0を乗じて、バッファ12aに対応する予測サイズPsaを算出する。
The
同様に、バッファ12aにデータを蓄積している期間、バッファ12bは、データバス13を占有でき、その占有期間に転送可能なデータ量は、占有期間とデータバス13の転送レートRt0の積により求められる。従って、サイズ変換部32bは、時間予測部31bによって算出されたバッファ12aに対応するデータ蓄積時間Tpaに、データバス13の転送レートRt0を乗じて、バッファ12bに対応する予測サイズPsbを算出する。
Similarly, during the period in which data is stored in the
クリップ処理部33aには、サイズ変換部32aにより算出されたバッファ12aに対応する予測サイズPsaが供給される。また、クリップ処理部33aには、レジスタ34から分割サイズの上限値Bamx及び下限値Bamnが供給される。分割サイズの上限値Bamx及び下限値Bamnは、例えば、バッファの数、転送に係るオーバーヘッド、等に応じて設定され、レジスタ34に格納されている。
The predicted size Psa corresponding to the
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
クリップ処理部33aは、予測サイズPsaが分割サイズの上限値Bamx以下且つ下限値Bamn以上の場合、予測サイズPsaと等しい分割サイズBsaを出力する。一方、クリップ処理部33aは、予測サイズPsaが下限値Bamn未満の場合、下限値Bamnと等しい分割サイズBsaを出力する。また、クリップ処理部33aは、予測サイズPsaが上限値Bamxより大きい場合,上限値Bamxと等しい分割サイズBsaを出力する。
The
同様に、クリップ処理部33bは、予測サイズPsbが分割サイズの上限値Bbmx以下且つ下限値Bbmn以上の場合、予測サイズPsbと等しい分割サイズBsbを出力する。一方、クリップ処理部33bは、予測サイズPsbが下限値Bbmn未満の場合、下限値Bbmnと等しい分割サイズBsbを出力する。また、クリップ処理部33bは、予測サイズPsbが上限値Bbmxより大きい場合,上限値Bbmxと等しい分割サイズBsbを出力する。
Similarly, the
次に、分割転送制御部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
The division
分割転送制御部23aは、制御部22からの転送指示Tsaとともに分割サイズ算出部21からの分割サイズBsaの情報を受けて動作を開始する。
先ず、分割転送制御部23aは、以前に転送していたことを考慮して、転送済みデータ数Tzsをクリア(=0)する(ステップS10)。
The division
First, the divided
次いで、分割転送制御部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
次いで、分割転送制御部23aは、バッファ12aのデータ蓄積量Dsaを監視し、バッファ12aに分割サイズBsa分のデータがあるか否かを判定する(ステップS14)。分割転送制御部23aは、バッファ12aに分割サイズBsa分のデータが蓄積されていないと判定した場合(ステップS14:NO)、次のステップに移行しない。分割転送制御部23aは、バッファ12aに分割サイズBsa分のデータが蓄積されていると判定した場合(ステップS14:YES)、転送開始要求Reqを調停部24に対して出力する(ステップS15)。
Next, the division
分割転送制御部23aは、調停部24によって転送開始要求Reqが受け付けられたか否かを判定する(ステップS16)。調停部24は、転送開始要求Reqを受け付けると、転送開始要求Reqの送信元に例えば転送許可信号を送信する。
The division
分割転送制御部23aは、転送許可信号を受け取らない場合(ステップS16:NO)、次のステップに移行しない。一方、分割転送制御部23aは、転送許可信号を受け取ると転送開始要求Reqが受け付けられたと判定し(ステップS16:YES)、転送指示Tbaを転送制御部25に対して発行する。即ち、分割転送制御部23aは、転送設定を転送制御部25に対して発行する(ステップS17)。転送設定は、テータを転送する転送元と転送先を特定するための情報、転送するデータ量を含む。分割転送制御部23aは、転送元としてバッファ12aを示す情報、転送先として装置14を示す情報、転送サイズJTsを転送制御部25に送信する。
When the division
次いで、分割転送制御部23aは、転送開始指示を転送制御部25に対して発行する(ステップS18)。
転送制御部25は、転送開始指示を受け取ると、転送設定に応じて、データを転送する。この場合、転送制御部25は、バッファ12aから出力されるデータを、装置14に出力する。そして、転送制御部25は、転送サイズJTsのデータの転送を完了すると、転送完了通知を発行する。
Next, the divided
When receiving the transfer start instruction, the
次いで、分割転送制御部23aは、転送完了通知があるか否かを判定する(ステップS19)。分割転送制御部23aは、転送完了通知がない場合(ステップS19:No)、次のステップに移行しない。一方、分割転送制御部23aは、転送完了通知を受け取ると(ステップS19:YES)、転送済みデータ数Tzsに今回の転送サイズJTs(分割サイズBsa)を積算する(ステップS20)。
Next, the division
次いで、分割転送制御部23aは、転送データ数Tds分の転送が完了したか否かを判定する(ステップS21)。分割転送制御部23aは、転送済みデータ数Tzsが転送データ数Tdsより小さい場合に転送データ数Tds分の転送を完了していないと判定し(ステップS21:NO)、ステップS11に移行する。つまり、転送データ数Tds分のデータ転送を完了するまで、ステップS11からステップS20までの各処理を繰り返し実行する。そして、分割転送制御部23aは、転送済みデータ数Tzsが転送データ数Tdsと等しくなると、転送データ数Tds分の転送が完了したと判定し(ステップS21:NO)、割転送制御処理を終了する。
Next, the divided
次に、データ転送装置20の動作例を説明する。
(第1の動作例)
図4に示すように、時刻t0において、バッファ12aには転送すべき全てのデータが蓄積され、このデータ蓄積量は、しきい値Biaより多い。一方、バッファ12bにはしきい値Bibより少ないデータが蓄積されている。
Next, an operation example of the
(First operation example)
As shown in FIG. 4, at time t0, all data to be transferred is accumulated in the
分割サイズ算出部21は、両バッファ12a,12bのデータ蓄積量Dsa,Dsbに基づいて分割サイズBsa,Bsbをそれぞれ算出する。分割転送制御部23aは、データ蓄積量Dsaがしきい値Biaより大きいため、転送指示Tbaを出力する。一方、分割転送制御部23bは、データ蓄積量Dsbはしきい値Bibより小さいため、転送指示Tbbを出力しない。その結果、調停部24は、分割サイズBsaを含む転送指示Tbsを転送制御部25に出力する。
The division
転送制御部25は、転送指示Tbsに従って、バッファ12aに対し、転送サイズJTsとする転送を開始する。転送制御部25は、先ずバッファ12aに対応するヘッダを送信し、バッファ12aから読み出したデータを装置14に転送する。バッファ12aからデータが転送されるに従って、バッファ12aのデータ蓄積量Dsaは減少する。
The
このバッファ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
Next, at time t1, the division
次いで、時刻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
次いで、時刻t3において、時刻t1と同様に、調停部24は、分割サイズBsbを含む転送指示Tbbに応じて転送指示Tbsを出力し、転送制御部25はその転送指示Tbsに従って、バッファ12bに対するデータ転送(図中、「B2」と表記)を開始する。
Next, at time t3, similarly to time t1, the arbitrating
このように、バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。従って、バッファ12aに対するデータ転送が終了したときに、バッファ12bに対するデータ転送が可能な状態になっているため、そのバッファ12bに対するデータ転送を開始することができる。このため、バッファ12bにおけるデータ転送の待ち時間を短縮することができる。
Thus, based on the data storage amount Dsb of the
また、バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。バッファ12bのデータ蓄積量Dsbが少ないほど、分割サイズBsaは大きくなる。従って、1つのヘッダによりバッファ12aのデータをまとめて転送することができ、データを所定サイズに分割して複数回に分けて転送する場合と比べ、データ転送におけるオーバーヘッドを少なくすることができる。
Further, based on the data accumulation amount Dsb of the
(第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
図5に示すように、時刻t0において、転送制御部25は、上記の動作例と同様に、バッファ12aに対するデータ転送(図中、「A1」と表記)を開始する。
バッファ12aに対するデータ転送A1が終了した時刻t1において、バッファ12bには、分割しきい値Bib分のデータが蓄積されていない。従って、時刻t1では、分割転送制御部23bは、転送指示Tbbを出力しない。
As shown in FIG. 5, at time t0, the
At time t1 when the data transfer A1 to the
一方、分割転送制御部23aは、転送指示Tbaを出力する。時刻t0におけるデータ蓄積量Dsbよりも、時刻t1におけるデータ蓄積量Dsbが大きい。従って、時刻t1における分割サイズBsaは、時刻t0における分割サイズBsaよりも小さくなる。従って、時刻t1において算出された分割サイズBsaに基づくデータ転送A2は、時刻t0において算出された分割サイズBsaに基づくデータ転送A0よりも短い期間で終了する。
On the other hand, the division
バッファ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
時刻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
このように、装置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
(第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
図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
At time t1 when the data transfer A1 to the
バッファ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
データ転送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
このように、装置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
また、第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
以上記述したように、本実施形態によれば、以下の効果を奏する。
(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
(2)バッファ12bのデータ蓄積量Dsbに基づいて、バッファ12bにしきい値Bib以上のデータが蓄積されるまでのデータ蓄積時間Tpbを予測し、そのデータ蓄積時間Tpbに応じて、バッファ12aから転送するデータの分割サイズBsaを算出する。バッファ12bのデータ蓄積量Dsbが少ないほど、分割サイズBsaは大きくなる。従って、1つのヘッダによりバッファ12aのデータをまとめて転送することができ、データを所定サイズに分割して複数回に分けて転送する場合と比べ、データ転送におけるオーバーヘッドを少なくすることができる。
(2) Based on the data storage amount Dsb of the
(3)装置11bからバッファ12bにデータを転送する転送速度が、制御部22に設定された転送レートRtbよりも遅い場合、他のバッファ12aのデータ転送が繰り返し実施される。従って、例えば、交互にバッファ12a,12bに対するデータ転送を実施する場合と比べ、バッファ12aのデータ転送が待たされることがなく、バッファ12aのデータ転送に係る時間を短縮することができる。
(3) When the transfer rate for transferring data from the device 11b to the
(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
(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
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態は、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
制御部52は、各バッファ12a,12b,12cにそれぞれ対応するしきい値Bia,Bib,Bic及び転送レートRta,Rtb,Rtcと、バス13の転送レートRt0を分割サイズ算出部51に供給する。また、制御部52は、転送指示Tsa,Tsb,Tscを、対応する分割転送制御部53a,53b,53cにそれぞれ供給する。
The
分割転送制御部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
調停部24は、各分割転送制御部53a〜53cから出力される転送指示Tsa〜Tscを調停して転送指示Tbsを出力する。転送制御部55は、転送指示Tbsに基づいて、各バッファ12a〜12cに対するデータ転送を制御する。
The arbitrating
図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
サイズ変換部62aは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpaを予測サイズPsaに変換する。同様に、サイズ変換部62bは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpbを予測サイズPsbに変換する。サイズ変換部62cは、データバス13の転送レートRt0に基づいて、データ蓄積時間Tpcを予測サイズPscに変換する。
The
選択部63は、各サイズ変換部62a〜62cから出力される予測サイズPsa〜Pscに基づいて、クリップ処理部64a〜64cに対する予測サイズP2a〜P2cを生成する。クリップ処理部64a〜64cは、バッファ12a〜12cにそれぞれ対応する。選択部63は、バッファ12a〜12cに対応するクリップ処理部64a〜64cに対し、対応しない2つのバッファの分割サイズのうちの1つを選択し、その選択した分割サイズを出力する。
The
例えば、選択部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
クリップ処理部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
このように、バッファ12a〜12cにそれぞれ格納されるデータを装置14に転送する際の分割サイズを変更することにより、上記実施形態と同様に、転送に係る待ち時間を短縮することができる。
As described above, by changing the division size when the data stored in the
尚、選択部63において、設定した優先順位に従って、各クリップ処理部64a〜64cに対し、対応しないバッファの2つの分割サイズのうちの一方を選択して出力する構成としてもよい。また、図8において、選択部63を、サイズ変換部62a〜62cとクリップ処理部64a〜64cの間に接続したが、選択部63を、時間予測部61a〜61cとサイズ変換部62a〜62cとの間に接続するようにしてもよい。
The
・上記実施形態では、制御部22から分割サイズ算出部21に対して出力される各通信装置11a,11bからバッファ12a,12bまでの転送レートRta,Rtbを固定する構成としたが、これらの転送レートRta,Rtbを適宜変更する構成を採用してもよい。
In the above embodiment, the transfer rates Rta and Rtb from the
・上記実施形態では、各通信装置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
・上記実施形態では、通信装置11a及び通信装置11bからデータバス13を介して目的の装置14に対してデータ転送を実施する、つまりデータ転送の転送方向が一方向とされる構成としたが、これに限らない。例えばデータ転送を通信装置11a,11bと目的の装置14との間で双方向にデータ転送が可能な構成の場合に、各バッファに対する分割サイズをデータ転送装置20(分割サイズ算出部21)によって変更することで双方向へのデータ転送が可能な構成であっても、上記効果(1)と同様の効果を得ることができる。
In the above embodiment, the data transfer is performed from the
・上記実施形態では、バッファ12a,12b及び通信装置11a,11b間における転送レートRta,Rtbを予め設定したが、これに限らない。例えば、バッファ12a,12b及び通信装置11a,11b間の転送レートを所定タイミング毎若しくは任意のタイミングで計測し、その計測した実測値を転送レートRta,Rtbとして使用する構成を採用してもよい。
In the above embodiment, the transfer rates Rta and Rtb between the
・通信装置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
・上記実施形態では、各バッファ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
・上記実施形態では、各バッファ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
・上記実施形態では、特に言及していないが、前記データバス13は、CPU内部にある内部バス、CPUの外部にある外部バス、拡張カード等を増設する際に用いられる拡張バスのいずれであってもよい。要は、1つの転送路(バス)に複数の装置が接続され、それら装置が転送路を介してそれぞれの転送対象である装置に対してデータを転送するものであればよい。また、データバス13は、バッファ12a,12bから装置14に対してデータを転送可能であればよく、無線通信や有線通信等の通信形態、シリアルバスやパラレルバスなどの構成形態は限定されない。
Although not particularly mentioned in the above embodiment, the
上記各実施形態に関し、以下の付記を開示する。
(付記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 3)
The data transfer apparatus according to
(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
(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
(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
20, 50
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)
複数の前記バッファのデータ蓄積量に基づいて分割サイズをそれぞれ算出する分割サイズ算出部と、
複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を出力する複数の分割転送制御部と、
前記転送指示に応じて前記バッファから前記転送先にデータを転送する転送制御部と、を含み、
前記分割サイズ算出部は、
複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出する複数の時間予測部と、
前記バスの転送レートに基づいて、複数の前記予測時間を複数の前記分割サイズにそれぞれ変換する複数のサイズ変換部と、
を含む、ことを特徴とするデータ転送装置。 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:
複数の前記バッファのデータ蓄積量に基づいて次の転送要求が発行されるまでの予測時間をそれぞれ算出し、前記バスの転送レートに基づいて、複数の前記予測時間を複数の分割サイズにそれぞれ変換し、複数の前記バッファに対応し、前記分割サイズと前記データ蓄積量に応じて対応するバッファの転送指示を生成し、前記転送指示に応じて前記バッファから前記転送先にデータを転送する、データ転送方法。 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.
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)
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)
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 |
-
2011
- 2011-01-19 JP JP2011009033A patent/JP5644531B2/en active Active
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 |