(57)【要約】【課題】本発明は、小型化を図りつつ、優先順位の高いマスタに対する帯域確保と優先順位の低いマスタに対するバス使用権の付与の頻度を制限する。【解決手段】画像処理装置１は、ＡＳＩＣ２内のバス１１が、所定のバス優先順位で分割されたバス１１ｈ、１１ｍ、１１ｌと上位優先バス１１tに階層接続されており、各バス１１ｈ、１１ｍ、１１ｌには、それぞれスレーブ３へのアクセスの優先順位の異なるバスマスタ１２ａ〜１２ｈが接続されていて、上位優先バス１１ｔが複数のバス１１ｈ、１１ｍ、１１ｌからのバス取得要求を該バス優先順位に基づいて調停する。ＡＳＩＣ２は、各バスマスタ１２ａ〜１２ｈから接続先バス１１ｈ、１１ｍ、１１ｌへのバス取得要求をそれぞれマスクするマスク２１ａ〜２１ｈと、バス１１ｈ、１１ｍ、１１ｌ毎に、マスク２１ａ〜２１ｈの動作を制御するマスク信号を出力するアクセスコントローラ２２ａ〜２２ｃを備えている。【選択図】          図２
2014035549.tif 000002
【特許請求の範囲】
【請求項１】
スレーブへのアクセスの優先順位の異なる複数のバスマスタと、
複数の前記バスマスタの優先順位に応じた所定のバス優先順位で複数のグループに分割されそれぞれに複数の該バスマスタが接続される複数のグループバスが、さらにバス優先順位が上位のバスに順次階層接続され、該階層接続においてバス優先順位の上位のバスが該上位のバスに接続されている複数の下位のバスからのバス取得要求を該バス優先順位に基づいて調停するバス手段と、
前記バスマスタから前記グループバスへのバス取得要求をそれぞれマスクするマスク手段と、
前記バスマスタの接続される前記グループバス毎に設けられ、前記マスク手段の動作を制御するマスク信号を該グループパスに接続されている該マスク手段へ出力するマスク制御手段と、
を備えていることを特徴とするバス制御装置。
【請求項２】
前記バス手段は、
前記グループバスと、全ての該グループバスと前記スレーブに接続されている上位のバスの２段に階層接続され、該上位のバスが全ての該グループバスからのバス取得要求を前記バス優先順位に基いて調停することを特徴とする請求項１記載のバス制御装置。
【請求項３】
前記マスク制御手段は、
所定ビットのカウンタと、
前記カウンタのカウント値を予め設定された閾値と比較して前記マスク信号を制御する信号制御手段と、
を備えていることを特徴とする請求項１または請求項２記載のバス制御装置。
【請求項４】
前記バス手段は、
階層接続されている前記バスのうち、上位のバスが、優先度付きラウンドロビン方式で下位のバスからのバス取得要求を調停することを特徴とする請求項１から請求項３のいずれかに記載のバス制御装置。
【請求項５】
前記マスク制御手段は、
制御対象の複数の前記マスク手段がそれぞれマスクする前記バスマスタの出力する前記バス取得要求が入力され、マスク対象先の該バスマスタの優先順位よりも優先順位の高いバスマスタへの該バス取得要求がアサートであるときにのみ、該マスク対象先の該バスマスタからのバス取得要求をマスクする前記マスク信号を出力することを特徴とする請求項１から請求項４のいずれかに記載のバス制御装置。
【請求項６】
バス制御部でバス取得要求が制御されるバスを通して画像データを転送して該画像データに所定の画像処理を施す画像処理装置であって、
前記バス制御部として、請求項１から請求項５のいずれかに記載のバス制御装置を備えていることを特徴とする画像処理装置。
【請求項７】
スレーブへのアクセスの優先順位の異なる複数のバスマスタの該優先順位に応じた所定のバス優先順位で複数のグループに分割されそれぞれに複数の該バスマスタが接続される複数のグループバスが、さらにバス優先順位が上位のバスに順次階層接続され、該階層接続においてバス優先順位の上位のバスが該上位のバスに接続されている複数の下位のバスからのバス取得要求を該バス優先順位に基づいて調停するバス処理ステップと、
前記バスマスタから前記グループバスへのバス取得要求をそれぞれマスクするマスク処理ステップと、
前記バスマスタの接続される前記グループバス毎に設けられ、前記マスク処理ステップの動作を制御するマスク信号を該グループパスに接続されている該マスク処理ステップへ出力するマスク制御処理ステップと、
を有していることを特徴とするバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス制御装置、画像処理装置及びバス制御方法に関し、詳細には、小型化を図りつつ、優先順位の高いバスマスタに対する帯域確保と優先順位の低いバスマスタに対するバス使用権の付与の頻度を制限するバス制御装置、画像処理装置及びバス制御方法に関する。
【背景技術】
【０００２】
近年、データを取り扱う装置、例えば、複合装置、プリンタ装置、複写装置、スキャナ装置、ファクシミリ装置等の画像処理装置においては、スキャナユニット、プリンタユニット及び画像メモリを有するコントローラ等の各ユニットを汎用バスで接続してインターフェイスを共通化することで、ユニットの拡張等における無駄な回路や制御ソフトの増加を抑制し、また、拡張性を向上させることが行われている。
【０００３】
そして、ＡＳＩＣ（Application Specific Integrated Circuit）等のＩＣ（Integrated Circuit：集積回路）やサブＣＰＵを内蔵したＳｏＣ（System on Chip）内では、各モジュールが内部バスを通じてメモリに接続されており、各モジュールは、バスプロトコルによってバスへアクセスする。
【０００４】
すなわち、各モジュールは、ＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）等のバスマスタを搭載し、バスアービタに対してバス取得要求を出して、許可されると、スレーブを介してメモリへのアクセス権を獲得する。
【０００５】
バスアービタは、優先順位を設定することができ、バスマスタ毎に優先順位を定義することができる。高優先順位のバスマスタは、バスアービタに対するバス取得要求が、低優先度のバスマスタよりも１サイクルでも遅いと、低優先度のバスマスタにメモリへのアクセス権が許可されてしまい、バスを一定時間占有される。
【０００６】
ところが、画像処理装置においては、スキャナやプリンタ等のようにデータの等時性（リアルタイム性）の要求されるデバイスとデータの等時性があまり要求されないデバイスがあり、等時性の要求されるデバイスのバスマスタへのアクセス権を優先させる必要がある。
【０００７】
そして、従来、バスアービタが適用されている装置で特定の事象が発生することにより発生する第１のバスマスタからのバス獲得要求が存在する場合に、該事象が発生すると、該第１のバスマスタ以外のバスマスタからのバス獲得要求に対して、特定の事象が発生してない通常の場合より、バス使用権を与える頻度を制限する技術が提案されている（特許文献１参照）。
【０００８】
すなわち、この従来技術は、第１のバスマスタが動作する場合に、他のバスマスタのバス獲得要求を一定期間マスクしてアクセス権を与えないようにすることで、バスに対する第１のバスマスタの利用帯域を確保している。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来技術にあっては、他のバスマスタのバス獲得要求を一定期間マスクすることで、優先的に特定のバスマスタにバスアクセス権を与えているため、バスアクセス権を与える頻度を制限するためのカウンタ等のマスク時間計測部をマスク毎に設ける必要がある。その結果、近年のＡＳＩＣやＳｏＣの大規模化によりバスマスタ数が増加してくると、バスマスタへのバスアクセス権を適切に制御するためにバスマスタ毎に設ける必要のあるマスク時間計測部が増加して、回路規模が大型化するとともに、回路の設計作業が煩雑化し、コストが高くなるという問題があった。
【００１０】
そこで、本発明は、小型化を図りつつ、優先順位の高いバスマスタへのバス帯域の確保と優先順位の低いバスマスタのバス使用権の制限を効率的に行うことを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１記載のバス制御装置は、スレーブへのアクセスの優先順位の異なる複数のバスマスタと、複数の前記バスマスタの優先順位に応じた所定のバス優先順位で複数のグループに分割されそれぞれに複数の該バスマスタが接続される複数のグループバスが、さらにバス優先順位が上位のバスに順次階層接続され、該階層接続においてバス優先順位の上位のバスが該上位のバスに接続されている複数の下位のバスからのバス取得要求を該バス優先順位に基づいて調停するバス手段と、前記バスマスタから前記グループバスへのバス取得要求をそれぞれマスクするマスク手段と、前記バスマスタの接続される前記グループバス毎に設けられ、前記マスク手段の動作を制御するマスク信号を該グループパスに接続されている該マスク手段へ出力するマスク制御手段と、を備えていることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、小型化を図りつつ、優先順位の高いバスマスタへのバス帯域の確保と優先順位の低いバスマスタのバス使用権の制限を効率的に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例を適用した画像処理装置の要部ブロック構成図。
【図２】バスの詳細な構成を示す画像処理装置の要部ブロック構成図。
【図３】アクセスコントローラとマスクの接続関係の一例を示す図。
【図４】アクセスコントローラの要部ブロック構成図。
【図５】アクセスコントローラのマスク制御の説明図。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１５】
図１〜図５は、本発明のバス制御装置、画像処理装置及びバス制御方法の一実施例を示す図であり、図１は、本発明のバス制御装置、画像処理装置及びバス制御方法の一実施例を適用した画像処理装置１の要部ブロック構成図である。
【００１６】
図１において、画像処理装置１は、ＡＳＩＣ２、ＤＤＲ−ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory)３、スキャナ４、プロッタ５、ハードディスク（ＨＤＤ（Hard Disk Drive））６、ネットワークＩ／Ｆ（インターフェイス）７、ＵＳＢ（Universal Serial Bus）Ｉ／Ｆ８及び図示しない操作表示部等を備えており、複写装置、複合装置等である。
【００１７】
スキャナ４は、例えば、ＣＣＤ（Charge Coupled Device ）を利用したイメージスキャナ等が利用されており、原稿を走査して、原稿の画像を所定の解像度で読み取る。
【００１８】
スキャナ４は、機械的に一定の速度で動作して原稿の画像を読み取って読み取った画像データをＡＳＩＣ２に出力し、ＡＳＩＣ２を介してＤＤＲ−ＳＤＲＡＭ３に一時的に格納する。
【００１９】
プロッタ５は、例えば、インク噴射式または電子写真方式のプロッタが用いられており、ＤＤＲ−ＳＤＲＡＭ３に展開されている画像データをＡＳＩＣ２を介して受け取って、用紙に所定ライン毎に画像形成走査して画像を形成する。
【００２０】
プロッタ５は、機械的に一定の速度で動作して、ＤＤＲ−ＳＤＲＡＭ３からＡＳＩＣ２回して受け取った画像データに基いて用紙に画像を形成する。
【００２１】
ハードディスク６は、ＡＳＩＣ２で画像処理された画像データ等を保管し、また、ＡＳＩＣ２で画像処理されるために、読み出される。
【００２２】
ネットワークＩ／Ｆ７は、ＬＡＮ（Local Area Network）等のネットワークが接続され、ネットワークとのインターフェイス処理を行う。
【００２３】
ＵＳＢＩ／Ｆ８は、ＵＳＢ接続される拡張ユニットやＵＳＢメモリ等のＵＳＢデバイスが接続され、該ＵＳＢデバイスとのインターフェイスを行なう。
【００２４】
ＡＳＩＣ２は、バス１１に、複数（図１では、８つ）のバスマスタ１２ａ〜１２ｈが接続されているとともに、スレーブ１３が接続されており、バスマスタ１２ａには、上記スキャナ４が、バスマスタ１２ｂには、上記プロッタ５が、バスマスタ１２ｅには、上記ハードディスク６が、バスマスタ１２ｇには、上記ネットワークＩ／Ｆ７が、バスマスタ１２ｈには、上記ＵＳＢＩ／Ｆ８が、それぞれ接続されている。
【００２５】
ＡＳＩＣ２は、内部に、圧縮部１４、伸張部１５及び回転部１６が構築されており、バスマスタ１２ｃに、圧縮部１４が、バスマスタ１２ｄに、伸張部１５が、バスマスタ１２ｆに、回転部１６が、それぞれ接続されている。
【００２６】
スキャナ４は、上述のように、機械的に一定の速度で動作して原稿の画像を読み取って読み取った画像データをバスマスタ１２ａ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に一時的に格納する。したがって、スキャナ４は、データ転送の等時性として、高い等時性を要求する。
【００２７】
プロッタ５は、上述のように、機械的に一定の速度で動作して、ＤＤＲ−ＳＤＲＡＭ３からバスマスタ１２ｂ、バス１１及びスレーブ１３を介して読み取った画像データに基いて用紙に画像を形成する。したがって、プロッタ５は、データ転送の等時性として、高い等時性が要求する。
【００２８】
ハードディスク６は、ＡＳＩＣ２によって画像処理等の行われた画像データ等をバスマスタ１２ｅ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３から受け取って保管し、また、バスマスタ１２ｅ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に渡す。したがって、ハードディスク６は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００２９】
ネットワークＩ／Ｆ７は、ネットワークと画像処理装置１との通信のインターフェイスを行なって、バスマスタ１２ｇ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に一時保管されている画像データをネットワークに送出し、また、ネットワークから受け取った画像データを、バスマスタ１２ｇ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に書き込む。したがって、ネットワークＩ／Ｆ７は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００３０】
ＵＳＢＩ／Ｆ８は、接続されるＵＳＢデバイスとのインターフェイスを行なって、バスマスタ１２ｇ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に一時保管されている画像データやその他の情報をＵＳＢデバイスに出力し、また、ＵＳＢデバイスから受け取った画像データやその他の情報を、バスマスタ１２ｇ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３に書き込む。したがって、ＵＳＢＩ／Ｆ８は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００３１】
圧縮部１４は、バスマスタ１２ｃ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３から読み出した画像データを所定の圧縮方式で圧縮して、バスマスタ１２ｃ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３へ圧縮画像データを書き戻す圧縮処理を行う。したがって、圧縮部１４は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００３２】
伸張部１５は、バスマスタ１２ｄ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３から読み出した圧縮画像データを、伸張して、バスマスタ１２ｄ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３へ伸張した画像データを書き戻す伸長処理を行う。したがって、伸張部１５は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００３３】
回転部１６は、バスマスタ１２ｃ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３から読み出した画像データを所定角度回転させて、バスマスタ１２ｃ、バス１１及びスレーブ１３を介してＤＤＲ−ＳＤＲＡＭ３へ回転後の画像データを書き戻す回転処理を行う。したがって、回転部１６は、データ転送の等時性としては、それほど高い等時性を要求しない。
【００３４】
そして、バス（バス手段）１１は、図２に示すように、グループバスとしての高優先バス１１ｈ、中優先バス１１ｍ、低優先バス１１ｌ及び上位のバスとしての上位優先バス１１ｔが階層接続された階層構造となっており、また、グループバスの高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌは、高優先バス１１ｈが最も優先順位が高く、低優先順位が最も優先順位が低く、高優先バス１１ｈ＞中優先バス１１ｍ＞低優先バス１１ｌの順で優先順位が設定されている。
【００３５】
高優先バス１１ｈには、スキャナ４の接続されているバスマスタ１２ａと、プロッタ５の接続されているバスマスタ１２ｂと、が接続され、中優先バス１１ｍには、圧縮部１４の接続されているバスマスタ１２ｃと、伸張部１５の接続されているバスマスタ１２ｄと、ハードディスク６の接続されているバスマスタ１２ｅと、回転部１６の接続されているバスマスタ１２ｆと、が接続されている。また、低優先バス１１ｅには、ネットワークＩ／Ｆ７の接続されているバスマスタ１２ｇと、ＵＳＢＩ／Ｆ８の接続されているバスマスタ１２ｈと、が接続されており、高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌは、それぞれ上位優先バス１１ｔに接続されている。
【００３６】
上位優先バス１１ｔは、グループバスである高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌからのｒｅｑ（バス取得要求）を、その優先順位に従って調停して、アクセスを付与する。
【００３７】
すなわち、上位優先バス１１ｔは、アービトレーションとして、バス内蔵の優先度付きラウンドロビンや優先度固定アービトレーションを用いることで、あるいは、一般的なラウンドロビンあるいはＬＲＵ（Least Recently Used）方式のアービトレーションに外部によるマスク制御を伴った方法によって、高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌのうち、優先順位の高いバスに優先的にバス帯域を与える。
【００３８】
本実施例では、例えば、ＬＲＵ方式のアービトレーションに、外部によるマウス制御を伴った方法を採用している。
【００３９】
一方、高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌは、これらのバス１１ｈ、１１ｍ、１１ｌに接続されているバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈは、それぞれ接続されているバス１１ｈ、１１ｍ、１１ｌに対しては、同等であるため、同じバス１１ｈ、１１ｍ、１１ｌ内において帯域分配する必要がある。
【００４０】
そこで、ＡＳＩＣ２は、高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌのそれぞれに接続されているバスマスタ１２ａ〜１２ｈから、対応する高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌへのｒｅｑ信号（バス取得要求信号）をマスクするマスク（マスク手段）２１ａ〜２１ｈが、各バスマスタ１２ａ〜１２ｈに対応させて設けられており、また、回路規模を小さくするとともに、回路部品を削減してコストを削減するために、バスマスタ１２ａ〜１２ｈのうち、各高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌに接続されているバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈ毎に、アクセスコントローラ（マスク制御手段）２２ａ、２２ｂ、２２ｃを接続して、アクセスコントローラ２２ａ、２２ｂ、２２ｃでバス１１ｈ、１１ｍ、１１ｌ毎にバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈのマスク制御を行なっている。
【００４１】
ここで、各マスク２１ａ〜２１ｈは、図３にマスク２１ａ、２１ｂの場合について示すように、バスマスタ１２ａ〜１２ｈからバス１１ｈ、１１ｍ、１１ｌへ出力するｒｅｑ信号をマスク可能な状態で接続されており、アクセスコントローラ２２ａ〜２２ｃからマスク信号が入力されている間、ｒｅｑ信号をマスクする。なお、バスマスタ１２ａ〜１２ｆとバス１１ｈ、１１ｍ、１１ｌとの間では、通常、図３に示すように、ｒｅｑ信号（バス取得要求信号）、ａｃｋ信号（バス取得許可信号）及び許可された後のｗｄ（ライトデータ）、ｒｄ（リードデータ）が転送され、プロトコルは、ＡＸＩやＯＣＰ等さまざま存在する。バス１１ｈ、１１ｍ、１１ｌは、バスマスタ１２ａ〜１２ｈからのｒｅｑ信号（バス取得要求信号）がない限りａｃｋ（バス取得許可）を与えることはない。したがって、後述するように、バス１１ｈ、１１ｍ、１１ｌの外部でｒｅｑ信号をマスクすることで、バスマスタ１２ａ〜１２ｈからはバス取得要求中であるが、バス１１ｈ、１１ｍ、１１ｌからはアイドル中に見せかけることができる。
【００４２】
そして、アクセスコントローラ２２ａ〜２２ｃは、それぞれ高優先バス１１ｈ、中優先バス１１ｍ、低優先バス１１ｌに接続されているバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈに対して１つずつ配設されており、図３に示すように、１つのアクセスコントローラ２２ａ〜２２ｃが、複数のバスマスタ１２ａ〜１２ｈのマスクを制御する。
【００４３】
このアクセスコントローラ２２ａ〜２２ｃは、図４に示すように、カウンタ３１と複数（図４では、３つ）のマスク制御部（信号制御手段）３２ａ〜３２ｃを備えており、カウンタ３１は、リセットが解除されると、常にカウント動作を行なってマスク期間を計測する。
【００４４】
各マスク制御部３２ａ〜３２ｃは、カウンタ３１のカウンタ値に基づいてマスクをオン／オフするマスク信号Ｍ０〜Ｍ２を、対応するバスマスク２１ａ〜２１ｈに出力し、バスマスク２１ａ〜２１ｈは、オンのマスク信号Ｍ０〜Ｍ２が入力されている間、バスマスタ１２ａ〜１２ｈからバス１１ｈ、１１ｍ、１１ｌへのｒｅｑ信号の出力をマスクする。
【００４５】
そして、アクセスコントローラ２２ａ〜２２ｃは、カウンタ３１として、回路構成を簡素化するために、例えば、８ｂｉｔのカウンタが用いられており、カウンタ３１は、「０」から「２５５」までをカウントする。そして、マスク制御部３２ａ〜３２ｃは、例えば、図５に示すように、カウンタ３１のカウント値を予め設定されている閾値と比較して、該閾値によって予め設定されているカウント期間の間だけマスクするオンのマスク信号Ｍ０〜Ｍ２を対応するバスマスク２１ａ〜２１ｈへ出力する。マスク制御部３２ａ〜３２ｃは、カウンタ３１のカウントするカウント値と設定値を比較する比較器等が用いられており、マスク期間の設定を２のべき乗単位として、比較器等を単純化して、簡素な回路構成となっている。
【００４６】
マスク制御部３２ａ〜３２ｃは、マスク制御部３２ａが、全てのカウント値でマスクを行わない、すなわち、０％マスクするマスク信号Ｍ０を、マスク制御部３２ｂが、「０」から「６３」のカウント値の間、すなわち、２５％マスクするマスク信号Ｍ１を、マスク制御部３２ｃが、「０」から「１２７」のカウント値の間、すなわち、５０％マスクするマスク信号Ｍ２を、それぞれ対応するバスマスク２１ａ〜２１ｈへ出力する。
【００４７】
さらに、アクセスコントローラ２２ａ〜２２ｃは、各マスク制御部３２ａ〜３２ｃに、そのアクセスコントローラ２２ａ〜２２ｃの制御対象となっている各バスマスタ１２ａ〜１２ｈのｒｅｑ信号（バス取得要求信号）が入力されており、各マスク制御部３２ａ〜３２ｃは、同じアクセスコントローラ２２ａ〜２２ｃに搭載されているマスク制御部３２ａ〜３２ｃの制御対象のバスマスタ１２ａ〜１２ｈであって、自分の制御対象のバスマスタ１２ａ〜１２ｈよりも優先順位が高くマスク期間の短いバスマスタ１２ａ〜１２ｈの監視を行って、該ｒｅｑ信号がネゲートしていると、自身のマスク期間であっても自身の出力するマスク信号を解除（オフ）する。
【００４８】
なお、図１及び図２には、図示していないが、ＳｏＣがバス１１に接続されているときには、ＳｏＣはバスマスタとしてＣＰＵが存在し、ＣＰＵがメモリ帯域を取れない場合には、画像処理装置１のシステム性能が低下してしまうため、優先順位の高いバス、例えば、高優先バス１１ｈに接続される。
【００４９】
次に、本実施例の作用を説明する。本実施例の画像処理装置１は、小型化を図りつつ、優先順位の高いバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆへのバス帯域の確保と優先順位の低いバスマスタ１２ｇ、１２ｈのバス使用権の制限を効率的に行う。
【００５０】
すなわち、画像処理装置１において、スキャナ４、プロッタ５は、原稿の読み取りや用紙への画像の書き込み等のライン走査を行なう機械動作に追従してデータ転送が必要であるため、スキャナ４及びプロッタ５が接続されているバスマスタ１２ａ、１２ｂが、メモリ帯域を取れないときには、異常画像が発生して、画像処理装置として致命的であることから、これらのバスマスタ１２ａ、１２ｂは、最も高いライン等時性が要求されるため、最も優先順位が高い高優先バス１１ｈに接続されている。
【００５１】
また、画像処理装置１において、圧縮部１４、伸張部１５、回転部１６及びハードディスク６は、ページ単位で処理を行うことが多く、スキャンや印刷処理に関連する画像処理であるため、圧縮部１４、伸張部１５、回転部１６及びハードディスク６が接続されているバスマスタ１２ｃ〜１２fが、メモリ帯域を取れないと画像処理装置としての性能が劣化するおそれがあり、これらのバスマスタ１２ｃ〜１２ｆは、最も高い優先順位の次の優先順位であるページ等時性が要求されるため、スキャナ４及びプロッタ５が接続されているバスマスタ１２ａ、１２ｂの次に優先順位の高い中優先バス１１ｍに接続されている。
【００５２】
さらに、画像処理装置１において、ネットワークＩ／Ｆ７及びＵＳＢＩ／Ｆ８は、ネットワークやＵＳＢデバイスとの通信を行なうものであって、ネットワークＩ／Ｆ７及びＵＳＢＩ／Ｆ８が接続されているバスマスタ１２ｇ、１２ｈが、メモリ帯域を取れない場合であってもベストエフォート動作で画像処理装置１としては不具合が発生することがないため、これらのバスマスタ１２ｇ、１２ｈは、最も優先順位の低い低優先バス１１ｌに接続されている。
【００５３】
高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌは、それぞれ上位優先バス１１ｔに接続されており、上位優先バス１１ｔは、各バス１１ｈ、１１ｍ、１１ｌの優先順位に従ってスレーブ１３へのアクセスを、ラウンドロビン方式やＬＲＵ方式でアービトレーションする。
【００５４】
すなわち、上位優先バス１１ｔは、高優先バス１１ｈ、中優先バス１１ｍ及び低優先バス１１ｌのうち、高優先バス１１ｈ＞中優先バス１１ｍ＞低優先バス１１ｌの優先順位で、各バス１１ｈ、１１ｍ、１１ｌからのスレーブ１３へのｒｅｑ信号を調停する。
【００５５】
そして、各バスマスタ１２ａ〜１２ｈと対応するバス１１ｈ、１１ｍ、１１ｌとの間には、マスク２１ａ〜２１ｈが配設されており、各マスク２１ａ〜２１ｈは、各バス１１ｈ，１１ｍ、１１ｌ毎に、それぞれグループとして、アクセスコントローラ２２ａ〜２２ｃが配設されている。すなわち、アクセスコントローラ２２ａは、マスク２１ａとマスク２１ｂに、アクセスコントローラ２２ｂは、マスク２１ｃ〜マスク２１ｆに、アクセスコントローラ２２ｃは、マスク２１ｇとマスク２１ｈに、それぞれ接続されて、それぞれをグループとして、グループ内のバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈをそれぞれ予め設定されたマスク条件でマスクすることで、グループ内で、優先順位付けを行なっている。
【００５６】
各マスク２１ａ〜２１ｈは、図３にマスク２１ａ、２１ｂについて示したように、バスマスタ１２ａ〜１２ｈからバス１１ｈ、１１ｍ、１１ｌへのｒｅｑ信号をマスクする。
【００５７】
そして、アクセスコントローラ２２ａ〜２２ｃは、図４に示したように、各バス１１ｈ、１１ｍ、１１ｌ毎に、設けられていて、該バス１１ｈ、１１ｍ、１１ｌに接続されているバスマスタ１２ａ、１２ｂ、バスマスタ１２ｃ〜１２ｆ、バスマスタ１２ｇ、１２ｈの各バス１１ｈ、１１ｍ、１１ｌへのアクセスをマスクする。
【００５８】
具体的には、アクセスコントローラ２２ａ〜２２ｃは、８ｂｉｔカウンタで、「０」から「２５５」までをカウントし、マスク制御部３２ａ〜３２ｃが、例えば、図５に示したように、カウンタ３１のカウント値を予め設定されている閾値と比較して、予め設定されているカウント期間の間だけマスクするオンのマスク信号Ｍ０〜Ｍ２を、対応するバスマスク２１ａ〜２１ｈへ出力する。
【００５９】
すなわち、ＡＳＩＣ２は、バス１１を、階層構造として、優先順位の異なるバス１１ｈ、１１ｍ、１１ｌに分割して、それぞれを上位優先バス１１ｔに接続し、さらに、各バス１１ｈ、１１ｍ、１１ｌに接続されているバスマスタ１２ａ〜１２ｈからのｒｅｑ信号をマスクするマスク２１ａ〜２１ｈを設けるとともに、バス１１ｈ、１１ｍ、１１ｌ毎に、マスク２１ａ、２１ｂ、バス２１ｃ〜２１ｆ、バス２１ｇ、２１ｈを制御するアクセスコントローラ２２ａ〜２２ｃを設けている。さらに、各アクセスコントローラ２２ａ〜２２ｃは、各マスク２１ａ〜２１ｃの動作を制御するマスク信号を、単一のカウンタ３１を利用して生成して、バスマスタ１２ａ〜１２ｈを優先順位付けてバス帯域の利用を調整し、ＤＤＲ−ＳＤＲＡＭ３へのアクセスを調整している。
【００６０】
さらに、アクセスコントロール２２ａ〜２２ｃは、優先順位の高いバスマスタ１２ａ〜１２ｈが動作しない場合もマスクがかかってしまって、ＤＤＲ−ＳＤＲＡＭ３を有効活用できないことを防止する。すなわち、各マスク制御部３２ａ〜３２ｃは、そのアクセスコントローラ２２ａ〜２２ｃの制御対象となっている各バスマスタ１２ａ〜１２ｈのｒｅｑ信号が入力されており、同じアクセスコントローラ２２ａ〜２２ｃに搭載されているマスク制御部３２ａ〜３２ｃの制御対象のバスマスタ１２ａ〜１２ｈであって、自分の制御対象のバスマスタ１２ａ〜１２ｈよりも優先順位が高くマスク期間の短いバスマスタ１２ａ〜１２ｈの監視を行って、ｒｅｑ信号がネゲートしていると、自身のマスク期間であってもマスク信号を解除（オフ）する。
【００６１】
なお、アクセスコントロール２２ａ〜２２ｃの各マスク制御部３２ａ〜３２ｃは、バスマスタ１２ａ〜１２ｈからのｒｅｑ（バス取得要求）のバースト長が短い場合には、マスク制御を行わずに、該バスマスタ１２ａ〜１２ｈからのｒｅｑ信号をスルーしてもよい。
【００６２】
このようにすると、ｒｅｑのバーストが短い場合は、先に転送をさせることで、バスマスタ１２ａ〜１２ｈの性能低下を回避することができる。
【００６３】
また、アクセスコントロール２２ａ〜２２ｃの各マスク制御部３２ａ〜３２ｃは、バスマスタ１２ａ〜１２ｈからの転送先アドレスが制御対象のスレーブ３と異なる場合には、マスク制御を行わずに、該バスマスタ１２ａ〜１２ｈからのｒｅｑ信号をスルーしてもよい。
【００６４】
このようにすると、アクセスが集中するスレーブ３以外へのアクセスを抑制することなく、バスマスタ１２ａ〜１２ｈの性能低下を回避することができる。
【００６５】
さらに、アクセスコントローラ２２ａ〜２２ｃは、各マスク制御部３２ａ〜３２ｃの閾値を適宜設定するか、カウンタ３１のビット数とマスク制御部３２ａ〜３２ｃの閾値を変更することで、マスク期間を適宜設定変更可能としてもよい。
【００６６】
このようにすると、ハードウェアでのマスク期間の設定変更だけでなく、ソフトウェアによってマスク期間を変更することができ、柔軟性を向上させることができる。
【００６７】
また、アクセスコントローラ２２ａ〜２２ｃは、上記各マスク制御部３２ａ〜３２ｃの閾値を、メモリリード要求とメモリライト要求それぞれ別々に設定可能としてもよい。
【００６８】
このようにすると、バスマスタ１２ａ〜１２ｈの特性に合わせて、リード、ライトそれぞれの制御を行なうことができ、メモリ帯域をより一層有効活用することができる。
【００６９】
さらに、アクセスコントローラ２２ａ〜２２ｃは、マスク制御対象とするスレーブを設定できるようにしてもよい。
【００７０】
このようにすると、対象スレーブをハードウェアで決めるだけでなく、ソフトウェアで設定できるようにすると、より一層柔軟なバス制御を行うことができる。
【００７１】
また、アクセスコントローラ２２ａ〜２２ｃは、マスク制御部３２ａ〜３２ｃ毎に、予め設定するカウント期間を異ならせてその間だけマスクするオンのマスク信号Ｍ０〜Ｍ２を、対応するバスマスク２１ａ〜２１ｈへ出力して、バスマスタ１２ａ〜１２ｈ毎に異なるマスク期間としてもよい。
【００７２】
このようにすると、バスマスタ１２ａ〜１２ｈに応じ転送効率を向上させることができる。
【００７３】
さらに、画像処理装置１は、アクセスコントローラ２２ａ〜２２ｃのマスク信号生成機能、具体的には、マスク制御部３２ａ〜３２ｃのマスク信号生成機能のオン／オフを適宜設定可能としてもよい。
【００７４】
このようにすると、異常発生時にマスク信号生成機能をオフにして、バグ回避を適切に行うことができる。
【００７５】
このように、本実施例の画像処理装置１は、スレーブ３へのアクセスの優先順位の異なる複数のバスマスタ１２ａ〜１２ｈと、複数のバスマスタ１２ａ〜１２ｈの優先順位に応じた所定のバス優先順位で複数のグループに分割されそれぞれに複数の該バスマスタ１２ａ〜１２ｈが接続される複数のグループバスであるバス１１ｈ、１１ｍ、１１ｌが、さらにバス優先順位が上位のバス１１ｔに順次階層接続され、該階層接続においてバス優先順位の上位のバス１１ｔが該上位のバス１１ｔに接続されている複数の下位のバス１１ｈ、１１ｍ、１１ｌからのバス取得要求を該バス優先順位に基づいて調停するバス（バス手段）１１と、バスマスタ１２ａ〜１２ｈからグループバス１１ｈ、１１ｍ、１１ｌへのバス取得要求をそれぞれマスクするマスク（マスク手段）２１ａ〜２１ｈと、バスマスタ１２ａ〜１２ｈの接続されるグループバス１１ｈ、１１ｍ、１１ｌ毎に設けられ、マスク２１ａ〜２１ｈの動作を制御するマスク信号を該グループパス１１ｈ、１１ｍ、１１ｌに接続されている該マスク２１ａ〜２１ｈへ出力するアクセスコントローラ（マスク制御手段）２２ａ〜２２ｃと、を備えている。
【００７６】
したがって、アクセスコントローラ２２ａ〜２２cを少なくして小型化を図りつつ、バス１１ｈ、１１ｍ、１１ｌ及びバス１１tに優先順位を設けることで、優先順位の高いバスマスタへのバス帯域の確保と優先順位の低いバスマスタのバス使用権の制限を効率的に行うことができる。
【００７７】
また、本実施例の画像処理装置１は、スレーブ３へのアクセスの優先順位の異なる複数のバスマスタ１２ａ〜１２ｈの該優先順位に応じた所定のバス優先順位で複数のグループに分割されそれぞれに複数の該バスマスタ１２ａ〜１２ｈが接続される複数のグループバス１１ｈ、１１ｍ、１１ｌが、さらにバス優先順位が上位のバス１１ｔに順次階層接続され、該階層接続においてバス優先順位の上位のバス１１ｔが該上位のバス１１ｔに接続されている複数の下位のバス１１ｈ、１１ｍ、１１ｌからのｒｅｑ（バス取得要求）を該バス優先順位に基づいて調停するバス処理ステップと、バスマスタ１２ａ〜１２ｈからグループバス１１ｈ、１１ｍ、１１ｌへのバス取得要求をそれぞれマスクするマスク処理ステップと、バスマスタ１２ａ〜１２ｈの接続されるグループバス１１ｈ、１１ｍ、１１ｌ毎に設けられ、前記マスク処理ステップの動作を制御するマスク信号を該グループパス１１ｈ、１１ｍ、１１ｌに接続されている該マスク処理ステップへ出力するマスク制御処理ステップと、を有しているバス制御方法を実行している。
【００７８】
したがって、アクセスコントローラ２２ａ〜２２ｃを少なくして小型化を図りつつ、バス１１ｈ、１１ｍ、１１ｌ及びバス１１tに優先順位を設けることで、優先順位の高いバスマスタへのバス帯域の確保と優先順位の低いバスマスタのバス使用権の制限を効率的に行うことができる。
【００７９】
さらに、本実施例の画像処理装置１は、ＡＳＩＣ２のバス１１が、グループバスである高優先バス１１ｈ、中優先バス１１ｍ、低優先バス１１ｌと、全ての該グループバス１１ｈ、１１ｍ、１１ｌとスレーブ３に接続されている上位のバスである上位優先バス１１t１１ｔの２段に階層接続され、該上位優先バス１１ｔが全ての該グループバス１１ｈ、１１ｍ、１１ｔからのｒｅｑ（バス取得要求）を前記バス優先順位に基いて調停している。
【００８０】
したがって、画像処理装置１に組み込まれる通常のＡＳＩＣ２のバス構成において、アクセスコントローラ２２ａ〜２２ｃを少なくして小型化を図りつつ、バス１１ｈ、１１ｍ、１１ｌ及びバス１１tに優先順位を設けることで、優先順位の高いバスマスタへのバス帯域の確保と優先順位の低いバスマスタのバス使用権の制限を効率的に行うことができる。
【００８１】
また、本実施例の画像処理装置１は、アクセスコントローラ２２ａ〜２２ｃが、所定ビット（８ビット）のカウンタ３１と、カウンタ３１のカウント値を予め設定された閾値と比較してマスク信号を制御するマスク制御部（信号制御手段）３２ａ〜３２ｃと、を備えている。
【００８２】
したがって、簡単な構成のアクセスコントローラ２２ａ〜２２ｃで、マスク２１ａ〜２１ｈの動作制御することができ、より一層小型化することができる。
【００８３】
さらに、本実施例の画像処理装置１は、ＡＳＩＣ２のバス１１が、階層接続されているバス１１ｈ、１１ｍ、１１ｌとバス１１ｔのうち、上位のバスである上位優先バス１１tが、優先度付きラウンドロビン方式で下位のバスである１１ｈ、１１ｍ、１１ｌからのｒｅｑ（バス取得要求）を調停している。
【００８４】
したがって、下層のバス１１ｈ、１１ｍ、１１ｌにはアービトレーションを搭載することなく、より一層小型で安価に回のバス１１ｈ、１１ｍ、１１ｌの優先順位に応じてＱｏＳを達成することができる。
【００８５】
また、本実施例の画像処理装置１は、アクセスコントローラ２２ａ〜２２ｃが、制御対象の複数のマスク２１ａ〜２１ｈがそれぞれマスクするバスマスタ１２ａ〜１２ｈの出力するｒｅｑ（バス取得要求）が入力され、マスク対象先の該バスマスタ１２ａ〜１２ｈの優先順位よりも優先順位の高いバスマスタ１２ａ〜１２ｈへの該ｒｅｑがアサートであるときにのみ、該マスク対象先の該バスマスタ１２ａ〜１２ｈからのｒｅｑをマスクするマスク信号を出力している。
【００８６】
したがって、制御対象のマスタ１２ａ〜１２ｈよりも優先順位の高いマスタ１２ａ〜１２ｈが動作していないときには、メモリ帯域を有効利用できるようにして、利用性を向上させることができる。
【００８７】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００８８】
１  画像処理装置
２  ＡＳＩＣ
３  ＤＤＲ−ＳＤＲＡＭ
４  スキャナ
５  プロッタ
６  ハードディスク
７  ネットワークＩ／Ｆ
８  ＵＳＢＩ／Ｆ
１１  バス
１１ｈ  高優先バス
１１ｍ  中優先バス
１１ｌ  低優先バス
１１ｔ  上位優先バス
１２ａ〜１２ｈ  バスマスタ
１３  スレーブ
１４  圧縮部
１５  伸張部
１６  回転部
１２ａ〜１２ｈ  バスマスタ
２２ａ〜２２ｃ  アクセスコントローラ
３１  カウンタ
３２ａ〜３２ｃ  マスク制御部
【先行技術文献】
【特許文献】
【００８９】
【特許文献１】特開２００２−２６９０３２号公報
【図１】
2014035549.tif 000003
【図２】
2014035549.tif 000004
【図３】
2014035549.tif 000005
【図４】
2014035549.tif 000006
【図５】
2014035549.tif 000007