JP4560398B2 - Data processing circuit - Google Patents
Data processing circuit Download PDFInfo
- Publication number
- JP4560398B2 JP4560398B2 JP2004363211A JP2004363211A JP4560398B2 JP 4560398 B2 JP4560398 B2 JP 4560398B2 JP 2004363211 A JP2004363211 A JP 2004363211A JP 2004363211 A JP2004363211 A JP 2004363211A JP 4560398 B2 JP4560398 B2 JP 4560398B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- dma
- memory
- data
- cpu
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、ダイレクトメモリアクセス(略称DMA)方式によってデータを転送することができるデータ処理回路に関する。 The present invention relates to a data processing circuit capable of transferring data by a direct memory access (abbreviated as DMA) system.
複写装置、スキャナ装置、プリンタ装置およびファクシミリ装置などの機能を1つにまとめた複合装置などに搭載され、イメージデータを処理するデータ処理装置では、近年、カラー化の対応が行われている。このようなデータ処理装置では、データ処理の高速化が要求されている。データ処理装置では、ダイレクトメモリアクセス(Direct Memory
Access、略称DMA)方式によってデータを転送することによって、データ処理の高速化が図られている。
In recent years, color processing has been implemented in data processing apparatuses that process image data and are mounted on a composite apparatus that combines functions such as a copying apparatus, a scanner apparatus, a printer apparatus, and a facsimile apparatus. Such a data processing device is required to increase the data processing speed. In data processing equipment, direct memory access (Direct Memory Access)
Data is transferred at high speed by transferring data by the Access (abbreviated as DMA) system.
第1の従来技術は、特許文献1に開示される。この従来技術の装置は、主制御部である中央演算処理装置(Central Processing Unit、略称CPU)と、プログラム可能なDMA制御装置とを含む。CPUは、必要なDMA転送プログラムとパラメータとを、DMA制御装置にダウンロードする。メモリ処理部であるDMA制御装置は、DMA転送プログラムを実行して、データ転送を行う。DMA制御装置は、データ転送を完了すると、割り込みをCPUに送る。
The first prior art is disclosed in
図6は、第2の従来技術のデータ処理装置1の構成を示すブロック図である。図7は、CPU2のDMA関連動作を説明するためのフローチャートである。この従来技術のデータ処理装置1は、メモリ3と、主制御部であるCPU2と、3つの内部ブロック4とを含む。各内部ブロック4は、レジスタ5と、メモリ処理部であるDMA回路6とを含む。
FIG. 6 is a block diagram showing the configuration of the
レジスタ5には、CPU2からの設定条件が与えられる。DMA回路6は、レジスタ5に記憶されている設定条件に基づいて、メモリ3へのデータの書き込みおよびメモリ3からのデータの読み出しの少なくとも一方を行う。DMA回路6は、CPU2からの起動指令に応答して起動する。DMA回路6は、メモリ3へのデータの書き込みおよびメモリ3からのデータの読み出しの少なくとも一方が終了すると、割り込み要求をCPU2に与える。
A setting condition from the
このようなデータ処理装置1では、各DMA回路6によるメモリ3へのデータの書き込みおよびメモリ3からのデータの読み出しの少なくとも一方が終了する毎に、各DMA回路6からCPU2に割り込み要求が与えられる。CPU2は、割り込み要求を与えられると、次に起動されるべきDMA回路6のレジスタ設定を行い、そのDMA回路6に起動指令を与える。これによって各DMA回路6が順次、起動される。
In such a
前記第1の従来技術では、異なるデータ転送を順次、行うにあたって、DMA制御装置は、データ転送が完了する毎に、割り込みをCPUに送り、CPUは、割り込みを与えられる毎に、必要なDMA転送プログラムとパラメータとをDMA制御装置にダウンロードする必要がある。したがってCPUの処理負荷が発生し、CPUのパフォーマンスが低下してしまうという問題がある。 In the first prior art, when performing different data transfer sequentially, the DMA controller sends an interrupt to the CPU every time the data transfer is completed, and the CPU transfers the necessary DMA transfer every time an interrupt is given. Programs and parameters need to be downloaded to the DMA controller. Therefore, there is a problem that the processing load of the CPU is generated and the performance of the CPU is lowered.
前記第2の従来技術では、各DMA回路6を順次、起動するにあたって、各DMA回路6は、メモリ3へのデータの書き込みおよびメモリ3からのデータの読み出しの少なくとも一方が終了する毎に、割り込み要求をCPU2に与え、CPU2は、割り込み要求を与えられると、次に起動されるべきDMA回路6のレジスタ設定を行い、そのDMA回路6に起動指令を与える必要がある。このような第2の従来技術にも、前記第1の従来技術と同様の問題がある。
In the second prior art, when each
本発明の目的は、主制御部の処理負荷を軽減することができ、主制御部のパフォーマンスの低下を防ぐことができるデータ処理回路を提供することである。 An object of the present invention is to provide a data processing circuit capable of reducing the processing load of the main control unit and preventing the deterioration of the performance of the main control unit.
本発明は、データの書き込みおよびデータの読み出しが可能なメモリと、
メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する主制御部と、
入力される起動指令に基づいて、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行い、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する複数のDMA回路と、
各DMA回路に1対1に対応して設けられるセレクタ回路であって、対応するDMA回路に、該対応するDMA回路への起動指令を出力可能に接続されるセレクタ回路とを含み、
各セレクタ回路は、主制御部および対応するDMA回路以外のすべてのDMA回路に、該主制御部からの開始指令および該対応するDMA回路以外のすべてのDMA回路からの終了通知が入力可能に接続され、
各セレクタ回路は、対応するDMA回路に対して、主制御部からの開始指令または対応していない各DMA回路からの終了通知に応答して起動指令を出力するように構成され、
各セレクタ回路による対応するDMA回路への起動指令の出力について、主制御部からの開始指令および対応していない各DMA回路からの終了通知のうちのいずれに応答して出力を行うかを、設定可能に構成されることを特徴とするデータ処理回路である。
The present invention provides a memory capable of writing data and reading data,
A main control unit that outputs a start instruction to write data to the memory and to read data from the memory;
Based on the input start command, at least one of data writing to the memory and data reading from the memory is performed, and when at least one of the data writing to the memory and the data reading from the memory is completed, an end notification is issued. A plurality of DMA circuits for outputting
A selector circuit provided in a one-to-one correspondence with each DMA circuit, the selector circuit connected to the corresponding DMA circuit so as to be able to output a start command to the corresponding DMA circuit ,
Each selector circuit is connected to all the DMA circuits other than the main control unit and the corresponding DMA circuit so that the start command from the main control unit and the end notification from all the DMA circuits other than the corresponding DMA circuit can be input. And
Each selector circuit is configured to output a start command in response to a start command from the main control unit or an end notification from each DMA circuit not corresponding to the corresponding DMA circuit,
Sets whether to output the start command to the corresponding DMA circuit by each selector circuit in response to the start command from the main control unit or the end notification from each DMA circuit that is not supported The data processing circuit is configured to be capable of being configured.
また本発明は、主制御部は、主制御部からの開始指令および各DMA回路からの終了通知のうちのいずれを選択するかを示す選択指令を出力し、
各セレクタ回路は、主制御部からの選択指令によって指定される主制御部からの開始指令および対応していない各DMA回路からの終了通知のいずれか1つに応答して起動指令を出力することを特徴とする。
In the present invention, the main control unit outputs a selection command indicating which one of the start command from the main control unit and the end notification from each DMA circuit is selected,
Each selector circuit outputs a start command in response to any one of a start command from the main control unit designated by a selection command from the main control unit and an end notification from each DMA circuit that does not correspond. It is characterized by.
本発明によれば、メモリは、データの書き込みおよびデータの読み出しが可能である。メモリ処理部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行う。このメモリ処理部によって、DMA方式によるデータ転送を実現することができる。 According to the present invention, the memory can write and read data. The memory processing unit performs at least one of writing data to the memory and reading data from the memory. By this memory processing unit, data transfer by the DMA method can be realized.
メモリ処理部は複数、存在し、各メモリ処理部に対して、起動指令部がそれぞれ設けられる。各起動指令部は、各メモリ処理部をそれぞれ起動させる起動指令を出力する。各メモリ処理部は、各起動指令部からの起動指令に応答して起動する。各メモリ処理部は、同時に起動することが可能である。 There are a plurality of memory processing units, and an activation command unit is provided for each memory processing unit. Each start command unit outputs a start command for starting each memory processing unit. Each memory processing unit is activated in response to an activation command from each activation command unit. Each memory processing unit can be activated simultaneously.
主制御部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する。各メモリ処理部は、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する。各起動指令部は、主制御部からの開始指令または各メモリ処理部からの終了通知に応答して起動指令を出力する。 The main control unit outputs a start command for writing data into the memory and reading data from the memory. Each memory processing unit outputs an end notification when at least one of data writing to the memory and data reading from the memory is completed. Each start command unit outputs a start command in response to a start command from the main control unit or an end notification from each memory processing unit.
このように各起動指令部は、主制御部からの開始指令だけでなく、各メモリ処理部からの終了通知にも応答して起動指令を出力することができる。したがって各起動指令部のいずれか1つに主制御部からの開始指令が与えられると、他の起動指令部には主制御部からの開始指令が与えられなくても、各起動指令部は、各メモリ処理部を順次、起動させることができる。 In this way, each start command unit can output a start command in response to not only the start command from the main control unit but also the end notification from each memory processing unit. Therefore, when a start command from the main control unit is given to any one of the start command units, each start command unit is not given a start command from the main control unit to the other start command units. Each memory processing unit can be activated sequentially.
換言すると、主制御部を介さずに、各メモリ処理部を連携させることができる。したがって前記第2の従来技術のように、各メモリ処理部によるメモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了する毎に、各メモリ処理部から主制御部に割り込み要求を与え、主制御部から開始指令を出力する必要がなくなる。これによって、主制御部の処理負荷を軽減することができ、主制御部のパフォーマンスの低下を防ぐことができる。 In other words, the memory processing units can be linked without using the main control unit. Therefore, as in the second prior art, each memory processing unit issues an interrupt request to the main control unit every time at least one of data writing to the memory and data reading from the memory is completed. This eliminates the need to output a start command from the main control unit. As a result, the processing load on the main control unit can be reduced, and a decrease in the performance of the main control unit can be prevented.
また本発明によれば、主制御部は、主制御部からの開始指令および各メモリ処理部からの終了通知のいずれを選択するかを示す選択指令を出力する。各起動指令部は、主制御部からの選択指令によって指定される主制御部からの開始指令および各メモリ処理部からの終了通知のいずれか1つに応答して起動指令を出力する。したがって主制御部からの選択指令によって、各メモリ処理部の起動順序を設定することができ、装置の汎用性を向上させることができる。 According to the present invention, the main control unit outputs a selection command indicating which of the start command from the main control unit and the end notification from each memory processing unit is selected. Each start command unit outputs a start command in response to any one of the start command from the main control unit specified by the selection command from the main control unit and the end notification from each memory processing unit. Therefore, the activation order of the memory processing units can be set by a selection command from the main control unit, and the versatility of the apparatus can be improved.
図1は、本発明の実施の一形態のデータ処理装置21を簡略化して示すブロック図である。データ処理装置21は、複写装置、スキャナ装置、プリンタ装置およびファクシミリ装置などの機能を1つにまとめた複合装置などに搭載される。データ処理装置21は、イメージデータを処理するために用いられる。 FIG. 1 is a simplified block diagram showing a data processing device 21 according to an embodiment of the present invention. The data processing apparatus 21 is mounted on a composite apparatus that combines functions of a copying apparatus, a scanner apparatus, a printer apparatus, a facsimile apparatus, and the like. The data processing device 21 is used for processing image data.
データ処理装置21は、ダイレクトメモリアクセス(Direct Memory Access、略称DMA)方式によってデータを転送することができる。換言すると、データ処理装置21は、後述の中央演算処理装置(Central Processing Unit、略称CPU)22を介さずに、メモリ23へのデータの書き込むおよびメモリ23からのデータの読み出しの少なくとも一方を行うことができる。
The data processing device 21 can transfer data by a direct memory access (abbreviated as DMA) method. In other words, the data processing device 21 performs at least one of writing data to the
データ処理装置21は、メモリ23と、複数(本実施の形態では3つ)のDMA回路24と、CPU22と、複数(本実施の形態では3つ)のセレクタ回路25とを含む。以下、各DMA回路24を第1〜第3のDMA回路24a〜24cと記載する場合がある。また各セレクタ回路25を第1〜第3のセレクタ回路25a〜25cと記載する場合がある。
The data processing device 21 includes a
メモリ23は、データの書き込みおよびデータの読み出しが可能である。メモリ23は、たとえばランダムアクセスメモリ(Random Access Memory、略称RAM)によって実現される。
The
DMA回路24は、メモリ処理部である。各DMA回路24によって、DMA方式によるデータ転送を実現することができる。各DMA回路24は、共通のメモリ23にアクセスする。各DMA回路24は、メモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方を行う。各DMA回路24は、前記書き込みおよび読み出しの少なくとも一方が終了すると、終了通知を出力する。
The
各DMA回路24は、後述の各セレクタ回路25からの起動指令に応答して起動する。換言すると、各DMA回路24は、後述の各セレクタ回路25からの起動指令に応答して、メモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方を開始する。
Each
詳細に述べると、第1のDMA回路24aは、第1のセレクタ回路25aからの起動指令に応答して起動する。第2のDMA回路24bは、第2のセレクタ回路25bからの起動指令に応答して起動する。第3のDMA回路24cは、第3のセレクタ回路25cからの起動指令に応答して起動する。
More specifically, the
CPU22は、主制御部である。CPU22は、メモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの開始指令を出力する。またCPU22は、このCPU22からの開始指令および各DMA回路24からの終了通知のいずれを選択するかを示す選択指令を出力する。
The
セレクタ回路25は、起動指令部である。各セレクタ回路25は、各DMA回路24をそれぞれ起動させる起動指令を出力する。各セレクタ回路25は、CPU22からの開始指令または各DMA回路24からの終了通知に応答して起動指令を出力する。
The
詳細に述べると、第1のセレクタ回路25aは、CPU22からの開始指令、または第2および第3のDMA回路24b,24cからの終了通知に応答して起動指令を出力する。第2のセレクタ回路25bは、CPU22からの開始指令、または第3および第1のDMA回路24c,24aからの終了通知に応答して起動指令を出力する。第3のセレクタ回路25cは、CPU22からの開始指令、または第1および第2のDMA回路24a,24bからの終了通知に応答して起動指令を出力する。
More specifically, the
本実施の形態では、各セレクタ回路25は、CPU22からの選択指令によって指定されるCPU22からの開始指令および各DMA回路24からの終了通知のいずれか1つに応答して起動指令を出力する。換言すると、各セレクタ回路25が、CPU22からの開始指令および各DMA回路24からの終了通知のいずれに応答するかは、CPUからの選択指令によって決まる。
In the present embodiment, each
図2は、各DMA回路24によるメモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの一例を説明するための図である。第1のDMA回路24aは、メモリ23へデータを書き込むように設定され、開始アドレスがA番地に設定され、転送バイト数がNバイトに設定される。第2のDMA回路24bは、メモリ23からデータを読み出すように設定され、開始アドレスがA番地に設定され、転送バイト数がNバイトに設定される。第3のDMA回路24cは、メモリ23へデータを書き込むように設定され、開始アドレスがB番地に設定され、転送バイト数がMバイトに設定される。
FIG. 2 is a diagram for explaining an example of data writing to the
第1のセレクタ回路25aは、CPU22からの開始指令に応答して起動指令を出力するように設定される。第2のセレクタ回路25bは、第1のDMA回路24aからの終了通知に応答して起動指令を出力するように設定される。第3のセレクタ回路25cは、第2のDMA回路24bからの終了通知に応答して起動指令を出力するように設定される。
The
このように各DMA回路24および各セレクタ回路25が設定されるとき、CPU22が開始指令を出力すると、第1のセレクタ回路25aは、CPU22からの開始指令に応答して起動指令を出力する。第1のDMA回路24aは、第1のセレクタ回路25aからの起動指令に応答して起動する。第1のDMA回路24aは、メモリ23へデータを書き込む。このときデータは、メモリ23のA番地から順にNバイト分、書き込まれる。第1のDMA回路24aは、メモリ23へのデータの書き込みを終了すると、終了通知を出力する。
When each
第2のセレクタ回路25bは、第1のDMA回路24aからの終了通知に応答して起動指令を出力する。第2のDMA回路24bは、第2のセレクタ回路25bからの起動指令に応答して起動する。第2のDMA回路24bは、メモリ23からデータを読み出す。このときデータは、メモリ23のA番地から順にNバイト分、読み出される。第2のDMA回路24bは、メモリ23からのデータの読み出しを終了すると、終了通知を出力する。
The
第3のセレクタ回路25cは、第2のDMA回路24bからの終了通知に応答して起動指令を出力する。第3のDMA回路24cは、第3のセレクタ回路25cからの起動指令に応答して起動する。第3のDMA回路24cは、メモリ23へデータを書き込む。このときデータは、メモリ23のB番地から順にMバイト分、書き込まれる。
The
図3は、データ処理装置21の全体の構成を示すブロック図である。データ処理装置21は、前記メモリ23と、メモリ23を制御するメモリコントローラ31と、アービタ&セレクタ32と、複数(本実施の形態では3つ)の内部ブロック33と、前記CPU22とを含む。以下、各内部ブロック33を第1〜第3の内部ブロック33a〜33cと記載する場合がある。
FIG. 3 is a block diagram showing the overall configuration of the data processing device 21. The data processing device 21 includes the
アービタ&セレクタ32は、メモリコントローラ31と各内部ブロック33との間に介在する。アービタ&セレクタ32は、各内部ブロック33のバス使用権の調停を行う。換言すると、アービタ&セレクタ32は、各内部ブロック33のいずれか1つを選択し、選択した内部ブロック33にバス使用権を割り当てる。
The arbiter &
各内部ブロック33は、前記DMA回路24と、前記セレクタ回路25とを含む。詳細に述べると、第1の内部ブロック33aは、第1のDMA回路24aと、第1のセレクタ回路25aとを含む。第2の内部ブロック33bは、第2のDMA回路24bと、第2のセレクタ回路25bとを含む。第3の内部ブロック33cは、第3のDMA回路24cと、第3のセレクタ回路25cとを含む。
Each internal block 33 includes the
各内部ブロック33のDMA回路24は、アービタ&セレクタ32を介してメモリコントローラ31を制御し、これによってメモリ23をアクセスすることができる。換言すると、各内部ブロック33のDMA回路24は、アービタ&セレクタ32を介してメモリコントローラ31を制御し、これによってメモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方を行うことができる。
The
各内部ブロック33は、それぞれ異なる機能を有する。一例として述べると、各内部ブロック33は、スキャン入力のための機能、圧縮・伸長入出力ための機能、回転入出力のための機能およびレーザ出力のための機能のいずれか1つを有する。各内部ブロック33が有する機能は、これらに限定されるものではない。 Each internal block 33 has a different function. As an example, each internal block 33 has any one of a function for scan input, a function for compression / decompression input / output, a function for rotation input / output, and a function for laser output. The function which each internal block 33 has is not limited to these.
図4は、第1の内部ブロック33aの構成を示すブロック図である。各内部ブロック33は類似するので、第1の内部ブロック33aだけ説明し、第2および第3の内部ブロック33b,33cについては説明を省略する。第1の内部ブロック33aは、レジスタ36と、制御回路37と、前記DMA回路24と、前記セレクタ回路25とを含む。
FIG. 4 is a block diagram showing a configuration of the first
CPU22は、CPUアドレスCPU_ADRをレジスタ36に与える。CPUアドレスCPU_ADRは、レジスタ36のアドレスを示す。CPU22は、CPUデータCPU_DATAをレジスタ36に与える。このCPUデータCPU_DATAは、制御回路37、DMA回路24およびセレクタ回路25の設定条件を示す。またCPU22は、CPUデータCPU_DATAをレジスタ36から与えられる。このCPUデータCPU_DATAは、制御回路37、DMA回路24およびセレクタ回路25のステータスを示す。
The
レジスタ36は、CPUアドレスCPU_ADRをデコードする。レジスタ36は、CPU22によるライト時、すなわち書き込み時には、CPUアドレスCPU_ADRによって指定されるアドレスに、CPUデータCPU_DATAをラッチする。またレジスタ36は、CPU22によるリード時、すなわち読み出し時には、CPUアドレスCPU_ADRによって指定されるアドレスから、CPUデータCPU_DATAを転送する。
The
制御回路37は、レジスタ36に記憶されている制御回路37の設定条件に基づいて、データを演算する。また制御回路37は、この制御回路37のステータスをレジスタ36に与える。制御回路37は、入出力装置38を制御する。制御回路37は、入出力装置38へデータを与える。また制御回路37は、入出力装置38からデータを与えられる。制御回路37は、データを記憶するバッファ回路を含む。
The
一例として述べると、第1の内部ブロック33aが、スキャン入力のための機能を有する内部ブロックであるとき、制御回路37は、タイミング生成回路と、バッファ回路とを含む。タイミング生成回路は、入出力装置38である画像読取部によって原稿から読み取られるスキャンデータをリードするタイミングを生成する。バッファ回路は、スキャンデータを記憶する。
As an example, when the first
DMA回路24は、レジスタ36に記憶されているDMA回路24の設定条件に基づいて、データを転送する。DMA回路24の設定条件は、開始アドレスと、転送バイト数とを示す。DMA回路24は、このDMA回路24のステータスをレジスタ36に与える。
The
DMA回路24は、後述のセレクタ回路25からの起動指令D_TRG1に応答して起動する。DMA回路24は、制御回路37内のバッファ回路に記憶されるデータを読み出して、このデータをメモリ23に書き込む。あるいはDMA回路24は、メモリ23に記憶されるデータを読み出して、このデータを制御回路37内のバッファ回路に書き込む。
The
詳細に述べると、DMA回路24は、DMAアドレスDMA_ADR1をアービタ&セレクタ32を介してメモリコントローラ31に与える。このDMAアドレスDMA_ADR1は、メモリ23のアドレスを示す。DMA回路24は、DMA制御信号DMA_CONT1をアービタ&セレクタ32を介してメモリコントローラ31に与える。このDMA制御信号DMA_CONT1は、メモリ23への書き込み指令およびメモリ23からの読み出し指令を示す。またDMA回路24は、DMA制御信号DMA_CONT1をアービタ&セレクタ32を介してメモリコントローラ31から与えられる。このDMA制御信号DMA_CONT1は、メモリコントローラ31のステータスを示す。
More specifically, the
このようなDMA回路24は、DMAアドレスDMA_ADR1によってメモリ23のアドレスを指定する。そしてDMA回路24は、DMA制御信号DMA_CONT1によって書き込みおよび読み出しの少なくとも一方を指令する。このようにして、DMA回路24は、メモリ23の指定されるアドレスへのデータの書き込みおよびメモリ23の指定されるアドレスからのデータの読み出しの少なくとも一方を行うことができる。このデータが、図4におけるDMAデータDMA_DATAに相当する。
Such a
DMA回路24は、メモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方が終了すると、終了通知DMA_END1を出力するとともに、割り込み要求INTR1を出力する。前記DMA回路24の設定条件は、割り込み要求INTR1をマスクするか否かをも示す。割り込み要求INTR1がマスクされるとき、DMA回路24は、前記書き込みおよび読み出しの少なくとも一方が終了しても、割り込み要求INTR1を出力しない。
When at least one of data writing to the
割り込み要求INTR1は、OR回路39に与えられる。OR回路39には、各内部ブロック33のDMA回路24からの割り込み要求INTR1〜INTR3が与えられる。OR回路39は、これらの割り込み要求INTR1〜INTR3のいずれか1つが与えられると、割り込み要求INTRを出力する。この割り込み要求INTRは、CPU22に与えられる。
The interrupt request INTR1 is given to the
セレクタ回路25は、レジスタ36に記憶されているセレクタ回路25の設定条件である選択指令に基づいて、起動指令を出力する。セレクタ回路25は、CPU22からレジスタ36を介して与えられる開始指令DMA_TRG1、ならびに第2および第3の内部ブロック33b,33cの各DMA回路24からの終了通知DMA_END2,DMA_END3のいずれか1つに応答して起動指令D_TRG1を出力する。
The
図5は、CPU22のDMA関連動作を説明するためのフローチャートである。同図は、各DMA回路24が、第1のDMA回路24a、第2のDMA回路24b、第3のDMA回路24cの順で起動されることを想定している。
FIG. 5 is a flowchart for explaining the DMA-related operation of the
所定の動作開始指令が入力されると、ステップs0で、CPU22は、DMA関連動作を開始し、ステップs1に進む。ステップs1で、CPU22は、各内部ブロック33の制御回路37の設定条件を、各内部ブロック33のレジスタ36に与えることによって、各内部ブロック33の制御回路37のレジスタ設定を行い、ステップs2に進む。
When a predetermined operation start command is input, in step s0, the
ステップs2で、CPU22は、第1のDMA回路24aの設定条件を、第1の内部ブロック33aのレジスタ36に与えることによって、第1のDMA回路24aのレジスタ設定を行い、ステップs3に進む。ステップs3で、CPU22は、第2のDMA回路24bの設定条件を、第2の内部ブロック33bのレジスタ36に与えることによって、第2のDMA回路24bのレジスタ設定を行い、ステップs4に進む。ステップs4で、CPU22は、第3のDMA回路24cの設定条件を、第3の内部ブロック33cのレジスタ36に与えることによって、第3のDMA回路24cのレジスタ設定を行い、ステップs5に進む。これらのステップs2〜s4では、開始アドレスおよび転送バイト数などが設定される。
In step s2, the
ステップs5で、CPU22は、各セレクタ回路25の設定条件である選択指令を、各内部ブロック33のレジスタ36に与え、ステップs6に進む。図5においては、第1の内部ブロック33aのレジスタ36には、CPU22からの開始指令を選択することを示す選択指令が与えられる。第2の内部ブロック33bのレジスタ36には、第1のDMA回路24aからの終了通知を選択することを示す選択指令が与えられる。第3の内部ブロック33cのレジスタ36には、第2のDMA回路24bからの終了通知を選択することを示す選択指令が与えられる。このようにCPU22は、各内部ブロック33のレジスタ36に選択指令を与えることによって、各DMA回路24を連携するための連携設定を行う。
In step s5, the
ステップs6で、CPU22は、各内部ブロック33のレジスタ36に対して、不要な割り込み要求をマスクするための設定を行い、ステップs7に進む。不要な割り込み要求とは、起動されるべき各DMA回路24のうち、最後に起動されるDMA回路24を除く残余のDMA回路24からの割り込み要求である。図5においては、第1および第2のDMA回路24a,24bからの割り込み要求がマスクされる。
In step s6, the
ステップs7で、CPU22は、開始指令を出力し、これによって第1のDMA回路24aの開始ビットを設定し、ステップs8に進む。ステップs8で、CPU22は、DMA回路24による割り込み要求、図5においては第3のDMA回路24cによる割り込み要求を与えられると、ステップs9に進む。ステップs9で、CPU22は、DMA関連動作を終了する。
In step s7, the
前記ステップs7で、CPU22が開始指令を出力すると、CPU22からの開始指令に応答して、第1のセレクタ回路25aが起動指令を出力する。第1のDMA回路24aは、第1のセレクタ回路25aからの起動指令に応答して起動する。この第1のDMA回路24aからの終了通知に応答して第2のセレクタ回路25bが起動指令を出力する。第2のDMA回路24bは、第2のセレクタ回路25bからの起動指令に応答して起動する。この第2のDMA回路24bからの終了通知に応答して第3のセレクタ回路25cが起動指令を出力する。第3のDMA回路24cは、第3のセレクタ回路25cからの起動指令に応答して起動する。第3のDMA回路24cは、メモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方が終了すると、割り込み要求を出力する。割り込み要求は、OR回路39に与えられる。OR回路39は、割り込み要求をCPU22に与える。
In step s7, when the
このようにCPU22が開始指令を出力してから、CPU22が割り込み要求を与えられるまでの間、CPU22を介さずに、各DMA回路24によって、メモリへデータを書き込むとともに、メモリからデータを読み出すことができる。この間、CPU22は、別の処理を実行することができる。
In this manner, until the
以上のような本実施の形態によれば、各セレクタ回路25は、CPU22からの開始指令だけでなく、各DMA回路24からの終了通知にも応答して起動指令を出力することができる。したがって各セレクタ回路25のいずれか1つにCPU22からの開始指令が与えられると、他のセレクタ回路25にはCPU22からの開始指令が与えられなくても、各セレクタ回路25は、各DMA回路24を順次、起動させることができる。
According to the present embodiment as described above, each
換言すると、CPU22を介さずに、各DMA回路24を連携させることができる。したがって前記第2の従来技術のように、各DMA回路24によるメモリ23へのデータの書き込みおよびメモリ23からのデータの読み出しの少なくとも一方が終了する毎に、各DMA回路24からCPU22に割り込み要求を与え、CPU22から開始指令を出力する必要がなくなる。これによってCPU22の処理負荷を軽減することができ、CPU22のパフォーマンスの低下を防ぐことができる。
In other words, the
具体的に述べると、3つのDMA回路24を順次、起動するにあたって、前記第2の従来技術では、CPU22には割り込み要求が3回、与えられる必要があるけれども、本実施の形態では、CPU22には割り込み要求が1回、与えられるだけでよい。
More specifically, in order to sequentially start up the three
またCPU22は、開始指令を出力する前に、起動されるべき全てのDMA回路24のレジスタ設定を行うので、前述のようにCPU22を介さずに、各DMA回路24を連携させても、各DMA回路24のレジスタ設定を行うことができる。
Further, since the
また各セレクタ回路25は、CPU22からの選択指令によって指定されるCPU22からの開始指令および各DMA回路24からの終了通知のいずれか1つに応答して起動指令を出力するので、CPU22からの選択指令によって、各DMA回路24の起動順序を設定することができる。このように各DMA回路24の起動順序がプログラマブルとなっているので、装置の汎用性を向上させることができる。
Each
前述の実施の形態は、本発明の例示に過ぎず、本発明の範囲内において構成を変更することができる。前述の実施の形態では、内部ブロック33には、DMA回路24が1つ含まれるけれども、本発明の実施の他の形態では、内部ブロック33に、メモリ23からのデータ読み出し用のDMA回路24と、メモリ23へのデータ書き込み用のDMA回路24とが含まれもよい。これによって、メモリ23に記憶されるデータを読み出して、このデータを制御回路37内のバッファ回路に書き込みながら、制御回路37内のバッファ回路に記憶されるデータを読み出して、このデータをメモリ23に書き込むことができる。
The above-described embodiment is merely an example of the present invention, and the configuration can be changed within the scope of the present invention. In the foregoing embodiment, the internal block 33 includes one
21 データ処理装置
22 CPU
23 メモリ
24 DMA回路
25 セレクタ回路
31 メモリコントローラ
32 アービタ&セレクタ
33 内部ブロック
36 レジスタ
37 制御回路
38 入出力装置
39 OR回路
21
23
Claims (2)
メモリへのデータの書き込みおよびメモリからのデータの読み出しの開始指令を出力する主制御部と、
入力される起動指令に基づいて、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方を行い、メモリへのデータの書き込みおよびメモリからのデータの読み出しの少なくとも一方が終了すると、終了通知を出力する複数のDMA回路と、
各DMA回路に1対1に対応して設けられるセレクタ回路であって、対応するDMA回路に、該対応するDMA回路への起動指令を出力可能に接続されるセレクタ回路とを含み、
各セレクタ回路は、主制御部および対応するDMA回路以外のすべてのDMA回路に、該主制御部からの開始指令および該対応するDMA回路以外のすべてのDMA回路からの終了通知が入力可能に接続され、
各セレクタ回路は、対応するDMA回路に対して、主制御部からの開始指令または対応していない各DMA回路からの終了通知に応答して起動指令を出力するように構成され、
各セレクタ回路による対応するDMA回路への起動指令の出力について、主制御部からの開始指令および対応していない各DMA回路からの終了通知のうちのいずれに応答して出力を行うかを、設定可能に構成されることを特徴とするデータ処理回路。 A memory capable of writing and reading data, and
A main control unit that outputs a start command for writing data to the memory and reading data from the memory;
Based on the input start command, at least one of writing data to the memory and reading data from the memory is performed. A plurality of DMA circuits for outputting
A selector circuit provided in a one-to-one correspondence with each DMA circuit, the selector circuit connected to the corresponding DMA circuit so as to be able to output a start command to the corresponding DMA circuit ,
Each selector circuit is connected to all the DMA circuits other than the main control unit and the corresponding DMA circuit so that the start command from the main control unit and the end notification from all the DMA circuits other than the corresponding DMA circuit can be input. And
Each selector circuit is configured to output a start command in response to a start command from the main control unit or an end notification from each DMA circuit not corresponding to the corresponding DMA circuit,
Sets whether to output the start command to the corresponding DMA circuit by each selector circuit in response to the start command from the main control unit or the end notification from each DMA circuit that is not supported A data processing circuit characterized by being configured.
各セレクタ回路は、主制御部からの選択指令によって指定される主制御部からの開始指令および対応していない各DMA回路からの終了通知のいずれか1つに応答して起動指令を出力することを特徴とする請求項1記載のデータ処理回路。 The main control unit outputs a selection command indicating which one of the start command from the main control unit and the end notification from each DMA circuit is selected,
Each selector circuit outputs a start command in response to any one of a start command from the main control unit designated by a selection command from the main control unit and an end notification from each DMA circuit that does not correspond. The data processing circuit according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004363211A JP4560398B2 (en) | 2004-12-15 | 2004-12-15 | Data processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004363211A JP4560398B2 (en) | 2004-12-15 | 2004-12-15 | Data processing circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006172107A JP2006172107A (en) | 2006-06-29 |
JP4560398B2 true JP4560398B2 (en) | 2010-10-13 |
Family
ID=36672802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004363211A Expired - Fee Related JP4560398B2 (en) | 2004-12-15 | 2004-12-15 | Data processing circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4560398B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5423483B2 (en) * | 2010-03-04 | 2014-02-19 | 株式会社リコー | Data transfer control device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6336459A (en) * | 1986-07-31 | 1988-02-17 | Pfu Ltd | High speed dma transferring system |
JPS63133253A (en) * | 1986-11-26 | 1988-06-06 | Iwatsu Electric Co Ltd | Data transmission device |
JPH07236064A (en) * | 1994-02-24 | 1995-09-05 | Canon Inc | Run length coding/decoding device |
JP2001502082A (en) * | 1996-09-18 | 2001-02-13 | エレクトロニクス フォア イメージング インコーポレイテッド | System for enabling an I / O processor to perform operations under different transfer algorithms |
JP2003091501A (en) * | 2001-09-17 | 2003-03-28 | Matsushita Electric Ind Co Ltd | Information processing device |
-
2004
- 2004-12-15 JP JP2004363211A patent/JP4560398B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6336459A (en) * | 1986-07-31 | 1988-02-17 | Pfu Ltd | High speed dma transferring system |
JPS63133253A (en) * | 1986-11-26 | 1988-06-06 | Iwatsu Electric Co Ltd | Data transmission device |
JPH07236064A (en) * | 1994-02-24 | 1995-09-05 | Canon Inc | Run length coding/decoding device |
JP2001502082A (en) * | 1996-09-18 | 2001-02-13 | エレクトロニクス フォア イメージング インコーポレイテッド | System for enabling an I / O processor to perform operations under different transfer algorithms |
JP2003091501A (en) * | 2001-09-17 | 2003-03-28 | Matsushita Electric Ind Co Ltd | Information processing device |
Also Published As
Publication number | Publication date |
---|---|
JP2006172107A (en) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5275414B2 (en) | Readable virtual DMA control and status register | |
JP2001216194A (en) | Arithmetic processor | |
US20190387124A1 (en) | Control circuitry, image forming apparatus incorporating the control circuitry, control method, and non-transitory recording medium storing program | |
JP2001084229A (en) | Simd-type processor | |
JP4446968B2 (en) | Data processing device | |
JP3803196B2 (en) | Information processing apparatus, information processing method, and recording medium | |
JP4560398B2 (en) | Data processing circuit | |
JP5675278B2 (en) | Data processing apparatus and image processing apparatus | |
JP2005182538A (en) | Data transfer device | |
JP7225904B2 (en) | Vector operation processing device, array variable initialization method by vector operation processing device, and array variable initialization program by vector operation processing device | |
JP2005258509A (en) | Storage device | |
JP4855351B2 (en) | Image processing device | |
JP4229242B2 (en) | Direct memory access controller | |
JP2007188434A (en) | Image processor | |
JP2006285872A (en) | Multi-cpu system | |
JPH06131294A (en) | Data transfer device | |
JP2001134538A (en) | Signal processor | |
JP2016154001A (en) | Image processor, data transfer control method for image processing, and data transfer control program for image processing | |
JP2003186854A (en) | Simd processor and verification apparatus thereof | |
JP2005084737A (en) | Data transfer method and data transfer device | |
JP2001297056A (en) | Arbitrating circuit and dma controller | |
JP2006031227A (en) | Computer system using dma transfer | |
JP4413905B2 (en) | SIMD type processor | |
JP4847407B2 (en) | Data processing apparatus and data processing method | |
JP5656589B2 (en) | Data transfer device, data transfer method, and data transfer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100610 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100713 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4560398 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |