JP2008287490A - Data transfer system and data transfer method - Google Patents

Data transfer system and data transfer method Download PDF

Info

Publication number
JP2008287490A
JP2008287490A JP2007131671A JP2007131671A JP2008287490A JP 2008287490 A JP2008287490 A JP 2008287490A JP 2007131671 A JP2007131671 A JP 2007131671A JP 2007131671 A JP2007131671 A JP 2007131671A JP 2008287490 A JP2008287490 A JP 2008287490A
Authority
JP
Japan
Prior art keywords
data
transfer
time
burst
transferred
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.)
Withdrawn
Application number
JP2007131671A
Other languages
Japanese (ja)
Inventor
Hidenori Okamoto
英紀 岡本
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007131671A priority Critical patent/JP2008287490A/en
Publication of JP2008287490A publication Critical patent/JP2008287490A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer system to more efficiently operate data transfer. <P>SOLUTION: A functional module 1 outputs transfer object data to an FIFO 7. An RAM 2 inputs the transfer object data from the FIFO 7. Prior to the start of burst transfer from the functional module 1 to the RAM2, a control part 20 calculates the number of divisions of the transfer object data from the speed ratio of a clock signal relating to the burst transfer of the functional module 1 and the RAM 2 and transfer object data length, and controls the RAM 2 so as to divide the transfer object data into a plurality of pieces of data according to the number of divisions, and to input the data from the FIFO 7. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、データ転送システムおよびデータ転送方法に関し、特にデータの送信元と受信先のデータ送受信に係る動作周波数が異なる場合のデータ転送を行うシステムおよび方法に関する。   The present invention relates to a data transfer system and a data transfer method, and more particularly, to a system and a method for performing data transfer when operating frequencies related to data transmission / reception of data transmission and reception are different.

半導体装置には、内部にCPUと機能モジュールを備え、外部にデータ記憶用の記憶装置を接続し、さまざまなデジタル処理を行うものがある。このような半導体装置内部の機能モジュールは、画像処理、音声処理など様々なデータ処理を行っており、CPUを介して外部の記憶装置との間で相互にデータ転送処理を行う。このようなデータ転送では、一定の量(ワード数)のデータを連続して転送するバースト転送方式が一般的に行われる。   Some semiconductor devices include a CPU and a function module inside, and a storage device for data storage is connected to the outside to perform various digital processes. Such functional modules in the semiconductor device perform various data processing such as image processing and sound processing, and perform data transfer processing with an external storage device via the CPU. In such data transfer, a burst transfer method in which a fixed amount (number of words) of data is continuously transferred is generally performed.

ところで、バースト転送が行われる送受信装置(デバイス)は、互いに異なる動作周波数で動作する場合が多い。そこで送受信装置間にバッファメモリを挿入し、このバッファメモリによって異なる動作周波数を実質的に吸収してバースト転送が行われる。例えば、特許文献1には、デュアルポートメモリ内にメモリ空間を複数に分割したブロックを形成し、データが該ブロックに書き込まれてから当該データを読み出すようにして、メモリ空間より大きなサイズのデータ、或いは、微小なサイズのデータであっても、異なる系の動作周波数で動作する2つのデバイス間で、高速に、そして、効率的にデータ転送することができるデータ送受信システムが記載されている。   By the way, transmission / reception apparatuses (devices) that perform burst transfer often operate at different operating frequencies. Therefore, a buffer memory is inserted between the transmission and reception devices, and the burst transfer is performed by substantially absorbing different operating frequencies by this buffer memory. For example, in Patent Document 1, a block in which a memory space is divided into a plurality of portions in a dual port memory is formed, and the data is read out after the data is written to the block, so that data having a size larger than the memory space, Alternatively, a data transmission / reception system is described that can transfer data at high speed and efficiently between two devices operating at different system operating frequencies even for very small data.

また、特許文献2には、異なる速度でデータを転送するバス間におけるデータのバッファリングに使用するための仮想的なFIFOとして、メモリ装置を、各々が個別のデータバッファとして構成された複数の領域に分割するようなブリッジ装置が開示されている。   Further, Patent Document 2 discloses a plurality of areas each configured as a memory device as a virtual FIFO for use in buffering data between buses that transfer data at different speeds. A bridging device that divides into two is disclosed.

なお、関連する技術として、映像処理を行う装置に対して、データ量が多い色データに対して優先的、かつバースト長を長くして転送を行う技術が特許文献3に記載されている。   As a related technique, Japanese Patent Application Laid-Open No. H10-228561 describes a technique for transferring data with priority to color data having a large amount of data and a long burst length with respect to an apparatus that performs video processing.

特開2004−133789号公報JP 2004-133789 A 特表2001−521246号公報JP-T-2001-521246 特開2004−133661号公報JP 2004-133661 A

ところで、半導体装置等において、処理の高速化が求められ、バースト転送もより高速に動作することが要求されている。これに対し、従来、異なる速度で動作する装置間に存在するバッファを複数の領域に分割することでバースト転送を効率化するような技術が知られている。しかしながら、バースト転送を最短あるいはそれに近い時間で転送する方法は、開示されておらず、データ転送をより効率的に行うことができなかった。   By the way, in a semiconductor device or the like, high-speed processing is required, and burst transfer is also required to operate at higher speed. On the other hand, there is conventionally known a technique for improving the efficiency of burst transfer by dividing a buffer existing between devices operating at different speeds into a plurality of areas. However, a method for transferring burst transfer in the shortest time or a time close thereto is not disclosed, and data transfer cannot be performed more efficiently.

本発明の1つのアスペクトに係るデータ転送システムは、転送対象のデータを記憶部に出力する送信側装置と、転送対象のデータを記憶部から入力する受信側装置と、記憶部と、送信側装置から受信側装置へのバースト転送開始前に、送信側および受信側装置のバースト転送に係るクロック信号の速度比と転送対象のデータ長とから転送対象のデータの分割数を求め、該分割数に従って転送対象のデータを複数のデータに分割して記憶部から入力するように受信側装置を制御する制御部と、を備える。   A data transfer system according to one aspect of the present invention includes a transmission-side device that outputs data to be transferred to a storage unit, a reception-side device that inputs data to be transferred from the storage unit, a storage unit, and a transmission-side device. Before the start of burst transfer from the receiver to the receiving device, the number of divisions of the transfer target data is obtained from the speed ratio of the clock signal related to the burst transfer of the transmitting side and the receiving side device and the data length of the transfer target. And a control unit that controls the receiving side device so that the data to be transferred is divided into a plurality of data and input from the storage unit.

本発明の他のアスペクトに係るデータ転送方法は、転送対象のデータを所望のバースト長の複数のデータに分割して送信側装置から受信側装置へバースト転送を行う方法であって、送信側および受信側装置のバースト転送に係るクロック信号の速度比と転送対象のデータ長とから転送対象のデータの分割数を求め、該分割数に従って転送対象のデータを複数のデータに分割してバースト転送を行う。   A data transfer method according to another aspect of the present invention is a method for performing burst transfer from a transmission side apparatus to a reception side apparatus by dividing data to be transferred into a plurality of pieces of data having a desired burst length. The number of divisions of the data to be transferred is obtained from the speed ratio of the clock signal related to the burst transfer of the receiving side device and the data length of the transfer target, and the transfer target data is divided into a plurality of data according to the division number and burst transfer is performed Do.

本発明によれば、送信側および受信側装置のバースト転送に係るクロック信号の速度比と転送対象のデータ長とから転送対象のデータの分割数を求めるので、動作周波数が異なる送信側および受信側装置間のデータのバースト転送において、適切なバースト長を設定することができる。したがって、データ転送にかかる時間が短縮され、データ転送をより効率的に行うことができる。   According to the present invention, the number of divisions of data to be transferred is obtained from the speed ratio of clock signals related to burst transfer of the transmitting side and the receiving side devices and the data length to be transferred. An appropriate burst length can be set in burst transfer of data between devices. Therefore, the time required for data transfer is shortened, and data transfer can be performed more efficiently.

本発明の実施形態に係るデータ転送システムは、転送対象のデータを記憶部に出力する送信側装置と、転送対象のデータを記憶部から入力する受信側装置と、記憶部と、制御部と、を備える。制御部は、送信側装置から受信側装置へのバースト転送開始前に、送信側および受信側装置のバースト転送に係るクロック信号の速度比と転送対象のデータ長とから転送対象のデータの分割数を求め、該分割数に従って転送対象のデータを複数のデータに分割して記憶部から入力するように受信側装置を制御する。   A data transfer system according to an embodiment of the present invention includes a transmission-side device that outputs data to be transferred to a storage unit, a reception-side device that inputs data to be transferred from the storage unit, a storage unit, a control unit, Is provided. Before starting the burst transfer from the transmission side device to the reception side device, the control unit determines the number of divisions of the transfer target data from the speed ratio of the clock signal related to the burst transfer of the transmission side and the reception side device and the transfer target data length. And the receiving side apparatus is controlled so that the data to be transferred is divided into a plurality of data and input from the storage unit according to the division number.

ここで、制御部は、転送対象のデータを複数のデータに分割して転送する際の総転送時間を、クロック信号の速度比、転送対象のデータ長、および分割数の関数で表し、該総転送時間が最小となる分割数を求めるようにしてもよい。   Here, the control unit represents the total transfer time when the transfer target data is divided and transferred into a plurality of data as a function of the speed ratio of the clock signal, the data length of the transfer target, and the number of divisions. The number of divisions that minimizes the transfer time may be obtained.

また、制御部は、転送対象のデータを複数のデータに分割して転送する際の総転送時間の最小値を、転送対象のデータの分割数を変化させて求めるようにしてもよい。   Further, the control unit may obtain the minimum value of the total transfer time when dividing the transfer target data into a plurality of data and changing the transfer target data division number.

総転送時間は、送信側装置からのデータが記憶部に蓄積されるまでの時間、送信側装置から転送要求を発行するのにかかる時間、該転送要求を非同期処理するための時間、該転送要求を受信側装置で受け取るのに必要な時間、受信側装置が記憶部からデータを読み出すのに必要な時間の和であることが好ましい。   The total transfer time includes the time until data from the transmission side device is accumulated in the storage unit, the time taken to issue a transfer request from the transmission side device, the time for asynchronously processing the transfer request, the transfer request Is preferably the sum of the time required for the receiver to receive the data and the time required for the receiver to read the data from the storage unit.

データ転送システムによるデータ転送方法は、送信側装置から受信側装置へのバースト転送開始前に、送信側および受信側装置のバースト転送に係るクロック信号の速度の遅速に応じて、転送対象のデータを複数のデータに分割して転送する際の総転送時間の最小値を、転送対象のデータの分割数を変化させて求めるステップと、求めた総転送時間の最小値となる時の分割数を元に複数のデータに分割したバースト長を算出するステップと、算出したバースト長を受信側装置における転送手段に設定するステップと、を含んでいてもよい。   In the data transfer method by the data transfer system, before starting the burst transfer from the transmission side device to the reception side device, the data to be transferred is transferred according to the slow speed of the clock signal related to the burst transfer of the transmission side and the reception side device. Determine the minimum value of total transfer time when dividing and transferring multiple data by changing the number of divisions of data to be transferred and the number of divisions when the minimum value of the total transfer time is found The method may include a step of calculating a burst length divided into a plurality of pieces of data and a step of setting the calculated burst length in a transfer means in the receiving side device.

また、送信側装置のバースト転送に係るクロック信号の速度が受信側装置のそれよりも速いときまたは等しいときに、分割数を変化させて求めるステップは、分割数nを1とするステップと、転送対象のデータに対する総転送時間t(1)を算出するステップと、t(n)<t(n+1)となるまでnをインクリメントしながら総転送時間t(n)を算出するステップと、t(n)<t(n+1)を満たしたときのnを総転送時間の最小値となる時の分割数とするステップと、を含んでいてもよい。   Further, when the speed of the clock signal related to the burst transfer of the transmission side device is faster than or equal to that of the reception side device, the step of changing the number of divisions includes the step of setting the division number n to 1, Calculating a total transfer time t (1) for the target data, calculating a total transfer time t (n) while incrementing n until t (n) <t (n + 1), and t (n ) <T (n + 1) where n is the number of divisions when the total transfer time becomes the minimum value.

さらに、送信側装置のバースト転送に係るクロック信号の速度が受信側装置のそれよりも遅いときに、分割数を変化させて求めるステップは、分割数nを1とするステップと、転送対象のデータに対する総転送時間t(1)を算出するステップと、t(n)<t(n+1)となるまでnをインクリメントしながら総転送時間t(n)を算出するステップと、t(n)<t(n+1)と、複数のデータに分割したバースト長がクロック信号の速度比から定まる所定値以上であることの双方を満たしたときのnを総転送時間の最小値となる時の分割数とするステップと、を含んでいてもよい。   Further, when the speed of the clock signal related to the burst transfer of the transmission side device is slower than that of the reception side device, the steps of changing the number of divisions include the step of setting the division number n to 1, and the data to be transferred A step of calculating a total transfer time t (1) for t, a step of calculating a total transfer time t (n) while incrementing n until t (n) <t (n + 1), and t (n) <t (N + 1) and n when the burst length divided into a plurality of data is equal to or greater than a predetermined value determined from the speed ratio of the clock signal are set as the number of divisions when the total transfer time becomes the minimum value. And a step.

以上のようなデータ転送システムによれば、送信側および受信側装置におけるバースト転送に係る動作周波数比に基づいて適切なバースト長を決定することで、データ転送を効率的に実行することができる。以下、実施例に即し、図面を参照して詳しく説明する。   According to the data transfer system as described above, it is possible to efficiently execute data transfer by determining an appropriate burst length based on the operating frequency ratio relating to burst transfer in the transmission side and reception side devices. Hereinafter, it will be described in detail with reference to the drawings in accordance with embodiments.

図1は、本発明の第1の実施例に係るデータ転送システムの構成を示すブロック図である。図1において、データ転送システムは、機能モジュール1、RAM2、SRAMなどで構成されるFIFO7、制御部20を備える。また、制御部20は、CPU3、クロック切り替え器4、バースト長設定レジスタ5、コントローラ6a、6bを含む。機能モジュール1は、バス14a、8aを介してFIFO7と接続される。また、RAM2は、バス14b、8bを介してFIFO7と接続される。そして、制御部20は、機能モジュール1とRAM2とがFIFO7を仲立ちとしてデータのバースト転送を行うように制御する。   FIG. 1 is a block diagram showing the configuration of the data transfer system according to the first embodiment of the present invention. In FIG. 1, the data transfer system includes a FIFO 7 including a functional module 1, a RAM 2, and an SRAM, and a control unit 20. The control unit 20 includes a CPU 3, a clock switch 4, a burst length setting register 5, and controllers 6a and 6b. The functional module 1 is connected to the FIFO 7 via the buses 14a and 8a. The RAM 2 is connected to the FIFO 7 via the buses 14b and 8b. Then, the control unit 20 controls the functional module 1 and the RAM 2 to perform data burst transfer with the FIFO 7 as an intermediary.

ここで、機能モジュール1とRAM2は、それぞれ異なる周波数で動作する。動作モードに応じて、CPU3がクロック切り替え器4の内部レジスタ(図示せず)の設定を行う。これにより、機能モジュール1、コントローラ6a、6b、FIFO7へ供給されるクロック信号10a、10bの動作周波数が変更される。動作周波数が変更されると、CPU3は、クロック信号10a、10bの動作周波数に応じた適切なバースト長を、クロック切り替え器4から出力される信号9によってバースト長設定レジスタ5へ設定する。FIFO7を境界として、機能モジュール1とRAM2は、それぞれデータの送信および受信の操作を行うコントローラ6a、6bを備えている。コントローラ6a、6bは、それぞれFIFO7へのデータ書き込みまたは読み込みの操作信号11a、11bを送受する。また、転送要求、要求受付などを適切なタイミングでデータ転送を行うための信号12a、12bを相互に通信する。これらのコントローラ6a、6bに対して、バースト長設定レジスタ5から出力される信号13によってバースト長設定値を設定する。コントローラ6a、6bに設定されるバースト長は、双方とも同じ値である。   Here, the functional module 1 and the RAM 2 operate at different frequencies. Depending on the operation mode, the CPU 3 sets an internal register (not shown) of the clock switch 4. As a result, the operating frequencies of the clock signals 10a and 10b supplied to the functional module 1, the controllers 6a and 6b, and the FIFO 7 are changed. When the operating frequency is changed, the CPU 3 sets an appropriate burst length corresponding to the operating frequency of the clock signals 10 a and 10 b in the burst length setting register 5 by the signal 9 output from the clock switch 4. With the FIFO 7 as a boundary, the functional module 1 and the RAM 2 include controllers 6a and 6b that perform data transmission and reception operations, respectively. The controllers 6a and 6b send and receive operation signals 11a and 11b for writing or reading data to the FIFO 7, respectively. Further, signals 12a and 12b for transferring data at an appropriate timing such as transfer request and request reception are communicated with each other. For these controllers 6a and 6b, the burst length setting value is set by the signal 13 output from the burst length setting register 5. Both burst lengths set in the controllers 6a and 6b have the same value.

以上のようなデータ転送システムにおいて、半導体装置の動作モードによって、機能モジュール1からRAM2へのデータ送信、またはRAM2から機能モジュール1へのデータ送信のどちらの場合も行われる。したがって、クロック信号10a、10bの周波数が異なれば、動作周波数の高速側から低速側へのデータ転送、あるいは動作周波数の低速側から高速側へのデータ転送のどちらの場合も存在しうる。   In the data transfer system as described above, either data transmission from the functional module 1 to the RAM 2 or data transmission from the RAM 2 to the functional module 1 is performed depending on the operation mode of the semiconductor device. Accordingly, if the frequencies of the clock signals 10a and 10b are different, there can be either data transfer from the high speed side of the operating frequency to the low speed side or data transfer from the low speed side of the operating frequency to the high speed side.

データ転送を確実に行うために、設定バースト長と同数のワード数のデータが送信側のFIFO7に蓄積された時点で、送信側のコントローラ6aは、転送要求を受信側に発行する。非同期処理を経て転送要求を受けた受信側のコントローラ6bは、バースト長と同数のワード数のデータの受信を実行する。以後、この方式で転送が行われるものとする。   In order to ensure data transfer, when data having the same number of words as the set burst length is accumulated in the FIFO 7 on the transmission side, the controller 6a on the transmission side issues a transfer request to the reception side. The controller 6b on the receiving side that has received the transfer request through the asynchronous process executes reception of data having the same number of words as the burst length. Hereinafter, it is assumed that transfer is performed by this method.

動作クロックが異なる機能モジュール間、あるいは機能モジュールとメモリ間での信号の受け渡しには、非同期処理が必要である。非同期処理は、図2に示すようなクロックBで動作する2段のフリップフロップ51、52を経由して、クロックAで動作するフリップフロップ50が出力した信号を同期化して受け渡す構成が一般的である。このため、信号の受け取りには、フリップフロップ51、52を経由する間のタイムラグが発生する。このタイムラグを非同期処理期間と呼ぶ。非同期処理期間は、データを受け取る側の動作周波数が遅く、なおかつ双方の動作周波数比が大きいときに特に顕著となる。この非同期処理は、データ転送の要求信号および受信信号である信号12a、12bの通信においてそれぞれ発生する。   Asynchronous processing is required for passing signals between function modules having different operation clocks or between a function module and a memory. Asynchronous processing generally has a configuration in which a signal output from the flip-flop 50 operating on the clock A is synchronized and delivered via the two-stage flip-flops 51 and 52 operating on the clock B as shown in FIG. It is. For this reason, a time lag occurs between the reception of the signal and the time through the flip-flops 51 and 52. This time lag is called an asynchronous processing period. The asynchronous processing period is particularly noticeable when the operating frequency on the data receiving side is slow and the operating frequency ratio between the two is large. This asynchronous processing occurs in communication of signals 12a and 12b, which are data transfer request signals and reception signals, respectively.

次に、CPU3の制御の詳細について説明する。図3は、CPU3によるバースト転送に係る処理を表すフローチャートである。   Next, details of the control of the CPU 3 will be described. FIG. 3 is a flowchart showing processing related to burst transfer by the CPU 3.

まず、ステップS10において、CPU3は、動作モードに従い送信側および受信側の動作クロックの設定を行う。   First, in step S10, the CPU 3 sets operation clocks on the transmission side and the reception side according to the operation mode.

ステップS11において、送信側および受信側のバースト転送に係るクロック信号の周波数比に応じてバースト長を算出する。   In step S11, the burst length is calculated according to the frequency ratio of the clock signals related to the burst transfer on the transmission side and the reception side.

ステップS12において、受信側および送信側のコントローラ6a、6bにバースト長を設定する。   In step S12, burst lengths are set in the reception side and transmission side controllers 6a and 6b.

ステップS13において、バースト長設定が完了し、データ転送処理が実行可能な待ち状態となり一連の処理は終了する。   In step S13, the burst length setting is completed, and a waiting state in which data transfer processing can be executed is entered, and the series of processing ends.

次に、上記のステップS11におけるバースト長の算出方法の詳細について説明する。バースト長算出の方法は、送信側および受信側装置のバースト転送に係るクロック信号の速度の遅速によって異なる。   Next, the details of the burst length calculation method in step S11 will be described. The method of calculating the burst length differs depending on the speed of the clock signal related to the burst transfer of the transmission side and reception side devices.

図4は、送信側が受信側よりも高速な動作周波数で動作している場合におけるバースト長の算出方法を表すフローチャートである。ここでnは、分割数を示し、t(n)は、バースト長をn分割したときの総転送時間を示す。   FIG. 4 is a flowchart showing a burst length calculation method when the transmitting side operates at a higher operating frequency than the receiving side. Here, n indicates the number of divisions, and t (n) indicates the total transfer time when the burst length is divided into n.

ステップS20において、nを1に設定する。   In step S20, n is set to 1.

ステップS21において、FIFO7に蓄積することができる最大のデータ数Nと同数のバースト長を基準として、総転送時間t(1)を計算する。   In step S21, the total transfer time t (1) is calculated on the basis of the same number of burst lengths as the maximum number of data N that can be stored in the FIFO 7.

ステップS22において、分割数nを増加させた時の総転送時間t(n+1)を計算する。   In step S22, the total transfer time t (n + 1) when the division number n is increased is calculated.

ステップS23において、差分M=t(n)−t(n+1)を求め、M≧0ならばステップS24においてnを1増加させてステップS22へ戻る。またM<0であれば、ステップS25に進む。   In step S23, a difference M = t (n) −t (n + 1) is obtained. If M ≧ 0, n is incremented by 1 in step S24, and the process returns to step S22. If M <0, the process proceeds to step S25.

ステップS25において、nを求めたい分割数とし、分割数nのバースト長を最適なバースト長として一連の処理を終了する。ここで最大バースト長をN(Nは2以上の整数)としたときの分割数nと、分割したバースト長をbとしたとき、b=N/nで表される。   In step S25, n is set to the number of divisions to be obtained, and the burst length of the number of divisions n is set to the optimum burst length, and the series of processes is terminated. Here, when the maximum burst length is N (N is an integer equal to or greater than 2), the division number is n, and when the divided burst length is b, b = N / n.

図5は、図4とは逆に受信側装置が送信側装置よりも高速に動作している場合におけるバースト長の算出方法を表すフローチャートであり、図3のステップS11を詳細に記載したものである。図5と図4の違いは、ステップS23aにおいて、差分Mの算出に加え、バースト長bに対して後述の式(24)に示される制約が加わる。   FIG. 5 is a flowchart showing a burst length calculation method when the receiving side device operates at a higher speed than the transmitting side device, contrary to FIG. 4, and describes step S11 in FIG. 3 in detail. is there. The difference between FIG. 5 and FIG. 4 is that, in step S23a, in addition to the calculation of the difference M, the constraint shown in the later-described equation (24) is added to the burst length b.

次に、バースト転送時のタイミングチャートについて説明する。図6は、送信側が受信側よりも高速な動作周波数で動作している場合におけるバースト転送のタイミングチャートである。   Next, a timing chart at the time of burst transfer will be described. FIG. 6 is a timing chart of burst transfer when the transmitting side operates at a higher operating frequency than the receiving side.

図6において、送信側から受信側へNワードのバースト転送を行うに際し、図6(a)、(b)、(c)、(d)のように分割数を1、2、4、8と増加させていった場合におけるバースト長ごとの動作の例を表している。送信データを短いバースト長で複数回に分けて受信すると、1バースト長のデータが揃った時点でデータ転送が開始できるため、その分データ受信開始が早くなり、転送にかかる全体の時間は、短くなる傾向にある。   In FIG. 6, when N word burst transfer is performed from the transmission side to the reception side, the number of divisions is 1, 2, 4, 8, as shown in FIGS. 6 (a), (b), (c), and (d). An example of operation for each burst length in the case of increasing is shown. If transmission data is received in multiple times with a short burst length, data transfer can be started when one burst length of data is ready, so that data reception starts earlier, and the overall transfer time is shorter. Tend to be.

しかし、バースト長を短くし転送回数を増やすに従い、転送の起動、受信、終了を相互に通知するための転送の要求信号および受信信号である信号12a、12bをやりとりするための非同期処理を行う回数が増加する。したがって、図6(d)に示すように、転送回数を余り増やすと、かえって全体の転送時間を長くしてしまうこととなる。また、図2に示した非同期処理回路の構成からも自明なように、送信側と受信側の動作周波数比が大きくなるに従い、非同期処理期間(クロック数)も長くなっていくため、さらに全体の転送時間を長くする要因となる。このことから、送信側と受信側の動作周波数比に対して、全体の転送時間を最も短くする最適なバースト長は異なる。   However, as the burst length is shortened and the number of transfers is increased, the number of times asynchronous processing for exchanging transfer request signals and received signals 12a and 12b for mutual notification of transfer start, reception, and termination is performed. Will increase. Therefore, as shown in FIG. 6 (d), if the number of transfers is increased too much, the overall transfer time becomes longer. Further, as is obvious from the configuration of the asynchronous processing circuit shown in FIG. 2, the asynchronous processing period (number of clocks) becomes longer as the operating frequency ratio between the transmitting side and the receiving side becomes larger. This will increase the transfer time. Therefore, the optimum burst length for shortening the entire transfer time is different with respect to the operating frequency ratio between the transmitting side and the receiving side.

ここで非同期処理時間T2は、設定バースト長と同数のデータがFIFO7に蓄積されたことを送信側から受信側へ知らせる信号(図1の12aまたは12b)が同期化処理(図2のフリップフロップ50、51、52を通過する時間)されるまでの時間である。非同期処理期間T2は、非同期処理の回路構成(動作仕様)に従って計算することで算出することができる。したがって、転送に係る全体のデータ量とバースト長、非同期処理にかかる時間を数式化することにより、期待される総転送時間を予測することができる。CPU3は、送信側と受信側との周波数比において最も総転送時間が短くなるようなバースト長を算出しておく。そして、CPU3は、動作モード変更などに伴って動作周波数設定の変更を検知するたびに、送信側と受信側の周波数比に応じてコントローラ6a、6bに適切なバースト長を設定する。このような設定を行うことで常に高速な転送が可能となる。   Here, the asynchronous processing time T2 is a synchronization process (flip-flop 50 in FIG. 2) that signals from the transmission side to the reception side (12a or 12b in FIG. 1) that the same number of data as the set burst length has been accumulated in the FIFO 7. , 51, 52). The asynchronous processing period T2 can be calculated by calculating according to the circuit configuration (operation specifications) of asynchronous processing. Therefore, the expected total transfer time can be predicted by formulating the total data amount and burst length related to transfer and the time required for asynchronous processing. The CPU 3 calculates a burst length that minimizes the total transfer time in the frequency ratio between the transmission side and the reception side. The CPU 3 sets an appropriate burst length in the controllers 6a and 6b in accordance with the frequency ratio between the transmission side and the reception side every time a change in the operation frequency setting is detected due to the operation mode change or the like. By performing such settings, high-speed transfer can always be performed.

以下に、総転送時間の具体的な計算例を示す。なお、この計算を行う機構を半導体装置に組み込んでおいてもよいし、取りうる動作クロックの組み合わせで計算を別途実行しておき、結果のみをテーブルとして半導体装置に組み込んでおいても同じ効果が得られる。   A specific calculation example of the total transfer time is shown below. A mechanism for performing this calculation may be incorporated in the semiconductor device, or the calculation may be separately executed with a combination of possible operation clocks, and the same effect may be obtained by incorporating only the result into the semiconductor device as a table. can get.

図6において、送信側からの送信データがFIFO7に設定バースト長と同じ数まで蓄積されるのにかかる時間をT1、送信側から受信側に転送要求を出し、それが同期化処理を経て受信側に認識されるまでの時間をT2、受信側がFIFO7から設定バースト長と同数のデータを読み出すまでの時間をT3とする。受信側からの転送要求解除信号の非同期処理期間は、受信側のデータ読み出しと同時に並行して行えるため、ここでは考慮しない。ただし、転送要求解除信号を送信側で認識するまでFIFO7へのデータ蓄積を停止する場合、またはバスのアービトレーションの影響など、処理時間として考慮しなければいけない期間がある動作仕様の場合は、数式への加算が必要となる。   In FIG. 6, the time required for the transmission data from the transmission side to be accumulated in the FIFO 7 up to the same number as the set burst length is T1, and a transfer request is issued from the transmission side to the reception side. Is T2, and the time until the receiving side reads the same number of data as the set burst length from the FIFO 7 is T3. Since the asynchronous processing period of the transfer request cancellation signal from the receiving side can be performed in parallel with the data reading on the receiving side, it is not considered here. However, if the data storage in the FIFO 7 is stopped until the transfer request release signal is recognized on the transmission side, or if the operation specification has a period that must be considered as processing time, such as the influence of bus arbitration, Must be added.

図6は、バースト長をFIFO7に蓄積することができる最大のデータ数Nと同数のバースト長とした場合の総転送時間を表したものである。取りうるバースト長bを、N、N÷2、N÷4、N÷8としたとき、図6(b)は、バースト長bをN÷2とし、2分割で受信する場合を表し、図6(c)、(d)は、同様にN÷4、N÷8としたケースを表している。   FIG. 6 shows the total transfer time when the burst length is the same as the maximum number of data N that can be stored in the FIFO 7. When the burst length b that can be taken is N, N ÷ 2, N ÷ 4, and N ÷ 8, FIG. 6B shows a case where the burst length b is N ÷ 2 and reception is performed in two parts. Similarly, 6 (c) and (d) represent cases where N ÷ 4 and N ÷ 8.

