JP2013196321A - 電子回路及び調停方法 - Google Patents

電子回路及び調停方法 Download PDF

Info

Publication number
JP2013196321A
JP2013196321A JP2012062255A JP2012062255A JP2013196321A JP 2013196321 A JP2013196321 A JP 2013196321A JP 2012062255 A JP2012062255 A JP 2012062255A JP 2012062255 A JP2012062255 A JP 2012062255A JP 2013196321 A JP2013196321 A JP 2013196321A
Authority
JP
Japan
Prior art keywords
memory
access
priority
master
masters
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
JP2012062255A
Other languages
English (en)
Inventor
Atsushi Hikono
厚志 彦野
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP2012062255A priority Critical patent/JP2013196321A/ja
Priority to US13/715,607 priority patent/US20130246727A1/en
Priority to CN2013100536118A priority patent/CN103324590A/zh
Publication of JP2013196321A publication Critical patent/JP2013196321A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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

Landscapes

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

Abstract

【課題】メモリへのアクセス形態が異なる複数のメモリマスタに与えるアクセス許可のバランスを向上する。
【解決手段】電子回路2は、メモリ3にアクセスするメモリマスタ10〜13と、メモリマスタ10〜13によるメモリ3へのアクセスを調停する調停回路14を備える。調停回路14は、メモリマスタ10〜13のうちいずれかのメモリマスタがメモリ3へのアクセスに成功した場合に、このメモリマスタの優先度を下げて他のメモリマスタの優先度を上げる処理と、メモリマスタ10〜13毎に過去の所定期間に行ったメモリ3へのアクセス回数に応じて優先度の補正量を定める処理と、補正量が加算された優先度に従って選択したメモリマスタにメモリ3へのアクセスを許可する処理を行う。
【選択図】図1

Description

本明細書で論じられる実施態様は、複数のメモリマスタによるメモリアクセスの調停に関する。
複数のメモリマスタが共有のメモリリソースを利用する場合、複数のメモリマスタによる競合するメモリアクセスの調停処理が行われる。なお、以下の説明においてメモリマスタを単に「マスタ」又は「マスタ装置」と表記することがある。
メモリアクセスを調停する従来の技術として、共有メモリに対するアクセスを所定のバンド幅で各マスタ装置に行わせるよう、マスタ装置間の調停を行う調停装置が知られている。協定装置は、特定のマスタ装置から共有メモリに対するアクセス要求を受け付ける受付手段とアクセス制御手段と備える。アクセス制御手段は、受付手段が予め割り当てられているバンド幅以上のアクセス要求を特定のマスタ装置から受け付けた場合、予め設定した第1期間においてその要求を許可し、第1期間が終了すれば、第1期間に続く第2期間において特定のマスタ装置からのアクセス要求をマスクする。
特開2009−271944号公報
上述の従来の技術のように、予め割り当てたバンド幅以上のアクセス要求を受け付けたマスタからのアクセス要求を第2期間でマスクする調停処理によると、メモリアクセス形態が異なるマスタの間で、許可される平均データ転送量に不平等が生じる恐れがある。例えば、メモリとのデータ転送量の揺らぎがあるマスタは、揺らぎがないマスタに比べて予め割り当てたバンド幅を超える可能性が高くなる。このため両マスタの平均データ転送量が同じであっても、データ転送量の揺らぎがあるマスタのほうがマスクされやすくなる。
また、上述の従来の技術では、予め割り当てたバンド幅をアクセス要求が超えるまでマスクを行わない。このため、一時的に集中してメモリアクセスを行うマスタと、一定速度でメモリとのデータ転送を行うマスタとが混在すると、前者の集中的なアクセスによって、後者の転送データの取りこぼしが生じる恐れがある。
また、上述の従来の技術では、アクセス要求がマスクされると、他のマスタからのアクセス要求がなくてもメモリにアクセスできないため、マスタの信号処理能力が不必要に制限される恐れがある。このように従来の技術では、メモリへのアクセス形態が異なる複数の種類のマスタが共有メモリにアクセスする場合、各マスタの特性に応じたアクセス許可を与えることができなかった。
本明細書に記載される装置及び方法は、メモリへのアクセス形態が異なる複数のメモリマスタに与えるアクセス許可のバランスを向上することを目的とする。
装置の一観点によれば、メモリにアクセスする複数のメモリマスタと、複数のメモリマスタによるメモリへのアクセスを調停する調停回路を備える電子回路が与えられる。調停回路は、複数のメモリマスタのうちいずれかのメモリマスタがメモリへのアクセスに成功した場合に、このメモリマスタの優先度を下げて、他のメモリマスタの優先度を上げる処理と、複数のメモリマスタ毎に、過去の所定期間に行ったメモリへのアクセス回数に応じて優先度の補正量を定める処理と、補正量が加算された優先度に従って選択したメモリマスタにメモリへのアクセスを許可する処理を行う。
方法の一観点によれば、複数のメモリマスタによるメモリへのアクセスを調停する調停方法が与えられる。調停方法は、複数のメモリマスタのうちいずれかのメモリマスタがメモリへのアクセスに成功した場合に、このメモリマスタの優先度を下げて他のメモリマスタの優先度を上げることと、複数のメモリマスタ毎に、過去の所定期間に行ったメモリへのアクセス回数に応じて優先度の補正量を定めることと、補正量が加算された優先度に従って選択したメモリマスタにメモリへのアクセスを許可することを含む。
本明細書に記載される装置及び方法によれば、メモリへのアクセス形態が異なる複数のメモリマスタに与えるアクセス許可のバランスが向上する。
画像読取装置の一例のハードウエア構成図である。 調停回路の機能構成例の説明図である。 優先度補正部の機能構成例の説明図である。 (A)はアクセス回数の測定方法の一例の説明図であり、(B)はアクセス履歴情報の例の説明図である。 アクセス履歴更新処理の一例の説明図である。 閾値記憶部に記憶される閾値設定情報の一例の説明図ある。 補正量決定処理の一例の説明図である。 調停方法の一例の説明図である。
<1.ハードウエア構成>
以下、添付する図面を参照して好ましい実施例について説明する。以下、2次元の原稿を読み取って画像信号を生成する画像読取装置に使用される信号処理回路の例示を用いて、本明細書に記載される電子回路を説明する。しかし、この例示は、本明細書に記載される電子回路が、画像読取装置に使用される信号処理回路に限定して適用されることを意図するものではない。本明細書に記載される電子回路は、複数のマスタが共有メモリにアクセスする電子回路に広く適用可能である。
図1は、画像読取装置の一例のハードウエア構成図である。画像読取装置1は、例えば、複数の光源で露光された2次元原稿を走査して読み取る画像読取装置であってよい。このような、例えば画像読取装置の例として、例えばフィーダスキャナ、フラットベッドスキャナ、ハンディスキャナ等の各種スキャナ装置が挙げられる。以下、フィーダスキャナの例によって実施例の説明を行う。なお、図1に示すハードウエア構成は、本明細書に記載される画像読取装置のハードウエア構成の例示である。以下に記載される動作を実行するものであれば、他のどのようなハードウエア構成が採用されてもよい。
画像読取装置1は、信号処理回路2と、共有メモリ3と、イメージセンサ4と、AFE(Analog Front-End Processor)5と、搬送機構6と、入力デバイス7と、出力デバイス8を備える。イメージセンサ4は、2次元の原稿を撮像して、原稿に対応する画像信号を出力する。イメージセンサ4は、例えば、1次元又は2次元に配列されたCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子と、この撮像素子に原稿の像を結像する光学系を備える。AFE5は、イメージセンサ4から出力される画像信号に対して増幅やその他の信号処理を施した後、処理された画像信号を信号処理回路2へ入力する。
搬送機構6は、画像読取装置1の原稿トレイからイメージセンサ4による原稿読み取り位置まで原稿を搬送する。入力デバイス7は、ユーザによる入力操作を受け付ける入力装置である。入力デバイス7は、例えば、ボタン、スクロールホイール、キーパッド、キーボード、ポインティングデバイス、タッチパネル等であってよい。出力デバイス8は、画像読取装置1から各種情報をユーザに提示するための出力装置である。例えば、出力デバイス8は、ユーザに提示する情報を利用者に可視的に表示する表示デバイスであってよい。出力デバイス8は、発光素子や、液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイ等の表示装置であってよい。または、出力デバイス8は、音声信号を出力するスピーカやその駆動回路であってよい。
信号処理回路2は、画像読取装置1の制御、イメージセンサ4で読み取られた画像データの入力、画像データの画像処理を行う。また、信号処理回路2は、入力デバイス7及び出力デバイス8を用いた画像読取装置1のユーザインタフェースの制御、並びに画像読取装置1に接続される情報処理装置やネットワークとの通信処理を行う。
このため信号処理回路2は、第1プロセッサ10と、第2プロセッサ11と、画像入力インタフェース回路12と、画像処理エンジン13を備える。なお、以下の説明及び添付する図面においてインタフェースを「I/F」と表記することがある。第1プロセッサ10は、共有メモリ3に記憶されたコンピュータプログラムとデータに従って画像読取装置1の制御を行う制御プロセッサである。
第2プロセッサ11は、共有メモリ3に記憶されたコンピュータプログラムとデータに従って、入力デバイス7及び出力デバイス8を用いた画像読取装置1のユーザインタフェースの制御を行うアプリケーションプロセッサである。また、第2プロセッサ11は、共有メモリ3に記憶されたコンピュータプログラムとデータに従って、画像読取装置1に接続される情報処理装置やネットワークとの通信処理を行う。画像入力I/F回路12は、イメージセンサ4で読み取られた画像データを取得して共有メモリ3へ転送する論理回路である。画像処理エンジン13は、共有メモリ3に格納された画像データの画像処理を行う論理回路である。
第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13の各々は、共有メモリ3にアクセスするマスタである。以下の説明では、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13を総称して「マスタ」と表記することがある。本実施例は、4個のマスタが共有メモリ3にアクセスするが、本明細書に記載される電子回路は、3個以下のマスタが共有メモリにアクセスする電子回路や、5個以上のマスタが共有メモリにアクセスする場合にも広く適用可能である。
信号処理回路2は、調停回路14と、メモリコントローラ15と、I/F回路16を備える。調停回路14は、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13による共有メモリ3へのアクセスを調停する。メモリコントローラ15は、調停回路14によって調停されたアクセス要求に従って、共有メモリ3の書込動作及び読出動作を制御する。また、メモリコントローラ15は、共有メモリ3が備えるDRAM(Dynamic Random Access Memory)のリフレッシュ動作を行う。
I/F回路16は、第1プロセッサ10による制御にしたがって、搬送機構6が備えるモータやアクチュエータを駆動する。また、I/F回路16は、第2プロセッサ11による制御にしたがって、入力デバイス7及び出力デバイス8を駆動する。また、I/F回路16は、有線及び/又は無線により、他の情報処理装置やネットワークと第2プロセッサ11と間の通信信号を送受信する。
信号処理回路2は、例えば、上記の構成要素10〜16を1チップ上に集積したシステムLSI(Large Scale Integration)であってよい。他の実施例では、構成要素10〜16の一部又は全部が別々のチップ上に集積されていてもよい。
<2.調停回路の機能構成>
続いて、調停回路14について説明する。第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13は、それぞれのデータ転送帯域や、処理内容、キャッシュの容量や構成などの相違によって、共有メモリ3へのメモリアクセス形態が異なる。メモリアクセス形態は、例えばメモリアクセスの際のメモリ帯域や、アクセス間隔、1回のアクセスのデータサイズによって定まる。
例えば、第1プロセッサ10が行う画像読取装置1の制御や、第2プロセッサ11が行うユーザインタフェースの制御は、リアルタイム処理を伴い散発的にメモリアクセスが集中するが、データ転送量の時間平均は小さい。また、画像入力I/F回路12から共有メモリ3へ画像データを入力する際には、入力画像の取りこぼしを防ぐために一定の転送レートが確保されることが望ましい。これに対して、画像処理エンジン13が画像処理を行う場合には共有メモリ3に読み書きするデータ量が時間的に変動するため、状況に応じて転送レートを適応させることが望ましい。第2プロセッサ11がネットワーク通信を行う場合も同様である。
調停回路14は、複数のメモリマスタのそれぞれが過去の一定期間に行った共有メモリ3へのアクセス回数に応じて、マスタのアクセス優先度を補正することで、メモリアクセス形態が異なるマスタ間におけるアクセス許可のバランスを向上する。図2は、調停回路14の機能構成例の説明図である。調停回路14は、優先度補正部20a〜20dと、優先度指定部21a〜21dと、選択部22を備える。なお、図2は、以下の説明に関係する機能を中心として示している。図2を参照して機能構成が説明されるハードウエアは、図示の機能構成以外の機能構成を含んでいてもよい。図3に示す機能構成図についても同様である。
優先度補正部20aは、第1プロセッサ10に共有メモリ3へのアクセスを選択部22が許可する許可信号を入力する。優先度補正部20aは、許可信号をカウントすることにより、過去の所定期間内に第1プロセッサ10が行ったメモリアクセス回数を測定する。優先度補正部20aは、メモリアクセス回数と閾値とを比較して、第1プロセッサ10の共有メモリ3へのアクセス優先度の補正量を決定する。これら所定期間や閾値の値は、第1プロセッサ10によってマスタ毎に設定される。優先度補正部20b、20c及び20dも同様に、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のアクセス優先度の補正量を決定する。
優先度指定部21aは、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13が、共有メモリ3へのアクセスを選択部22に要求する要求信号と、それに対する許可信号を入力する。優先度指定部21b、21c及び21dも同様である。また、優先度指定部21a、21b、21c及び21dは、優先度補正部20a、20b、20c及び20dから、それぞれ第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のアクセス優先度の補正量を入力する。
優先度指定部21a〜21dは、各マスタのアクセス優先度を、例えばラウンドロビン方式で決定する。例えば優先度指定部21aは、第1プロセッサ10によるアクセスが許可された場合には、第1プロセッサ10のアクセス優先度を最低の優先度「0」にリセットする。第1プロセッサ10によるアクセス要求が許可されず、他のプロセッサ許可信号を受信した場合には、第1プロセッサ10のアクセス優先度の現在値から1つ増加する。優先度指定部21b〜21dも同様に、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のアクセス優先度を決定する。
優先度指定部21a〜21dは、優先度補正部20a〜20dから入力した補正量を加算することにより、それぞれ第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のアクセス優先度を補正する。優先度指定部21a〜21dは、補正したアクセス優先度を選択部22へ出力する。
選択部22は、優先度指定部21a〜21dから、補正されたアクセス優先度を入力する。また、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13から、共有メモリ3へのアクセスを要求する要求信号を受信する。選択部22は、要求信号を送信したマスタに対して共有メモリ3へのアクセスを許可する許可信号を送信する。
選択部22は、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のうちの複数のマスタから要求信号を受信した場合には、優先度指定部21a〜21dから受信したアクセス優先度がより高いマスタを選択する。選択部22は、要求信号を送信したマスタのうち、アクセス優先度にしたがって選択したマスタにのみ許可信号を送信する。選択部22は、アクセスを許可したマスタからのメモリアクセス信号をメモリコントローラ15へ出力する。
なお、以下の説明において、優先度補正部20a〜20dを総称して「優先度補正部20」と表記することがある。優先度指定部21a〜21dを総称して「優先度指定部21」と表記することがある。また、第1プロセッサ10、第2プロセッサ11、画像入力I/F回路12及び画像処理エンジン13のうちのいずれかのマスタについて記述する場合に、このマスタを「第iマスタ」と表記し、個々のマスタを識別するための添字iを使用することがある。
続いて、図3を参照してアクセス優先度の補正量を決定する優先度補正部20の機能構成の一例を説明する。優先度補正部20は、単位期間記憶部30と、タイマ31と、カウンタ32と、アクセス履歴記憶部33と、閾値記憶部34と、比較部35と、補正量決定部36を備える。
単位期間記憶部30には、単位期間Tiの設定値が記憶される。単位期間Tiは、第iマスタのメモリアクセス回数の測定期間である所定期間Tmiをn個に分割した期間である。単位期間Tiの値は、第1プロセッサ10によってマスタ毎に設定される。タイマ31は、単位期間Tiを計時する。カウンタ32は、各単位期間Ti内に発生した第iマスタのメモリアクセス回数を単位期間Ti毎にカウントする。
図4の(A)は、カウンタ32によるアクセス回数の測定方法の一例の説明図である。時刻t0、t1、t2、…tn−1及びtnは、所定期間Tmiをn等分した単位期間Tiの区切りの時刻である。図の例では、単位期間t0〜t1、t1〜t2、…tn−1〜tnのn個の単位期間Tiにおいて、それぞれc1回、c2回及びcn回のアクセス回数が発生している。
カウンタ32は、各単位期間Tiに測定したアクセス回数をアクセス履歴記憶部33にそれぞれ個別に記憶する。アクセス履歴記憶部33には、n個の連続する単位期間Tiに測定されたアクセス回数データを、アクセス履歴情報としてそれぞれ別個に記憶するn個の記憶領域が用意される。図4の(B)は、アクセス履歴情報の例の説明図である。図のアクセス履歴情報では、単位期間t0〜t1で測定された最も古いアクセス回数c1が第1記憶領域に、続けて単位期間t1〜t2で測定された2番目に古いアクセス回数c2が第2記憶領域に記憶されている。単位期間tn−1〜tnで測定された最も新しいアクセス回数cnは第n記憶領域に記憶される。
アクセス履歴記憶部33には、最も古い単位期間に測定された記憶領域を示すポインタが記憶される。カウンタ32は、最新のアクセス回数を測定するとアクセス履歴情報を更新する。アクセス履歴情報を更新する際にカウンタ32は、ポインタが示す記憶領域の内容を最新のアクセス回数で上書きし、上書きされたアクセス回数よりも1つ新しいアクセス回数が格納される記憶領域にポインタの指定先を進める。カウンタ32は、第n記憶領域に新しいアクセス回数を格納したら、ポインタが指す記憶領域を第1記憶領域に変更する。
図5を参照して、カウンタ32によるアクセス履歴更新処理の一例を説明する。ステップS101においてカウンタ32は、第iマスタのメモリアクセスのカウント数cの値を「0」にリセットする。ステップS102においてカウンタ32は、単位期間Tiが経過してタイマ31による単位期間Tiの計時が完了したか否かを判断する。単位期間Tiが経過した場合(ステップS102:Y)に処理はステップS105へ進む。単位期間Tiが経過していない場合(ステップS102:N)に処理はステップS103へ進む。
ステップS103においてカウンタ32は、第iマスタのアクセスが許可されたか否かを判断する。第iマスタのアクセスが許可された場合(ステップS103:Y)に処理はステップS104へ進む。第iマスタのアクセスが許可されない場合(ステップS103:N)に処理はステップS102へ戻る。ステップS104においてカウンタ32は、カウント数cを1つ増加させて、処理をステップS102へ戻す。
ステップS105においてカウンタ32は、最も古い単位期間に測定された記憶領域の内容をカウント数cの値に更新する。ステップS106においてカウンタ32は、ポインタの指定先を2番目に古いアクセス回数が格納されている記憶領域に更新する。
図3を参照する。閾値記憶部34には、カウンタ32が測定した第iマスタのメモリアクセス回数と比較される閾値を含む閾値設定情報値が記憶される。図6は、閾値記憶部34に記憶される閾値設定情報の一例の説明図ある。閾値設定情報は、閾値記憶部34が有する複数のレジスタに記憶される。図の例ではレジスタ番号1〜4のレジスタに、それぞれ異なる閾値設定情報が記憶される。他の実施例では、レジスタ数すなわち閾値設定情報の数は4より少なくとも多くてもよい。
各閾値設定情報は、情報要素「閾値」、「大小関係」、「補正量」を含む。情報要素「閾値」は、メモリアクセス回数と比較される閾値を示す。情報要素「大小関係」は、大小関係を示すフラグである。情報要素「補正量」は、第iマスタのメモリアクセス回数が、情報要素「閾値」で指定された値と情報要素「大小関係」で指定された大小関係を満たす場合に適用される補正量を示す。
例えば、第1番目のレジスタの閾値設定情報によれば、メモリアクセス回数が、閾値1000より大きい場合には、補正量「−2」が適用される。第3番目のレジスタの閾値設定情報によれば、メモリアクセス回数が、閾値100より小さい場合には、補正量「+1」が適用される。
図3を参照する。比較部35は、閾値設定情報によって指定される閾値、大小関係及び補正量と、アクセス履歴情報に記憶されるn個のアクセス回数の測定値を入力する。比較部35は、n個のアクセス回数の合計と各閾値設定情報によって指定された閾値とを比較し、アクセス回数の合計と閾値のいずれかとの関係が、指定された大小関係に該当するか否かを判断する。補正量決定部36は、アクセス回数の合計と閾値との関係が、指定された大小関係に該当する場合に、この閾値設定情報によって指定された補正量を、第iマスタのアクセス優先度の補正量aiとして選択し、優先度指定部21へ出力する。
図7を参照して、図6の例示の閾値設定情報が与えられた場合の比較部35及び補正量決定部36による補正量決定処理の一例を説明する。ステップS201において比較部35は、n個のアクセス回数の合計と第1番目のレジスタの閾値とを比較する。第1番目のレジスタの閾値設定情報は、n個のアクセス回数の合計が閾値「1000」よりも大きい大小関係を指定する。なお、以下の説明において、n個のアクセス回数の合計を単に「アクセス回数」と表記する。
アクセス回数が閾値「1000」より大きい場合(ステップS201:Y)に処理はステップS202へ進む。アクセス回数が閾値「1000」以下の場合(ステップS201:N)に処理はステップS203へ進む。ステップS202において補正量決定部36は、第1番目のレジスタで指定される補正量「−2」をアクセス優先度の補正量aiとして優先度指定部21へ出力する。
ステップS203において比較部35は、アクセス回数と第2番目のレジスタの閾値とを比較する。第2番目のレジスタの閾値設定情報は、アクセス回数の合計が閾値「500」よりも大きい大小関係を指定する。アクセス回数が閾値「500」より大きい場合(ステップS203:Y)に処理はステップS204へ進む。アクセス回数が閾値「500」以下の場合(ステップS203:N)に処理はステップS205へ進む。ステップS204において補正量決定部36は、第2番目のレジスタで指定される補正量「−1」を優先度指定部21へ出力する。
ステップS205において比較部35は、アクセス回数と第3番目のレジスタの閾値とを比較する。第3番目のレジスタの閾値設定情報は、アクセス回数の合計が閾値「100」よりも小さい大小関係を指定する。アクセス回数が閾値「100」より大きい場合(ステップS205:Y)に処理はステップS206へ進む。アクセス回数が閾値「100」以下の場合(ステップS205:N)に処理はステップS207へ進む。ステップS206において補正量決定部36は、第3番目のレジスタで指定される補正量「0」を優先度指定部21へ出力する。
ステップS207において比較部35は、アクセス回数と第4番目のレジスタの閾値とを比較する。第4番目のレジスタの閾値設定情報は、アクセス回数の合計が閾値「50」よりも小さい大小関係を指定する。アクセス回数が閾値「50」より大きい場合(ステップS207:Y)に処理はステップS208へ進む。アクセス回数が閾値「50」以下の場合(ステップS207:N)に処理はステップS209へ進む。ステップS208において補正量決定部36は、第4番目のレジスタで指定される補正量「+1」を優先度指定部21へ出力する。ステップS209において補正量決定部36は、補正量「+2」を優先度指定部21へ出力する。
<3.調停方法>
続いて、図8のフローチャートを参照して本明細書に記載される調停方法の一例を説明する。以下の処理では、マスタ毎にアクセス優先度を定めるため、処理の対象となるマスタを識別するための添字iを使用して個々のマスタを「第iマスタ」と表記する。
ステップS301において添字iの値が「1」に初期化される。ステップS302において優先度指定部21は、第iマスタのアクセスが選択部22に許可されたか否かを判断する。第iマスタのアクセスが許可された場合(ステップS302:Y)に処理はステップS303へ進む。第iマスタのアクセスが許可されない場合(ステップS302:N)に処理はステップS304へ進む。ステップS303において優先度指定部21は、第iマスタのアクセス優先度piを「0」にする。その後に処理はステップS306へ進む。
ステップS304において優先度指定部21は、第iマスタがアクセスを要求していたか否かを判断する。第iマスタがアクセスを要求していた場合(ステップS304:Y)に処理はステップS305へ進む。第iマスタがアクセスを要求していない場合(ステップS304:N)に処理はステップS306に進む。ステップS305において優先度指定部21は、第iマスタのアクセス優先度piを1つ増加する。その後に処理はステップS306へ進む。
ステップS306において比較部35及び補正量決定部36は、図7を参照して説明した補正量決定処理によって第iマスタのアクセス優先度piの補正量aiを決定する。ステップS307において優先度指定部21は、第iマスタのアクセス優先度piに補正量aiを加算することによって、アクセス優先度piを補正する。
ステップS308において添字の値が1つ増加する。ステップS309において添字iがマスタの総数「4」を超えたか否かが判断される。マスタの総数「4」を超えた場合、すなわち全マスタについてアクセス優先度piの決定及び補正が完了した場合(ステップS309:Y)に処理はステップS310に進む。マスタの総数「4」を超えない場合に処理はステップS302へ戻る。
ステップS310において選択部22は、アクセス要求を行うマスタのうち、補正されたアクセス優先度piが最も大きなマスタのアクセスを許可する。その後に処理はS301へ戻る。なお、図8に示すフローチャートでは、4個のマスタの優先度の決定及び補正処理を逐次実行したが、優先度補正部20a〜20d及び優先度指定部21a〜21dは、それぞれ4個のマスタの優先度の決定及び補正処理を並列に実行してもよい。また、マスタの総数は3個以下でもよく5個以上でもよい。
<4.実施例の効果>
本実施例によれば、アクセス履歴情報に記憶された過去の所定期間のアクセス回数が閾値より小さなマスタについてアクセス優先度を高めることができる。このため、例えば散発的にメモリアクセスが集中するマスタのアクセスを優先して許可される。このように散発的にメモリアクセスが集中するマスタを優先して、安定したデータ転送速度でアクセスを行うマスタに比べてアクセスが拒否されやすくなることを回避することで、マスタ間のアクセス許可のバランスが向上される。例えば、第1プロセッサ10や第2プロセッサ11のように、散発的にリアルタイム処理を行うマスタのアクセスを優先させることができる。
同様に、メモリとのデータ転送量の揺らぎがあるマスタのアクセスが、揺らぎがないマスタに比べて拒否されやすくなることが回避され、マスタ間のアクセス許可のバランスが向上される。例えば、画像処理エンジン13や第2プロセッサ11のように、共有メモリ3に読み書きするデータ量が時間的に変動するマスタのアクセスが、一定の転送レートでアクセスする画像入力I/F回路12のアクセスに比べて拒否されやすくなることが回避される。
一方で、マスタ毎に閾値設定情報を設定することで、一定の転送レートのメモリアクセスが確保されることが望ましいマスタに高い優先度を与えることができる。例えば、画像入力I/F回路12によるメモリアクセスに高い優先度を与えることで、画像入力I/F回路12は安定した転送レートで共有メモリ3へ画像データを入力することができ、入力画像の取りこぼしを防ぐことができる。
また、過去の所定期間のアクセス回数が閾値を超えるマスタについては、優先度を下げる補正を行って他のマスタのアクセスの帯域を確保することができる。しかし、完全にアクセスをマスクしないため、アクセス回数が閾値を超えるマスタからのアクセスであっても、他のマスタのアクセスがなければ許可される。この結果、アクセス回数が閾値を超えるマスタの信号処理能力の不必要な制限が回避される。
また、過去の所定期間Tmiをn個の単位期間Tiに分割して、単位期間Ti毎に測定したアクセス回数を別個にアクセス履歴情報に記憶することで、アクセス履歴情報の更新周期を、所定期間Tmiより短い単位期間Tiに短縮することができる。この結果、より長い所定期間Tmiで測定したアクセス履歴情報に基づいて補正量が決定できるようになる一方で、アクセス履歴情報の更新周期を短くしてより新しい測定結果を補正量の決定に使用できるようになる。
1 画像読取装置
2 信号処理回路
3 共有メモリ
10 第1プロセッサ
11 第2プロセッサ
12 画像入力インタフェース回路
13 画像処理エンジン
14 調停回路
15 メモリコントローラ
20、20a〜20d 優先度補正部
21、21a〜21d 優先度指定部
22 選択部
30 単位期間記憶部
31 タイマ
32 カウンタ
33 アクセス履歴記憶部
34 閾値記憶部
35 比較部
36 補正量決定部

Claims (5)

  1. メモリにアクセスする複数のメモリマスタと、
    前記複数のメモリマスタによる前記メモリへのアクセスを調停する調停回路と、
    を備え、
    前記調停回路は、
    前記複数のメモリマスタのうちいずれかのメモリマスタが前記メモリへのアクセスに成功した場合に、前記いずれかのメモリマスタの優先度を下げて、他のメモリマスタの優先度を上げる処理と、
    前記複数のメモリマスタ毎に、過去の所定期間に行った前記メモリへのアクセス回数に応じて前記優先度の補正量を定める処理と、
    前記補正量が加算された前記優先度に従って選択したメモリマスタに前記メモリへのアクセスを許可する処理と、
    を行うことを特徴とする電子回路。
  2. 前記調停回路が、前記メモリマスタ毎に定めた閾値と前記所定期間におけるアクセス数との比較結果に応じて前記補正量を定める処理を実行する請求項1に記載の電子回路。
  3. 前記調停回路が、前記閾値、大小関係を示すフラグ及び補正量情報を記憶する記憶回路を備え、前記閾値と前記アクセス数とが前記フラグが示す大小関係を満たす場合に前記補正量情報が示す値を前記優先度の補正量として使用する処理を特徴とする請求項2に記載の電子回路。
  4. 前記調停回路が、前記所定期間を分割した複数の単位期間毎に各単位期間に発生したアクセス数を記憶する第2の記憶回路を備え、前記第2の記憶回路に記憶されるアクセス数を前記単位期間毎に更新する処理と、前記複数の単位期間のアクセス数を合計することにより前記所定期間におけるアクセス数を算出する処理と、を実行することを特徴とする請求項1〜3のいずれか一項に記載の電子回路。
  5. 複数のメモリマスタによるメモリへのアクセスを調停する調停方法であって、
    前記複数のメモリマスタのうちいずれかのメモリマスタが前記メモリへのアクセスに成功した場合に、前記いずれかのメモリマスタの優先度を下げて他のメモリマスタの優先度を上げ、
    前記複数のメモリマスタ毎に、過去の所定期間に行った前記メモリへのアクセス回数に応じて前記優先度の補正量を定め、
    前記補正量が加算された前記優先度に従って選択したメモリマスタに前記メモリへのアクセスを許可する、ことを特徴とする調停方法。
