(57)【要約】【課題】情報処理システムにおいて、システムバスでデータ転送に用いられるアクセス経路を分散させて、データ転送の最適化を図る。【解決手段】ＣＰＵ２等の各種デバイスが接続されるシステムバスを３つに分割し、各システムバス２０Ａ、２０Ｂ、２０Ｃに各デバイスを分散して接続する。また、システムバス２０Ａ〜２０Ｃ同士は相互にアクセス可能なデバイスとして互いに接続する。そして、各システムバス２０Ａ〜２０Ｃには、各デバイスからのアクセス状況を監視するバスモニタ回路を設け、調整回路３０が、ＣＰＵ２が実行するアプリケーション毎に各バスモニタ回路を一定時間動作させて、各システムバス２０Ａ〜２０Ｃ間のアクセス経路で占有率が判定レベルを越える過負荷経路が存在するか否かを判定し、過負荷経路を検出すると、そのアクセス経路の占有率が低くなるように、迂回経路を設定する。【選択図】図１
2008117068.tif 000002
【特許請求の範囲】
【請求項１】
システムバスと、
該システムバスに接続された複数のデバイスと、
該各デバイスからの要求に対し、一つのデバイスに前記システムバスの使用を許可するアービタと、
該アービタが使用を許可したマスタ側デバイスからのアクセス先であるスレーブ側デバイスを選択し、前記システムバスを介して該デバイス間を接続させるデコーダと、
を備えた情報処理システムにおいて、
前記システムバスを３以上に分割して、各システムバス同士を相互にアクセス可能なデバイスとして互いに接続すると共に、該各システムバスに前記アービタ及び前記デコーダをそれぞれ設けたことを特徴とする情報処理システム。
【請求項２】
前記各システムバス間のアクセス状況を監視し、占有率が設定レベルを越えるアクセス経路を過負荷経路として検出する過負荷経路検出手段と、
該過負荷経路検出手段にて過負荷経路が検出されると、該過負荷経路を介してスレーブ側デバイスにアクセスするマスタ側デバイスの中から、該過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを抽出する経路変更可能デバイス抽出手段と、
該経路変更可能デバイス抽出手段が抽出したマスタ側デバイスが前記スレーブ側デバイスにアクセスする際の経路が前記過負荷経路を利用しない迂回経路となるよう、前記各システムバスに設けられたデコーダの動作を変更するアクセス経路変更手段と、
を備えたことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記経路変更可能デバイス抽出手段は、
前記各システムバスに接続されたデバイスがマスタ側デバイスとして他のスレーブ側デバイスにアクセスする際に利用可能な経路が予め登録された経路情報記憶手段、
を備え、該経路情報記憶手段に記憶された経路情報に基づき、前記過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記過負荷経路検出手段は、前記各システムバス間のアクセス状況に加えて、各システムバスと各システムバスに接続されたデバイスと間のアクセス状況も監視し、
前記経路変更可能デバイス抽出手段は、前記過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスが複数存在する場合には、前記過負荷経路検出手段により検出されたシステムバスとデバイスとの間のアクセス状況に基づき、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出することを特徴とする請求項２又は請求項３に記載の情報処理システム。
【請求項５】
当該情報処理システムにて実行可能な複数の情報処理を順に実行させ、各情報処理の実行時に、過負荷検出手段、経路変更可能デバイス抽出手段、及び、アクセス経路変更手段をそれぞれ動作させて、各情報処理の実行に適した前記各デコーダの動作条件を設定する動作条件設定手段と、
当該情報処理システムにて実行される情報処理の種別が変更される度に、該変更後の情報処理に適した前記各デコーダの動作条件を前記動作条件設定手段にて設定された動作条件の中から抽出し、該抽出した動作条件に従い前記各デコーダの動作条件を変更するデコーダ動作切換手段と、
を備えたことを特徴とする請求項２〜請求項４の何れかに記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムバスを介して接続されるデバイス間のアクセスを制御可能な情報処理システムに関する。
【背景技術】
【０００２】
従来、車両に搭載されるナビゲーション装置には、ディスプレイに道路地図を表示する地図表示や、表示地図上に走行経路を表示する走行案内、といったナビゲーション装置本来の制御に加えて、車載カメラによる撮像画像やテレビチューナによる受信画像等をディスプリに表示させる表示制御、暗号化された音楽情報を受信する受信装置からの受信信号を復号化して音声信号を生成する音声再生制御、表示画像の切換指令や選局指令等を受け付け車載カメラやテレビチューナ等の他の車載装置に出力する操作制御、…といったナビゲーション装置本来の機能とは異なる機能を実現する制御を実行するものが知られている。
【０００３】
そして、この種のナビゲーション装置のように、多機能化に伴い種類の異なる多くの制御を実行する情報処理システムにおいては、図９に例示するように、各種制御のための演算処理（アプリケーションソフト：以下単にアプリケーションともいう）を実行するＣＰＵ２が接続されるシステムバス２０に、ＤＭＡコントローラ４、シリアル通信コントローラ６、暗号エンジン８、ＭＰＥＧデコーダ１０、メモリ１２、グラフィックコントローラ１４、ＰＣＩ−Ｅｘインターフェース１６、…といった多数のデバイスが接続される。
【０００４】
ところで、システムバス２０には、システムバス２０に接続されたデバイスからの要求に従い、複数のデバイスの一つに対してバスの使用を許可するアービタや、アービタがバスの使用を許可したデバイス（マスタ）からのアクセス先であるデバイス（スレーブ）を選択して、これらマスタ／スレーブ間をデータ転送可能に接続するデコーダが設けられている。
【０００５】
なお、図９において、Ｍ０，Ｍ１，…は、システムバス２０に接続された各デバイス２〜１６からのマスタアクセスを表し、Ｓ０，Ｓ１，…は、各デバイス２〜１６へのスレーブアクセスを表わす。
【０００６】
また、アービタは、予め設定された優先順位に従いバスの使用を許可するデバイスを選択するが、優先順位が高いデバイスからのアクセスが頻繁に行われると、優先順位が低いデバイスは、マスタとなって他のデバイス（スレーブ）にアクセスすることができなくなる。
【０００７】
そこで、従来、この種の情報処理システムにおいては、各デバイス（マスタ）によるシステムバス２０の占有状態を監視して、その占有率がしきい値を越えるデバイスについては、そのデバイスからシステムバス２０へのアクセス要求を禁止することで、優先順位が低いデバイス（マスタ）でも、アービタによる制御の下に、システムバス２０を使用できるようにすることが提案されている（例えば、特許文献１等参照）。
【特許文献１】特開２０００−２５９５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記提案の技術は、アービタによりシステムバスの使用が許可されるデバイス（マスタ）が特定のデバイスに集中するのを防止することはできるものの、デコーダにより選択されるスレーブ側のデバイスが特定のデバイスに集中するのを防止することはできない。
【０００９】
つまり、デコーダにより選択されるスレーブ側のデバイスが特定のデバイスに集中した場合には、そのアクセス経路でのデータの転送速度がボトルネックとなって、システムバスを占有するマスタの切り換えに時間がかかり、上記各アプリケーションの実行に必要なデータ転送を実現できないことがあるが、上記提案の技術では、こうした問題は防止することはできなかった。
【００１０】
本発明は、こうした問題に鑑みなされたものであり、システムバスを介して複数のデバイス間でのデータ転送がなされる情報処理システムにおいて、システムバスでデータ転送に用いられるアクセス経路を分散させて、データ転送の最適化を図ることを目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するためになされた請求項１に記載の情報処理システムにおいては、各種デバイスが接続されるシステムバスが３以上に分割され、その分割されたシステムバス同士が、相互にアクセス可能なデバイスとして接続されている。
【００１２】
そして、各システムバスには、それぞれ、当該システムバスに接続されたデバイスからの要求に対して、一つのデバイスにシステムバスの使用を許可するアービタと、このアービタが使用を許可したマスタ側デバイスからのアクセス先であるスレーブ側デバイスを選択し、当該システムバスを介してこれら各デバイス間を接続させるデコーダが設けられる。
【００１３】
従って、この情報処理システムによれば、情報処理システムを構成するデバイス毎に、そのデバイスがマスタとなって他のデバイス（スレーブ）にアクセスする際のアクセス経路として、３以上のシステムバスを利用して実現可能な複数のアクセス経路の中から選択することができる。
【００１４】
よって、本発明の情報処理システムによれば、各デバイスがマスタとなって他のスレーブ側デバイスにアクセスする際のアクセス経路が、システムバス同士を接続する経路を含み、しかも、その経路の一つに集中することのないように、各システムバス内のデコーダがマスタ側デバイスからの要求に従い選択するスレーブ側デバイスを設定することで、各システムバスを含め、システム全体でマスタ及びスレーブとなるデバイスを分散させて、システムバスでのデータ転送の最適化を図ることができるようになる。
【００１５】
ところで、情報処理システムにおいて、アクセス頻度が高くなるデバイスは、マスタ／スレーブ共に、ＣＰＵが実行するアプリケーション毎に異なることから、上記のように、各システムデバイスにおいてデコーダが選択するスレーブ側デバイスを予め設定しておいても、ＣＰＵが実行するアプリケーションが変化すると、特定の２つのシステムバスがマスタ／スレーブとして頻繁に動作し、そのシステムバス間の経路がボトルネックとなってしまうことが考えられる。
【００１６】
そこで、このような問題を防止するには、請求項２に記載のように、請求項１に記載の情報処理システムにおいて、過負荷経路検出手段が、各システムバス間のアクセス状況を監視して、占有率が設定レベルを越えるアクセス経路を過負荷経路として検出するようにし、この過負荷経路検出手段が過負荷経路を検出した際には、経路変更可能デバイス抽出手段が、その検出された過負荷経路を介してスレーブ側デバイスにアクセスするマスタ側デバイスの中から、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを抽出し、アクセス経路変更手段が、その抽出したマスタ側デバイスがスレーブ側デバイスにアクセスする際の経路が過負荷経路を利用しない迂回経路となるよう、システムバスに設けられたデコーダの動作を変更するように構成するとよい。
【００１７】
つまり、このようにすれば、ＣＰＵが実行するアプリケーションの種類によって、各システムバス間に形成されるアクセス経路の一つの使用頻度が高くなったとしても、その経路が過負荷経路として検出されて、その経路を迂回する迂回経路が自動で設定されることになるので、特定のアプリケーションで特定のシステムバス間のアクセス経路がボトルネックとなって、デバイス間のデータ転送を良好に実行できなくなるのを防止することができる。
【００１８】
また、この場合、経路変更可能デバイス抽出手段において、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを正確に抽出できるようにするには、請求項３に記載のように、経路変更可能デバイス抽出手段に対し、各システムバスに接続されたデバイスがマスタ側デバイスとして他のスレーブ側デバイスにアクセスする際に利用可能な経路が予め登録された経路情報記憶手段を設けておき、経路変更可能デバイス抽出手段が、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出する際には、その経路情報記憶手段に記憶された経路情報を利用するようにすればよい。
【００１９】
また、経路変更可能デバイス抽出手段が、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出する際、その抽出可能なマスタ側デバイスが複数存在する場合には、その複数のマスタ側デバイスのうち、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出するようにするとよい。
【００２０】
そして、このためには、請求項４に記載のように、過負荷経路検出手段を、各システムバス間のアクセス状況に加えて、各システムバスと各システムバスに接続されたデバイスと間のアクセス状況も監視するように構成し、経路変更可能デバイス抽出手段側では、過負荷経路検出手段により検出されたシステムバスとデバイスとの間のアクセス状況に基づき、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出するようにするとよい。
【００２１】
また次に、請求項２〜請求項４に記載の情報処理システムにおいて、データ転送に利用されるアクセス経路を常時最適に設定できるようにするには、過負荷検出手段を常時動作させればよいが、このようにすると、ＣＰＵが特定のアプリケーションを実行しており、各デバイスからのアクセス経路がそのアプリケーションに対応した最適経路に設定されているときに、過負荷検出手段を不必要に動作させてしまうことになる。
【００２２】
そこで、請求項２〜４に記載の情報処理システムには、請求項５に記載のように、更に、当該情報処理システムにて実行可能な複数の情報処理（つまりアプリケーション）を順に実行させ、各情報処理の実行時に、過負荷検出手段、経路変更可能デバイス抽出手段、及び、アクセス経路変更手段をそれぞれ動作させて、各情報処理の実行に適した前記各デコーダの動作条件を設定する動作条件設定手段と、当該情報処理システムにて実行される情報処理が変更される度に、その変更後の情報処理に適した各デコーダの動作条件を、動作条件設定手段にて設定された動作条件の中から選択して、各デコーダの動作条件を変更するデコーダ動作切換手段を設けるようにしてもよい。
【００２３】
そして、このようにすれば、過負荷検出手段を常時動作させることなく、当該情報処理システムのＣＰＵにて実行されるアプリケーションが変更された際に、各デコーダの動作条件を、そのアプリケーションの実行に適した動作条件に切り換えることができるようになる。
【発明を実施するための最良の形態】
【００２４】
以下に、本発明の実施形態を図面と共に説明する。
図１は、本発明が適用された実施形態の情報処理システム全体の構成を表すブロック図である。
【００２５】
本実施形態の情報処理システムは、図９に例示した従来装置と同様、各種制御のためのアプリケーションを実行するＣＰＵ２、ＤＭＡコントローラ４、シリアル通信コントローラ６、暗号エンジン８、ＭＰＥＧデコーダ１０、メモリ１２、グラフィックコントローラ１４、ＰＣＩ−Ｅｘインターフェース１６、…といった多数のデバイスを備える。
【００２６】
一方、これら各デバイスが接続されるシステムバス２０は、３つに分割されており、その分割された３つのシステムバス２０Ａ、２０Ｂ、２０Ｃ同士は、マスタ／スレーブとして相互にアクセス可能なデバイスとして互いに接続されている。
【００２７】
また、これら３つのシステムバス２０Ａ〜２０Ｃのうち、システムバス２０Ａには、ＣＰＵ２及びＰＣＩ−Ｅｘインターフェース１６が接続され、システムバス２０Ｂには、ＤＭＡコントローラ４、シリアル通信コントローラ６及び暗号エンジン８が接続され、システムバス２０Ｃには、ＭＰＥＧデコーダ１０、メモリ１２及びグラフィックコントローラ１４が接続されている。
【００２８】
また、図２に示すように、各システムバス２０Ａ〜２０Ｃには、それぞれ、当該バスに接続されたデバイスからの要求ＲＥＱ０、ＲＥＱ１、ＲＥＱ２、…に従い、一つのデバイスに対して許可信号ＡＣＫｎ（ｎ：０、１、２、…）を出力して、当該バスの使用を許可するアービタ２２と、このアービタ２２がバスの使用を許可（換言すれば、許可信号ＡＣＫｎを出力）したデバイス（マスタＭｊ（ｊ：０、１、２、…））からのアクセス先であるデバイス（スレーブＳｋ（ｋ：０、１、２、…））を選択して、これらマスタ／スレーブ間をデータ転送可能に接続するデコーダ２４が設けられている。
【００２９】
このデコーダ２４は、図３に示すように、スレーブＳ０、Ｓ１、Ｓ２、…となり得るデバイス毎に設けられた複数のセレクタ２６を備え、そのセレクタ２６の一つを介して、マスタＭ０、Ｍ１、Ｍ２、…となり得る各デバイスからのアクセス信号の一つを選択して、スレーブＳ０、Ｓ１、Ｓ２、…となり得るデバイスの一つに出力するものであり、各セレクタ２６は、デコーダ制御回路２８により駆動される。
【００３０】
また、デコーダ制御回路２８は、アービタ２２から出力された許可信号ＡＣＫｎと、予め設定されたデコーダ２４の動作条件とに基づき、アービタ２２がバスの使用を許可したデバイス（マスタＭｊ）からのアクセス先となるデバイス（スレーブＳｋ）を特定して、そのスレーブＳｋに対応したセレクタ２６がマスタＭｊからのアクセス信号を選択し、他のセレクタ２６がそのアクセス信号を選択することのないように、各セレクタ２６を駆動する。
【００３１】
なお、このデコーダ制御回路２８が、デコーダ２４内の各セレクタ２６を駆動するのに用いるデコーダ２４の動作条件は、本発明の主要部である調整回路４０により設定される。
【００３２】
また、システムバス２０Ａ〜２０Ｃには、マスタＭ０、Ｍ１、Ｍ２、…となり得る各デバイスから当該バスへのアクセス状態、及び、当該バスからスレーブＳ０、Ｓ１、Ｓ２、…となり得る各デバイスへのアクセス状態をそれぞれ監視するバスモニタ回路３０が設けられている。
【００３３】
このバスモニタ回路３０は、マスタＭ０、Ｍ１、Ｍ２、…となり得るデバイス毎に設けられ、各デバイス（マスタＭ０、Ｍ１、Ｍ２、…）から当該バスへのアクセス状態を監視する複数のマスタアクセスモニタ部３１と、スレーブＳ０、Ｓ１、Ｓ２、…となり得るデバイス毎に設けられ、当該バスからこれら各デバイス（スレーブＳ０、Ｓ１、Ｓ２、…）へのアクセス状態を監視する複数のスレーブアクセスモニタ部３６とから構成されている。
【００３４】
そして、マスタアクセスモニタ部３１は、図４（ａ）に例示するように、アービタ２２から監視対象となるマスタ側デバイス（図ではマスタＭ０）へ出力される許可信号ＡＣＫ０によりセットされてカウンタイネーブル信号ＣＥＮを出力するフリップフロップ３２と、アービタ２２から他のマスタ側デバイス（図ではマスタＭ１、Ｍ２、…）へ出力される許可信号ＡＣＫ１、ＡＣＫ２、…を受けてフリップフロップ３２をリセットさせ、カウンタイネーブル信号ＣＥＮの出力を停止させるＯＲゲート３３と、フリップフロップ３２から出力されるカウンタイネーブル信号ＣＥＮを受けてシステムクロックをカウントすることで、監視対象となるマスタ側デバイスから当該バスへのアクセス時間を計時するカウンタ３４とから構成されている。
【００３５】
また、スレーブアクセスモニタ部３６は、図４（ｂ）に例示するように、デコーダ２４により監視対象となるスレーブ側デバイス（図ではマスタＳ０）が選択されている場合にアサートされるセレクト信号ＣＳ０を受けてシステムクロックをカウントすることで、当該バスから監視対象となるスレーブ側デバイスへのアクセス時間を計時するカウンタ３８にて構成されている。
【００３６】
このため、バスモニタ回路３０においては、図４（ｃ）に示すように、各システムバス２０Ａ〜２０Ｃにてアービタ２２及びデコーダ２４（詳しくはデコーダ制御回路２８）の制御の下に当該バスを介して接続されるマスタＭｊ及びスレーブＳｋが切り換えられるたびに、それまで当該バスを占有していたマスタＭｊ及びスレーブＳｋのアクセス時間ｔ１、ｔ２、ｔ３、…が計時されることになる。なお、バスモニタ回路３０は、調整回路４０からの指令に従い動作し、通常、一定のモニタ期間Ｔだけ動作する。
【００３７】
次に、調整回路４０は、当該情報処理システムを構成するデバイスの一つが他のデバイスにアクセスする際に、各システムバス２０Ａ〜２０ＣにてマスタＭｊ及びスレーブＳｋとして選択されるデバイス若しくはシステムバスのアクセス時間を、各システムバス２０Ａ〜２０Ｃに設けられたバスモニタ回路３０を介して計時することで、ＣＰＵ２が実行するアプリケーション毎に、各デバイスとシステムバスとの間若しくはシステムバス間のアクセス経路の占有率を求め、その占有率が各アクセス経路で分散するように、各デバイス間を流れるデータの経路（データフロー）を設定するものであり、例えば、ＡＳＩＣ等からなるロジック回路にて構成されている。
【００３８】
また、この調整回路４０には、図５に示すように、デバイスの一つが他のデバイスにアクセスする際の経路情報として、３つのシステムバス２０Ａ〜２０Ｃを適宜選択することにより実現し得る複数の経路情報が、経路情報記憶手段としての図示しないメモリに予め登録されており、調整回路４０は、その登録された経路情報に従い、デバイスの一つが他のデバイスにアクセスする際の経路（データフロー）を設定する。
【００３９】
つまり、例えば、ＰＣＩ−Ｅｘインターフェース１６に接続された情報機器が、ＰＣＩ−Ｅｘインターフェース１６を介してメモリ１２に直接アクセスする際の経路としては、ＰＣＩ−Ｅｘインターフェース１６からシステムバス２０Ａ及び２０Ｃを介してメモリ１２にアクセスする経路と、ＰＣＩ−Ｅｘインターフェース１６からシステムバス２０Ａ、２０Ｂ及び２０Ｃを介してメモリ１２にアクセスする経路との何れかを選択できる。
【００４０】
従って、この場合、そのデバイス間（ＰＣＩ−Ｅｘインターフェース１６−メモリ１２間）の経路情報として、メモリには、
（１）システムバス２０ＡにおいてマスタＭ３（つまりＰＣＩ−Ｅｘインターフェース１６）からのメモリ１２のアクセス要求に従いデコーダ２４にスレーブＳ２（つまりシステムバス２０Ｃ）を選択させ、システムバス２０ＣにおいてマスタＭ０（つまりシステムバス２０Ａ）からのメモリ１２のアクセス要求に従いデコーダ２４にスレーブＳ３（つまりメモリ１２）を選択させる第１の経路情報と、
（２）システムバス２０ＡにおいてマスタＭ３（つまりＰＣＩ−Ｅｘインターフェース１６）からのメモリ１２のアクセス要求に従いデコーダ２４にスレーブＳ１（つまりシステムバス２０Ｂ）を選択させ、システムバス２０ＢにおいてマスタＭ４（つまりシステムバス２０Ａ）からのメモリ１２のアクセス要求に従いデコーダ２４にスレーブＳ３（つまりシステムバス２０Ｃ）を選択させ、システムバス２０ＣにおいてマスタＭ１（つまりシステムバス２０Ｂ）からのメモリ１２のアクセス要求に従いデコーダ２４にスレーブＳ３（つまりメモリ１２）を選択させる第２の経路情報と、
の２種類の経路情報が登録される。
【００４１】
そして、調整回路４０は、各アプリケーションの実行時にアクセス経路毎に求めた占有率から、その占有率が特定の経路で大きくなることがないよう、上記２つの経路情報の一つを選択して、各システムバス２０Ａ〜２０Ｃのデコーダ２４の動作（つまりデコーダ制御回路２８の制御動作）を設定する。
【００４２】
以下、この調整回路４０の動作を説明する。なお、本実施形態の調整回路４０は、ロジック回路等で構成されるが、この調整回路４０は、ＣＰＵ２が実行する一つのアプリケーションとして実現することもできることから、以下の説明では、この調整回路４０の動作を解りやすく易くするために、図６に示すフローチャートを用いて説明する。
【００４３】
図６に示すように、調整回路４０では、外部から指令を受けて、ＣＰＵ２にて実行されるアプリケーション毎に、各デバイスとシステムバスとの間若しくはシステムバス間のアクセス経路の占有率を求め、その占有率が各アクセス経路で分散するようにデータフローの設定変更を行うアクセス経路設定処理と、情報処理システムの通常動作時に、ＣＰＵ２が実行するアプリケーションに応じて、最適なアクセス経路を設定するアクセス経路変更処理との２種類の処理が実行される。
【００４４】
まず、アクセス経路設定処理では、Ｓ１１０（Ｓはステップを表す）にて、ＣＰＵ２に対して予め設定された１番目のアプリケーションを実行させると共に、デコーダ２４がそのアプリケーションに対して現在設定されている動作条件で動作するようデコーダ制御回路２８の制御動作を設定する。
【００４５】
そして、続くＳ１２０では、各システムバス２０Ａ〜２０Ｃに設けられたバスモニタ回路３０を所定のモニタ期間Ｔだけ動作させ、続くＳ１３０にて、そのモニタ期間中に各システムバス２０Ａ〜２０Ｃのバスモニタ回路３０内でカウントされた各アクセス経路毎のカウント値（つまりアクセス時間）を読み込み、Ｓ１４０にて、その読み込んだ各アクセス時間のモニタ期間Ｔに対する割合を求めることで、ＣＰＵ２が１番目のアプリケーションを実行しているときに各システムバス２０Ａ〜２０Ｃにてアクセス経路として選択されるマスタ／スレーブの占有率を算出する。
【００４６】
この結果、例えば、ＣＰＵ２が、ＰＣＩ−Ｅｘインターフェース１６に接続された外部装置からメモリ１２に地図データを転送させ、その地図データに基づき道路地図表示用の演算処理を行って、道路地図を、グラフィックコントローラ１４を介してディスプレイに表示させる、道路地図表示用のアプリケーションを実行した際には、図７に示すように、ＰＣＩ−Ｅｘインターフェース１６からメモリ１２へのアクセス、ＣＰＵ２からメモリ１２へのアクセス、ＣＰＵ２からグラフィックコントローラ（ＧＣ）１４へのアクセス、グラフィックコントローラ（ＧＣ）１４からメモリ１２へのアクセス、が順次なされ、これら各アクセス時に各システムバス２０Ａ〜２０Ｃでアクセス経路として選択されたマスタ／スレーブの占有率が求められることになる。
【００４７】
このようにＳ１４０にて、各システムバス２０Ａ〜２０Ｃでアクセス経路として選択されたマスタ／スレーブの占有率が求められると、今度は、Ｓ１５０に移行して、その占有率の演算結果（モニタ結果）に基づき、各システムバス２０Ａ〜２０Ｃ間に形成されて経路変更可能な３つのアクセス経路のうちで、占有率が設定レベル（例えば５０％）を越えた過負荷経路があるか否かを判定する、過負荷経路検出手段としての処理を実行する。
【００４８】
そして、Ｓ１５０にて過負荷経路が検出されなければ、後述のＳ１９０に移行し、Ｓ１５０にて過負荷経路が検出されると、Ｓ１６０に移行して、その過負荷経路を利用するアクセス処理（データフロー）の中から、その過負荷経路の占有率が最も大きいアクセス処理（データフロー）を抽出する、経路変更可能デバイス抽出手段としての処理を実行する。
【００４９】
また、続くＳ１７０では、図５に示した経路情報に基づき、Ｓ１６０で選択されたアクセス処理で使用されるアクセス経路（データフロー）を、現在選択されているものとは異なるアクセス経路に変更する、アクセス経路変更手段としての処理を実行し、Ｓ１８０にて、その変更後のアクセス経路を、今回実行させたアプリケーションで使用するアクセス経路として内蔵メモリに記憶する。
【００５０】
具体的には、例えば、モニタ結果が、図７に示したもので、システムバス２０Ａからシステムバス２０Ｃへのアクセス経路の占有率（つまりシステムバス２０ＡのスレーブＳ２及びシステムバス２０ＣのマスタＭ０の占有率）が設定レベルを越えているときには、Ｓ１６０において、そのアクセス経路を利用するアクセス処理（図７に示すアプリケーションの１番目から３番目に実行されるアクセス処理）の中から、最も占有率が高くなっているＣＰＵ２からメモリ１２へのアクセス処理が選択される。
【００５１】
そして、Ｓ１７０では、そのアクセス処理での経路として、図５に示した「ＣＰＵ→メモリ」間の２つのアクセス経路の中から、今まで設定されていたアクセス経路「１」とは異なるもう一つのアクセス経路「２」が選択され、図８に点線で示すように、そのアクセス経路が変更されることになる。
【００５２】
またこの場合、図８の表から明らかな如く、システムバス２０Ａにおいては、スレーブＳ２へのアクセス時間が減って、スレーブＳ１へのアクセス時間が増え、システムバス２０Ｂにおいては、マスタＭ１からのアクセス時間及びスレーブＳ３へのアクセス時間が増え、システムバス２０Ｃにおいては、マスタＭ０からのアクセス時間が減って、マスタＭ１からのアクセス時間が増えることから、結果的に、各システムバス２０Ａ〜２０Ｃ間でデータ転送に使用されるアクセス経路が分散されることになる。
【００５３】
次に、Ｓ１９０では、上記Ｓ１１０〜Ｓ１８０の一連の処理を、ＣＰＵ２が実行可能な全てのアプリケーションに対して行ったか否かを判断する。そして、全アプリケーションに対して上記一連の処理が実行されていれば、当該アクセス経路設定処理を終了し、逆に、全アプリケーションに対して上記一連の処理が実行されていなければ、Ｓ２００にて、上記一連の処理を実行していないアプリケーションの一つを次回の実行アプリケーションとして選択して、Ｓ１１０に移行することで、Ｓ１１０〜Ｓ１８０の一連の処理を、その選択したアプリケーションに対して実行させる。
【００５４】
従って、本実施形態の情報処理システムによれば、ＣＰＵ２にて実行されるアプリケーション毎に、各システムバス２０Ａ〜２０Ｃでデータ転送に使用されるアクセス経路を分散させることができるようになる。なお、本実施形態においては、Ｓ１８０〜Ｓ２００の処理が、本発明の動作条件設定手段としての機能が実現される。
【００５５】
一方、情報処理システムの通常動作時に実行されるアクセス経路変更処理は、Ｓ３１０にて、ＣＰＵ２にて実行されるアプリケーションが変更されたか否かを判断し、Ｓ３１０にて、アプリケーションが変更されたと判断されると、Ｓ３２０に移行して、そのアプリケーションに対応したアクセス経路を、アクセス経路設定処理によって設定された最新のアクセス経路の中から選択し、その選択したアクセス経路に従いシステムバスでのデータ転送が行われるよう、デコーダ制御回路２８の制御動作を設定する、といった手順で実行される。
【００５６】
このため、ＣＰＵ２が実行するアプリケーションが変更された際に、そのアプリケーションに応じて、システムバス２０Ａ〜２０Ｃでのデータの転送経路が適正に変更されることになり、システムバス２０Ａ〜２０Ｃ間を接続する特定のアクセス経路の使用頻度が一時的に多くなって、データの転送効率が悪化するのを防止できる。
【００５７】
なお、本実施形態においては、図６に示したアクセス経路変更処理が、本発明のデコーダ動作切換手段に相当する。
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様をとることができる。
【００５８】
例えば、上記実施形態では、システムバスを３つに分割して、これら各バス間でのデータ転送に使用されるアクセス経路の使用頻度を分散させるようにしたが、システムバスの分割数等は３つに限定されるものではなく、システムバスを４つ又はそれ以上に分割してもよい。
【００５９】
また、例えば、上記実施形態では、システムバス２０Ｃからメモリ１２へのアクセス経路は１つであるので、この経路の占有率が高くなるが、メモリ１２へのアクセス経路が複数になるように、バスを分割し、メモリをバンク分けして、各バスからメモリへ同時にアクセスできるようにしてもよい。
【図面の簡単な説明】
【００６０】
【図１】実施形態の情報処理システム全体の構成を表すブロック図である。
【図２】システムバスの構成を表すブロック図である。
【図３】デコーダの構成及びデコーダ制御回路の動作を説明する説明図である。
【図４】バスモニタ回路の構成及びその動作を説明する説明図である。
【図５】調整回路の内蔵メモリに格納された経路情報を説明する説明図である。
【図６】調整回路の動作を説明するフローチャートである。
【図７】道路地図表示用のアプリケーション実行時のアクセス経路と各経路の占有率の演算結果を表す説明図である。
【図８】図７に示した演算結果に基づき変更されたアクセス経路と各経路の占有率の演算結果を表す説明図である。
【図９】従来の情報処理システムの構成を表すブロック図である。
【符号の説明】
【００６１】
２…ＣＰＵ、４…ＤＭＡコントローラ、６…シリアル通信コントローラ、８…シリアル通信コントローラ、８…暗号エンジン、１０…ＭＰＥＧデコーダ、１２…メモリ、１４…グラフィックコントローラ、１６…ＰＣＩ−Ｅｘインターフェース、２０，２０Ａ，２０Ｂ，２０Ｃ…システムバス、２２…アービタ、２４…デコーダ、２６…セレクタ、２８…デコーダ制御回路、３０…バスモニタ回路、３１…マスタアクセスモニタ部、３２…フリップフロップ、３３…ＯＲゲート、３４…カウンタ、３６…スレーブアクセスモニタ部、３８…カウンタ、４０…調整回路。
【図１】
2008117068.tif 000003
【図２】
2008117068.tif 000004
【図３】
2008117068.tif 000005
【図４】
2008117068.tif 000006
【図５】
2008117068.tif 000007
【図６】
2008117068.tif 000008
【図７】
2008117068.tif 000009
【図８】
2008117068.tif 000010
【図９】
2008117068.tif 000011