JP2014160341A - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP2014160341A
JP2014160341A JP2013030232A JP2013030232A JP2014160341A JP 2014160341 A JP2014160341 A JP 2014160341A JP 2013030232 A JP2013030232 A JP 2013030232A JP 2013030232 A JP2013030232 A JP 2013030232A JP 2014160341 A JP2014160341 A JP 2014160341A
Authority
JP
Japan
Prior art keywords
memory
master
access
arbiter
unit
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.)
Granted
Application number
JP2013030232A
Other languages
English (en)
Other versions
JP6175794B2 (ja
Inventor
Yoshikazu Katabe
佳和 形部
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 JP2013030232A priority Critical patent/JP6175794B2/ja
Priority to US14/176,606 priority patent/US9760507B2/en
Publication of JP2014160341A publication Critical patent/JP2014160341A/ja
Application granted granted Critical
Publication of JP6175794B2 publication Critical patent/JP6175794B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

【課題】優先度の高いマスタによるメモリに対するアクセスを保障しながら、他のマスタに対してもメモリに対して効率良くアクセスさせる。
【解決手段】メモリに記憶されたデータにアクセスする第1マスタおよび第2マスタによるアクセスを調停する第1サブアービタと、第1マスタおよび第2マスタ以外の複数のマスタによるメモリに対するアクセスを調停する第2サブアービタと、第1サブアービタからメモリに対するアクセスを、第2サブアービタからメモリに対するアクセスより優先させるメインアービタと、第2マスタによるメモリに対するアクセス量を予め設定された範囲内に制限する制限部と、を備えるデータ処理装置を提供する。
【選択図】図1

Description

本発明は、バスへのアクセスを調停するデータ処理装置およびデータ処理方法に関する。
近年、複合機(MFP)の高速化が進んでいる。MFPでは、スキャナの読み取り速度およびプロッタの書き込み速度が向上しており、メインメモリとの間のデータ転送のライン等時性(画像データの1ライン単位でのデータ転送のリアルタイム性)の確保が厳しくなっている。
さらに、MFPでは、チップシュリンク化が進んでいる。1つのチップに、MFPのための機能に加えて、IO機能、CPU(Central Processing Unit)、表示出力機能およびグラフィック機能が追加されるので、ライン等時性のみならず、システム性能のリアルタイム性(例えばCPUの割込み処理等のシステムとしてのリアルタイム性)、表示性能のリアルタイム性(フレーム転送のリアルタイム性)も同時に要求される。
そして、MFPでは、コスト削減のためにメインメモリの集約化が進んでいる。ワンチップに高速なDRAM(Dynamic Random Access Memory)を接続してシステムで共有するので、あらゆるデータ転送がメインメモリに集中する。したがって、MFPでは、各マスタによるメインメモリとの間のデータ転送についてアービタを用いてQoS(Quality of Service)制御を行い、ライン等時性の保障、並びにシステム性能のリアルタイム性および表示性能のリアルタイム性の保障をする必要がある。
そこで、従来のMFPは、最も優先すべきライン等時性に関するマスタによるメインメモリに対するアクセスの優先順位を上げて、ライン等時性を保障している。さらに、MFPでは、1ライン内にライン等時性を確保すべきマスタがアクセスできない遊休期間を設定し、その遊休時間に次に優先すべきデータ転送(ページ等時性、システム転送)をライン等時性に影響のないレベルでアービタにより許可することにより、システム性能のリアルタイム性および表示性能のリアルタイム性の保障をしている。
しかし、従来のMFPでは、ライン等時性を最優先してその合間に他の転送を挟んでいるにすぎなかった。システム性能、ページ転送およびフレーム転送のリアルタイム性は、ライン等時性のメモリアクセス要求頻度によっては、そのリアルタイム性を保障できない場合もある。
例えば、MFPのコントロールICは、通常のプリンタ動作においては、ライン同期信号に同期して動作するプロッタエンジンに対して、最優先でプリンタ画像を転送する。ライン同期信号には、帰線期間と呼ばれる次のライン転送開始までの待ち時間が存在するので、コントロールICは、待ち時間に優先順位が下の転送処理を行うことができる。これによりプリンタ動作中であっても、他のページのプリンタ画像の描画処理、CPUの処理およびGPU(Graphics Processing Unit)による操作部表示処理等を実現できる。
ところが、180度回転プリンタ動作等の特殊な動作では、プロッタエンジンに出力する前に、伸張した画像を180度回転させるためにメインメモリ上に展開する処理を実行する。この動作では、デコーダが隙間なく符号をメインメモリから読み出して、伸張後の画像をメインメモリに書き込むので、メモリ帯域を独占してしまう恐れがある。このため、この動作では、優先順位が下のメインメモリに対するデータ転送の性能が著しく低下し、180度回転プリンタ動作の機能は提供できるもののシステム全体の性能が低下する、という問題が生じてしまう。
この問題を解決するために、いくつかの方法があるが、どれもプロッタエンジン転送との両立は難しい。例えば、デコーダのメモリ優先順位をCPU等のその他のモジュールと同じにするという手段が考えられる。この場合、180度回転プリンタ動作中もCPUおよびその他のモジュールがメインメモリにアクセスすることが可能なので、システム全体の性能の低下は回避できる。しかし、CPUやその他のモジュールの動作状況によっては、伸張処理性能がプロッタエンジンの出力性能に間に合わず、例えば異常画像を引き起こす場合もある。
また、一部のモジュール(例えばCPUやGPU)を画像データの転送よりも優先順位を上げるという手段も考えられる。この場合、180度回転プリンタ動作中であってもCPU処理は滞らず、GPUの操作部描画処理も滞らないので、ユーザー視点ではシステム低下を回避できる。しかし、CPU、GPUの動作内容によっては、伸張処理性能がプロッタエンジンの出力性能に間に合わない。逆に、CPU、GPU自体の限界性能が十分に低い場合はこの手段が有効ではあるが、今後のMFPに搭載されるCPU、GPU性能の限界性能はより高くなると予想されるので、この手段を適用できなくなる。
本発明は、上記に鑑みてなされたものであって、優先度の高いマスタによるメモリに対するアクセスを保障しながら、他のマスタに対してもメモリに対して効率良くアクセスさせることができるデータ処理装置およびデータ処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るデータ処理装置は、メモリに記憶されたデータにアクセスする第1マスタおよび第2マスタによる前記アクセスを調停する第1サブアービタと、前記第1マスタおよび前記第2マスタ以外の複数のマスタによる前記メモリに対するアクセスを調停する第2サブアービタと、前記第1サブアービタから前記メモリに対するアクセスを、前記第2サブアービタから前記メモリに対するアクセスより優先させるメインアービタと、前記第2マスタによる前記メモリに対するアクセス量を予め設定された範囲内に制限する制限部と、を備える。
本発明に係るデータ処理方法は、メモリに記憶されたデータにアクセスする第1マスタおよび第2マスタによる前記アクセスを調停する第1サブアービタと、前記第1マスタおよび前記第2マスタ以外の複数のマスタによる前記メモリに対するアクセスを調停する第2サブアービタとを備えたデータ処理装置におけるデータ処理方法であって、前記第1サブアービタから前記メモリに対するアクセスを、前記第2サブアービタから前記メモリに対するアクセスより優先させ、前記第2マスタによる前記メモリに対するアクセス量を予め設定された範囲内に制限する。
本発明によれば、優先度の高いマスタによるメモリに対するアクセスを保障しながら、他のマスタに対してもメモリに対して効率良くアクセスさせることができる。
図1は、実施形態に係る画像処理システム10の構成を示す図である。 図2は、通常のプリンタ動作時における、画像処理システム10内のデータの流れを示す図である。 図3は、180度回転プリンタ動作時における、画像処理システム10内のデータの流れを示す図である。 図4は、制限部81が第1アービタ71のバス接続ポートに設けられた場合の画像処理システム10の部分構成を示す図である。 図5は、制限部81がデコーダ用書込DMA55のバス接続ポートに設けられた場合の画像処理システム10の部分構成を示す図である。 図6は、第1例に係る制限部81の構成を示す図である。 図7は、第1例に係る制限部81の処理フローを示す図である。 図8は、第2例に係る制限部81の構成を示す図である。 図9は、第2例に係る制限部81の処理フローを示す図である。
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
図1は、実施形態に係る画像処理システム10の構成を示す。画像処理システム10は、スキャナおよびプロッタを備える複合機等に用いられる制御装置である。画像処理システム10は、例えば、スキャナから取り込んだ画像データを取得して、プロッタに対して画像データを出力する。
画像処理システム10は、プロッタエンジン20と、メモリ30と、ディスク記憶装置40と、データ処理装置50とを備える。プロッタエンジン20は、プロッタによる画像形成動作を制御する。プロッタエンジン20は、画像信号の1ライン毎の動作タイミングを示すライン同期信号に同期して動作する。
メモリ30は、例えばDRAMである。メモリ30は、データ処理装置50の処理対象となる画像データ、および、印刷用の符号化データであるプリンタ符号データ等を記憶する。ディスク記憶装置40は、例えばハードディスクドライブである。ディスク記憶装置40は、プリンタ符号データ等を記憶する。
データ処理装置50は、例えば1チップの回路である。データ処理装置50は、複合機の全体のシステム制御、表示モニタの表示制御、および、プリンタ画像の描画処理等を行う。さらに、データ処理装置50は、プリント動作時において、ライン等時性を保障しながらプロッタエンジン20に対して画像データを出力する。
データ処理装置50は、デバイスインターフェイス51と、出力用DMA(Direct Memory Access)52と、デコーダ用読出DMA53と、デコーダ54と、デコーダ用書込DMA55と、ディスクコントローラ61と、エンコーダ62と、グラフィックコントローラ63と、CPU64と、GPU65と、第1アービタ71と、第2アービタ72と、第3アービタ73と、メモリコントローラ74とを有する。
デバイスインターフェイス51は、プロッタエンジン20との間でデータの送受信をするためのインターフェイス回路である。デバイスインターフェイス51は、一例として、PCIエキスプレスの規格のインターフェイス回路である。
出力用DMA52は、メモリ30に記憶されているデータを読み出して、デバイスインターフェイス51を介してプロッタエンジン20へと転送する。この場合、出力用DMA52は、第1アービタ71およびメモリコントローラ74を介してメモリ30にアクセスする。また、出力用DMA52は、1ライン単位でのリアルタイム性(ライン等時性)を確保して、メモリ30に記憶された画像データを読み出してプロッタエンジン20へと転送する。
また、出力用DMA52は、デコーダ54から出力された画像データを入力して、デバイスインターフェイス51を介してプロッタエンジン20へと出力する。この場合にも、出力用DMA52は、ライン等時性を確保して、画像データをプロッタエンジン20へと転送する。
デコーダ用読出DMA53は、メモリ30に記憶されたプリンタ符号データを読み出して、デコーダ54へと転送する。この場合、デコーダ用読出DMA53は、第1アービタ71およびメモリコントローラ74を介してメモリ30にアクセスする。また、デコーダ用読出DMA53は、ライン等時性を確保してデータを転送する。
デコーダ54は、デコーダ用読出DMA53から供給されたプリンタ符号データを伸張処理して、画像データを生成する。そして、デコーダ54は、通常の印刷動作時においては、伸張した画像データを出力用DMA52へと出力する。
また、デコーダ54は、180度回転プリンタ動作等の画像処理を施した画像データを印刷する動作時においては、伸張した画像データに対して所定の画像処理を施して、デコーダ用書込DMA55へと出力する。
デコーダ用書込DMA55は、180度回転プリンタ動作等の動作時において、デコーダ54により画像処理が施された画像データを読み出して、メモリ30に書き込む。この場合、デコーダ用書込DMA55は、第1アービタ71およびメモリコントローラ74を介してメモリ30にアクセスする。
ディスクコントローラ61は、ディスク記憶装置40との間でのデータのやり取りを制御する。ディスクコントローラ61は、メモリ30とディスク記憶装置40との間のプリンタ符号データの転送を制御する。この場合、ディスクコントローラ61は、第2アービタ72およびメモリコントローラ74を介してメモリ30にアクセスする。また、ディスクコントローラ61は、1ページ単位でのリアルタイム性(ページ等時性)を確保して、データを転送する。
エンコーダ62は、メモリ30に記憶された画像データを読み出し、読み出した画像データを圧縮してプリンタ符号データを生成し、プリンタ符号データをメモリ30に書き戻す。この場合、エンコーダ62は、第2アービタ72およびメモリコントローラ74を介してメモリ30にアクセスする。また、エンコーダ62は、ページ等時性を確保して、圧縮処理等を実行する。
グラフィックコントローラ63は、画像データをメモリ30から読み出して描画処理をし、描画処理後の画像データをメモリ30に書き戻す。この場合、グラフィックコントローラ63は、第2アービタ72およびメモリコントローラ74を介してメモリ30にアクセスする。また、グラフィックコントローラ63は、ページ等時性を確保して、圧縮処理等を実行する。
CPU64は、画像処理システム10が設けられている複合機等のシステム全体を制御する。CPU64は、命令等をメモリ30から読み出して実行する。この場合、CPU64は、第3アービタ73およびメモリコントローラ74を介してメモリ30にアクセスする。
GPU65は、複合機等のシステムに設けられた表示入力装置にユーザインターフェイスを表示し、表示入力装置に対する操作入力を受け付ける。GPU65は、ユーザインターフェイスを表示するための情報をメモリ30から読み出して表示する。この場合、GPU65は、第3アービタ73およびメモリコントローラ74を介してメモリ30にアクセスする。
第1アービタ71は、出力用DMA52、デコーダ用読出DMA53およびデコーダ用書込DMA55によるメモリ30に対するアクセスを調停する。すなわち、第1アービタ71は、出力用DMA52、デコーダ用読出DMA53およびデコーダ用書込DMA55をマスタとし、メモリコントローラ74をスレーブとしたデータ転送を調停する。第1アービタ71は、一例として、LRU(Least Recently Used)等のラウンドロビン方式で調停をする。
また、第1アービタ71は、メモリコントローラ74の最も優先順位の高いポートに接続される。このような第1アービタ71は、出力用DMA52、デコーダ用読出DMA53およびデコーダ用書込DMA55の何れのアクセスを受け付けるかを決定するサブアービタとして機能する。
第2アービタ72は、ディスクコントローラ61、エンコーダ62およびグラフィックコントローラ63によるメモリ30に対するアクセスを調停する。すなわち、第2アービタ72は、ディスクコントローラ61、エンコーダ62およびグラフィックコントローラ63をマスタとし、メモリコントローラ74をスレーブとしたデータ転送を調停する。
第2アービタ72は、一例として、ラウンドロビン方式で調停をする。また、第2アービタ72は、メモリコントローラ74の2番目に優先順位の高いポートに接続される。このような第2アービタ72は、ディスクコントローラ61、エンコーダ62およびグラフィックコントローラ63の何れのアクセスを受け付けるかを決定するサブアービタとして機能する。
第3アービタ73は、CPU64およびGPU65によるメモリ30に対するアクセスを調停する。すなわち、第3アービタ73は、CPU64およびGPU65をマスタとし、メモリコントローラ74をスレーブとしたデータ転送の調停をする。
第3アービタ73は、一例として、ラウンドロビン方式で調停をする。また、第3アービタ73は、メモリコントローラ74の最も優先順位の低いポートに接続される。このような第3アービタ73は、CPU64およびGPU65の何れのアクセスを受け付けるかを決定するサブアービタとして機能する。
メモリコントローラ74は、第1アービタ71、第2アービタ72および第3アービタ73からのメモリ30に対するアクセスを制御する。具体的には、メモリコントローラ74は、第1アービタ71からのアクセスを最も優先順位を高くし、第2アービタ72からのアクセスを2番目に優先順位を高くし、第3アービタ73からのアクセスを最も優先順位を低くする。
すなわち、メモリコントローラ74は、第1アービタ71からメモリ30へのアクセスを、第2アービタ72および第3アービタ73からのメモリ30へのアクセスよりも優先させる。また、メモリコントローラ74は、第2アービタ72からメモリ30へのアクセスを、第3アービタ73からメモリ30へのアクセスよりも優先させる。このようなメモリコントローラ74は、第1アービタ71、第2アービタ72および第3アービタ73の何れかのアクセスを受け付けるかを決定するメインアービタとして機能する。
制限部81は、デコーダ用書込DMA55からメモリ30に対する書き込みアクセスのアクセス量を、予め設定された帯域の範囲内に制限する。例えば、制限部81は、180度回転プリンタ動作等における、画像処理が施された画像データをメモリ30へ書き戻す際のアクセスを、予め設定された帯域内に制限する。なお、制限部81による帯域制限の方法の一例については詳細を後述する。
図2は、通常のプリンタ動作時における、画像処理システム10内のデータの流れを示す。画像処理システム10は、通常のプリンタ動作において、以下のように処理を進める。
GPU65は、メモリ30から操作画像を読み出して表示入力部にユーザインターフェイスを表示する(S11)。そして、GPU65は、入力情報をメモリ30に書き込む。また、CPU64は、メモリ30から命令を読み出して実行し、実行結果をメモリ30に書き込む(S12)。
グラフィックコントローラ63は、画像データをメモリ30から読み出して描画処理をし、描画処理後の画像データをメモリ30に書き込む(S13)。続いて、エンコーダ62は、描画処理後の画像データをメモリ30から読み出して圧縮符号化処理してプリンタ符号データを生成し、プリンタ符号データをメモリ30に書き込む(S14)。
続いて、ディスクコントローラ61は、プリンタ符号データをメモリ30から読み出して、プリンタ文書としてディスク記憶装置40に書き込む(S15)。そして、プリンタの印刷準備が開始されると、ディスクコントローラ61は、プリンタ符号データをディスク記憶装置40から読み出して、メモリ30に書き込む(S16)。
続いて、デコーダ用読出DMA53は、プリンタ符号データをメモリ30から読み出して、デコーダ54へと転送する(S17)。デコーダ54は、プリンタ符号データを伸張処理して、画像データを生成する(S18)。そして、出力用DMA52は、デコーダ54により伸張された画像データを入力して、デバイスインターフェイス51を介してプロッタエンジン20へと出力する(S19)。
図3は、180度回転プリンタ動作時における、画像処理システム10内のデータの流れを示す。画像処理システム10は、180度回転プリンタ動作において、以下のように処理を進める。
まず、ステップS11からステップS17までは、図2の同様の処理が実行される。続いて、デコーダ54は、デコーダ用読出DMA53により読み出されたプリンタ符号データを伸張処理して画像データを生成し、画像データを180度反転させる。そして、デコーダ用書込DMA55は、180度回転させた画像データをメモリ30に書き込む(S20)。続いて、出力用DMA52は、180度回転した画像データをメモリ30から読み出して、デバイスインターフェイス51を介してプロッタエンジン20へと出力する(S21)。
図4は、制限部81が第1アービタ71のバス接続ポートに設けられた場合の画像処理システム10の部分構成を示す。制限部81は、一例として、第1アービタ71における、帯域制限の対象となるマスタであるデコーダ用書込DMA55との間のバス接続ポートに設けられる。この場合、第1アービタ71は、制限部81と、セレクタ82とを有する。
セレクタ82は、複数のマスタ(出力用DMA52、デコーダ用読出DMA53およびデコーダ用書込DMA55)の何れか一つを選択して、スレーブ(メモリコントローラ74)と接続する。ここで、セレクタ82における複数のマスタとスレーブとの間の通信プロトコルは、例えばAXI(Advanced eXtensible Interface)またはOCP(Open Core Protocol)のようなスプリット・トランザクションを用いたプロトコルである。スプリット・トランザクションとは、転送要求とデータ転送が分けられた転送である。
制限部81は、セレクタ82とデコーダ用書込DMA55との間に挿入される。デコーダ用書込DMA55からのメモリ30への書き込みアクセスを制限する場合、制限部81は、デコーダ用書込DMA55からの転送要求のレディー応答をネゲート(無効)とする。これにより、制限部81は、デコーダ用書込DMA55からの有効なデータ転送を待機させることができ、書き込みアクセスの制限をすることができる。
図5は、制限部81がデコーダ用書込DMA55のバス接続ポートに設けられた場合の画像処理システム10の部分構成を示す。
制限部81は、制限対象のマスタであるデコーダ用書込DMA55における、セレクタ82との間のバス接続ポートに設けられてもよい。この場合、第1アービタ71は、制限部81を有さない。セレクタ82は、図4に示したものと同一であるので説明を省略する。
制限部81は、デコーダ用書込DMA55の入出力ポートと、セレクタ82との間に挿入される。デコーダ用書込DMA55からのメモリ30への書き込みアクセスを制限する場合、制限部81は、デコーダ用書込DMA55からの転送要求のレディー応答をネゲート(無効)とする。これにより、制限部81は、デコーダ用書込DMA55からの有効なデータ転送を待機させることができ、書き込みアクセスの制限をすることができる。
図6は、第1例に係る制限部81の構成を示す。第1例に係る制限部81は、バスクロックのサイクル数を計測して、所定のサイクル数との比較結果から、デコーダ用書込DMA55の転送の許可/不許可を判定する。
具体的には、第1例に係る制限部81は、クロックカウンタ101と、範囲記憶部102と、抑制部103と、モード設定部104と、範囲設定部105とを含む。
クロックカウンタ101は、第1アービタ71とデコーダ用書込DMA55との間のバスクロックをカウントする。クロックカウンタ101は、一定の値の範囲を巡回的にカウントする。クロックカウンタ101は、例えば8ビットカウンタであれば“0〜255”の範囲を繰り返しカウントする。範囲記憶部102は、クロックカウンタ101のカウント値の範囲を予め記憶する。例えば、範囲記憶部102は、クロックカウンタ101の全範囲のうちの一部の範囲(8ビットカウンタであれば、“64〜128”といった範囲)を記憶する。
抑制部103は、クロックカウンタ101のカウント値が範囲記憶部102に記憶された範囲内の場合に、デコーダ用書込DMA55によるメモリ30へのアクセスを遮断して、転送要求を抑止する。例えばクロックカウンタ101のカウントの範囲が“0〜255”であり、範囲記憶部102が記憶している範囲が“64〜128”であるとする。この場合、抑制部103は、カウント値が“0〜63”および“129〜255”の間ではデコーダ用書込DMA55による書き込みアクセスを伝達させ、カウントが“64〜128”の範囲ではデコーダ用書込DMA55による書き込みアクセスを遮断する。
モード設定部104は、制限部81による制限を有効とするか否かを設定する。抑制部103は、モード設定部104が制限を有効とするように設定している場合には、デコーダ用書込DMA55による書き込みアクセスを制限する。抑制部103は、モード設定部104が制限を無効とするように設定している場合には、デコーダ用書込DMA55による書き込みアクセスの制限をしない。
また、モード設定部104は、外部のデバイスが動作しているか否かを示すモード信号を受け取り、受け取ったモード信号に応じて制限部81による制限を有効とするか否かを設定してもよい。これにより、モード設定部104は、外部のデバイスが動作しており、その外部のデバイスにもメモリ30へアクセスをさせる必要がある場合に、デコーダ用書込DMA55による書き込みアクセスを制限することができる。
範囲設定部105は、範囲記憶部102にカウント値の抑制範囲を設定する。範囲設定部105は、一例として、外部からの入力に応じて抑制範囲を設定する。
図7は、第1例に係る制限部81の処理フローを示す。図7のフローは、例えば、デコーダ用書込DMA55からメモリ30への書き込みアクセスが発生した場合に、制限部81により実行される。
まず、ステップS101において、クロックカウンタ101は、カウント値を“0”に初期化する。続いて、ステップS102において、範囲設定部105は、カウント値の抑制範囲を範囲記憶部102に設定する。
続いて、ステップS103において、クロックカウンタ101は、バスクロックをカウントする。この場合、クロックカウンタ101は、カウント値が最大値を超えた場合、初期値“0”に戻り巡回的にカウントを続ける。
続いて、ステップS104において、抑制部103は、カウント値が抑制範囲内か否かを判断する。カウント値が抑制範囲内ではない場合(ステップS104のNo)、抑制部103は、処理をステップS106に進める。カウント値が抑制範囲内である場合(ステップS104のYes)、抑制部103は、処理をステップS105に進める。ステップS105において、抑制部103は、デコーダ用書込DMA55からメモリ30へのデータの転送要求を抑止する。例えば、抑制部103は、デコーダ用書込DMA55からの転送要求のレディー応答をネゲート(無効)とする。
続いて、ステップS106において、抑制部103は、抑制処理を終了させるか否かを判断する。抑制部103は、一例として、デコーダ用書込DMA55からメモリ30のデータの転送要求に応じたデータ転送が完了した場合には抑制処理を終了させる。抑制処理を終了させない場合には(ステップS106のNo)、抑制部103は、処理をステップS103に戻して、処理を繰り返す。
抑制処理を終了させる場合には(ステップS106のYes)、ステップS107において、抑制部103は、転送要求の抑止制御を解除する。続いて、ステップS108において、抑制部103は、帯域制限が解除済みか否かを判断する。解除済みでなければ(ステップS108のNo)、抑制部103は、処理をステップS103に戻して、帯域制限を連続して機能させる。解除済みであれば(ステップS108のYes)、制限部81は、本フローを抜ける。このような構成の制限部81によれば、簡単なハードウェア構成でアクセスの帯域制限をすることができる。
図8は、第2例に係る制限部81の構成を示す。第2例に係る制限部81は、直近の所定の期間内のデータの転送量を累積するカウンタにより、単位時間あたりのデータ転送量(すなわち、転送帯域)を計算し、所定の転送帯域との比較結果から、デコーダ用書込DMA55の転送の許可/不許可を判定する。
第2例に係る制限部81は、転送帯域検出部111と、上限記憶部112と、抑制部113と、モード設定部114と、上限設定部115とを含む。
転送帯域検出部111は、第1アービタ71とデコーダ用書込DMA55との間のデータの転送帯域を検出する。転送帯域検出部111は、一例として、データ転送サイクル数カウンタ121と、レジスタ122とを有する。
データ転送サイクル数カウンタ121は、設定された帯域測定範囲内における転送データ数をカウントする。例えば、データ転送サイクル数カウンタ121は、帯域測定範囲として、1000サイクルの範囲が設定される。そして、データ転送サイクル数カウンタ121は、1000サイクル毎に、データ転送サイクル数をカウントする。例えば、データ転送サイクル数カウンタ121は、1000サイクルのうちの100サイクルでデータ転送が行われた場合には、データ転送サイクル数として100サイクルを出力する。
レジスタ122は、データ転送サイクル数カウンタ121から出力されたカウント値を保持する。転送帯域検出部111は、レジスタ122のカウント値をデータの転送帯域として出力する。上限記憶部112は、データの転送帯域の上限を予め記憶する。上限記憶部112は、例えば1000サイクルのうち20パーセント以上でデータ転送された場合にアクセスを抑止する場合には、200サイクルを上限として記憶する。
抑制部113は、転送帯域検出部111から出力された転送帯域(カウンタ値)が、上限記憶部112に記憶された転送帯域の上限を超えた場合に、デコーダ用書込DMA55によるメモリ30へのアクセスを遮断する。例えば、転送帯域の上限として20パーセントが設定されたとする。この場合、抑制部113は、1000サイクルのうちの200サイクル以上のデータ転送が行われた場合には、デコーダ用書込DMA55による書き込みアクセスを遮断する。
モード設定部114は、図6に示すモード設定部104と同様の処理を実行する。上限設定部115は、上限記憶部112に転送帯域の上限を設定する。上限設定部115は、一例として、外部からの入力に応じて上限を設定する。
図9は、第2例に係る制限部81の処理フローを示す。図9のフローは、例えば、デコーダ用書込DMA55からメモリ30への書き込みアクセスが発生した場合に、制限部81により実行される。
まず、ステップS201において、データ転送サイクル数カウンタ121は、カウント値を“0”に初期化する。続いて、ステップS202において、データ転送サイクル数カウンタ121は、帯域測定範囲のカウント値を設定する。また、上限設定部115は、転送帯域の上限を上限記憶部112に設定する。
続いて、ステップS203において、データ転送サイクル数カウンタ121は、帯域測定範囲内におけるデータ転送サイクル数をカウントする。そして、データ転送サイクル数カウンタ121は、帯域測定範囲毎のデータ転送サイクル数が、増加したか、減少したか、変化なしかを判断する。
増加した場合(ステップS203の増加)、ステップS204において、データ転送サイクル数カウンタ121は、カウンタ値をインクリメントして、処理をステップS206に進める。減少した場合(ステップS203の減少)、ステップS205において、データ転送サイクル数カウンタ121は、カウンタ値をデクリメントして、処理をステップS206に進める。変化が無かった場合(ステップS203の変化なし)、データ転送サイクル数カウンタ121は、カウンタ値を変えずに、処理をステップS206に進める。
続いて、ステップS206において、抑制部113は、転送帯域が上限を超えたか否かを判断する。転送帯域が上限を超えていない場合(ステップS206のNo)、抑制部113は、処理をステップS208に進める。転送帯域が上限を超えた場合(ステップS206のYes)、抑制部113は、処理をステップS207に進める。ステップS207において、抑制部113は、デコーダ用書込DMA55からメモリ30へのデータの転送要求を抑止する。例えば、抑制部113は、デコーダ用書込DMA55からの転送要求のレディー応答をネゲート(無効)とする。
続いて、ステップS208において、抑制部113は、抑制処理を終了させるか否かを判断する。抑制部113は、一例として、デコーダ用書込DMA55からメモリ30のデータの転送要求に応じたデータ転送が完了した場合には抑制処理を終了させる。抑制処理を終了させない場合には(ステップS208のNo)、抑制部113は、処理をステップS203に戻して、処理を繰り返す。
抑制処理を終了させる場合には(ステップS208のYes)、ステップS209において、抑制部113は、転送要求の抑止制御を解除する。続いて、ステップS210において、抑制部113は、帯域制限が解除済みか否かを判断する。解除済みでなければ(ステップS210のNo)、抑制部113は、処理をステップS203に戻して、帯域制限を連続して機能させる。解除済みであれば(ステップS210のYes)、制限部81は、本フローを抜ける。このような構成の制限部81によれば、構成は複雑となるが精度良くアクセスの帯域制限をすることができる。
10 画像処理システム
20 プロッタエンジン
30 メモリ
40 ディスク記憶装置
50 データ処理装置
51 デバイスインターフェイス
52 出力用DMA
53 デコーダ用読出DMA
54 デコーダ
55 デコーダ用書込DMA
61 ディスクコントローラ
62 エンコーダ
63 グラフィックコントローラ
64 CPU
65 GPU
71 第1アービタ
72 第2アービタ
73 第3アービタ
74 メモリコントローラ
81 制限部
82 セレクタ
101 クロックカウンタ
102 範囲記憶部
103 抑制部
104 モード設定部
105 範囲設定部
111 転送帯域検出部
112 上限記憶部
113 抑制部
114 モード設定部
115 上限設定部
121 データ転送サイクル数カウンタ
122 レジスタ
特開2012−027751号公報 特開2001−307083号公報 特開2004−114330号公報

Claims (9)

  1. メモリに記憶されたデータにアクセスする第1マスタおよび第2マスタによる前記アクセスを調停する第1サブアービタと、
    前記第1マスタおよび前記第2マスタ以外の複数のマスタによる前記メモリに対するアクセスを調停する第2サブアービタと、
    前記第1サブアービタから前記メモリに対するアクセスを、前記第2サブアービタから前記メモリに対するアクセスより優先させるメインアービタと、
    前記第2マスタによる前記メモリに対するアクセス量を予め設定された範囲内に制限する制限部と、
    を備えるデータ処理装置。
  2. 前記第1マスタは、前記メモリに記憶された画像データを1ライン単位でのリアルタイム性を確保して読み出し、
    前記第2マスタは、画像処理がされた画像データを前記メモリに書き込み、
    前記制限部は、前記第2マスタによる前記画像データの前記メモリに対する書き込みアクセスのアクセス量を所定の帯域の範囲内に制限する
    請求項1に記載のデータ処理装置。
  3. 前記制限部は、前記第1サブアービタにおける前記第2マスタとの間のバス接続ポートに設けられる請求項1または2に記載のデータ処理装置。
  4. 前記制限部は、前記第2マスタにおける前記第1サブアービタとの間のバス接続ポートに設けられる請求項1または2に記載のデータ処理装置。
  5. 前記制限部は、
    前記第1サブアービタと前記第2マスタとの間のバスクロックをカウントするクロックカウンタと、
    前記クロックカウンタのカウント値の範囲を予め記憶する範囲記憶部と、
    前記クロックカウンタのカウント値が前記範囲記憶部に記憶された範囲内の場合に、前記第2マスタによる前記メモリへのアクセスを遮断する抑制部と、
    を有する請求項3または4に記載のデータ処理装置。
  6. 前記制限部は、
    前記第1サブアービタと前記第2マスタとの間のデータの転送帯域を検出する転送帯域検出部と、
    前記転送帯域の上限を予め記憶する上限記憶部と、
    前記転送帯域検出部により検出された前記転送帯域が前記上限記憶部に記憶された前記上限を超えた場合に、前記第2マスタによる前記メモリへのアクセスを遮断する抑制部と、
    を有する請求項3または4に記載のデータ処理装置。
  7. 前記制限部による制限を有効とするか否かを設定するモード設定部
    をさらに備える請求項1から6の何れか1項に記載のデータ処理装置。
  8. 前記モード設定部は、外部のデバイスが動作しているか否かを示すモード信号を受け取り、受け取ったモード信号に応じて前記制限部による制限を有効とするか否かを設定する
    請求項7に記載のデータ処理装置。
  9. メモリに記憶されたデータにアクセスする第1マスタおよび第2マスタによる前記アクセスを調停する第1サブアービタと、前記第1マスタおよび前記第2マスタ以外の複数のマスタによる前記メモリに対するアクセスを調停する第2サブアービタとを備えたデータ処理装置におけるデータ処理方法であって、
    前記第1サブアービタから前記メモリに対するアクセスを、前記第2サブアービタから前記メモリに対するアクセスより優先させ、
    前記第2マスタによる前記メモリに対するアクセス量を予め設定された範囲内に制限する
    データ処理方法。
JP2013030232A 2013-02-19 2013-02-19 データ処理装置およびデータ処理方法 Expired - Fee Related JP6175794B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013030232A JP6175794B2 (ja) 2013-02-19 2013-02-19 データ処理装置およびデータ処理方法
US14/176,606 US9760507B2 (en) 2013-02-19 2014-02-10 Data processing device and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013030232A JP6175794B2 (ja) 2013-02-19 2013-02-19 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
JP2014160341A true JP2014160341A (ja) 2014-09-04
JP6175794B2 JP6175794B2 (ja) 2017-08-09

Family

ID=51352138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013030232A Expired - Fee Related JP6175794B2 (ja) 2013-02-19 2013-02-19 データ処理装置およびデータ処理方法

Country Status (2)

Country Link
US (1) US9760507B2 (ja)
JP (1) JP6175794B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3355199A1 (en) 2017-01-26 2018-08-01 Canon Kabushiki Kaisha Memory access system, method for controlling the same, computer-readable storage medium, and image forming appratus
JP2019145003A (ja) * 2018-02-23 2019-08-29 株式会社リコー コントローラ、および画像形成装置
JP2020046740A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 メモリ制御装置
CN111541622A (zh) * 2020-04-17 2020-08-14 西安万像电子科技有限公司 数据传输方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6720824B2 (ja) * 2016-10-17 2020-07-08 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
JPH11184807A (ja) * 1997-12-19 1999-07-09 Sony Corp 情報処理方法及び装置
JP2000276437A (ja) * 1999-03-25 2000-10-06 Minolta Co Ltd Dma制御装置
JP2001307083A (ja) * 2001-03-22 2001-11-02 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
JP2005316609A (ja) * 2004-04-27 2005-11-10 Sony Corp バス調停装置およびバス調停方法
JP2010191492A (ja) * 2009-02-16 2010-09-02 Ricoh Co Ltd データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832278A (en) * 1997-02-26 1998-11-03 Advanced Micro Devices, Inc. Cascaded round robin request selection method and apparatus
US6615291B1 (en) 1999-03-08 2003-09-02 Minolta Co., Ltd. DMA controller with dynamically variable access priority
JP2004114330A (ja) 2002-09-24 2004-04-15 Canon Inc 印刷装置および2次記憶装置アクセス制御方法およびプログラムおよび記憶媒体
US6826640B1 (en) * 2003-06-04 2004-11-30 Digi International Inc. Bus bandwidth control system
JP4222251B2 (ja) * 2004-04-27 2009-02-12 ソニー株式会社 バス調停装置およびバス調停方法
US7577780B2 (en) * 2007-02-28 2009-08-18 National Chiao Tung University Fine-grained bandwidth control arbiter and the method thereof
US8010729B2 (en) * 2007-04-10 2011-08-30 Ricoh Company, Limited Image processing controller and image processing device
JP5125890B2 (ja) * 2008-08-28 2013-01-23 富士通セミコンダクター株式会社 調停装置及び電子機器
US8601192B2 (en) * 2009-06-08 2013-12-03 Panasonic Corporation Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
JP2012027751A (ja) 2010-07-26 2012-02-09 Ricoh Co Ltd データ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP5591022B2 (ja) * 2010-08-16 2014-09-17 オリンパス株式会社 バス帯域モニタ装置およびバス帯域モニタ方法
JP5565204B2 (ja) * 2010-08-23 2014-08-06 株式会社リコー データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置
KR101855399B1 (ko) * 2011-03-24 2018-05-09 삼성전자주식회사 데이터 트래픽을 개선한 SoC 및 이의 동작 방법
US9117022B1 (en) * 2011-10-07 2015-08-25 Altera Corporation Hierarchical arbitration
JP2013196667A (ja) 2012-03-23 2013-09-30 Ricoh Co Ltd 画像処理装置
US9535860B2 (en) * 2013-01-17 2017-01-03 Intel Corporation Arbitrating memory accesses via a shared memory fabric

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
JPH11184807A (ja) * 1997-12-19 1999-07-09 Sony Corp 情報処理方法及び装置
JP2000276437A (ja) * 1999-03-25 2000-10-06 Minolta Co Ltd Dma制御装置
JP2001307083A (ja) * 2001-03-22 2001-11-02 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
JP2005316609A (ja) * 2004-04-27 2005-11-10 Sony Corp バス調停装置およびバス調停方法
JP2010191492A (ja) * 2009-02-16 2010-09-02 Ricoh Co Ltd データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3355199A1 (en) 2017-01-26 2018-08-01 Canon Kabushiki Kaisha Memory access system, method for controlling the same, computer-readable storage medium, and image forming appratus
US11163711B2 (en) 2017-01-26 2021-11-02 Canon Kabushiki Kaisha Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
JP2019145003A (ja) * 2018-02-23 2019-08-29 株式会社リコー コントローラ、および画像形成装置
JP7098955B2 (ja) 2018-02-23 2022-07-12 株式会社リコー コントローラ、および画像形成装置
JP2020046740A (ja) * 2018-09-14 2020-03-26 キヤノン株式会社 メモリ制御装置
JP7199885B2 (ja) 2018-09-14 2023-01-06 キヤノン株式会社 メモリ制御装置
CN111541622A (zh) * 2020-04-17 2020-08-14 西安万像电子科技有限公司 数据传输方法及装置

Also Published As

Publication number Publication date
US20140237148A1 (en) 2014-08-21
JP6175794B2 (ja) 2017-08-09
US9760507B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
JP6175794B2 (ja) データ処理装置およびデータ処理方法
JP4485574B2 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
JP2011150397A (ja) バス調停装置
CN108363669B (zh) 存储器访问系统、其控制方法、存储介质及图像形成装置
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US9600426B2 (en) Bus control device, image processing apparatus, and bus control method
JP2013196667A (ja) 画像処理装置
US6782433B2 (en) Data transfer apparatus
US9026703B2 (en) Bus monitoring device, bus monitoring method, and program
TW201423403A (zh) 共用資源的存取請求之有效率處理
JP2007094649A (ja) アクセス調停回路
JPWO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
CN106776393B (zh) 一种无中断的串口数据接收方法和装置
JP4850504B2 (ja) 信号処理装置、撮像装置およびデータ転送方法
JP2014241124A (ja) 排他制御システム
JP2007108858A (ja) ピン共有装置およびピン共有方法
JP4898527B2 (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
JP2023135315A (ja) コントローラ、画像形成装置、及びアクセス調停方法
JP5494925B2 (ja) 半導体集積回路、情報処理装置およびプロセッサ性能保証方法
JP2005115421A (ja) メモリアクセス調停装置、及びメモリアクセス調停方法
JP2007011884A (ja) データ転送装置
JP2005107818A (ja) 調停装置およびそれを用いる画像形成装置
JP2007281576A (ja) 画像処理装置
JP2000216941A (ja) 複合画像処理装置
JP2005182312A (ja) デバイス制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170228

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: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R151 Written notification of patent or utility model registration

Ref document number: 6175794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees