(57)【要約】【課題】複数のＩＰコアによりバスが共用される場合におけるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図る。【解決手段】複数のＩＰコア３０によるバスの使用権を制御する装置であって、主制御部１０と、個々のＩＰコア３０に対応して個別に設けられた副制御部２０とを備える。主制御部１０は、所定のタイム・スライスに基づいて予め定められたスケジュールにしたがって、各々のＩＰコア３０とバスとの間の接続を切り替える。副制御部２０は、主制御部１０の制御下で、このスケジュールにしたがって、ＩＰコア３０によるバスの使用を制御する。【選択図】図１
2010165175.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩＰコアによるバスの使用権を制御する装置において、
予め定められたスケジュールにしたがって、各々の前記ＩＰコアと前記バスとの間の接続を切り替える主制御部と、
個々の前記ＩＰコアに対応して個別に設けられ、前記スケジュールにしたがって、当該ＩＰコアによる前記バスの使用を制御する副制御部と、
を備える、装置。
【請求項２】
前記主制御部は、前記スケジュールにしたがって、各々の前記ＩＰコアに前記バスの使用権を割り当てて、当該ＩＰコアに対応する各々の前記副制御部に通知し、
前記副制御部は、前記主制御部からの通知にしたがって、前記ＩＰコアによるデータの送受信を実行する、
請求項１に記載の装置。
【請求項３】
前記スケジュールは、予め設定されたタイム・スライスに基づいて定められる、請求項１または請求項２に記載の装置。
【請求項４】
前記主制御部は、
各々の前記ＩＰコアと前記バスとの間の接続を切り替えるセレクタと、
プログラム制御により前記セレクタによる接続切り替えを制御するシーケンサと、
を備える、請求項１乃至請求項３のいずれかに記載の装置。
【請求項５】
前記主制御部は、前記スケジュールにしたがって、各々の前記ＩＰコアに対応する各々の前記副制御部に、前記バスを使用可能であることを通知し、
前記副制御部は、前記主制御部からの通知により特定されるタイム・スライスにおいて前記ＩＰコアによるデータの送受信を実行し、当該タイム・スライス以外では当該ＩＰコアによるデータの送受信を留保する、
請求項２に記載の装置。
【請求項６】
前記副制御部は、前記ＩＰコアによる前記バスの使用要求を受け付けて前記主制御部に通知し、
前記主制御部は、前記副制御部から前記通知を受け付けた場合に、当該副制御部に対応する前記ＩＰコアに前記バスの使用権を割り当てる、請求項２に記載の装置。
【請求項７】
複数のＩＰコアによるバスの使用権を制御する装置において、
所定のタイム・スライスに基づき予め定められたスケジュールにしたがって、各々の前記ＩＰコアと前記バスとの間の接続を切り替え、かつ、各々の当該ＩＰコアに前記バスの使用権を割り当てて通知する主制御部と、
個々の前記ＩＰコアに対応して個別に設けられ、当該ＩＰコアによる前記バスの使用要求を受け付けて前記主制御部に通知し、前記主制御部からの前記使用権の割り当てに関する前記通知を受け付けて、割り当てられた前記使用権に基づいて特定されるタイム・スライスにおいて前記ＩＰコアによるデータの送受信を実行し、当該タイム・スライス以外では当該ＩＰコアによるデータの送受信を留保する副制御部と、
を備える、装置。
【請求項８】
バス制御装置を用いて複数のＩＰコアによるバスの使用権を制御する方法において、
前記バス制御装置が、
各々の前記ＩＰコアと前記バスとの間の接続を切り替えるセレクタと、
プログラム制御により前記セレクタによる接続切り替えを制御するシーケンサと、
個々の前記ＩＰコアに対応して個別に設けられ、当該ＩＰコアによる前記バスの使用を制御する副制御回路とを備え、
前記シーケンサが、
予め定められたスケジュールにしたがって、各々の前記ＩＰコアに前記バスの使用権を割り当てるステップと、
前記バスの使用権の割り当てに基づき、前記セレクタによる接続切り替えを制御し、かつ、当該バスの使用権の割り当てを個々の前記ＩＰコアに対応する前記副制御回路に通知するステップとを含み、
前記副制御回路が、前記シーケンサからの通知にしたがって、前記ＩＰコアによるデータの送受信を実行するステップを含む、方法。
【請求項９】
前記シーケンサが前記バスの使用権の割り当てを前記副制御回路に通知する前記ステップでは、当該シーケンサは、前記スケジュールに基づき、各々の前記ＩＰコアに対応する各々の前記副制御回路に、前記バスを使用可能なタイム・スライスの情報を通知し、
前記副制御回路が前記ＩＰコアによるデータの送受信を実行する前記ステップでは、当該副制御回路は、前記シーケンサからの通知により特定されるタイム・スライスにおいて前記ＩＰコアによるデータの送受信を実行し、当該タイム・スライス以外では当該ＩＰコアによるデータの送受信を留保する、
請求項８に記載の方法。
【請求項１０】
前記副制御回路が、前記ＩＰコアによる前記バスの使用要求を受け付けて前記シーケンサに通知するステップをさらに含み、
前記シーケンサが前記バスの使用権の割り当てを前記副制御回路に通知する前記ステップでは、当該シーケンサは、前記バスの使用要求を通知した前記副制御回路に対して前記バスの使用権の割り当てを通知する、請求項８または請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＩＰコアがバスを使用する場合におけるバスの使用権を制御する装置およびその方法に関する。
【背景技術】
【０００２】
システム・バス等のバスが複数の装置（ＩＰコア）に共用されるシステムでは、バスの使用権が制御装置（バス・アービタ）により各々のＩＰコアに割り当てられる。各ＩＰコアは、制御装置に対してバスの使用権を要求する。制御装置は、ＩＰコアから要求を受け付けるたびに、ＩＰコアごとに予め設定された優先順序等の規則にしたがって調停を行ってバスの使用権を割り当てる。
【０００３】
図７は、この種のバス制御システムの構成を模式的に示す図である。
図７に示すように、制御装置（バス・アービタ）７０１および複数のＩＰコア７０２がバス７０３に接続されている。そして、制御装置７０１の制御下で各ＩＰコア７０２がバス７０３を共用する。
【０００４】
この種の従来技術として、特許文献１には、システム・バス上に複数の装置と、システム・バスのバス占有権の調停を行うバス制御装置が接続されるコンピュータ・システムにおいて、バス制御装置が、装置が接続するチャネルに対して、任意の一定時間間隔で、任意の一定量のデータ転送時間を与える機能を有する構成が開示されている。これにより、このシステムでは、従来のＩ／Ｏ装置とのデータ転送と同様に、音声及び動画像データを含むマルチメディア・データを扱うことを可能としている。
【０００５】
【特許文献１】特開平６−３３２８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
複数のＩＰコアでバスを共用する上記のシステムでは、ハードリアルタイム性の保証やバスの使用帯域の保証を明示的に行うことができなかった。これらの保証は、各ＩＰコアの間のバス占有率を調整することによってしか行うことができない。また、特定のＩＰコアに関して、長いバースト長を持つものや、バス使用権が強いものがある場合、他のＩＰコアにバスの使用権が渡り難いという問題があった。
【０００７】
本発明は、ＩＰコアによるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明は、次のような装置として実現される。この装置は、複数のＩＰコアによるバスの使用権を制御する装置であって、予め定められたスケジュールにしたがって、各々のＩＰコアとバスとの間の接続を切り替える主制御部と、個々のＩＰコアに対応して個別に設けられ、このスケジュールにしたがって、ＩＰコアによるバスの使用を制御する副制御部と、を備える。
このスケジュールは、予め設定されたタイム・スライスに基づいて定められる。
【０００９】
より詳細には、主制御部は、このスケジュールにしたがって、各々のＩＰコアにバスの使用権を割り当てて、ＩＰコアに対応する各々の副制御部に通知する。そして、副制御部は、主制御部からの通知にしたがって、ＩＰコアによるデータの送受信を実行する。
さらに、主制御部は、このスケジュールにしたがって、各々のＩＰコアに対応する各々の副制御部に、バスを使用可能であることを通知する。そして、副制御部は、主制御部からの通知により特定されるタイム・スライスにおいてＩＰコアによるデータの送受信を実行し、このタイム・スライス以外ではＩＰコアによるデータの送受信を留保する。
また、副制御部は、ＩＰコアによるバスの使用要求を受け付けて主制御部に通知する。そして、主制御部は、副制御部から通知を受け付けた場合に、副制御部に対応するＩＰコアにバスの使用権を割り当てる。
【００１０】
また本発明は、次のような方法としても実現される。この方法は、各々のＩＰコアとバスとの間の接続を切り替えるセレクタと、プログラム制御によりセレクタによる接続切り替えを制御するシーケンサと、個々のＩＰコアに対応して個別に設けられ、ＩＰコアによるバスの使用を制御する副制御回路とを備えたバス制御装置により実現される。そして、シーケンサが、予め定められたスケジュールにしたがって、各々のＩＰコアにバスの使用権を割り当てるステップと、バスの使用権の割り当てに基づき、セレクタによる接続切り替えを制御し、かつ、バスの使用権の割り当てを個々のＩＰコアに対応する副制御回路に通知するステップとを含み、副制御回路が、シーケンサからの通知にしたがって、ＩＰコアによるデータの送受信を実行するステップを含む。
【発明の効果】
【００１１】
本発明によれば、予め定められたスケジュールにしたがって各ＩＰコアにバス使用権を割り当てることにより、各ＩＰコアが使用できるバスの使用帯域を予測することができるため、ＩＰコアによるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
＜システム構成＞
図１は、本実施形態が適用されるバス制御システムの構成例を示す図である。
図１に示すように、本実施形態のバス制御システムは、バス４０の使用権の割り当てを行う主制御部１０と、主制御部１０の制御下で個々のＩＰコア３０によるバス４０の使用を制御する副制御部２０とを備える。図１に示す例では、バスを共用するＩＰコア３０は６個記載されている。以下、個々のＩＰコア３０を区別する必要がある場合は、図中の各ＩＰコア３０に付された数字を用いて、ＩＰコア３０（１）、ＩＰコア３０（４）のように記載する。また、図１に示すＩＰコア３０のうち、ＩＰコア３０（１）〜（３）はマスターＩＰであり、ＩＰコア３０（４）〜（６）はスレーブＩＰである。なお、図１においては、各ＩＰコア３０の機能を明確にするため、マスターＩＰであるＩＰコア３０とスレーブＩＰであるＩＰコア３０とを分けて図示しているが、実際には、物理的に１つのＩＰコアでありながらマスターＩＰおよびスレーブＩＰの機能を共に有するＩＰコアもある。
【００１３】
主制御部１０は、各ＩＰコア３０によるバス４０の使用のスケジュールを管理するバス・スケジューラ（シーケンサ）１１と、バス・スケジューラ１１による制御にしたがって各ＩＰコア３０とバス４０との間の接続を切り換えるマルチプレクサ（セレクタ）１２〜１４とを備える。また、副制御部２０は、ＩＰコア３０ごとに設けられたプリ・アービタ２１により構成される。以下、個々のプリ・アービタ２１を区別する必要がある場合は、図中の各プリ・アービタ２１に付されたアルファベットを用いて、プリ・アービタ２１Ａ、プリ・アービタ２１Ｄのように記載する。したがって、図示の構成においては、プリ・アービタ２１ＡとＩＰコア３０（１）、プリ・アービタ２１ＢとＩＰコア３０（２）、プリ・アービタ２１ＣとＩＰコア３０（３）、プリ・アービタ２１ＤとＩＰコア３０（４）、プリ・アービタ２１ＥとＩＰコア３０（５）、プリ・アービタ２１ＦとＩＰコア３０（６）が、それぞれ対応して設けられている。
【００１４】
バス・スケジューラ１１は、予め設定されたタイム・スライスに合わせてマルチプレクサ１２〜１４の接続を切り替える。また、バス・スケジューラ１１は、このタイムスライスに合わせてプリ・アービタ２１に対して制御信号を送信し、各ＩＰコア３０にバスの使用権を割り当てる。バス４０の使用権を割り当てる順番やタイム・スライスの設定は、バス・スケジューラ１１を制御するコントロール・プログラムにより行われる。すなわち、本実施形態では、コントロール・プログラムによるソフトウェア制御に基づいて、各ＩＰコア３０にバス４０の使用権が分配される。各ＩＰコア３０にバス４０の使用権を割り当てるためのスケジューリングは、ＲＴＯＳ（リアルタイム・オペレーティング・システム）のタイム・シェアリングと同様の考え方で行えば良い。
【００１５】
マルチプレクサ１２は、マスターＩＰであるＩＰコア３０（１）〜（３）（プリ・アービタ２１Ａ〜Ｃ）とバス４０との接続を切り替えて、ＩＰコア３０（１）〜（３）から出力されたコントロール信号をバス４０に送出する。
マルチプレクサ１３は、マスターＩＰであるＩＰコア３０（１）〜（３）とバス４０との接続を切り替えて、ＩＰコア３０（１）〜（３）から出力された書き込みデータをバス４０に送出する。
マルチプレクサ１４は、スレーブＩＰであるＩＰコア３０（４）〜（６）とバス４０との接続を切り替えて、ＩＰコア３０（４）〜（６）から読み出されたデータをバス４０に送出する。
【００１６】
プリ・アービタ２１は、バス・スケジューラ１１に対してバス４０の使用をリクエストし、バス・スケジューラ１１から制御信号を受信してバス使用権を取得する。また、プリ・アービタ２１は、バス・スケジューラ１１により与えられたバス使用権にしたがって、ＩＰコア３０によるデータの送受信を制御する。具体的には、プリ・アービタ２１は、自身に与えられたバス使用権によって使用できるタイム・スライスでのみＩＰコア３０にデータの送受信を実行させ、それ以外では、ＩＰコア３０によるデータの送受信を保留させる。
【００１７】
図２は、マスターＩＰ用のプリ・アービタ２１（図１の例ではプリ・アービタ２１Ａ〜Ｃ）の構成を示す図である。
図２に示すように、マスターＩＰ用のプリ・アービタ２１は、バス・リクエスト制御ロジック２１１と、ＡＮＤ回路２１２、２１３、２１４とを備える。
【００１８】
バス・リクエスト制御ロジック２１１は、バス・スケジューラ１１との間で制御信号をやり取りする。具体的には、例えば、バス・スケジューラ１１にバス４０の使用予告を送信し、バス・スケジューラ１１からバス４０の使用許可を受信する。また、バス・リクエスト制御ロジック２１１は、ＩＰコア３０にクロック制御信号を送信する。また、バス・リクエスト制御ロジック２１１は、ＩＰコア３０による信号の送受信を制御するための制御信号を出力する。
【００１９】
ＡＮＤ回路２１２は、ＩＰコア３０から出力されたコントロール信号とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、バス４０へコントロール信号を出力する。
ＡＮＤ回路２１３は、ＩＰコア３０から出力されたバス４０の使用要求を通知する信号（バス・リクエスト信号）とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、バス・スケジューラ１１へバス・リクエスト信号を出力する。
ＡＮＤ回路２１４は、バス・スケジューラ１１から出力されたバス４０の使用許可を通知する信号（バス・グラント信号）とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、ＩＰコア３０へバス・グラント信号を出力する。
【００２０】
図３は、スレーブＩＰ用のプリ・アービタ２１（図１の例ではプリ・アービタ２１Ｄ〜Ｆ）の構成を示す図である。
図３に示すように、スレーブＩＰ用のプリ・アービタ２１は、バス・リクエスト制御ロジック２１１と、ＡＮＤ回路２１５、２１６、２１７とを備える。バス・リクエスト制御ロジック２１１は、図２に示したマスターＩＰ用のプリ・アービタ２１におけるバス・リクエスト制御ロジック２１１と同様である。
【００２１】
ＡＮＤ回路２１５は、バス４０から取得したコントロール信号とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、ＩＰコア３０へコントロール信号を出力する。
ＡＮＤ回路２１６は、ＩＰコア３０から出力されたバス・グラント信号とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、バス・スケジューラ１１へバス・グラント信号を出力する。
ＡＮＤ回路２１７は、バス・スケジューラ１１から出力されたバス・リクエスト信号とバス・リクエスト制御ロジック２１１から出力された制御信号の論理積を取り、ＩＰコア３０へバス・リクエスト信号を出力する。
【００２２】
＜バス制御システムの動作＞
次に、本実施形態のバス制御システムの動作について説明する。
図４は、バス・スケジューラ１１によるバス使用権の割り当ての動作を示すフローチャートである。
バス・スケジューラ１１は、まず、マスターＩＰであるＩＰコア３０を識別する番号である変数Ｎ（図１に示した例ではＮ＝１〜３）の値を初期化（Ｎ＝１）する（ステップ４０１）。そして、ＩＰコア３０（Ｎ）からバス４０の使用要求がなされているか否かを判断する（ステップ４０２）。具体的には、バス・スケジューラ１１は、ＩＰコア３０（Ｎ）に割り当てられたタイム・スライスにおいて、ＩＰコア３０（Ｎ）に対応するプリ・アービタ２１に制御信号を送信する。そして、プリ・アービタ２１のバス・リクエスト制御ロジック２１１から出力される制御信号によってＡＮＤ回路２１３からバス・リクエスト信号が出力されるか否かを識別する。バス・スケジューラ１１は、このバス・リクエスト信号を受け付けた場合に、ＩＰコア３０（Ｎ）からバス４０の使用要求がなされていると判断する。
【００２３】
バス４０の使用要求がなされていない場合、バス・スケジューラ１１は、変数Ｎの値を１加算する（ステップ４０６）。そして、変数Ｎの値がＩＰコア３０の数（最大値）を越えていなければ（ステップ４０７でＮｏ）、ステップ４０６で更新された変数Ｎの値でステップ４０２の判断を行う。一方、変数Ｎの値がＩＰコア３０の数（最大値）を越えた場合は（ステップ４０７でＹｅｓ）、ステップ４０１に戻って変数Ｎの値を初期化し、ステップ４０２の判断を行う。すなわち、バス・スケジューラ１１は、各ＩＰコア３０を循環的に切り替えながら、バス４０の使用要求がなされているか否かを順次判断するループ処理を行う。
【００２４】
ステップ４０２でＩＰコア３０（Ｎ）からバス４０の使用要求がなされている場合、バス・スケジューラ１１は、ＩＰコア３０（Ｎ）に対してバス４０の使用許可（バス使用権）を与える（ステップ４０３）。具体的には、バス・スケジューラ１１は、ＩＰコア３０（Ｎ）に対応するプリ・アービタ２１にバス・グラント信号とバス・リクエスト制御ロジック２１１の制御信号を送信する。この制御信号により、バス・リクエスト制御ロジック２１１は、ＩＰコア３０（Ｎ）へクロック制御信号を送信し、ＡＮＤ回路２１４からＩＰコア３０（Ｎ）へバス・グラント信号を出力する。
【００２５】
また、バス・スケジューラ１１は、ＩＰコア３０（Ｎ）に対応するプリ・アービタ２１のバス・リクエスト制御ロジック２１１を制御してＩＰコア３０（Ｎ）のコントロール信号を出力可能とし、かつマルチプレクサ１２〜１４の接続を、ＩＰコア３０（Ｎ）によるバス４０を使用したデータ転送が可能となるように切り替える。
【００２６】
ところで、バス・スケジューラ１１がＩＰコア３０（Ｎ）に対してバス４０の使用許可を与えるためには、ＩＰコア３０（Ｎ）のアクセス対象であるスレーブＩＰのＩＰコア３０がアクセスを受け付けられることを認識する必要がある。そこで、バス・スケジューラ１１は、このＩＰコア３０に対応するプリ・アービタ２１を制御して、このＩＰコア３０からバス・グラント信号を出力させる。ＩＰコア３０からバス・グラント信号を取得したならば、このＩＰコア３０はアクセスを受け付けられる状態であるので、ＩＰコア３０（Ｎ）のプリ・アービタ２１およびマルチプレクサ１２〜１４に対して上記の動作を行ってバス使用権を与える。この、ＩＰコア３０（Ｎ）からのリクエストを受け付けてアクセス対象のＩＰコア３０の状態を確認し、ＩＰコア３０（Ｎ）にバス使用権を与えるまでの動作は、いわゆるアービトレーション・サイクルである。本実施形態において、このアービトレーション・サイクルは、ＩＰコア３０（Ｎ）によるバス４０を使用したアクセスとは別個に行われており、タイム・スライスの経過によって中断はされない。
【００２７】
次に、バス・スケジューラ１１は、データの転送サイクルとしてＩＰコア３０（Ｎ）に与えられたタイム・スライスが終了したか否かを判断する（ステップ４０４）。そして、ＩＰコア３０（Ｎ）のタイム・スライスが終了したならば、ＩＰコア３０（Ｎ）に与えられたバス４０の使用許可を解除する（ステップ４０５）。具体的には、バス・スケジューラ１１は、ＩＰコア３０（Ｎ）に対応するプリ・アービタ２１にバス・リクエスト制御ロジック２１１の制御信号を送信する。そして、例えばＩＰコア３０（Ｎ）へのクロック制御信号によりＩＰコア３０（Ｎ）の動作クロックを停止させて、ＩＰコア３０（Ｎ）からのデータ転送を停止させる。
【００２８】
この後、バス・スケジューラ１１は、変数Ｎの値を１加算する（ステップ４０６）。そして、変数Ｎの値がＩＰコア３０の数（最大値）を越えていなければ（ステップ４０７でＮｏ）、ステップ４０６で更新された変数Ｎの値でステップ４０２の判断を行う。一方、変数Ｎの値がＩＰコア３０の数（最大値）を越えた場合は（ステップ４０７でＹｅｓ）、ステップ４０１に戻って変数Ｎの値を初期化し、ステップ４０２の判断を行う。
【００２９】
ここで、再度図１を参照し、バス・スケジューラ１１によるバス使用権の割り当ての動作について、さらに具体的に説明する。
図１に示すＩＰコア３０（１）がバス４０の使用要求（リクエスト）を行ったものとする。また、ＩＰコア３０（１）がバス４０を使用して行う動作は、ＩＰコア３０（４）へのデータ書き込みであるものとする。
【００３０】
ＩＰコア３０（１）に対応するプリ・アービタ２１（Ａ）は、バス・スケジューラ１１によりバス使用権を与えられるまで、ＩＰコア３０（１）のリクエストを保留し続ける。また、プリ・アービタ２１（Ａ）は、バス・リクエスト信号をバス・スケジューラ１１に送信し、リクエストがあることを通知する。これにより、図４のフローチャートにおけるステップ４０２でＹｅｓの状態となった。
【００３１】
バス・スケジューラ１１は、ＩＰコア３０（１）にタイム・スライスを割り当てる順番になったならば、プリ・アービタ２１（Ａ）にバス使用権を与える。そして、マルチプレクサ１２、１３を切り替え、ＩＰコア３０（１）からのコントロール信号をバス４０へ伝播させる。バス４０へ伝播されたコントロール信号に含まれるアドレス信号によって、アクセス対象がＩＰコア３０（４）に特定されるので、ＩＰコア３０（４）が応答し、データ書き込みが開始される。なお、ここではアクセスの内容がデータ書き込みであるため、マルチプレクサ１２、１３の接続の切り替えが行われたが、データの読み出しが行われる場合には、マルチプレクサ１４の接続の切り替えも行われる。
【００３２】
バス・スケジューラ１１は、ＩＰコア３０（１）のバス使用権として割り当てたタイム・スライスの消費状況を監視する。そして、与えられたバス使用権の間にＩＰコア３０（１）からＩＰコア３０（４）へのアクセスが終了しない場合は、ＩＰコア３０（１）によるアクセスを一旦停止させる。これは、図４のステップ４０５において説明したように、例えば、バス・スケジューラ１１がプリ・アービタ２１（Ａ）を制御して、ＩＰコア３０（１）の動作クロックを停止させることによって行われる。
【００３３】
バス・スケジューラ１１は、ＩＰコア３０（１）のアクセスを停止させた後、バス使用権を次のＩＰコア３０（２）に切り替える。このとき、ＩＰコア３０（２）がバス４０の使用をリクエストしていれば、ＩＰコア３０（２）にバス使用権が与えられ、ＩＰコア３０（２）によるアクセスが実行される。ＩＰコア３０（２）がバス４０の使用をリクエストしていない場合、順次、次のＩＰコア３０へバス使用権が切り替えられる。そして、ＩＰコア３０（１）以外のＩＰコア３０がバス４０の使用をリクエストしていない場合、再度ＩＰコア３０（１）にバス使用権が与えられて、ＩＰコア３０（１）によるアクセスが再開（継続）されることとなる。
【００３４】
＜バス使用権の割り当て方法＞
次に、本実施形態による各ＩＰコア３０へのバス使用権の割り当て方法について説明する。
図５は、本実施形態によるバス４０の使用状況の例を示す図である。また、図６には、本実施形態と比較するため、図５と同様にＩＰコア３０からバス４０の使用要求がなされた場合の、従来のバス制御システムによるバス４０の使用状況の例を示す。
【００３５】
図５において、各ＩＰコア３０にデータの転送サイクルとして割り当てられるタイム・スライスは、２であるものとする。すなわち、データ転送時には、タイム・スライスの２つ分を１単位として、この単位ごとにバス使用権の切り替えが可能となる。また、同図において、ＩＰコア３０に対して、バス４０の使用要求を行った順にＩＰコア（１）〜（４）という番号を付して区別する。なお、これらの番号は、図５および図６の説明において便宜的に付したものであり、図１に示した番号を意味していない。例えば、図１のＩＰコア３０（４）はスレーブＩＰとして記載されているが、図５および図６のＩＰコア（４）はバス使用権のリクエストを行うマスターＩＰであり、図１のＩＰコア３０（４）とは異なっている。
【００３６】
さらに、同図において、各ＩＰコア３０による転送サイクルのうち、データ転送の準備（転送先のＩＰコア３０の状況確認等）のためのアービトレーション・サイクルを「Ａｒｂ」、実際にデータを転送するデータ転送サイクルを「Ｄａｔａ」と記載し、ＩＰコア（１）〜（４）に対応させて１〜４の数字を付している。各ＩＰコア３０からバス・スケジューラ１１へバス・リクエスト信号が転送されるリクエスト・サイクルは「Ｒｅｑ」と記載し、他の転送サイクルと同様に１〜４の数字を付している。
【００３７】
図５に示す例では、まずＩＰコア（１）からのリクエスト（バス４０の使用要求）に応じて、ＩＰコア（１）にバス４０の使用権が与えられ、アービトレーション・サイクル「Ａｒｂ１」の後、データ転送サイクル「Ｄａｔａ１」が行われる。このデータ転送は、タイム・スライス１つ分で終了する（図５において「ＩＰコア（１）による転送サイクル」と記載された箇所）。
【００３８】
次に、ＩＰコア（２）からリクエストがなされる。このとき、ＩＰコア（１）による転送サイクルは終了しているので、リクエストに応じて、ＩＰコア（２）にバス４０の使用権が与えられ、アービトレーション・サイクル「Ａｒｂ２」の後、データ転送サイクル「Ｄａｔａ２」が行われる。このデータ転送は、タイム・スライスの８つ分、すなわち４単位を要する。
【００３９】
ＩＰコア（２）についてタイム・スライスの１単位分のデータ転送（図５において「ＩＰコア（２）による転送サイクル１」と記載された箇所）が終了した時点で、ＩＰコア（３）からリクエストがなされたものとする。すると、タイム・スライスは１単位ごとに各ＩＰコア３０に割り当てられるため、バス使用権はＩＰコア（３）に切り替わる。図５において太い矢印で示された位置でバス使用権の切り替えが行われる。
【００４０】
ＩＰコア（３）によるデータ転送は、タイム・スライスの２つ分、すなわち１単位で終了する（図５において「ＩＰコア（３）による転送サイクル」と記載された箇所）。この時点で、他のＩＰコア３０からリクエストがなされていないため、バス・スケジューラ１１は、未だ実行すべきデータ転送が残っているＩＰコア（２）にバス使用権を与える。図５において破線の矢印で示された位置でバス使用権の切り替えが行われる。このバス使用権の切り替えは、ＩＰコア（２）からのリクエストによるものではなく、バス・スケジューラ１１のスケジューリングによるものである。そのため、アービトレーション・サイクルを経ずに、直ちにＩＰコア（２）のデータ転送サイクルに切り替わる。
【００４１】
ＩＰコア（２）にバス使用権が与えられて１単位分のデータ転送が行われると、バス・スケジューラ１１は、バス使用権の切り替えを行う。しかし、この時点では他のＩＰコア３０からリクエストはなされておらず、データ転送を中断されているＩＰコア３０もないため、再びＩＰコア（２）にバス使用権が与えられる。この結果、実際にはバス使用権は切り替わらず、ＩＰコア（２）によるデータ転送が継続されることとなる（図５において「ＩＰコア（２）による転送サイクル２、３」と記載された箇所）。
【００４２】
ＩＰコア（２）による２単位分のデータ転送が終了した時点で、ＩＰコア（４）からリクエストがなされたものとする。すると、タイム・スライスは１単位ごとに各ＩＰコア３０に割り当てられるため、バス使用権はＩＰコア（４）に切り替わる。このバス使用権の切り替えは、ＩＰコア（４）のリクエストによるものであるため、図５において太い矢印で示されている。このデータ転送は、タイム・スライスの４つ分、すなわち２単位を要する。
【００４３】
ＩＰコア（４）にバス使用権が与えられて１単位分のデータ転送が行われると、バス・スケジューラ１１は、バス使用権の切り替えを行う。この時点ではＩＰコア（２）によるデータ転送が残っているため、ＩＰコア（２）にバス使用権が切り替わる（図５において「ＩＰコア（４）による転送サイクル１」、「ＩＰコア（２）による転送サイクル４」と記載された箇所）。このバス使用権の切り替えは、バス・スケジューラ１１のスケジューリングによるものであるため、図５において破線の矢印で示されている。
【００４４】
ＩＰコア（２）にバス使用権が与えられて１単位分のデータ転送が行われると、バス・スケジューラ１１は、バス使用権の切り替えを行う。この時点ではＩＰコア（４）によるデータ転送が残っているため、ＩＰコア（４）にバス使用権が切り替わる（図５において「ＩＰコア（４）による転送サイクル２」と記載された箇所）。このバス使用権の切り替えは、バス・スケジューラ１１のスケジューリングによるものであるため、図５において破線の矢印で示されている。
【００４５】
以上の動作によって、ＩＰコア（２）およびＩＰコア（４）によるデータ転送が終了する。ここで、ＩＰコア（２）およびＩＰコア（４）によるデータ転送がさらに多くのタイム・スライスを要する場合、さらに他のＩＰコア３０からリクエストがなされない限り、１単位分のタイム・スライスごとに、ＩＰコア（２）によるデータ転送とＩＰコア（４）によるデータ転送とが交互に行われることとなる。
【００４６】
以上のように、本実施形態によれば、各ＩＰコア３０にタイム・スライスが割り当てられ、一定の単位ごとにバス使用権の切り替えが行われるため、スケジュールされた時にプリ・アービタ２１により転送が保留されているデータがあれば、バス使用権が切り替わって必ず転送が行われる。タイム・スライスにより転送サイクルが保証されるので、ハードリアルタイム性が保証されると共に、各ＩＰコア３０に割り当てられたバス４０のバンド（バスの使用帯域）幅が確保される。
【００４７】
これに対し、図６に示す従来のバス制御方法では、一度他のＩＰコア３０にバス使用権を渡してしまうと、次にいつバス使用権を与えられるかわからない。そのため、自身の転送サイクルの実行中に他のＩＰコア３０からリクエストがなされても、割り込みを許すことはできない。そのため、図６において、ＩＰコア（３）は、リクエストを行っても直ちにデータ転送を行うことはできず、ＩＰコア（２）による転送サイクルが全て終了した後にバス使用権を与えられている。ＩＰコア（４）も同様に、ＩＰコア（３）による転送サイクルが全て終了した後にバス使用権を与えられている。そのため、ＩＰコア（３）およびＩＰコア（４）のデータ転送においては、ハードリアルタイム性やバンド幅の保証が困難である。
【００４８】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、副制御部２０を構成するプリ・アービタ２１は、バス・スケジューラ１１の制御下で個々のＩＰコア３０によるアクセスの実行および保留を制御するものであれば良く、その具体的な回路構成は図２、３に示したものに限らない。その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４９】
【図１】本実施形態が適用されるバス制御システムの構成例を示す図である。
【図２】本実施形態のマスターＩＰ用のプリ・アービタの構成を示す図である。
【図３】本実施形態のスレーブＩＰ用のプリ・アービタの構成を示す図である。
【図４】本実施形態のバス・スケジューラによるバス使用権の割り当ての動作を示すフローチャートである。
【図５】本実施形態によるバスの使用状況の例を示す図である。
【図６】従来のバス制御システムによるバスの使用状況の例を示す図である。
【図７】従来のバス制御システムの構成を模式的に示す図である。
【符号の説明】
【００５０】
１０…主制御部、１１…バス・スケジューラ、１２、１３、１４…マルチプレクサ、２０…副制御部、２１…プリ・アービタ、３０…ＩＰコア、４０…バス
【図１】
2010165175.tif 000003
【図２】
2010165175.tif 000004
【図３】
2010165175.tif 000005
【図４】
2010165175.tif 000006
【図５】
2010165175.tif 000007
【図６】
2010165175.tif 000008
【図７】
2010165175.tif 000009