JP2012062255A 2012-03-19 2012-03-19 電子回路及び調停方法 Pending JP2013196321A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012062255A JP2013196321A (ja) 2012-03-19 2012-03-19 電子回路及び調停方法
US13/715,607 US20130246727A1 (en) 2012-03-19 2012-12-14 Electronic circuit and arbitration method
CN2013100536118A CN103324590A (zh) 2012-03-19 2013-02-19 电子电路以及裁定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062255A JP2013196321A (ja) 2012-03-19 2012-03-19 電子回路及び調停方法

Publications (1)

Publication Number Publication Date
JP2013196321A true JP2013196321A (ja) 2013-09-30

Family

ID=49158793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062255A Pending JP2013196321A (ja) 2012-03-19 2012-03-19 電子回路及び調停方法

Country Status (3)

Country Link
US (1) US20130246727A1 (ja)
JP (1) JP2013196321A (ja)
CN (1) CN103324590A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207587A1 (ja) * 2017-05-09 2018-11-15 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same
US9563369B2 (en) * 2014-04-14 2017-02-07 Microsoft Technology Licensing, Llc Fine-grained bandwidth provisioning in a memory controller
US9760310B2 (en) * 2015-08-06 2017-09-12 International Business Machines Corporation High performance data storage management using dynamic compression
KR102396309B1 (ko) 2015-11-06 2022-05-10 삼성전자주식회사 데이터 요청을 제어하기 위한 장치 및 방법
US10303631B2 (en) 2016-03-17 2019-05-28 International Business Machines Corporation Self-moderating bus arbitration architecture
US20170277484A1 (en) * 2016-03-28 2017-09-28 Seiko Epson Corporation Printer, and control method of a printer
JP6720824B2 (ja) * 2016-10-17 2020-07-08 コニカミノルタ株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
WO2019092599A1 (en) * 2017-11-09 2019-05-16 Silvia Colagrande Image scanner with multidirectional illumination

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740381A (en) * 1995-12-22 1998-04-14 United Microelectronics Corporation Expandable arbitration architecture for sharing system memory in a computer system
US6286083B1 (en) * 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme
CN1200344C (zh) * 2002-10-18 2005-05-04 威盛电子股份有限公司 具有并行仲裁机制的多重允许控制器及其方法
AU2003262022A1 (en) * 2003-09-09 2005-04-06 Fujitsu Limited Numerical calculation device and numerical calculation program
CN1234116C (zh) * 2003-11-06 2005-12-28 威盛电子股份有限公司 具有共用存储器存取装置的光盘控制芯片与其存储器存取方法
JP4715801B2 (ja) * 2007-04-26 2011-07-06 日本電気株式会社 メモリアクセス制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207587A1 (ja) * 2017-05-09 2018-11-15 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法
JP2018190223A (ja) * 2017-05-09 2018-11-29 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法

Also Published As

Publication number Publication date
CN103324590A (zh) 2013-09-25
US20130246727A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
JP2013196321A (ja) 電子回路及び調停方法
US10169256B2 (en) Arbitrating direct memory access channel requests
JP4907166B2 (ja) リソース管理装置
JP4485574B2 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
JP5330264B2 (ja) アクセス制御装置
KR100868766B1 (ko) 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치
US7373467B2 (en) Storage device flow control
US8838862B2 (en) Data transfer device, method of transferring data, and image forming apparatus
JP2019113917A (ja) データ処理装置、及びデータ処理装置の制御方法
US8793420B2 (en) System on chip, electronic system including the same, and method of operating the same
JP2007094649A (ja) アクセス調停回路
CN117648266A (zh) 一种数据缓存方法、系统、设备及计算机可读存储介质
JP2006350573A (ja) データ転送制御装置,データ転送制御方法,データ転送装置,画像形成装置,データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011133940A (ja) アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム
JP2018508884A (ja) 揮発性メモリ保守イベントのカーネルスケジューリングを提供するためのシステムおよび方法
JP5677007B2 (ja) バス調停装置、バス調停方法
JP2004078508A (ja) バス調停回路、バス調停方法およびそのプログラム
JP4898527B2 (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
JPH1139255A (ja) バス調停装置及びバス調停方法
JP2007102509A (ja) 調停装置
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JP4862593B2 (ja) データ転送装置及び画像形成装置
WO2012066746A1 (ja) 情報処理装置
CN111930677A (zh) 一种数据传输方法、装置及电子设备和存储介质
JP2006053613A (ja) データ転送制御装置及びデータ転送制御方法