JP2008097462A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2008097462A JP2008097462A JP2006280568A JP2006280568A JP2008097462A JP 2008097462 A JP2008097462 A JP 2008097462A JP 2006280568 A JP2006280568 A JP 2006280568A JP 2006280568 A JP2006280568 A JP 2006280568A JP 2008097462 A JP2008097462 A JP 2008097462A
- Authority
- JP
- Japan
- Prior art keywords
- master
- access request
- real
- latency
- slave
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】マスタのリアルタイム性を比較的小規模な回路で保証することを目的とする。
【解決手段】周期性、リアルタイム性を有するマスタが発行するスレーブへのアクセス要求がスレーブで処理されるまでに要するレイテンシが、リアルタイム性を有さないマスタが発行するアクセス要求の影響で増加する可能性がある場合に、スレーブの有するアクセス要求格納手段への入力を制限することで、レイテンシを最短化し、リアルタイム性を保証する情報処理装置。
【選択図】図1
【解決手段】周期性、リアルタイム性を有するマスタが発行するスレーブへのアクセス要求がスレーブで処理されるまでに要するレイテンシが、リアルタイム性を有さないマスタが発行するアクセス要求の影響で増加する可能性がある場合に、スレーブの有するアクセス要求格納手段への入力を制限することで、レイテンシを最短化し、リアルタイム性を保証する情報処理装置。
【選択図】図1
Description
本発明は、リアルタイム性を有するマスタを含む少なくとも1つ以上のマスタとスレーブが相互接続された情報処理装置において、マスタのリアルタイム性を保証する情報処理装置、情報処理方法及びプログラムに関する。
従来、マスタのリアルタイム性を保証するために、リアルタイム性を有するマスタに対して、マスタ・スレーブ間を接続するバスなどの相互接続網のアービトレーションにおいて最高優先度を与える手法をとっている。これにより、他マスタから発行されたアクセス要求と競合した場合であっても、リアルタイム性を有するマスタは他マスタに対して優先的にバス権を獲得することが可能である。リアルタイム性を有するマスタに優先的にバスを使用させることで、バス権獲得までの時間を短縮し、マスタのリアルタイム性を保証している。また、アービトレーション時だけではなく、スレーブにおいてもリアルタイム性を有するマスタを優先する手法がとられる。この手法では、スレーブがマスタからのアクセス要求を格納するためのリオーダーキューを持っている場合に、キューに格納されているアクセス要求のうちリアルタイム性が厳しいアクセス要求から優先して処理していくものである。これにより、キューに入力されてからスレーブの処理を待つ時間を短縮することが可能になり、マスタのリアルタイム性を保証することが可能になる。
上述のように、従来はリアルタイム性を有するマスタに優先的にバスを使用させることで、バス権獲得までの時間を短縮し、マスタのリアルタイムを保証している。しかし、リアルタイム性を有するマスタがアクセス要求を発行しない期間は、バスの利用効率を向上させるために、他マスタがスレーブにアクセスすることが許可されている。そのため、リアルタイム性を有するマスタがアクセス要求を発行した際に、図5(a)のようにスレーブの有するキューは、他マスタが発行したアクセス要求で占有されることがある。ここでのスレーブはメモリコントローラとしている。
リアルタイム性を有するマスタが発行するメモリアクセス要求がメモリコントローラのキューに格納されるのは、図5(b)のようにメモリコントローラがキューに入っている他マスタからのメモリアクセス要求を処理し、キューに空ができた後である。また、メモリコントローラのキューがリオーダーキューでない場合は、図5(c)のタイミングでメモリアクセスが開始される。この場合、メモリアクセスレイテンシは他マスタが発行するメモリアクセスの影響によりL1分増加してしまう。マスタの発行するメモリアクセス要求が図5(c)の時刻Dまでに処理されることが要求されている場合、L1分のレイテンシ増加により、リアルタイム性を保証することはできない。
マスタのリアルタイム性を保証する他の手法としては、リアルタイム性を有するマスタがバスをロックする手法もある。しかし、キューを独占することが可能である一方で、他マスタはバスを使用できないために、リアルタイム性を有さないマスタの効率を大幅に低下させている。
次に、メモリコントローラがメモリアクセス要求を格納するリオーダーキューを持っている場合である。この場合は、図5(c)のように、リアルタイム性を有するマスタからのメモリアクセス要求はリオーダーキューへ格納されるとすぐにスレーブによって処理が開始される。よって、発行されてから最短で処理される場合と比較しても、リオーダーキューの空待ちに必要としたL2分のみのレイテンシ増加となっている。しかし、図5(c)中の時刻Dまでに処理されるように厳しく要求されていた場合は、リアルタイム性を保証することはできない。また、リアルタイム性が厳しいメモリアクセス要求から優先して処理するため、リオーダーキューを利用することになるが、リオーダーキューの制御は大変複雑であり、回路規模が大きくなるという問題がある。
以上のように、実際にリアルタイム性を保証するためには、バスのアービトレーションだけではなく、スレーブの状態も考慮する必要がある。また、リオーダーキューのように比較的規模の大きい回路を必要としない実現方法も必要とされている。
上記課題を解決するために本発明は、周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも1つ以上のマスタと、前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置に関し、前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が、他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出手段と、前記レイテンシ増加検出手段が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定手段を有することを特徴とする情報処理装置等、を提供する。
本発明では、リアルタイム性を有するマスタが発行するアクセス要求を最小レイテンシで処理できるようにスレーブのキューに格納されるマスタを限定する。これにより、マスタのリアルタイム性を比較的小規模な回路で保証することが可能である。
以下、本発明の実施例について図面を用いて詳細に説明する。図1に本発明の実施形態についてシステム構成の一例を示す。図1は本発明の実施例を示す図である。
情報処理装置19は、マスタ10、11、12、13と、スレーブであるメモリコントローラ14、メモリ15と、アービタ16と、レイテンシ増加検出手段17と、アクセス要求格納限定手段18を有する。メモリコントローラはキュー20を有する。マスタ10はリアルタイム性を有する。アービタ16はマスタ10を最高優先度、他マスタ11、12、13はラウンドロビンでアービトレーションする。
図2は本発明の第一の実施例におけるレイテンシ増加検出手段17とアクセス要求格納限定手段18の詳細である。
レイテンシ増加検出手段17には、マスタ10のメモリアクセス要求発行周期を設定する要求発行周期格納レジスタ21が設けられている。また、リード・ライト各々についてアービタからメモリアクセス開始までの最大・最小レイテンシを設定するレイテンシ格納レジスタ22、23、24及び25が設けられている。また、アービタ16が選択した他マスタからのメモリアクセス要求が次にマスタ10が発行するメモリアクセス要求のレイテンシを増加させるかを判定し、マスタ10へのバス許可信号101がアサートされるとタイマを起動する判定手段26が設けられている。
また、判定手段26により、レイテンシが増加すると判定された場合に、アービタ16のバス許可信号101、111、121、131をマスクするバス許可信号マスク手段27が設けられている。バス許可信号マスク手段27は、それ以外の場合には、バス許可信号101、111、121、131をそのままマスク後バス許可信号に接続する。また、判定手段26により起動されると、ゼロから要求発行周期格納レジスタ21の値まで時間を計測するタイマ28が設けられている。また、判定手段26により、レイテンシが増加すると判定された場合に、アクセス要求格納限定信号170をアサート(Highアクティブ)するアクセス要求格納限定通知手段29が設けられている。アクセス要求格納限定通知手段29は、タイマ28の値が要求発行周期格納レジスタ21の値と等しい場合に、アクセス要求格納限定信号170をデアサートする。
アクセス要求格納限定手段18は、アクセス要求格納限定手段17から出力されるアクセス要求格納限定信号170とキューがフルかを示すキューフル信号180の論理和をとる。
信号100はバスである。信号101、111、121、131は、アービタ16の出力であり、各マスタ10、11、12、13のバスアービトレーション結果を示すバス許可信号である。信号102、112、122、132は、バス許可信号マスク手段27がバス許可信号101、111、121、131を判定手段26の結果に基づいてマスクしたマスク後バス許可信号である。
信号190は、アービタ16が選択した他マスタからのメモリアクセス要求が次にマスタ10が発行するメモリアクセス要求のレイテンシを増加させるかを判定手段26が判定した結果(レイテンシ増加なら1、それ以外は0)を示す判定結果信号である。信号170は、アクセス要求格納限定手段29が判定手段26に基づいてキュー20に格納されるメモリアクセス要求を限定するためのアクセス要求格納限定信号である。信号180はキューがフルであることを示すキューフル信号であり、信号160はアービタ16のアービトレーションの開始を禁止するアービトレーション不許可信号である。
次に、この情報処理装置19の動作について、図3を用いて説明する。マスタ10はデッドラインを有し、T周期でメモリアクセス要求を発行する。このメモリアクセス要求発行周期Tは、レイテンシ増加検出手段17の要求発行周期格納レジスタ21に設定される。また、リード・ライト各々について、アービタ16で許可されてからメモリアクセス開始までの最大・最小レイテンシがレイテンシ格納レジスタ22、23、24及び25に設定される。
最初、時刻t0においてマスタ10が発行したメモリリード要求がアービタ16により選択され、バス許可信号101がアサートされる。判定手段26は、図4のフローチャートに従い、バス許可信号101のアサート後、タイマ28を起動し、以後判定に用いるパラメータを初期化する。また、バス許可信号マスク手段27は判定結果信号190が0であるため、バス許可信号101をマスクせずに、マスク後バス許可信号102に接続する。
次に、時刻t1でマスタ11からのメモリライト要求がアービタ16により選択され、バス許可信号111がアサートされる。マスタ10以外のマスタからのメモリアクセス要求がアービタ16で選択されると、判定手段26は、図4のフローチャートに基づく判定を行う。即ち、選択された他マスタからのメモリアクセス要求が次にマスタ10が発行するメモリアクセス要求のレイテンシを増加させるかを判定する。判定結果より、マスタ10からのライトアクセス要求のメモリアクセス終了時間はt4となる。よって、次にマスタ10が発行するメモリアクセス要求のレイテンシに影響を与えないため、判定結果信号190は0となる。バス許可信号マスク手段27は判定結果信号190が0であるため、バス許可信号111をマスクせずに、マスク後バス許可信号112に接続する。
時刻t2では、マスタ12が発行するメモリリード要求がアービタ16により選択され、バス許可信号121がアサートされる。判定手段26が計算したメモリアクセス終了時間がt6となるため、判定結果信号190は0となる。バス許可信号マスク手段27は判定結果信号190が0であるため、バス許可信号121をマスクせずに、マスク後バス許可信号122に接続する。
最後に、時刻t3でマスタ13が発行したメモリリード要求がアービタ16で選択され、バス許可信号131がアサートされる。判定手段26の計算したメモリアクセス終了時間はt8となり、次にマスタ10が発行するメモリアクセス要求のレイテンシを増加させると判定される。この場合、判定結果信号190は1となり、バス許可信号マスク手段27はバス許可信号131をマスクし、マスク後バス許可信号132に接続する。また、判定結果信号190が1になると、アクセス要求格納限定通知手段29はアクセス要求格納限定信号170をアサートする。アクセス要求格納限定手段18はレイテンシ増加検出手段17から出力されるアクセス要求格納限定信号170とキュー20がフルであることを示すキューフル信号180の論理和をとる。これにより、メモリコントローラ14のキューがフルでない場合でも、アクセス要求格納限定信号170がアサートされるとアービトレーション不許可信号160はアサートされ、アービタ16はアービトレーションを開始しない。
時刻t7において、タイマ28の値は要求発行周期格納レジスタ21の値と等しくなり、アクセス要求格納限定通知手段29はアクセス要求格納限定信号170をデアサートする。これにより、アービトレーション不許可信号160はデアサートされ、アービトレーションが開始される。また、時刻t7ではマスタ10からのメモリリード要求が発行されるため、アービトレーション再開直後にマスタ10からのメモリリード要求がアービタ16により選択される。アービタ16により選択されると、マスタ10からのメモリリード要求はキューの空き待ちや前のメモリアクセスによるレイテンシの増加を発生させることなく、メモリコントローラ14で処理される。
以上、実施例を用いて本発明を説明したが、本発明は実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
また、これらの本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
10:マスタ(デッドライン設定有)
11:マスタ(デッドライン設定無)
12:マスタ(デッドライン設定無)
13:マスタ(デッドライン設定無)
14:メモリコントローラ
15:メモリ
16:アービタ
17:レイテンシ増加検出手段
18:アクセス要求格納限定手段
19:情報処理装置
20:キュー
21:周期格納レジスタ
22:レイテンシ格納レジスタ(READ Max)
23:レイテンシ格納レジスタ(READ Min)
24:レイテンシ格納レジスタ(WRITE Max)
25:レイテンシ格納レジスタ(WRITE Min)
26:判定手段
27:バス許可信号マスク手段
28:タイマ
29:アクセス要求格納限定通知手段
100:バス
101:バス許可信号(マスタ10)
111:バス許可信号(マスタ11)
121:バス許可信号(マスタ12)
131:バス許可信号(マスタ13)
102:マスク後バス許可信号(マスタ10)
112:マスク後バス許可信号(マスタ11)
122:マスク後バス許可信号(マスタ12)
132:マスク後バス許可信号(マスタ13)
160:アービトレーション不許可信号
170:アクセス要求格納限定信号
180:キューフル信号
190:判定結果信号
11:マスタ(デッドライン設定無)
12:マスタ(デッドライン設定無)
13:マスタ(デッドライン設定無)
14:メモリコントローラ
15:メモリ
16:アービタ
17:レイテンシ増加検出手段
18:アクセス要求格納限定手段
19:情報処理装置
20:キュー
21:周期格納レジスタ
22:レイテンシ格納レジスタ(READ Max)
23:レイテンシ格納レジスタ(READ Min)
24:レイテンシ格納レジスタ(WRITE Max)
25:レイテンシ格納レジスタ(WRITE Min)
26:判定手段
27:バス許可信号マスク手段
28:タイマ
29:アクセス要求格納限定通知手段
100:バス
101:バス許可信号(マスタ10)
111:バス許可信号(マスタ11)
121:バス許可信号(マスタ12)
131:バス許可信号(マスタ13)
102:マスク後バス許可信号(マスタ10)
112:マスク後バス許可信号(マスタ11)
122:マスク後バス許可信号(マスタ12)
132:マスク後バス許可信号(マスタ13)
160:アービトレーション不許可信号
170:アクセス要求格納限定信号
180:キューフル信号
190:判定結果信号
Claims (3)
- 周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも1つ以上のマスタと、
前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、
前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置において、
前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が、他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出手段と、
前記レイテンシ増加検出手段が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定手段を有することを特徴とする情報処理装置。 - 周期的にスレーブにアクセス要求を発行するリアルタイム性を有するマスタを含む少なくとも1つ以上のマスタと、前記マスタからの前記アクセス要求を一時的に格納するアクセス要求格納手段を有し、前記アクセス要求格納手段に格納されている前記アクセス要求を逐次処理するスレーブが相互接続された情報処理装置における処理方法であって、
前記リアルタイム性を有するマスタが前記アクセス要求を発行してから前記スレーブに処理されるまでに要する時間が他マスタが発行する前記アクセス要求により増加する可能性があることを検出するレイテンシ増加検出工程と、
前記レイテンシ増加検出工程が前記レイテンシの増加を検出した後、前記リアルタイム性を有するマスタが発行する前記アクセス要求のみ前記アクセス要求格納手段に格納されるようにするアクセス要求格納限定工程を有することを特徴とする情報処理方法。 - 請求項2に記載の方法の各工程をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006280568A JP2008097462A (ja) | 2006-10-13 | 2006-10-13 | 情報処理装置及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006280568A JP2008097462A (ja) | 2006-10-13 | 2006-10-13 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008097462A true JP2008097462A (ja) | 2008-04-24 |
Family
ID=39380223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006280568A Pending JP2008097462A (ja) | 2006-10-13 | 2006-10-13 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008097462A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011089660A1 (ja) * | 2010-01-19 | 2011-07-28 | パナソニック株式会社 | バス調停装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000209218A (ja) * | 1999-01-13 | 2000-07-28 | Sony Corp | 情報記録装置 |
JP2004288021A (ja) * | 2003-03-24 | 2004-10-14 | Matsushita Electric Ind Co Ltd | メモリアクセス制御装置 |
WO2006080371A2 (ja) * | 2005-01-31 | 2006-08-03 | Matsushita Electric Ind Co Ltd | アクセス調停装置、および調停可能条件検証装置 |
-
2006
- 2006-10-13 JP JP2006280568A patent/JP2008097462A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000209218A (ja) * | 1999-01-13 | 2000-07-28 | Sony Corp | 情報記録装置 |
JP2004288021A (ja) * | 2003-03-24 | 2004-10-14 | Matsushita Electric Ind Co Ltd | メモリアクセス制御装置 |
WO2006080371A2 (ja) * | 2005-01-31 | 2006-08-03 | Matsushita Electric Ind Co Ltd | アクセス調停装置、および調停可能条件検証装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011089660A1 (ja) * | 2010-01-19 | 2011-07-28 | パナソニック株式会社 | バス調停装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4848375B2 (ja) | バス・アクセス取り消しを伴うデータ処理システム | |
JP5578713B2 (ja) | 情報処理装置 | |
JP2008276391A (ja) | メモリアクセス制御装置 | |
JP2006195714A (ja) | リソース管理装置 | |
JP5565204B2 (ja) | データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置 | |
JP2007058716A (ja) | データ転送バスシステム | |
JP2002304369A (ja) | バスシステム | |
WO2006024193A1 (fr) | Procede et systeme pour transfert de donnees | |
JP2008040650A (ja) | バスアービトレーション装置 | |
JP2008515091A (ja) | バス・アクセス取り消しを伴うデータ処理システム | |
JP2008097462A (ja) | 情報処理装置及び情報処理方法 | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
JP5668858B2 (ja) | 情報処理装置及びスケジューリング方法 | |
JP4953794B2 (ja) | バスシステムのバス調停方法及びバスシステム | |
JP2006215621A (ja) | Dma制御装置 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
JP4327081B2 (ja) | メモリアクセス制御回路 | |
JP2011059915A (ja) | 半導体装置 | |
JP2011085989A (ja) | メモリ調停回路及びメモリ調停方法 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP2010140440A (ja) | バス調停装置 | |
JP6416488B2 (ja) | 半導体装置 | |
JP5111940B2 (ja) | 情報処理装置及びアクセス制御方法 | |
JP2002288120A (ja) | 調停装置およびバスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091008 |
|
A977 | Report on retrieval |
Effective date: 20110708 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110719 |
|
A02 | Decision of refusal |
Effective date: 20120117 Free format text: JAPANESE INTERMEDIATE CODE: A02 |