図6(a)、図6(b)、図6(c)、図6(d)における総転送時間をそれぞれt(1)、t(2)、t(3)、t(4)とする。t(1)、t(2)、t(3)、t(4)は、それぞれT1、T2、T3を用いて、下記の式(1)〜(4)のように表される。
図6(a)の場合、
t(1)=T1+T2+T3 ・・・・式(1)
図6(b)の場合、
t(2)=T1÷2+2×T2+2×T3÷2 ・・・・式(2)
図6(c)の場合、
t(3)=T1÷4+4×T2+4×T3÷4 ・・・・式(3)
図6(d)の場合、
t(4)=T1÷8+8×T2+8×T3÷8 ・・・・式(4)
The total transfer times in FIGS. 6 (a), 6 (b), 6 (c), and 6 (d) are t (1), t (2), t (3), and t (4), respectively. . t (1), t (2), t (3), and t (4) are represented by the following formulas (1) to (4) using T1, T2, and T3, respectively.
In the case of FIG.
t (1) = T1 + T2 + T3 (1)
In the case of FIG.
t (2) = T1 ÷ 2 + 2 + T2 + 2 + T3 ÷ 2 Equation (2)
In the case of FIG.
t (3) = T1 ÷ 4 + 4 × T2 + 4 × T3 ÷ 4 Equation (3)
In the case of FIG.
t (4) = T1 ÷ 8 + 8 × T2 + 8 × T3 ÷ 8 Equation (4)

これらの計算を図4に示すフローチャートに沿って行う。T1、T2、T3は、送信側と受信側の周波数比から実数値が入る(詳細後述)。   These calculations are performed according to the flowchart shown in FIG. T1, T2, and T3 are real values based on the frequency ratio between the transmission side and the reception side (details will be described later).

図4のステップS20、S21から、最大バースト長Nでの転送時間は、t(1)となる。ステップS22において、2分割のバースト長での転送時間はt(2)となる。   From steps S20 and S21 in FIG. 4, the transfer time with the maximum burst length N is t (1). In step S22, the transfer time with the burst length divided into two is t (2).

また、差分M(図6(b)のMに対応)を取ると、下記に示す式(5)のようになる。
M=t(1)−t(2)
=T1+T2+T3−(T1÷2+2×T2+2×T3÷2)
=T1÷2−T2 ・・・・式(5)
Further, when the difference M (corresponding to M in FIG. 6B) is taken, the following equation (5) is obtained.
M = t (1) -t (2)
= T1 + T2 + T3- (T1 ÷ 2 + 2 × T2 + 2 × T3 ÷ 2)
= T1 ÷ 2−T2 Equation (5)

ステップS23において、M≧0であれば、転送時間が改善されたという意味であるので、以後同様ステップS24を経由し、2番目に大きいバースト長(この例ではN÷2)からt(2)−t(3)、t(3)−t(4)、・・・と繰り返し、M<0となった時点で前回(この例ではt(3))の時点のバースト長を最適なバースト長として決定する(ステップS25)。   In step S23, if M ≧ 0, it means that the transfer time has been improved, and thereafter, similarly through step S24, from the second largest burst length (N ÷ 2 in this example) to t (2). -T (3), t (3) -t (4),... Are repeated, and when M <0, the burst length at the previous time (in this example, t (3)) is changed to the optimum burst length. (Step S25).

T1、T2、T3を具体的に数値として求める例を以下に示す。本例では送信側のほうが受信側よりも高速に動作していることから、図7に示したようなクロック関係になる。送信側のクロック信号のサイクル時間をC1、受信側のクロック信号のサイクル時間をC2とする。データ送信側のクロックを基準に考えると、サイクル時間の比fは、下記に示す式(6)で表される。
f=C2÷C1 ・・・・式(6)
An example in which T1, T2, and T3 are specifically obtained as numerical values is shown below. In this example, since the transmission side operates faster than the reception side, the clock relationship is as shown in FIG. Assume that the cycle time of the clock signal on the transmission side is C1, and the cycle time of the clock signal on the reception side is C2. Considering the clock on the data transmission side as a reference, the cycle time ratio f is expressed by the following equation (6).
f = C2 ÷ C1 Formula (6)

式(6)は、送信側から見て受信側がf倍(f>1)の動作サイクル(周波数は逆数)で動作しているという意味になる。   Equation (6) means that the receiving side is operating in an operation cycle (frequency is an inverse number) of f times (f> 1) when viewed from the transmitting side.

送信側からのデータがFIFO7に蓄積されるまでの時間T1は、以下の式(7)で表すことができる。
T1=C1×N ・・・・式(7)
The time T1 until the data from the transmission side is accumulated in the FIFO 7 can be expressed by the following equation (7).
T1 = C1 × N (7)

図8は、非同期処理期間の算出を説明するためのタイミングチャートである。図8に示すように、非同期処理にかかる時間T2は、送信側から転送要求を発行するのにかかる時間C1と、転送要求を非同期処理するための最大時間(2×C2)と受信側で受け取るのに必要な最大時間C2、これらを足し合わせ、式(8)が成り立つ。
T2=C1+3×C2=C1×(1+3×f) ・・・・式(8)
FIG. 8 is a timing chart for explaining the calculation of the asynchronous processing period. As shown in FIG. 8, the time T2 required for asynchronous processing is received by the receiving side as the time C1 required to issue the transfer request from the transmitting side, the maximum time (2 × C2) for asynchronously processing the transfer request. Equation (8) is established by adding these together the maximum time C2 required for the above.
T2 = C1 + 3 × C2 = C1 × (1 + 3 × f) (8)

なお、図8に示すように、転送要求解除の非同期処理期間は、データ受信期間に隠蔽され、転送処理時間算出に対して無視することができる。   As shown in FIG. 8, the asynchronous processing period for canceling the transfer request is concealed in the data reception period and can be ignored for the calculation of the transfer processing time.

受信側がFIFO7からデータを読み出すのに必要な時間T3は、以下の式(9)で表すことができる。
T3=C2×N=C1×f×N ・・・・式(9)
The time T3 required for the receiving side to read data from the FIFO 7 can be expressed by the following equation (9).
T3 = C2 × N = C1 × f × N (9)

C1、C2、fは、送信側および受信側の動作周波数が決定されると一意に決まるため、図4に示したフローチャートに基づき、総転送時間はバースト長bをFIFO7の容量と同数であるNを基準として計算することができる。   C1, C2, and f are uniquely determined when the operating frequencies of the transmitting side and the receiving side are determined. Therefore, based on the flowchart shown in FIG. 4, the total transfer time is equal to the capacity of the FIFO 7 in the burst length b. Can be calculated on the basis of

以上の説明において、総転送時間の最小値を、転送対象のデータの分割数を変化させて求める方法を示した。しかし、これに限定されること無く以下のように、転送対象のデータを複数のデータに分割して転送する際の総転送時間Ttotalを、クロック信号の速度比f、転送対象のデータ長N、および分割数kの関数で表し、総転送時間Ttotalが最小となる分割数を求めるようにしてもよい。   In the above description, the method of obtaining the minimum value of the total transfer time by changing the number of divisions of data to be transferred has been shown. However, the present invention is not limited to this, and the total transfer time Ttotal when the transfer target data is divided and transferred into a plurality of data is expressed as follows, with the speed ratio f of the clock signal, the transfer target data length N, Alternatively, the number of divisions may be obtained by a function of the division number k and the total transfer time Ttotal is minimized.

式(1)〜(4)を一般化すれば、k分割の場合、
Ttotal=T1/k+k・T2+T3 ・・・・式(10)
となる。
Generalizing the equations (1) to (4), in the case of k division,
Ttotal = T1 / k + k · T2 + T3 (10)
It becomes.

式(7)〜(9)から、T1=C1・N、T2=C1(1+3f)、T3=C1・f・Nであるので、式(10)は、式(11)のように表される。
Ttotal=C1・N/k+k・C1(1+3f)+C1・f・N ・・・・式(11)
From Equations (7) to (9), T1 = C1 · N, T2 = C1 (1 + 3f), and T3 = C1 · f · N. Therefore, Equation (10) is expressed as Equation (11). .
Ttotal = C1 · N / k + k · C1 (1 + 3f) + C1 · f · N (11)

Ttotalのkに対する最小値を求める。Ttotalをkで微分し、0とおくと、
−C1・N/k+C1(1+3f)=0 ・・・・式(12)
∴k=(N/(1+3f))1/2 ・・・・式(13)
となる。
Find the minimum value of Ttotal for k. Differentiate Ttotal by k and set it to 0.
-C1 · N / k 2 + C1 (1 + 3f) = 0 (12)
∴k = (N / (1 + 3f)) 1/2 ... Formula (13)
It becomes.

式(13)で求めたkは、非整数である可能性もあるので、この場合は求めたkの前後の整数のいずれかを分割数とすればよい。なお、N、fが予め限定された値であるような場合、算術演算の煩雑さを避けるために、N、fの組み合わせをテーブル化しておき、kを索引するようにして求めてもよい。   Since k obtained by Expression (13) may be a non-integer, in this case, any of the integers before and after k obtained may be used as the division number. In the case where N and f are limited values in advance, the combination of N and f may be tabulated and k may be indexed in order to avoid the complexity of arithmetic operations.

一方、図9は、送信側が受信側よりも低速な動作周波数で動作している場合におけるバースト転送のタイミングチャートである。図6と同様、バースト長をFIFO7に蓄積することができる最大のデータ数Nと同数のバースト長とした場合の総転送時間を表したものである。取りうるバースト長bを、N、N÷2、N÷4、N÷8としたとき、図9(b)は、バースト長をN÷2とし、2分割で受信する場合を表し、図9(b)、(c)は、同様にN÷4、N÷8とした場合を表している。   On the other hand, FIG. 9 is a timing chart of burst transfer when the transmission side operates at a lower operating frequency than the reception side. As in FIG. 6, the total transfer time when the burst length is the same as the maximum number of data N that can be stored in the FIFO 7 is shown. When the burst length b that can be taken is N, N ÷ 2, N ÷ 4, and N ÷ 8, FIG. 9B shows a case where the burst length is N ÷ 2 and reception is performed in two divisions. Similarly, (b) and (c) represent the case where N ÷ 4 and N ÷ 8.

ところで、送信側の動作速度が低速なときは、図6のケースとは考え方が異なる。受信側が送信側のデータがFIFO7に所定のバースト数だけ蓄積されるのを待つ状態になるため、最も高速に全データの転送を行うためには、送信側のデータが全てFIFO7に蓄積されるのが終了すると同時に最後の1回の転送を開始しなければならない。この例を示したのが図9の各図である。図9(a)、(b)、(c)からも明らかなように、バースト長が短いほど総転送時間は短くなる。しかし、短くしすぎると、図9(d)に示すように非同期処理時間の総計のほうが長くなってしまい、最後の1回の転送が始まるまでタイムロスWが発生してしまう。したがって、非同期処理にかかる時間がデータ蓄積終了までの時間を超えないことという条件が加わる(詳細後述)。   By the way, when the operation speed on the transmission side is low, the idea is different from the case of FIG. Since the receiving side waits for a predetermined number of bursts of data on the transmitting side to be stored in the FIFO 7, all data on the transmitting side is stored in the FIFO 7 in order to transfer all data at the highest speed. The last one transfer must be started at the same time as is finished. This example is shown in FIG. As is clear from FIGS. 9A, 9B, and 9C, the shorter the burst length, the shorter the total transfer time. However, if it is too short, the total asynchronous processing time becomes longer as shown in FIG. 9D, and a time loss W occurs until the last one transfer starts. Therefore, a condition that the time required for asynchronous processing does not exceed the time until the end of data accumulation is added (details will be described later).

送信側からすべてのデータがFIFO7に蓄積されるまでの時間をT4、送信側から受信側に最後の1転送の転送要求を出し、それが同期化処理を経て受信側に認識されるまでの時間をT5、受信側がFIFO7から設定バースト長と同数のデータを読み出すまでの時間をT6とする。   Time until all data is accumulated in the FIFO 7 from the transmission side is T4, and the time from the transmission side to the transfer side of the last one transfer is issued from the transmission side to the reception side, and it is recognized by the reception side through the synchronization processing Is T5, and the time until the receiving side reads the same number of data as the set burst length from the FIFO 7 is T6.

図9(a)、(b)、(c)、(d)のそれぞれにおける総転送時間を、t(11)、t(12)、t(13)、t(14)とする。t(11)、t(12)、t(13)、t(14)は、それぞれT4、T5、T6を用いて以下の式(14)〜(17)のように表される。
図9(a)の場合、
t(11)=T4+T5+T6 ・・・・式(14)
図9(b)の場合、
t(12)=T4+T5+T6÷2 ・・・・式(15)
図9(c)の場合、
t(13)=T4+T5+T6÷4 ・・・・式(16)
図9(d)の場合、
t(14)=T4+T5+W+T6÷8 ・・・・式(17)
The total transfer time in each of FIGS. 9A, 9B, 9C, and 9D is assumed to be t (11), t (12), t (13), and t (14). t (11), t (12), t (13), and t (14) are expressed by the following equations (14) to (17) using T4, T5, and T6, respectively.
In the case of FIG.
t (11) = T4 + T5 + T6 Formula (14)
In the case of FIG. 9B,
t (12) = T4 + T5 + T6 ÷ 2 Equation (15)
In the case of FIG.
t (13) = T4 + T5 + T6 ÷ 4 Equation (16)
In the case of FIG.
t (14) = T4 + T5 + W + T6 ÷ 8 Equation (17)

図6のケースと同様に、図5のフローチャートに沿って総転送時間を比較し、最も良いバースト長を求める。   Similar to the case of FIG. 6, the total transfer time is compared along the flowchart of FIG. 5 to obtain the best burst length.

次に、T4、T5、T6を実際に数値として求める例を以下に示す。本例では、データ送信側よりも受信側のほうが高速に動作していることから、図10に示したようなクロック関係になる。送信側のクロック信号のサイクル時間をC3、受信側のクロック信号のサイクル時間をC4とする。データ送信側のクロックを基準に考えると、サイクル時間の比faは、以下の式(18)で表される。
fa=C4÷C3 ・・・・式(18)
Next, an example in which T4, T5, and T6 are actually obtained as numerical values will be shown below. In this example, since the receiving side operates faster than the data transmitting side, the clock relationship is as shown in FIG. The cycle time of the clock signal on the transmission side is C3, and the cycle time of the clock signal on the reception side is C4. Considering the clock on the data transmission side as a reference, the cycle time ratio fa is expressed by the following equation (18).
fa = C4 ÷ C3 Expression (18)

式(18)は、送信側から見て受信側がfa倍(fa<1)の動作サイクル(周波数は逆数)で動作しているという意味になる。   Expression (18) means that the receiving side is operating with an operation cycle of fa times (fa <1) (frequency is an inverse number) when viewed from the transmitting side.

T4、T5、T6は、図6の例と同じようにして、以下の式(19)〜(21)で表すことができる。
T4=C3×N ・・・・式(19)
T5=C3+3×C4=C3×(1+3×fa) ・・・・式(20)
T6=C4×N=C3×fa×N ・・・・式(21)
T4, T5, and T6 can be expressed by the following equations (19) to (21) in the same manner as in the example of FIG.
T4 = C3 × N (19)
T5 = C3 + 3 × C4 = C3 × (1 + 3 × fa) (20)
T6 = C4 × N = C3 × fa × N (21)

また、前述した図9(d)に示すように非同期処理時間の総計のほうが長くなってしまうケースを防ぐための制約として、受信側の一回のバースト転送にかかる最短の時間T7よりも送信側の1バースト分のデータ蓄積時間が長いことが必要となる。すなわち、T7は、t(n)のときのバースト長bを用いて、式(22)のように表すことができる。
T7<C3×b ・・・・式(22)
Further, as a constraint for preventing the case where the total asynchronous processing time becomes longer as shown in FIG. 9D described above, the transmission side is shorter than the shortest time T7 required for one burst transfer on the reception side. It is necessary that the data accumulation time for one burst is long. That is, T7 can be expressed as Equation (22) using the burst length b at t (n).
T7 <C3 × b... Formula (22)

