JP2009025896A - Data processing unit and data processing method - Google Patents

Data processing unit and data processing method Download PDF

Info

Publication number
JP2009025896A
JP2009025896A JP2007185995A JP2007185995A JP2009025896A JP 2009025896 A JP2009025896 A JP 2009025896A JP 2007185995 A JP2007185995 A JP 2007185995A JP 2007185995 A JP2007185995 A JP 2007185995A JP 2009025896 A JP2009025896 A JP 2009025896A
Authority
JP
Japan
Prior art keywords
data
descriptor
dma controller
interlocking
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007185995A
Other languages
Japanese (ja)
Inventor
Hiroaki Takeuchi
浩昭 武内
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007185995A priority Critical patent/JP2009025896A/en
Publication of JP2009025896A publication Critical patent/JP2009025896A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processing unit for transferring and processing data such as image data by linking DMA controllers, and to provide a data processing method. <P>SOLUTION: In the data processing unit 1, an editing DMAC 21a reading data on a memory 3 that an input DMAC 11a has written in a plurality of DMACs 11a-11n, 21a-21m dispersively present in a semiconductor device 10 and a semiconductor device 20 reads the contents of a descriptor on the memory 3 to obtain the progress situation of the operation of the input DMAC 11a, and transfers data by linkage. Accordingly, the DMACs 11a-11n, 21a-21m present separately into a plurality of semiconductor devices 10, 20 are linked inexpensively with a simple configuration to transfer data without installing a number of terminals. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、データ処理装置及びデータ処理方法に関し、詳細には、画像データ等のデータをDMAコントローラを連動させてデータ転送して処理するデータ処理装置及びデータ処理方法に関する。   The present invention relates to a data processing device and a data processing method, and more particularly, to a data processing device and a data processing method for processing data such as image data by transferring data in conjunction with a DMA controller.

DMA(Direct Memory Access:ダイレクトメモリアクセス)は、DMAC(Direct Memory Access Controller :DMAコントローラ)によって、メモリ上のデータを高速に転送する技術であり、一般的に、開始メモリアドレスと転送量を指定して、CPUが介在することなく、データ転送を行うが、メモリ上にデータが点在する場合には、ディスクリプタ方式を用いて、メモリ上に点在するデータを接続して連続的に転送を行う。   DMA (Direct Memory Access) is a technology for transferring data on a memory at high speed using a DMAC (Direct Memory Access Controller), and generally specifies a start memory address and a transfer amount. Thus, data transfer is performed without the intervention of the CPU. However, when data is scattered on the memory, the data scattered on the memory is connected and transferred continuously using the descriptor method. .

また、複数のDMACの処理ライン数情報を比較することで、DMACを連動動作させて、省メモリ化を図った技術が提案されている。   In addition, a technique has been proposed in which the DMAC is operated in an interlocked manner by comparing the processing line number information of a plurality of DMACs to save memory.

すなわち、この従来技術は、例えば、図12に示すように、メモリ制御部100に2つのDMAC101、102及び画像入出力DMAC103が接続されているとともに、図示しないが、メモリ制御部100に、メモリが接続されている。そして、メモリ制御部100がライン数比較部104を備えて、このライン数比較部104が、DMAC102、103の処理ライン数を比較することで、DMAC102とDMAC103の連動動作を可能としている。   That is, in this prior art, as shown in FIG. 12, for example, two DMACs 101 and 102 and an image input / output DMAC 103 are connected to the memory control unit 100. It is connected. The memory control unit 100 includes a line number comparison unit 104. The line number comparison unit 104 compares the number of processing lines of the DMACs 102 and 103, thereby enabling the DMAC 102 and the DMAC 103 to operate in conjunction.

特許第3797833号公報Japanese Patent No. 3797833

しかしながら、上記従来技術にあっては、複数のDMACの処理ライン数情報を比較することで、DMACを連動動作させているため、複数のDMACが、1つの半導体デバイス内部に存在する場合には、半導体デバイス内でDMAC同士が処理ライン数を比較することで連動動作が可能であるが、複数の半導体デバイスに存在するDMACを連動させる場合には、処理ライン数信号が膨大な数であり、半導体デバイスの端子数が増えて、コストが高くなるという問題があった。   However, in the above prior art, since the DMAC is operated in an interlocking manner by comparing the processing line number information of a plurality of DMACs, when a plurality of DMACs exist inside one semiconductor device, In a semiconductor device, DMACs can be linked to each other by comparing the number of processing lines. However, when DMACs existing in a plurality of semiconductor devices are linked, the number of processing line signals is enormous. There was a problem that the number of terminals of the device increased and the cost increased.

例えば、図13に示すように、メモリ制御部110に2つの半導体デバイス120と半導体デバイス130が接続され、さらに、メモリ111が接続されており、各半導体デバイス120、130が、複数のDMAC121〜123、131〜133、アービタ124、134を備えている場合に、半導体デバイス120に搭載されているDMAC121と半導体デバイス130に搭載されているDMAC131とを連動させてデータ転送を行おうとすると、半導体デバイス120と半導体デバイス130のそれぞれにライン比較部(Line Cmp)125、135を設けるとともに、その必要な処理ライン数の端子を設けて接続する必要がある。   For example, as shown in FIG. 13, two semiconductor devices 120 and 130 are connected to the memory control unit 110, and further a memory 111 is connected, and each of the semiconductor devices 120 and 130 includes a plurality of DMACs 121 to 123. , 131 to 133, and arbiters 124 and 134, if the DMAC 121 mounted on the semiconductor device 120 and the DMAC 131 mounted on the semiconductor device 130 are linked to perform data transfer, the semiconductor device 120 It is necessary to provide line comparators (Line Cmp) 125 and 135 for each of the semiconductor devices 130 and to provide and connect terminals having the required number of processing lines.

特に、今日、画像形成装置や複合装置等のおいては、多数の機能を有しており、機能の増大に伴ってDMACの数も増大してきており、これらの多くのDMACを1つの半導体デバイスに実装することが困難となってきている。また、コストの観点からも機能及び規模の非常に大きな半導体デバイスを1つ作成するよりも、機能を適切に分割して、複数の半導体デバイスを作成して、システムによっては、該半導体デバイスを1つだけ利用してシステム構成を行い、他のシステムでは、半導体デバイスを2つ使用してシステム構成するというアーキテクチャの方が、コスト的に有利なことが多い。このように、複数の半導体デバイスに分かれたDMAC同士を連動させた機能を実行する場合、従来技術では、端子数が増加して、コストが高くなるという問題があった。   In particular, today, image forming apparatuses, composite apparatuses, and the like have a large number of functions, and the number of DMACs has increased along with the increase in functions. It has become difficult to implement. Also, from the viewpoint of cost, rather than creating one semiconductor device having a very large function and scale, a plurality of semiconductor devices are created by appropriately dividing the function. In many systems, an architecture in which only two semiconductor devices are used for system configuration and two semiconductor devices are used for the system configuration is advantageous in terms of cost. As described above, when executing a function in which DMACs divided into a plurality of semiconductor devices are linked to each other, the conventional technique has a problem that the number of terminals increases and the cost increases.

そこで、本発明は、複数の半導体デバイスに存在するDMAC同士を安価にかつ簡単な構成で連動させてデータ処理するデータ処理装置及びデータ処理方法を提供することを目的としている。   Accordingly, an object of the present invention is to provide a data processing apparatus and a data processing method for processing data by linking DMACs existing in a plurality of semiconductor devices at a low cost with a simple configuration.

請求項1記載の発明のデータ処理装置は、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動相手DMAコントローラは、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元DMAコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことにより、上記目的を達成している。   According to a first aspect of the present invention, there is provided a data processing apparatus comprising: a linking source DMA controller that writes data to a memory among a plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits; and a linking partner DMA controller that reads data from the memory. A data processing apparatus for performing data processing by transferring data in conjunction with each other, wherein the interlocking partner DMA controller reads the contents of the descriptor on the memory, grasps the progress of the operation of the interlocking source DMA controller, The above object is achieved by performing data transfer by the interlocking.

請求項1の場合、例えば、請求項2に記載するように、前記連動相手DMAコントローラは、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させてもよい。   In the case of claim 1, for example, as described in claim 2, the interlocking DMA controller temporarily stops data transfer until a restart instruction is issued when a pause command is set in its descriptor. Also good.

請求項3記載の発明のデータ処理装置は、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動元DMAコントローラ用の前記メモリ上のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手DMAコントローラは、該連動元DMAコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことにより、上記目的を達成している。   According to a third aspect of the present invention, there is provided a data processing apparatus comprising: a linking source DMA controller that writes data to a memory among a plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits; and a linking partner DMA controller that reads data from the memory. A data processing apparatus that performs data processing by transferring data in conjunction with each other, and writes a linkage instruction command for instructing the linkage and a transfer end command for indicating the end of transfer in a descriptor on the memory for the linkage source DMA controller Having a command area, the interlocking partner DMA controller reads the interlock instruction command and the transfer end command of the descriptor for the interlocking source DMA controller, grasps the progress of the operation of the interlocking source DMA controller, By performing the data transfer by the linkage, We have achieved the serial purpose.

請求項3の場合、例えば、請求項4に記載するように、前記連動相手DMAコントローラは、前記連動元DMAコントローラ用のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、該連動によるデータ転送動作を一時停止してもよい。   In the case of claim 3, for example, as described in claim 4, when the interlocking instruction command is set in the descriptor for the interlocking source DMA controller, the interlocking partner DMA controller sets a transfer end command in the descriptor. The data transfer operation by the interlock may be suspended until is set.

また、請求項4の場合、例えば、請求項5に記載するように、前記連動相手DMAコントローラは、所定のタイミング毎に、前記連動元DMAコントローラ用のディスクリプタを読み込んで、前記転送終了コマンドがセットされているか確認してもよい。   Further, in the case of claim 4, for example, as described in claim 5, the interlocking partner DMA controller reads the descriptor for the interlocking source DMA controller at every predetermined timing, and the transfer end command is set. You may check if it is.

さらに、請求項5の場合、例えば、請求項6に記載するように、前記連動相手DMAコントローラは、前記転送終了コマンドのセットの有無の確認を任意に設定されたタイミング毎に実行してもよい。   Further, in the case of claim 5, for example, as described in claim 6, the interlocking partner DMA controller may execute the confirmation of the presence / absence of the transfer end command set at each arbitrarily set timing. .

また、請求項3から請求項6の場合、例えば、請求項7に記載するように、前記連動元DMAコントローラは、前記自己のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタに転送終了コマンドをセットしてもよい。   In the case of claim 3 to claim 6, for example, as described in claim 7, when the interlock instruction command is set in the own descriptor, the interlock source DMA controller describes in the descriptor. When the data transfer of the transferred transfer amount is completed, a transfer end command may be set in the descriptor.

さらに、請求項4から請求項7の場合、例えば、請求項8に記載するように、前記連動相手DMAコントローラは、前記連動元DMAコントローラ用のディスクリプタに前記転送終了コマンドがセットされると、自動的にデータ転送を開始してもよい。   Further, in the case of claims 4 to 7, for example, as described in claim 8, the interlocking partner DMA controller automatically sets the transfer end command when the transfer end command is set in the descriptor for the interlocking source DMA controller. Alternatively, data transfer may be started.

また、請求項4から請求項8の場合、例えば、請求項9に記載するように、前記連動相手DMAコントローラは、前記連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止してもよい。   Further, in the case of claims 4 to 8, for example, as described in claim 9, the interlocking partner DMA controller may suspend the data transfer when the data transfer of the band data by the interlock is completed. Good.

請求項10記載の発明のデータ処理方法は、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動相手DMAコントローラが、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元DMAコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことにより、上記目的を達成している。   According to a tenth aspect of the present invention, there is provided a data processing method comprising: a linking source DMA controller for writing data to a memory among a plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits; and a linking partner DMA controller for reading data from the memory. A data processing method for performing data processing by transferring data linked to each other, wherein the linked partner DMA controller reads the contents of the descriptor on the memory, grasps the progress of the operation of the linked source DMA controller, The above object is achieved by performing data transfer by the interlocking.

請求項11記載の発明のデータ処理方法は、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動元DMAコントローラ用の前記メモリ上のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手DMAコントローラが、該連動元DMAコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことにより、上記目的を達成している。   A data processing method according to an eleventh aspect of the present invention is a data processing method comprising: a linking source DMA controller that writes data to a memory among a plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits; and a linking partner DMA controller that reads data from the memory A data processing method for performing data processing by transferring data in conjunction with each other, and writing a linkage instruction command for instructing the linkage and a transfer end command indicating the end of transfer in the descriptor on the memory for the linkage source DMA controller Having a command area, the interlocking partner DMA controller reads the interlock instruction command and the transfer end command of the descriptor for the interlock source DMA controller, grasps the progress of the operation of the interlock source DMA controller, By performing data transfer by the linkage It has achieved the above object.

本発明によれば、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうち、連動元DMAコントローラの書き込んだメモリ上のデータを読み取る連動相手DMAコントローラが、該メモリ上のディスクリプタの内容を読み込んで連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行っているので、膨大な端子を増設することなく、複数の半導体デバイスに分かれて存在するDMAコントローラ同士を、安価にかつ簡単な構成で連動させてデータ転送することができる。   According to the present invention, among the plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits, the interlocking partner DMA controller that reads the data on the memory written by the interlocking source DMA controller, the contents of the descriptor on the memory To read the status of the operation of the interlocking source DMA controller and perform data transfer by the interlocking, so that the DMA controllers existing in a plurality of semiconductor devices can be separated from each other without adding a huge terminal. The data can be transferred in an interlocked manner at a low cost and with a simple configuration.

また、本発明によれば、複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行う場合に、メモリ上の連動元DMAコントローラ用のディスクリプタに、連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、連動相手DMAコントローラが、該連動元DMAコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行っているので、膨大な端子を増設することなく、かつ、ソフト制御の煩雑さを削減しつつ、複数の半導体デバイスに分かれて存在するDMAコントローラ同士を、安価にかつ簡単な構成で連動させてデータ転送することができ、より一層安価にかつ高速に複数のDMAコントローラを連動させてデータ転送することができる。   Further, according to the present invention, data is obtained by linking a linkage source DMA controller that writes data to a memory and a linkage partner DMA controller that reads data from the memory among a plurality of DMA controllers distributed in a plurality of semiconductor integrated circuits. When performing data processing by transferring, the descriptor for the interlocking source DMA controller on the memory has a command area for writing an interlocking instruction command for instructing interlocking and a transfer end command indicating the end of the transfer. Since the linkage instruction command and the transfer end command of the descriptor for the linkage source DMA controller are read, the progress of the operation of the linkage source DMA controller is grasped, and data transfer by the linkage is performed. Without adding additional terminals and without software control While reducing complexity, DMA controllers that are divided into multiple semiconductor devices can be linked to each other at low cost and with a simple configuration to transfer data. Data transfer can be performed in conjunction.

以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, since the Example described below is a suitable Example of this invention, various technically preferable restrictions are attached | subjected, However, The scope of the present invention limits this invention especially in the following description. As long as there is no description of the effect, it is not restricted to these aspects.

図1〜図5は、本発明のデータ処理装置及びデータ処理方法の第1実施例を示す図であり、図1は、本発明のデータ処理装置及びデータ処理方法の第1実施例を適用したデータ処理装置1の要部ブロック構成図である。   1 to 5 are diagrams showing a first embodiment of the data processing apparatus and data processing method of the present invention, and FIG. 1 applies the first embodiment of the data processing apparatus and data processing method of the present invention. 2 is a block diagram of the main part of the data processing device 1. FIG.

図1において、データ処理装置1は、画像データ(データ)に各種画像処理を施す複合装置、プリンタ等であり、CPU/メモリ制御部2、メモリ3及び複数(図1では、2つ)の半導体デバイス(半導体集積回路)10、20等を備えている。   In FIG. 1, a data processing device 1 is a composite device, a printer, or the like that performs various types of image processing on image data (data), and includes a CPU / memory control unit 2, a memory 3, and a plurality of (two in FIG. 1) semiconductors. Devices (semiconductor integrated circuits) 10 and 20 are provided.

半導体デバイス10は、少なくとも複数のDMAC11a〜11nとアービタ12を備えており、半導体デバイス20は、少なくとも複数のDMAC21a〜11mとアービタ22を備え、半導体デバイス10及び半導体デバイス20は、図3に示すように、コマンドインターフェイス13、23を備えている。   The semiconductor device 10 includes at least a plurality of DMACs 11a to 11n and an arbiter 12. The semiconductor device 20 includes at least a plurality of DMACs 21a to 11m and an arbiter 22. The semiconductor device 10 and the semiconductor device 20 are as illustrated in FIG. In addition, command interfaces 13 and 23 are provided.

CPU/メモリ制御部2は、メモリ3上のディスクリプタ領域に、必要なディスクリプタのコマンドを書き込み、半導体デバイス10、20のDMAC11a〜11n、DMAC21a〜21mが、メモリ3上のディスクリプタを読み取ってCPU/メモリ制御部2のソフト制御によることなくデータ転送を行う。   The CPU / memory control unit 2 writes a necessary descriptor command in the descriptor area on the memory 3, and the DMACs 11 a to 11 n and the DMACs 21 a to 21 m of the semiconductor devices 10 and 20 read the descriptor on the memory 3 to read the CPU / memory. Data transfer is performed without the software control of the control unit 2.

メモリ3のディスクリプタは、図2に示すように、DMAC11a〜11n、DMAC21a〜21mのアクセスするメモリ3上のスタートアドレスの設定されるスタートアドレス領域、次のディスクリプタの記載されているポインタのセットされる次ディスクリプタポインタ(ネクストディスクリプタポインタ)領域、データ転送量の設定される転送データ量領域及びその他のコマンドの設定される各種コマンド領域があり、本実施例のデータ処理装置1では、後述するように、連動させるDMAC11a〜11nとDMAC21a〜21m用の各種コマンド領域に、連動を制御するコマンドであるCHAINビットとPAUSEビットを設定して、異なる半導体デバイス10、20の任意のDMAC11a〜11nとDMAC21a〜21mを連動させる。PAUSEビットは、一時停止を指示するコマンドであり、CHAINビットは、バンド転送が終了すると割り込みの発生を指示するコマンドである。   As shown in FIG. 2, the descriptor of the memory 3 is set with a start address area where a start address is set on the memory 3 accessed by the DMACs 11a to 11n and DMACs 21a to 21m, and a pointer in which the next descriptor is described. There are a next descriptor pointer (next descriptor pointer) area, a transfer data amount area in which a data transfer amount is set, and various command areas in which other commands are set. In the data processing apparatus 1 of this embodiment, as will be described later, The CHAIN bit and the PAUSE bit, which are commands for controlling the interlocking, are set in various command areas for the DMACs 11a to 11n and DMACs 21a to 21m to be interlocked, and any of the DMACs 11a to 11n and the DMACs 21a to 2 of the different semiconductor devices 10 and 20 are set. It is linked to m. The PAUSE bit is a command for instructing suspension, and the CHAIN bit is a command for instructing generation of an interrupt when the band transfer is completed.

アービタ12は、DMAC11a〜11nからメモリ3へのアクセスを調停するユニットであり、アービタ22は、DMAC21a〜21mからメモリ3へのアクセスを調停するユニットである。   The arbiter 12 is a unit that arbitrates access from the DMACs 11 a to 11 n to the memory 3, and the arbiter 22 is a unit that arbitrates access from the DMACs 21 a to 21 m to the memory 3.

半導体デバイス10のDMAC11a〜11nと半導体デバイス20のDMAC21a〜21mは、他のDMAC11a〜11n、21a〜21mと連動してメモリ3への読み出しと書き込みを行って、半導体デバイス10、20によって、画像データに対して各種画像処理を行う。そして、図1では、半導体デバイス10のDMAC11aが、画像データの入力を行う入力DMACとして動作し、半導体デバイス20のDMAC21aが、画像データの編集に用いられる編集DMACとして動作し、また、半導体20のDMAC22mが、画像データの外部への出力に用いられる出力DMACとして動作する。   The DMACs 11a to 11n of the semiconductor device 10 and the DMACs 21a to 21m of the semiconductor device 20 perform reading and writing to the memory 3 in conjunction with the other DMACs 11a to 11n and 21a to 21m. Various image processing is performed on the image. In FIG. 1, the DMAC 11a of the semiconductor device 10 operates as an input DMAC for inputting image data, the DMAC 21a of the semiconductor device 20 operates as an editing DMAC used for editing image data, and the semiconductor 20 The DMAC 22m operates as an output DMAC used for outputting image data to the outside.

上記DMAC11a〜11n、DMAC21a〜21mは、図3に示すように構成されており、データ処理部30、コマンド制御部31、メモリアクセス部32及びディスクリプタ制御部33を備えている。   The DMACs 11a to 11n and DMACs 21a to 21m are configured as shown in FIG. 3 and include a data processing unit 30, a command control unit 31, a memory access unit 32, and a descriptor control unit 33.

コマンド制御部31は、コマンドインターフェイス13、23を介してCPU/メモリ制御部2から動作指示上がると、該動作指示をディスクリプタ制御部33に渡し、ディスクリプタ制御部33は、コマンド制御部31からの動作指示を受け取ると、アービタ12、22を介してメモリ3のディスクリプタを読み取る読取動作を開始してメモリアクセス部32に読取結果を渡す。メモリアクセス部32は、ディスクリプタ制御部33のディスクリプタの読取結果に基づいてメモリアドレスを生成しながらメモリ3との間でデータ転送を行う。コマンド制御部31は、CPU/メモリ制御部2等からコマンドを受け取ってディスクリプタ制御部33へ指示を行ったり、メモリアクセス部32からのステータスを反映させる。データ処理部30は、データの処理を行う。   When the command control unit 31 receives an operation instruction from the CPU / memory control unit 2 via the command interfaces 13 and 23, the command control unit 31 passes the operation instruction to the descriptor control unit 33, and the descriptor control unit 33 operates from the command control unit 31. When the instruction is received, a read operation for reading the descriptor in the memory 3 is started via the arbiters 12 and 22, and the read result is passed to the memory access unit 32. The memory access unit 32 performs data transfer with the memory 3 while generating a memory address based on the descriptor read result of the descriptor control unit 33. The command control unit 31 receives a command from the CPU / memory control unit 2 or the like and instructs the descriptor control unit 33 or reflects the status from the memory access unit 32. The data processing unit 30 processes data.

次に、本実施例の作用を説明する。本実施例のデータ処理装置1は、異なる半導体デバイス10と半導体デバイス20のDMAC11a〜11nとDMAC21a〜21mをディスクリプタを利用して連動させてデータ処理を行う。   Next, the operation of this embodiment will be described. The data processing apparatus 1 according to this embodiment performs data processing by linking the DMACs 11a to 11n and the DMACs 21a to 21m of the different semiconductor devices 10 and 20 using descriptors.

すなわち、データ処理装置1は、いま、図1に破線矢印で示すように、外部からの画像データを、半導体デバイス10の入力DMAC11aと半導体デバイス20の編集DMAC21aを連動させて、例えば、図1に「あ」の画像について示すような画像処理を施して、メモリ3に格納する場合について説明する。この場合、CPU/メモリ制御部2は、図2(a)に示したように、メモリ3の入力DMAC11aのディスクリプタの各種コマンド領域には、バンド転送が終了すると割り込みの発生を指示するコマンドであるCHAINビットをセットし、編集DMAC21aのディスクリプタの各種コマンド領域には、一時停止を指示するコマンドであるPAUSEビットをセットする。   That is, the data processing apparatus 1 is configured so that the image data from the outside is linked with the input DMAC 11a of the semiconductor device 10 and the editing DMAC 21a of the semiconductor device 20 as shown in FIG. A case where the image processing as shown for the “A” image is performed and stored in the memory 3 will be described. In this case, as shown in FIG. 2A, the CPU / memory control unit 2 is a command for instructing generation of an interrupt when the band transfer is completed in various command areas of the descriptor of the input DMAC 11a of the memory 3. The CHAIN bit is set, and the PAUSE bit, which is a command for instructing suspension, is set in the various command areas of the descriptor of the editing DMAC 21a.

そして、データ処理装置1は、図4に示すように、コマンド制御部31が、DMA動作コマンドをコマンドインターフェイス13、23を介してCPU/メモリ制御部2から受け取ると、ディスクリプタ制御部33に、「A:起動指示」(図3参照)を出力する(ステップS101)。ディスクリプタ制御部33は、「A:起動指示」を受け取ると、メモリ3へディスクリプタ情報を読みに行ってディスクリプタを取得すると(ステップS102)、メモリアクセス部32に、「B:バンド転送開始指示」(図3参照)を出す。この「B:バンド転送開始指示」には、転送開始アドレス、1次元転送であるのか、2次元転送であるのかの転送種類、1次元転送の場合には、転送サイズ、2次元転送の場合には、転送幅と転送ライン数が含まれている。メモリアクセス部32は、「B:バンド転送開始指示」を受信すると、該「B:バンド転送開始指示」に基づいたデータ転送を行い、転送が終了すると、ディスクリプタ制御部33及びコマンド制御部31に、「C:バンド転送終了通知」(図3参照)を出力する(ステップS103)。   When the command control unit 31 receives the DMA operation command from the CPU / memory control unit 2 via the command interfaces 13 and 23 as shown in FIG. A: Start instruction ”(see FIG. 3) is output (step S101). Upon receiving “A: activation instruction”, the descriptor control unit 33 reads the descriptor information into the memory 3 and obtains the descriptor (step S102). When the descriptor control unit 33 receives the “B: band transfer start instruction” ( (See FIG. 3). This “B: band transfer start instruction” includes the transfer start address, the transfer type of 1-dimensional transfer or 2-dimensional transfer, the transfer size in the case of 1-dimensional transfer, and the transfer size in the case of 2-dimensional transfer. Includes the transfer width and the number of transfer lines. When the memory access unit 32 receives “B: band transfer start instruction”, the memory access unit 32 performs data transfer based on the “B: band transfer start instruction”. When the transfer is completed, the memory access unit 32 sends the data to the descriptor control unit 33 and the command control unit 31. , “C: Band transfer end notification” (see FIG. 3) is output (step S103).

ディスクリプタ制御部33は、「C:バンド転送終了通知」を受信すると、最終バンドの転送であったか否かを判断し(ステップS104)、最終バンドの転送でなかった場合には、一時停止を行うPAUSE動作であったかを判断、すなわち、編集DMAC21aのディスクリプタの各種コマンド欄にPAUSEビットがセットされているかによってチェックする(ステップS105)。ステップS105で、PAUSE動作でないときには、ディスクリプタ制御部33は、ステップS102に戻って、次のディスクリプタの取得から上記同様に処理する(ステップS102〜S105)。   Upon receiving “C: Band transfer end notification”, the descriptor control unit 33 determines whether or not the transfer is the final band (step S104). If the transfer is not the final band, the PAUSE performs pause. It is determined whether the operation has been performed, that is, whether the PAUSE bit is set in the various command fields of the descriptor of the editing DMAC 21a (step S105). If the PAUSE operation is not performed in step S105, the descriptor control unit 33 returns to step S102 and performs the same processing as described above from the acquisition of the next descriptor (steps S102 to S105).

ステップS105で、PAUSE動作であった場合には、ディスクリプタ制御部33は、再開を示すCONTINUE指示がコマンド制御部31からくるのを待ち(ステップS106)、CONTINUE指示がくると、ステップS102に戻って、次のディスクリプタの取得から上記同様に処理する(ステップS102〜S106)。   If the PAUSE operation is performed in step S105, the descriptor control unit 33 waits for a CONTINUE instruction indicating restart from the command control unit 31 (step S106). When the CONTINUE instruction is received, the descriptor control unit 33 returns to step S102. From the next descriptor acquisition, the same processing as above is performed (steps S102 to S106).

ステップS104で、最終バンドの転送であった場合には、ディスクリプタ制御部33は、DMA動作を終了して処理を終了する(ステップS107)。   In step S104, when it is the transfer of the last band, the descriptor control unit 33 ends the DMA operation and ends the process (step S107).

上記メモリアクセス部32からコマンド制御部31へ「C:バンド転送終了通知」を出力するのは、図5に示すように、バンド転送が完了したことをソフトウェアへ通知するためであり、ソフトウェアは、コマンド制御部31に実装されたレジスタを読んでバンド転送の完了を知ることができる。また、図5に示すように、コマンド制御部31から割り込みを出力することによってソフトウェアに通知することもできる。   The reason why “C: band transfer end notification” is output from the memory access unit 32 to the command control unit 31 is to notify the software that the band transfer has been completed, as shown in FIG. The completion of the band transfer can be known by reading the register mounted in the command control unit 31. In addition, as shown in FIG. 5, the software can be notified by outputting an interrupt from the command control unit 31.

すなわち、上記入力DMAC11aと編集DMAC21aを連動させる場合のタイミングチャート及びソフトウェアとのインターフェースは、図5のように示され、入力DMAC11aは、メモリ3に対して、ライト動作のみを行うので、図2(a)に示したように、ライトDMACに関するディスクリプタが用意され、ソフトウェアは、ディスクリプタを用意すると、入力DMAC11aに対して起動をかける。入力DMAC11aは、Aというバンドの転送が完了すると、割込みをソフトウェアに発行し、ソフトウェアは、割込みを検知すると、編集DMAC21aを起動する。この場合、編集DMAC21aのディスクリプタは、図2に示したように、リード用(図2(b))とライト用(図2(c))の2種類を用意する必要がある。   That is, the timing chart and the software interface when the input DMAC 11a and the editing DMAC 21a are linked are shown in FIG. 5, and the input DMAC 11a performs only the write operation on the memory 3, so FIG. As shown in a), a descriptor relating to the write DMAC is prepared, and when the software prepares, the software activates the input DMAC 11a. When the transfer of the band A is completed, the input DMAC 11a issues an interrupt to software. When the software detects the interrupt, the software activates the editing DMAC 21a. In this case, as shown in FIG. 2, it is necessary to prepare two types of descriptors for the editing DMAC 21a: for reading (FIG. 2B) and for writing (FIG. 2C).

そして、入力DMAC11aの転送速度は、入力元のデータ転送速度に依存するため、内部でのみ処理を行う編集器DMAC21aよりは速度が低い。   Since the transfer rate of the input DMAC 11a depends on the data transfer rate of the input source, the transfer rate is lower than that of the editor DMAC 21a that performs processing only inside.

そこで、編集DMAC21aの動作を適切に制御しないと、編集DMAC21aが入力DMAC11aの処理を追い越してしまうおそれがあるので、この問題を回避するために、編集DMAC21aのディスクリプタにPAUSEビットを設定する。編集DMAC21aは、このPAUSEビットを利用して、バンド転送が終了すると、データ転送を一時停止させて、後から起動をかけた編集DMAC21aが入力DMAC11aを追い越すことを回避し、ソフトウェアは、2バンド目以降も、同様に、割込みを検知すると、編集DMAC21aを起動する動作を繰り返す。   Therefore, if the operation of the editing DMAC 21a is not properly controlled, the editing DMAC 21a may overtake the processing of the input DMAC 11a. To avoid this problem, the PAUSE bit is set in the descriptor of the editing DMAC 21a. The editing DMAC 21a uses the PAUSE bit to suspend the data transfer when the band transfer is completed, so that the editing DMAC 21a activated later avoids overtaking the input DMAC 11a. Thereafter, similarly, when an interrupt is detected, the operation of starting the editing DMAC 21a is repeated.

このように、本実施例のデータ処理装置1は、半導体デバイス10と半導体デバイス20に分散して存在する複数のDMAC11a〜11n、21a〜21mのうち、連動元DMACである入力DMAC11aの書き込んだメモリ3上のデータを読み取る連動相手DMACである編集DMAC21aが、該メモリ3上のディスクリプタの内容を読み込んで入力DMAC11aの動作の進行状況を把握して、該連動によるデータ転送を行っている。   As described above, the data processing apparatus 1 according to the present embodiment includes a memory in which the input DMAC 11a that is the interlocking source DMAC among the plurality of DMACs 11a to 11n and 21a to 21m existing in a distributed manner in the semiconductor devices 10 and 20 is written. The editing DMAC 21a, which is the interlocking DMAC that reads the data on 3, reads the contents of the descriptor on the memory 3, grasps the progress of the operation of the input DMAC 11a, and performs data transfer by the interlocking.

したがって、膨大な端子を増設することなく、複数の半導体デバイス10、20に分かれて存在するDMAC11a〜11n、21a〜21m同士を、安価にかつ簡単な構成で複数のDMAC11a〜11n、21a〜21mを連動させてデータ転送することができる。   Therefore, the DMACs 11a to 11n and 21a to 21m that are divided into the plurality of semiconductor devices 10 and 20 can be replaced with a plurality of DMACs 11a to 11n and 21a to 21m with an inexpensive and simple configuration without adding a large number of terminals. Data transfer can be performed in conjunction.

また、本実施例のデータ処理装置1は、編集DMAC21aが、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させている。   In the data processing apparatus 1 of the present embodiment, when the editing DMAC 21a sets a pause command in its descriptor, the data transfer apparatus 1 temporarily stops data transfer until a restart instruction is issued.

したがって、編集DMAC21aが入力DMAC11aによるデータ転送を追い越すことを適切に防止することができ、連動による適切なデータ転送を行うことができる。   Therefore, it is possible to appropriately prevent the editing DMAC 21a from overtaking the data transfer by the input DMAC 11a, and it is possible to perform appropriate data transfer by interlocking.

図6〜図11は、本発明のデータ処理装置及びデータ処理方法の第2実施例を示す図であり、図6は、本発明のデータ処理装置及びデータ処理方法の第2実施例を適用したデータ処理装置のDMACの要部ブロック構成図である。   6 to 11 are diagrams showing a second embodiment of the data processing apparatus and data processing method of the present invention, and FIG. 6 applies the second embodiment of the data processing apparatus and data processing method of the present invention. It is a principal block block diagram of DMAC of a data processor.

なお、本実施例は、上記第1実施例と同様のデータ処理装置1に適用したものであり、本実施例の説明においては、必要に応じて、第1実施例で用いた符号をそのまま用いて説明する。   The present embodiment is applied to the data processing apparatus 1 similar to the first embodiment, and in the description of the present embodiment, the reference numerals used in the first embodiment are used as they are as necessary. I will explain.

図6において、DMAC11a〜11n、21a〜21mは、第1実施例の場合と同様に、データ処理部30、コマンド制御部31、メモリアクセス部32、ディスクリプタ制御部33を備えているとともに、バスセレクタ50を備えている。   In FIG. 6, DMACs 11a to 11n and 21a to 21m are provided with a data processing unit 30, a command control unit 31, a memory access unit 32, and a descriptor control unit 33 as in the case of the first embodiment, and a bus selector. 50.

ディスクリプタ制御部33は、アービタ12を介してメモリ3のディスクリプタへ情報を書く(送信する)ためのバスを備えていてこの書込用のバスがバスセレクタ50に接続されており、このバスセレクタ50には、メモリアクセス部32のバスも接続されている。バスセレクタ50は、ディスクリプタ制御部33からのセレクト条件、セレクトタイミングを決定する「D:ライトバック指示」によってディスクリプタ制御部33からのバスとメモリアクセスバス部42からのバスの一方を選択してアービタ12に接続する。   The descriptor control unit 33 includes a bus for writing (transmitting) information to the descriptor of the memory 3 via the arbiter 12, and the bus for writing is connected to the bus selector 50. The memory access unit 32 is also connected to the bus. The bus selector 50 selects one of the bus from the descriptor control unit 33 and the bus from the memory access bus unit 42 in accordance with “D: write back instruction” that determines the selection condition and selection timing from the descriptor control unit 33, and the arbiter 12 is connected.

本実施例のDMAC11a〜11n、21a〜21mは、メモリアクセス部32からディスクリプタ制御部33に「E:転送済みデータ数」が出力され、この転送済データ数は、データ処理部30でデータを可変長圧縮する場合などに、バンド単位で符号数がいくつになったかをディスクリプタへ書く場合に使用され、可変長圧縮しない場合は、この転送済データ集の情報は利用しない。また、本実施例のDMAC11a〜11n、21a〜21mは、後述するディスクリプタポーリング間隔を、コマンド制御部31からディスクリプタ制御部33に出力する「F:ディスクリプタ監視間隔」で設定し、このディスクリプタポーリング間隔は、任意の間隔が設定可能である。   In the DMACs 11 a to 11 n and 21 a to 21 m of this embodiment, “E: number of transferred data” is output from the memory access unit 32 to the descriptor control unit 33, and the data processing unit 30 can change the number of transferred data. This is used when writing to the descriptor the number of codes in band units when long compression is performed, and when the variable length compression is not performed, this transferred data collection information is not used. Further, the DMACs 11a to 11n and 21a to 21m of this embodiment set a descriptor polling interval, which will be described later, as “F: descriptor monitoring interval” output from the command control unit 31 to the descriptor control unit 33. Any interval can be set.

そして、本実施例のデータ処理装置1では、メモリ3のディスクリプタには、連動するDMAC11a〜11n、21a〜21m、例えば、半導体デバイス10の入力DMAC11aと半導体デバイス20の編集DMAC21aを連動させる場合、図7(a)に示すように、入力DMAC11aのディスクリプタである入力用ディスクリプタを、編集DMAC21aの編集用リードディスクリプタとしても用いて、入力DMAC11aと編集DMAC21aで共用させ、編集DMAC21aの編集用ライトディスクリプタ(図7(b)参照)は、別に設ける。そして、共用ディスクリプタの各種コマンドに、図7(a)にしめすように、一時停止を指示するコマンドであるPAUSEビット、バンド転送が終了すると割り込みの発生を指示するコマンドであるCHAINビットを設けるとともに、連動動作を指示するSYNCビット(連動指示コマンド)及びディスクリプタに情報が書き戻されたことを示すWBビット(転送終了コマンド)を設ける。   In the data processing apparatus 1 of this embodiment, when the DMACs 11a to 11n and 21a to 21m that are linked to the descriptor of the memory 3, for example, the input DMAC 11a of the semiconductor device 10 and the editing DMAC 21a of the semiconductor device 20 are linked, FIG. 7 (a), the input descriptor that is the descriptor of the input DMAC 11a is also used as the editing read descriptor of the editing DMAC 21a, and is shared by the input DMAC 11a and the editing DMAC 21a, and the editing write descriptor (see FIG. 7 (b)) is provided separately. As shown in FIG. 7A, the various commands of the shared descriptor are provided with a PAUSE bit that is a command for instructing a pause, and a CHAIN bit that is a command for instructing the generation of an interrupt when the band transfer is completed. A SYNC bit (interlock instruction command) for instructing the interlock operation and a WB bit (transfer end command) indicating that information has been written back to the descriptor are provided.

次に、本実施例の作用を説明する。本実施例のデータ処理装置1は、異なる半導体デバイス10と半導体デバイス20のDMAC11a〜11nとDMAC21a〜21mをディスクリプタを利用するだけでなく、同じディスクリプタを共用して連動させてデータ処理を行う。   Next, the operation of this embodiment will be described. The data processing apparatus 1 according to the present embodiment not only uses the descriptors of the DMACs 11a to 11n and the DMACs 21a to 21m of the different semiconductor devices 10 and 20 but also performs data processing by sharing the same descriptors.

すなわち、データ処理装置1は、いま、図1に破線矢印で示したように、外部からの画像データを、半導体デバイス10の入力DMAC(連動元DMAC)11aと半導体デバイス20の編集DMAC(連動相手DMAC)21aを連動させて、例えば、図1に「あ」の画像について示したような画像処理を施して、メモリ3に格納する場合について説明する。この場合、CPU/メモリ制御部2は、図7(a)に示したように、メモリ3の入力DMAC11aのディスクリプタと編集DMAC21aの編集用リードディスクリプタを共用とするとともに、その各種コマンド領域には、一時停止を指示するコマンドであるPAUSEビット、バンド転送が終了すると割り込みの発生を指示するコマンドであるCHAINビットを設けるとともに、連動動作を指示するSYNCビット及びディスクリプタに情報が書き戻されたことを示すWBビットを追加する。   That is, the data processing apparatus 1 now converts the image data from the outside into the input DMAC (linkage source DMAC) 11a of the semiconductor device 10 and the edit DMAC (link partner) of the semiconductor device 20, as indicated by the broken line arrows in FIG. (DMAC) 21a will be described in conjunction with the case where, for example, image processing as shown for the “A” image in FIG. In this case, as shown in FIG. 7A, the CPU / memory control unit 2 shares the input DMAC 11a descriptor of the memory 3 and the editing read descriptor of the editing DMAC 21a. A PAUSE bit, which is a command for instructing suspension, and a CHAIN bit, which is a command for instructing generation of an interrupt when band transfer ends, are provided, and the information is written back to the SYNC bit and descriptor for instructing the interlocking operation. Add the WB bit.

