JP2006053613A - データ転送制御装置及びデータ転送制御方法 - Google Patents
データ転送制御装置及びデータ転送制御方法 Download PDFInfo
- Publication number
- JP2006053613A JP2006053613A JP2004232786A JP2004232786A JP2006053613A JP 2006053613 A JP2006053613 A JP 2006053613A JP 2004232786 A JP2004232786 A JP 2004232786A JP 2004232786 A JP2004232786 A JP 2004232786A JP 2006053613 A JP2006053613 A JP 2006053613A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- clients
- group
- data
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 転送速度の異なる複数のクライアントからのデータを効率的に取得することができるデータ転送制御装置を提供する。
【解決手段】 複数のDMA51〜55のデータ転送要求を受け付けて、当該DMAのデータを転送先に転送制御する要求先パス制御部72と、優先順位の高い第1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、第1グループのクライアントからのデータ転送要求をマスクし、優先順位の低い第2グループのクライアントからのデータ転送要求を要求先パス制御部72に出力するタイミングコントローラ71とを有している。従って、転送速度の異なる複数のクライアントからのデータを効率的に取得することができる。
【選択図】 図6
【解決手段】 複数のDMA51〜55のデータ転送要求を受け付けて、当該DMAのデータを転送先に転送制御する要求先パス制御部72と、優先順位の高い第1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、第1グループのクライアントからのデータ転送要求をマスクし、優先順位の低い第2グループのクライアントからのデータ転送要求を要求先パス制御部72に出力するタイミングコントローラ71とを有している。従って、転送速度の異なる複数のクライアントからのデータを効率的に取得することができる。
【選択図】 図6
Description
本発明は、複数のクライアントから出力されるDMA(Direct Memory Access)転送要求を処理するデータ転送制御装置及びデータ転送制御方法に関する。
複数のクライアントからのデータ転送要求に対する調停方法として、固定優先順位法とラウンドロビン法が知られている。
固定優先順位法は、例えば、4つのクライアントA,B,C,Dがあった場合に、クライアントA〜Dのメモリアクセス要求が競合すると、図1に示すように必ず予め決められた優先順位で処理を行う。
この固定優先順位法は、クライアントA〜Dが同程度の転送スピードの場合には有効であるが、転送スピードが極端に異なるクライアントが混在した場合に、クライアントA〜Dのすべてのデータが揃ってからメモリに対し次の要求を開始するような場合に効率が悪い。
例えば、転送スピードが極端に遅いクライアントがBで、転送スピードが早いクライアントがA,C,Dだとすると、必ずクライアントBからのデータ転送を待ってからクライアントC,Dのデータ転送を行うので、図2に示すようにクライアントBによりクライアントA,C,Dが待たされる可能性がある。
ラウンドロビン法は、平等に優先権を与える方法である。例えば、クライアントA〜Dのメモリアクセス要求が同時に競合すると、クライアントA,クライアントB,クライアントC,クライアントDの優先順位の処理になる。また一旦アクセス要求を獲得したクライアントは、優先順位が最下位になる。
このラウントロビン法も、クライアントA〜Dが同程度の転送スピードの場合には有効だが、転送スピードが極端に異なるクライアントが混在した場合に、クライアントA〜Dのすべてのデータが揃ってからメモリに対し次の要求を開始するような場合に効率が悪い。
例えば、転送スピードが極端に早いクライアントがAで、他は同等の速度のクライアントB,C,Dであるとする。アクセス要求に多少の時間差があると、図3に示すようにクライアントAの要求が連続して行われ、AによりB,C,Dが待たされる可能性がある。
また特許文献1には、バッファ残量に基づいた調停方法が開示されている。この方法は、複数のクライアントからのメモリアクセス要求が競合した場合に、各クライアントに設けられているデータバッファへのデータの蓄積状況を示すバッファ残量に基づいて、アクセス権の調停を行う。
この方法も、複数のクライアントが同程度の転送スピードの場合には有効であるが、転送スピードが極端に異なるクライアントが混在した場合に、クライアントA〜Dのすべてのデータが揃ってからメモリに対し次の要求を開始するような場合に効率が悪い。
また特許文献2には、共有資源からデータを読み出す第1デバイスと、共有資源にデータを書き込む第2デバイスとの資源アクセス要求を調停する方法が開示されている。第1デバイスと第2デバイスとのアクセス要求回数をカウントして比較し、比較結果に応じて第1デバイスのアクセス要求をマスクすることで、第1デバイスが無駄なデータを読み出すことがないようにしている。
上述したアクセス権の調停方法は、複数のクライアントからのデータが揃ってからメモリに対し次の要求を開始するような場合に効率が悪い。図2〜図4に示すように転送スピードの極端に遅いクライアントや極端に速いクライアントがあった場合に、複数のクライアントからデータを効率的に取得することができない。特許文献2の開示技術もこの問題点を解消しているとは言えない。
本発明は上記事情に鑑みてなされたものであり、転送速度の異なる複数のクライアントからのデータを効率的に取得することができるデータ転送制御装置及びデータ転送制御方法を提供することを目的とする。
かかる目的を達成するために本発明のデータ転送制御装置は、優先順位を高く設定された第1グループのクライアントからのデータ転送要求と、前記優先順位を低く設定された第2グループのクライアントからのデータ転送要求とを調停するデータ転送制御装置であって、複数のクライアントからのデータ転送要求を受け付けて、当該クライアントのデータを転送先に転送制御する制御回路と、前記第1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、前記第1グループのクライアントからのデータ転送要求をマスクし、前記第2グループのクライアントからのデータ転送要求を前記制御回路に出力するマスク回路とを有する構成としている。1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、第2グループのクライアントからのデータ転送要求を優先するようになるため、転送速度の異なる複数のクライアントからのデータを効率的に取得することができる。従って、第1グループと第2グループからのデータセットが揃わないと次の処理に移行できないような場合に、効果的な転送制御となる。
上記のデータ転送制御装置において、前記マスク回路は、前記第2グループのクライアントのデータ転送が終了すると、前記第1グループのクライアントからの前記データ転送要求に対するマスクを解除するとよい。第2グループのデータ転送が終了すると、第1グループからのデータ転送要求に対するマスクを解除するので、優先順位を高く設定された第1グループのクライアントからのデータ転送が優先的に行われることになる。
上記のデータ転送制御装置において、前記制御回路は、前記第1グループのクライアントに対し、固定優先順位法又はラウンドロビン法によって優先順位を設定するとよい。固定優先順位法又はラウンドロビン法によって設定された優先順位に従って、第1グループのクライアントからのデータを転送することができる。
上記のデータ転送制御装置において、前記マスク回路は、外部から設定される前記データ転送回数又は前記データ転送量に従って、前記第1グループのクライアントからの転送要求をマスクするとよい。外部からデータ転送回数又は前記データ転送量を設定可能なので、設定の変更が容易になる。
上記のデータ転送制御装置において、前記第1グループのクライアントは、転送速度の速いクライアントであり、前記第2のグループのクライアントは、転送速度の遅いクライアントであるとよい。転送速度の遅い第2のグループのクライアントのデータ転送を保護することができる。
本発明のデータ転送制御方法は、優先順位を高く設定された第1グループのクライアントからのデータ転送要求と、前記優先順位を低く設定された第2グループのクライアントからのデータ転送要求とを調停するデータ転送制御方法であって、前記第1グループのクライアントのデータ転送回数又はデータ転送量を監視するステップと、前記第1グループのクライアントのデータ転送回数又はデータ転送量となると、前記第1グループのクライアントからのデータ転送要求をマスクし、前記第2グループのクライアントからのデータ転送要求を受け付けるステップとを有している。1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、第2グループのクライアントからのデータ転送要求を優先するようになるため、転送速度の異なる複数のクライアントからのデータを効率的に取得することができる。従って、第1グループと第2グループからのデータセットが揃わないと次の処理に移行できないような場合に、効果的な転送制御となる。
本発明は、転送速度の異なる複数のクライアントからのデータを効率的に取得することができる。
添付図面を参照しながら本発明の最良の実施例を説明する。
本発明を画像形成装置10に適用した構成を図5に示す。図5に示すように本実施例は、システムバス9に、CPU1と、メモリ2と、スキャナユニット6と、画像処理ユニット8とが接続されている。メモリ2はメモリコントローラ3を介してシステムバス9に接続されている。スキャナユニット6は、データ転送制御装置5とインタフェース4とを介してシステムバス9に接続されている。画像処理ユニット8は、インタフェース7を介してシステムバス9に接続されている。
メモリコントローラ3は、CPU1の制御により動作して、メモリ2に対してデータの読み書き制御を実行する。メモリ2は、メモリコントローラ3に接続され、その制御にしたがい例えば、画像データ等を格納する。システムバス9はメモリコントローラ3と、データ転送制御装置5とを接続して画像データ等のデータを転送する。
データ転送装置4は、スキャナユニット6によって読み取ったY(イエロ),M(マゼンタ),C(シアン),K(ブラック)の画像データをメモリ2に転送して格納する制御を行う。また、データ転送制御装置5は、CPU1によってデータ転送に必要な設定等がなされる。この画像データの他に、転送済みバイト数等のステータスデータ(属性情報)がデータ転送制御装置5よりメモリ2に出力される。
画像処理ユニット8は、メモリ2に蓄積された画像データを読み出して、印刷のための画像処理を行う。処理後の画像データは、図示しない印刷エンジンに出力され印刷が行われる。
図6に、データ転送制御装置5の詳細な構成を示す。図6に示すようにデータ転送制御装置5は、インタフェース4との間でデータのDMA転送を行う複数のDMAコントローラ(DMACとも表記する)50と、DMAコントローラ50からの入出力要求に対するアービトレーションを行い、インタフェース4との間でデータを転送する調停回路70とを備えている。
DMAコントローラ50は、第1DMA51、第2DMA52、第3DMA53、第4DMA54、第5DMA55と、各DMA51〜55に対応して設けられたFIFO(First-In First-Out)メモリ56、57、58、59、60とを備えている。
DMAコントローラ50は、スキャナユニット6より出力されるY,M,C,Kの画像データを、第1DMA51、第2DMA52、第3DMA53、第4DMA54に入力する。第5DMA55には、これらの画像データのステータスデータが入力される。各DMA51〜55は、入力した画像データやステータスデータをFIFOメモリ56〜60に一次蓄積する。各DMA51〜55は、FIFOメモリ56〜60にデータが格納されると、タイミングコントローラ71に転送リクエスト(REQ)を発行する。また、各DMA51〜55はタイミングコントローラ71によって転送を許可されると、FIFOメモリ56〜60からデータを読み出してDMA転送を行う。
調停回路70は、図6に示すようにタイミングコントローラ71と要求先パス制御部72とを備えている。タイミングコントローラ71には、CPU1からの設定信号が入力される。タイミングコントローラ71は、CPU1によって設定された条件を満たすと、優先順位の高いクライアントからの転送要求をマスクし、優先順位の低いクライアントからの転送要求を優先させる。
本実施例では、第1DMA51〜第4DMA54が画像データを転送するクライアントとなるので、データの転送速度が速く、タイミングコントローラ71において優先順位が高く設定されている(第1グループ)。第5DMA55は、画像データのステータスを転送するクライアントなので、第1DMA51〜第4DMA54よりも優先順位が低くデータの転送速度も遅く設定されている(第2グループ)。
CPU1からタイミングコントローラ71には、転送回数又は転送バイト数の設定情報が入力される。この設定情報は、優先順位の高い第1DMA51から第4DMA54に対して設定されるもので、第1DMA51から第4DMA54に共通に設定してもよいし、第1DMA51〜第4DMA54でそれぞれ異なる値を設定してもよい。タイミングコントローラ71は、優先順位の高い第1DMA51〜第4DMA54の転送回数又は転送バイト数が、CPU1により設定された設定条件を満たすまでは、第1DMA51〜第5DMA55からの転送要求をそのまま要求先パス制御部72に出力する。
また、第1DMA51〜第4DMA54のデータ転送が、CPU1によって設定された転送回数又は転送バイト数を満たすと、タイミングコントローラ71は第1DMA51〜第4DMA54の転送要求をマスクし、優先順位を低く設定されている第5DMA55のデータ転送要求を要求先パス制御部72に出力する。これによって、優先順位の高い第1DMA51〜第4DMA54と転送要求が重なりデータの転送ができない第5DMA55が、優先的にデータの転送ができるようになる。従って、第1DMA51〜第5DMA55によって転送されるデータセットが揃わないと次の処理に移行できないような場合に、効果的な転送制御となる。
またタイミングコントローラ71は、優先順位の低い第5DMA55が転送イネーブル信号をネゲートすることで、転送の終了を検知する。タイミングコントローラ71は転送の終了を検知すると、優先順位の高い第1DMA51〜第4DMA54までのリクエストに対するマスクを解除する。
要求先パス制御部72は、バスマスタであるCPU1に対してバス使用権の要求を行い、転送要求のあったクライアント(第1DMA51〜第5DMA55)からのデータを所定の転送相手、ここではシステムバス9に接続されたメモリコントローラ3に転送する。この時のデータ転送には、固定優先順位法を用いてもよいし、ラウンドロビン法を用いてもよい。
次に、図7に示すタイミングチャートを参照しながら本実施例の動作を説明する。まず、優先順位の高い第1DMA51によってリクエスト信号(図7に示すReq1)が調停回路70に出力される。リクエスト信号を入力した要求先パス制御部72は、データ転送を許可する信号(図7に示すAck1)を第1DMA51に出力する。第1DMA51は、FIFOメモリ56から画像データを読み出してDMA転送を行う。この画像データは、調停回路70、インタフェース4によってシステムバス9上に出力され、メモリコントローラ3に取り込まれてメモリ2に記録される。
次に、リクエスト信号を出力し、待機していた第2DMA52のデータ転送が要求先パス制御部72によって許可され、メモリ2に記録される。以下、同様の手順で第3DMA53、第4DMA54のデータ転送が行われる。
タイミングコントローラ71は、優先順位の高い第1DMA51〜第4DMA54のデータ転送が、CPU1により設定された転送回数を満たした段階で(ここでは、第1DMA51〜第4DMA54がそれぞれ1回のデータ転送を行った場合)、各DMA51〜54からのリクエスト信号をマスクし、要求先パス制御部72にリクエスト信号が出力されないようにする(図7に示すマスク)。なお、図7には、第1DMA51に対するマスクしか図示していないが、転送回数を満たしたDMAに対してそれぞれマスクを行う。
優先順位の高い第1DMA51〜第4DMA54が決められた回数のデータ転送を行うと、第1DMA51〜第4DMA54のリクエスト信号は、タイミングコントローラ71によってマスクされるので、要求先パス制御部72には、第5DMA55からのリクエスト信号だけが入力される(図7に示すReq5)。要求先パス制御部72は、第5DMA55に対しデータ転送を許可する信号(図7に示すAck5)を出力し、FIFOメモリ60に蓄積されていたステータスデータがメモリ2に転送され記録される。
なお、上述した実施例は本発明の好適な実施例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
1 CPU 2 メモリ
3 メモリコントローラ 4、7 インターフェース
5 データ転送制御装置 6 スキャナユニット
8 画像処理ユニット 9 システムバス
50 DMAコントローラ 51 第1DMA
52 第2DMA 53 第3DMA
54 第4DMA 55 第5DMA
56、57、58、59、60 FIFOメモリ
70 調停回路 71 タイミングコントローラ
72 要求先パス制御部
3 メモリコントローラ 4、7 インターフェース
5 データ転送制御装置 6 スキャナユニット
8 画像処理ユニット 9 システムバス
50 DMAコントローラ 51 第1DMA
52 第2DMA 53 第3DMA
54 第4DMA 55 第5DMA
56、57、58、59、60 FIFOメモリ
70 調停回路 71 タイミングコントローラ
72 要求先パス制御部
Claims (6)
- 優先順位を高く設定された第1グループのクライアントからのデータ転送要求と、前記優先順位を低く設定された第2グループのクライアントからのデータ転送要求とを調停するデータ転送制御装置であって、
複数のクライアントからのデータ転送要求を受け付けて、当該クライアントのデータを転送先に転送制御する制御回路と、
前記第1グループのクライアントのデータ転送回数又はデータ転送量が、所定回数又は所定量となると、前記第1グループのクライアントからのデータ転送要求をマスクし、前記第2グループのクライアントからのデータ転送要求を前記制御回路に出力するマスク回路とを有することを特徴とするデータ転送制御装置。 - 前記マスク回路は、前記第2グループのクライアントのデータ転送が終了すると、前記第1グループのクライアントからの前記データ転送要求に対するマスクを解除することを特徴とする請求項1記載のデータ転送制御装置。
- 前記制御回路は、前記第1グループのクライアントに対し、固定優先順位法又はラウンドロビン法によって優先順位を設定することを特徴とする請求項1又は2記載のデータ転送制御装置。
- 前記マスク回路は、外部から設定される前記データ転送回数又は前記データ転送量に従って、前記第1グループのクライアントからの転送要求をマスクすることを特徴とする請求項1から3のいずれか一項に記載のデータ転送制御装置。
- 前記第1グループのクライアントは、転送速度の速いクライアントであり、前記第2のグループのクライアントは、転送速度の遅いクライアントであることを特徴とする請求項1から4のいずれか一項に記載のデータ転送制御装置。
- 優先順位を高く設定された第1グループのクライアントからのデータ転送要求と、前記優先順位を低く設定された第2グループのクライアントからのデータ転送要求とを調停するデータ転送制御方法であって、
前記第1グループのクライアントのデータ転送回数又はデータ転送量を監視するステップと、
前記第1グループのクライアントのデータ転送回数又はデータ転送量となると、前記第1グループのクライアントからのデータ転送要求をマスクし、前記第2グループのクライアントからのデータ転送要求を受け付けるステップとを有することを特徴とするデータ転送制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004232786A JP2006053613A (ja) | 2004-08-09 | 2004-08-09 | データ転送制御装置及びデータ転送制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004232786A JP2006053613A (ja) | 2004-08-09 | 2004-08-09 | データ転送制御装置及びデータ転送制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006053613A true JP2006053613A (ja) | 2006-02-23 |
Family
ID=36031076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004232786A Pending JP2006053613A (ja) | 2004-08-09 | 2004-08-09 | データ転送制御装置及びデータ転送制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006053613A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334692A (ja) * | 2006-06-15 | 2007-12-27 | Canon Inc | データ処理装置及び方法 |
JP2008090720A (ja) * | 2006-10-04 | 2008-04-17 | Fuji Xerox Co Ltd | データ転送システム及び画像形成装置 |
US11683270B2 (en) | 2018-12-19 | 2023-06-20 | Samsung Electronics Co., Ltd. | Communication device including plurality of clients |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004110742A (ja) * | 2002-09-20 | 2004-04-08 | Matsushita Electric Ind Co Ltd | Dmaコントローラ |
-
2004
- 2004-08-09 JP JP2004232786A patent/JP2006053613A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004110742A (ja) * | 2002-09-20 | 2004-04-08 | Matsushita Electric Ind Co Ltd | Dmaコントローラ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334692A (ja) * | 2006-06-15 | 2007-12-27 | Canon Inc | データ処理装置及び方法 |
JP2008090720A (ja) * | 2006-10-04 | 2008-04-17 | Fuji Xerox Co Ltd | データ転送システム及び画像形成装置 |
US11683270B2 (en) | 2018-12-19 | 2023-06-20 | Samsung Electronics Co., Ltd. | Communication device including plurality of clients |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070233923A1 (en) | Bus arbitration system and method thereof | |
JP2006195714A (ja) | リソース管理装置 | |
JP2011150397A (ja) | バス調停装置 | |
EP2423824B1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
JP2006227836A (ja) | データ転送システムおよびデータ転送方法 | |
JP2013097659A (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
CN105988968B (zh) | 半导体装置 | |
KR100480605B1 (ko) | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 | |
JP2006293927A (ja) | ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi | |
JP5057360B2 (ja) | 半導体装置、データ処理装置、及び記憶装置へのアクセス方法 | |
JP2007094649A (ja) | アクセス調停回路 | |
JP2008146541A (ja) | Dma転送システム、dmaコントローラ及びdma転送方法 | |
JP2006053613A (ja) | データ転送制御装置及びデータ転送制御方法 | |
JP4446968B2 (ja) | データ処理装置 | |
US20040225769A1 (en) | Bus architecture with primary bus and secondary or slave bus for microprocessor systems | |
JPH1040215A (ja) | Pciバス・システム | |
JP3766377B2 (ja) | バス制御装置及び情報処理システム | |
JP5293516B2 (ja) | データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 | |
JP2001101128A (ja) | データ処理装置 | |
JP5332692B2 (ja) | データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 | |
US20100153610A1 (en) | Bus arbiter and bus system | |
JP2004056376A (ja) | 半導体装置及びデータ転送制御方法 | |
JP2002269032A (ja) | バスアービタ | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20070719 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100420 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20100817 Free format text: JAPANESE INTERMEDIATE CODE: A02 |