図11は、非同期処理期間の算出を説明するためのタイミングチャートである。図11に示すように、非同期処理にかかる時間T7は、図11に示すように1回の受信処理を最短で終える時間(T5+送信側の5clk)であるから、式(23)が成り立つ。
T7=T5+5×C3=C3×(1+3×fa)+5×C3 ・・・・式(23)
FIG. 11 is a timing chart for explaining the calculation of the asynchronous processing period. As shown in FIG. 11, the time T7 required for asynchronous processing is the time (T5 + 5clk on the transmission side) that completes one reception process in the shortest time as shown in FIG.
T7 = T5 + 5 × C3 = C3 × (1 + 3 × fa) + 5 × C3 Expression (23)

式(22)、(23)から、式(24)が成り立つ。
C3×(1+3×fa)+5×C3<C3×b
∴b>(1+3×fa)+5 ・・・・式(24)
From Expressions (22) and (23), Expression (24) is established.
C3 × (1 + 3 × fa) + 5 × C3 <C3 × b
∴ b> (1 + 3 × fa) +5 Expression (24)

よって、複数のデータに分割したバースト長bがクロック信号の速度比faから定まる所定値以上である条件、例えば式(24)を満たす条件を加えた、図5のフローチャートによって転送時間が最小となるバースト長bを決定すればよい。   Therefore, the transfer time is minimized by adding the condition that the burst length b divided into a plurality of data is not less than a predetermined value determined from the speed ratio fa of the clock signal, for example, the condition satisfying the equation (24). The burst length b may be determined.

以上、送信側と受信側が異なる周波数で動作している半導体装置において、最適なバースト長を求める方法を示した。この方法により、データ送信側と受信側との動作周波数比から、分割回数毎に転送時間を計算し、最適なバースト長を決定して最短の転送時間でデータ転送を行うことができる。   As described above, the method for obtaining the optimum burst length in the semiconductor device in which the transmitting side and the receiving side operate at different frequencies has been shown. By this method, it is possible to calculate the transfer time for each number of divisions from the operating frequency ratio between the data transmission side and the reception side, determine the optimum burst length, and perform data transfer with the shortest transfer time.

なお、図1ではデータ転送対象となる機能モジュールが一つである場合を示している。しかし、これに限定されることなく、異なる機能を持つ機能モジュールを複数個接続することもできる。また、各々の機能モジュールに対応するバースト長レジスタを個別に持ち、各々の機能モジュールごとに最適なバースト長を設定することもできる。   FIG. 1 shows a case where there is one functional module that is a data transfer target. However, the present invention is not limited to this, and a plurality of functional modules having different functions can be connected. In addition, it is possible to individually have a burst length register corresponding to each functional module and set an optimum burst length for each functional module.

本発明の第1の実施例に係るデータ転送システムの構成を示すブロック図である。1 is a block diagram showing a configuration of a data transfer system according to a first example of the present invention. 非同期処理のための回路の例を示す図である。It is a figure which shows the example of the circuit for asynchronous processing. CPUによるバースト転送に係る処理を表すフローチャートである。It is a flowchart showing the process which concerns on the burst transfer by CPU. 送信側装置が受信側装置よりも高速な動作周波数で動作している場合におけるバースト長の算出方法を表すフローチャートである。It is a flowchart showing the calculation method of the burst length in case the transmission side apparatus is operating | moving with the operating frequency faster than the reception side apparatus. 受信側装置が送信側装置よりも高速に動作している場合におけるバースト長の算出方法を表すフローチャートである。It is a flowchart showing the burst length calculation method when the receiving side apparatus is operating at higher speed than the transmitting side apparatus. 送信側装置が受信側装置よりも高速な動作周波数で動作している場合におけるバースト転送のタイミングチャートである。7 is a timing chart of burst transfer when the transmission side device is operating at a higher operating frequency than the reception side device. 受信側装置と送信側装置とにおけるデータ送受信に係るクロック信号の関係を示す第1の図である。It is a 1st figure which shows the relationship of the clock signal which concerns on the data transmission / reception in a receiving side apparatus and a transmission side apparatus. 非同期処理期間の算出を説明するための第1のタイミングチャートである。It is a 1st timing chart for demonstrating calculation of an asynchronous process period. 送信側装置が受信側装置よりも低速な動作周波数で動作している場合におけるバースト転送のタイミングチャートである。10 is a timing chart of burst transfer when the transmission side device is operating at a lower operating frequency than the reception side device. 受信側装置と送信側装置とにおけるデータ送受信に係るクロック信号の関係を示す第2の図である。It is a 2nd figure which shows the relationship of the clock signal which concerns on the data transmission / reception in a receiving side apparatus and a transmission side apparatus. 非同期処理期間の算出を説明するための第2のタイミングチャートである。It is a 2nd timing chart for demonstrating calculation of an asynchronous process period.

符号の説明Explanation of symbols

1 機能モジュール
2 RAM
3 CPU
4 クロック切り替え器
5 バースト長設定レジスタ
6a、6b コントローラ
7 FIFO
8a、8b、14a、14b バス
9、12a、12b、13 信号
10a、10b クロック信号
11a、11b 操作信号
20 制御部
50、51、52 フリップフロップ
1 Function module 2 RAM
3 CPU
4 Clock switch 5 Burst length setting register 6a, 6b Controller 7 FIFO
8a, 8b, 14a, 14b Bus 9, 12a, 12b, 13 Signal 10a, 10b Clock signal 11a, 11b Operation signal 20 Control unit 50, 51, 52 Flip-flop

Claims (9)

転送対象のデータを記憶部に出力する送信側装置と、
前記転送対象のデータを前記記憶部から入力する受信側装置と、
前記記憶部と、
前記送信側装置から前記受信側装置へのバースト転送開始前に、前記送信側および受信側装置のバースト転送に係るクロック信号の速度比と前記転送対象のデータ長とから前記転送対象のデータの分割数を求め、該分割数に従って前記転送対象のデータを複数のデータに分割して前記記憶部から入力するように前記受信側装置を制御する制御部と、
を備えることを特徴とするデータ転送装置。
A transmission-side device that outputs data to be transferred to the storage unit;
A receiving side device that inputs the data to be transferred from the storage unit;
The storage unit;
Before starting the burst transfer from the transmission side device to the reception side device, dividing the data to be transferred from the speed ratio of the clock signal related to the burst transfer of the transmission side and the reception side device and the data length of the transfer target A control unit that controls the receiving side device so as to obtain a number and divide the data to be transferred into a plurality of data according to the division number and input from the storage unit;
A data transfer device comprising:
前記制御部は、前記転送対象のデータを複数のデータに分割して転送する際の総転送時間を、前記クロック信号の速度比、前記転送対象のデータ長、および前記分割数の関数で表し、該総転送時間が最小となる前記分割数を求めることを特徴とする請求項1記載のデータ転送装置。   The control unit represents the total transfer time when the transfer target data is divided and transferred into a plurality of data as a function of the speed ratio of the clock signal, the data length of the transfer target, and the number of divisions, 2. The data transfer apparatus according to claim 1, wherein the number of divisions that minimizes the total transfer time is obtained. 前記制御部は、前記転送対象のデータを複数のデータに分割して転送する際の総転送時間の最小値を、前記転送対象のデータの分割数を変化させて求めることを特徴とする請求項1記載のデータ転送装置。   The control unit obtains a minimum value of a total transfer time when the transfer target data is divided and transferred into a plurality of data by changing a division number of the transfer target data. 1. The data transfer device according to 1. 前記総転送時間は、前記送信側装置からのデータが前記記憶部に蓄積されるまでの時間、前記送信側装置から転送要求を発行するのにかかる時間、該転送要求を非同期処理するための時間、該転送要求を前記受信側装置で受け取るのに必要な時間、前記受信側装置が前記記憶部からデータを読み出すのに必要な時間の和であることを特徴とする請求項2または3記載のデータ転送装置。   The total transfer time includes a time until data from the transmission side device is accumulated in the storage unit, a time taken to issue a transfer request from the transmission side device, and a time for asynchronously processing the transfer request. 4. The sum of the time required to receive the transfer request by the receiving device and the time required for the receiving device to read data from the storage unit. Data transfer device. 転送対象のデータを所望のバースト長の複数のデータに分割して送信側装置から受信側装置へバースト転送を行う方法であって、
前記送信側および受信側装置のバースト転送に係るクロック信号の速度比と前記転送対象のデータ長とから前記転送対象のデータの分割数を求め、該分割数に従って前記転送対象のデータを複数のデータに分割してバースト転送を行うことを特徴とするデータ転送方法。
A method of performing burst transfer from a transmission side device to a reception side device by dividing data to be transferred into a plurality of data having a desired burst length,
The division number of the data to be transferred is obtained from the speed ratio of the clock signal related to the burst transfer of the transmitting side and the receiving side device and the data length to be transferred, and the data to be transferred is divided into a plurality of data according to the division number A data transfer method characterized by performing burst transfer by dividing into two.
前記転送対象のデータを複数のデータに分割して転送する際の総転送時間を、前記クロック信号の速度比、前記転送対象のデータ長、および前記分割数の関数で表し、該総転送時間が最小となる前記分割数を求めることを特徴とする請求項5記載のデータ転送方法。   The total transfer time when the transfer target data is divided into a plurality of data and transferred is expressed as a function of the speed ratio of the clock signal, the data length of the transfer target, and the number of divisions, and the total transfer time 6. The data transfer method according to claim 5, wherein the minimum number of divisions is obtained. 前記送信側装置から前記受信側装置へのバースト転送開始前に、
前記送信側および受信側装置のバースト転送に係るクロック信号の速度の遅速に応じて、前記転送対象のデータを複数のデータに分割して転送する際の総転送時間の最小値を、前記転送対象のデータの分割数を変化させて求めるステップと、
求めた前記総転送時間の最小値となる時の分割数を元に前記複数のデータに分割したバースト長を算出するステップと、
前記算出したバースト長を前記受信側装置における転送手段に設定するステップと、
を含むことを特徴とする請求項5記載のデータ転送方法。
Before starting the burst transfer from the transmitting device to the receiving device,
The minimum value of the total transfer time when the data to be transferred is divided into a plurality of data and transferred according to the slow speed of the clock signal related to the burst transfer of the transmitting side and the receiving side devices, Changing the number of divisions of the data to obtain,
Calculating the burst length divided into the plurality of data based on the number of divisions when the minimum value of the total transfer time obtained,
Setting the calculated burst length in the transfer means in the receiving side device;
The data transfer method according to claim 5, further comprising:
前記送信側装置のバースト転送に係るクロック信号の速度が前記受信側装置のそれよりも速いときまたは等しいときに、前記分割数を変化させて求めるステップは、
分割数nを1とするステップと、
前記転送対象のデータに対する総転送時間t(1)を算出するステップと、
t(n)<t(n+1)となるまでnをインクリメントしながら総転送時間t(n)を算出するステップと、
t(n)<t(n+1)を満たしたときのnを前記総転送時間の最小値となる時の分割数とするステップと、
を含むことを特徴とする請求項7記載のデータ転送方法。
When the speed of the clock signal related to the burst transfer of the transmission side device is faster than or equal to that of the reception side device, the step of changing the number of divisions to obtain,
A step of setting the division number n to 1,
Calculating a total transfer time t (1) for the data to be transferred;
calculating total transfer time t (n) while incrementing n until t (n) <t (n + 1);
setting n when t (n) <t (n + 1) is satisfied as the number of divisions when the total transfer time becomes the minimum value;
The data transfer method according to claim 7, further comprising:
前記送信側装置のバースト転送に係るクロック信号の速度が前記受信側装置のそれよりも遅いときに、前記分割数を変化させて求めるステップは、
分割数nを1とするステップと、
前記転送対象のデータに対する総転送時間t(1)を算出するステップと、
t(n)<t(n+1)となるまでnをインクリメントしながら総転送時間t(n)を算出するステップと、
t(n)<t(n+1)と、前記複数のデータに分割したバースト長が前記クロック信号の速度比から定まる所定値以上であることの双方を満たしたときのnを前記総転送時間の最小値となる時の分割数とするステップと、
を含むことを特徴とする請求項7記載のデータ転送方法。
When the speed of the clock signal related to the burst transfer of the transmission side device is slower than that of the reception side device, the step of obtaining by changing the division number,
A step of setting the division number n to 1,
Calculating a total transfer time t (1) for the data to be transferred;
calculating total transfer time t (n) while incrementing n until t (n) <t (n + 1);
When n satisfying both of t (n) <t (n + 1) and the burst length divided into the plurality of data is not less than a predetermined value determined from the speed ratio of the clock signal, n is the minimum of the total transfer time. A step of setting the number of divisions when becoming a value;
The data transfer method according to claim 7, further comprising:
JP2007131671A 2007-05-17 2007-05-17 Data transfer system and data transfer method Withdrawn JP2008287490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131671A JP2008287490A (en) 2007-05-17 2007-05-17 Data transfer system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131671A JP2008287490A (en) 2007-05-17 2007-05-17 Data transfer system and data transfer method

Publications (1)

Publication Number Publication Date
JP2008287490A true JP2008287490A (en) 2008-11-27

Family

ID=40147149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131671A Withdrawn JP2008287490A (en) 2007-05-17 2007-05-17 Data transfer system and data transfer method

Country Status (1)

Country Link
JP (1) JP2008287490A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023200883A1 (en) 2022-02-14 2023-08-17 Renesas Electronics Corporation DATA TRANSFER DEVICE AND DATA TRANSFER METHOD

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023200883A1 (en) 2022-02-14 2023-08-17 Renesas Electronics Corporation DATA TRANSFER DEVICE AND DATA TRANSFER METHOD

Similar Documents

Publication Publication Date Title
US9001954B2 (en) Reception circuit, information processing device, and buffer control method
JP6221328B2 (en) Receiving device, information processing device, and data receiving method
KR20070039937A (en) Method for storing messages in a message memory and corresponding message memory
JP6290761B2 (en) Data transfer control system, data transfer control method, and data transfer control program
JP5717196B2 (en) Pipeline circuit, semiconductor device, and pipeline control method
JP2008287490A (en) Data transfer system and data transfer method
JP4447341B2 (en) Information processing device
US7096375B2 (en) Data transfer circuit between different clock regions
US8453003B2 (en) Communication method
JP5978849B2 (en) Parallel computer system, crossbar switch, and parallel computer system control method
JP5219920B2 (en) Transmission / reception circuit, communication apparatus, and transmission / reception method
JP7337021B2 (en) A master device that controls a slave device connected to an industrial network and a communication module provided in the master device
US20230297530A1 (en) Data transfer device and data transfer method
CN115884229B (en) Transmission delay management method, electronic device and storage medium
JP2013172334A (en) Data transmitter and method of controlling the same
JP5644531B2 (en) Data transfer apparatus and data transfer method
JP2007079836A (en) Data communication device and data communication method
JP5315882B2 (en) Semiconductor device and communication method
JP2009098778A (en) Hub device
CN116909954A (en) DMA control circuit
JP5413367B2 (en) Semiconductor device and communication method
JP2010141703A (en) Circuit and method for transmitting parallel data
KR20140065850A (en) Register slicing circuit and system on chip including the same
JP2015069326A (en) Arithmetic processing unit and method of controlling the same
JP2019009572A (en) Communication system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803