JP2017167644A - Data transfer device, data transfer method, and program - Google Patents
Data transfer device, data transfer method, and program Download PDFInfo
- Publication number
- JP2017167644A JP2017167644A JP2016049879A JP2016049879A JP2017167644A JP 2017167644 A JP2017167644 A JP 2017167644A JP 2016049879 A JP2016049879 A JP 2016049879A JP 2016049879 A JP2016049879 A JP 2016049879A JP 2017167644 A JP2017167644 A JP 2017167644A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- dma
- information
- data
- data transfer
- 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.)
- Granted
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 458
- 238000000034 method Methods 0.000 title claims description 37
- 230000015654 memory Effects 0.000 claims abstract description 36
- 238000010586 diagram Methods 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 9
- 238000012790 confirmation Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、データ転送装置、データ転送方法、プログラムに関し、特に、ダイレクトメモリアクセスを行うデータ転送装置、データ転送方法、プログラムに関する。 The present invention relates to a data transfer device, a data transfer method, and a program, and more particularly, to a data transfer device, a data transfer method, and a program that perform direct memory access.
CPU(Central Processing Unit)を介さずにメモリ・メモリ間やレジスタ・メモリ間、メモリ・I/Oデバイス間などのデータ転送を行うための技術として、DMA(Direct Memory Access)が知られている。 DMA (Direct Memory Access) is known as a technique for transferring data between memories and memories, between registers and memories, and between memories and I / O devices without going through a CPU (Central Processing Unit).
上記DMAに関する技術として、例えば、特許文献1がある。特許文献1には、複数のDMA要求コアと、アービタ装置と、タイマと、を有するDMA制御装置が記載されている。特許文献1によると、DMA要求コアは、DMA要求を発行する際に、DMA転送情報とともにDMA実行開始要求時刻を表す情報をアービタ装置に転送する。また、アービタ装置は、DMA実行開始要求時刻をもとにDMA実行順序を調停する。特許文献1によると、このような構成により、効率的な制御が可能となる。
As a technique related to the DMA, there is, for example,
特許文献1に記載されている技術の場合、DMA転送の実行順序を保障するためには、アービタ装置を用いることが必要である。そのため、アービタ装置を有さない場合、DMA転送の実行順序を保障することが出来なかった。つまり、DMA転送の実行順序を保障するためにはアービタ装置を用いることが必要であり、容易な構成でDMA転送の実行順序を保障することが難しい、という問題が生じていた。
In the case of the technique described in
そこで、本発明の目的は、容易な構成でDMA転送の実行順序を保障することが難しい、という問題を解決するデータ転送装置を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide a data transfer apparatus that solves the problem that it is difficult to guarantee the DMA transfer execution order with a simple configuration.
かかる目的を達成するため本発明の一形態であるデータ転送装置は、
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行う転送実行手段を備え、
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
という構成を採る。
In order to achieve such an object, a data transfer apparatus according to one aspect of the present invention provides:
Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is provided.
The transfer execution means adopts a configuration in which after performing a DMA transfer based on the transfer information, after waiting for a predetermined time, a DMA transfer based on another transfer information is performed.
また、本発明の他の形態であるデータ転送方法は、
データ転送装置により行われるデータ転送方法であって、
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行い、
前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
という構成を採る。
In addition, a data transfer method according to another aspect of the present invention includes:
A data transfer method performed by a data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and DMA transfer is performed based on the set transfer information.
After performing the DMA transfer based on the transfer information, after waiting for a predetermined time, the DMA transfer based on another transfer information is performed.
また、本発明の他の形態であるプログラムは、
データ転送装置に、
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行う転送実行手段を実現させ、
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
プログラムである。
Moreover, the program which is the other form of this invention is:
In the data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is realized.
The transfer execution means is a program for performing a DMA transfer based on another transfer information after performing a DMA transfer based on the transfer information and waiting for a predetermined time.
本発明は、以上のように構成されることにより、容易な構成でDMA転送の実行順序を保障することが難しい、という問題を解決するデータ転送装置を提供することが可能となる。 The present invention, which is configured as described above, can provide a data transfer apparatus that solves the problem that it is difficult to guarantee the DMA transfer execution order with a simple configuration.
[第1の実施形態]
本発明の第1の実施形態を図1乃至図9を参照して説明する。図1は、システム1の構成の一例を示すブロック図である。図2は、プロセッサ21が有する構成の一例である。図3、図4は、DMAディスクリプタ312の構成の一例を示す図である。図5は、一般的なシステムがDMA転送を行う際の動作の一例を示す図である。図6は、本発明の第1の実施形態に係るシステム1が実行順序を保障してDMA転送を行う際の動作の一例を示す図である。図7は、システム1の動作の一例を示すシーケンス図である。図8、図9は、一般的なシステムの動作の一例を示すシーケンス図である。
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram illustrating an example of the configuration of the
本発明の第1の実施形態では、DMA(Direct Memory Access)転送を行うシステム1について説明する。本実施形態におけるシステム1のプロセッサ21は、DMA転送を行う場合、DMAディスクリプタ312の設定を行う。後述するように、本実施形態におけるDMAディスクリプタ312には、当該DMAディスクリプタ312に従ってDMA転送を実行したDMAエンジン311が次のDMA転送を行うまで待機する時間を示すライトリクエスト完了時間を含むことが出来る。DMAエンジン311は、DMAディスクリプタ312にライトリクエスト完了時間が含まれる場合、当該DMAディスクリプタ312に基づいてDMA転送を実行した後、ライトリクエスト完了時間分待機した後、次のDMA転送を実行する。
In the first embodiment of the present invention, a
図1を参照すると、本実施形態におけるシステム1(データ転送装置)は、ホストPC(Personal Computer)2と、アクセラレーションプロセッサ3と、を有している。また、ホストPC2とアクセラレーションプロセッサ3とは、通信ネットワーク4を介して互いに通信可能なよう接続されている。
Referring to FIG. 1, a system 1 (data transfer device) according to the present embodiment includes a host PC (Personal Computer) 2 and an acceleration processor 3. In addition, the host PC 2 and the acceleration processor 3 are connected via a
ホストPC2は、演算処理を実行するプロセッサ21(制御手段)と情報を格納するホストメモリ22とを有している。
The host PC 2 includes a processor 21 (control means) that executes arithmetic processing and a
本実施形態におけるプロセッサ21は、図2で示すように、DMAディスクリプタ設定手段211を有している。DMAディスクリプタ設定手段211は、図示しない記憶装置に格納されたプログラムをプロセッサ21が実行することで実現される。
The
DMAディスクリプタ設定手段211は、DMA転送(データ転送)を実行する場合に後述するDMAディスクリプタ312(転送情報)の設定を行う。例えば、DMAディスクリプタ設定手段211は、図3、図4で示すようなDMAディスクリプタ312の設定を行う。
The DMA
図3を参照すると、DMAディスクリプタ設定手段211は、例えば、ライトデータや転送元アドレス、転送先アドレス、転送長、転送リクエストなどの情報を含むDMAディスクリプタ312の設定を行う。
Referring to FIG. 3, the DMA
また、図4を参照すると、DMAディスクリプタ設定手段211は、DMA転送を実行する際の転送元アドレス(転送元)と転送先アドレス(転送先)が所定の条件を満たす場合に、上記構成に追加してライトリクエスト完了時間有効とライトリクエスト完了時間との項目を含むDMAディスクリプタ312の設定を行う。
Referring to FIG. 4, the DMA descriptor setting means 211 is added to the above configuration when the transfer source address (transfer source) and the transfer destination address (transfer destination) when executing the DMA transfer satisfy a predetermined condition. Then, the
例えば、DMAディスクリプタ設定手段211は、転送元アドレス及び転送先アドレスが予め定められた範囲内に存在し、かつ、先行のDMA転送の転送先アドレスが後続の転送元アドレスに含まれる場合に、先行のDMA転送を行うためのDMAディスクリプタ312を図4で示すよう設定する。換言すると、DMAディスクリプタ設定手段211は、データの転送が固定時間内に完了することが保障されているアドレス空間に対するDMA転送を行う場合であって、実行順序の保障を行う場合に、図4で示すようなDMAディスクリプタ312の設定を行う。
For example, when the transfer source address and the transfer destination address exist within a predetermined range and the transfer destination address of the preceding DMA transfer is included in the subsequent transfer source address, the DMA
また、DMAディスクリプタ設定手段211は、転送元アドレス及び転送先アドレスに基づいて、実行順序の保証を行うことが必要となる一連のDMA転送であると判断される場合に、当該一連のDMA転送を同一のDMAエンジン311が行うよう、同一のDMAディスクリプタ312に必要な設定を行う。例えば、DMAディスクリプタ設定手段211は、実行順序を保障したDMA転送を行わせる場合、同一のDMAディスクリプタ312に対して、エントリnの設定を行った後、エントリn+1の設定を行う。なお、nは任意の値となる。
Further, the DMA
このように、DMAディスクリプタ設定手段211は、転送元アドレス及び転送先アドレスに基づいて、実行順序の保証を行うか否かを決定する。例えば、DMAディスクリプタ設定手段211は、先行のDMA転送の転送先アドレスが(先行のDMA転送から所定時間以内の)後続の転送元アドレスに含まれる場合などDMA転送間のアドレス競合が生じている場合に、実行順序の保証を行うことが必要であると判断する。
As described above, the DMA
なお、ライトリクエスト完了時間有効の項目は、DMA転送を行った後、次のDMA転送を行うまで所定時間待機するか否かを示している。DMAディスクリプタ312にライトリクエスト完了時間有効が設定されている場合、DMAエンジン311は、当該DMAディスクリプタ312に基づいてDMA転送を行った後、所定時間待機して、次のDMA転送を行うことになる。一方、DMAディスクリプタ312にライトリクエスト完了時間有効が設定されていない場合、DMAエンジン311は、DMA転送とDMA転送との間に待機することなくDMA転送を実行する。また、ライトリクエスト完了時間は、DMA転送を実行した後、次のDMA転送を実行するまでの待機時間を示している。ライトリクエスト完了時間は、例えば、転送元アドレスから転送先アドレスまでデータの転送を行う際の、データの転送が完了するまでに必要な時間に基づいて予め定められている。
The item for which the write request completion time is valid indicates whether or not to wait for a predetermined time after performing a DMA transfer until the next DMA transfer is performed. When the write request completion time validity is set in the
アクセラレーションプロセッサ3は、ホストPC2のプロセッサ21により設定されたDMAディスクリプタ312に基づいて、プロセッサ21を介さずにメモリ・メモリ間、レジスタ・メモリ間、レジスタ・レジスタ間などのDMA転送を実行する。つまり、アクセラレーションプロセッサ3は、DMAディスクリプタ312に基づいて、ホストメモリ22とメモリ33の間やレジスタ321の間、ホストメモリ22やメモリ33とレジスタ321の間のデータ転送を実行する。
Based on the
図1を参照すると、アクセラレーションプロセッサ3は、DMA転送を実行するDMAユニット31と、複数のコア32と、メモリ33と、を有している。図1で示すように、DMAユニット31とコア32、コア32とメモリ33、コア32と別のコア32、メモリ33とDMAユニット31とは、それぞれ、互いに通信可能なよう接続されている。
Referring to FIG. 1, the acceleration processor 3 includes a
DMAユニット31は、複数のDMAエンジン311(転送実行手段)と、複数のDMAディスクリプタ312と、を有している。DMAユニット31は、複数のDMAエンジン311と複数のDMAディスクリプタ312とにより、複数のDMA転送を並列して処理することが出来る。
The
DMAエンジン311は、DMAディスクリプタ312に基づいて、DMA転送を実行する。また、DMAディスクリプタ312にライトリクエスト完了時間が含まれる場合、DMAエンジン311は、当該DMAディスクリプタ312に基づいてDMA転送を行った後、ライトリクエスト完了時間分待機して、次のDMA転送を行う。
The
DMAディスクリプタ312は、DMA転送を実行する際の転送情報を示している。上述したように、DMAディスクリプタ312には、ライトデータと、転送先アドレスと、転送元アドレスと、転送リクエストと、転送長と、が含まれている(図3参照)。また、DMAディスクリプタ312には、ライトリクエスト完了時間有効(待機情報)と、ライトリクエスト完了時間(待機時間情報)と、を含むことが出来る(図4参照)。
The
DMAディスクリプタ312は、上述したように、プロセッサ21のDMAディスクリプタ設定手段211により設定される。また、DMAディスクリプタ312は、DMAエンジン311により参照される。
The
コア32は、アドレスマップされたレジスタ321と、演算器322と、を有する。レジスタ321へのアクセスパスは2種類存在し、ホストPC2からのアクセスパスとコア32内に有する演算器322からのアクセスパスとを含んでいる。
The
メモリ33は、RAM(Random Access Memory)などの記憶装置である。メモリ33は、DMR転送などの際に利用される。
The
システム1は、例えば、上記のような構成を有している。
The
なお、上述したシステム1では、コア32が有するレジスタ321はDMA転送可能なメモリアドレス空間にマッピングされているものとする。また、DMAエンジン311からレジスタ321へのアクセスなど転送元アドレスと転送先アドレスが予め定められた範囲内の場合には、固定時間内に処理が完了するものとする。
In the
また、DMAディスクリプタ312に設定された順番にDMA転送が行われるとする。一方で、複数のDMAエンジン311により複数のDMAディスクリプタ312が並列して処理されるため、実行順序は保障されないものとする。また、同一のDMAディスクリプタ312を用いたDMA転送であっても、2つのDMA転送間でアドレス競合が存在する場合、原則として、実行順序は保障されないものとする。
Assume that DMA transfers are performed in the order set in the
本実施形態におけるシステム1は、上記のようなライトリクエスト完了時間などを含むDMAディスクリプタ312を設定することで、同一のDMAディスクリプタ312を用いたDMA転送において、実行順序を保障することが出来ることになる。
The
次に、図5及び図6を参照して、一般的なシステム及び本実施形態で説明するシステム1が同一のDMAディスクリプタ312を用いたDMA転送を行う場合の動作の一例について説明する。
Next, an example of an operation when a general system and the
図5及び図6では、先行のDMA転送がアドレス「0x1000」からアドレス「0x2000」にデータの転送を行った後、後続のDMA転送がアドレス「0x2000」からアドレス「0x3000」にデータの転送を行う場合の一例を示している。 5 and 6, after the preceding DMA transfer transfers data from the address “0x1000” to the address “0x2000”, the subsequent DMA transfer transfers data from the address “0x2000” to the address “0x3000”. An example of the case is shown.
図5を参照すると、一般的なシステムの場合、アドレス「0x2000」に対するWrite処理が完了する前に、後続のDMA転送によるアドレス「0x2000」からのRead処理が開始される。そのため、後続のDMA転送は、先行のDMA転送のデータを反映したデータを読み込むことが出来ないおそれがある。このように、一般的なシステムにおいては、2つのDMA転送間でデータ転送を確実に保障することが出来なかった。 Referring to FIG. 5, in the case of a general system, before the write process for the address “0x2000” is completed, the read process from the address “0x2000” by the subsequent DMA transfer is started. Therefore, the subsequent DMA transfer may not be able to read data reflecting the data of the previous DMA transfer. As described above, in a general system, data transfer cannot be reliably guaranteed between two DMA transfers.
一方で、図6を参照すると、先行のDMAディスクリプタ312には、ライトリクエスト完了時間有効を示す「0x1」と、ライトリクエスト完了時間「0x100」と、が含まれている。そのため、図6の場合、DMMエンジン311は、先行のDMA転送を実行した後、ライトリクエスト完了時間分待機して、後続のDMA転送を実行することになる。従って、図6で示すように、先行のDMA転送によるアドレス「0x2000」に対するWrite処理が完了した後に、後続のDMA転送によるアドレス「0x2000」からのRead処理を開始することになる。このように、システム1においては、2つのDMA転送間でデータ転送を確実に保障することが出来ることが分かる。
On the other hand, referring to FIG. 6, the preceding
続いて、図7を参照して、システム1の動作の一例について説明する。図7においては、実行順序を保障したい2つのDMA転送を行う場合について説明する。
Next, an example of the operation of the
図7を参照すると、プロセッサ21のDMAディスクリプタ設定手段211は、同一のDMAディスクリプタ312に対して、必要な設定を行う。具体的には、DMAディスクリプタ設定手段211は、先行のDMA転送を指示する設定を行う(ステップS101)とともに、後続のDMA転送を指示する設定を行う(ステップS102)。なお、DMAディスクリプタ設定手段211は、先行の設定を行う際に、ライトリクエスト完了時間有効とライトリクエスト完了時間を含む設定を行う。
Referring to FIG. 7, the DMA
アクセラレーションプロセッサ3のDMAエンジン311は、DMAディスクリプタ312が設定されると、先行のDMA転送を指示するDMAディスクリプタ312に基づいて、DMA転送を実行する(ステップS201)。DMA転送は、DMAリクエストを発行してDMAディスクリプタ312が示す転送元から転送先にデータの転送を行うことで行われる。そして、データの転送が完了した後。DMA転送は完了する。
When the
また、DMAエンジン311は、先行のDMA転送を指示するDMAディスクリプタ312にライトリクエスト完了時間が含まれるため、上記DMA転送を実行した後、ライトリクエスト完了時間が経過するまで待機する。そして、ライトリクエスト完了時間経過後、後続のDMA転送を指示するDMAディスクリプタ312を実行する(ステップS202)。
The
このように、本実施形態におけるDMAエンジン311は、DMAディスクリプタ312にライトリクエスト完了時間が含まれる場合、ライトリクエスト完了時間分待機した後に、別のDMA転送を実行する。
As described above, when the
なお、2つのDMA転送の実行順序を保障する方法としては、本実施形態で説明した他に、ポーリングによる確認方法(図8参照)とDMA転送完了割込みによる確認方法(図9参照)とがある。 In addition to the methods described in this embodiment, there are a confirmation method using polling (see FIG. 8) and a confirmation method using DMA transfer completion interrupt (see FIG. 9) as methods for guaranteeing the execution order of two DMA transfers. .
図8で示すように、ポーリングによる確認方法の場合、プロセッサ21は、先行のDMA転送の終了を確認するためにポーリングを実施することになる。そのため、1つ目のDMA転送開始から2つ目のDMA転送開始までの間、DMA転送の完了確認のためにプロセッサ21は占有されることになる。
As shown in FIG. 8, in the case of the confirmation method by polling, the
また、図9で示すように、DMA転送完了割込みによる確認方法の場合、DMA転送が完了するとアクセラレーションプロセッサ3からホストPC2にDMA転送完了割込みが通知される。ホストPC2では、DMA転送完了割込みを検知するとプロセッサ21が割込みハンドラのプロセスを起動する。その際、プロセッサ21は割込み検出前までに行っていたプロセスの退避や新規プロセスの起動を行う必要がある。そのため、DMA転送完了通知、ホストPCの割込み検出、後続のDMA転送開始までのレイテンシが悪くなる傾向にある。また、DMA転送完了割込みは、DMAエンジン311からDMA転送のリクエスト発行が完了したことを知ることができるだけであり情報量が少ないため、別途どのDMAディスクリプタ312が完了したか、データ転送は成功したかなど確認する必要がある。このように、DMA転送完了割込みによる確認方法であっても、レイテンシが悪くなるなどの問題が生じることになる。
As shown in FIG. 9, in the case of the confirmation method using the DMA transfer completion interrupt, when the DMA transfer is completed, the acceleration processor 3 notifies the
以上のように、ポーリングによる確認方法やDMA転送完了割込みによる確認方法の場合、プロセッサ21の占有時間が長くなる等の問題が生じることになる。一方で、図7で示すように、本実施形態で説明したシステム1の場合、プロセッサ21の占有時間が必要以上に生じることなく、DMA転送の実行順序を保障することが出来る。つまり、プロセッサリソースを効率的に使用することが出来る。
As described above, in the case of the confirmation method by polling or the confirmation method by DMA transfer completion interrupt, problems such as an increase in the occupied time of the
このように、本実施形態におけるシステム1は、ライトリクエスト完了時間を含むDMAディスクリプタ312とDMAエンジン311とを有している。このような構成により、DMAエンジン311は、DMAディスクリプタ312にライトリクエスト完了時間が含まれる場合、当該DMAディスクリプタ312に基づいてDMA転送を行った後、ライトリクエスト完了時間分待機して、次のDMA転送を行うことが出来る。その結果、先行のDMA転送が完了した後に、後続のDMA転送を実行することが出来る。これにより、アクセラレーションプロセッサ3が実行順序の保証を行うことが可能となり、その結果、プロセッサ21が待つ必要がなくなりプロセッサリソースを効率的に使用することが可能となる。
As described above, the
なお、本実施形態においては、2つのDMA転送の実行順序を保障する場合について説明した。しかしながら、システム1が実行順序を保障するDMA転送は2つに限定されない。システム1は、3つ以上の複数のDMA転送の実行順序を保障するよう構成することが出来る。
In the present embodiment, the case where the execution order of two DMA transfers is guaranteed has been described. However, the DMA transfer for which the
また、本実施形態においては、ソフトウェアがDMA転送間のアドレス競合など実行順序を保障すべきDMA転送であるか否かを判断する例について説明した。しかしながら、ハードウェアでDMA転送間のアドレスを比較するよう構成しても構わない。 In this embodiment, the example in which the software determines whether or not the DMA transfer should guarantee the execution order such as address conflict between DMA transfers has been described. However, it may be configured to compare addresses between DMA transfers by hardware.
また、本実施形態においては、2つのDMA転送の実行順序を保障する場合、先行のDMAディスクリプタ312にライトリクエスト完了時間を含めるとした。しかしながら、後続のDMAディスクリプタ312にライトリクエスト完了時間に相当する構成を含めるよう構成しても構わない。この場合、DMAエンジン311は、後続のDMAディスクリプタ312に基づいてDMA転送を行おうとする際に、所定時間待機してからDMA転送を行うことになる。
In this embodiment, when the execution order of two DMA transfers is guaranteed, the write request completion time is included in the preceding
また、図1で示すシステム1は、あくまで一例である。システム1は、複数のプロセッサ21を有していても構わないし、4つ以外のコア32を有していても構わない。また、複数のメモリ33を有していても構わない。また、DMAユニット31が有するDMAエンジン311の数やDMAディスクリプタ312の数は、特に限定されない。
Further, the
[第2の実施形態]
次に、図10を参照して、第2の実施形態について説明する。第2の実施形態では、データ転送装置5の構成の概要について説明する。
[Second Embodiment]
Next, a second embodiment will be described with reference to FIG. In the second embodiment, an outline of the configuration of the data transfer device 5 will be described.
図10を参照すると、本実施形態におけるデータ転送装置5は、転送実行手段51を有している。
Referring to FIG. 10, the data transfer apparatus 5 according to the present embodiment includes a
転送実行手段51は、DMA転送を行うための転送情報が設定され、設定された転送情報に基づいてDMA転送を行う。転送実行手段51は、転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の転送情報に基づくDMA転送を行う。 The transfer execution means 51 is set with transfer information for performing DMA transfer, and performs DMA transfer based on the set transfer information. The transfer execution means 51 performs the DMA transfer based on the transfer information and then performs the DMA transfer based on the other transfer information after waiting for a predetermined time.
このように、本実施形態におけるデータ転送装置5は、転送実行手段51を有している。このような構成により、転送実行手段51は、設定された転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の転送情報に基づくDMA転送を行うことが出来る。その結果、先行のDMA転送が完了した後に、後続のDMA転送を実行することが出来る。つまり、容易な構成でDMA転送の実行順序を保障することが出来る。
As described above, the data transfer device 5 according to the present embodiment includes the
なお、上記データ転送装置5は、当該データ転送装置5に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、データ転送装置に、DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された転送情報に基づいてDMA転送を行う転送実行手段を実現させ、転送実行手段は、転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の転送情報に基づくDMA転送を行うプログラムである。 The data transfer device 5 can be realized by incorporating a predetermined program in the data transfer device 5. Specifically, in the program according to another aspect of the present invention, transfer information for performing DMA (Direct Memory Access) transfer is set in the data transfer apparatus, and transfer that performs DMA transfer based on the set transfer information is performed. Executing means is realized, and the transfer executing means is a program for performing DMA transfer based on other transfer information after performing DMA transfer based on transfer information and waiting for a predetermined time.
また、上述したデータ転送装置5が作動することにより実行されるデータ転送方法は、データ転送装置により行われるデータ転送方法であって、DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された転送情報に基づいてDMA転送を行い、転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の転送情報に基づくDMA転送を行う、という方法である。 Further, the data transfer method executed by the operation of the data transfer device 5 described above is a data transfer method performed by the data transfer device, in which transfer information for performing DMA (Direct Memory Access) transfer is set. In this method, the DMA transfer is performed based on the set transfer information, the DMA transfer is performed based on the transfer information, and after waiting for a predetermined time, the DMA transfer is performed based on another transfer information.
上述した構成を有する、プログラム、又は、データ転送方法、の発明であっても、上記データ転送装置5と同様の作用を有するために、上述した本発明の目的を達成することが出来る。 Even the invention of the program or the data transfer method having the above-described configuration can achieve the above-described object of the present invention because it has the same operation as the above-described data transfer device 5.
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるデータ転送装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the data transfer apparatus and the like in the present invention will be described below. However, the present invention is not limited to the following configuration.
(付記1)
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行う転送実行手段を備え、
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
データ転送装置。
(Appendix 1)
Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is provided.
The transfer execution unit performs a DMA transfer based on the transfer information, performs a DMA transfer based on another transfer information after waiting for a predetermined time after performing a DMA transfer based on the transfer information.
(付記2)
付記1に記載のデータ転送装置であって、
前記転送実行手段は、次のDMA転送の実行を所定時間待機させるための待機情報を含む前記転送情報が設定されている場合に、前記転送情報に基づいてDMA転送を行った後、所定時間待機して、別の前記転送情報に基づくDMA転送を行う
データ転送装置。
(Appendix 2)
The data transfer device according to
The transfer execution means waits for a predetermined time after performing DMA transfer based on the transfer information when the transfer information including standby information for waiting for execution of the next DMA transfer for a predetermined time is set. A data transfer apparatus that performs DMA transfer based on the transfer information.
(付記3)
付記1又は2に記載のデータ転送装置であって、
前記転送実行手段は、次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報が設定されている場合、前記転送情報に基づいてDMA転送を行った後、当該転送情報に含まれる前記待機時間情報が示す時間分待機して、別の前記転送情報に基づくDMA転送を行う
データ転送装置。
(Appendix 3)
The data transfer device according to
When the transfer information including the waiting time information indicating the waiting time until the next DMA transfer is set, the transfer executing means performs the DMA transfer based on the transfer information, and then executes the transfer information. A data transfer apparatus that waits for the time indicated by the waiting time information included in the data and performs DMA transfer based on the other transfer information.
(付記4)
付記3に記載のデータ転送装置であって、
前記待機時間情報は、DMA転送により実行される、転送元から転送先までのデータの転送が完了するまでに必要となる時間を示している
データ転送装置。
(Appendix 4)
The data transfer device according to attachment 3, wherein
The waiting time information indicates a time required for completing the transfer of data from the transfer source to the transfer destination, which is executed by DMA transfer.
(付記5)
付記1乃至4のいずれかに記載のデータ転送装置であって、
前記転送情報を設定する制御手段を有する
データ転送装置。
(Appendix 5)
A data transfer device according to any one of
A data transfer device comprising control means for setting the transfer information.
(付記6)
付記5に記載のデータ転送装置であって、
前記制御手段は、DMA転送を実行する際の転送元及び転送先が所定の条件を満たす場合に、次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報を設定する
データ転送装置。
(Appendix 6)
The data transfer device according to attachment 5, wherein
The control unit sets the transfer information including waiting time information indicating a waiting time until the next DMA transfer is executed when a transfer source and a transfer destination in executing the DMA transfer satisfy a predetermined condition. Data transfer device.
(付記7)
付記6に記載のデータ転送装置であって、
前記制御手段は、転送元及び転送先が予め定められた範囲内に存在し、かつ、先行のDMA転送の転送先が後続のDMA転送の転送元に含まれる場合に、先行のDMA転送を行うための前記転送情報に前記待機時間情報を含める
データ転送装置。
(Appendix 7)
The data transfer device according to attachment 6, wherein
The control means performs the preceding DMA transfer when the transfer source and the transfer destination are within a predetermined range and the transfer destination of the preceding DMA transfer is included in the transfer source of the subsequent DMA transfer. A data transfer apparatus for including the waiting time information in the transfer information for
(付記8)
付記5乃至7のいずれかに記載のデータ転送装置であって、
複数の転送実行手段を有しており、
前記制御手段は、転送元及び転送先に基づいて一連のDMA転送であると判断される場合に、一連のDMA転送を行うための複数の前記転送情報を同一の転送実行手段が実行するよう設定する
データ転送装置。
(Appendix 8)
A data transfer device according to any one of appendices 5 to 7,
It has multiple transfer execution means,
The control unit is set so that the same transfer execution unit executes a plurality of pieces of transfer information for performing a series of DMA transfers when it is determined as a series of DMA transfers based on a transfer source and a transfer destination. Data transfer device.
(付記9)
データ転送装置により行われるデータ転送方法であって、
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行い、
前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
データ転送方法。
(Appendix 9)
A data transfer method performed by a data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and DMA transfer is performed based on the set transfer information.
A data transfer method for performing DMA transfer based on another transfer information after performing a DMA transfer based on the transfer information and waiting for a predetermined time.
(付記9−1)
付記9に記載のデータ転送方法であって、
次のDMA転送の実行を所定時間待機させるための待機情報を含む前記転送情報が設定されている場合に、前記転送情報に基づいてデータ転送を行った後、所定時間待機して、別の前記転送情報に基づくDMA転送を行う
データ転送方法。
(Appendix 9-1)
A data transfer method according to attachment 9, wherein
When the transfer information including standby information for waiting for execution of the next DMA transfer for a predetermined time is set, after performing data transfer based on the transfer information, wait for a predetermined time, A data transfer method for performing DMA transfer based on transfer information.
(付記9−2)
付記9又は付記9−1に記載のデータ転送方法であって、
次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報が設定されている場合、前記転送情報に基づいてDMA転送を行った後、当該転送情報に含まれる前記待機時間情報が示す時間分待機して、別の前記転送情報に基づくDMA転送を行う
データ転送方法。
(Appendix 9-2)
A data transfer method according to appendix 9 or appendix 9-1,
When the transfer information including the waiting time information indicating the waiting time until the next DMA transfer is set, the waiting time included in the transfer information after performing the DMA transfer based on the transfer information A data transfer method for waiting for the time indicated by the information and performing DMA transfer based on the other transfer information.
(付記10)
データ転送装置に、
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行う転送実行手段を実現させ、
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
プログラム。
(Appendix 10)
In the data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is realized.
The transfer execution means performs a DMA transfer based on the transfer information after performing a DMA transfer based on the transfer information and then waiting for a predetermined time.
(付記10−1)
付記10に記載のプログラムであって、
前記転送実行手段は、DMA転送を行った後、次のDMA転送の実行を所定時間待機させるための待機情報を含む前記転送情報が設定されている場合に、前記転送情報に基づいてデータ転送を行った後、所定時間待機して、別の前記転送情報に基づくDMA転送を行う
プログラム。
(Appendix 10-1)
The program according to attachment 10, wherein
The transfer execution means performs data transfer based on the transfer information when the transfer information including standby information for waiting for execution of the next DMA transfer for a predetermined time after the DMA transfer is set. A program for performing a DMA transfer based on another transfer information after waiting for a predetermined time.
(付記10−2)
付記10又は付記10−1に記載のプログラムであって、
前記転送実行手段は、次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報が設定されている場合、前記転送情報に基づいてDMA転送を行った後、当該転送情報に含まれる前記待機時間情報が示す時間分待機して、別の前記転送情報に基づくDMA転送を行う
プログラム。
(Appendix 10-2)
The program according to Supplementary Note 10 or Supplementary Note 10-1,
When the transfer information including the waiting time information indicating the waiting time until the next DMA transfer is set, the transfer executing means performs the DMA transfer based on the transfer information, and then executes the transfer information. A program that waits for the time indicated by the waiting time information included in and performs DMA transfer based on the other transfer information.
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 The programs described in the above embodiments and supplementary notes are stored in a storage device or recorded on a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。 Although the present invention has been described with reference to the above embodiments, the present invention is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
1 システム
2 ホストPC
21 プロセッサ
211 DMAディスクリプタ設定手段
22 ホストメモリ
3 アクセラレーションプロセッサ
31 DMAユニット
311 DMAエンジン
312 DMAディスクリプタ
32 コア
321 レジスタ
322 演算器
33 メモリ
4 通信ネットワーク
5 データ転送装置
51 転送実行手段
1
21
Claims (10)
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
データ転送装置。 Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is provided.
The transfer execution unit performs a DMA transfer based on the transfer information, performs a DMA transfer based on another transfer information after waiting for a predetermined time after performing a DMA transfer based on the transfer information.
前記転送実行手段は、次のDMA転送の実行を所定時間待機させるための待機情報を含む前記転送情報が設定されている場合に、前記転送情報に基づいてDMA転送を行った後、所定時間待機して、別の前記転送情報に基づくDMA転送を行う
データ転送装置。 The data transfer device according to claim 1,
The transfer execution means waits for a predetermined time after performing DMA transfer based on the transfer information when the transfer information including standby information for waiting for execution of the next DMA transfer for a predetermined time is set. A data transfer apparatus that performs DMA transfer based on the transfer information.
前記転送実行手段は、次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報が設定されている場合、前記転送情報に基づいてDMA転送を行った後、当該転送情報に含まれる前記待機時間情報が示す時間分待機して、別の前記転送情報に基づくDMA転送を行う
データ転送装置。 The data transfer device according to claim 1 or 2,
When the transfer information including the waiting time information indicating the waiting time until the next DMA transfer is set, the transfer executing means performs the DMA transfer based on the transfer information, and then executes the transfer information. A data transfer apparatus that waits for the time indicated by the waiting time information included in the data and performs DMA transfer based on the other transfer information.
前記待機時間情報は、DMA転送により実行される、転送元から転送先までのデータの転送が完了するまでに必要となる時間を示している
データ転送装置。 The data transfer device according to claim 3, wherein
The waiting time information indicates a time required for completing the transfer of data from the transfer source to the transfer destination, which is executed by DMA transfer.
前記転送情報を設定する制御手段を有する
データ転送装置。 The data transfer device according to any one of claims 1 to 4,
A data transfer device comprising control means for setting the transfer information.
前記制御手段は、DMA転送を実行する際の転送元及び転送先が所定の条件を満たす場合に、次のDMA転送を実行するまでの待機時間を示す待機時間情報を含む前記転送情報を設定する
データ転送装置。 The data transfer device according to claim 5, wherein
The control unit sets the transfer information including waiting time information indicating a waiting time until the next DMA transfer is executed when a transfer source and a transfer destination in executing the DMA transfer satisfy a predetermined condition. Data transfer device.
前記制御手段は、転送元及び転送先が予め定められた範囲内に存在し、かつ、先行のDMA転送の転送先が後続のDMA転送の転送元に含まれる場合に、先行のDMA転送を行うための前記転送情報に前記待機時間情報を含める
データ転送装置。 The data transfer device according to claim 6, wherein
The control means performs the preceding DMA transfer when the transfer source and the transfer destination are within a predetermined range and the transfer destination of the preceding DMA transfer is included in the transfer source of the subsequent DMA transfer. A data transfer apparatus for including the waiting time information in the transfer information for
複数の転送実行手段を有しており、
前記制御手段は、転送元及び転送先に基づいて一連のDMA転送であると判断される場合に、一連のDMA転送を行うための複数の前記転送情報を同一の転送実行手段が実行するよう設定する
データ転送装置。 The data transfer device according to any one of claims 5 to 7,
It has multiple transfer execution means,
The control unit is set so that the same transfer execution unit executes a plurality of pieces of transfer information for performing a series of DMA transfers when it is determined as a series of DMA transfers based on a transfer source and a transfer destination. Data transfer device.
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行い、
前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
データ転送方法。 A data transfer method performed by a data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and DMA transfer is performed based on the set transfer information.
A data transfer method for performing DMA transfer based on another transfer information after performing a DMA transfer based on the transfer information and waiting for a predetermined time.
DMA(Direct Memory Access)転送を行うための転送情報が設定され、設定された前記転送情報に基づいてDMA転送を行う転送実行手段を実現させ、
前記転送実行手段は、前記転送情報に基づいてDMA転送を行った後、所定時間待機した後に、別の前記転送情報に基づくDMA転送を行う
プログラム。
In the data transfer device,
Transfer information for performing DMA (Direct Memory Access) transfer is set, and transfer execution means for performing DMA transfer based on the set transfer information is realized.
The transfer execution means performs a DMA transfer based on the transfer information after performing a DMA transfer based on the transfer information and then waiting for a predetermined time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016049879A JP6206524B2 (en) | 2016-03-14 | 2016-03-14 | Data transfer device, data transfer method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016049879A JP6206524B2 (en) | 2016-03-14 | 2016-03-14 | Data transfer device, data transfer method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017167644A true JP2017167644A (en) | 2017-09-21 |
JP6206524B2 JP6206524B2 (en) | 2017-10-04 |
Family
ID=59913537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016049879A Active JP6206524B2 (en) | 2016-03-14 | 2016-03-14 | Data transfer device, data transfer method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6206524B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019159750A (en) * | 2018-03-13 | 2019-09-19 | 日本電気株式会社 | Data transfer device, data transfer method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293799A (en) * | 2005-04-13 | 2006-10-26 | Sony Corp | Information processing device and information processing method |
US20110191507A1 (en) * | 2008-08-07 | 2011-08-04 | Andrew Bond | Dma engine |
WO2013129031A1 (en) * | 2012-02-29 | 2013-09-06 | 三菱電機株式会社 | Data-forwarding device, data-forwarding method, and data-forwarding program |
-
2016
- 2016-03-14 JP JP2016049879A patent/JP6206524B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293799A (en) * | 2005-04-13 | 2006-10-26 | Sony Corp | Information processing device and information processing method |
US20110191507A1 (en) * | 2008-08-07 | 2011-08-04 | Andrew Bond | Dma engine |
WO2013129031A1 (en) * | 2012-02-29 | 2013-09-06 | 三菱電機株式会社 | Data-forwarding device, data-forwarding method, and data-forwarding program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019159750A (en) * | 2018-03-13 | 2019-09-19 | 日本電気株式会社 | Data transfer device, data transfer method, and program |
JP6992616B2 (en) | 2018-03-13 | 2022-01-13 | 日本電気株式会社 | Data transfer device, data transfer method, program |
Also Published As
Publication number | Publication date |
---|---|
JP6206524B2 (en) | 2017-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5963282B2 (en) | Interrupt distribution scheme | |
US20190108144A1 (en) | Mutual exclusion in a non-coherent memory hierarchy | |
JP2012038293A5 (en) | ||
MX2012005183A (en) | Command queue for peripheral component. | |
US9009377B2 (en) | Edge-triggered interrupt conversion in a system employing level-sensitive interrupts | |
US11307801B2 (en) | Method, apparatus, device and storage medium for processing access request | |
TW200525365A (en) | Optimization of SMI handling and initialization | |
CN110659115A (en) | Multi-threaded processor core with hardware assisted task scheduling | |
US11995351B2 (en) | DMA engines configured to perform first portion data transfer commands with a first DMA engine and second portion data transfer commands with second DMA engine | |
US20180239652A1 (en) | Lightweight thread synchronization using shared memory state | |
US20140129751A1 (en) | Hybrid interface to improve semiconductor memory based ssd performance | |
US9047264B2 (en) | Low pin count controller | |
US10558489B2 (en) | Suspend and restore processor operations | |
JP6206524B2 (en) | Data transfer device, data transfer method, and program | |
US9311225B2 (en) | DMA channels | |
US9552313B2 (en) | Delivering real time interrupts with an advanced programmable interrupt controller | |
US20140108688A1 (en) | Fabric Delivered Interrupts | |
CN110837482B (en) | Distributed block storage low-delay control method, system and equipment | |
WO2007088582A1 (en) | Asynchronous remote procedure calling method in shared-memory multiprocessor, asynchronous remote procedure calling program, and recording medium | |
JP2010092101A (en) | Information processor | |
JP7003752B2 (en) | Data transfer device, data transfer method, program | |
JP6992616B2 (en) | Data transfer device, data transfer method, program | |
US20140101355A1 (en) | Virtualized communication sockets for multi-flow access to message channel infrastructure within cpu | |
JP4818820B2 (en) | Bus system, bus slave and bus control method | |
JP5541544B2 (en) | Computer apparatus, data transfer method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170728 |
|
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: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6206524 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |