JP2016130927A - Dma controller and inter-bus data transfer method - Google Patents

Dma controller and inter-bus data transfer method Download PDF

Info

Publication number
JP2016130927A
JP2016130927A JP2015004677A JP2015004677A JP2016130927A JP 2016130927 A JP2016130927 A JP 2016130927A JP 2015004677 A JP2015004677 A JP 2015004677A JP 2015004677 A JP2015004677 A JP 2015004677A JP 2016130927 A JP2016130927 A JP 2016130927A
Authority
JP
Japan
Prior art keywords
transfer
data
address
time
bus
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
Application number
JP2015004677A
Other languages
Japanese (ja)
Inventor
伊東 行夫
Yukio Ito
行夫 伊東
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 Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2015004677A priority Critical patent/JP2016130927A/en
Publication of JP2016130927A publication Critical patent/JP2016130927A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a DMA controller and inter-bus data transfer method that improve the efficiency of data transfer between different buses.SOLUTION: A DMA controller of the present invention includes a transfer information registration unit, a transmission FIFO memory, and a control unit. In the transfer information registration unit, transfer information (which indicates a transfer source address indicating the address of first data storage means connected to a first bus and a transfer destination address indicating the address of second data storage means connected to a second bus) is registered. The control unit transfers, when the transfer information is registered in the transfer information registration unit, data which is read from the transfer source address, to the transfer FIFO memory; and when the storing of the data to the transmission FIFO memory is started, transfers the data which is stored in the transmission FIFO memory to the transfer destination address.SELECTED DRAWING: Figure 1

Description

本発明は、メモリやデバイスなどの間でのデータ転送を行う、DMAコントローラ及びバス間データ転送方法、に関する。   The present invention relates to a DMA controller and an inter-bus data transfer method for transferring data between memories, devices, and the like.

CPU、メモリ、各種のデバイスなどから構成されるコンピュータにおいて、メモリとメモリ間、或いは、メモリとデバイス間などでデータ転送を行う場合、その制御は、CPUだけでなく、DMAコントローラでも行うようになってきている。ここで、前記のCPUは、「Central Processing Unit:中央演算処理装置」の略記である。また、DMAは、「Direct Memory Access:ディーエムエー」の略記である。   In a computer composed of a CPU, memory, various devices, etc., when data is transferred between memories or between memory and devices, the control is performed not only by the CPU but also by the DMA controller. It is coming. Here, the CPU is an abbreviation for “Central Processing Unit”. DMA is an abbreviation for “Direct Memory Access”.

コンピュータ内でデータ転送を行う場合、データは、コンピュータ内のバス(bus)を介して、メモリやデバイスなどの間を転送されるようになっている。   When data is transferred in a computer, data is transferred between a memory, a device, and the like via a bus in the computer.

そして、DMAコントローラは、1本のバス上でのデータ転送を制御するだけでなく、複数のバス間でのデータ転送をも行わせるようになってきている(例えば、特許文献1参照。)。   The DMA controller not only controls data transfer on one bus but also performs data transfer between a plurality of buses (see, for example, Patent Document 1).

上述した特許文献1「データ転送方法及び装置」には以下の記載がなされている。   The following description is made in Patent Document 1 “Data Transfer Method and Apparatus” described above.

すなわち、図11に示すように、第1のバス11と第2のバス12とは、FIFO等のバッファメモリを有するバス中継器13を介して接続され、各バス11、12にはそれぞれDMA(ダイレクトメモリアクセス)コントローラ22、27が接続される。バス中継器13は各DMAコントローラ22、27にDMA転送の要求を出すことができる。DMAコントローラ22は、バス11上のデバイス23やメモリ24からのデータをバス中継器13内のバッファメモリにDMA転送し、DMAコントローラ27はバス中継器13内のバッファメモリからバス12上のデバイス28やメモリ29にDMA転送する。同様に、DMAコントローラ27、22によりバス12上のデータをバス中継器13内のバッファメモリを介してバス11上にDMA転送する。   That is, as shown in FIG. 11, the first bus 11 and the second bus 12 are connected via a bus repeater 13 having a buffer memory such as a FIFO, and each of the buses 11 and 12 has a DMA ( Direct memory access) controllers 22 and 27 are connected. The bus repeater 13 can issue a DMA transfer request to each of the DMA controllers 22 and 27. The DMA controller 22 DMA-transfers data from the device 23 and the memory 24 on the bus 11 to the buffer memory in the bus relay 13, and the DMA controller 27 transfers the device 28 on the bus 12 from the buffer memory in the bus relay 13. Or DMA transfer to the memory 29. Similarly, data on the bus 12 is DMA-transferred onto the bus 11 via the buffer memory in the bus repeater 13 by the DMA controllers 27 and 22.

このことにより、異なるバス間でのDMA転送を効率よく行うことができる、としている。   This makes it possible to efficiently perform DMA transfer between different buses.

特開平10−293742号公報(第3〜7頁、図1〜5)JP-A-10-293742 (pages 3-7, FIGS. 1-5)

上述した特許文献1に記載の手法においては、DMAコントローラ22は、先ず、バス11上のデバイス23やメモリ24からのデータをバス中継器13内のバッファメモリにDMA転送する。そして、バス中継器13は、DMAコントローラ27にDMA転送を行うよう要求する。すると、DMAコントローラ27は、バス中継器13内のバッファメモリのデータを、デバイス28やメモリ29に転送するようにしている。このことにより、異なるバス間でのデータ転送が効率よく行えるようになる、としている。   In the method described in Patent Document 1 described above, the DMA controller 22 first DMA-transfers data from the device 23 and the memory 24 on the bus 11 to the buffer memory in the bus repeater 13. Then, the bus repeater 13 requests the DMA controller 27 to perform DMA transfer. Then, the DMA controller 27 is configured to transfer the data in the buffer memory in the bus repeater 13 to the device 28 and the memory 29. This makes it possible to efficiently transfer data between different buses.

しかし、特許文献1に記載の手法においては、DMAコントローラ22のDMA転送が終了した後に、DMAコントローラ27のDMA転送が行われるようになっている。このため、異なるバス間でのデータ転送に要する時間は、DMAコントローラ22の動作時間と、DMAコントローラ27の動作時間の合計となってしまうものとなっている。   However, in the method described in Patent Document 1, the DMA transfer of the DMA controller 27 is performed after the DMA transfer of the DMA controller 22 is completed. For this reason, the time required for data transfer between different buses is the sum of the operation time of the DMA controller 22 and the operation time of the DMA controller 27.

ここで、特許文献1に記載の手法について、バスの使用形態という観点からみてみると、DMAコントローラ22のDMA転送が行われている時は、DMAコントローラ22が接続されているバス11だけが使用されている。また、DMAコントローラ27のDMA転送が行われている時は、DMAコントローラ27が接続されているバス12だけが使用されている。すなわち、異なるバスがそれぞれ時間的に独立に使用される形態となっている。そして、バス11はDMAコントローラ22が使用し、バス12はDMAコントローラ27が使用するものであるため、バス11とバス12を、時間的に独立にではなく、並列して使用するのは難しい、という課題を有している。   Here, with respect to the technique described in Patent Document 1, from the viewpoint of the usage pattern of the bus, when the DMA transfer of the DMA controller 22 is performed, only the bus 11 to which the DMA controller 22 is connected is used. Has been. Further, when the DMA transfer of the DMA controller 27 is performed, only the bus 12 to which the DMA controller 27 is connected is used. That is, different buses are used independently in time. Since the bus 11 is used by the DMA controller 22 and the bus 12 is used by the DMA controller 27, it is difficult to use the bus 11 and the bus 12 in parallel rather than being independent in time. It has a problem.

上述した、異なるバスがそれぞれ独立に使用される形態を、異なるバスを並列して使用するようにすれば、異なるバス間でのデータ転送に要する全体の時間は短縮され、データ転送をより効率的に行うことが可能となる。   If different buses are used in parallel with the above-described form in which different buses are used independently, the overall time required for data transfer between different buses is shortened, and data transfer is more efficient. Can be performed.

本発明は上述した課題を解決するためになされたものである。従って、本発明の目的は、異なるバス間でのデータ転送の効率を向上させる、DMAコントローラ及びバス間データ転送方法、を提供することにある。   The present invention has been made to solve the above-described problems. Therefore, an object of the present invention is to provide a DMA controller and an inter-bus data transfer method that improve the efficiency of data transfer between different buses.

本発明のDMAコントローラは、転送情報登録部と、送信FIFOメモリと、制御部とを備えている。   The DMA controller of the present invention includes a transfer information registration unit, a transmission FIFO memory, and a control unit.

ここで、転送情報登録部には、転送情報が登録されるようになっている。この転送情報は、第1のバスに接続された第1のデータ記憶手段のアドレスを示す転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す転送先アドレスとを示すものである。そして、この転送情報は、前記第1のバスに接続されているCPUから登録されるものである。   Here, transfer information is registered in the transfer information registration unit. The transfer information includes a transfer source address indicating the address of the first data storage means connected to the first bus, and a second data storage means connected to a second bus different from the first bus. The transfer destination address indicating the address of the address. This transfer information is registered from the CPU connected to the first bus.

送信FIFOメモリは、前記転送元アドレスから読み出されたデータを一時記憶するようになっている。   The transmission FIFO memory temporarily stores data read from the transfer source address.

制御部は、以下の動作を行う。すなわち、前記転送情報登録部に、前記転送元アドレスと前記転送先アドレスを示す前記転送情報が登録された際、前記転送元アドレスから読み出したデータを、前記送信FIFOメモリに送信する。そして、前記送信FIFOメモリに前記データの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記データを、前記転送先アドレスに送信する。   The control unit performs the following operations. That is, when the transfer information indicating the transfer source address and the transfer destination address is registered in the transfer information registration unit, the data read from the transfer source address is transmitted to the transmission FIFO memory. When the storage of the data starts in the transmission FIFO memory, the data stored in the transmission FIFO memory is transmitted to the transfer destination address.

本発明のバス間データ転送方法は、転送情報が登録される転送情報登録部と、データ記憶手段から読み出されたデータを一時記憶する送信FIFOメモリを備えるDMAコントローラにおいて実行されるものである。すなわち、前記転送情報登録部に、第1のバスに接続された第1のデータ記憶手段のアドレスを示す転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す転送先アドレスとを示す転送情報が登録された際、以下を実行する。   The inter-bus data transfer method of the present invention is executed in a DMA controller including a transfer information registration unit for registering transfer information and a transmission FIFO memory for temporarily storing data read from the data storage means. That is, in the transfer information registration unit, a transfer source address indicating the address of the first data storage means connected to the first bus, and a second connected to the second bus different from the first bus When the transfer information indicating the transfer destination address indicating the address of the data storage means is registered, the following is executed.

先ず、前記転送元アドレスから読み出したデータを、前記送信FIFOメモリに送信する。そして、前記送信FIFOメモリに前記データの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記データを、前記転送先アドレスに送信する。
First, the data read from the transfer source address is transmitted to the transmission FIFO memory. When the storage of the data starts in the transmission FIFO memory, the data stored in the transmission FIFO memory is transmitted to the transfer destination address.

本発明によれば、異なるバス間でのデータ転送の効率を向上させることが可能となる。   According to the present invention, the efficiency of data transfer between different buses can be improved.

本発明のDMAコントローラの第1の実施形態を示すブロック図である。1 is a block diagram showing a first embodiment of a DMA controller of the present invention. FIG. 第1の実施形態の動作を説明する第1のタイミングチャートである。It is a 1st timing chart explaining operation | movement of 1st Embodiment. 第1の実施形態の動作を説明する第2のタイミングチャートである。It is a 2nd timing chart explaining operation | movement of 1st Embodiment. 本発明のDMAコントローラの第2の実施形態を示すブロック図である。It is a block diagram which shows 2nd Embodiment of the DMA controller of this invention. 転送情報登録部の一例を示す図である。It is a figure which shows an example of the transfer information registration part. 第2の実施形態の動作を説明するタイミングチャートである。It is a timing chart explaining operation of a 2nd embodiment. 第1の実施形態の動作を説明する第3のタイミングチャートである。It is a 3rd timing chart explaining operation | movement of 1st Embodiment. 本発明のDMAコントローラの第3の実施形態を示すブロック図である。It is a block diagram which shows 3rd Embodiment of the DMA controller of this invention. 第3の実施形態の転送情報登録部の一例を示す図である。It is a figure which shows an example of the transfer information registration part of 3rd Embodiment. 第3の実施形態の動作を説明するタイミングチャートである。It is a timing chart explaining operation of a 3rd embodiment. 従来のDMAコントローラの一例を示す図である。It is a figure which shows an example of the conventional DMA controller.

次に、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
図1は、本発明のDMAコントローラの第1の実施形態を示すブロック図である。なお、以下において、DMAコントローラ(Direct Memory Access Controller)を、DMACと略記するものとする。また、中央演算処理装置(Central Processing Unit)はCPUと記載するものとする。
Next, embodiments of the present invention will be described with reference to the drawings.
[First embodiment]
FIG. 1 is a block diagram showing a first embodiment of the DMA controller of the present invention. In the following, a DMA controller (Direct Memory Access Controller) is abbreviated as DMAC. Further, the central processing unit is described as CPU.

図1に示すDMAC100は、制御部110、送信FIFO(First-In First-Out:ファイフォ)メモリ120、転送情報登録部130を備えている。そして、DMAC100は、データの経路であるところの複数のバス(bus)30(30−1、30−2、・・・、30−n)と接続し、複数のバス30間で行われるデータ転送の制御を行うようになっている。   The DMAC 100 shown in FIG. 1 includes a control unit 110, a transmission FIFO (First-In First-Out) memory 120, and a transfer information registration unit 130. The DMAC 100 is connected to a plurality of buses 30 (30-1, 30-2,..., 30-n) which are data paths, and data transfer is performed between the plurality of buses 30. Control is to be performed.

各々のバス30には、CPU10(10−1、10−2、・・・、10−n)、メモリ20(20−1、20−2、・・・、20−n)が接続されるよう構成されている。そして、CPU10は、バス30を介してメモリ20にアクセスし、メモリ20からデータを読み出し、或いは、メモリ20にデータを書き込むよう動作するようになっている。なお、メモリ20は、RAM(Random Access Memory:ラム)やROM(Read Only Memory:ロム)などの記憶装置である。また、メモリ20は、データを記憶することが可能な、周辺装置などのデバイスであってもよい。   A CPU 10 (10-1, 10-2,..., 10-n) and a memory 20 (20-1, 20-2,..., 20-n) are connected to each bus 30. It is configured. The CPU 10 operates to access the memory 20 via the bus 30 and read data from the memory 20 or write data to the memory 20. The memory 20 is a storage device such as a random access memory (RAM) or a read only memory (ROM). Further, the memory 20 may be a device such as a peripheral device capable of storing data.

DMAC100の制御部110は、CPU10からデータ転送の開始指示を受けた際、その指示の内容に従って、バス30を用いたメモリ20間でのデータ転送の制御を行う。   When receiving a data transfer start instruction from the CPU 10, the control unit 110 of the DMAC 100 controls data transfer between the memories 20 using the bus 30 according to the content of the instruction.

送信FIFOメモリ120は、或るメモリ20から読み出したデータを一旦記憶しておく記憶装置である。一旦記憶された当該データは、後の時点で他のメモリ20に書き込まれるデータである。   The transmission FIFO memory 120 is a storage device that temporarily stores data read from a certain memory 20. The data once stored is data to be written in another memory 20 at a later time.

転送情報登録部130は、或るメモリ20から他のメモリ20に転送するデータについて、データの転送元となるメモリ20のアドレス、当該データの転送先となるメモリ20のアドレス、及び、転送データのサイズ、などから成る転送情報を登録する記憶装置である。この転送情報は、データ転送の処理を実行しようとするCPU10によって登録されるものである。   For data transferred from one memory 20 to another memory 20, the transfer information registering unit 130 stores the address of the memory 20 that is the data transfer source, the address of the memory 20 that is the data transfer destination, and the transfer data This is a storage device for registering transfer information including size and the like. This transfer information is registered by the CPU 10 that intends to execute the data transfer process.

なお、本実施形態におけるデータ転送は、転送元となるメモリ20と転送先のメモリ20は、異なるバス30に接続されているメモリ20間で行われるものである。例えば、転送元のメモリ20が、バス30−2に接続されるメモリ20−2である場合、転送先のメモリ20は、バス30−2以外のバス30(例、バス30−1)に接続されるメモリ20(例、メモリ20−1)である。   Note that the data transfer in this embodiment is performed between the memory 20 that is the transfer source and the memory 20 that is the transfer destination, which are connected to different buses 30. For example, when the transfer source memory 20 is the memory 20-2 connected to the bus 30-2, the transfer destination memory 20 is connected to a bus 30 (eg, bus 30-1) other than the bus 30-2. Memory 20 (eg, memory 20-1).

次に、図2を参照して、本実施形態の動作について説明する。なお、図2においては、転送元が、バス30−2に接続されるメモリ20−2であり、転送先が、バス30−1に接続されるメモリ20−1である場合を、一例として説明する。   Next, the operation of the present embodiment will be described with reference to FIG. In FIG. 2, a case where the transfer source is the memory 20-2 connected to the bus 30-2 and the transfer destination is the memory 20-1 connected to the bus 30-1 will be described as an example. To do.

図2は、第1の実施形態の動作を説明する第1のタイミングチャートである。なお、図2において、横軸は時間の経過を示すものとし、図2の左側から右側に向けて時間が経過していくものとする。ここで、時間は「T○」で示すものとする。   FIG. 2 is a first timing chart for explaining the operation of the first embodiment. In FIG. 2, the horizontal axis indicates the passage of time, and the time passes from the left side to the right side in FIG. Here, the time is indicated by “T ○”.

先ず、CPU10−2は、転送情報登録部130に対し、「転送元アドレス=メモリ20−2、転送先アドレス=メモリ20−1、転送サイズ=A」を登録することにより、DMAC100に対してデータ転送の開始指示を行う。   First, the CPU 10-2 registers “transfer source address = memory 20-2, transfer destination address = memory 20-1, transfer size = A” in the transfer information registration unit 130, thereby transferring data to the DMAC 100. Instruct transfer start.

転送情報が転送情報登録部130に登録されたことを認識したDMAC100の制御部110は、登録された「転送元アドレス=メモリ20−2、転送先アドレス=メモリ20−1、転送サイズ=A」の処理を実施するため、図2に示すように動作する。   Recognizing that the transfer information is registered in the transfer information registration unit 130, the control unit 110 of the DMAC 100 registers “transfer source address = memory 20-2, transfer destination address = memory 20-1, transfer size = A”. In order to carry out the process of FIG.

すなわち、DMAC100の制御部110は、転送元アドレスであるバス30−2に接続されているメモリ20−2に対し、転送サイズAのデータの読み出し要求を送信する(図2の時間T1)。読み出し要求を受信したメモリ20−2からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T2)。そして、時間T2から時間T4にかけて、メモリ20−2から読み出された転送サイズ=Aのデータが、送信FIFOメモリ120に順次、記憶されていく。   That is, the control unit 110 of the DMAC 100 transmits a read request for data of the transfer size A to the memory 20-2 connected to the bus 30-2 that is the transfer source address (time T1 in FIG. 2). The memory 20-2 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T2). Then, from time T2 to time T4, data of transfer size = A read from the memory 20-2 is sequentially stored in the transmission FIFO memory 120.

制御部110は、送信FIFOメモリ120に、メモリ20−2からの読み出しデータが記憶され始めたことを認識すると、時間T2の時点で、メモリ20−1へのデータ転送を開始するよう動作する。すなわち、制御部110は、転送先アドレスであるバス30−1のメモリ20−1に対し、書き込み要求と共に、メモリ20−2から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する。書き込み要求を受信したメモリ20−1は、メモリ20−2から送信FIFOメモリ120に記憶されたデータの受信を開始する(時間T3)。そして、時間T3から時間T5にかけて、メモリ20−2から読み出された転送サイズ=Aのデータが、メモリ20−1に順次、記憶されていく。   When the control unit 110 recognizes that the read data from the memory 20-2 starts to be stored in the transmission FIFO memory 120, the control unit 110 operates to start data transfer to the memory 20-1 at time T2. That is, the control unit 110 writes the data received from the memory 20-2 together with the write request to the memory 20-1 of the bus 30-1 that is the transfer destination address, that is, the data in the transmission FIFO memory 120 as the write data. Send. The memory 20-1 that has received the write request starts to receive data stored in the transmission FIFO memory 120 from the memory 20-2 (time T3). Then, from time T3 to time T5, data of transfer size = A read from the memory 20-2 is sequentially stored in the memory 20-1.

そして、時間T5になると、転送サイズA全てのデータの転送が完了する。   At time T5, the transfer of all data of transfer size A is completed.

以上、本発明の第1の実施形態の動作について説明した。   The operation of the first embodiment of the present invention has been described above.

以上説明したように、第1の実施形態のDMAコントローラ(100)は、転送情報登録部(130)と、送信FIFOメモリ(120)と、制御部(110)とを備えている。   As described above, the DMA controller (100) of the first embodiment includes the transfer information registration unit (130), the transmission FIFO memory (120), and the control unit (110).

ここで、転送情報登録部には、転送情報が登録されるようになっている。この転送情報は、第1のバスに接続された第1のデータ記憶手段(メモリ20)のアドレスを示す転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段(メモリ20)のアドレスを示す転送先アドレスとを示すものである。そして、この転送情報は、前記第1のバスに接続されているCPUから登録されるものである。   Here, transfer information is registered in the transfer information registration unit. This transfer information includes a transfer source address indicating the address of the first data storage means (memory 20) connected to the first bus, and a second bus connected to a second bus different from the first bus. And a transfer destination address indicating the address of the data storage means (memory 20). This transfer information is registered from the CPU connected to the first bus.

送信FIFOメモリは、前記転送元アドレスから読み出されたデータを一時記憶するようになっている。   The transmission FIFO memory temporarily stores data read from the transfer source address.

制御部は、以下の動作を行う。すなわち、前記転送情報登録部に、前記転送元アドレスと前記転送先アドレスを示す前記転送情報が登録された際、前記転送元アドレスから読み出したデータを、前記送信FIFOメモリに送信する。そして、前記送信FIFOメモリに前記データの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記データを、前記転送先アドレスに送信する。   The control unit performs the following operations. That is, when the transfer information indicating the transfer source address and the transfer destination address is registered in the transfer information registration unit, the data read from the transfer source address is transmitted to the transmission FIFO memory. When the storage of the data starts in the transmission FIFO memory, the data stored in the transmission FIFO memory is transmitted to the transfer destination address.

このように、第1の実施形態のDMAコントローラによれば、転送元アドレスから読み出したデータが、送信FIFOメモリへ記憶され始めると、直ちに、転送先アドレスへの送信を開始するようにしている。すなわち、転送元アドレスのデータ記憶手段を接続するバスが使用されている途中であっても、転送先アドレスのデータ記憶手段を接続するバスの使用を開始するようにしている。つまり、異なるバスを並列して使用するようにしている。   As described above, according to the DMA controller of the first embodiment, when the data read from the transfer source address starts to be stored in the transmission FIFO memory, transmission to the transfer destination address is started immediately. That is, even when the bus connecting the data storage means of the transfer source address is being used, the use of the bus connecting the data storage means of the transfer destination address is started. In other words, different buses are used in parallel.

従って、本実施形態によれば、異なるバス間でのデータ転送の効率を向上させることが可能となる。
[第2の実施形態]
次に、図1に示した第1の実施形態の変形例としての本発明による第2の実施形態について説明する。
Therefore, according to the present embodiment, the efficiency of data transfer between different buses can be improved.
[Second Embodiment]
Next, a second embodiment according to the present invention will be described as a modification of the first embodiment shown in FIG.

第2の実施形態は、或るバス30に接続されるメモリ20から他のバス30に接続されるメモリ20へのデータ転送が、2つ連続して行われる場合を示すものである。なお、異なるバス30へのデータ転送を2つ連続して行う際、第1の実施形態で示したDMAC100をそのままの形で用いると、或るバス30上に未使用時間が生じてしまう。そこで、第2の実施形態は、バス30上に生じる未使用時間を減少させることにより、異なるバス間でのデータ転送の効率を向上させ得るDMAC100を提供するものである。   The second embodiment shows a case where two data transfers are continuously performed from a memory 20 connected to a certain bus 30 to a memory 20 connected to another bus 30. Note that when two data transfers to different buses 30 are continuously performed, if the DMAC 100 shown in the first embodiment is used as it is, unused time occurs on a certain bus 30. Therefore, the second embodiment provides a DMAC 100 that can improve the efficiency of data transfer between different buses by reducing the unused time generated on the bus 30.

ここで、第2の実施形態を説明する前に、連続したデータ転送を第1の実施形態で行った場合に、バス30上に未使用時間が生じる様子について、図3を参照して説明するものとする。   Here, before explaining the second embodiment, how unused time occurs on the bus 30 when continuous data transfer is performed in the first embodiment will be described with reference to FIG. Shall.

図3は、第1の実施形態の動作を説明する第2のタイミングチャートである。図3では、第1の実施形態のDMAC100が、2つのデータ転送を連続して行う場合であって、且つ、2つのデータ転送の転送先が同一バス30上にある場合について説明する。データの転送先が同一の場合の一例として、メモリ20−2からメモリ20−1へのデータ転送と、メモリ20−3からメモリ20−1へのデータ転送が、連続して実施される場合を説明する。なお、図3において、横軸は時間の経過を示すものとし、図3の左側から右側に向けて時間が経過していくものとする。ここで、時間は「T○」で示すものとする。   FIG. 3 is a second timing chart for explaining the operation of the first embodiment. FIG. 3 illustrates a case where the DMAC 100 according to the first embodiment performs two data transfers in succession and the transfer destinations of the two data transfers are on the same bus 30. As an example of the case where the data transfer destination is the same, the case where the data transfer from the memory 20-2 to the memory 20-1 and the data transfer from the memory 20-3 to the memory 20-1 are continuously performed. explain. In FIG. 3, the horizontal axis indicates the passage of time, and the time passes from the left side to the right side in FIG. Here, the time is indicated by “T ○”.

先ず、CPU10−2は、転送情報登録部130に対し、「転送元アドレス=メモリ20−2、転送先アドレス=メモリ20−1、転送サイズ=A」を登録することにより、DMAC100に対してデータ転送の開始指示を行う。   First, the CPU 10-2 registers “transfer source address = memory 20-2, transfer destination address = memory 20-1, transfer size = A” in the transfer information registration unit 130, thereby transferring data to the DMAC 100. Instruct transfer start.

また、CPU10−3は、転送情報登録部130に対し、「転送元アドレス=メモリ20−3、転送先アドレス=メモリ20−1、転送サイズ=B」を登録する。   Further, the CPU 10-3 registers “transfer source address = memory 20-3, transfer destination address = memory 20-1, transfer size = B” in the transfer information registration unit 130.

転送情報が転送情報登録部130に登録されたことを認識したDMAC100の制御部110は、最初に登録された「転送元アドレス=メモリ20−2、転送先アドレス=メモリ20−1、転送サイズ=A」の処理を実施するため、図3に示すように動作する。   Recognizing that the transfer information is registered in the transfer information registration unit 130, the control unit 110 of the DMAC 100 first registers “transfer source address = memory 20-2, transfer destination address = memory 20-1, transfer size = In order to implement the process “A”, the operation is performed as shown in FIG.

最初に、DMAC100の制御部110は、転送元アドレスであるバス30−2に接続されているメモリ20−2に対し、転送サイズAの読み出し要求を送信する(図3の時間T11)。読み出し要求を受信したメモリ20−2からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T12)。そして、制御部110は、転送先アドレスであるバス30−1のメモリ20−1に対し、書き込み要求と共に、メモリ20−2から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T13)。   First, the control unit 110 of the DMAC 100 transmits a read request for the transfer size A to the memory 20-2 connected to the bus 30-2 that is a transfer source address (time T11 in FIG. 3). The memory 20-2 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T12). Then, the control unit 110 writes the data received from the memory 20-2 together with the write request to the memory 20-1 of the bus 30-1 that is the transfer destination address, that is, the data of the transmission FIFO memory 120 as the write data. Transmit (time T13).

転送サイズA全てのデータの転送が完了すると(時間T14)、制御部110は、転送情報登録部130に2番目に登録された「転送元アドレス=メモリ20−3、転送先アドレス=メモリ20−1、転送サイズ=B」の処理を開始する。   When the transfer of all data of transfer size A is completed (time T14), the control unit 110 registers “transfer source address = memory 20-3, transfer destination address = memory 20− second registered in the transfer information registration unit 130. 1, the process of “transfer size = B” is started.

すなわち、時間T14において、制御部110は、転送元アドレスであるバス30−3に接続されているメモリ20−3に対し、転送サイズBの読み出し要求を送信する(図3の時間T14)。読み出し要求を受信したメモリ20−3からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T15)。そして、制御部110は、転送先アドレスであるバス30−1のメモリ20−1に対し、書き込み要求と共に、メモリ20−3から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T16)。そして、転送サイズB全てのデータのメモリ20−1への転送は、時間T17において終了する。   That is, at time T14, the control unit 110 transmits a transfer size B read request to the memory 20-3 connected to the bus 30-3 that is the transfer source address (time T14 in FIG. 3). The memory 20-3 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T15). Then, the control unit 110 writes the data received from the memory 20-3 together with the write request to the memory 20-1 of the bus 30-1 that is the transfer destination address, that is, the data in the transmission FIFO memory 120 as the write data. Transmit (time T16). Then, the transfer of all data of transfer size B to the memory 20-1 ends at time T17.

時間T17においては、当初の目標であった、メモリ20−2からメモリ20−1へのデータ転送、及び、メモリ20−3からメモリ20−1へのデータ転送が、連続して実施され、かつ、データ転送が完了したものとなっている。   At time T17, the data transfer from the memory 20-2 to the memory 20-1 and the data transfer from the memory 20-3 to the memory 20-1 that were the initial targets are continuously performed, and Data transfer has been completed.

ここで、図3を再度参照すると、2つのデータ転送の転送先であるところのメモリ20−1を接続するバス30−1は、時間T14と時間T16の間は使用されていない状態となっている。本実施形態においては、時間T14からT16の間を、図3の(1)として示すように「未使用時間」と称するものとする。   Here, referring to FIG. 3 again, the bus 30-1 connecting the memory 20-1, which is the transfer destination of the two data transfers, is not used between the time T14 and the time T16. Yes. In the present embodiment, the period from time T14 to T16 is referred to as “unused time” as shown as (1) in FIG.

ここで、未使用時間は、図3の(2)として示す外部遅延時間と、(3)として示す内部処理時間を合算した時間となっている。   Here, the unused time is the sum of the external delay time shown as (2) in FIG. 3 and the internal processing time shown as (3).

外部遅延時間とは、制御部110が、バス30−3に接続されたメモリ20−3へ読み出し要求を送信してから(時間T14)、メモリ20−3から読み出したデータが、送信FIFOメモリ120に到着するまで(時間T15)にかかる時間である。外部遅延時間は、DMAC100の外部で生じる遅延時間であり、メモリ20でのデータの読み出しに要する遅延時間や、バス30の使用権の制御のためのバス調停などに要する時間である。   The external delay time is the time when the control unit 110 transmits a read request to the memory 20-3 connected to the bus 30-3 (time T14), and the data read from the memory 20-3 is the transmission FIFO memory 120. It takes time to arrive at (time T15). The external delay time is a delay time generated outside the DMAC 100, and is a delay time required for reading data in the memory 20, a bus arbitration for controlling the right to use the bus 30, and the like.

内部処理時間とは、バス30−1に接続されたメモリ20−1への書き込み要求を送信してから(時間T15)、送信FIFOメモリ120のデータがメモリ20−1へ到着するまで(時間T16)にかかる時間である。内部処理時間は、送信FIFOメモリ120のデータを、メモリ20−1へ送信する処理のために、DMAC100の内部で必要となる時間である。   The internal processing time is from when a write request to the memory 20-1 connected to the bus 30-1 is transmitted (time T15) until data in the transmission FIFO memory 120 arrives at the memory 20-1 (time T16). ). The internal processing time is a time required in the DMAC 100 for processing of transmitting data in the transmission FIFO memory 120 to the memory 20-1.

以上説明したように、異なるバス30へのデータ転送を2つ連続して行う際、第1の実施形態で示したDMAC100をそのままの形で用いると、或るバス30上に、上述した未使用時間が生じてしまう。そこで、第2の実施形態は、バス30上に生じる未使用時間を減少させることにより、異なるバス間でのデータ転送の効率を向上させ得るDMAC100を提供するものである。   As described above, when two data transfers to different buses 30 are performed in succession, if the DMAC 100 shown in the first embodiment is used as it is, the above-described unused state is used on a certain bus 30. Time will occur. Therefore, the second embodiment provides a DMAC 100 that can improve the efficiency of data transfer between different buses by reducing the unused time generated on the bus 30.

ここで、バス30上に生じる未使用時間を減少させるために、第2の実施形態では、どのような手法で行おうとしているか、について、予め説明しておくものとする。   Here, in order to reduce the unused time generated on the bus 30, in the second embodiment, it is assumed in advance what kind of method is being performed.

図3を再度参照すると、メモリ20−2から受信したデータは、時間T13から時間T14にかけて、バス30−1のメモリ20−1に送信されている。また、メモリ20−3から受信したデータは、時間T16から時間T17にかけて、バス30−1のメモリ20−1に送信されている。   Referring to FIG. 3 again, the data received from the memory 20-2 is transmitted to the memory 20-1 of the bus 30-1 from time T13 to time T14. The data received from the memory 20-3 is transmitted to the memory 20-1 of the bus 30-1 from time T16 to time T17.

ここで、メモリ20−3から受信したデータを、時間T14にまで遡ってメモリ20−1に送信するようにすれば、時間T14から時間T16の間で生じていた未使用時間を減少させることが可能となる。つまり、メモリ20−2から読み出されたデータが、メモリ20−1に全て送信され終わった時点で、即座に、メモリ20−3からのデータがメモリ20−1に送信されるようにすればよい。そして、その実現のためには、時間T14で行っていたメモリ20−3に対する読み出し要求の送信を、未使用時間に相当する分だけ早めるようにすればよい。   Here, if the data received from the memory 20-3 is transmitted to the memory 20-1 retroactively to the time T14, the unused time occurring between the time T14 and the time T16 can be reduced. It becomes possible. In other words, when the data read from the memory 20-2 is completely transmitted to the memory 20-1, the data from the memory 20-3 is immediately transmitted to the memory 20-1. Good. In order to realize this, the transmission of the read request to the memory 20-3 performed at time T14 may be advanced by an amount corresponding to the unused time.

そこで、第2の実施形態では、メモリ20−3に対する読み出し要求を、いつの時点で送信すれば良いか(「要求送信時間」と称する)を演算して求め、その時間に到達した際に、メモリ20−3に対する読み出し要求を送信するようにしている。   Thus, in the second embodiment, when the read request to the memory 20-3 is to be transmitted (referred to as “request transmission time”) is calculated and the memory request is reached when the time is reached. A read request for 20-3 is transmitted.

以下、本発明の第2の実施形態について説明する。   Hereinafter, a second embodiment of the present invention will be described.

図4は、本発明のDMAコントローラの第2の実施形態を示すブロック図である。図4は、図1に示したDMAC100に機能追加を行い、転送情報登録部130の構成を変更したブロック図を示すものである。従って、図4において、図1の構成要素に対応するものは同一の参照数字または符号を付し、その説明を極力省略するものとする。   FIG. 4 is a block diagram showing a second embodiment of the DMA controller of the present invention. FIG. 4 is a block diagram in which functions are added to the DMAC 100 shown in FIG. 1 and the configuration of the transfer information registration unit 130 is changed. Therefore, in FIG. 4, the same reference numerals or symbols are assigned to the components corresponding to those in FIG. 1, and the description thereof is omitted as much as possible.

図4に示すDMAC100−2は、制御部110−2、送信FIFOメモリ120、転送情報登録部130−2を備えている。そして、DMAC100−2は、データの経路であるところの複数のバス30(30−1、30−2、・・・、30−n)と接続し、複数のバス30間で行われるデータ転送の制御を行うようになっている。   The DMAC 100-2 illustrated in FIG. 4 includes a control unit 110-2, a transmission FIFO memory 120, and a transfer information registration unit 130-2. The DMAC 100-2 is connected to a plurality of buses 30 (30-1, 30-2,..., 30-n) that are data paths, and performs data transfer performed between the plurality of buses 30. It comes to perform control.

各々のバス30には、図1と同様に、CPU10(10−1、10−2、・・・、10−n)、メモリ20(20−1、20−2、・・・、20−n)が接続されるよう構成されている。そして、CPU10は、バス30を介してメモリ20にアクセスし、メモリ20からデータを読み出し、或いは、メモリ20にデータを書き込むよう動作するようになっている。   As in FIG. 1, each bus 30 has a CPU 10 (10-1, 10-2,..., 10-n), a memory 20 (20-1, 20-2,..., 20-n). ) Are connected. The CPU 10 operates to access the memory 20 via the bus 30 and read data from the memory 20 or write data to the memory 20.

DMAC100−2の制御部110−2は、CPU10からデータ転送の開始指示を受けた際、その指示の内容に従って、バス30を用いたメモリ20間でのデータ転送の制御を行う。特に、本実施形態における制御部110−2は、バス30の未使用時間を減少させるために、上述した「要求送信時間」を演算する。そして、要求送信時間に到達した際に、メモリ20に対し、読み出し要求を送信するよう動作するようになっている。   When receiving a data transfer start instruction from the CPU 10, the control unit 110-2 of the DMAC 100-2 controls data transfer between the memories 20 using the bus 30 according to the content of the instruction. In particular, the control unit 110-2 in the present embodiment calculates the “request transmission time” described above in order to reduce the unused time of the bus 30. When the request transmission time is reached, the read request is transmitted to the memory 20.

送信FIFOメモリ120は、図1と同様に、或るメモリ20から読み出したデータを一旦記憶しておく記憶装置である。一旦記憶された当該データは、後の時点で他のメモリ20に書き込まれるデータである。   The transmission FIFO memory 120 is a storage device that temporarily stores data read from a certain memory 20 as in FIG. The data once stored is data to be written in another memory 20 at a later time.

