(57)【要約】【課題】マスタのリアルタイム性を比較的小規模な回路で保証することを目的とする。【解決手段】周期性、リアルタイム性を有するマスタが発行するスレーブへのアクセス要求がスレーブで処理されるまでに要するレイテンシが、リアルタイム性を有さないマスタが発行するアクセス要求の影響で増加する可能性がある場合に、スレーブの有するアクセス要求格納手段への入力を制限することで、レイテンシを最短化し、リアルタイム性を保証する情報処理装置。【選択図】図１
2008097462.tif 000002
【特許請求の範囲】
【請求項１】
周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも１つ以上のマスタと、
前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、
前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置において、
前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が、他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出手段と、
前記レイテンシ増加検出手段が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定手段を有することを特徴とする情報処理装置。
【請求項２】
周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも１つ以上のマスタと、前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置における処理方法であって、
前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出工程と、
前記レイテンシ増加検出工程が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定工程を有することを特徴とする情報処理方法。
【請求項３】
請求項２に記載の方法の各工程をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイム性を有するマスタを含む少なくとも１つ以上のマスタとスレーブが相互接続された情報処理装置において、マスタのリアルタイム性を保証する情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、マスタのリアルタイム性を保証するために、リアルタイム性を有するマスタに対して、マスタ・スレーブ間を接続するバスなどの相互接続網のアービトレーションにおいて最高優先度を与える手法をとっている。これにより、他マスタから発行されたアクセス要求と競合した場合であっても、リアルタイム性を有するマスタは他マスタに対して優先的にバス権を獲得することが可能である。リアルタイム性を有するマスタに優先的にバスを使用させることで、バス権獲得までの時間を短縮し、マスタのリアルタイム性を保証している。また、アービトレーション時だけではなく、スレーブにおいてもリアルタイム性を有するマスタを優先する手法がとられる。この手法では、スレーブがマスタからのアクセス要求を格納するためのリオーダーキューを持っている場合に、キューに格納されているアクセス要求のうちリアルタイム性が厳しいアクセス要求から優先して処理していくものである。これにより、キューに入力されてからスレーブの処理を待つ時間を短縮することが可能になり、マスタのリアルタイム性を保証することが可能になる。
【０００３】
【特許文献１】特開２００３−１８６８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のように、従来はリアルタイム性を有するマスタに優先的にバスを使用させることで、バス権獲得までの時間を短縮し、マスタのリアルタイムを保証している。しかし、リアルタイム性を有するマスタがアクセス要求を発行しない期間は、バスの利用効率を向上させるために、他マスタがスレーブにアクセスすることが許可されている。そのため、リアルタイム性を有するマスタがアクセス要求を発行した際に、図５（ａ）のようにスレーブの有するキューは、他マスタが発行したアクセス要求で占有されることがある。ここでのスレーブはメモリコントローラとしている。
【０００５】
リアルタイム性を有するマスタが発行するメモリアクセス要求がメモリコントローラのキューに格納されるのは、図５（ｂ）のようにメモリコントローラがキューに入っている他マスタからのメモリアクセス要求を処理し、キューに空ができた後である。また、メモリコントローラのキューがリオーダーキューでない場合は、図５（ｃ）のタイミングでメモリアクセスが開始される。この場合、メモリアクセスレイテンシは他マスタが発行するメモリアクセスの影響によりＬ１分増加してしまう。マスタの発行するメモリアクセス要求が図５（ｃ）の時刻Ｄまでに処理されることが要求されている場合、Ｌ１分のレイテンシ増加により、リアルタイム性を保証することはできない。
【０００６】
マスタのリアルタイム性を保証する他の手法としては、リアルタイム性を有するマスタがバスをロックする手法もある。しかし、キューを独占することが可能である一方で、他マスタはバスを使用できないために、リアルタイム性を有さないマスタの効率を大幅に低下させている。
【０００７】
次に、メモリコントローラがメモリアクセス要求を格納するリオーダーキューを持っている場合である。この場合は、図５（ｃ）のように、リアルタイム性を有するマスタからのメモリアクセス要求はリオーダーキューへ格納されるとすぐにスレーブによって処理が開始される。よって、発行されてから最短で処理される場合と比較しても、リオーダーキューの空待ちに必要としたＬ２分のみのレイテンシ増加となっている。しかし、図５（ｃ）中の時刻Ｄまでに処理されるように厳しく要求されていた場合は、リアルタイム性を保証することはできない。また、リアルタイム性が厳しいメモリアクセス要求から優先して処理するため、リオーダーキューを利用することになるが、リオーダーキューの制御は大変複雑であり、回路規模が大きくなるという問題がある。
【０００８】
以上のように、実際にリアルタイム性を保証するためには、バスのアービトレーションだけではなく、スレーブの状態も考慮する必要がある。また、リオーダーキューのように比較的規模の大きい回路を必要としない実現方法も必要とされている。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも１つ以上のマスタと、前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置に関し、前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が、他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出手段と、前記レイテンシ増加検出手段が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定手段を有することを特徴とする情報処理装置等、を提供する。
【発明の効果】
【００１０】
本発明では、リアルタイム性を有するマスタが発行するアクセス要求を最小レイテンシで処理できるようにスレーブのキューに格納されるマスタを限定する。これにより、マスタのリアルタイム性を比較的小規模な回路で保証することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施例について図面を用いて詳細に説明する。図１に本発明の実施形態についてシステム構成の一例を示す。図１は本発明の実施例を示す図である。
【００１２】
情報処理装置１９は、マスタ１０、１１、１２、１３と、スレーブであるメモリコントローラ１４、メモリ１５と、アービタ１６と、レイテンシ増加検出手段１７と、アクセス要求格納限定手段１８を有する。メモリコントローラはキュー２０を有する。マスタ１０はリアルタイム性を有する。アービタ１６はマスタ１０を最高優先度、他マスタ１１、１２、１３はラウンドロビンでアービトレーションする。
【００１３】
図２は本発明の第一の実施例におけるレイテンシ増加検出手段１７とアクセス要求格納限定手段１８の詳細である。
【００１４】
レイテンシ増加検出手段１７には、マスタ１０のメモリアクセス要求発行周期を設定する要求発行周期格納レジスタ２１が設けられている。また、リード・ライト各々についてアービタからメモリアクセス開始までの最大・最小レイテンシを設定するレイテンシ格納レジスタ２２、２３、２４及び２５が設けられている。また、アービタ１６が選択した他マスタからのメモリアクセス要求が次にマスタ１０が発行するメモリアクセス要求のレイテンシを増加させるかを判定し、マスタ１０へのバス許可信号１０１がアサートされるとタイマを起動する判定手段２６が設けられている。
【００１５】
また、判定手段２６により、レイテンシが増加すると判定された場合に、アービタ１６のバス許可信号１０１、１１１、１２１、１３１をマスクするバス許可信号マスク手段２７が設けられている。バス許可信号マスク手段２７は、それ以外の場合には、バス許可信号１０１、１１１、１２１、１３１をそのままマスク後バス許可信号に接続する。また、判定手段２６により起動されると、ゼロから要求発行周期格納レジスタ２１の値まで時間を計測するタイマ２８が設けられている。また、判定手段２６により、レイテンシが増加すると判定された場合に、アクセス要求格納限定信号１７０をアサート（Ｈｉｇｈアクティブ）するアクセス要求格納限定通知手段２９が設けられている。アクセス要求格納限定通知手段２９は、タイマ２８の値が要求発行周期格納レジスタ２１の値と等しい場合に、アクセス要求格納限定信号１７０をデアサートする。
【００１６】
アクセス要求格納限定手段１８は、アクセス要求格納限定手段１７から出力されるアクセス要求格納限定信号１７０とキューがフルかを示すキューフル信号１８０の論理和をとる。
【００１７】
信号１００はバスである。信号１０１、１１１、１２１、１３１は、アービタ１６の出力であり、各マスタ１０、１１、１２、１３のバスアービトレーション結果を示すバス許可信号である。信号１０２、１１２、１２２、１３２は、バス許可信号マスク手段２７がバス許可信号１０１、１１１、１２１、１３１を判定手段２６の結果に基づいてマスクしたマスク後バス許可信号である。
【００１８】
信号１９０は、アービタ１６が選択した他マスタからのメモリアクセス要求が次にマスタ１０が発行するメモリアクセス要求のレイテンシを増加させるかを判定手段２６が判定した結果（レイテンシ増加なら１、それ以外は０）を示す判定結果信号である。信号１７０は、アクセス要求格納限定手段２９が判定手段２６に基づいてキュー２０に格納されるメモリアクセス要求を限定するためのアクセス要求格納限定信号である。信号１８０はキューがフルであることを示すキューフル信号であり、信号１６０はアービタ１６のアービトレーションの開始を禁止するアービトレーション不許可信号である。
【００１９】
次に、この情報処理装置１９の動作について、図３を用いて説明する。マスタ１０はデッドラインを有し、Ｔ周期でメモリアクセス要求を発行する。このメモリアクセス要求発行周期Ｔは、レイテンシ増加検出手段１７の要求発行周期格納レジスタ２１に設定される。また、リード・ライト各々について、アービタ１６で許可されてからメモリアクセス開始までの最大・最小レイテンシがレイテンシ格納レジスタ２２、２３、２４及び２５に設定される。
【００２０】
最初、時刻ｔ０においてマスタ１０が発行したメモリリード要求がアービタ１６により選択され、バス許可信号１０１がアサートされる。判定手段２６は、図４のフローチャートに従い、バス許可信号１０１のアサート後、タイマ２８を起動し、以後判定に用いるパラメータを初期化する。また、バス許可信号マスク手段２７は判定結果信号１９０が０であるため、バス許可信号１０１をマスクせずに、マスク後バス許可信号１０２に接続する。
【００２１】
次に、時刻ｔ１でマスタ１１からのメモリライト要求がアービタ１６により選択され、バス許可信号１１１がアサートされる。マスタ１０以外のマスタからのメモリアクセス要求がアービタ１６で選択されると、判定手段２６は、図４のフローチャートに基づく判定を行う。即ち、選択された他マスタからのメモリアクセス要求が次にマスタ１０が発行するメモリアクセス要求のレイテンシを増加させるかを判定する。判定結果より、マスタ１０からのライトアクセス要求のメモリアクセス終了時間はｔ４となる。よって、次にマスタ１０が発行するメモリアクセス要求のレイテンシに影響を与えないため、判定結果信号１９０は０となる。バス許可信号マスク手段２７は判定結果信号１９０が０であるため、バス許可信号１１１をマスクせずに、マスク後バス許可信号１１２に接続する。
【００２２】
時刻ｔ２では、マスタ１２が発行するメモリリード要求がアービタ１６により選択され、バス許可信号１２１がアサートされる。判定手段２６が計算したメモリアクセス終了時間がｔ６となるため、判定結果信号１９０は０となる。バス許可信号マスク手段２７は判定結果信号１９０が０であるため、バス許可信号１２１をマスクせずに、マスク後バス許可信号１２２に接続する。
【００２３】
最後に、時刻ｔ３でマスタ１３が発行したメモリリード要求がアービタ１６で選択され、バス許可信号１３１がアサートされる。判定手段２６の計算したメモリアクセス終了時間はｔ８となり、次にマスタ１０が発行するメモリアクセス要求のレイテンシを増加させると判定される。この場合、判定結果信号１９０は１となり、バス許可信号マスク手段２７はバス許可信号１３１をマスクし、マスク後バス許可信号１３２に接続する。また、判定結果信号１９０が１になると、アクセス要求格納限定通知手段２９はアクセス要求格納限定信号１７０をアサートする。アクセス要求格納限定手段１８はレイテンシ増加検出手段１７から出力されるアクセス要求格納限定信号１７０とキュー２０がフルであることを示すキューフル信号１８０の論理和をとる。これにより、メモリコントローラ１４のキューがフルでない場合でも、アクセス要求格納限定信号１７０がアサートされるとアービトレーション不許可信号１６０はアサートされ、アービタ１６はアービトレーションを開始しない。
【００２４】
時刻ｔ７において、タイマ２８の値は要求発行周期格納レジスタ２１の値と等しくなり、アクセス要求格納限定通知手段２９はアクセス要求格納限定信号１７０をデアサートする。これにより、アービトレーション不許可信号１６０はデアサートされ、アービトレーションが開始される。また、時刻ｔ７ではマスタ１０からのメモリリード要求が発行されるため、アービトレーション再開直後にマスタ１０からのメモリリード要求がアービタ１６により選択される。アービタ１６により選択されると、マスタ１０からのメモリリード要求はキューの空き待ちや前のメモリアクセスによるレイテンシの増加を発生させることなく、メモリコントローラ１４で処理される。
【００２５】
以上、実施例を用いて本発明を説明したが、本発明は実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
【００２６】
また、これらの本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施例を示す図である。
【図２】本発明の実施例におけるレイテンシ増加検出手段とアクセス要求格納限定手段の詳細を示す図である。
【図３】本発明の実施例における情報処理装置の動作を示す図である。
【図４】本発明の実施例における判定手段のフローチャートである。
【図５】固定優先度アービトレーションによるリアルタイム性保証における課題を示す図である。
【符号の説明】
【００２８】
１０：マスタ(デッドライン設定有)
１１：マスタ(デッドライン設定無)
１２：マスタ(デッドライン設定無)
１３：マスタ(デッドライン設定無)
１４：メモリコントローラ
１５：メモリ
１６：アービタ
１７：レイテンシ増加検出手段
１８：アクセス要求格納限定手段
１９：情報処理装置
２０：キュー
２１：周期格納レジスタ
２２：レイテンシ格納レジスタ（ＲＥＡＤ  Ｍａｘ）
２３：レイテンシ格納レジスタ（ＲＥＡＤ  Ｍｉｎ）
２４：レイテンシ格納レジスタ（ＷＲＩＴＥ  Ｍａｘ）
２５：レイテンシ格納レジスタ（ＷＲＩＴＥ  Ｍｉｎ）
２６：判定手段
２７：バス許可信号マスク手段
２８：タイマ
２９：アクセス要求格納限定通知手段
１００：バス
１０１：バス許可信号（マスタ１０）
１１１：バス許可信号（マスタ１１）
１２１：バス許可信号（マスタ１２）
１３１：バス許可信号（マスタ１３）
１０２：マスク後バス許可信号（マスタ１０）
１１２：マスク後バス許可信号（マスタ１１）
１２２：マスク後バス許可信号（マスタ１２）
１３２：マスク後バス許可信号（マスタ１３）
１６０：アービトレーション不許可信号
１７０：アクセス要求格納限定信号
１８０：キューフル信号
１９０：判定結果信号
【図１】
2008097462.tif 000003
【図２】
2008097462.tif 000004
【図３】
2008097462.tif 000005
【図４】
2008097462.tif 000006
【図５】
2008097462.tif 000007