そして、データ処理装置1は、図8に示すように、コマンド制御部31が、DMA動作コマンドをコマンドインターフェイス13、23を介してCPU/メモリ制御部2から受け取ると、ディスクリプタ制御部33に、「A:起動指示」(図6参照)を出力する(ステップS201)。ディスクリプタ制御部33は、「A:起動指示」を受け取ると、メモリ3へディスクリプタ情報を読みに行ってディスクリプタを取得すると(ステップS202)、メモリアクセス部32に、「B:バンド転送開始指示」(図6参照)を出す。この「B:バンド転送開始指示」には、転送開始アドレス、1次元転送であるのか、2次元転送であるのかの転送種類、1次元転送の場合には、転送サイズ、2次元転送の場合には、転送幅と転送ライン数が含まれている。メモリアクセス部32は、は「B:バンド転送開始指示」を受信すると、「B:バンド転送開始指示」に基づいたデータ転送を行い、転送が終了すると、ディスクリプタ制御部33及びコマンド制御部31に、「C:バンド転送終了通知」(図6参照)を出力する(ステップS203)。   When the command control unit 31 receives the DMA operation command from the CPU / memory control unit 2 through the command interfaces 13 and 23 as shown in FIG. A: Start instruction ”(see FIG. 6) is output (step S201). Upon receiving “A: activation instruction”, the descriptor control unit 33 reads the descriptor information into the memory 3 and obtains the descriptor (step S202). When the descriptor control unit 33 receives the “B: band transfer start instruction” ( (See FIG. 6). This “B: band transfer start instruction” includes the transfer start address, the transfer type of 1-dimensional transfer or 2-dimensional transfer, the transfer size in the case of 1-dimensional transfer, and the transfer size in the case of 2-dimensional transfer. Includes the transfer width and the number of transfer lines. When the memory access unit 32 receives “B: band transfer start instruction”, the memory access unit 32 performs data transfer based on “B: band transfer start instruction”. When the transfer is completed, the memory access unit 32 sends the data to the descriptor control unit 33 and the command control unit 31. , “C: Band transfer end notification” (see FIG. 6) is output (step S203).

ディスクリプタ制御部33は、「C:バンド転送終了通知」を受信すると、最終バンドの転送であったか否かを判断し(ステップS204)、最終バンドの転送でなかった場合には、ディスクリプタに情報を書き込むライトバック動作を行うか否かのライトバック指示があったかをチェックする(ステップS206)。ライトバック指示があると、バスセレクタ50に「D:ライトバック指示」をバスセレクタ50に出して、ライトバック動作を実行し(ステップS207)、一時停止を行うPAUSE動作であったかを判断、すなわち、編集DMAC21aのディスクリプタの各種コマンド欄にPAUSEビットがセットされていたかによってチェックする(ステップS208)。ディスクリプタ制御部33は、ステップS206で、ライトバック指示がないときには、ライトバック動作を行うことなく、一時停止を行うPAUSE動作であったかを判断する(ステップS208)。   Upon receiving “C: Band transfer end notification”, the descriptor control unit 33 determines whether or not the transfer is the last band (step S204). If the transfer is not the last band, the descriptor control unit 33 writes information in the descriptor. It is checked whether there is a write back instruction as to whether or not to perform a write back operation (step S206). If there is a write-back instruction, the bus selector 50 outputs “D: write-back instruction” to the bus selector 50, executes the write-back operation (step S207), and determines whether the PAUSE operation is a temporary stop, that is, A check is made based on whether the PAUSE bit is set in the various command fields of the descriptor of the editing DMAC 21a (step S208). When there is no write back instruction in step S206, the descriptor control unit 33 determines whether or not the PAUSE operation has been paused without performing the write back operation (step S208).

ステップS208で、PAUSE動作でないときには、ディスクリプタ制御部33は、ステップS202に戻って、次のディスクリプタの取得から上記同様に処理する(ステップS202〜S208)。   If the PAUSE operation is not performed in step S208, the descriptor control unit 33 returns to step S202 and performs the same processing as described above from the acquisition of the next descriptor (steps S202 to S208).

ステップS208で、PAUSE動作であった場合には、ディスクリプタ制御部33は、再開を示すCONTINUE指示がコマンド制御部31からくるのを待ち(ステップS209)、CONTINUE指示がくると、ステップS202に戻って、次のディスクリプタの取得から上記同様に処理する(ステップS202〜S209)。   If the PAUSE operation is performed in step S208, the descriptor control unit 33 waits for a CONTINUE instruction indicating resumption from the command control unit 31 (step S209). When the CONTINUE instruction is received, the descriptor control unit 33 returns to step S202. From the acquisition of the next descriptor, the same processing as described above is performed (steps S202 to S209).

ステップS204で、最終バンドの転送であった場合には、ディスクリプタ制御部33は、ライトバック指示があったかをチェックし(ステップS210)、ライトバック指示があると、バスセレクタ50に「D:ライトバック指示」をバスセレクタ50に出して、ライトバック動作を実行して(ステップS211)、DMA動作を終了して、処理を終了する(ステップS212)。ステップS210で、ライトバック指示がないときには、ディスクリプタ制御部33は、ライトバック動作を行うことなく、DMA動作を終了して、処理を終了する(ステップS212)。   In step S204, when it is the transfer of the last band, the descriptor control unit 33 checks whether there is a write back instruction (step S210), and if there is a write back instruction, the bus selector 50 indicates “D: write back. "Instruction" is issued to the bus selector 50, the write back operation is executed (step S211), the DMA operation is terminated, and the process is terminated (step S212). If there is no write back instruction in step S210, the descriptor control unit 33 ends the DMA operation without performing the write back operation, and ends the process (step S212).

そして、データ処理装置1は、図9に示すように、DMAC11a〜11n、21a〜21mを連動動作させて処理を行うか否かを選択する。   Then, as shown in FIG. 9, the data processing device 1 selects whether or not to perform processing by operating the DMACs 11a to 11n and 21a to 21m in an interlocking manner.

すなわち、ソフトウェアは、画像転送の開始を要求されると、まず、自動カラー判定モードであるかチェックし(ステップS301)、自動カラー判定モードであると、DMAC11a〜11n、21a〜21mを連動させない非連動として処理を行う(ステップS302)。すなわち、自動カラー判定モードは、カラー原稿であるか白黒原稿であるかを指定しないモードであり、自動カラー判定モードでは、原稿を最後まで読み取らないとカラーであるのか白黒であるのかが判定できないのに対して、画像を入力した後に行う編集や色変換がカラー、白黒に依存したような内容の場合には、原稿を最後まで読み取らないと次の処理ができないため、連動動作の対象外とする。   That is, when requested to start image transfer, the software first checks whether the automatic color determination mode is set (step S301), and if the automatic color determination mode is set, the DMACs 11a to 11n and 21a to 21m are not linked. Processing is performed as interlocking (step S302). That is, the automatic color determination mode is a mode in which it is not specified whether it is a color document or a monochrome document. In the automatic color determination mode, it is impossible to determine whether the document is color or monochrome unless the document is read to the end. On the other hand, if editing or color conversion performed after inputting an image depends on color or black and white, the next processing cannot be performed unless the original is read to the end, so it is excluded from the linked operation. .

次に、ソフトウェアは、ステップS301で、自動カラー判定モードでないときには、180度回転が必要かチェックし(ステップS303)、回転が必要なときには、連動させないで、処理を終了し、また、180度回転が必要でないときには、DMAC11a〜11n、21a〜21mを連動させる連動処理を行う(ステップS304)。すなわち、画像を180度回転する場合には、原稿を最後まで読み取る必要があるため、連動動作の対象外とする。ただし、図1に示した画像のように、1ページを複数個のバンドに分割して処理を行う場合には、バンド単位で180度回転を行うことができるため、この場合は、連動動作の対象となる。   Next, in step S301, if the software is not in the automatic color determination mode, the software checks whether 180 degree rotation is necessary (step S303). If rotation is necessary, the software ends the process without interlocking, and rotates 180 degrees. Is not necessary, an interlocking process for interlocking the DMACs 11a to 11n and 21a to 21m is performed (step S304). That is, when the image is rotated by 180 degrees, it is necessary to read the document to the end, so that it is excluded from the interlocking operation. However, as shown in the image of FIG. 1, when processing is performed by dividing one page into a plurality of bands, the rotation can be performed 180 degrees in units of bands. It becomes a target.

そして、データ処理装置1は、入力DMAC11aと編集DMAC21aを連動させた上記データ処理を、図10に示すように行う。まず、ソフトウェアは、入力DMAC用のディスクリプタ及び編集DMAC21aのライト用のディスクリプタを、図7に示したように用意する。すなわち、編集DMAC21aのリード用のディスクリプタは用意せずに、入力DMAC11a用のディスクリプタを共用する。入力DMAC11a用のディスクリプタには、連動動作を指示するためのSYNCビットを設定し、WBビットは「0」を初期設定する。   Then, the data processing apparatus 1 performs the data processing in which the input DMAC 11a and the editing DMAC 21a are linked as shown in FIG. First, the software prepares an input DMAC descriptor and an edit DMAC 21a write descriptor as shown in FIG. That is, the descriptor for input DMAC 11a is shared without preparing a read descriptor for editing DMAC 21a. In the descriptor for the input DMAC 11a, the SYNC bit for instructing the interlocking operation is set, and the WB bit is initially set to “0”.

次に、ソフトウェアは、入力DMAC11aと編集DMAC21aの双方を同時に起動し、入力DMAC11a及び編集DMAC21aのリード側は、入力DMAC11a用のディスクリプタを読み込む。入力DMAC11aは、ディスクリプタを読み込むと、いま、SYNCビットが設定されているため、自分自身に対して連動動作をする他のDMAC21a〜21mが存在することを検知する。   Next, the software activates both the input DMAC 11a and the edit DMAC 21a simultaneously, and the read side of the input DMAC 11a and the edit DMAC 21a reads the descriptor for the input DMAC 11a. When the input DMAC 11a reads the descriptor, since the SYNC bit is set now, the input DMAC 11a detects that there are other DMACs 21a to 21m operating in conjunction with itself.

編集DMAC21aは、ディスクリプタを読み込むと、SYNCビットが設定されているため、連動動作をする必要があることを検知する。   When the editing DMAC 21a reads the descriptor, the editing DMAC 21a detects that the interlock operation is necessary because the SYNC bit is set.

入力DMAC11aは、「A」のバンドのデータをメモリ3に書き込み、バンドの転送が終了すると、入力DMAC11a用のディスクリプタのWBビットに「1」を設定する。編集DMAC21aは、入力DMAC11a用のディスクリプタのWBビットに「1」が設定されているか否かを、入力DMAC11aが[A」のバンド転送を行っている間、ハードウェアで監視を行う。   The input DMAC 11a writes the band data “A” to the memory 3, and when the band transfer is completed, sets the WB bit of the descriptor for the input DMAC 11a to “1”. The editing DMAC 21a monitors by hardware whether or not the WB bit of the descriptor for the input DMAC 11a is set to “1” while the input DMAC 11a performs the band transfer of [A].

入力DMAC11a用のディスクリプタのWBビットに「1」が設定されているのを検知すると、編集DMAC23aは、ライト用のディスクリプタ(図7(b)参照)を読み出し、「A」のバンドに対する編集動作を自動的に開始する。編集DMAC23aは、予め連動動作を行うことをディスクリプタのSYNCビットで知っているため、「A」のバンド転送が終了すると、一旦停止し、入力DMAC23aの「B」のバンドのディスクリプタを監視する。編集DMAC23aは、入力DMAC11aの「B」のバンドのディスクリプタのWBが「1」になると、「B」のバンド転送を開始する。   When it is detected that “1” is set in the WB bit of the descriptor for the input DMAC 11a, the editing DMAC 23a reads the writing descriptor (see FIG. 7B) and performs the editing operation on the band “A”. Start automatically. Since the editing DMAC 23a knows in advance that the interlock operation is performed by the SYNC bit of the descriptor, when the band transfer of “A” is completed, the editing DMAC 23a stops temporarily and monitors the descriptor of the band “B” of the input DMAC 23a. When the WB of the descriptor of the “B” band of the input DMAC 11a becomes “1”, the editing DMAC 23a starts the band transfer of “B”.

データ処理装置1は、上記処理を繰り返し行い、入力DMAC11aのディスクリプタの次ディスクリプタポインタに特殊な数値、例えば、「ALL0」や「ALL1」等の数値が書き込まれると、転送の終了であると判断する。入力DMAC11aは、この転送終了を示す数値を検知すると、そのバンドの転送が終了することを知ることができ、そのバンドの転送終了後、はじめて割込みをソフトウェアに発生する。   The data processing apparatus 1 repeats the above processing, and determines that the transfer is completed when a special numerical value such as “ALL0” or “ALL1” is written in the next descriptor pointer of the descriptor of the input DMAC 11a. . When the input DMAC 11a detects a numerical value indicating the end of the transfer, it can know that the transfer of the band is completed, and an interrupt is generated in the software only after the transfer of the band is completed.

編集DMAC21aも同様であって、編集DMAC21aは、次ディスクリプタポイント(ネクストディスクリプタポインタ)に該転送終了を示す特殊な数値が書かれ、かつ、WBビットが「1」になると、最終バンドの転送を行う。そして、その転送が終了すると、ソフトウェアに完了割込みを発生する。   The same applies to the edit DMAC 21a. The edit DMAC 21a transfers the last band when a special numerical value indicating the end of the transfer is written in the next descriptor point (next descriptor pointer) and the WB bit becomes “1”. . When the transfer is completed, a completion interrupt is generated in the software.

そして、上記編集DMAC21aのディスクリプタ制御部33は、入力DMAC11aと編集DMAC21aで共用しているディスクリプタのWBビットが「1」になることを、図11に示すようなタイミングで監視する。WBビットが「1」になることを監視するタイミングは、図11に示すようなディスクリプタポーリング間隔毎である。このディスクリプタポーリング間隔は、図6のコマンド制御部31からディスクリプタ制御部33へ出力される「F:ディスクリプタ監視間隔」で設定することにより、任意の間隔を設定可能である。間隔を短く設定すると、連動対象DMACである入力DMAC11aのバンド転送終了と連動するDMACである編集DMAC21aの開始タイミングの時間差を短くすることができるが、その反面、ディスクリプタポーリングのためのアクセス回数が多くなるため、メモリ3の帯域を占有することになり、メモリ3のパフォーマンスが低下する。逆に、ディスクリプタポーリング間隔を長く設定すると、連動対象DMACである入力DMAC11aのバンド転送終了と連動するDMACである編集DMAC21aの開始タイミングの時間差が大きくなってしまうので、処理目的等に応じて好適なディスクリプタポーリング間隔が設定される。   Then, the descriptor control unit 33 of the editing DMAC 21a monitors that the WB bit of the descriptor shared by the input DMAC 11a and the editing DMAC 21a becomes “1” at the timing as shown in FIG. The timing of monitoring that the WB bit becomes “1” is every descriptor polling interval as shown in FIG. The descriptor polling interval can be set to an arbitrary interval by setting “F: descriptor monitoring interval” output from the command control unit 31 to the descriptor control unit 33 in FIG. If the interval is set short, the time difference of the start timing of the editing DMAC 21a that is the DMAC that is linked to the end of the band transfer of the input DMAC 11a that is the interlocking target DMAC can be shortened, but on the other hand, the number of accesses for descriptor polling is large. Therefore, the bandwidth of the memory 3 is occupied, and the performance of the memory 3 is reduced. Conversely, if the descriptor polling interval is set to be long, the time difference between the start timings of the editing DMAC 21a that is the DMAC that is linked to the end of the band transfer of the input DMAC 11a that is the interlocking target DMAC becomes large, which is suitable for the processing purpose and the like. Descriptor polling interval is set.

このように、本実施例のデータ処理装置1は、複数の半導体集積回路に分散して存在する複数のDMAC11a〜11n、21a〜21mのうちデータをメモリ3に書き込む入力DMAC11aとメモリ3からデータを読み取る編集DMAC21aを連動させてデータ転送してデータ処理を行う場合に、メモリ3上の入力DMAC11a用のディスクリプタに、連動動作を指示するSYNCビット(連動指示コマンド)及び転送終了を示すWBコマンド(転送終了コマンド)を書き込むコマンド領域を有し、編集DMAC21aが、入力DMAC11a用のディスクリプタのSYNCコマンド及びWBコマンドを読み込んで、該入力DMAC11aの動作の進行状況を把握して、該連動によるデータ転送を行っている。   As described above, the data processing apparatus 1 according to the present embodiment includes the input DMAC 11a for writing data to the memory 3 and the data from the memory 3 among the plurality of DMACs 11a to 11n and 21a to 21m that are distributed in a plurality of semiconductor integrated circuits. When data processing is performed by transferring data to be linked with the editing DMAC 21a to be read, the SYNC bit (interlock instruction command) for instructing the interlock operation and the WB command (transfer) indicating the end of the transfer to the descriptor for the input DMAC 11a on the memory 3 The editing DMAC 21a reads the SYNC command and WB command of the descriptor for the input DMAC 11a, grasps the progress of the operation of the input DMAC 11a, and performs data transfer according to the interlocking. ing.

したがって、膨大な端子を増設することなく、ディスクリプタを用意する数とソフト制御の煩雑さを削減しつつ、複数の半導体デバイス10、20に分かれて存在するDMAC11a〜11n、21a〜21m同士を、安価にかつ簡単な構成で複数のDMAC11a〜11n、21a〜21mを連動させてデータ転送することができ、より一層安価にかつ高速に複数のDMAC11a〜11n、21a〜21mを連動させてデータ転送することができるとともに、メモリ3の有効利用を図ることができる。すなわち、上記第1実施例の場合、端子数が増えず、内部構成も変化がないため、半導体デバイス10、20のコストアップはないが、ソフトウェアがバンド転送終了のたびに、割込み処理の実行、DMAC21a〜21m(上記例では、編集DMAC21a)の再起動を実行する必要がある。ところが、本実施例のデータ処理装置1は、ソフトウェアの介在を大きく削減することができ、DMAC11a〜11n、DMAC21a〜21mの連動によるデータ転送を、安価にかつより一層高速に行うことができる。   Therefore, the number of descriptors to be prepared and the complexity of software control are reduced without adding a huge number of terminals, and the DMACs 11a to 11n and 21a to 21m existing separately in the plurality of semiconductor devices 10 and 20 are inexpensive. In addition, a plurality of DMACs 11a to 11n and 21a to 21m can be linked to each other with a simple configuration, and data transfer can be performed at a lower cost and at a higher speed by linking the plurality of DMACs 11a to 11n and 21a to 21m. In addition, the memory 3 can be used effectively. That is, in the case of the first embodiment, since the number of terminals does not increase and the internal configuration does not change, the cost of the semiconductor devices 10 and 20 does not increase. It is necessary to restart the DMACs 21a to 21m (in the above example, the editing DMAC 21a). However, the data processing apparatus 1 of the present embodiment can greatly reduce software intervention, and can perform data transfer by interlocking with the DMACs 11a to 11n and the DMACs 21a to 21m at a lower cost and at a higher speed.

また、本実施例のデータ処理装置1は、編集DMAC21aが、入力DMAC11a用のディスクリプタにSYNCコマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、連動によるデータ転送動作を一時停止している。   In addition, when the editing DMAC 21a sets the SYNC command in the descriptor for the input DMAC 11a, the data processing apparatus 1 according to the present embodiment temporarily performs the data transfer operation by interlocking until the transfer end command is set in the descriptor. It has stopped.

したがって、データが書き込まれていない領域にアクセスしてしまうことを防ぐことができ、DMAC11a〜11n、21a〜21mの連動動作によるデータ転送を適切に行うことができる。   Therefore, it is possible to prevent an area where data is not written from being accessed, and data transfer by the interlocking operation of the DMACs 11a to 11n and 21a to 21m can be appropriately performed.

さらに、本実施例のデータ処理装置1は、編集DMAC21aが、所定のタイミング毎に、入力DMAC11a用のディスクリプタを読み込んで、WBコマンドがセットされているか確認している。   Further, in the data processing apparatus 1 of this embodiment, the editing DMAC 21a reads the descriptor for the input DMAC 11a at every predetermined timing and confirms whether the WB command is set.

したがって、メモリ3の帯域を占有しない程度の間隔を適宜設定することができ、メモリ3の帯域を抑制することなくデータ転送することができる。   Accordingly, an interval that does not occupy the bandwidth of the memory 3 can be set as appropriate, and data can be transferred without suppressing the bandwidth of the memory 3.

また、本実施例のデータ処理装置1は、編集DMAC21aが、WBコマンドのセットの有無の確認を任意に設定されたタイミング毎に実行している。   Further, in the data processing apparatus 1 of the present embodiment, the editing DMAC 21a executes confirmation of the presence / absence of a WB command set at each arbitrarily set timing.

したがって、編集DMAC21aの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。   Therefore, the activation timing of the editing DMAC 21a can be appropriately known without software intervention, and the complexity of software control can be reduced.

さらに、本実施例のデータ処理装置1は、入力DMAC11aが、自己のディスクリプタに連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタにWBコマンドをセットする。   Furthermore, in the data processing apparatus 1 of this embodiment, when the input DMAC 11a has set the link instruction command in its own descriptor, when the data transfer of the transfer amount described in the descriptor is completed, the data is transferred to the descriptor WB. Set the command.

したがって、編集DMAC21aの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。   Therefore, the activation timing of the editing DMAC 21a can be appropriately known without software intervention, and the complexity of software control can be reduced.

また、本実施例のデータ処理装置1は、編集DMAC21aが、入力DMAC11a用のディスクリプタにWBコマンドがセットされると、自動的にデータ転送を開始している。   Further, in the data processing apparatus 1 of this embodiment, when the editing DMAC 21a sets a WB command in the descriptor for the input DMAC 11a, data transfer is automatically started.

したがって、編集DMAC21aの起動タイミングを、ソフトウェアの介在なしで適切に知ることができ、ソフト制御の煩雑さを軽減することができる。   Therefore, the activation timing of the editing DMAC 21a can be appropriately known without software intervention, and the complexity of software control can be reduced.

さらに、本実施例のデータ処理装置1は、編集DMAC21aが、連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止している。   Further, in the data processing apparatus 1 of the present embodiment, when the editing DMAC 21a finishes the data transfer of the band data by the interlocking, the data transfer is temporarily stopped.

したがって、一旦停止した動作を自動で再開することができ、連動動作をミスの発生を防止しつつ適切に実行することができる。   Therefore, the once stopped operation can be automatically resumed, and the interlocking operation can be appropriately executed while preventing the occurrence of a mistake.

以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   The invention made by the present inventor has been specifically described based on the preferred embodiments. However, the present invention is not limited to the above, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、複合装置、プリンタ、スキャナ等のDMACを利用して高速にデータ処理するデータ処理装置及びデータ処理方法に利用することができる。   The present invention can be used for a data processing apparatus and a data processing method for processing data at high speed using a DMAC such as a composite apparatus, a printer, and a scanner.

本発明の第1実施例を適用したデータ処理装置の要部ブロック構成図。The principal part block block diagram of the data processor which applied 1st Example of this invention. 図1のメモリ上のディスクリプタで、入力用ディスクリプタ(図2(a))、編集用リードディスクリプタ(図2(b))及び編集用ライトディスクリプタを示す図。FIG. 3 is a diagram illustrating an input descriptor (FIG. 2A), an edit read descriptor (FIG. 2B), and an edit write descriptor in the descriptor in the memory of FIG. 1. 図1のDMACの詳細なブロック構成図。The detailed block block diagram of DMAC of FIG. 図1のデータ処理装置による連動によるデータ転送制御処理を示すフローチャート。The flowchart which shows the data transfer control process by the interlocking | linkage by the data processor of FIG. 図5によるデータ転送制御処理の動作タイミングを示す図。The figure which shows the operation | movement timing of the data transfer control process by FIG. 本発明の第2実施例を適用したデータ処理装置のDMACのブロック構成図。The block block diagram of DMAC of the data processor to which 2nd Example of this invention is applied. メモリ上の編集用リードディスクリプタと共用される入力用ディスクリプタ(図7(a))と編集用ライトディスクリプタを示す図。FIG. 8 is a diagram showing an input descriptor (FIG. 7A) and an edit write descriptor shared with an edit read descriptor on a memory. 本発明の第2実施例を適用したデータ処理装置によるデータ転送制御処理を示すフローチャート。The flowchart which shows the data transfer control processing by the data processor to which 2nd Example of this invention is applied. 本発明の第2実施例を適用したデータ処理装置によるDMACの連動選択処理を示すフローチャート。The flowchart which shows the interlocking | linkage selection process of DMAC by the data processor which applied 2nd Example of this invention. 図8によるデータ転送制御処理の動作タイミングを示す図。The figure which shows the operation | movement timing of the data transfer control process by FIG. 図10のディスクリプタポーリング間隔の説明図。Explanatory drawing of the descriptor polling interval of FIG. 従来のDMACの連動動作を行う半導体デバイスの一例を示す図。The figure which shows an example of the semiconductor device which performs the interlocking | linkage operation | movement of the conventional DMAC. 従来の2つの半導体デバイスのDMACを連動動作させる場合の一例を示す図。The figure which shows an example in the case of operating the DMAC of two conventional semiconductor devices interlockingly.

符号の説明Explanation of symbols

1 データ処理装置
2 CPU/メモリ制御部
3 メモリ
10、20 半導体デバイス
11a〜11n DMAC
12 アービタ
20 半導体デバイス
21a〜11m DMAC
22 アービタ
13、23 コマンドインターフェイス
30 データ処理部
31 コマンド制御部
32 メモリアクセス部
33 ディスクリプタ制御部
2 入力書面
3 1次元イメージセンサ
4 ワイドレンズ
5 照明ランプ
DESCRIPTION OF SYMBOLS 1 Data processing apparatus 2 CPU / memory control part 3 Memory 10, 20 Semiconductor device 11a-11n DMAC
12 Arbiter 20 Semiconductor Device 21a to 11m DMAC
22 Arbiter 13, 23 Command interface 30 Data processing unit 31 Command control unit 32 Memory access unit 33 Descriptor control unit 2 Input document 3 One-dimensional image sensor 4 Wide lens 5 Illumination lamp

Claims (11)

複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記連動相手DMAコントローラは、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元DMAコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことを特徴とするデータ処理装置。   Data that performs data processing by transferring data by linking an interlocking source DMA controller that writes data to a memory and an interlocking partner DMA controller that reads data from the memory among a plurality of DMA controllers that are distributed in a plurality of semiconductor integrated circuits A processing apparatus, wherein the interlocking partner DMA controller reads the contents of the descriptor on the memory, grasps the progress of the operation of the interlocking source DMA controller, and performs data transfer by the interlocking Data processing device. 前記連動相手DMAコントローラは、自己のディスクリプタに、一時停止コマンドがセットされると、再開指示があるまでデータ転送を一次停止させることを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein when a pause command is set in its own descriptor, the interlocking partner DMA controller temporarily stops data transfer until a restart instruction is issued. 複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理装置であって、前記メモリ上の前記連動元DMAコントローラ用のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手DMAコントローラは、該連動元DMAコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことを特徴とするデータ処理装置。   Data that performs data processing by transferring data by linking an interlocking source DMA controller that writes data to a memory and an interlocking partner DMA controller that reads data from the memory among a plurality of DMA controllers that are distributed in a plurality of semiconductor integrated circuits A processing apparatus, comprising: a command area for writing a link instruction command for instructing the link and a transfer end command indicating a transfer end in the descriptor for the link source DMA controller on the memory; The interlock source DMA controller descriptor reads the interlock instruction command and the transfer end command, grasps the progress of the operation of the interlock source DMA controller, and performs data transfer by the interlock. Data processing device. 前記連動相手DMAコントローラは、前記連動元DMAコントローラ用のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに転送終了コマンドがセットされるまで、該連動によるデータ転送動作を一時停止することを特徴とする請求項3記載のデータ処理装置。   When the interlocking instruction command is set in the descriptor for the interlocking source DMA controller, the interlocking partner DMA controller temporarily stops the data transfer operation by the interlocking until the transfer end command is set in the descriptor. The data processing apparatus according to claim 3. 前記連動相手DMAコントローラは、所定のタイミング毎に、前記連動元DMAコントローラ用のディスクリプタを読み込んで、前記転送終了コマンドがセットされているか確認することを特徴とする請求項4記載のデータ処理装置。   5. The data processing apparatus according to claim 4, wherein the interlocking partner DMA controller reads the descriptor for the interlocking source DMA controller at every predetermined timing to check whether the transfer end command is set. 前記連動相手DMAコントローラは、前記転送終了コマンドのセットの有無の確認を任意に設定されたタイミング毎に実行することを特徴とする請求項5記載のデータ処理装置。   6. The data processing apparatus according to claim 5, wherein the linked partner DMA controller performs confirmation of the presence / absence of the transfer end command set at an arbitrarily set timing. 前記連動元DMAコントローラは、前記自己のディスクリプタに前記連動指示コマンドが設定されていると、該ディスクリプタに記載されている転送量のデータ転送が終了すると、該ディスクリプタに転送終了コマンドをセットすることを特徴とする請求項3から請求項6のいずれかに記載のデータ処理装置。   When the interlock instruction command is set in its own descriptor, the interlocking source DMA controller sets a transfer end command in the descriptor when the data transfer of the transfer amount described in the descriptor ends. The data processing device according to claim 3, wherein the data processing device is a data processing device. 前記連動相手DMAコントローラは、前記連動元DMAコントローラ用のディスクリプタに前記転送終了コマンドがセットされると、自動的にデータ転送を開始することを特徴とする請求項4から請求項7のいずれかに記載のデータ処理装置。   8. The link partner DMA controller automatically starts data transfer when the transfer end command is set in the descriptor for the link source DMA controller. The data processing apparatus described. 前記連動相手DMAコントローラは、前記連動によるバンドデータのデータ転送が終了すると、データ転送を一時停止することを特徴とする請求項4から請求項8のいずれかに記載のデータ処理装置。   9. The data processing apparatus according to claim 4, wherein the interlocking partner DMA controller temporarily stops data transfer when the data transfer of the band data by the interlocking is completed. 複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記連動相手DMAコントローラが、前記メモリ上のディスクリプタの内容を読み込んで、前記連動元DMAコントローラの動作の進行状況を把握し、該連動によるデータ転送を行うことを特徴とするデータ処理方法。   Data that performs data processing by transferring data by linking an interlocking source DMA controller that writes data to a memory and an interlocking partner DMA controller that reads data from the memory among a plurality of DMA controllers that are distributed in a plurality of semiconductor integrated circuits In the processing method, the interlocking partner DMA controller reads the contents of the descriptor in the memory, grasps the progress of the operation of the interlocking source DMA controller, and performs data transfer by the interlocking. Data processing method. 複数の半導体集積回路に分散して存在する複数のDMAコントローラのうちデータをメモリに書き込む連動元DMAコントローラと該メモリからデータを読み取る連動相手DMAコントローラを連動させてデータ転送してデータ処理を行うデータ処理方法であって、前記メモリ上の前記連動元DMAコントローラ用のディスクリプタに、前記連動を指示する連動指示コマンド及び転送終了を示す転送終了コマンドを書き込むコマンド領域を有し、前記連動相手DMAコントローラが、該連動元DMAコントローラ用のディスクリプタの該連動指示コマンド及び該転送終了コマンドを読み込んで、該連動元DMAコントローラの動作の進行状況を把握して、該連動によるデータ転送を行うことを特徴とするデータ処理方法。   Data that performs data processing by transferring data by linking an interlocking source DMA controller that writes data to a memory and an interlocking partner DMA controller that reads data from the memory among a plurality of DMA controllers that are distributed in a plurality of semiconductor integrated circuits A processing method, comprising: a command area for writing a link instruction command for instructing the link and a transfer end command indicating a transfer end to the descriptor for the link source DMA controller on the memory; The interlock source DMA controller descriptor reads the interlock instruction command and the transfer end command, grasps the progress of the operation of the interlock source DMA controller, and performs data transfer by the interlock. Data processing method.
JP2007185995A 2007-07-17 2007-07-17 Data processing unit and data processing method Pending JP2009025896A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007185995A JP2009025896A (en) 2007-07-17 2007-07-17 Data processing unit and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007185995A JP2009025896A (en) 2007-07-17 2007-07-17 Data processing unit and data processing method

Publications (1)

Publication Number Publication Date
JP2009025896A true JP2009025896A (en) 2009-02-05

Family

ID=40397672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007185995A Pending JP2009025896A (en) 2007-07-17 2007-07-17 Data processing unit and data processing method

Country Status (1)

Country Link
JP (1) JP2009025896A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061857A (en) * 2011-09-14 2013-04-04 Toshiba Corp Information processing device and program
JP2013205928A (en) * 2012-03-27 2013-10-07 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and dma control method thereof
JP2015018454A (en) * 2013-07-11 2015-01-29 キヤノン株式会社 Data transfer device and data transfer method
JP2021002781A (en) * 2019-06-21 2021-01-07 京セラドキュメントソリューションズ株式会社 Image processing apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061857A (en) * 2011-09-14 2013-04-04 Toshiba Corp Information processing device and program
US8806078B2 (en) 2011-09-14 2014-08-12 Kabushiki Kaisha Toshiba Information processing device and program product
JP2013205928A (en) * 2012-03-27 2013-10-07 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and dma control method thereof
JP2015018454A (en) * 2013-07-11 2015-01-29 キヤノン株式会社 Data transfer device and data transfer method
JP2021002781A (en) * 2019-06-21 2021-01-07 京セラドキュメントソリューションズ株式会社 Image processing apparatus
JP7249504B2 (en) 2019-06-21 2023-03-31 京セラドキュメントソリューションズ株式会社 Image processing device

Similar Documents

Publication Publication Date Title
US7627697B2 (en) Device using multiple DMA controllers for transferring data between a storage device and multiple processing units
JP2009043256A (en) Accessing method and arrangement of memory unit
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
JPH04346151A (en) Data processor
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
JP2009025896A (en) Data processing unit and data processing method
US9172839B2 (en) Image forming apparatus, control method and storage medium
JP2008310798A (en) Image processing controller and image forming apparatus
JP2004318340A (en) Data transfer controller
JP2007094649A (en) Access arbitration circuit
JP2007122369A (en) Data processor and data processing method
JP2008146541A (en) Dma transfer system, dma controller and dma transfer method
JP2008041059A (en) Multiprocessor controller and information processor
JP2007226374A (en) Data processor
JP4902570B2 (en) Image processing controller and image processing apparatus
JP2005258509A (en) Storage device
JP2007026184A (en) Function-processing electronic circuit and its control method
JP2002259326A (en) Dma controller and dma transferring method
JP2001338286A (en) Method and device for image processing
JPH1185673A (en) Method and device for controlling shared bus
JP4560398B2 (en) Data processing circuit
JP3827920B2 (en) Multi-function card
JP2009265776A (en) Image processor
CN115344244A (en) Apparatus and method for processing program language function
JP2007207269A (en) Apparatus and system for image processing