転送情報登録部130−2は、或るメモリ20から他のメモリ20に転送するデータについて、データの転送元となるメモリ20のアドレス、当該データの転送先となるメモリ20のアドレス、転送データのサイズ、及び、外部遅延時間、から成る転送情報を登録する記憶装置である。この転送情報は、データ転送の処理を実行しようとするCPU10によって登録されるものである。   For data transferred from one memory 20 to another memory 20, the transfer information registration unit 130-2 stores the address of the memory 20 that is the data transfer source, the address of the memory 20 that is the data transfer destination, and the transfer data This is a storage device for registering transfer information consisting of size and external delay time. This transfer information is registered by the CPU 10 that intends to execute the data transfer process.

なお、本実施形態におけるデータ転送は、第1の実施形態と同様、転送元となるメモリ20と転送先のメモリ20は、異なるバス30に接続されているメモリ20間で行われるものである。   Note that data transfer in this embodiment is performed between the memory 20 that is the transfer source and the memory 20 that is the transfer destination, as in the first embodiment.

ここで、図5を参照して、転送情報登録部130−2について説明する。   Here, the transfer information registration unit 130-2 will be described with reference to FIG.

図5は、転送情報登録部の一例を示す図である。   FIG. 5 is a diagram illustrating an example of the transfer information registration unit.

図5に示す転送情報登録部130−2は、図5の50−0行に示すように、番号(50−11列)、転送元アドレス(50−12列)、転送先アドレス(50−13列)、転送サイズ(50−14列)、外部遅延時間(50−15列)の欄を有している。   The transfer information registration unit 130-2 illustrated in FIG. 5 includes a number (column 50-11), a transfer source address (column 50-12), and a transfer destination address (50-13) as illustrated in line 50-0 in FIG. Column), transfer size (50-14 columns), and external delay time (50-15 columns).

番号(50−11列)の欄は、転送情報登録部130−2の行の番号を示す欄であり、1行に一つの転送情報が登録されるようになっている。   The number (50-11 column) column is a column indicating the row number of the transfer information registration unit 130-2, and one transfer information is registered in one row.

転送元アドレス(50−12列)の欄は、データ転送を行う際の、転送される元のデータを記憶しているメモリ20のアドレスを示すものである。50−1行の例では、転送元アドレスの欄には「メモリ20−2」と記載されており、これは、「メモリ20−2」の或るアドレスが、転送されるデータの先頭アドレスであることを示している。   The column of transfer source address (columns 50-12) indicates the address of the memory 20 that stores the original data to be transferred when performing data transfer. In the example of line 50-1, “memory 20-2” is described in the transfer source address column. This is because a certain address of “memory 20-2” is the start address of data to be transferred. It shows that there is.

転送先アドレス(50−13列)の欄は、データ転送を行う際に、転送されたデータが記憶されるメモリ20のアドレスを示すものである。50−1行の例では、転送先アドレスの欄には「メモリ20−1」と記載されており、これは、「メモリ20−1」の或るアドレスが、転送されたデータが記憶される先頭アドレスであることを示している。   The column of transfer destination address (columns 50-13) indicates the address of the memory 20 where the transferred data is stored when data transfer is performed. In the example of the line 50-1, “memory 20-1” is described in the transfer destination address column, and this is stored in a certain address of the “memory 20-1”. It indicates that it is the start address.

転送サイズ(50−14列)の欄は、転送されるデータのサイズを示すものである。50−1行の例では、転送サイズの欄には「A」と記載されており、これは、転送されるデータのサイズが「A」であることを示している。サイズの単位は、例えば、バイト数であってよい。   The column of transfer size (columns 50-14) indicates the size of data to be transferred. In the example of line 50-1, “A” is described in the transfer size column, which indicates that the size of the transferred data is “A”. The unit of size may be, for example, the number of bytes.

外部遅延時間(50−15列)の欄は、データ転送を行う際に、DMAC100−2の外部で生じる遅延時間である。前記したように、外部遅延時間は、メモリ20でのデータの読み出しに要する遅延時間や、バス30の使用権の制御のためのバス調停などに要する時間である。50−1行の例では、外部遅延時間の欄には「○○」と記載されている。外部遅延時間の単位は、例えば、ミリ秒であってよい。   The column of the external delay time (columns 50-15) is a delay time generated outside the DMAC 100-2 when performing data transfer. As described above, the external delay time is a delay time required for reading data in the memory 20 or a time required for bus arbitration for controlling the right to use the bus 30. In the example of line 50-1, “○○” is described in the column of the external delay time. The unit of the external delay time may be milliseconds, for example.

なお、図5に示した転送情報登録部130−2の50−2行(番号が「2」の行)には、2番目に登録された転送情報の他の例を示している。
Note that another example of the second registered transfer information is shown in line 50-2 (line number “2”) of the transfer information registration unit 130-2 shown in FIG.

次に、第2の実施形態の動作について説明する。   Next, the operation of the second embodiment will be described.

図6は、第2の実施形態の動作を説明するタイミングチャートである。図6では、DMAC100−2が、2つのデータ転送を連続して行う場合であって、且つ、2つのデータ転送の転送先が同一バス30上にある場合について説明する。データの転送先が同一の場合の一例として、メモリ20−2からメモリ20−1へのデータ転送と、メモリ20−3からメモリ20−1へのデータ転送が、連続して実施される場合を説明する。これは、図5の番号「1」の行と番号「2」の行で例示した転送情報が、転送情報登録部130−2に登録された場合に相当するものである。なお、図6において、横軸は時間の経過を示すものとし、図6の左側から右側に向けて時間が経過していくものとする。ここで、時間は「T○」で示すものとする。   FIG. 6 is a timing chart for explaining the operation of the second embodiment. FIG. 6 illustrates a case where the DMAC 100-2 performs two data transfers in succession and the transfer destinations of the two data transfers are on the same bus 30. As an example of the case where the data transfer destination is the same, the case where the data transfer from the memory 20-2 to the memory 20-1 and the data transfer from the memory 20-3 to the memory 20-1 are continuously performed. explain. This corresponds to the case where the transfer information illustrated in the row with the number “1” and the row with the number “2” in FIG. 5 is registered in the transfer information registration unit 130-2. In FIG. 6, the horizontal axis indicates the passage of time, and the time passes from the left to the right in FIG. Here, the time is indicated by “T ○”.

先ず、CPU10−2は、転送情報登録部130−2に対し、図5の番号「1」の行に示した転送情報を登録することにより、DMAC100−2に対してデータ転送の開始指示を行う。   First, the CPU 10-2 instructs the DMAC 100-2 to start data transfer by registering the transfer information shown in the row of the number “1” in FIG. 5 in the transfer information registration unit 130-2. .

また、CPU10−3は、転送情報登録部130−2に対し、図5の番号「2」の行に示した転送情報を登録する。   Further, the CPU 10-3 registers the transfer information indicated in the row of the number “2” in FIG. 5 in the transfer information registration unit 130-2.

転送情報が転送情報登録部130−2に登録されたことを認識したDMAC100−2の制御部110−2は、最初に登録された「転送元アドレス=メモリ20−2、転送先アドレス=メモリ20−1、転送サイズ=A、外部遅延時間=○○」の処理を開始する。すなわち、図6に示すように動作する。   Recognizing that the transfer information is registered in the transfer information registration unit 130-2, the control unit 110-2 of the DMAC 100-2 first registers “transfer source address = memory 20-2, transfer destination address = memory 20”. −1, transfer size = A, external delay time = ◯◯ ”. That is, it operates as shown in FIG.

最初に、DMAC100−2の制御部110−2は、転送元アドレスであるバス30−2に接続されているメモリ20−2に対し、転送サイズAの読み出し要求を送信する(図6の時間T21)。読み出し要求を受信したメモリ20−2からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T22)。そして、制御部110−2は、転送先アドレスであるバス30−1のメモリ20−1に対し、書き込み要求と共に、メモリ20−2から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T23)。   First, the control unit 110-2 of the DMAC 100-2 transmits a transfer size A read request to the memory 20-2 connected to the bus 30-2 that is the transfer source address (time T21 in FIG. 6). ). The memory 20-2 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T22). Then, the control unit 110-2 writes the data received from the memory 20-2, that is, the data of the transmission FIFO memory 120, together with the write request, to the memory 20-1 of the bus 30-1 that is the transfer destination address. Data is transmitted (time T23).

ここで、制御部110−2は、上述した「要求送信時間」を求めるための演算を行う。「要求送信時間」の算出方法については後述する。   Here, the control unit 110-2 performs a calculation for obtaining the above-described “request transmission time”. A method for calculating the “request transmission time” will be described later.

次に、制御部110−2は、現在の時間が、要求送信時間に到達したかの判定を行う。そして、現在の時間が、要求送信時間に到達した際、或いは、要求送信時間を過ぎている際に、メモリ20−3に対し、読み出し要求を送信する(図6のT25)。時間T25で読み出し要求を送信することにより、転送情報登録部130−2に2番目に登録された「転送元アドレス=メモリ20−3、転送先アドレス=メモリ20−1、転送サイズ=B、外部遅延時間=○△」の処理が開始されたこととなる。   Next, the control unit 110-2 determines whether the current time has reached the requested transmission time. When the current time reaches the requested transmission time or when the requested transmission time has passed, a read request is transmitted to the memory 20-3 (T25 in FIG. 6). By transmitting a read request at time T25, “transfer source address = memory 20-3, transfer destination address = memory 20-1, transfer size = B, externally registered in the transfer information registration unit 130-2. This means that the processing of “delay time = ○ Δ” has started.

読み出し要求を受信したメモリ20−3からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T27)。そして、制御部110−2は、転送先アドレスであるバス30−1のメモリ20−1に対し、書き込み要求と共に、メモリ20−3から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T28)。そして、転送サイズB全てのデータのメモリ20−1への転送は、時間T29において終了する。   The memory 20-3 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T27). Then, the control unit 110-2 writes the data received from the memory 20-3, that is, the data of the transmission FIFO memory 120, together with the write request, to the memory 20-1 of the bus 30-1 that is the transfer destination address. Data is transmitted (time T28). Then, the transfer of all data of transfer size B to the memory 20-1 ends at time T29.

時間T29においては、当初の目標であった、メモリ20−2からメモリ20−1へのデータ転送、及び、メモリ20−3からメモリ20−1へのデータ転送が、連続して実施され、かつ、データ転送が完了したものとなっている。   At time T29, the data transfer from the memory 20-2 to the memory 20-1 and the data transfer from the memory 20-3 to the memory 20-1 that were the initial targets are continuously performed, and Data transfer has been completed.

ここで、図6の時間T28の時点を見てみると、バス30−1上では、図3の(1)として示した未使用時間が減少した状態となっていることが分かる。これは、メモリ20−3への読み出し要求が、図3では時間T14の時点(図6では時間T28に相当)で出されていたが、図6では時間T25の時点にまで早められた結果によるものである。   Here, looking at the time point T28 in FIG. 6, it can be seen that the unused time shown as (1) in FIG. 3 is reduced on the bus 30-1. This is because the read request to the memory 20-3 was issued at the time T14 in FIG. 3 (corresponding to the time T28 in FIG. 6), but in FIG. 6, it was advanced to the time T25. Is.

ここで、前述の、制御部110−2が行う「要求送信時間」の算出方法について説明する。   Here, a method of calculating the “request transmission time” performed by the control unit 110-2 will be described.

制御部110−2は、バス30−1上で、図6の時間T23で開始された書き込みデータの送信が終了する時間(図6のT28)を予測する。ここでの予測は、転送情報登録部130−2に登録されている転送サイズ(例えば、転送サイズ=A)や、バス30−1の動作スピードなどを勘案して予測する。そして、この予測時間から、外部遅延時間と内部処理時間を減算する。これが、求める要求送信時間である。なお、外部遅延時間は、図5の転送情報登録部130−2の外部遅延時間の欄(50−2行、50−15列)に登録されている値(「○△」)を使用すればよい。また、内部処理時間は、送信FIFOメモリ120のデータを、メモリ20−1へ送信する処理のために必要となる時間として、制御部110−2が演算して求めるようにすればよい。   The control unit 110-2 predicts a time (T28 in FIG. 6) when transmission of the write data started at time T23 in FIG. 6 ends on the bus 30-1. The prediction here is predicted in consideration of the transfer size (for example, transfer size = A) registered in the transfer information registration unit 130-2 and the operation speed of the bus 30-1. Then, the external delay time and the internal processing time are subtracted from the predicted time. This is the required request transmission time. As the external delay time, the value (“◯ Δ”) registered in the external delay time column (50-2 line, 50-15 column) of the transfer information registration unit 130-2 in FIG. 5 is used. Good. Further, the internal processing time may be calculated and calculated by the control unit 110-2 as a time required for processing for transmitting the data in the transmission FIFO memory 120 to the memory 20-1.

以上、第2の実施形態の動作について説明した。   The operation of the second embodiment has been described above.

以上説明したように、第2の実施形態のDMAコントローラ(100−2)は、転送情報登録部(130−2)と、送信FIFOメモリ(120)と、制御部(110−2)とを備えている。   As described above, the DMA controller (100-2) of the second embodiment includes the transfer information registration unit (130-2), the transmission FIFO memory (120), and the control unit (110-2). ing.

そして、前記転送情報登録部に、第1の転送情報と第2の転送情報が登録される。第1の転送情報は、第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送先アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送元アドレスと、を示すものである。第2の転送情報は、前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送先アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送元アドレスと、を示すものである。   Then, the first transfer information and the second transfer information are registered in the transfer information registration unit. The first transfer information includes a first transfer destination address indicating an address of the first data storage means connected to the first bus, and a second bus connected to a second bus different from the first bus. 2 shows a first transfer source address indicating the address of the second data storage means. The second transfer information is connected to a second transfer destination address indicating the address of the first data storage means connected to the first bus, and to a third bus different from the first bus. And a second transfer source address indicating the address of the third data storage means.

前記第1の転送情報と前記第2の転送情報が前記転送情報登録部に登録された際、前記制御部は以下のように動作する。   When the first transfer information and the second transfer information are registered in the transfer information registration unit, the control unit operates as follows.

すなわち、前記制御部は、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信する。そして、前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの要求送信時間を演算する。次に、前記制御部は、現在の時間が、前記要求送信時間に到達したか或いは前記要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させる。そして、前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する。   That is, the control unit transmits data read from the first transfer source address to the first transfer destination address. Then, a request transmission time, which is an appropriate time for reading data from the second transfer source address, is calculated. Next, the control unit transmits a read request to the second transfer source address when the current time has reached the request transmission time or exceeds the request transmission time, and transmits the second request to the second transfer source address. The data of the transfer source address is transmitted to the transmission FIFO memory. Then, when the storage of the data of the second transfer source address in the transmission FIFO memory starts to be started, the data of the second transfer source address stored in the transmission FIFO memory is transferred to the second transfer Send to the destination address.

上記の要求送信時間は、予測時間から、前記制御部の内部処理時間と前記第2の転送情報に示されている外部遅延時間とを減算した時間である。ここで、前記予測時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した時間である。また、前記内部処理時間は、前記送信FIFOメモリに送信された前記第2の転送元アドレスのデータが、前記第2の転送先アドレスに送信され始めるまでに要する時間である。   The request transmission time is a time obtained by subtracting the internal processing time of the control unit and the external delay time indicated in the second transfer information from the predicted time. Here, the predicted time is a time estimated for the time until all data read from the first transfer source address is transmitted to the first transfer destination address. The internal processing time is a time required until the data of the second transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the second transfer destination address.

このように、第2の実施形態のDMAコントローラは、第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの要求送信時間を演算する。この要求送信時間は、第1の転送元アドレスから読み出されたデータが、第1の転送先アドレスに全て送信され終わった時点で、即座に、第2の転送元アドレスからのデータが第1の転送先アドレスに送信されるようにするための時間である。   As described above, the DMA controller according to the second embodiment calculates a request transmission time which is an appropriate time for reading data from the second transfer source address. The request transmission time is such that when all data read from the first transfer source address has been transmitted to the first transfer destination address, the data from the second transfer source address is immediately transferred to the first transfer source address. This is the time for transmission to the forwarding address.

そして、DMAコントローラは、現在の時間が、前記要求送信時間に到達したか或いは前記要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信する。このことにより、前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させる。そして、前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、ようにしている。   Then, when the current time reaches the request transmission time or exceeds the request transmission time, the DMA controller transmits a read request to the second transfer source address. As a result, the data of the second transfer source address is transmitted to the transmission FIFO memory. Then, when the storage of the data of the second transfer source address in the transmission FIFO memory starts to be started, the data of the second transfer source address stored in the transmission FIFO memory is transferred to the second transfer Send to the destination address.

この結果、前記送信FIFOメモリに送信された前記第2の転送元アドレスのデータは、前記第1の転送元アドレスのデータが前記第1の転送先アドレスに全て送信され終わった直後から、前記第1の転送先アドレスに送信されるようになる。   As a result, the data of the second transfer source address transmitted to the transmission FIFO memory is immediately after the data of the first transfer source address is completely transmitted to the first transfer destination address. 1 is transmitted to the transfer destination address.

従って、本実施形態によれば、同一の転送先アドレスへのデータ転送が連続して行われる場合、同一の転送先アドレスのデータ記憶手段を接続するバスの使用効率が向上する。
[第3の実施形態]
次に、図4に示した第2の実施形態の変形例としての本発明による第3の実施形態について説明する。
Therefore, according to this embodiment, when data transfer to the same transfer destination address is continuously performed, the use efficiency of the bus connecting the data storage means of the same transfer destination address is improved.
[Third embodiment]
Next, a third embodiment according to the present invention as a modification of the second embodiment shown in FIG. 4 will be described.

第3の実施形態は、或るバス30に接続されるメモリ20から他のバス30に接続されるメモリ20へのデータ転送が、2つ連続して行われる場合を示すものである。これは、第2の実施形態における前提と同一であるが、第3の実施形態は、2つのデータ転送の「転送元が同一バス30上にある場合」についての実施形態となっている。   The third embodiment shows a case where two data transfers from a memory 20 connected to a certain bus 30 to a memory 20 connected to another bus 30 are performed in succession. This is the same as the premise in the second embodiment, but the third embodiment is an embodiment for “when the transfer source is on the same bus 30” of two data transfers.

なお、2つのデータ転送の「転送元が同一バス30上にある場合」についても、第1の実施形態で示したDMAC100をそのままの形で用いると、或るバス30上に未使用時間が生じてしまう。そこで、第3の実施形態は、第2の実施形態と同様に、バス30上に生じる未使用時間を減少させることにより、異なるバス間でのデータ転送の効率を向上させ得るDMAC100を提供するものである。   Even in the case of two data transfers “when the transfer source is on the same bus 30”, when the DMAC 100 shown in the first embodiment is used as it is, unused time is generated on a certain bus 30. End up. Therefore, the third embodiment provides a DMAC 100 that can improve the efficiency of data transfer between different buses by reducing the unused time generated on the bus 30 as in the second embodiment. It is.

ここで、第3の実施形態を説明する前に、「転送元が同一バス30上にある場合」の連続するデータ転送を、第1の実施形態で行った場合に、バス30上に未使用時間が生じる様子について、図7を参照して説明するものとする。   Here, before describing the third embodiment, when the continuous data transfer of “when the transfer source is on the same bus 30” is performed in the first embodiment, it is not used on the bus 30. The manner in which time occurs will be described with reference to FIG.

図7は、第1の実施形態の動作を説明する第3のタイミングチャートである。図7では、第1の実施形態のDMAC100が、2つのデータ転送を連続して行う場合であって、且つ、2つのデータ転送の転送元が同一バス30上にある場合について説明する。データの転送元が同一の場合の一例として、メモリ20−1からメモリ20−2へのデータ転送と、メモリ20−1からメモリ20−3へのデータ転送が、連続して実施される場合について説明する。なお、図7において、横軸は時間の経過を示すものとし、図7の左側から右側に向けて時間が経過していくものとする。ここで、時間は「T○」で示すものとする。   FIG. 7 is a third timing chart for explaining the operation of the first embodiment. FIG. 7 illustrates a case where the DMAC 100 according to the first embodiment performs two data transfers in succession and the transfer source of the two data transfers is on the same bus 30. As an example of the case where the data transfer source is the same, the data transfer from the memory 20-1 to the memory 20-2 and the data transfer from the memory 20-1 to the memory 20-3 are continuously performed. explain. In FIG. 7, the horizontal axis indicates the passage of time, and the time passes from the left to the right in FIG. Here, the time is indicated by “T ○”.

先ず、CPU10−1は、転送情報登録部130に対し、「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−2、転送サイズ=C」を登録することにより、DMAC100に対してデータ転送の開始指示を行う。   First, the CPU 10-1 registers “transfer source address = memory 20-1, transfer destination address = memory 20-2, transfer size = C” in the transfer information registration unit 130, thereby transferring data to the DMAC 100. Instruct transfer start.

また、CPU10−1は、転送情報登録部130に対し、「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−3、転送サイズ=D」を登録する。   Further, the CPU 10-1 registers “transfer source address = memory 20-1, transfer destination address = memory 20-3, transfer size = D” in the transfer information registration unit 130.

転送情報が転送情報登録部130に登録されたことを認識したDMAC100の制御部110は、最初に登録された「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−2、転送サイズ=C」の処理を実施するため、図7に示すように動作する。   Recognizing that the transfer information is registered in the transfer information registration unit 130, the control unit 110 of the DMAC 100 first registers “transfer source address = memory 20-1, transfer destination address = memory 20-2, transfer size = In order to implement the process “C”, the operation is performed as shown in FIG.

最初に、DMAC100の制御部110は、転送元アドレスであるバス30−1に接続されているメモリ20−1に対し、転送サイズCの読み出し要求を送信する(図7の時間T31)。読み出し要求を受信したメモリ20−1からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T32)。そして、制御部110は、転送先アドレスであるバス30−2のメモリ20−2に対し、書き込み要求と共に、メモリ20−1から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T33)。なお、時間T32の時点で、送信FIFOメモリ120に対して送信開始されたメモリ20−1からのデータは、時間T34の時点で送信終了となっている。   First, the control unit 110 of the DMAC 100 transmits a read request for the transfer size C to the memory 20-1 connected to the bus 30-1 that is the transfer source address (time T31 in FIG. 7). The memory 20-1 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T32). Then, the control unit 110 writes the data received from the memory 20-1 together with the write request to the memory 20-2 of the bus 30-2 that is the transfer destination address, that is, the data of the transmission FIFO memory 120 as the write data. Transmit (time T33). The data from the memory 20-1 that has started transmission to the transmission FIFO memory 120 at the time T32 has been transmitted at the time T34.

メモリ20−2に対する転送サイズC全てのデータの転送が完了すると(時間T35)、制御部110は、転送情報登録部130に2番目に登録された「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−3、転送サイズ=D」の処理を開始する。   When the transfer of all data of transfer size C to the memory 20-2 is completed (time T35), the control unit 110 registers “transfer source address = memory 20-1, transfer destination second registered in the transfer information registration unit 130”. The processing of “address = memory 20-3, transfer size = D” is started.

すなわち、時間T35において、制御部110は、転送元アドレスであるバス30−1に接続されているメモリ20−1に対し、転送サイズDの読み出し要求を送信する(図7の時間T35)。読み出し要求を受信したメモリ20−1からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T36)。そして、制御部110は、転送先アドレスであるバス30−3のメモリ20−3に対し、書き込み要求と共に、メモリ20−1から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T37)。そして、転送サイズD全てのデータのメモリ20−3への転送は、時間T38において終了する。   That is, at time T35, the control unit 110 transmits a read request for the transfer size D to the memory 20-1 connected to the bus 30-1 that is the transfer source address (time T35 in FIG. 7). The memory 20-1 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T36). Then, the control unit 110 writes the data received from the memory 20-1 together with the write request to the memory 20-3 of the bus 30-3 as the transfer destination address, that is, the data in the transmission FIFO memory 120 as the write data. Transmit (time T37). Then, the transfer of all data of transfer size D to the memory 20-3 ends at time T38.

時間T38においては、当初の目標であった、メモリ20−1からメモリ20−2へのデータ転送、及び、メモリ20−1からメモリ20−3へのデータ転送が、連続して実施され、かつ、データ転送が完了したものとなっている。   At time T38, the initial target data transfer from the memory 20-1 to the memory 20-2 and the data transfer from the memory 20-1 to the memory 20-3 are continuously performed, and Data transfer has been completed.

ここで、図7を再度参照すると、2つのデータ転送の転送元であるところのメモリ20−1を接続するバス30−1は、時間T34と時間T36の間は使用されていない状態となっている。本実施形態においては、第2の実施形態と同様に、時間T34からT36の間を、図7の(1)として示すように「未使用時間」と称するものとする。   Here, referring to FIG. 7 again, the bus 30-1 connecting the memory 20-1, which is the transfer source of the two data transfers, is not used between the time T34 and the time T36. Yes. In the present embodiment, as in the second embodiment, the period from time T34 to T36 is referred to as “unused time” as shown in FIG. 7 (1).

ここで、未使用時間は、図7の(2)として示す外部遅延時間と、(3)として示す内部処理時間を合算した時間となっている。   Here, the unused time is the sum of the external delay time shown as (2) in FIG. 7 and the internal processing time shown as (3).

外部遅延時間とは、制御部110が、バス30−1に接続されたメモリ20−1へ読み出し要求を送信してから(時間T35)、メモリ20−1から読み出したデータが、送信FIFOメモリ120に到着するまで(時間T36)にかかる時間である。外部遅延時間は、第2の実施形態と同様、DMAC100の外部で生じる遅延時間であり、メモリ20でのデータの読み出しに要する遅延時間や、バス30の使用権の制御のためのバス調停などに要する時間である。   The external delay time refers to the data read from the memory 20-1 after the controller 110 transmits a read request to the memory 20-1 connected to the bus 30-1 (time T35). This is the time taken to arrive at (time T36). As in the second embodiment, the external delay time is a delay time generated outside the DMAC 100, and is used for delay time required for reading data in the memory 20, bus arbitration for controlling the right to use the bus 30, and the like. It takes time.

内部処理時間とは、メモリ20−1から最初に読み出されたデータが、送信FIFOメモリ120に対して送信され始めた時点から(時間T32)、書き込みデータとしてメモリ20−2へ到着するまで(時間T33)にかかる時間である。内部処理時間は、第2の実施形態と同様、送信FIFOメモリ120のデータを、メモリ20−2へ送信する処理のために、DMAC100の内部で必要となる時間である。なお、時間T32から時間T33の時間の長さは、時間T34からT35までの時間の長さと同一である。このため、図7においては、便宜的に、時間T34からT35までの間の時間を、(3)で示す内部処理時間として記載している。   The internal processing time is from the time when data read first from the memory 20-1 starts to be transmitted to the transmission FIFO memory 120 (time T32) until it reaches the memory 20-2 as write data ( This is the time taken for time T33). As in the second embodiment, the internal processing time is a time required inside the DMAC 100 for processing to transmit data in the transmission FIFO memory 120 to the memory 20-2. The time length from time T32 to time T33 is the same as the time length from time T34 to T35. Therefore, in FIG. 7, for the sake of convenience, the time from time T34 to T35 is described as the internal processing time indicated by (3).

以上説明したように、異なるバス30へのデータ転送を2つ連続して行い、且つ、2つのデータ転送の転送元が同一バス30上にある場合に、第1の実施形態で示したDMAC100をそのままの形で用いると、或るバス30上に未使用時間が生じてしまう。そこで、第3の実施形態は、バス30上に生じる未使用時間を減少させることにより、異なるバス間でのデータ転送の効率を向上させ得るDMAC100を提供するものである。   As described above, when two data transfers to different buses 30 are continuously performed and the transfer source of the two data transfers is on the same bus 30, the DMAC 100 described in the first embodiment is used. If it is used as it is, unused time will occur on a certain bus 30. Therefore, the third embodiment provides a DMAC 100 that can improve the efficiency of data transfer between different buses by reducing the unused time generated on the bus 30.

ここで、バス30上に生じる未使用時間を減少させるために、第3の実施形態では、どのような手法で行おうとしているか、について、予め説明しておくものとする。   Here, in order to reduce the unused time generated on the bus 30, in the third embodiment, it is assumed in advance what kind of method is being performed.

図7を再度参照すると、メモリ20−1から受信した最初のデータは、時間T32から時間T34にかけて、送信FIFOメモリ120に送信されている。また、メモリ20−1から2番目に受信したデータは、時間T36の時点から、送信FIFOメモリ120に送信されている。   Referring to FIG. 7 again, the first data received from the memory 20-1 is transmitted to the transmission FIFO memory 120 from time T32 to time T34. The second data received from the memory 20-1 has been transmitted to the transmission FIFO memory 120 from time T36.

ここで、メモリ20−1から2番目に受信したデータを、時間T34にまで遡って送信FIFOメモリ120に送信するようにすれば、時間T34から時間T36の間で生じていた未使用時間を減少させることが可能となる。つまり、メモリ20−1から読み出された最初のデータが、送信FIFOメモリ120に全て送信され終わった時点(時間T34)で、即座に、メモリ20−1からの2番目のデータが送信FIFOメモリ120に送信されるようにすればよい。そして、その実現のためには、時間T35で行っていたメモリ20−1に対する2番目のデータの読み出し要求の送信を、未使用時間に相当する分だけ早めるようにすればよい。   Here, if the data received second from the memory 20-1 is transmitted to the transmission FIFO memory 120 retroactively to the time T34, the unused time generated between the time T34 and the time T36 is reduced. It becomes possible to make it. That is, at the time when the first data read from the memory 20-1 is completely transmitted to the transmission FIFO memory 120 (time T34), the second data from the memory 20-1 is immediately transmitted to the transmission FIFO memory. 120 may be transmitted. In order to realize this, the transmission of the second data read request to the memory 20-1 performed at time T35 may be advanced by an amount corresponding to the unused time.

そこで、第3の実施形態では、メモリ20−1に対する2番目のデータの読み出し要求を、いつの時点で送信すれば良いか(「第2の要求送信時間」と称する)を演算して求め、その時間に到達した際に、メモリ20−1に対する読み出し要求を送信するようにしている。   Therefore, in the third embodiment, the second data read request to the memory 20-1 is calculated by calculating when it should be transmitted (referred to as "second request transmission time"). When the time is reached, a read request to the memory 20-1 is transmitted.

以下、本発明の第3の実施形態について説明する。   Hereinafter, a third embodiment of the present invention will be described.

図8は、本発明のDMAコントローラの第3の実施形態を示すブロック図である。図8は、図4に示したDMAC100−2の機能を変更し、転送情報登録部130−2に登録される転送情報を変更した際のブロック図を示すものである。従って、図8において、図4の構成要素に対応するものは同一の参照数字または符号を付し、その説明を極力省略するものとする。   FIG. 8 is a block diagram showing a third embodiment of the DMA controller of the present invention. FIG. 8 is a block diagram when the function of the DMAC 100-2 shown in FIG. 4 is changed and the transfer information registered in the transfer information registration unit 130-2 is changed. Therefore, in FIG. 8, the same reference numerals or symbols are assigned to components corresponding to those in FIG. 4, and the description thereof is omitted as much as possible.

図8に示すDMAC100−3は、制御部110−3、送信FIFOメモリ120、転送情報登録部130−3を備えている。そして、DMAC100−3は、データの経路であるところの複数のバス30(30−1、30−2、・・・、30−n)と接続し、複数のバス30間で行われるデータ転送の制御を行うようになっている。   The DMAC 100-3 illustrated in FIG. 8 includes a control unit 110-3, a transmission FIFO memory 120, and a transfer information registration unit 130-3. The DMAC 100-3 is connected to a plurality of buses 30 (30-1, 30-2,..., 30-n) as data paths, and performs data transfer performed between the plurality of buses 30. It comes to perform control.

各々のバス30には、図4と同様に、CPU10(10−1、10−2、・・・、10−n)、メモリ20(20−1、20−2、・・・、20−n)が接続されるよう構成されている。そして、CPU10は、バス30を介してメモリ20にアクセスし、メモリ20からデータを読み出し、或いは、メモリ20にデータを書き込むよう動作するようになっている。   As in FIG. 4, each bus 30 has a CPU 10 (10-1, 10-2,..., 10-n) and a memory 20 (20-1, 20-2,..., 20-n). ) Are connected. The CPU 10 operates to access the memory 20 via the bus 30 and read data from the memory 20 or write data to the memory 20.

DMAC100−3の制御部110−3は、CPU10からデータ転送の開始指示を受けた際、その指示の内容に従って、バス30を用いたメモリ20間でのデータ転送の制御を行う。特に、本実施形態における制御部110−3は、バス30の未使用時間を減少させるために、上述した「第2の要求送信時間」を演算する。そして、第2の要求送信時間に到達した際に、メモリ20に対し、読み出し要求を送信するよう動作するようになっている。   When receiving a data transfer start instruction from the CPU 10, the control unit 110-3 of the DMAC 100-3 controls data transfer between the memories 20 using the bus 30 according to the content of the instruction. In particular, the control unit 110-3 in the present embodiment calculates the above-described “second request transmission time” in order to reduce the unused time of the bus 30. When the second request transmission time is reached, the read request is transmitted to the memory 20.

送信FIFOメモリ120は、図4と同様に、或るメモリ20から読み出したデータを一旦記憶しておく記憶装置である。一旦記憶された当該データは、後の時点で他のメモリ20に書き込まれるデータである。   The transmission FIFO memory 120 is a storage device that temporarily stores data read from a certain memory 20 as in FIG. The data once stored is data to be written in another memory 20 at a later time.

転送情報登録部130−3は、或るメモリ20から他のメモリ20に転送するデータについて、データの転送元となるメモリ20のアドレス、当該データの転送先となるメモリ20のアドレス、転送データのサイズ、及び、外部遅延時間、から成る転送情報を登録する記憶装置である。この転送情報は、データ転送の処理を実行しようとするCPU10によって登録されるものである。   The transfer information registration unit 130-3, for data transferred from one memory 20 to another memory 20, the address of the memory 20 that is the data transfer source, the address of the memory 20 that is the transfer destination of the data, This is a storage device for registering transfer information consisting of size and external delay time. This transfer information is registered by the CPU 10 that intends to execute the data transfer process.

なお、本実施形態におけるデータ転送は、第2の実施形態と同様、或るバス30に接続されるメモリ20から他のバス30に接続されるメモリ20へのデータ転送が、2つ連続して行われる場合を示すものである。但し、2つのデータ転送の「転送元が同一バス30上にある場合」である点が、第2の実施形態とは異なっている。   As in the second embodiment, the data transfer in the present embodiment involves two consecutive data transfers from the memory 20 connected to a certain bus 30 to the memory 20 connected to another bus 30. The case where it is performed is shown. However, it differs from the second embodiment in that it is “when the transfer source is on the same bus 30” for the two data transfers.

ここで、転送情報登録部130−3に登録される転送情報につき、図9を参照して説明するものとする。   Here, transfer information registered in the transfer information registration unit 130-3 will be described with reference to FIG.

図9は、第3の実施形態の転送情報登録部の一例を示す図である。   FIG. 9 is a diagram illustrating an example of a transfer information registration unit according to the third embodiment.

図9に示す転送情報登録部130−3は、図9の90−0行に示すように、番号(90−11列)、転送元アドレス(90−12列)、転送先アドレス(90−13列)、転送サイズ(90−14列)、外部遅延時間(90−15列)の欄を有している。これら、90−0行に示す各欄は、図5に示したものと同一である。   The transfer information registration unit 130-3 shown in FIG. 9 has a number (90-11 column), a transfer source address (90-12 column), and a transfer destination address (90-13) as shown in the 90-0 line of FIG. Column), transfer size (90-14 column), and external delay time (90-15 column). These columns shown in the 90-0 line are the same as those shown in FIG.

そして、図9の90−1の番号「1」の行には、第1の転送情報の例が示されており、90−2の番号「2」の行には、第2の転送情報の例が示されている。   An example of the first transfer information is shown in the row of the number “1” of 90-1 in FIG. 9, and the row of the second transfer information is shown in the row of the number “2” of 90-2. An example is shown.

番号「1」の行には、転送元アドレス(メモリ20−1)、転送先アドレス(メモリ20−2)、転送サイズ(C)、外部遅延時間(□□)が登録されている。また、番号「2」の行には、転送元アドレス(メモリ20−1)、転送先アドレス(メモリ20−3)、転送サイズ(D)、外部遅延時間(□△)が登録されている。つまり、番号「1」の行の転送元アドレス(メモリ20−1)と、番号「2」の行の転送元アドレス(メモリ20−1)は同一となっている。   In the row of the number “1”, a transfer source address (memory 20-1), a transfer destination address (memory 20-2), a transfer size (C), and an external delay time (□□) are registered. In the row of the number “2”, a transfer source address (memory 20-1), a transfer destination address (memory 20-3), a transfer size (D), and an external delay time (□ Δ) are registered. That is, the transfer source address (memory 20-1) of the row with the number “1” is the same as the transfer source address (memory 20-1) of the row with the number “2”.

次に、第3の実施形態の動作について説明する。   Next, the operation of the third embodiment will be described.

図10は、第3の実施形態の動作を説明するタイミングチャートである。図10では、DMAC100−3が、2つのデータ転送を連続して行う場合であって、且つ、2つのデータ転送の転送元が同一バス30上にある場合について説明する。データの転送元が同一の場合の一例として、メモリ20−1からメモリ20−2へのデータ転送と、メモリ20−1からメモリ20−3へのデータ転送が、連続して実施される場合を説明する。これは、図9の番号「1」の行と番号「2」の行で例示した転送情報が、転送情報登録部130−3に登録された場合に相当するものである。なお、図10において、横軸は時間の経過を示すものとし、図10の左側から右側に向けて時間が経過していくものとする。ここで、時間は「T○」で示すものとする。   FIG. 10 is a timing chart for explaining the operation of the third embodiment. FIG. 10 illustrates a case where the DMAC 100-3 performs two data transfers in succession and the transfer source of the two data transfers is on the same bus 30. As an example of the case where the data transfer source is the same, the case where the data transfer from the memory 20-1 to the memory 20-2 and the data transfer from the memory 20-1 to the memory 20-3 are continuously performed. explain. This corresponds to the case where the transfer information illustrated in the row with the number “1” and the row with the number “2” in FIG. 9 is registered in the transfer information registration unit 130-3. In FIG. 10, the horizontal axis indicates the passage of time, and the time passes from the left side to the right side of FIG. Here, the time is indicated by “T ○”.

先ず、CPU10−1は、転送情報登録部130−3に対し、図9の番号「1」の行に示した転送情報を登録することにより、DMAC100−3に対してデータ転送の開始指示を行う。   First, the CPU 10-1 instructs the DMAC 100-3 to start data transfer by registering the transfer information shown in the row of the number “1” in FIG. 9 in the transfer information registration unit 130-3. .

また、CPU10−1は、転送情報登録部130−3に対し、図9の番号「2」の行に示した転送情報を登録する。   Further, the CPU 10-1 registers the transfer information indicated in the row of the number “2” in FIG. 9 in the transfer information registration unit 130-3.

転送情報が転送情報登録部130−3に登録されたことを認識したDMAC100−3の制御部110−3は、最初に登録された「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−2、転送サイズ=C、外部遅延時間=□□」の処理を開始する。すなわち、図10に示すように動作する。   The controller 110-3 of the DMAC 100-3, which has recognized that the transfer information is registered in the transfer information registration unit 130-3, first registers “transfer source address = memory 20-1, transfer destination address = memory 20”. -2, transfer size = C, external delay time = □□ ”. That is, it operates as shown in FIG.

最初に、DMAC100−3の制御部110−3は、転送元アドレスであるバス30−1に接続されているメモリ20−1に対し、転送サイズCの読み出し要求を送信する(図10の時間T41)。読み出し要求を受信したメモリ20−1からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T42)。そして、制御部110−3は、転送先アドレスであるバス30−2のメモリ20−2に対し、書き込み要求と共に、メモリ20−1から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T43)。この書き込みデータは、時間T43から時間T48にかけて、メモリ20−2に送信される。   First, the control unit 110-3 of the DMAC 100-3 transmits a read request for the transfer size C to the memory 20-1 connected to the bus 30-1 that is the transfer source address (time T41 in FIG. 10). ). The memory 20-1 that has received the read request starts transmission of the read data to the transmission FIFO memory 120 (time T42). Then, the control unit 110-3 writes the data received from the memory 20-1, that is, the data of the transmission FIFO memory 120, together with the write request, to the memory 20-2 of the bus 30-2 that is the transfer destination address. Data is transmitted (time T43). This write data is transmitted to the memory 20-2 from time T43 to time T48.

ここで、制御部110−3は、上述した「第2の要求送信時間」を求めるための演算を行う。「第2の要求送信時間」の算出方法については後述する。   Here, the control unit 110-3 performs a calculation for obtaining the above-described “second request transmission time”. A method of calculating “second request transmission time” will be described later.

次に、制御部110−3は、現在の時間が、第2の要求送信時間に到達したかの判定を行う。そして、現在の時間が、第2の要求送信時間に到達した際、或いは、第2の要求送信時間を過ぎている際に、メモリ20−1に対し、読み出し要求を送信する(図10の時間T45)。時間T45で読み出し要求を送信することにより、転送情報登録部130−3に2番目に登録された「転送元アドレス=メモリ20−1、転送先アドレス=メモリ20−3、転送サイズ=D、外部遅延時間=□△」の処理が開始されたこととなる。   Next, the control unit 110-3 determines whether the current time has reached the second request transmission time. Then, when the current time reaches the second request transmission time or when the second request transmission time has passed, a read request is transmitted to the memory 20-1 (time in FIG. 10). T45). By transmitting a read request at time T45, “transfer source address = memory 20-1, transfer destination address = memory 20-3, transfer size = D, externally registered in the transfer information registration unit 130-3. This means that the processing of “delay time = □ Δ” has started.

時間T45で送信された読み出し要求を受信したメモリ20−1からは、送信FIFOメモリ120に対し、読み出したデータの送信が開始される(時間T47)。そして、制御部110−3は、転送先アドレスであるバス30−3のメモリ20−3に対し、書き込み要求と共に、メモリ20−1から受信したデータ、すなわち、送信FIFOメモリ120のデータを、書き込みデータとして送信する(時間T49)。そして、転送サイズD全てのデータのメモリ20−3への転送は、時間T50において終了する。   The memory 20-1 that has received the read request transmitted at time T45 starts to transmit the read data to the transmission FIFO memory 120 (time T47). Then, the control unit 110-3 writes the data received from the memory 20-1, that is, the data of the transmission FIFO memory 120, together with the write request, to the memory 20-3 of the bus 30-3 that is the transfer destination address. Data is transmitted (time T49). Then, the transfer of all data of transfer size D to the memory 20-3 ends at time T50.

時間T50においては、当初の目標であった、メモリ20−1からメモリ20−2へのデータ転送、及び、メモリ20−1からメモリ20−3へのデータ転送が、連続して実施され、かつ、データ転送が完了したものとなっている。   At time T50, the data transfer from the memory 20-1 to the memory 20-2 and the data transfer from the memory 20-1 to the memory 20-3, which were the initial targets, are continuously performed, and Data transfer has been completed.

ここで、図10の時間T47の時点を見てみると、バス30−1上では、図7の(1)として示した未使用時間が減少した状態となっていることが分かる。これは、メモリ20−1への読み出し要求が、図7では時間T35の時点(図10では時間T48に相当)で出されていたが、図10では時間T45の時点にまで早められた結果によるものである。   Here, looking at the time point T47 in FIG. 10, it can be seen that the unused time shown as (1) in FIG. 7 is reduced on the bus 30-1. This is because the read request to the memory 20-1 was issued at time T35 in FIG. 7 (corresponding to time T48 in FIG. 10), but is accelerated to time T45 in FIG. Is.

ここで、前述の、制御部110−3が行う「第2の要求送信時間」の算出方法について説明する。   Here, a method of calculating the “second request transmission time” performed by the control unit 110-3 will be described.

制御部110−3は、バス30−2上で、図10の時間T43で開始された書き込みデータの送信が終了する時間(図10のT48)を予測する。ここでの予測は、転送情報登録部130−3に登録されている最初の転送情報の転送サイズ(例えば、転送サイズ=C)や、バス30−2の動作スピードなどを勘案して予測する。そして、この予測時間から、外部遅延時間と内部処理時間を減算する。これが、求める第2の要求送信時間である。なお、外部遅延時間は、図9の転送情報登録部130−3の外部遅延時間の欄(90−2行、90−15列)に登録されている値(「□△」)を使用すればよい。また、内部処理時間は、送信FIFOメモリ120のデータを、メモリ20−2へ送信する処理のために必要となる時間として、制御部110−3が演算して求めるようにすればよい。   The control unit 110-3 predicts the time (T48 in FIG. 10) when transmission of the write data started at time T43 in FIG. 10 ends on the bus 30-2. The prediction here is performed in consideration of the transfer size (for example, transfer size = C) of the first transfer information registered in the transfer information registration unit 130-3, the operation speed of the bus 30-2, and the like. Then, the external delay time and the internal processing time are subtracted from the predicted time. This is the second request transmission time to be obtained. As the external delay time, the value (“□ Δ”) registered in the external delay time column (row 90-2, column 90-15) of the transfer information registration unit 130-3 in FIG. 9 is used. Good. Further, the internal processing time may be calculated and calculated by the control unit 110-3 as a time required for processing for transmitting the data in the transmission FIFO memory 120 to the memory 20-2.

以上、第3の実施形態の動作について説明した。   The operation of the third embodiment has been described above.

以上説明したように、第3の実施形態のDMAコントローラ(100−3)は、転送情報登録部(130−3)と、送信FIFOメモリ(120)と、制御部(110−3)とを備えている。   As described above, the DMA controller (100-3) of the third embodiment includes the transfer information registration unit (130-3), the transmission FIFO memory (120), and the control unit (110-3). ing.

そして、前記転送情報登録部に、第1の転送情報と第2の転送情報が登録される。第1の転送情報は、第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送先アドレスと、を示すものである。第2の転送情報は、前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送元アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送先アドレスと、を示すものである。   Then, the first transfer information and the second transfer information are registered in the transfer information registration unit. The first transfer information includes a first transfer source address indicating an address of the first data storage means connected to the first bus, and a second bus connected to a second bus different from the first bus. 2 shows a first transfer destination address indicating the address of the second data storage means. The second transfer information is connected to a second transfer source address indicating the address of the first data storage means connected to the first bus, and to a third bus different from the first bus. And a second transfer destination address indicating the address of the third data storage means.

前記第1の転送情報と前記第2の転送情報が前記転送情報登録部に登録された際、前記制御部は以下のように動作する。   When the first transfer information and the second transfer information are registered in the transfer information registration unit, the control unit operates as follows.

すなわち、前記制御部は、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信する。そして、前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの第2の要求送信時間を演算する。次に、前記制御部は、現在の時間が、前記第2の要求送信時間に到達したか或いは前記第2の要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させる。そして、前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する。   That is, the control unit transmits data read from the first transfer source address to the first transfer destination address. Then, a second request transmission time which is an appropriate time for reading data from the second transfer source address is calculated. Next, the control unit transmits a read request to the second transfer source address when the current time reaches the second request transmission time or exceeds the second request transmission time. Then, the data of the second transfer source address is transmitted to the transmission FIFO memory. Then, when the storage of the data of the second transfer source address in the transmission FIFO memory starts to be started, the data of the second transfer source address stored in the transmission FIFO memory is transferred to the second transfer Send to the destination address.

上記の第2の要求送信時間は、予測時間から、前記制御部の内部処理時間と前記第2の転送情報に示されている外部遅延時間とを減算した時間である。ここで、前記予測時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した時間である。また、前記内部処理時間は、前記送信FIFOメモリに送信された前記第1の転送元アドレスのデータが、前記第1の転送先アドレスに送信され始めるまでに要する時間である。   The second request transmission time is a time obtained by subtracting the internal processing time of the control unit and the external delay time indicated in the second transfer information from the predicted time. Here, the predicted time is a time estimated for the time until all data read from the first transfer source address is transmitted to the first transfer destination address. The internal processing time is a time required until the data of the first transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the first transfer destination address.

このように、第3の実施形態のDMAコントローラは、第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの第2の要求送信時間を演算する。この第2の要求送信時間は、第1の転送元アドレスから読み出されたデータが、送信FIFOメモリに全て送信され終わった時点で、即座に、第2の転送元アドレスからのデータが前記送信FIFOメモリに送信されるようにするための時間である。   As described above, the DMA controller according to the third embodiment calculates the second request transmission time, which is an appropriate time for reading data from the second transfer source address. The second request transmission time is such that when data read from the first transfer source address is completely transmitted to the transmission FIFO memory, the data from the second transfer source address is immediately transmitted. This is the time for transmission to the FIFO memory.

そして、DMAコントローラは、現在の時間が、前記第2の要求送信時間に到達したか或いは前記第2の要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信する。このことにより、前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させる。そして、前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始された際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、ようにしている。   Then, if the current time reaches the second request transmission time or exceeds the second request transmission time, the DMA controller transmits a read request to the second transfer source address. As a result, the data of the second transfer source address is transmitted to the transmission FIFO memory. When the storage of the data of the second transfer source address is started in the transmission FIFO memory, the data of the second transfer source address stored in the transmission FIFO memory is changed to the second transfer destination. Send to address.

この結果、前記第1の転送元アドレスのデータが前記送信FIFOメモリに送信され終わった時点で、即座に、前記第2の転送元アドレスのデータが前記送信FIFOメモリに送信され始めるようになる。   As a result, as soon as the data of the first transfer source address has been transmitted to the transmission FIFO memory, the data of the second transfer source address starts to be transmitted to the transmission FIFO memory.

従って、本実施形態によれば、同一の転送元アドレスからのデータ転送が連続して行われる場合、同一の転送元アドレスのデータ記憶手段を接続するバスの使用効率が向上する。   Therefore, according to the present embodiment, when data transfer from the same transfer source address is continuously performed, the use efficiency of the bus connecting the data storage means of the same transfer source address is improved.

10 CPU
20 メモリ
30 バス
100 DMAC
110 制御部
120 送信FIFOメモリ
130 転送情報登録部
11 バス
12 バス
13 バス中継器
21 CPU
22 DMAコントローラ
23 デバイス
24 メモリ
26 CPU
27 DMAコントローラ
28 デバイス
29 メモリ
10 CPU
20 memory 30 bus 100 DMAC
DESCRIPTION OF SYMBOLS 110 Control part 120 Transmission FIFO memory 130 Transfer information registration part 11 Bus 12 Bus 13 Bus repeater 21 CPU
22 DMA controller 23 Device 24 Memory 26 CPU
27 DMA controller 28 Device 29 Memory

Claims (10)

第1のバスに接続された第1のデータ記憶手段のアドレスを示す転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す転送先アドレスとを示す転送情報が、前記第1のバスに接続されたCPUから登録される転送情報登録部と、
前記転送元アドレスから読み出されたデータを一時記憶する送信FIFOメモリと、
前記転送情報登録部に、前記転送元アドレスと前記転送先アドレスを示す前記転送情報が登録された際、前記転送元アドレスから読み出したデータを、前記送信FIFOメモリに送信し、
前記送信FIFOメモリに前記データの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記データを、前記転送先アドレスに送信する制御部と、
を備えていることを特徴とするDMAコントローラ。
A transfer source address indicating the address of the first data storage means connected to the first bus and a transfer indicating the address of the second data storage means connected to a second bus different from the first bus Transfer information indicating a destination address is registered from a CPU connected to the first bus;
A transmission FIFO memory for temporarily storing data read from the transfer source address;
When the transfer information indicating the transfer source address and the transfer destination address is registered in the transfer information registration unit, the data read from the transfer source address is transmitted to the transmission FIFO memory,
A controller that transmits the data stored in the transmission FIFO memory to the transfer destination address when storage of the data starts in the transmission FIFO memory;
A DMA controller comprising:
前記転送情報登録部に、
第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送先アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送元アドレスと、を示す第1の転送情報と、
前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送先アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送元アドレスと、を示す第2の転送情報が登録された際、
前記制御部は、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信し、
前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの要求送信時間を演算し、
現在の時間が、前記要求送信時間に到達したか或いは前記要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させ、
前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、
ことを特徴とする請求項1に記載のDMAコントローラ。
In the transfer information registration unit,
A first transfer destination address indicating the address of the first data storage means connected to the first bus, and an address of the second data storage means connected to a second bus different from the first bus A first transfer source address indicating a first transfer information indicating;
A second transfer destination address indicating an address of the first data storage means connected to the first bus; and a third data storage means connected to a third bus different from the first bus. When the second transfer information indicating the second transfer source address indicating the address of
The control unit transmits data read from the first transfer source address to the first transfer destination address,
Calculating a request transmission time which is an appropriate time for reading data from the second transfer source address;
If the current time has reached the request transmission time or exceeds the request transmission time, a read request is transmitted to the second transfer source address and the data of the second transfer source address is transmitted. Send it to the FIFO memory,
When the storage of the data of the second transfer source address starts in the transmission FIFO memory, the data of the second transfer source address stored in the transmission FIFO memory is changed to the second transfer destination address. Send to
The DMA controller according to claim 1.
前記要求送信時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した予測時間から、
前記送信FIFOメモリに送信された前記第2の転送元アドレスのデータが、前記第2の転送先アドレスに送信され始めるまでに要する前記制御部の内部処理時間と、前記第2の転送情報に示されている外部遅延時間とを減算した時間である、
ことを特徴とする請求項2に記載のDMAコントローラ。
The request transmission time is based on an estimated time in which the time until all data read from the first transfer source address is transmitted to the first transfer destination address is predicted.
The internal processing time of the control unit required until the data of the second transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the second transfer destination address, and the second transfer information Is the time obtained by subtracting the external delay time being
The DMA controller according to claim 2.
前記転送情報登録部に、
第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送先アドレスと、を示す第1の転送情報と、
前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送元アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送先アドレスと、を示す第2の転送情報が登録された際、
前記制御部は、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信し、
前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの第2の要求送信時間を演算し、
現在の時間が、前記第2の要求送信時間に到達したか或いは前記第2の要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させ、
前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、
ことを特徴とする請求項1に記載のDMAコントローラ。
In the transfer information registration unit,
A first transfer source address indicating the address of the first data storage means connected to the first bus, and an address of the second data storage means connected to a second bus different from the first bus First transfer information indicating a first transfer destination address;
A second transfer source address indicating an address of the first data storage means connected to the first bus; and a third data storage means connected to a third bus different from the first bus. When the second transfer information indicating the second transfer destination address indicating the address of
The control unit transmits data read from the first transfer source address to the first transfer destination address,
Calculating a second request transmission time which is an appropriate time for reading data from the second transfer source address;
If the current time has reached the second request transmission time or exceeds the second request transmission time, a read request is transmitted to the second transfer source address to send the second transfer source The address data is transmitted to the transmission FIFO memory,
When the storage of the data of the second transfer source address starts in the transmission FIFO memory, the data of the second transfer source address stored in the transmission FIFO memory is changed to the second transfer destination address. Send to
The DMA controller according to claim 1.
前記第2の要求送信時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した予測時間から、
前記送信FIFOメモリに送信された前記第1の転送元アドレスのデータが、前記第1の転送先アドレスに送信され始めるまでに要する前記制御部の内部処理時間と、前記第2の転送情報に示されている外部遅延時間とを減算した時間である、
ことを特徴とする請求項4に記載のDMAコントローラ。
The second request transmission time is calculated from an estimated time in which a time until data read from the first transfer source address is all transmitted to the first transfer destination address is predicted.
The internal processing time of the control unit required until the data of the first transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the first transfer destination address, and the second transfer information Is the time obtained by subtracting the external delay time being
The DMA controller according to claim 4.
転送情報が登録される転送情報登録部と、データ記憶手段から読み出されたデータを一時記憶する送信FIFOメモリを備えるDMAコントローラにおいて、
前記転送情報登録部に、第1のバスに接続された第1のデータ記憶手段のアドレスを示す転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す転送先アドレスとを示す転送情報が登録された際、前記転送元アドレスから読み出したデータを、前記送信FIFOメモリに送信し、
前記送信FIFOメモリに前記データの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記データを、前記転送先アドレスに送信する、
ことを特徴とするバス間データ転送方法。
In a DMA controller comprising a transfer information registration unit for registering transfer information and a transmission FIFO memory for temporarily storing data read from the data storage means,
In the transfer information registration unit, a transfer source address indicating the address of the first data storage means connected to the first bus, and second data connected to a second bus different from the first bus When transfer information indicating the transfer destination address indicating the address of the storage means is registered, the data read from the transfer source address is transmitted to the transmission FIFO memory,
When the storage of the data in the transmission FIFO memory starts to be transmitted, the data stored in the transmission FIFO memory is transmitted to the transfer destination address.
A bus-to-bus data transfer method.
前記転送情報登録部に、
第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送先アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送元アドレスと、を示す第1の転送情報と、
前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送先アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送元アドレスと、を示す第2の転送情報が登録された際、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信し、
前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの要求送信時間を演算し、
現在の時間が、前記要求送信時間に到達したか或いは前記要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させ、
前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、
ことを特徴とする請求項6に記載のバス間データ転送方法。
In the transfer information registration unit,
A first transfer destination address indicating the address of the first data storage means connected to the first bus, and an address of the second data storage means connected to a second bus different from the first bus A first transfer source address indicating a first transfer information indicating;
A second transfer destination address indicating an address of the first data storage means connected to the first bus; and a third data storage means connected to a third bus different from the first bus. When the second transfer information indicating the second transfer source address indicating the address of the second transfer information is registered, the data read from the first transfer source address is transmitted to the first transfer destination address.
Calculating a request transmission time which is an appropriate time for reading data from the second transfer source address;
If the current time has reached the request transmission time or exceeds the request transmission time, a read request is transmitted to the second transfer source address and the data of the second transfer source address is transmitted. Send it to the FIFO memory,
When the storage of the data of the second transfer source address starts in the transmission FIFO memory, the data of the second transfer source address stored in the transmission FIFO memory is changed to the second transfer destination address. Send to
The inter-bus data transfer method according to claim 6.
前記要求送信時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した予測時間から、
前記送信FIFOメモリに送信された前記第2の転送元アドレスのデータが、前記第2の転送先アドレスに送信され始めるまでに要する内部処理時間と、前記第2の転送情報に示されている外部遅延時間とを減算した時間である、
ことを特徴とする請求項7に記載のバス間データ転送方法。
The request transmission time is based on an estimated time in which the time until all data read from the first transfer source address is transmitted to the first transfer destination address is predicted.
The internal processing time required until the data of the second transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the second transfer destination address, and the external data indicated in the second transfer information It is the time obtained by subtracting the delay time.
The inter-bus data transfer method according to claim 7.
前記転送情報登録部に、
第1のバスに接続された第1のデータ記憶手段のアドレスを示す第1の転送元アドレスと、前記第1のバスとは異なる第2のバスに接続された第2のデータ記憶手段のアドレスを示す第1の転送先アドレスと、を示す第1の転送情報と、
前記第1のバスに接続された前記第1のデータ記憶手段のアドレスを示す第2の転送元アドレスと、前記第1のバスとは異なる第3のバスに接続された第3のデータ記憶手段のアドレスを示す第2の転送先アドレスと、を示す第2の転送情報が登録された際、前記第1の転送元アドレスから読み出したデータを、前記第1の転送先アドレスに送信し、
前記第2の転送元アドレスからのデータを読み出すのに適切な時間であるところの第2の要求送信時間を演算し、
現在の時間が、前記第2の要求送信時間に到達したか或いは前記第2の要求送信時間を越えている場合、前記第2の転送元アドレスに読み出し要求を送信して前記第2の転送元アドレスのデータを前記送信FIFOメモリに送信させ、
前記送信FIFOメモリに前記第2の転送元アドレスのデータの記憶が開始され始めた際、前記送信FIFOメモリに記憶されている前記第2の転送元アドレスのデータを、前記第2の転送先アドレスに送信する、
ことを特徴とする請求項6に記載のバス間データ転送方法。
In the transfer information registration unit,
A first transfer source address indicating the address of the first data storage means connected to the first bus, and an address of the second data storage means connected to a second bus different from the first bus First transfer information indicating a first transfer destination address;
A second transfer source address indicating an address of the first data storage means connected to the first bus; and a third data storage means connected to a third bus different from the first bus. When the second transfer information indicating the second transfer destination address indicating the address of the first transfer destination is registered, the data read from the first transfer source address is transmitted to the first transfer destination address.
Calculating a second request transmission time which is an appropriate time for reading data from the second transfer source address;
If the current time has reached the second request transmission time or exceeds the second request transmission time, a read request is transmitted to the second transfer source address to send the second transfer source The address data is transmitted to the transmission FIFO memory,
When the storage of the data of the second transfer source address starts in the transmission FIFO memory, the data of the second transfer source address stored in the transmission FIFO memory is changed to the second transfer destination address. Send to
The inter-bus data transfer method according to claim 6.
前記第2の要求送信時間は、前記第1の転送元アドレスから読み出したデータが、前記第1の転送先アドレスに全て送信されるまでの時間を予測した予測時間から、
前記送信FIFOメモリに送信された前記第1の転送元アドレスのデータが、前記第1の転送先アドレスに送信され始めるまでに要する内部処理時間と、前記第2の転送情報に示されている外部遅延時間とを減算した時間である、
ことを特徴とする請求項9に記載のバス間データ転送方法。
The second request transmission time is calculated from an estimated time in which a time until data read from the first transfer source address is all transmitted to the first transfer destination address is predicted.
The internal processing time required until the data of the first transfer source address transmitted to the transmission FIFO memory starts to be transmitted to the first transfer destination address, and the external data indicated in the second transfer information It is the time obtained by subtracting the delay time.
The inter-bus data transfer method according to claim 9.
JP2015004677A 2015-01-14 2015-01-14 Dma controller and inter-bus data transfer method Pending JP2016130927A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015004677A JP2016130927A (en) 2015-01-14 2015-01-14 Dma controller and inter-bus data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015004677A JP2016130927A (en) 2015-01-14 2015-01-14 Dma controller and inter-bus data transfer method

Publications (1)

Publication Number Publication Date
JP2016130927A true JP2016130927A (en) 2016-07-21

Family

ID=56415493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015004677A Pending JP2016130927A (en) 2015-01-14 2015-01-14 Dma controller and inter-bus data transfer method

Country Status (1)

Country Link
JP (1) JP2016130927A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160986A (en) * 2019-03-27 2020-10-01 株式会社デンソー Controller and diagnostic program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160986A (en) * 2019-03-27 2020-10-01 株式会社デンソー Controller and diagnostic program
JP7226014B2 (en) 2019-03-27 2023-02-21 株式会社デンソー Controller and diagnostic program

Similar Documents

Publication Publication Date Title
CN105988953B (en) A kind of direct memory access dma controller and the method for data transmission
US20110268113A1 (en) Packet communication system, packet communication device, packet communication method, and computer-readable storage medium having packet communication program recorded therein
JP2004171209A (en) Shared memory data transfer device
WO2013154541A1 (en) Remote direct memory access with reduced latency
JP5287301B2 (en) Descriptor transfer device, I / O controller, and descriptor transfer method
JP2006338538A (en) Stream processor
JP6115482B2 (en) Electronic control unit
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
WO2011099048A1 (en) Transmission control device, memory control device, and plc provided with the transmission control device
JP2016130927A (en) Dma controller and inter-bus data transfer method
JP5209535B2 (en) USB host controller and control method of USB host controller
US20170308487A1 (en) Data transfer control system, data transfer control method, and program storage medium
JP2006313479A (en) Semiconductor integrated circuit device and data transfer method
US8996772B1 (en) Host communication device and method with data transfer scheduler
US20140281053A1 (en) I/o device control system and method for controlling i/o device
JP6430710B2 (en) Data transfer control device and data transfer control method
US20190155774A1 (en) Data transmission apparatus and data transmission method
JP2007193839A5 (en)
JP5093986B2 (en) Interprocessor communication method and interprocessor communication apparatus
JP2005293435A (en) Data transfer device and its setting method
JP7027145B2 (en) Communication equipment, control methods and programs for communication equipment
JP6940283B2 (en) DMA transfer control device, DMA transfer control method, and DMA transfer control program
JP2009032085A (en) Data processing system
JP2017085786A (en) Motor control device combining low-latency and high-throughput data communication
JP6161113B2 (en) Data relay device and data relay system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170710