JP2009193282A - Data processing apparatus - Google Patents
Data processing apparatus Download PDFInfo
- Publication number
- JP2009193282A JP2009193282A JP2008032601A JP2008032601A JP2009193282A JP 2009193282 A JP2009193282 A JP 2009193282A JP 2008032601 A JP2008032601 A JP 2008032601A JP 2008032601 A JP2008032601 A JP 2008032601A JP 2009193282 A JP2009193282 A JP 2009193282A
- Authority
- JP
- Japan
- Prior art keywords
- data
- functional module
- module
- transfer
- transfer destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、各機能モジュール間でデータ転送を行うデータ処理装置に関する。 The present invention relates to a data processing apparatus that performs data transfer between functional modules.
画像処理モジュールの中には、画像処理部、圧縮部、伸張部、外部大容量メモリコントローラを複数有しており、画像処理部による画像処理結果の一部または全てを一旦大容量メモリに溜めながら、画像処理部に続く後処理を行っていたが、複数のマスタモジュールから大容量メモリへのアクセスが集中すると外部メモリへの帯域が圧迫し速度低下するという問題点がある。 The image processing module has a plurality of image processing units, compression units, decompression units, and external large-capacity memory controllers, and temporarily stores part or all of the image processing results by the image processing unit in the large-capacity memory. However, post-processing following the image processing unit is performed. However, when accesses from a plurality of master modules to a large-capacity memory are concentrated, the bandwidth to the external memory is compressed and the speed is reduced.
そこで、各モジュールをダイレクトにデータ転送させる技術があるが、各モジュールにマスタとターゲットとを用意することになり、1つのモジュールにデータ転送用のコントローラを2種類持たせる必要があるため、設計をするには回路が複雑なるという問題点がある。 Therefore, there is a technology to transfer data directly to each module. However, a master and a target are prepared for each module, and it is necessary to have two types of controllers for data transfer in one module. However, there is a problem that the circuit becomes complicated.
特許文献1には、機能モジュールと大容量メモリとの間を、DMAを用いてデータを転送する技術が示されている。 Patent Document 1 discloses a technique for transferring data between a functional module and a large-capacity memory using DMA.
本発明の目的は、単純な回路構成で、速度低下を抑制することができるデータ処理装置を提供することである。 An object of the present invention is to provide a data processing apparatus that can suppress a decrease in speed with a simple circuit configuration.
本発明は、複数の機能モジュールを有し、各機能モジュールが内部バスに対してデータを転送開始する前に、書き込み側の機能モジュールは、直接後段の機能モジュールに対して処理内容を示す処理情報送付することを特徴とするデータ処理装置である。 The present invention has a plurality of functional modules, and before each functional module starts to transfer data to the internal bus, the functional module on the writing side directly displays processing information for the subsequent functional module. It is a data processing device characterized by sending.
また本発明は、前記内部バスは、各機能モジュールが転送開始前に発行するダイレクトコマンドにより、転送先経路を決定することを特徴とする。 In the invention, it is preferable that the internal bus determines a transfer destination path by a direct command issued by each functional module before starting the transfer.
また本発明は、前記内部バスが決定する転送先経路は、バスマトリクスで形成され、ポートアドレスの書き換えで前記バスマトリクスの各スイッチを切り替え、転送先経路を決定することを特徴とする。 According to the present invention, the transfer destination path determined by the internal bus is formed by a bus matrix, and each switch of the bus matrix is switched by rewriting the port address to determine the transfer destination path.
また本発明は、前記内部バスが前記転送先経路を決定した後に、書き込み側の機能モジュールから後段の機能モジュールに対して最小単位でデータを転送することを特徴とする。 Further, the present invention is characterized in that after the internal bus determines the transfer destination path, data is transferred from the writing function module to the subsequent function module in a minimum unit.
また本発明は、前記各機能モジュールは、固有のアドレスを所有することを特徴とする。 In the invention, it is preferable that each functional module has a unique address.
また本発明は、所定の容量以上の記憶容量を有する大容量メモリを有し、
前記大容量メモリを介して前記書き込み側の機能モジュールから後段の機能モジュールにデータを転送するとき、データの転送開始前に、前記大容量メモリに送られた書き込み側の機能モジュールが送ったコマンドを解析することにより後段の機能モジュールを決定することを特徴とする。
The present invention also includes a large-capacity memory having a storage capacity greater than a predetermined capacity,
When transferring data from the writing-side functional module to the subsequent-stage functional module via the large-capacity memory, the command sent by the writing-side functional module sent to the large-capacity memory is sent before starting the data transfer. It is characterized in that a subsequent functional module is determined by analysis.
本発明によれば、内部バスに対してデータを転送開始する前に、書き込み側の機能モジュールが、直接後段の機能モジュールに対して処理内容を示す処理情報を送付するので、各機能モジュール間を多くの配線でつなぐ必要がなくなり、単純な回路構成で速度低下の抑制を実現することができる。 According to the present invention, before starting to transfer data to the internal bus, the functional module on the writing side directly sends processing information indicating the processing contents to the subsequent functional module. It is not necessary to connect many wires, and it is possible to suppress the speed reduction with a simple circuit configuration.
また本発明によれば、前記内部バスは、各機能モジュールが転送開始前に発行するダイレクトコマンドにより、転送先経路を決定する。 According to the present invention, the internal bus determines a transfer destination path by a direct command issued by each functional module before starting the transfer.
これにより、ダイレクト転送する前に、内部バスに対して転送先経路の確保を行なうことができる。 As a result, a transfer destination path can be secured for the internal bus before direct transfer.
また本発明によれば、前記内部バスが決定する転送先経路は、バスマトリクスで形成され、ポートアドレスの書き換えで前記バスマトリクスの各スイッチを切り替え、転送先経路を決定するので、ダイレクト転送において、内部バスのポートアドレスに対して書き込み側の機能モジュールがコマンドを発行することでデータ転送することができる。 According to the present invention, the transfer destination path determined by the internal bus is formed by a bus matrix, and each switch of the bus matrix is switched by rewriting the port address to determine the transfer destination path. Data can be transferred when the functional module on the writing side issues a command to the port address of the internal bus.
以下では、本発明の実施形態であるデータ処理装置の内部バスの動作について図1および図2を用いて説明する。なお、本発明のデータ処理装置は、画像データをその処理対象とし、スキャナで読み取った画像データの記憶装置への読み出し、書き込みや、画像処理モジュールへの転送、処理が施された画像データの後処理モジュールへの転送などに好適に用いられる。 Hereinafter, the operation of the internal bus of the data processing apparatus according to the embodiment of the present invention will be described with reference to FIGS. The data processing apparatus according to the present invention targets image data, and reads and writes image data read by a scanner to a storage device, transfers the image data to an image processing module, and processes the processed image data. It is suitably used for transfer to a processing module.
本発明のデータ処理装置は、複数の機能モジュールを有し、各機能モジュールが内部バスを介して、CPUなどの制御部を介さずDMA(Direct Memory Access)方式によりデータのリード(読み出し)、ライト(書き込み)を行う。 The data processing apparatus of the present invention has a plurality of functional modules, and each functional module reads and writes data by an DMA (Direct Memory Access) system via an internal bus without using a control unit such as a CPU. (Write).
図1は、本発明のデータ処理装置の構成を示すブロック図である。データ処理装置は、複数の機能モジュールである第1モジュール102〜第7モジュール108を備え、内部バス101によってこれらのモジュールがデータ送受信可能に接続されている。ローカルバスコントローラ109は、外部のデータ処理装置などとデータ通信を行うためのコントローラである。データ処理装置は、SDRAMコントローラ110を介して、外部大容量メモリ113とデータのリード、ライトを行う。
FIG. 1 is a block diagram showing the configuration of the data processing apparatus of the present invention. The data processing apparatus includes a
本発明のデータ処理装置では、各機能モジュールが内部バス101に対してデータを転送開始する前に、書き込み側の機能モジュールは、直接後段の機能モジュールに対して処理内容を示す処理情報を送付する。
In the data processing apparatus of the present invention, before each functional module starts to transfer data to the
ここで、書き込み側の機能モジュールを第1モジュール102とし、後段の転送先機能モジュールを第6モジュール107としてデータフローを説明する。
Here, the data flow will be described with the functional module on the writing side as the
図2は、データ処理装置内でのバスデータフローを示す図である。
本発明では、第1モジュール102のWDMA(Write DMA)は、データの転送開始前に、転送先の第6モジュール107に対して、予め転送しようとするデータの処理サイズ、処理内容を含むダイレクトコマンドを発行する。
FIG. 2 is a diagram showing a bus data flow in the data processing apparatus.
In the present invention, the WDMA (Write DMA) of the
ダイレクトコマンドを受信した第6モジュール107は、コマンドを解析して、データ読み込みのアクションを起こす。その後に、大容量高速メモリを介さずに直接データを転送する。
The
このとき、内部バス101はモジュールのWDMAがデータ転送開始前に発行するダイレクトコマンドにより、転送先経路を決定し、RDMA(Read DMA)を自動的に起動させることで、あたかもメモリ転送しかしていないかのような動作により、ダイレクトにデータ転送させることができる。
At this time, the
このようにすることで、前段書き込み側の第1モジュール102は、あたかも大容量メモリに対してデータ転送しているかの如くデータ送信することができ、後段転送先の第6モジュール107は、あたかも大容量メモリからデータを読み出しているかの如くデータを受信することができるため、各機能モジュール間を多くの配線でつなぐ必要がなくなり、単純な回路構成で速度低下の抑制を実現することができる。
In this way, the
本発明に対して一般的なターゲットアクセスでは、前段の書き込み側モジュールより一定量毎に、転送サイズが通知されるように構成されているシステムであるため、そのような転送のための回路を新たに設計する必要がある。さらに、画像データを処理する場合には、主走査、副走査サイズを別途設定する必要があるため、より複雑で回路規模を増大させることになる。 In the general target access for the present invention, the system is configured such that the transfer size is notified by a predetermined amount from the writing module in the previous stage. Therefore, a circuit for such transfer is newly added. It is necessary to design to. Furthermore, when processing image data, it is necessary to set the main scanning and sub-scanning sizes separately, which increases the complexity and the circuit scale.
次に、各モジュールがデータを外部の大容量メモリ113から読み取る場合について説明する。
Next, a case where each module reads data from the external large-
まず、CPU(不図示)から大容量メモリ113の開始アドレス、連続するデータ容量をモジュールのレジスタ112に設定し、DMA_STARTコマンドを起動する。これにより、RDMAコントローラを介して大容量メモリ113の開始アドレスとデータ容量(基本バースト)を、内部バス101にRDMA_CVLDコマンドを発行し、データを最小単位で読み出すことができる。
First, the CPU (not shown) sets the start address of the
各DMAが所望する総サイズを読み取るには、最小単位のデータ読み取りを、レジスタ設定容量を全て繰り返し要求することで、読み取りが可能となる。 In order to read the total size desired by each DMA, it is possible to read the minimum unit of data by repeatedly requesting all register setting capacities.
次に、各モジュールがデータを外部の大容量メモリ113へ書き込む場合について説明する。
Next, a case where each module writes data to the external large-
まずCPUから大容量メモリ113の開始アドレス・連続するデータ容量をレジスタ112に設定し、DMA_STARTコマンドを起動する。これにより、WDMAコントローラを介して大容量メモリ113の開始アドレスとデータ容量(基本バースト)であるWDMA_CVLDコマンドと、書き込みデータそのものであるWDMA_CWDを内部バス101に発行し、データを最小単位で書き出すことができる。
First, the CPU sets the start address of the large-
各DMAが所望する総サイズを書き込むには、最小単位のデータ書き込みを、レジスタ設定容量を全て繰り返し要求することで、書き込みが可能となる。 In order to write the total size desired by each DMA, writing can be performed by repeatedly requesting data writing in the minimum unit for all register setting capacities.
本発明は、メモリを介さずにダイレクトにデータ転送する場合、簡単な回路構成で実現するために上記のDMA転送の特徴を最大限に活用する。 The present invention makes the best use of the features of the DMA transfer described above in order to realize a simple circuit configuration when transferring data directly without using a memory.
つまり、データをダイレクト転送するWDMAは、ダイレクト転送する前に、内部バス101に対して転送先経路を確保するとともに、転送先のサイズ容量およびDMA_STARTコマンドを自動起動させる。
That is, the WDMA that directly transfers data secures a transfer destination path for the
このためにRDMAはダイレクトコマンド(RDMA_DCOM)によりサイズ容量を受け付け、ダイレクトコマンドを受信すると、自身のレジスタに受信したサイズをレジスタ設定し、自身のDMA起動をかける。 For this purpose, the RDMA accepts the size capacity by the direct command (RDMA_DCOM), and when the direct command is received, sets the received size in its own register, and activates its own DMA.
DMA起動後の動作としては、RDMA_CVLDを発行しないことを除いて、メモリアクセスするのと同じ動作をする。 The operation after DMA activation is the same as the memory access except that RDMA_CVLD is not issued.
RDMAは、FIFO(First in First out)111よりRDMA_DVLDコマンドと
RDMA_DRCVコマンドとを使用してRequest-Acknowledgeハンドシェイクしながらデータを受信するので、あたかもメモリからデータを読み出しているかのような動作になる。
RDMA uses RDMA_DVLD command from FIFO (First in First out) 111 and
Since the data is received using the RDMA_DRCV command and the Request-Acknowledge handshake, the operation is as if the data is being read from the memory.
WDMAはデータ転送する前にダイレクトコマンドにより転送先経路の確保と相手先に設定するサイズ容量を通知する。 The WDMA notifies the transfer destination path reservation and the size capacity set in the other party by a direct command before data transfer.
一旦転送先経路が確保された後は、WDMAがあたかもメモリにデータを書き込んでいるかのような動作になる。メモリアクセス、ダイレクトアクセスにかかわらず、各WDMAはダイレクトコマンドをDMAが起動するたびに発行するようにすれば設計は統一化され簡略化される。 Once the transfer destination path is secured, the operation is as if the WDMA is writing data to the memory. Regardless of memory access or direct access, the design is unified and simplified if each WDMA issues a direct command each time the DMA is activated.
内部バス101は、WDMAからダイレクトコマンドを受信すると、ダイレクトコマンドに含まれる転送先アドレスを読み取りの転送先経路を決定する。
When the
ここで、転送先アドレスがメモリアクセスであれば、転送先経路をメモリアクセスするように設定し、その後に続くサイズ情報等は不要なので廃棄する。 Here, if the transfer destination address is a memory access, the transfer destination path is set to access the memory and the subsequent size information is unnecessary and discarded.
転送先アドレスがポートアクセスのアドレスであれば、転送先経路を決定し、続くサイズ情報を転送先のDMAにダイレクトコマンド( RDMA_DCOM)を使用して通知する。 If the transfer destination address is a port access address, the transfer destination route is determined, and subsequent size information is notified to the transfer destination DMA using a direct command (RDMA_DCOM).
データ転送の終了は、データ転送開始前に発行したサイズ情報分のデータを送信した時点で終了となるが、発行したサイズに満たない状態でデータ転送を終了したい場合がある。このような場合、前段のモジュールは終了コマンドを発行し転送データのサイズ変更があったことを、後段の転送先モジュールに通知することで速やかにDMAを終了させることができる。後段の転送先モジュールは、終了コマンドを受け取ったときに、DMAのサイズ変更に対応すればよい。 The end of the data transfer ends when data for the size information issued before the start of the data transfer is transmitted, but there are cases where it is desired to end the data transfer in a state where the data size is less than the issued size. In such a case, the preceding module issues an end command to notify the subsequent transfer destination module that the transfer data size has been changed, so that the DMA can be promptly terminated. The subsequent transfer destination module may respond to the DMA size change when it receives the end command.
図3は、本発明のデータ処理装置によって用いられるコマンドの例を示す図である。コマンドには、データ転送時に転送先のアドレスを設定するAccess Address1、データ転送時に転送先に処理内容を通知するAccess Message2,4、データ転送時に転送先に転送データのサイズ情報を通知するAccess Size3,5がある。 FIG. 3 is a diagram showing an example of commands used by the data processing apparatus of the present invention. The command includes Access Address 1 for setting a transfer destination address at the time of data transfer, Access Message 2 and 4 for notifying the transfer destination of processing contents at the time of data transfer, and Access Size 3 for notifying size information of transfer data to the transfer destination at the time of data transfer. There are five.
図4は、バスマトリクスの例を示す図である。内部バス101の転送先経路は、図4に示すようなバスマトリクスで形成される。このようなバスマトリクスを参照することにより、各機能モジュール間の転送先経路を決定する。図4では、上記の例のように、書き込み側の第1モジュール102から、転送先の第6モジュール107へのデータ転送経路を示している。図5に示すような内部バス101のポートアドレスの書き換えを行うことで、バスマトリクスの各スイッチを切り替えることができ、その結果転送先経路を確保することができる。
FIG. 4 is a diagram illustrating an example of a bus matrix. The transfer destination path of the
たとえば、書き込み側の第1モジュール102は、矢印が示す経路で、直接転送先の第6モジュール107に対して処理サイズや処理内容を通知するのに続いて、データをダイレクト転送することができる。
For example, the
101 内部バス
102 第1モジュール
103 第2モジュール
104 第3モジュール
105 第4モジュール
106 第5モジュール
107 第6モジュール
108 第7モジュール
109 ローカルバスコントローラ
110 SDRAMコントローラ
113 外部大容量メモリ
101
Claims (6)
前記大容量メモリを介して前記書き込み側の機能モジュールから後段の機能モジュールにデータを転送するとき、データの転送開始前に、前記大容量メモリに送られた書き込み側の機能モジュールが送ったコマンドを解析することにより後段の機能モジュールを決定することを特徴とする請求項1に記載のデータ処理装置。 A large-capacity memory having a storage capacity equal to or greater than a predetermined capacity;
When transferring data from the writing-side functional module to the subsequent-stage functional module via the large-capacity memory, the command sent by the writing-side functional module sent to the large-capacity memory is sent before starting the data transfer. The data processing apparatus according to claim 1, wherein a subsequent functional module is determined by analysis.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008032601A JP2009193282A (en) | 2008-02-14 | 2008-02-14 | Data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008032601A JP2009193282A (en) | 2008-02-14 | 2008-02-14 | Data processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009193282A true JP2009193282A (en) | 2009-08-27 |
Family
ID=41075244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008032601A Pending JP2009193282A (en) | 2008-02-14 | 2008-02-14 | Data processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009193282A (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04255056A (en) * | 1991-02-06 | 1992-09-10 | Nec Corp | Dma controller |
JPH09258923A (en) * | 1996-03-19 | 1997-10-03 | Canon Inc | Information processor, printing device, printing system, data processing method for printing system and storage medium storing program capable of reading by computer |
JPH10301896A (en) * | 1997-04-30 | 1998-11-13 | Canon Inc | Information processor |
JP2001056793A (en) * | 1999-08-19 | 2001-02-27 | Nec Corp | Information processor |
WO2001050283A1 (en) * | 2000-01-07 | 2001-07-12 | Hitachi, Ltd. | Information processing apparatus and method of information distribution |
JP2005228245A (en) * | 2004-02-16 | 2005-08-25 | Hitachi Ltd | Disk control apparatus |
JP2006268753A (en) * | 2005-03-25 | 2006-10-05 | Fujitsu Ltd | DMA circuit and computer system |
JP2007026185A (en) * | 2005-07-19 | 2007-02-01 | Canon Inc | Function-processing electronic circuit |
JP2007164793A (en) * | 2005-12-13 | 2007-06-28 | Arm Ltd | Distributed direct memory access means within data processing system |
-
2008
- 2008-02-14 JP JP2008032601A patent/JP2009193282A/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04255056A (en) * | 1991-02-06 | 1992-09-10 | Nec Corp | Dma controller |
JPH09258923A (en) * | 1996-03-19 | 1997-10-03 | Canon Inc | Information processor, printing device, printing system, data processing method for printing system and storage medium storing program capable of reading by computer |
JPH10301896A (en) * | 1997-04-30 | 1998-11-13 | Canon Inc | Information processor |
JP2001056793A (en) * | 1999-08-19 | 2001-02-27 | Nec Corp | Information processor |
WO2001050283A1 (en) * | 2000-01-07 | 2001-07-12 | Hitachi, Ltd. | Information processing apparatus and method of information distribution |
JP2005228245A (en) * | 2004-02-16 | 2005-08-25 | Hitachi Ltd | Disk control apparatus |
JP2006268753A (en) * | 2005-03-25 | 2006-10-05 | Fujitsu Ltd | DMA circuit and computer system |
JP2007026185A (en) * | 2005-07-19 | 2007-02-01 | Canon Inc | Function-processing electronic circuit |
JP2007164793A (en) * | 2005-12-13 | 2007-06-28 | Arm Ltd | Distributed direct memory access means within data processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11412042B2 (en) | Remote NVMe activation | |
CN108733600B (en) | Electronic system with direct memory access controller and method of operation | |
US20140006742A1 (en) | Storage device and write completion notification method | |
JP2016218976A (en) | Integrated circuit chip and information processing apparatus including a plurality of integrated circuit chips | |
US8386725B2 (en) | USB host controller and controlling method for USB host controller | |
US20190387124A1 (en) | Control circuitry, image forming apparatus incorporating the control circuitry, control method, and non-transitory recording medium storing program | |
WO2012081085A1 (en) | Interrupt source management device and interrupt processing system | |
US20190384523A1 (en) | Control device, image forming apparatus incorporating the control device, control method, and non-transitory recording medium storing program | |
JP2009193282A (en) | Data processing apparatus | |
JP4902570B2 (en) | Image processing controller and image processing apparatus | |
JP2009025896A (en) | Data processing unit and data processing method | |
US7315913B2 (en) | CPU system, bus bridge, control method therefor, and computer system | |
CN106325377B (en) | The data processing method of Principle of External Device Extension card and I/O peripheral equipment | |
JP2007249667A (en) | Data transfer device, and data transfer system | |
JP2005301714A (en) | Multi-cpu system, its data transfer method, and its program | |
JP2005293435A (en) | Data transfer device and its setting method | |
JP2010271874A (en) | Information processing apparatus and image forming apparatus | |
JP2007272667A (en) | Ring buffer device | |
JP4847407B2 (en) | Data processing apparatus and data processing method | |
JP2006285872A (en) | Multi-cpu system | |
JP2008093942A (en) | Printer | |
JP2009169559A (en) | Data transfer device | |
JP2011107922A (en) | Information processing system | |
JP2009169501A (en) | Data transfer device | |
CN113127399A (en) | Universal serial bus device and access method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100218 |
|
A131 | Notification of reasons for refusal |
Effective date: 20110927 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110928 |
|
A521 | Written amendment |
Effective date: 20111121 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120221 |