説明

メモリアクセス制御装置およびメモリアクセス制御方法

【課題】共有メモリに対して要求される応答性の異なるアクセス要求を発行するマスタに対して必要な性能を保証するとともに、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配可能なメモリアクセス制御装置を提供する。
【解決手段】前記アクセス要求制御部11は、対応するマスタ装置からのアクセス要求が第1種の優先アクセス要求であるか第2種のアクセス要求であるかを分別するアクセス要求分別部21と、第2の優先アクセス要求を一時的に保持する非優先アクセス要求保持部24と、前記対応するマスタ装置からの第1種のアクセス要求および前記アクセス要求保持手段に保持された第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択し前記調停手段に出力するアクセス要求選択部23とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
複数のマスタがメモリを共有するシステムにおいて各マスタからのメモリアクセス要求を制御するメモリアクセス制御装置に関する。
【背景技術】
【0002】
近年、複数のマスタがメモリを共有するユニファイドメモリアーキテクチャ構成を多くのシステムが採用している。このようなシステムは、各マスタから共有メモリへのアクセス要求を、マスタ毎にアクセスレートなどの性能品質を保証する必要がある。
【0003】
例えば、特許文献1に開示されたシステムは、各マスタが必要とする資源要求へのアクセス頻度を保証するために、複数のマスタに対応する複数のリクエストマスク部および複数のアクセス要求部と、調停部とを備えている。リクエストマスク部は、対応するメモリアクセス要求部が必要最小頻度を超えて発行したメモリアクセス要求をマスクする。調停部は、リクエストマスク部によってマスクされなかったメモリアクセス要求の一つを、予め固定された優先順位に従って選択する。これにより、当該優先順位の他には各メモリアクセス要求部間の関係を関知することなく、しかも、固定優先順位のごく簡便な調停によって、各メモリアクセス要求部が必要とする資源要求の頻度が保証される。
【特許文献1】特開2004−5589号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、上記従来技術ではマスタ毎に設定されたアクセスレートを保証するものの1つのマスタが発行する複数のアクセス要求の中に、高い応答性を必要とするアクセス要求と高い応答性を必要としないアクセス要求とが混在する場合に、効率よくアクセス要求を調停することができないという問題がある。例えば、高い応答性を必要とするアクセス要求と高い応答性を必要としないアクセス要求とが混在する場合に、前者の性能を保証するためには、当該マスタに対しては高めのアクセスレートを設定しなければすることになり、他のマスタのアクセスレートを抑える結果となり、共有メモリの全体のアクセスレートを効率よく分配できない。
【0005】
本発明は、共有メモリに対して要求される応答性の異なるアクセス要求を発行するマスタに対して必要な性能を保証するとともに、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配可能なメモリアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明のメモリアクセス制御装置は、複数のマスタ装置と共有メモリとを含むシステムに用いられ、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御装置であって、マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段と、少なくとも1つのマスタ装置に対応し、当該マスタ装置と前記調停手段との間に設けられるアクセス要求制御手段とを備え、前記アクセス要求制御手段は、対応するマスタ装置からのアクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを分別する分別手段と、前記分別手段によって第2種のアクセス要求に分別されたアクセス要求を一時的に保持するアクセス要求保持手段と、前記分別手段によって第1種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択し前記調停手段に出力する選択手段とを備える。この構成によれば、共有メモリに対して要求される応答性の異なる二種類のアクセス要求を発行する少なくとも1つのマスタ装置に対して、他のマスタ装置のアクセス要求との間で調停を受ける前に、高速処理を必要としない第2種のアクセス要求が一時的にアクセス要求保持手段に保持され、高速処理を必要とする第1種のアクセス要求が優先して調停手段に出力される。このように、高速処理を必要としない第2種のアクセス要求は高速処理を必要とする第1種のアクセス要求の処理を阻害しないため、第1種のアクセス要求の応答性を保証しながらも、当該マスタに対して無駄に高い許容アクセスレートを割り当てる必要がない。それゆえ、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配することができる。
【0007】
ここで、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第1種のアクセス要求のみを選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内では、第2種のアクセス要求に阻害されることなく第1種のアクセス要求の処理性能を保証することができる。
【0008】
ここで、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第1種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内外で、第2種のアクセス要求を処理する。
【0009】
ここで、前記調停手段は、マスタ装置毎に割り当てられた許容アクセスレートを保持するレート保持手段と、マスタ装置毎に実際のアクセスレートを計測する計測手段と、前記少なくとも1つのマスタ装置に対応し、前記計測手段に計測された実際のアクセスレートが前記許容アクセスレートに達するか否かを予測し、達しないと予測したとき未達通知を出力する予測手段とを備え、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されていないとき、対応するマスタ装置から出力された第1種のアクセス要求を選択し、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されているとき、対応するマスタ装置から第1種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内で、第1種のアクセス要求が許容転送レートを使い切らずに余裕があるばあいに、第2種のアクセス要求を効率良く処理することができる。
【0010】
ここで、前記調停手段は、前記少なくとも1つのマスタ装置に対応し、前記複数のマスタ装置の何れからもアクセス要求が出力されていないかどうかを判定し、アクセス要求が1つも出力されていないときに空き通知を出力する空き通知手段を備え、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されていないとき、対応するマスタ装置から出力された第1種のアクセス要求を選択し、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されているとき、対応するマスタ装置から第1種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内で、他のマスタ装置のアクセス要求が存在しない間に、第2種のアクセス要求を効率良く処理することができる。
【0011】
ここで、前記アクセス要求制御手段は、さらに、前記対応するマスタ装置から出力される第1種のアクセス要求のアドレスと、前記アクセス要求保持手段に保持された各第2種のアクセス要求のアドレスとを比較する比較手段を備え、前記選択手段は、前記第1種のアクセス要求のアドレスと何れか第2種のアクセス要求のアドレスとが一致した場合に、当該第2種アクセス要求を選択するようにしてもよい。この構成によれば、第1種のアクセス要求と何れか第2種のアクセス要求とがアドレスでアクセスする場合に、アクセス要求の実行順序を入れ替えることなく(アウト オブ オーダーにすることなく)、発行された順序(イン オーダー)で行うことができ、共有メモリのデータの整合性を確保することができる。
【0012】
ここで、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された第2種のアクセス要求の数がしきい値に達したこと検知する検知手段を備え、前記選択手段は、検知手段によって第2種のアクセス要求の数がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択するようにしてもよい。
【0013】
ここで、前記アクセス要求保持手段は、さらに、第2種のアクセス要求に対応する書き込みデータを保持し、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択するようにしてもよい。この構成によれば、しきい値の大きくするか小さくするかにより、第2種のアクセス要求の応答性を設定することができる。
【0014】
ここで、前記アクセス要求保持手段は、さらに、第2種のアクセス要求に対応する書き込みデータを保持し、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知されていない場合に、対応するマスタ装置から第1種のアクセス要求が出力されていなくても、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択しないようにしてもよい。この構成によれば、しきい値に達するまでは、第1種のアクセス要求の応答性を保証するとともに、他のマスタ装置のアクセス要求を阻害することを防止できる。
【0015】
ここで、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持されている第2種のアクセス要求を強制的に選択するかどうかを指示する選択指示手段を備え、前記選択手段は、前記選択指示手段が第2種のアクセス要求を強制的に選択することを指示する場合、第2種のアクセス要求を選択するようにしてもよい。この構成によれば、アクセス要求の実行順序をイン オーダーへの切り替えを容易にすることができる。
【0016】
ここで、前記第1種のアクセス要求は、先に発行された第2種のアクセス要求よりも先に処理されないことを要求するバリア属性情報を含むことが可能であり、前記選択手段は、バリア属性情報を含む第1種のアクセス要求が出力された場合に、当該第1種のアクセス要求よりも先に前記アクセス要求保持手段に保持されている第2種のアクセス要求を選択するようにしてもよい。この構成によれば、アドレス比較手段を備えなくても、ソフトウェア的にアクセス要求の実行順序をイン オーダーに切り替えて共有メモリのデータの整合性を確保することができる。
【0017】
ここで、前記第1種のアクセス要求は読み出し要求であり、前記第2種のアクセス要求は書き込み要求であるようにしてもよい。一般的に高い応答性を要求される読み出し要求と、高い応答性を要求されない書き込み要求と効率よく実行するこができる。
【0018】
ここで、前記アクセス要求制御手段は、さらに、前記少なくとも1つもマスタ装置からの設定に従って、当該マスタ装置から出力されるアクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを示す指示情報を保持する指示情報保持手段を備え、前記分別手段は、前記指示情報に従ってアクセス要求を分別するようにしてもよい。この構成によれば、アクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを、指示情報をソフトウェア的に設定するだけで容易に指定することができる。
【0019】
ここで、前記少なくとも1つもマスタ装置から出力されるアクセス要求は、当該アクセスが第1種のアクセス要求であるか第2種の優先アクセス要求であるかを示す属性情報を含み、前記分別手段は、前記属性情報に従ってアクセス要求を分別するようにしてもよい。この構成によれば、アクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを、アクセス要求毎に属性情報をソフトウェア的に設定するだけで容易に指定することができる。
【0020】
ここで、前記調停手段は、複数のマスタ装置に対応する複数のアクセス要求制限手段と、アクセス要求調停手段とを備え、各アクセス要求制限手段は、対応するマスタ装置に割り当てられた許容アクセスレートを保持するレート保持手段と、対応するマスタ装置の実際のアクセスレートを計測する計測手段と、前記計測手段に計測されたアクセスレートが前記許容アクセスレートに達した場合に、アクセス要求制限通知を出力する通知手段と、計測手段によって計測されたアクセスレートが前記許容アクセスレートに達していないとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求または第1種のアクセス要求を、レート内アクセス要求として出力し、前記アクセスレートが前記許容アクセスレートに達しているとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求、第1種のアクセス要求または第2種のアクセス要求を、レート外アクセス要求として出力する制限処理手段とを備え、前記アクセス要求調停手段は、前記複数のアクセス要求制限手段から1つ以上のレート内アクセス要求が出力されているとき、レート内アクセス要求を1つ選択し、前記複数の処理手段からレート内アクセス要求が出力されてなく、かつ、1つ以上のレート外アクセス要求が出力されているとき、レート外アクセス要求を1つ選択するようにしてもよい。この構成によれば、各マスタ装置の許容アクセスレート内で保証し、しかも、他のマスタ装置の許容アクセスレートを阻害することなく、許容アクセスレート外のアクセス要求も実行することができる。
【0021】
また、本発明のメモリアクセス制御方法についても上記と同様の構成および効果を有する。
【発明の効果】
【0022】
本発明のメモリアクセス制御装置によれば、高速な処理を必要としないアクセス要求はメモリアクセス制御装置において高速処理を必要とするアクセス要求の処理が制限されない場合にのみ処理されるため、前記二種類の要求される性能の異なるアクセスを行うマスタにおいて、割り当てるアクセスレートを増やすことなく、高速な処理を必要とするアクセスの応答性を高めることが可能となり、マスタの性能向上を実現できる。
【発明を実施するための最良の形態】
【0023】
以下本発明の実施の形態について、図面を参照しながら説明する。
【0024】
(第1の実施形態)
図1は、本発明の第1の実施形態におけるメモリアクセス制御装置を含むシステムの概略を示すブロック図である。ここで、マスタ1、2、3は、それぞれ、共有メモリへアクセスを行う制御ブロックである。特に、マスタ1は、高速な処理を必要とする第1種のアクセス要求と高速に処理する必要のない第2種のアクセス要求という、要求される性能の異なるアクセス要求を出力する制御ブロックである。本実施形態では、第1種のアクセス要求がリードアクセス要求であり、第2種のアクセス要求がライトアクセス要求であるものとする。
【0025】
また、マスタ1、2、3は、それぞれ一定のアクセス保証期間内に共有メモリへの一定のアクセス回数またはアクセスデータ量を保証する必要がある制御ブロックである。そのため、アクセス保証期間内に保証しなければならない共有メモリへのアクセス回数またはアクセスデータ量を許容アクセスレートがマスタ毎に設定される。ここで、アクセス保証期間とは、例えばビデオのエンコード・デコード処理における1マクロブロック処理期間、1マクロブロックスライス処理期間、1フレーム処理期間や、オーディオのエンコード・デコード処理における1フレーム処理期間、ビデオ出力における、1フィールド表示期間、1ライン表示期間といった、特定の処理周期となり得る期間を指す。
【0026】
図1のメモリアクセス制御装置は、アクセス調停部10、アクセス要求制御部11、アクセス要求制限部12〜13を備える。
【0027】
アクセス要求制限部12〜13およびアクセス調停部10は、マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段として機能する。
【0028】
アクセス要求制御部11は、マスタ1からのアクセス要求が第1種の優先アクセス要求であるか第2種のアクセス要求であるかを分別し、分別した第2の優先アクセス要求を一時的に内部に保持し、マスタ1からの第1種のアクセス要求および保持している第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択し上記の調停手段に出力する機能を有する。
【0029】
この図では、マスタの数が3の場合を例として説明するが、マスタの数はこれに限らず2でも4以上でも良い。また、高速な処理を必要とする優先アクセス要求と高速に処理する必要のない非優先アクセス要求の異なる種類のアクセス要求を行うマスタの数を1としたが、2以上でも良い。
【0030】
図1に示すように、マスタ1のアクセス要求は、パス100を介してアクセス要求制御部11へ出力される。ここで言うアクセス要求の一例としては、アクセスアドレス、転送バイト数、リードまたはライト指定属性などの情報を含んだ共有メモリのデータ転送コマンドが挙げられる。
【0031】
アクセス要求制御部11は、マスタ1からのアクセス要求が第1種のアクセス要求であれば保持しないと判断し、マスタ1からのアクセス要求が第2種のアクセス要求であれば、一時的に保持すると判断し、保持すると判断した場合は当該アクセス要求を内部で保持してアクセス要求を受け取ったことを示すアクセス要求受理をパス105を介してマスタ1へ出力する。同時に、マスタ1から出力されたアクセス要求が許容アクセスレートの範囲内であるとき、マスタ1から出力されたアクセス要求が第1種のアクセス要求であれば、そのままアクセス要求制限部12に出力し、マスタ1から出力されたアクセス要求が第1種のアクセス要求であれば、内部に保持する。また、マスタ1から出力されたアクセス要求が許容アクセスレートの範囲外であるとき、マスタ1から出力されたアクセス要求が第1種のアクセス要求であれば、そのままアクセス要求制限部12に出力し、マスタ1から出力された第1種のアクセス要求が出力されていなければ内部に保持していた第2種のアクセス要求をアクセス要求制限部12に出力する。
【0032】
アクセス要求制限部12は、マスタ1に割り当てられた許容アクセスレートを保持し、パス101上にアクセス要求制御部11からの第1種または第2種のアクセス要求が出力されている場合に、そのアクセス要求が許容アクセスレートの範囲内であるか否かに応じて、レート内アクセス要求またはレート外アクセス要求としてアクセス調停部10に出力される。レート内アクセス要求は、許容アクセスレートの範囲内で発行されたアクセス要求であり、制限されないアクセス要求である。レート外アクセス要求は、許容アクセスレートの範囲を越えて発行されたアクセス要求であり、制限されるアクセス要求である。また、アクセス要求制限部12は、許容アクセスレートを超えているか範囲内であるかを示すアクセス制限通知をアクセス制限状況通知パス104を介してアクセス要求制御部11へ通知する。アクセス要求制御部11は、アクセス制限通知が許容アクセスレートの範囲内であることを示す場合には、第1種のアクセス要求の出力を制限しないで、第2種のアクセス要求の出力を制限し、アクセス制限通知が許容アクセスレートを越えていることを示す場合には、第1種のアクセス要求の出力も、第2種のアクセス要求の出力も制限されない。ただし、許容アクセスレートを越えて発行されたアクセス要求は、アクセス要求制御部11からアクセス要求制限部12への出力は制限されないが、アクセス調停部10においてレート外アクセス要求として劣後に扱われる。
【0033】
マスタ2および3は、それぞれパス200、300を介してアクセス要求制限部13、14へアクセス要求を出力する。
【0034】
アクセス要求制限部13、14は、アクセス要求制限部12と同様にアクセス要求を制限するかどうかの判断を行い、パス202および302を介してアクセス調停部10へ制限すべきアクセス要求(レート外アクセス要求)または制限すべきでないアクセス要求を出力する。
【0035】
アクセス調停部10は、パス102、202、302を介して制限されていないアクセス要求が出力されている場合はそのアクセス要求を1つ選択し、実行を許可し、パス102、202、302を介して制限されていないアクセス要求が出力されていない場合には、パス102、202、302を介して制限されているアクセス要求の中から1つ選択し、実行を許可する。また、このとき選択したアクセス要求を出力していたアクセス要求制限部12に対して、パス103、203、303のいずれかのパスを介してアクセス要求受理を出力する。パス102、202、302を介してアクセス要求が出力されていない場合には、いずれのアクセス要求の実行も許可しない。
【0036】
以下、図1に示すメモリアクセス制御装置を構成する各ブロックの動作仕様を説明する。
【0037】
図2Aは、アクセス要求制御部の詳細な構成例を示す機能ブロック図である。同図のようにアクセス要求制御部11は、アクセス要求分別部21、非優先アクセス要求保持部24、アクセス要求選択部23を備える。
【0038】
アクセス要求分別部21は、マスタ1からのアクセス要求が第1種のアクセス要求であうか第2種のアクセス要求であるかを分別する。
【0039】
非優先アクセス要求保持部24は、第2種のアクセス要求を一時的に保持する。
アクセス要求選択部23は、マスタ1からの第1種のアクセス要求および非優先アクセス要求保持部24に保持された第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択し、選択したアクセス要求をパス101上へ出力する。
【0040】
アクセス要求分別部21は、マスタ1からのアクセス要求がパス100を介して出力されると、アクセス要求が共有メモリのリードアクセス要求である場合にはパス22を介してアクセス要求選択部23へ、ライトアクセス要求である場合にはパス25を介して非優先アクセス要求保持部24へ出力する。出力しているアクセス要求をアクセス要求選択部23が受理したことを示すアクセス要求受理がパス27を介して出力されている場合には、マスタ1へパス100に出力されているアクセス要求を受理したことを示すアクセス要求受理をパス105を介して出力する。同様に、アクセス要求受理がパス29を介して出力されている場合にも、アクセス要求受理をパス105を介して出力する。
【0041】
図3は、非優先アクセス要求保持部24の詳細な構成例を示す。非優先アクセス要求保持部24は、FIFOレジスタ30で構成される。FIFOレジスタ30は、アクセス要求がパス25上に出力されると、そのアクセス要求を記憶し、アクセス要求を受け取ったことを示すアクセス要求受理をパス29に出力する。また、FIFOレジスタ30はアクセス要求を記憶している場合は最も過去に記憶したアクセス要求をパス26上へ出力する。この時、パス28上にアクセス要求を受け取ったことを示すアクセス要求受理が出力されると、FIFOレジスタ30は当該アクセス要求を記憶から消去する。
【0042】
図4は、アクセス要求選択部23の動作を説明するフローチャートである。図4の開始から終了までが、アクセス要求選択部23の1サイクルの処理フローである。以下順を追って説明する。アクセス要求選択部23は、S401の条件判断ではパス22上にアクセス要求分別部21からの第1種のアクセス要求が出力されている場合は、パス22上の第1種のアクセス要求をパス101へ出力する。
【0043】
引き続いて、アクセス要求選択部23は、S408の条件判断を行い、パス103上にアクセス調停部10からのアクセス要求受理が出力されている場合は、アクセス要求受理をパス27上へ出力し、パス22上に第1種のアクセス要求が出力されていない場合は、S402の条件判断を行う。
【0044】
S402では、アクセス要求選択部23は、パス26上に非優先アクセス要求保持部24からの第2種のアクセス要求が出力されていない場合は、パス101上へアクセス要求を出力しない。パス26上に第2種のアクセス要求が出力されている場合は、S403の条件判断を行う。
【0045】
S403では、アクセス要求選択部23は、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合、パス101上へアクセス要求を出力しない。パス104上へアクセス要求制限通知が出力されている場合は、S405を実行する。
【0046】
S405では、アクセス要求選択部23は、パス26上の第2種のアクセス要求をパス101上へ出力する。この時さらにS407の条件判断を行い、パス103上にアクセス調停部10からのアクセス要求受理が出力されている場合は、アクセス要求受理をパス28上へ出力する。
【0047】
かかる構成によれば、高速に処理をする必要のない第2種のアクセス要求を一時的に保留し、後続の高速な処理が望まれる第1種のアクセス要求を先にアクセス要求制限部12へ出力することが可能になる。また、高速な処理が望まれる第1種のアクセス要求と高速に処理をする必要のない第2種のアクセス要求の二種類のアクセス要求を、状況に応じてアクセス要求選択部23が選択することが可能になる。
【0048】
図5はアクセス要求制限部12の詳細な構成例を示したブロック図である。同図のアクセス要求制限部12は、許容アクセスレート保持部505、アクセスレート計測部506、アクセス要求制限処理部507を備える。
【0049】
許容アクセスレート保持部505は、マスタ1の許容アクセスレートを示す許容アクセスレート設定情報502を受け取り、それを保持する。許容アクセスレートは、例えば、アクセス保証期間当たりのアクセス回数やデータサイズなどである。アクセス保証期間は、既に説明したようにメディア処理におけるマクロブロック処理期間、フレーム期間、スライス処理期間や、単位時間などでよい。
【0050】
アクセスレート計測部506は、マスタ1の実際のアクセスレートを単位時間毎に計測し、計測したアクセスレートが許容アクセスレート保持部505に保持された許容アクセスレートを越える場合に、許容アクセスレートを越えたことを示すアクセス要求制限指示をパス504を介してアクセス要求制限処理部507に出力すると同時に、許容アクセスレートを越えたことをアクセス要求制御部11へ通知するアクセス制限通知をパス104上へ出力する。アクセスレート計測部506では、パス101上に出力されるアクセス要求制御部11からのアクセス要求に含まれる転送サイズ情報、およびアクセス調停部10からパス103上に出力されるアクセス要求受理に基づいて、マスタ1による実際のアクセスレートを計測する。例えば、アクセス回数で計測する場合は、アクセス調停部10からのアクセス要求受理をパス103を介して受け取った際に、アクセスカウンタを1つインクリメントし、マスタ1のアクセス保証期間の経過毎に、アクセスカウンタを、アクセス保証期間内に保証すべきアクセス回数分、デクリメントする制御により、アクセスレートの計測を実現できる。また、アクセスサイズで計測する場合は、アクセス調停部10からのアクセス要求受理をパス103を介して受け取った際に、アクセスサイズカウンタを、パス101上に出力されるアクセス要求制御部11からのアクセス要求に含まれる転送サイズ情報が示すサイズ分、インクリメントし、マスタ1のアクセス保証期間の経過毎に、アクセスサイズカウンタを、アクセス保証期間内に保証すべきアクセスサイズ情報が示すサイズ分、デクリメントする制御により、アクセスレートの計測を実現できる。
【0051】
アクセス要求制限処理部507は、パス101上にアクセス要求制御部11からのアクセス要求が出力されている場合に、パス504上にアクセスレート計測部506からのアクセス要求制限指示が出力されていればパス102を介してアクセス調停部10へパス101上のアクセス要求をレート外アクセス要求として出力し、パス504上にアクセスレート計測部506からのアクセス要求制限指示が出力されていなければパス102を介してアクセス調停部10へパス101上のアクセス要求をレート内アクセス要求として出力する。
【0052】
図1のアクセス要求制限部13および14は、前記アクセス要求制限部12中のアクセスレート計測部506からパス104を介して出力されるアクセス制限通知が存在しない点のみが異なり、その他は同等に構成される。
【0053】
アクセス要求制限部12、13、14に設定する許容アクセスレート設定情報502は、それぞれマスタ1、2、3が要求する性能を満たす最低のレート値で、かつ、これらの総和が共有されるメモリで実現可能な最低のアクセスレートを越えないような値を示す。
【0054】
図6は、アクセス調停部10の動作を示すフローチャートである。図6の開始から終了までが、アクセス調停部10の1サイクルの処理フローである。以下順を追って説明する。 S601では、アクセス調停部10は、パス102、202、302上のいずれかにアクセス要求制限部12、13、14で制限されていないアクセス要求(つまりレート内アクセス要求)が出力されている場合は、パス102、202、302上の制限されていないアクセス要求(レート内アクセス要求)から固定優先順位でアクセス要求を1つ選択する調停を行う。また、選択したアクセス要求の実行を許可し、S607の条件判断を引き続き行う。
【0055】
S601でパス102、202、302上のいずれにもアクセス要求制限部12、13、14で制限されていないアクセス要求(レート内アクセス要求)が出力されていない場合は、アクセス調停部10はS602の条件判断を行う。S602では、パス102、202、302上のいずれかにアクセス要求制限部12、13、14で制限されているアクセス要求(つまりレート外アクセス要求)が出力されている場合は、パス102、202、302上の制限されているアクセス要求(レート外アクセス要求)から固定優先順位でアクセス要求を1つ選択する調停を行う。また、選択したアクセス要求の実行を許可し、S607の条件判断を引き続き行う。S602でパス102、202、302上のいずれにもアクセス要求制限部12、13、14で制限されているアクセス要求が出力されていない場合は、処理フローを終了する。
【0056】
S607の条件判断では、パス102上にアクセス要求が出力されていれば、パス103上にアクセス要求受理を出力し、処理フローを終了する。パス102上にアクセス要求が出力されていなければ、S609の条件判断を行う。
【0057】
S609の条件判断では、パス202上にアクセス要求が出力されていれば、パス203上にアクセス要求受理を出力し、処理フローを終了する。パス202上にアクセス要求が出力されていなければ、パス303上にアクセス要求受理を出力し、処理フローを終了する。
【0058】
なお、S603、S604のアクセス要求の調停方式は、上述の固定優先順位に限定されず、どのような調停方式を採用してもよい。
【0059】
かかる構成によれば、マスタ1、2、3のアクセス要求制限部12〜14で制限されていない許容アクセスレート以内のアクセス要求の実行を満たした上で、さらにアクセス要求を出力しているマスタには許容アクセスレートを越えるアクセス要求を許可することが可能になる。
【0060】
以上の構成により、高速な処理を必要とするリードアクセス要求と高速に処理する必要のないライトアクセス要求の二種類の要求性能の異なるアクセスを行うマスタ1に対して、ライトアクセス要求を一時的に保留し、後続のリートアクセス要求を先に許可することが可能となる。また、ライトアクセス要求はアクセス要求制限部12でアクセス要求が制限されていない状態では出力されないことから、ライトアクセスによってマスタ1に許容されるアクセスレートを越え、直後に発生したリートアクセスの処理が制限されることが発生しない。これにより、許容アクセスレート以内であればリードアクセス要求はアクセス要求制限部12で制限されることなく、応答性を高めることが可能になる。
【0061】
(変形例)
なお、第1種、第2種のアクセス要求は、それぞれリード要求、ライト要求である場合について説明したが、これに限らない。例えば、第1種のアクセス要求は、他のマスタへ高速に渡す必要があるデータを共有メモリに書き込むライト要求であってもよいし、共有メモリの特定のアドレス範囲に属するデータへのリード要求またはライト要求であってもよい。第1種、第2種のアクセス要求は、優先アクセス要求、非優先アクセス要求としてもよい。
【0062】
また、本発明のメモリアクセス制御装置は、上記の実施形態の構成に限るものではなく、種々の変形が可能である。以下、変形例のいくつかについて説明する。
【0063】
(アクセス要求の属性情報によるアクセス要求の分別)
前記第1の実施形態の構成では、アクセス要求分別部21において、マスタ1からのアクセス要求が共有メモリのリードアクセス要求であるかライトアクセス要求であるかに応じて分別する構成を示した。この代わりに、マスタ1からのアクセス要求が属性情報を含むようにしてもよい。この属性情報は、当該アクセス要求が優先アクセス要求であるか、非優先アクセス要求であるか示す。マスタ1からのアクセス要求がパス100を介して出力されると、アクセス要求分別部21は、アクセス要求に含まれる属性情報が優先アクセス要求であることを示す場合にはパス22を介してアクセス要求選択部23へ出力し、当該アクセス要求が非優先アクセス要求である事を示す場合にはパス25を介して非優先アクセス要求保持部24へ出力する構成としてもよい。
【0064】
(分別情報によるアクセス要求の分別)
また、図2Bに示すようにアクセス要求制御部11は、さらに、マスタ1からのアクセス要求が優先アクセス要求であるか、非優先アクセス要求であるかを示す分別情報を受け取り、それを保持する分別情報保持部35を備える構成としてもよい。この場合、アクセス要求分別部21は、マスタ1からのアクセス要求がパス100を介して出力されると、分別情報保持部35に保持された分別情報が優先アクセス要求であることを指示する場合にはパス22を介してアクセス要求選択部23へ、当該アクセス要求が非優先アクセス要求である事を指示する場合にはパス25を介して非優先アクセス要求保持部24へ出力する構成としてもよい。
【0065】
(共有メモリの一貫性を保証する構成)
前記第1の実施形態の構成では、アクセス要求選択部23は、パス22上にアクセス要求分別部21からの第1種のアクセス要求が出力されている場合は、パス22上の第1種のアクセス要求をパス101へ出力する構成を説明した。この場合にパス22上の第1種のアクセス要求によってアクセスされる領域が、非優先アクセス要求保持部24で保持されている第2種のアクセス要求によってアクセスされる領域と一部でも重なる場合に、共有メモリのデータの一貫性を保てないことが起こり得る。つまり、本来であれば、当該第2種のアクセス要求により書き込まれたデータを、当該1種のアクセス要求によって読み出すべきところを、第2種のアクセス要求により書き込む前の古いデータを、当該1種のアクセス要求によって読み出す恐れがある。これに対処するため、パス26上の第2種のアクセス要求をパス101へ出力し、共有メモリの一貫性を保証する構成も考えられる。
【0066】
図7は、共有メモリの一貫性を保証する場合のアクセス要求制御部11の詳細である。非優先アクセス要求保持部24はアクセス要求分別部21からパス22を介して出力されるアクセス要求を受ける。非優先アクセス要求保持部24は、共有メモリの一貫性が保てない場合にはパス31を介してアドレス一致通知をアクセス要求選択部23へ出力する。その他の構成は同様である。
【0067】
図8に、共有メモリの一貫性を保証する非優先アクセス要求保持部24の詳細例を示す。ここではFIFOレジスタ30は4段分のアクセス要求を保持できる構成を示している。FIFOレジスタ30は、保持しているアクセス要求のアクセスアドレス情報をパス33a〜33dを介して出力する。比較器32a〜32dは、パス33a〜33dを介して出力されたアクセスアドレス情報とパス22を介して出力されるアクセス要求のアクセスアドレス情報を比較する。オア回路34は、比較器32a〜32dの出力のオアを取る。このオア結果をパス31を介してアドレス一致通知としてアクセス要求選択部23へ出力する。その他の構成は同様である。
【0068】
図9は、共有メモリの一貫性を保証するアクセス要求選択部23の1サイクルの処理フローを示す。S401にて、パス22上にアクセス要求分別部21からの第1種のアクセス要求が出力されている場合は、S411の条件判断を行う。S411では、パス31上に非優先アクセス要求保持部24からのアドレス一致通知が出力されている場合は、S405へ遷移しパス26上の第2種のアクセス要求をパス101上へ出力する。パス31上に非優先アクセス要求保持部24からのアドレス一致通知が出力されていない場合は、S406へ遷移しパス22上の第1種のアクセス要求をパス101へ出力する。その他の構成は同様である。
【0069】
上記の構成では、FIFOレジスタ30は4段分のアクセス要求を保持できる構成を示したが、3段以下でも5段以上でも良い。また、比較器32a〜32dはパス33a〜33dを介して出力されたアクセスアドレス情報とパス22を介して出力されるアクセス要求のアクセスアドレス情報を比較する構成を示した。この比較器32a〜32dアクセスアドレス情報の上位部分のみを比較する構成としても良いし、アクセスアドレス情報と転送バイト数を元にアクセス開始アドレスとアクセス終了アドレスを求め、その範囲を比較する構成としてもよい。
【0070】
以上の構成によれば、非優先アクセス要求保持部24で保持されているアクセス要求がライトアクセス要求であり、優先アクセス要求がそのライトアクセス要求でデータが更新される共有メモリ上の領域へのリードアクセス要求である場合には、ライトアクセス要求によってデータが更新された後にリードアクセス要求の処理を許可するため、マスタから見た共有メモリのデータの一貫性を保証したうえで、リードアクセス要求の応答性を高めることが可能になる。
【0071】
(選択情報によるアクセス要求の選択)
また、図2Cに示すように、アクセス要求制御部11は、さらに、非優先アクセス要求保持部24で保持されている非優先アクセス要求を強制的に選択するかどうかを指示する選択情報を保持する選択情報保持部36を備える構成としてもよい。アクセス要求選択部23は、さらに、選択情報保持部36から選択情報から出力される選択情報が非優先アクセス要求を優先的に選択するよう指示している場合にはパス26上の第2種のアクセス要求をパス101上へ出力し、そうでない場合はパス22上の第1種のアクセス要求をパス101へ出力する構成としてもよい。
【0072】
(ライトデータ未到着通知によるアクセス要求の選択)
前記第1の実施形態の構成では、アクセス要求選択部23において、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されている場合は、パス26上の第2種のアクセス要求をパス101上へ出力する構成を示した。これの変形として、図10のように、メモリアクセス制御装置は、さらに、非優先アクセス要求保持部24で保持されているアクセス要求がライトアクセス要求である場合に、当該ライトアクセス要求で転送されるデータを一時的に保持するライトデータ保持部15と、ライトデータ保持部15に書き込まれているデータ量があらかじめ決められた量に達していない場合にそれをアクセス要求選択部23に通知するライトデータ未到着通知パス109を備える構成としてもよい。この場合、アクセス要求選択部23は、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されている場合に、ライトデータ未到着通知パス109上にライトデータ未到着通知が出力されている場合はパス101上へアクセス要求を出力せず、ライトデータ未到着通知が出力されていない場合には、パス26上の第2種のアクセス要求をパス101上へ出力する構成にしてもよい。上記のしきい値は、例えばライトアクセス要求1個分による書き込みデータサイズとしてもよいし、複数の第2種のアクセス要求による書き込みデータサイズとしてもよい。前者の場合のライトデータ未到着通知は、ライトアクセス要求1個分のライトデータが未だライトデータ保持部15に保持されていないことを示し、前者の場合のライトデータ未到着通知は、ライトアクセス要求複数個分のライトデータが未だライトデータ保持部15に保持されていないことを示す。前者の場合は、1個のライト要求のライトデータが揃うまで当該ライト要求の選択を禁止することができる。後者の場合は、複数個のライト要求が非優先アクセス要求保持部24に保持されるまでは、ライト要求を敢えて選択しないことができる。
【0073】
(非優先アクセス要求保持数によるアクセス要求の選択)
前記第1の実施形態の構成では、アクセス要求選択部23において、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合、パス101上へアクセス要求を出力しない構成を説明した。これの変形として、図2Dに示すようにアクセス要求制御部11は、さらに、非優先アクセス要求保持部24に保持された非優先アクセス要求の個数を検知し、その数があらかじめ決められた値を越えた場合に、それをアクセス要求選択部23に通知するするアクセス要求数検知部37を備える構成としてもよい。この場合、アクセス要求選択部23は、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合に、非優先アクセス要求保持数超過通知パス上に非優先アクセス要求保持数超過通知が出力されている場合は、パス26上の第2種のアクセス要求をパス101上へ出力し、非優先アクセス要求保持数超過通知が出力されていない場合は、パス101上へアクセス要求を出力しない構成にしてもよい。
【0074】
(ライトデータ保持量によるアクセス要求の選択)
また、メモリアクセス制御装置は、さらに、ライトデータ保持部15で保持されているライトデータの量があらかじめ決められた値を越えた場合に、それをアクセス要求選択部23に通知するライトデータ保持量超過通知パスを備えるようにしてもよい。この場合、アクセス要求選択部23は、パス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合に、ライトデータ保持量超過通知パス上にライトデータ保持量超過通知が出力されている場合は、パス26上の第2種のアクセス要求をパス101上へ出力し、ライトデータ保持量超過通知が出力されていない場合は、パス101上へアクセス要求を出力しない構成にしてもよい。
【0075】
この構成によれば、保持している非優先アクセス要求が保持可能な限界に近づいた、あるいは達した場合に、優先アクセス要求が存在しない場合には、非優先アクセス要求の処理を行うため、引き続いて非優先アクセス要求がマスタ1から出力されても、その要求をアクセス要求制御部11にて保留することが可能であり、さらに引き続く優先アクセス要求を阻害しない。
【0076】
(第2の実施形態)
図11Aは、第2の実施形態におけるメモリアクセス制御装置含むシステムの概略を示すブロック図である。第2の実施形態は、第1の実施形態と比較して、アクセス要求制限部12がマスタ1のアクセス要求が許容アクセスレートに達しないと予測した場合に、それをアクセス要求制御部11へ通知するアクセス要求未達通知パス106を備え、アクセス要求制御部11において、パス22のアクセス要求が存在せずパス26上にアクセス要求が存在する場合に、パス106にアクセス要求未達通知が出力されている場合には、パス26上の第2種のアクセス要求をパス101上へ出力すると判断する点が異なる。そのため、アクセス要求制限部12は、図11Bに示すように、マスタ1から出力されるアクセス要求が許容アクセスレートに達するか否かを予測する未達予測部38を備える。
【0077】
図12は、第2の実施形態におけるアクセス要求制御部11の詳細な動作を示すフローチャートである。第1の実施形態と比較して、S403でパス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合、アクセス要求制御部11は、S412の条件判断を行う。その結果、パス106にアクセス要求未達通知が出力されている場合には、アクセス要求制御部11は、S405へ遷移し、パス26上の第2種のアクセス要求をパス101上へ出力する。パス106にアクセス要求未達通知が出力されていない場合には、S404へ遷移し、パス101上へアクセス要求を出力しない。その他の構成は第1の実施形態と同様である。
【0078】
以上の構成によれば、許容されたアクセスレートの範囲内でリードアクセス要求を優先し、残りのアクセスレートでライトアクセスの処理を行うため、許容されたアクセスレートを有効に利用することが可能となる。
【0079】
なお、第2の実施形態を採った場合においても、第1の実施形態で説明した種々の変形は同様に可能である。
【0080】
(第3の実施形態)
図13は、第3の実施形態におけるメモリアクセス制御装置含むシステムの概略を示すブロック図である。第3の実施形態は、第1の実施形態と比較して、アクセス調停部10は、パス102、202、302を介してアクセス要求が出力されていない空き状態を検知する空き検知部39と、空き状態が検知された場合にその旨をアクセス要求制御部11へ通知するアクセス要求空き通知パス107とを備え、アクセス要求制御部11において、パス22のアクセス要求が存在せずパス26上にアクセス要求が存在する場合に、パス107にアクセス要求空き通知が出力されている場合には、パス26上の第2種のアクセス要求をパス101上へ出力すると判断する点で、第1の実施形態と異なる。
【0081】
図14に第3の実施形態におけるアクセス要求制御部11の詳細を示す。第1の実施形態と比較して、S403でパス104上にアクセス要求制限部12からのアクセス要求制限通知が出力されていない場合、S413の条件判断を行う。S413の結果、パス107にアクセス要求空き通知が出力されている場合には、アクセス要求制御部11は、S405へ遷移し、パス26上の第2種のアクセス要求をパス101上へ出力する。パス107にアクセス要求空き通知が出力されていない場合には、S404へ遷移し、パス101上へアクセス要求を出力しない。その他の構成は第1の実施形態と同様である。
【0082】
第3の実施形態におけるアクセス要求制限部12では、パス107にアクセス要求空き通知が出力されている場合には、パス103上にアクセス要求受理が出力されてもアクセス要求制限処理部507にアクセス要求を制限するよう指示しない。その他の構成は第1の実施形態と同様である。
【0083】
以上の構成によれば、マスタ1以外のマスタのアクセス要求が存在していない場合には、共有メモリのアクセスに性能に余裕があると判断し、非優先アクセス要求の処理を行う。この場合には、マスタ1に許容されるアクセスレートでのアクセス要求とは判断しないため、共有メモリへの空きアクセス性能を有効に利用することが可能となる。
【0084】
なお、第3の実施形態を採った場合においても、第1の実施形態で説明した種々の変形は同様に可能である。
【産業上の利用可能性】
【0085】
本発明にかかるメモリアクセス制御装置は、プロセッサのように高速な処理を必要とするアクセス要求と高速に処理する必要のないアクセス要求の二種類の要求性能の異なるアクセスを行うマスタを含む、複数のマスタがメモリを共有するシステムにおいて、他のマスタの共有メモリアクセス要求性能を満たしつつ、前記二種類の要求性能の異なるアクセスを行うマスタの高速処理を必要とするアクセスの応答性を高める特徴を有し、ユニファイドメモリアーキテクチャ構成をとるシステムLSIの外部メモリアクセス調停回路等として有用である。また内蔵DRAM、内部SRAMに対するアクセス調停回路等の用途にも応用できる。
【図面の簡単な説明】
【0086】
【図1】本発明の第1の実施形態におけるメモリアクセス制御装置の構成を示す機能ブロック図である。
【図2A】アクセス要求制御部の構成を示す機能ブロック図である。
【図2B】アクセス要求制御部の変形例を示す機能ブロック図である。
【図2C】アクセス要求制御部の変形例を示す機能ブロック図である。
【図2D】アクセス要求制御部の変形例を示す機能ブロック図である。
【図3】非優先アクセス要求保持部の構成を示す機能ブロック図である。
【図4】アクセス要求選択部の動作を説明するフローチャートである。
【図5】本発明の第1の実施形態におけるアクセス要求制限部の機能ブロック図である。
【図6】本発明の第1の実施形態におけるアクセス調停部の動作仕様を説明するフローチャートである。
【図7】共有メモリの一貫性を保証する構成のアクセス要求制御部の機能ブロック図である。
【図8】共有メモリの一貫性を保証する構成の非優先アクセス要求保持部の機能ブロック図である。
【図9】共有メモリの一貫性を保証する構成のアクセス要求選択部の動作仕様を説明するフローチャートである。
【図10】ライトデータ未到着通知パスを備えるメモリアクセス制御装置の機能ブロック図である。
【図11A】本発明の第2の実施形態におけるメモリアクセス制御装置の構成を示すブロック図である。
【図11B】本発明の第2の実施形態におけるアクセス要求制限部の構成を示すブロック図である。
【図12】本発明の第2の実施形態におけるアクセス要求選択部の動作仕様を説明するフローチャートである。
【図13】本発明の第3の実施形態におけるアクセス要求制御部の機能ブロック図である。
【図14】本発明の第3の実施形態におけるアクセス要求選択部の動作仕様を説明するフローチャートである。
【符号の説明】
【0087】
1〜3 マスタ
10 アクセス調停部
11 アクセス要求制御部
12〜14 アクセス要求制限部
15 ライトデータ保持部
21 アクセス要求分別部
23 アクセス要求選択部
24 非優先アクセス保持部
22 優先アクセス要求パス
25 非優先アクセス要求パス
26 非優先アクセス要求パス
31 アドレス一致通知パス
30 FIFOレジスタ
35 分別情報保持部
36 選択情報保持部
37 アクセス要求数検知部
38 未達予測部
39 空き検知部
100〜102 アクセス要求パス
103 アクセス要求受理通知パス
104 アクセス制限通知パス
105 アクセス要求受理通知パス
106 アクセス要求未達通知パス
107 アクセス要求空き通知パス
108 ライトデータ転送パス
109 ライトデータ未到着通知パス
200 アクセス要求パス
202 アクセス要求制限部からのアクセス要求パス
203 アクセス調停部からのアクセス要求受理通知パス
300 アクセス要求パス
302 アクセス要求制限部からのアクセス要求パス
303 アクセス調停部からのアクセス要求受理通知パス
502 許容アクセスレート設定情報
505 許容アクセスレート保持部
506 アクセスレート計測部
507 アクセス要求制限処理部

【特許請求の範囲】
【請求項1】
複数のマスタ装置と共有メモリとを含むシステムに用いられ、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御装置であって、
マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段と、
少なくとも1つのマスタ装置に対応し、当該マスタ装置と前記調停手段との間に設けられるアクセス要求制御手段とを備え、
前記アクセス要求制御手段は、
対応するマスタ装置からのアクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを分別する分別手段と、
前記分別手段によって第2種のアクセス要求に分別されたアクセス要求を一時的に保持するアクセス要求保持手段と、
前記分別手段によって第1種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択し前記調停手段に出力する選択手段とを備える
ことを特徴とするメモリアクセス制御装置。
【請求項2】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第1種のアクセス要求のみを選択する
ことを特徴とする請求項1記載のメモリアクセス制御装置。
【請求項3】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第1種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項2記載のメモリアクセス制御装置。
【請求項4】
前記調停手段は、
マスタ装置毎に割り当てられた許容アクセスレートを保持するレート保持手段と、
マスタ装置毎に実際のアクセスレートを計測する計測手段と、
前記少なくとも1つのマスタ装置に対応し、前記計測手段に計測された実際のアクセスレートが前記許容アクセスレートに達するか否かを予測し、達しないと予測したとき未達通知を出力する予測手段とを備え、
前記選択手段は、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されていないとき、対応するマスタ装置から出力された第1種のアクセス要求を選択し、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されているとき、対応するマスタ装置から第1種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項1記載のメモリアクセス制御装置。
【請求項5】
前記調停手段は、
前記少なくとも1つのマスタ装置に対応し、前記複数のマスタ装置の何れからもアクセス要求が出力されていないかどうかを判定し、アクセス要求が1つも出力されていないときに空き通知を出力する空き通知手段を備え、
前記選択手段は、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されていないとき、対応するマスタ装置から出力された第1種のアクセス要求を選択し、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されているとき、対応するマスタ装置から第1種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項1記載のメモリアクセス制御装置。
【請求項6】
前記アクセス要求制御手段は、さらに、前記対応するマスタ装置から出力される第1種のアクセス要求のアドレスと、前記アクセス要求保持手段に保持された各第2種のアクセス要求のアドレスとを比較する比較手段を備え、
前記選択手段は、前記第1種のアクセス要求のアドレスと何れか第2種のアクセス要求のアドレスとが一致した場合に、当該第2種アクセス要求を選択する
ことを特徴とする請求項1記載のメモリアクセス制御装置。
【請求項7】
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された第2種のアクセス要求の数がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、検知手段によって第2種のアクセス要求の数がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項3記載のメモリアクセス制御装置。
【請求項8】
前記アクセス要求保持手段は、さらに、第2種のアクセス要求に対応する書き込みデータを保持し、
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項3記載のメモリアクセス制御装置。
【請求項9】
前記アクセス要求保持手段は、さらに、第2種のアクセス要求に対応する書き込みデータを保持し、
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知されていない場合に、対応するマスタ装置から第1種のアクセス要求が出力されていなくても、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択しない
ことを特徴とする請求項3記載のメモリアクセス制御装置。
【請求項10】
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持されている第2種のアクセス要求を強制的に選択するかどうかを指示する選択指示手段を備え、
前記選択手段は、
前記選択指示手段が第2種のアクセス要求を強制的に選択することを指示する場合、第2種のアクセス要求を選択する
ことを特徴とする請求項3に記載のメモリアクセス制御装置。
【請求項11】
前記第1種のアクセス要求は、先に発行された第2種のアクセス要求よりも先に処理されないことを要求するバリア属性情報を含むことが可能であり、
前記選択手段は、バリア属性情報を含む第1種のアクセス要求が出力された場合に、当該第1種のアクセス要求よりも先に前記アクセス要求保持手段に保持されている第2種のアクセス要求を選択する
ことを特徴とする請求項3に記載のメモリアクセス制御装置。
【請求項12】
前記第1種のアクセス要求は読み出し要求であり、前記第2種のアクセス要求は書き込み要求である
ことを特徴とする請求項1に記載のメモリアクセス制御装置。
【請求項13】
前記アクセス要求制御手段は、さらに、
前記少なくとも1つもマスタ装置からの設定に従って、当該マスタ装置から出力されるアクセス要求が第1種のアクセス要求であるか第2種のアクセス要求であるかを示す指示情報を保持する指示情報保持手段を備え、
前記分別手段は、前記指示情報に従ってアクセス要求を分別する
ことを特徴とする請求項1に記載のメモリアクセス制御装置。
【請求項14】
前記少なくとも1つもマスタ装置から出力されるアクセス要求は、当該アクセスが第1種のアクセス要求であるか第2種の優先アクセス要求であるかを示す属性情報を含み、
前記分別手段は、前記属性情報に従ってアクセス要求を分別する
ことを特徴とする請求項1に記載のメモリアクセス制御装置。
【請求項15】
前記調停手段は、複数のマスタ装置に対応する複数のアクセス要求制限手段と、アクセス要求調停手段とを備え、
各アクセス要求制限手段は、
対応するマスタ装置に割り当てられた許容アクセスレートを保持するレート保持手段と、
対応するマスタ装置の実際のアクセスレートを計測する計測手段と、
前記計測手段に計測されたアクセスレートが前記許容アクセスレートに達した場合に、アクセス要求制限通知を出力する通知手段と、
計測手段によって計測されたアクセスレートが前記許容アクセスレートに達していないとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求または第1種のアクセス要求を、レート内アクセス要求として出力し、前記アクセスレートが前記許容アクセスレートに達しているとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求、第1種のアクセス要求または第2種のアクセス要求を、レート外アクセス要求として出力する制限処理手段とを備え、
前記アクセス要求調停手段は、
前記複数のアクセス要求制限手段から1つ以上のレート内アクセス要求が出力されているとき、レート内アクセス要求を1つ選択し、
前記複数の処理手段からレート内アクセス要求が出力されてなく、かつ、1つ以上のレート外アクセス要求が出力されているとき、レート外アクセス要求を1つ選択する
ことを特徴とする請求項1記載のメモリアクセス制御装置。
【請求項16】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第1種のアクセス要求のみを選択する
ことを特徴とする請求項15記載のメモリアクセス制御装置。
【請求項17】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第1種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第2種のアクセス要求を選択する
ことを特徴とする請求項15記載のメモリアクセス制御装置。
【請求項18】
複数のマスタ装置と共有メモリとを含むシステムにおいて、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御方法であって、
少なくとも1つのマスタ装置から出力されるアクセス要求が第1種の優先アクセス要求であるか第2種のアクセス要求であるかを分別する分別ステップと、
分別ステップにおいて第2種のアクセス要求に分別されたアクセス要求を、一時的にバッファに保持させるステップと、
分別ステップにおいて第1種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第2種のアクセス要求のうち、第1種のアクセス要求を優先して選択する選択ステップと、
前記少なくとも1つのマスタ装置以外のマスタ装置からのアクセス要求および選択ステップにおいて選択されたアクセス要求を、マスタ装置毎に割り当てられた許容アクセスレートに従って調停する調停ステップと
を有することを特徴とするメモリアクセス制御方法。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−27245(P2008−27245A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2006−199911(P2006−199911)
【出願日】平成18年7月21日(2006.7.21)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】