JP2009277004A - Data transfer device and data transfer system - Google Patents
Data transfer device and data transfer system Download PDFInfo
- Publication number
- JP2009277004A JP2009277004A JP2008127468A JP2008127468A JP2009277004A JP 2009277004 A JP2009277004 A JP 2009277004A JP 2008127468 A JP2008127468 A JP 2008127468A JP 2008127468 A JP2008127468 A JP 2008127468A JP 2009277004 A JP2009277004 A JP 2009277004A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- device controller
- completion notification
- initiator core
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、データ転送装置及びデータ転送システムに関するものである。 The present invention relates to a data transfer device and a data transfer system.
近年、システムLSIでは、イニシエータコアが、プロセッサを介さずに直接メモリ等のターゲットデバイスへデータの転送(DMA転送)を行い、その後、ターゲットデバイスに格納されたデータを他のイニシエータやプロセッサが使用するといった処理が行われている。 In recent years, in a system LSI, an initiator core directly transfers data (DMA transfer) to a target device such as a memory without going through a processor, and then the data stored in the target device is used by other initiators and processors. Such processing is performed.
このような処理では、イニシエータコアはデータ転送が完了したことを割込みによってシステムに通知する。システムはその割込みを処理することによって、ターゲットデバイスに格納されたデータが有効であることを検出する(例えば特許文献1参照)。 In such processing, the initiator core notifies the system by interruption that the data transfer has been completed. The system detects that the data stored in the target device is valid by processing the interrupt (see, for example, Patent Document 1).
一般に、イニシエータコアからターゲットデバイスへのデータ転送は、オンチップバス及びデバイスコントローラを経由して行われる。まず、イニシエータコアはオンチップバス上でライトトランザクションを実行し、転送データの出力を開始する。デバイスコントローラはオンチップバスを介して転送データを受け取り、ターゲットデバイスへ格納する。 In general, data transfer from an initiator core to a target device is performed via an on-chip bus and a device controller. First, the initiator core executes a write transaction on the on-chip bus and starts outputting transfer data. The device controller receives the transfer data via the on-chip bus and stores it in the target device.
そして、イニシエータコアは、オンチップバス上に最後の転送データを出力し、デバイスコントローラから受領応答を受け取ると、データ転送を終了する。オンチップバスのプロトコルによっては、デバイスコントローラからの受領応答が発生しない場合があり、このような場合は、最後の転送データをオンチップバス上に出力したことによりデータ転送を終了する。 Then, the initiator core outputs the last transfer data on the on-chip bus, and ends the data transfer when receiving the receipt response from the device controller. Depending on the protocol of the on-chip bus, there may be a case where a receipt response from the device controller does not occur. In such a case, the data transfer is terminated by outputting the last transfer data on the on-chip bus.
そして、イニシエータコアはデータ転送を終了すると、割込みを発生することにより、データ転送の完了をシステム(プロセッサ)に通知する。割込みが有効になると、プロセッサが割込み要因を確認し、イニシエータコアによるデータ転送の完了を検出する。その後、システムは転送されたデータを使用する処理を開始することができる。 Then, when the data transfer is completed, the initiator core notifies the system (processor) of the completion of the data transfer by generating an interrupt. When the interrupt becomes valid, the processor confirms the cause of the interrupt and detects completion of data transfer by the initiator core. Thereafter, the system can begin processing using the transferred data.
ここで、オンチップバス上で実行されるイニシエータコアからデバイスコントローラへのデータ転送と、デバイスコントローラからターゲットデバイスへのデータ転送とは、それぞれ異なった転送プロトコルに基づき独立した転送として実行される。そのため、転送データがターゲットデバイスに格納された(書き込まれた)ことをイニシエータコアが検出することは困難である。 Here, the data transfer from the initiator core to the device controller executed on the on-chip bus and the data transfer from the device controller to the target device are executed as independent transfers based on different transfer protocols. Therefore, it is difficult for the initiator core to detect that the transfer data is stored (written) in the target device.
また、イニシエータコアからデバイスコントローラへの転送経路は、バスブリッジを介して複数のオンチップバスを経由するなど、さらに複雑なパスとなることが多い。その場合、イニシエータコアが、デバイスコントローラとターゲットデバイスとの間のデータ転送状況を確認することは、さらに困難となる。 Also, the transfer path from the initiator core to the device controller is often a more complicated path such as via a plurality of on-chip buses via a bus bridge. In that case, it becomes even more difficult for the initiator core to confirm the data transfer status between the device controller and the target device.
その結果、オンチップバスやデバイスコントローラの構造や機能によっては、システムによる転送データを使用する処理の開始が、ターゲットデバイスへの転送データ格納(書き込み)を追い越し、誤動作を起こすおそれがある。 As a result, depending on the structure and function of the on-chip bus or device controller, the start of processing using transfer data by the system may overtake transfer data storage (writing) to the target device and cause malfunction.
このような追い越しを防止するため、イニシエータコアが最後の転送データのライトトランザクションを行った後、ターゲットデバイスに対してリードトランザクション(ダミーリード)を発行することが行われている。この時、イニシエータコアが発行するリードアドレスは、最後の転送データが格納されるアドレスを含む領域にある。 In order to prevent such overtaking, a read transaction (dummy read) is issued to the target device after the initiator core performs a write transaction of the last transfer data. At this time, the read address issued by the initiator core is in an area including the address where the last transfer data is stored.
イニシエータコアは、ターゲットデバイスからのリードデータ又はレスポンスを受信することにより、ターゲットデバイスへの転送データの書き込みが完了したことを確認する。そして、データ転送完了割込みを発生させる。 The initiator core confirms that writing of transfer data to the target device is completed by receiving read data or a response from the target device. Then, a data transfer completion interrupt is generated.
しかし、このような方法では、本来は不要である(冗長な)リードトランザクションが発生する。一般に、リードトランザクションのレイテンシ(メモリからのデータ待ち時間)はライトトランザクションより大きく、システムのスループットが低下するという問題を有していた。
本発明は誤動作の発生を防止し、効率良くデータの転送を行うことができるデータ転送装置及びデータ転送システムを提供することを目的とする。 It is an object of the present invention to provide a data transfer apparatus and a data transfer system that can prevent malfunctions and efficiently transfer data.
本発明の一態様によるデータ転送装置は、バスを介してデータ転送を行うデータ転送装置であって、データをターゲットデバイスへ書き込むデバイスコントローラと、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記ターゲットデバイスへの前記データのすべての書き込みに伴い転送完了通知信号を出力することを特徴とするものである。 A data transfer apparatus according to an aspect of the present invention is a data transfer apparatus that performs data transfer via a bus, and a DMA controller that writes data to a target device and DMA transfers the data to the device controller via the bus And an initiator core that outputs a transfer completion notification request signal to the device controller. When the device controller receives the transfer completion notification request signal, the device controller accompanies all writing of the data to the target device. A transfer completion notification signal is output.
本発明の一態様によるデータ転送システムは、バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、前記バスに接続されたプロセッサと、前記データを前記記憶装置へ書き込むデバイスコントローラと、レジスタを有し、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い転送完了通知信号を出力し、前記イニシエータコアは前記転送完了通知信号に基づいて割込み信号を発生すると共に前記レジスタに割込み要因情報をセットし、前記プロセッサは前記割込み信号に基づいて前記レジスタにセットされた前記割込み要因情報を検出することを特徴とするものである。 A data transfer system according to an aspect of the present invention is a data transfer system that performs DMA transfer of data to a storage device via a bus, a processor connected to the bus, and a device controller that writes the data to the storage device. And an initiator core that has a register and DMA transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller. The device controller notifies the transfer completion notification When a request signal is received, a transfer completion notification signal is output as all the data is written to the storage device, and the initiator core generates an interrupt signal based on the transfer completion notification signal and interrupts the register. Cause information is set, and the processor It is characterized in detecting the interrupt cause information set in the register on the basis of the signal.
本発明の一態様によるデータ転送システムは、バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、前記バスに接続されたプロセッサと、割込み要因情報を格納するレジスタを有し、前記データを前記記憶装置へ書き込むデバイスコントローラと、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い割込み信号を発生し、前記プロセッサは前記割込み信号に基づいて前記レジスタに格納された前記割込み要因情報を検出することを特徴とするものである。 A data transfer system according to an aspect of the present invention is a data transfer system that DMA-transfers data to a storage device via a bus, and includes a processor connected to the bus and a register that stores interrupt factor information. A device controller that writes the data to the storage device; and an initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller. When the controller receives the transfer completion notification request signal, the controller generates an interrupt signal when all the data is written to the storage device, and the processor generates the interrupt factor stored in the register based on the interrupt signal. It is characterized by detecting information.
本発明によれば、誤動作の発生を防止し、効率良くデータの転送を行うことができる。 According to the present invention, it is possible to prevent malfunctions and efficiently transfer data.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(第1の実施形態)図1に本発明の第1の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア11、デバイスコントローラ12、ターゲットデバイス13、オンチップバス14、及びプロセッサ15を備える。例えば、イニシエータコア11はネットワークコントローラ、デバイスコントローラ12はDRAMコントローラ、ターゲットデバイス13はDRAMである。
(First Embodiment) FIG. 1 shows a schematic configuration of a data transfer system according to a first embodiment of the present invention. The data transfer system includes an
イニシエータコア11はオンチップバス14に接続され、データのDMA(Direct Memory Access)転送を行う。また、イニシエータコア11は転送完了通知リクエスト信号S11を出力し、転送完了通知信号S12を受信すると、割込みを発行する。
The
デバイスコントローラ12は、ターゲットデバイス13の制御を行う。デバイスコントローラ12は、イニシエータコア11から出力されたデータがオンチップバス14を介して与えられ、このデータをターゲットデバイス13に書き込む。また、デバイスコントローラ12は、イニシエータコア11から転送完了通知リクエスト信号S11を受信すると、ターゲットデバイス13への全データ(最終データ)の書き込みが完了した際に、転送完了通知信号S12を出力する。
The
転送完了通知リクエスト信号S11及び転送完了通知信号S12は、オンチップバス14の規格で定義された信号によって実装してもよいし、オンチップバス14とは別の独立した信号として実装してもよい。 The transfer completion notification request signal S11 and the transfer completion notification signal S12 may be implemented by signals defined by the on-chip bus 14 standard, or may be implemented as independent signals different from the on-chip bus 14. .
このようなデータ転送システムにおけるデータ転送方法を図2に示すフロー及び図3に示すタイミングチャートを用いて説明する。まず、イニシエータコア11は、オンチップバス14上でライトコマンドを発行し、デバイスコントローラ12へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア11はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S11を有効に)する。
A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 2 and a timing chart shown in FIG. First, the
DMAライト転送は、1回又は複数回のシングル転送やバースト転送によって実行される。例えば、オンチップバス14のデータ幅が64ビット(8バイト)で、転送データが512バイトであった場合、64回のシングル転送(8バイトの転送)、16回の4ビート(8バイト×4回)バースト転送、又は1回の64ビート(8バイト×64回)バースト転送等が実行される。 The DMA write transfer is executed by single transfer or burst transfer once or a plurality of times. For example, when the data width of the on-chip bus 14 is 64 bits (8 bytes) and the transfer data is 512 bytes, 64 single transfers (8 bytes transfer), 16 4 beats (8 bytes × 4) Times) burst transfer or one 64 beat (8 bytes × 64 times) burst transfer.
図3に示す例では、1回のバースト転送によってデータ転送を実行している。 In the example shown in FIG. 3, data transfer is executed by one burst transfer.
イニシエータコア11は、オンチップバス14上に出力された最後のデータ(データDn)をデバイスコントローラ12が受信したことを検出すると、DMA転送を終了する(時刻T2)。イニシエータコア11からデバイスコントローラ12の間に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送を終了する。
When the
デバイスコントローラ12は、ターゲットデバイス13への最後のデータの書き込みが完了すると、転送完了通知を発行(転送完了通知信号S12を有効に)する(時刻T3)。
When the writing of the last data to the
イニシエータコア11は、デバイスコントローラ12から転送完了通知を受信すると、プロセッサ15に対して割込みを発行し、データ転送の完了を通知する。また、イニシエータコア11は、割込み発行の際に、イニシエータコア11の内部レジスタ(図示せず)に割込み要因の情報をセットする。
Upon receiving the transfer completion notification from the
イニシエータコア11からの割込みが有効になると、プロセッサ15はイニシエータコア11の内部レジスタにセットされた情報を参照して、割込み要因を確認し、イニシエータコア11によるデータ転送が完了したことを検出する。これにより、他のイニシエータ(図示せず)は、イニシエータコア11により転送されたデータを使用する処理を開始できる。
When the interrupt from the
図2、図3に示す例では、デバイスコントローラ12は、ターゲットデバイス13への最後のデータの書き込みが完了すると、転送完了通知を発行していたが、他のイニシエータからのターゲットデバイス13へのアクセスが、イニシエータコア11からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス13へのデータ書き込みが完了していなくても、転送完了通知を発行できる。
In the example illustrated in FIGS. 2 and 3, the
例えば、デバイスコントローラ12がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス13へのアクセスの次に実行される)となったら、転送完了通知を発行できる。
For example, when the
イニシエータコア11は転送完了通知を受信することで、ターゲットデバイス13への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出できる。
By receiving the transfer completion notification, the
また、イニシエータコア11は転送完了通知を受信してからプロセッサ15に割込みを発生するため、ターゲットデバイス13に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。
In addition, since the
また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。 Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.
このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。 As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.
(第2の実施形態)図4に本発明の第2の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア21、デバイスコントローラ22、ターゲットデバイス23、オンチップバス24、プロセッサ25、及び割込み信号タイミング制御回路26を備える。
(Second Embodiment) FIG. 4 shows a schematic configuration of a data transfer system according to a second embodiment of the present invention. The data transfer system includes an
イニシエータコア21はオンチップバス24に接続され、データのDMA転送を行う。また、イニシエータコア21はデバイスコントローラ22へ転送完了通知リクエスト信号S21を出力し、割込み信号タイミング制御回路26へ割込み信号S23を出力する。
The
デバイスコントローラ22は、ターゲットデバイス23の制御を行う。デバイスコントローラ22は、イニシエータコア21から出力されたデータがオンチップバス24を介して与えられ、このデータをターゲットデバイス23に書き込む。また、デバイスコントローラ22は、イニシエータコア21から転送完了通知リクエスト信号S21を受信すると、ターゲットデバイス23への全データ(最終データ)の書き込みが完了した際に、割込み信号タイミング制御回路26へ転送完了通知信号S22を出力する。
The
転送完了通知リクエスト信号S21及び転送完了通知信号S22は、オンチップバス24の規格で定義された信号によって実装してもよいし、オンチップバス24とは別の独立した信号として実装してもよい。
The transfer completion notification request signal S21 and the transfer completion notification signal S22 may be implemented by signals defined in the on-
割込み信号タイミング制御回路26は割込み信号S23及び転送完了通知信号S22に基づいて割込み信号S24をプロセッサ25へ出力する。割込み信号S24は、プロセッサ25に直接入力するようにしてもよいし、割込みコントローラ(図示せず)等を介して入力するようにしてもよい。
The interrupt signal
このようなデータ転送システムにおけるデータ転送方法を図5に示すフロー及び図6に示すタイミングチャートを用いて説明する。まず、イニシエータコア21は、オンチップバス24上でライトコマンドを発行し、デバイスコントローラ22へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア21はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S21を有効に)する。
A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 5 and a timing chart shown in FIG. First, the
イニシエータコア21は、オンチップバス24上に出力された最後のデータをデバイスコントローラ22が受信したことを検出すると、DMA転送を終了する(時刻T2)。イニシエータコア21からデバイスコントローラ12の間に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送が終了する。
When the
イニシエータコア21はDMA転送を終了すると、割込み信号S23を有効にする。また、この時、イニシエータコア21は内部レジスタ(図示せず)に割込み要因の情報をセットする。
When the
デバイスコントローラ22は、ターゲットデバイ23への最後のデータの書き込みが完了すると、転送完了通知を発行(転送完了通知信号S22を有効に)する(時刻T3)。
When the writing of the last data to the
割込み信号タイミング制御回路26は、イニシエータコア21からの割込み信号S23及びデバイスコントローラ22からの転送完了通知信号S22が共に有効になると、プロセッサ25に対して割込みを発行(割込み信号S24を有効に)し、データ転送の完了を通知する(時刻T4)。
When both the interrupt signal S23 from the
割込み信号タイミング制御回路26からの割込みが有効になると、プロセッサ25はイニシエータコア21の内部レジスタにセットされた情報を参照して、割込み要因を確認し、イニシエータコア21によるデータ転送が完了したことを検出する。これにより、他のイニシエータ(図示せず)は、イニシエータコア21により転送されたデータを使用する処理を開始できる。
When the interrupt from the interrupt signal
図5、図6に示す例では、デバイスコントローラ22は、ターゲットデバイス23への最後のデータの書き込みが完了すると、転送完了通知を発行していたが、他のイニシエータからのターゲットデバイス23へのアクセスが、イニシエータコア21からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス23へのデータ書き込みが完了していなくても、転送完了通知を発行できる。
In the example shown in FIGS. 5 and 6, the
例えば、デバイスコントローラ22がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス23へのアクセスの次に実行される)となったら、転送完了通知を発行できる。
For example, when the
割込み信号タイミング制御回路26は、イニシエータコア21からの割込み信号S23及びデバイスコントローラ22からの転送完了通知を受信することで、ターゲットデバイス23への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出できる。
When the interrupt signal
そして、割込み信号タイミング制御回路26は、ターゲットデバイス23への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出してからプロセッサ25に割込みを発生するため、ターゲットデバイス23に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。
Then, the interrupt signal
また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。 Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.
このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。 As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.
(第3の実施形態)図7に本発明の第3の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア31、デバイスコントローラ32、ターゲットデバイス33、オンチップバス34、及びプロセッサ35を備える。
(Third Embodiment) FIG. 7 shows a schematic configuration of a data transfer system according to a third embodiment of the present invention. The data transfer system includes an
イニシエータコア31はオンチップバス34に接続され、データのDMA転送を行う。また、イニシエータコア31は転送完了通知リクエスト信号S31を出力する。
The
デバイスコントローラ32は、ターゲットデバイス33の制御を行う。デバイスコントローラ32は、イニシエータコア31から出力されたデータがオンチップバス34を介して与えられ、このデータをターゲットデバイス33に書き込む。また、デバイスコントローラ32は、イニシエータコア31から転送完了通知リクエスト信号S31を受信すると、ターゲットデバイス13への全データ(最終データ)の書き込みが完了した際に、割込み信号S32をプロセッサ35へ出力する。
The
転送完了通知リクエスト信号S31は、オンチップバス34の規格で定義された信号によって実装してもよいし、オンチップバス34とは別の独立した信号として実装してもよい。 The transfer completion notification request signal S31 may be implemented by a signal defined by the standard of the on-chip bus 34, or may be implemented as an independent signal different from the on-chip bus 34.
このようなデータ転送システムにおけるデータ転送方法を図8に示すフロー及び図9に示すタイミングチャートを用いて説明する。まず、イニシエータコア31は、オンチップバス34上でライトコマンドを発行し、デバイスコントローラ32へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア31はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S31を有効に)する。
A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 8 and a timing chart shown in FIG. First, the
イニシエータコア31は、オンチップバス34上に出力された最後のデータをデバイスコントローラ32が受信したことを検出(最後のデータに対応するアクノレッジを受信)すると、DMA転送を終了する(時刻T2)。
When the
イニシエータコア11からデバイスコントローラ12に到る経路に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送を終了する。
When a buffer for temporarily storing data is provided in the path from the
デバイスコントローラ32は、ターゲットデバイス33への最後のデータの書き込みが完了すると、プロセッサ35に転送完了を割込み通知(割込み信号S32を有効に)する(時刻T3)。
When the writing of the last data to the
デバイスコントローラ32からの割込みが有効になると、プロセッサ35はデバイスコントローラ32の内部レジスタ321に格納されている情報を確認する。内部レジスタ321にイニシエータコア31の識別情報が格納されている場合は、プロセッサ35はこの識別情報に基づいて、イニシエータコア31の内部レジスタ(図示せず)にセットされた割込み要因の情報をリードし、割込み要因を確認する。
When the interrupt from the
また、レジスタ321に、イニシエータコア31の内部レジスタと同等の(コピー)情報が格納されている場合は、プロセッサ35はレジスタ321に格納された割込み要因の情報をリードし、割込み要因を確認する。
When the
レジスタ321は、オンチップバス34のイニシエータコア識別情報から取得した情報を格納するのでもよく、イニシエータコア31により割込み要因の情報を書き込まれるようにするのでもよい。また、データ転送完了時のレジスタ321の状態を予め定義しておくようにしてもよい。
The
プロセッサ35は割込み要因の確認により、イニシエータコア31によるデータ転送が完了したことを検出することができる。これにより、他のイニシエータ(図示せず)は、イニシエータコア31により転送されたデータを使用する処理を開始できる。
The
図8、図9に示す例では、デバイスコントローラ32は、ターゲットデバイス33への最後のデータの書き込みが完了すると、転送完了通知を発行(割込み信号S32を有効に)していたが、他のイニシエータからのターゲットデバイス33へのアクセスが、イニシエータコア31からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス33へのデータ書き込みが完了していなくても、転送完了通知を発行できる。
In the example shown in FIGS. 8 and 9, the
例えば、デバイスコントローラ32がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス33へのアクセスの次に実行される)となったら、転送完了通知を発行できる。
For example, when the
デバイスコントローラ32は、ターゲットデバイス33への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出してから、プロセッサ35に割込みを発生するため、ターゲットデバイス33に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。
The
また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。 Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.
このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。 As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.
上述した実施の形態はいずれも一例であって限定的なものではないと考えられるべきである。例えば、上記実施形態では、ライトコマンドの発行時(時刻T1)に転送完了通知リクエストを発行していたが、ライトコマンド発行時から最後のライトデータ(データDn)がイニシエータコアから出力されるまでの間(時刻T1〜T2)であれば、任意のタイミングで転送完了通知リクエストを発行することができる。 Each of the above-described embodiments is an example and should be considered as not limiting. For example, in the above embodiment, the transfer completion notification request is issued when the write command is issued (time T1). However, from the time when the write command is issued until the last write data (data Dn) is output from the initiator core. If it is between (time T1-T2), a transfer completion notification request can be issued at an arbitrary timing.
本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The technical scope of the present invention is defined by the terms of the claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
11 イニシエータコア
12 デバイスコントローラ
13 ターゲットデバイス
14 オンチップバス
15 プロセッサ
11
Claims (5)
データをターゲットデバイスへ書き込むデバイスコントローラと、
前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記ターゲットデバイスへの前記データのすべての書き込みに伴い転送完了通知信号を出力することを特徴とするデータ転送装置。 A data transfer device for transferring data via a bus,
A device controller that writes data to the target device;
An initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller outputs a transfer completion notification signal with every writing of the data to the target device.
前記バスに接続されたプロセッサと、
前記データを前記記憶装置へ書き込むデバイスコントローラと、
レジスタを有し、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い転送完了通知信号を出力し、前記イニシエータコアは前記転送完了通知信号に基づいて割込み信号を発生すると共に前記レジスタに割込み要因情報をセットし、前記プロセッサは前記割込み信号に基づいて前記レジスタにセットされた前記割込み要因情報を検出することを特徴とするデータ転送システム。 A data transfer system that DMA transfers data to a storage device via a bus,
A processor connected to the bus;
A device controller for writing the data to the storage device;
An initiator core having a register, DMA-transferring the data to the device controller via the bus, and outputting a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller outputs a transfer completion notification signal with all writing of the data to the storage device, and the initiator core generates an interrupt signal based on the transfer completion notification signal. And the interrupt factor information is set in the register, and the processor detects the interrupt factor information set in the register based on the interrupt signal.
前記バスに接続されたプロセッサと、
割込み要因情報を格納するレジスタを有し、前記データを前記記憶装置へ書き込むデバイスコントローラと、
前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い割込み信号を発生し、前記プロセッサは前記割込み信号に基づいて前記レジスタに格納された前記割込み要因情報を検出することを特徴とするデータ転送システム。 A data transfer system that DMA transfers data to a storage device via a bus,
A processor connected to the bus;
A device controller for storing interrupt factor information, and writing the data into the storage device;
An initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller generates an interrupt signal with every writing of the data to the storage device, and the processor stores the register stored in the register based on the interrupt signal A data transfer system characterized by detecting interrupt factor information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008127468A JP2009277004A (en) | 2008-05-14 | 2008-05-14 | Data transfer device and data transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008127468A JP2009277004A (en) | 2008-05-14 | 2008-05-14 | Data transfer device and data transfer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009277004A true JP2009277004A (en) | 2009-11-26 |
Family
ID=41442379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008127468A Pending JP2009277004A (en) | 2008-05-14 | 2008-05-14 | Data transfer device and data transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009277004A (en) |
-
2008
- 2008-05-14 JP JP2008127468A patent/JP2009277004A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008090375A (en) | Interrupt control system and storage control system using the same | |
JP2005353041A (en) | Bus transaction management within data processing system | |
JP2010134627A (en) | Bus relay device | |
JP2008009817A (en) | Semiconductor device and data transfer method | |
JP2006293927A (en) | Direct memory access controller and system lsi including direct memory access controller | |
JP2006113689A (en) | Bus bridge device and data transfer method | |
JP2003296267A (en) | Bus system and information processing system including bus system | |
JP5057360B2 (en) | Semiconductor device, data processing device, and access method to storage device | |
JP6004463B2 (en) | Storage device and control method thereof | |
KR100606163B1 (en) | Direct memory access device, system and method for transmitting and receiving data through direct memory access device | |
JP2009277004A (en) | Data transfer device and data transfer system | |
JP7103162B2 (en) | Arithmetic processing unit and control method of arithmetic processing unit | |
US20070168839A1 (en) | Interface apparatus for connecting a device and a host system, and method of controlling the interface apparatus | |
JP2006285872A (en) | Multi-cpu system | |
JP2009271610A (en) | Buffer control circuit, buffer circuit and data processor | |
JP4985599B2 (en) | DMA transfer control system | |
JP2006338533A (en) | Multilayered bus system having ecc circuit | |
JP6171367B2 (en) | Switch device, image processing device, and exclusive control method | |
JP2005301714A (en) | Multi-cpu system, its data transfer method, and its program | |
JP2010140440A (en) | Bus arbitration device | |
JP2007316880A (en) | Access right arbitration system for dual port memory | |
JP2006092077A (en) | Bus system | |
JP2005228188A (en) | Information processing system | |
JP5282325B2 (en) | Posted light bus controller | |
JP6384359B2 (en) | Information processing apparatus having distributed shared memory, method, and program |