(57)【要約】【課題】共有メモリに対して要求される応答性の異なるアクセス要求を発行するマスタに対して必要な性能を保証するとともに、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配可能なメモリアクセス制御装置を提供する。【解決手段】前記アクセス要求制御部１１は、対応するマスタ装置からのアクセス要求が第１種の優先アクセス要求であるか第２種のアクセス要求であるかを分別するアクセス要求分別部２１と、第２の優先アクセス要求を一時的に保持する非優先アクセス要求保持部２４と、前記対応するマスタ装置からの第１種のアクセス要求および前記アクセス要求保持手段に保持された第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択し前記調停手段に出力するアクセス要求選択部２３とを備える。【選択図】図２Ａ
2008027245.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタ装置と共有メモリとを含むシステムに用いられ、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御装置であって、
マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段と、
少なくとも１つのマスタ装置に対応し、当該マスタ装置と前記調停手段との間に設けられるアクセス要求制御手段とを備え、
前記アクセス要求制御手段は、
対応するマスタ装置からのアクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを分別する分別手段と、
前記分別手段によって第２種のアクセス要求に分別されたアクセス要求を一時的に保持するアクセス要求保持手段と、
前記分別手段によって第１種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択し前記調停手段に出力する選択手段とを備える
ことを特徴とするメモリアクセス制御装置。
【請求項２】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第１種のアクセス要求のみを選択する
ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項３】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第１種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項２記載のメモリアクセス制御装置。
【請求項４】
前記調停手段は、
マスタ装置毎に割り当てられた許容アクセスレートを保持するレート保持手段と、
マスタ装置毎に実際のアクセスレートを計測する計測手段と、
前記少なくとも１つのマスタ装置に対応し、前記計測手段に計測された実際のアクセスレートが前記許容アクセスレートに達するか否かを予測し、達しないと予測したとき未達通知を出力する予測手段とを備え、
前記選択手段は、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されていないとき、対応するマスタ装置から出力された第１種のアクセス要求を選択し、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されているとき、対応するマスタ装置から第１種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項５】
前記調停手段は、
前記少なくとも１つのマスタ装置に対応し、前記複数のマスタ装置の何れからもアクセス要求が出力されていないかどうかを判定し、アクセス要求が１つも出力されていないときに空き通知を出力する空き通知手段を備え、
前記選択手段は、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されていないとき、対応するマスタ装置から出力された第１種のアクセス要求を選択し、
対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されているとき、対応するマスタ装置から第１種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項６】
前記アクセス要求制御手段は、さらに、前記対応するマスタ装置から出力される第１種のアクセス要求のアドレスと、前記アクセス要求保持手段に保持された各第２種のアクセス要求のアドレスとを比較する比較手段を備え、
前記選択手段は、前記第１種のアクセス要求のアドレスと何れか第２種のアクセス要求のアドレスとが一致した場合に、当該第２種アクセス要求を選択する
ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項７】
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された第２種のアクセス要求の数がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、検知手段によって第２種のアクセス要求の数がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項３記載のメモリアクセス制御装置。
【請求項８】
前記アクセス要求保持手段は、さらに、第２種のアクセス要求に対応する書き込みデータを保持し、
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項３記載のメモリアクセス制御装置。
【請求項９】
前記アクセス要求保持手段は、さらに、第２種のアクセス要求に対応する書き込みデータを保持し、
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、
前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知されていない場合に、対応するマスタ装置から第１種のアクセス要求が出力されていなくても、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択しない
ことを特徴とする請求項３記載のメモリアクセス制御装置。
【請求項１０】
前記アクセス要求制御手段は、さらに、
前記アクセス要求保持手段に保持されている第２種のアクセス要求を強制的に選択するかどうかを指示する選択指示手段を備え、
前記選択手段は、
前記選択指示手段が第２種のアクセス要求を強制的に選択することを指示する場合、第２種のアクセス要求を選択する
ことを特徴とする請求項３に記載のメモリアクセス制御装置。
【請求項１１】
前記第１種のアクセス要求は、先に発行された第２種のアクセス要求よりも先に処理されないことを要求するバリア属性情報を含むことが可能であり、
前記選択手段は、バリア属性情報を含む第１種のアクセス要求が出力された場合に、当該第１種のアクセス要求よりも先に前記アクセス要求保持手段に保持されている第２種のアクセス要求を選択する
ことを特徴とする請求項３に記載のメモリアクセス制御装置。
【請求項１２】
前記第１種のアクセス要求は読み出し要求であり、前記第２種のアクセス要求は書き込み要求である
ことを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項１３】
前記アクセス要求制御手段は、さらに、
前記少なくとも１つもマスタ装置からの設定に従って、当該マスタ装置から出力されるアクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを示す指示情報を保持する指示情報保持手段を備え、
前記分別手段は、前記指示情報に従ってアクセス要求を分別する
ことを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項１４】
前記少なくとも１つもマスタ装置から出力されるアクセス要求は、当該アクセスが第１種のアクセス要求であるか第２種の優先アクセス要求であるかを示す属性情報を含み、
前記分別手段は、前記属性情報に従ってアクセス要求を分別する
ことを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項１５】
前記調停手段は、複数のマスタ装置に対応する複数のアクセス要求制限手段と、アクセス要求調停手段とを備え、
各アクセス要求制限手段は、
対応するマスタ装置に割り当てられた許容アクセスレートを保持するレート保持手段と、
対応するマスタ装置の実際のアクセスレートを計測する計測手段と、
前記計測手段に計測されたアクセスレートが前記許容アクセスレートに達した場合に、アクセス要求制限通知を出力する通知手段と、
計測手段によって計測されたアクセスレートが前記許容アクセスレートに達していないとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求または第１種のアクセス要求を、レート内アクセス要求として出力し、前記アクセスレートが前記許容アクセスレートに達しているとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求、第１種のアクセス要求または第２種のアクセス要求を、レート外アクセス要求として出力する制限処理手段とを備え、
前記アクセス要求調停手段は、
前記複数のアクセス要求制限手段から１つ以上のレート内アクセス要求が出力されているとき、レート内アクセス要求を１つ選択し、
前記複数の処理手段からレート内アクセス要求が出力されてなく、かつ、１つ以上のレート外アクセス要求が出力されているとき、レート外アクセス要求を１つ選択する
ことを特徴とする請求項１記載のメモリアクセス制御装置。
【請求項１６】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第１種のアクセス要求のみを選択する
ことを特徴とする請求項１５記載のメモリアクセス制御装置。
【請求項１７】
前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第１種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択する
ことを特徴とする請求項１５記載のメモリアクセス制御装置。
【請求項１８】
複数のマスタ装置と共有メモリとを含むシステムにおいて、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御方法であって、
少なくとも１つのマスタ装置から出力されるアクセス要求が第１種の優先アクセス要求であるか第２種のアクセス要求であるかを分別する分別ステップと、
分別ステップにおいて第２種のアクセス要求に分別されたアクセス要求を、一時的にバッファに保持させるステップと、
分別ステップにおいて第１種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択する選択ステップと、
前記少なくとも１つのマスタ装置以外のマスタ装置からのアクセス要求および選択ステップにおいて選択されたアクセス要求を、マスタ装置毎に割り当てられた許容アクセスレートに従って調停する調停ステップと
を有することを特徴とするメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のマスタがメモリを共有するシステムにおいて各マスタからのメモリアクセス要求を制御するメモリアクセス制御装置に関する。
【背景技術】
【０００２】
近年、複数のマスタがメモリを共有するユニファイドメモリアーキテクチャ構成を多くのシステムが採用している。このようなシステムは、各マスタから共有メモリへのアクセス要求を、マスタ毎にアクセスレートなどの性能品質を保証する必要がある。
【０００３】
例えば、特許文献１に開示されたシステムは、各マスタが必要とする資源要求へのアクセス頻度を保証するために、複数のマスタに対応する複数のリクエストマスク部および複数のアクセス要求部と、調停部とを備えている。リクエストマスク部は、対応するメモリアクセス要求部が必要最小頻度を超えて発行したメモリアクセス要求をマスクする。調停部は、リクエストマスク部によってマスクされなかったメモリアクセス要求の一つを、予め固定された優先順位に従って選択する。これにより、当該優先順位の他には各メモリアクセス要求部間の関係を関知することなく、しかも、固定優先順位のごく簡便な調停によって、各メモリアクセス要求部が必要とする資源要求の頻度が保証される。
【特許文献１】特開２００４−５５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術ではマスタ毎に設定されたアクセスレートを保証するものの１つのマスタが発行する複数のアクセス要求の中に、高い応答性を必要とするアクセス要求と高い応答性を必要としないアクセス要求とが混在する場合に、効率よくアクセス要求を調停することができないという問題がある。例えば、高い応答性を必要とするアクセス要求と高い応答性を必要としないアクセス要求とが混在する場合に、前者の性能を保証するためには、当該マスタに対しては高めのアクセスレートを設定しなければすることになり、他のマスタのアクセスレートを抑える結果となり、共有メモリの全体のアクセスレートを効率よく分配できない。
【０００５】
本発明は、共有メモリに対して要求される応答性の異なるアクセス要求を発行するマスタに対して必要な性能を保証するとともに、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配可能なメモリアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明のメモリアクセス制御装置は、複数のマスタ装置と共有メモリとを含むシステムに用いられ、前記複数のマスタ装置から共有メモリへのアクセス要求を制御するメモリアクセス制御装置であって、マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段と、少なくとも１つのマスタ装置に対応し、当該マスタ装置と前記調停手段との間に設けられるアクセス要求制御手段とを備え、前記アクセス要求制御手段は、対応するマスタ装置からのアクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを分別する分別手段と、前記分別手段によって第２種のアクセス要求に分別されたアクセス要求を一時的に保持するアクセス要求保持手段と、前記分別手段によって第１種のアクセス要求に分別されたアクセス要求および前記アクセス要求保持手段に保持された第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択し前記調停手段に出力する選択手段とを備える。この構成によれば、共有メモリに対して要求される応答性の異なる二種類のアクセス要求を発行する少なくとも１つのマスタ装置に対して、他のマスタ装置のアクセス要求との間で調停を受ける前に、高速処理を必要としない第２種のアクセス要求が一時的にアクセス要求保持手段に保持され、高速処理を必要とする第１種のアクセス要求が優先して調停手段に出力される。このように、高速処理を必要としない第２種のアクセス要求は高速処理を必要とする第１種のアクセス要求の処理を阻害しないため、第１種のアクセス要求の応答性を保証しながらも、当該マスタに対して無駄に高い許容アクセスレートを割り当てる必要がない。それゆえ、他のマスタに割り当てるアクセスレートを阻害することなく、共有メモリの全体のアクセスレートを効率よく分配することができる。
【０００７】
ここで、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であるとき、対応するマスタ装置から出力された第１種のアクセス要求のみを選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内では、第２種のアクセス要求に阻害されることなく第１種のアクセス要求の処理性能を保証することができる。
【０００８】
ここで、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲外であり、かつ第１種のアクセス要求が出力されていないとき、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内外で、第２種のアクセス要求を処理する。
【０００９】
ここで、前記調停手段は、マスタ装置毎に割り当てられた許容アクセスレートを保持するレート保持手段と、マスタ装置毎に実際のアクセスレートを計測する計測手段と、前記少なくとも１つのマスタ装置に対応し、前記計測手段に計測された実際のアクセスレートが前記許容アクセスレートに達するか否かを予測し、達しないと予測したとき未達通知を出力する予測手段とを備え、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されていないとき、対応するマスタ装置から出力された第１種のアクセス要求を選択し、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記未達通知が出力されているとき、対応するマスタ装置から第１種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内で、第１種のアクセス要求が許容転送レートを使い切らずに余裕があるばあいに、第２種のアクセス要求を効率良く処理することができる。
【００１０】
ここで、前記調停手段は、前記少なくとも１つのマスタ装置に対応し、前記複数のマスタ装置の何れからもアクセス要求が出力されていないかどうかを判定し、アクセス要求が１つも出力されていないときに空き通知を出力する空き通知手段を備え、前記選択手段は、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されていないとき、対応するマスタ装置から出力された第１種のアクセス要求を選択し、対応するマスタ装置から出力されたアクセス要求が前記許容アクセスレートの範囲内であり、かつ前記空き通知が出力されているとき、対応するマスタ装置から第１種のアクセス要求が出力されていなければ、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択するようにしてもよい。この構成によれば、許容アクセスレートの範囲内で、他のマスタ装置のアクセス要求が存在しない間に、第２種のアクセス要求を効率良く処理することができる。
【００１１】
ここで、前記アクセス要求制御手段は、さらに、前記対応するマスタ装置から出力される第１種のアクセス要求のアドレスと、前記アクセス要求保持手段に保持された各第２種のアクセス要求のアドレスとを比較する比較手段を備え、前記選択手段は、前記第１種のアクセス要求のアドレスと何れか第２種のアクセス要求のアドレスとが一致した場合に、当該第２種アクセス要求を選択するようにしてもよい。この構成によれば、第１種のアクセス要求と何れか第２種のアクセス要求とがアドレスでアクセスする場合に、アクセス要求の実行順序を入れ替えることなく（アウト  オブ  オーダーにすることなく）、発行された順序(イン  オーダー)で行うことができ、共有メモリのデータの整合性を確保することができる。
【００１２】
ここで、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された第２種のアクセス要求の数がしきい値に達したこと検知する検知手段を備え、前記選択手段は、検知手段によって第２種のアクセス要求の数がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択するようにしてもよい。
【００１３】
ここで、前記アクセス要求保持手段は、さらに、第２種のアクセス要求に対応する書き込みデータを保持し、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知された場合に、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択するようにしてもよい。この構成によれば、しきい値の大きくするか小さくするかにより、第２種のアクセス要求の応答性を設定することができる。
【００１４】
ここで、前記アクセス要求保持手段は、さらに、第２種のアクセス要求に対応する書き込みデータを保持し、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持された書き込みデータの量がしきい値に達したこと検知する検知手段を備え、前記選択手段は、前記書き込みデータの量がしきい値に達したことが検知されていない場合に、対応するマスタ装置から第１種のアクセス要求が出力されていなくても、前記アクセス要求保持手段に保持された第２種のアクセス要求を選択しないようにしてもよい。この構成によれば、しきい値に達するまでは、第１種のアクセス要求の応答性を保証するとともに、他のマスタ装置のアクセス要求を阻害することを防止できる。
【００１５】
ここで、前記アクセス要求制御手段は、さらに、前記アクセス要求保持手段に保持されている第２種のアクセス要求を強制的に選択するかどうかを指示する選択指示手段を備え、前記選択手段は、前記選択指示手段が第２種のアクセス要求を強制的に選択することを指示する場合、第２種のアクセス要求を選択するようにしてもよい。この構成によれば、アクセス要求の実行順序をイン オーダーへの切り替えを容易にすることができる。
【００１６】
ここで、前記第１種のアクセス要求は、先に発行された第２種のアクセス要求よりも先に処理されないことを要求するバリア属性情報を含むことが可能であり、前記選択手段は、バリア属性情報を含む第１種のアクセス要求が出力された場合に、当該第１種のアクセス要求よりも先に前記アクセス要求保持手段に保持されている第２種のアクセス要求を選択するようにしてもよい。この構成によれば、アドレス比較手段を備えなくても、ソフトウェア的にアクセス要求の実行順序をイン オーダーに切り替えて共有メモリのデータの整合性を確保することができる。
【００１７】
ここで、前記第１種のアクセス要求は読み出し要求であり、前記第２種のアクセス要求は書き込み要求であるようにしてもよい。一般的に高い応答性を要求される読み出し要求と、高い応答性を要求されない書き込み要求と効率よく実行するこができる。
【００１８】
ここで、前記アクセス要求制御手段は、さらに、前記少なくとも１つもマスタ装置からの設定に従って、当該マスタ装置から出力されるアクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを示す指示情報を保持する指示情報保持手段を備え、前記分別手段は、前記指示情報に従ってアクセス要求を分別するようにしてもよい。この構成によれば、アクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを、指示情報をソフトウェア的に設定するだけで容易に指定することができる。
【００１９】
ここで、前記少なくとも１つもマスタ装置から出力されるアクセス要求は、当該アクセスが第１種のアクセス要求であるか第２種の優先アクセス要求であるかを示す属性情報を含み、前記分別手段は、前記属性情報に従ってアクセス要求を分別するようにしてもよい。この構成によれば、アクセス要求が第１種のアクセス要求であるか第２種のアクセス要求であるかを、アクセス要求毎に属性情報をソフトウェア的に設定するだけで容易に指定することができる。
【００２０】
ここで、前記調停手段は、複数のマスタ装置に対応する複数のアクセス要求制限手段と、アクセス要求調停手段とを備え、各アクセス要求制限手段は、対応するマスタ装置に割り当てられた許容アクセスレートを保持するレート保持手段と、対応するマスタ装置の実際のアクセスレートを計測する計測手段と、前記計測手段に計測されたアクセスレートが前記許容アクセスレートに達した場合に、アクセス要求制限通知を出力する通知手段と、計測手段によって計測されたアクセスレートが前記許容アクセスレートに達していないとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求または第１種のアクセス要求を、レート内アクセス要求として出力し、前記アクセスレートが前記許容アクセスレートに達しているとき、対応するマスタ装置または前記アクセス要求制御手段から出力されたアクセス要求、第１種のアクセス要求または第２種のアクセス要求を、レート外アクセス要求として出力する制限処理手段とを備え、前記アクセス要求調停手段は、前記複数のアクセス要求制限手段から１つ以上のレート内アクセス要求が出力されているとき、レート内アクセス要求を１つ選択し、前記複数の処理手段からレート内アクセス要求が出力されてなく、かつ、１つ以上のレート外アクセス要求が出力されているとき、レート外アクセス要求を１つ選択するようにしてもよい。この構成によれば、各マスタ装置の許容アクセスレート内で保証し、しかも、他のマスタ装置の許容アクセスレートを阻害することなく、許容アクセスレート外のアクセス要求も実行することができる。
【００２１】
また、本発明のメモリアクセス制御方法についても上記と同様の構成および効果を有する。
【発明の効果】
【００２２】
本発明のメモリアクセス制御装置によれば、高速な処理を必要としないアクセス要求はメモリアクセス制御装置において高速処理を必要とするアクセス要求の処理が制限されない場合にのみ処理されるため、前記二種類の要求される性能の異なるアクセスを行うマスタにおいて、割り当てるアクセスレートを増やすことなく、高速な処理を必要とするアクセスの応答性を高めることが可能となり、マスタの性能向上を実現できる。
【発明を実施するための最良の形態】
【００２３】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（第１の実施形態）
図１は、本発明の第１の実施形態におけるメモリアクセス制御装置を含むシステムの概略を示すブロック図である。ここで、マスタ１、２、３は、それぞれ、共有メモリへアクセスを行う制御ブロックである。特に、マスタ１は、高速な処理を必要とする第１種のアクセス要求と高速に処理する必要のない第２種のアクセス要求という、要求される性能の異なるアクセス要求を出力する制御ブロックである。本実施形態では、第１種のアクセス要求がリードアクセス要求であり、第２種のアクセス要求がライトアクセス要求であるものとする。
【００２５】
また、マスタ１、２、３は、それぞれ一定のアクセス保証期間内に共有メモリへの一定のアクセス回数またはアクセスデータ量を保証する必要がある制御ブロックである。そのため、アクセス保証期間内に保証しなければならない共有メモリへのアクセス回数またはアクセスデータ量を許容アクセスレートがマスタ毎に設定される。ここで、アクセス保証期間とは、例えばビデオのエンコード・デコード処理における１マクロブロック処理期間、１マクロブロックスライス処理期間、１フレーム処理期間や、オーディオのエンコード・デコード処理における１フレーム処理期間、ビデオ出力における、１フィールド表示期間、１ライン表示期間といった、特定の処理周期となり得る期間を指す。
【００２６】
図１のメモリアクセス制御装置は、アクセス調停部１０、アクセス要求制御部１１、アクセス要求制限部１２〜１３を備える。
【００２７】
アクセス要求制限部１２〜１３およびアクセス調停部１０は、マスタ装置毎に割り当てられた許容アクセスレートに従って、各マスタ装置から出力されるアクセス要求を調停する調停手段として機能する。
【００２８】
アクセス要求制御部１１は、マスタ１からのアクセス要求が第１種の優先アクセス要求であるか第２種のアクセス要求であるかを分別し、分別した第２の優先アクセス要求を一時的に内部に保持し、マスタ１からの第１種のアクセス要求および保持している第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択し上記の調停手段に出力する機能を有する。
【００２９】
この図では、マスタの数が３の場合を例として説明するが、マスタの数はこれに限らず２でも４以上でも良い。また、高速な処理を必要とする優先アクセス要求と高速に処理する必要のない非優先アクセス要求の異なる種類のアクセス要求を行うマスタの数を１としたが、２以上でも良い。
【００３０】
図１に示すように、マスタ１のアクセス要求は、パス１００を介してアクセス要求制御部１１へ出力される。ここで言うアクセス要求の一例としては、アクセスアドレス、転送バイト数、リードまたはライト指定属性などの情報を含んだ共有メモリのデータ転送コマンドが挙げられる。
【００３１】
アクセス要求制御部１１は、マスタ１からのアクセス要求が第１種のアクセス要求であれば保持しないと判断し、マスタ１からのアクセス要求が第２種のアクセス要求であれば、一時的に保持すると判断し、保持すると判断した場合は当該アクセス要求を内部で保持してアクセス要求を受け取ったことを示すアクセス要求受理をパス１０５を介してマスタ１へ出力する。同時に、マスタ１から出力されたアクセス要求が許容アクセスレートの範囲内であるとき、マスタ１から出力されたアクセス要求が第１種のアクセス要求であれば、そのままアクセス要求制限部１２に出力し、マスタ１から出力されたアクセス要求が第１種のアクセス要求であれば、内部に保持する。また、マスタ１から出力されたアクセス要求が許容アクセスレートの範囲外であるとき、マスタ１から出力されたアクセス要求が第１種のアクセス要求であれば、そのままアクセス要求制限部１２に出力し、マスタ１から出力された第１種のアクセス要求が出力されていなければ内部に保持していた第２種のアクセス要求をアクセス要求制限部１２に出力する。
【００３２】
アクセス要求制限部１２は、マスタ１に割り当てられた許容アクセスレートを保持し、パス１０１上にアクセス要求制御部１１からの第１種または第２種のアクセス要求が出力されている場合に、そのアクセス要求が許容アクセスレートの範囲内であるか否かに応じて、レート内アクセス要求またはレート外アクセス要求としてアクセス調停部１０に出力される。レート内アクセス要求は、許容アクセスレートの範囲内で発行されたアクセス要求であり、制限されないアクセス要求である。レート外アクセス要求は、許容アクセスレートの範囲を越えて発行されたアクセス要求であり、制限されるアクセス要求である。また、アクセス要求制限部１２は、許容アクセスレートを超えているか範囲内であるかを示すアクセス制限通知をアクセス制限状況通知パス１０４を介してアクセス要求制御部１１へ通知する。アクセス要求制御部１１は、アクセス制限通知が許容アクセスレートの範囲内であることを示す場合には、第１種のアクセス要求の出力を制限しないで、第２種のアクセス要求の出力を制限し、アクセス制限通知が許容アクセスレートを越えていることを示す場合には、第１種のアクセス要求の出力も、第２種のアクセス要求の出力も制限されない。ただし、許容アクセスレートを越えて発行されたアクセス要求は、アクセス要求制御部１１からアクセス要求制限部１２への出力は制限されないが、アクセス調停部１０においてレート外アクセス要求として劣後に扱われる。
【００３３】
マスタ２および３は、それぞれパス２００、３００を介してアクセス要求制限部１３、１４へアクセス要求を出力する。
【００３４】
アクセス要求制限部１３、１４は、アクセス要求制限部１２と同様にアクセス要求を制限するかどうかの判断を行い、パス２０２および３０２を介してアクセス調停部１０へ制限すべきアクセス要求（レート外アクセス要求）または制限すべきでないアクセス要求を出力する。
【００３５】
アクセス調停部１０は、パス１０２、２０２、３０２を介して制限されていないアクセス要求が出力されている場合はそのアクセス要求を１つ選択し、実行を許可し、パス１０２、２０２、３０２を介して制限されていないアクセス要求が出力されていない場合には、パス１０２、２０２、３０２を介して制限されているアクセス要求の中から１つ選択し、実行を許可する。また、このとき選択したアクセス要求を出力していたアクセス要求制限部１２に対して、パス１０３、２０３、３０３のいずれかのパスを介してアクセス要求受理を出力する。パス１０２、２０２、３０２を介してアクセス要求が出力されていない場合には、いずれのアクセス要求の実行も許可しない。
【００３６】
以下、図１に示すメモリアクセス制御装置を構成する各ブロックの動作仕様を説明する。
【００３７】
図２Ａは、アクセス要求制御部の詳細な構成例を示す機能ブロック図である。同図のようにアクセス要求制御部１１は、アクセス要求分別部２１、非優先アクセス要求保持部２４、アクセス要求選択部２３を備える。
【００３８】
アクセス要求分別部２１は、マスタ１からのアクセス要求が第１種のアクセス要求であうか第２種のアクセス要求であるかを分別する。
【００３９】
非優先アクセス要求保持部２４は、第２種のアクセス要求を一時的に保持する。
アクセス要求選択部２３は、マスタ１からの第１種のアクセス要求および非優先アクセス要求保持部２４に保持された第２種のアクセス要求のうち、第１種のアクセス要求を優先して選択し、選択したアクセス要求をパス１０１上へ出力する。
【００４０】
アクセス要求分別部２１は、マスタ１からのアクセス要求がパス１００を介して出力されると、アクセス要求が共有メモリのリードアクセス要求である場合にはパス２２を介してアクセス要求選択部２３へ、ライトアクセス要求である場合にはパス２５を介して非優先アクセス要求保持部２４へ出力する。出力しているアクセス要求をアクセス要求選択部２３が受理したことを示すアクセス要求受理がパス２７を介して出力されている場合には、マスタ１へパス１００に出力されているアクセス要求を受理したことを示すアクセス要求受理をパス１０５を介して出力する。同様に、アクセス要求受理がパス２９を介して出力されている場合にも、アクセス要求受理をパス１０５を介して出力する。
【００４１】
図３は、非優先アクセス要求保持部２４の詳細な構成例を示す。非優先アクセス要求保持部２４は、ＦＩＦＯレジスタ３０で構成される。ＦＩＦＯレジスタ３０は、アクセス要求がパス２５上に出力されると、そのアクセス要求を記憶し、アクセス要求を受け取ったことを示すアクセス要求受理をパス２９に出力する。また、ＦＩＦＯレジスタ３０はアクセス要求を記憶している場合は最も過去に記憶したアクセス要求をパス２６上へ出力する。この時、パス２８上にアクセス要求を受け取ったことを示すアクセス要求受理が出力されると、ＦＩＦＯレジスタ３０は当該アクセス要求を記憶から消去する。
【００４２】
図４は、アクセス要求選択部２３の動作を説明するフローチャートである。図４の開始から終了までが、アクセス要求選択部２３の１サイクルの処理フローである。以下順を追って説明する。アクセス要求選択部２３は、Ｓ４０１の条件判断ではパス２２上にアクセス要求分別部２１からの第１種のアクセス要求が出力されている場合は、パス２２上の第１種のアクセス要求をパス１０１へ出力する。
【００４３】
引き続いて、アクセス要求選択部２３は、Ｓ４０８の条件判断を行い、パス１０３上にアクセス調停部１０からのアクセス要求受理が出力されている場合は、アクセス要求受理をパス２７上へ出力し、パス２２上に第１種のアクセス要求が出力されていない場合は、Ｓ４０２の条件判断を行う。
【００４４】
Ｓ４０２では、アクセス要求選択部２３は、パス２６上に非優先アクセス要求保持部２４からの第２種のアクセス要求が出力されていない場合は、パス１０１上へアクセス要求を出力しない。パス２６上に第２種のアクセス要求が出力されている場合は、Ｓ４０３の条件判断を行う。
【００４５】
Ｓ４０３では、アクセス要求選択部２３は、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合、パス１０１上へアクセス要求を出力しない。パス１０４上へアクセス要求制限通知が出力されている場合は、Ｓ４０５を実行する。
【００４６】
Ｓ４０５では、アクセス要求選択部２３は、パス２６上の第２種のアクセス要求をパス１０１上へ出力する。この時さらにＳ４０７の条件判断を行い、パス１０３上にアクセス調停部１０からのアクセス要求受理が出力されている場合は、アクセス要求受理をパス２８上へ出力する。
【００４７】
かかる構成によれば、高速に処理をする必要のない第２種のアクセス要求を一時的に保留し、後続の高速な処理が望まれる第１種のアクセス要求を先にアクセス要求制限部１２へ出力することが可能になる。また、高速な処理が望まれる第１種のアクセス要求と高速に処理をする必要のない第２種のアクセス要求の二種類のアクセス要求を、状況に応じてアクセス要求選択部２３が選択することが可能になる。
【００４８】
図５はアクセス要求制限部１２の詳細な構成例を示したブロック図である。同図のアクセス要求制限部１２は、許容アクセスレート保持部５０５、アクセスレート計測部５０６、アクセス要求制限処理部５０７を備える。
【００４９】
許容アクセスレート保持部５０５は、マスタ１の許容アクセスレートを示す許容アクセスレート設定情報５０２を受け取り、それを保持する。許容アクセスレートは、例えば、アクセス保証期間当たりのアクセス回数やデータサイズなどである。アクセス保証期間は、既に説明したようにメディア処理におけるマクロブロック処理期間、フレーム期間、スライス処理期間や、単位時間などでよい。
【００５０】
アクセスレート計測部５０６は、マスタ１の実際のアクセスレートを単位時間毎に計測し、計測したアクセスレートが許容アクセスレート保持部５０５に保持された許容アクセスレートを越える場合に、許容アクセスレートを越えたことを示すアクセス要求制限指示をパス５０４を介してアクセス要求制限処理部５０７に出力すると同時に、許容アクセスレートを越えたことをアクセス要求制御部１１へ通知するアクセス制限通知をパス１０４上へ出力する。アクセスレート計測部５０６では、パス１０１上に出力されるアクセス要求制御部１１からのアクセス要求に含まれる転送サイズ情報、およびアクセス調停部１０からパス１０３上に出力されるアクセス要求受理に基づいて、マスタ１による実際のアクセスレートを計測する。例えば、アクセス回数で計測する場合は、アクセス調停部１０からのアクセス要求受理をパス１０３を介して受け取った際に、アクセスカウンタを１つインクリメントし、マスタ１のアクセス保証期間の経過毎に、アクセスカウンタを、アクセス保証期間内に保証すべきアクセス回数分、デクリメントする制御により、アクセスレートの計測を実現できる。また、アクセスサイズで計測する場合は、アクセス調停部１０からのアクセス要求受理をパス１０３を介して受け取った際に、アクセスサイズカウンタを、パス１０１上に出力されるアクセス要求制御部１１からのアクセス要求に含まれる転送サイズ情報が示すサイズ分、インクリメントし、マスタ１のアクセス保証期間の経過毎に、アクセスサイズカウンタを、アクセス保証期間内に保証すべきアクセスサイズ情報が示すサイズ分、デクリメントする制御により、アクセスレートの計測を実現できる。
【００５１】
アクセス要求制限処理部５０７は、パス１０１上にアクセス要求制御部１１からのアクセス要求が出力されている場合に、パス５０４上にアクセスレート計測部５０６からのアクセス要求制限指示が出力されていればパス１０２を介してアクセス調停部１０へパス１０１上のアクセス要求をレート外アクセス要求として出力し、パス５０４上にアクセスレート計測部５０６からのアクセス要求制限指示が出力されていなければパス１０２を介してアクセス調停部１０へパス１０１上のアクセス要求をレート内アクセス要求として出力する。
【００５２】
図１のアクセス要求制限部１３および１４は、前記アクセス要求制限部１２中のアクセスレート計測部５０６からパス１０４を介して出力されるアクセス制限通知が存在しない点のみが異なり、その他は同等に構成される。
【００５３】
アクセス要求制限部１２、１３、１４に設定する許容アクセスレート設定情報５０２は、それぞれマスタ１、２、３が要求する性能を満たす最低のレート値で、かつ、これらの総和が共有されるメモリで実現可能な最低のアクセスレートを越えないような値を示す。
【００５４】
図６は、アクセス調停部１０の動作を示すフローチャートである。図６の開始から終了までが、アクセス調停部１０の１サイクルの処理フローである。以下順を追って説明する。  Ｓ６０１では、アクセス調停部１０は、パス１０２、２０２、３０２上のいずれかにアクセス要求制限部１２、１３、１４で制限されていないアクセス要求（つまりレート内アクセス要求）が出力されている場合は、パス１０２、２０２、３０２上の制限されていないアクセス要求（レート内アクセス要求）から固定優先順位でアクセス要求を１つ選択する調停を行う。また、選択したアクセス要求の実行を許可し、Ｓ６０７の条件判断を引き続き行う。
【００５５】
Ｓ６０１でパス１０２、２０２、３０２上のいずれにもアクセス要求制限部１２、１３、１４で制限されていないアクセス要求（レート内アクセス要求）が出力されていない場合は、アクセス調停部１０はＳ６０２の条件判断を行う。Ｓ６０２では、パス１０２、２０２、３０２上のいずれかにアクセス要求制限部１２、１３、１４で制限されているアクセス要求（つまりレート外アクセス要求）が出力されている場合は、パス１０２、２０２、３０２上の制限されているアクセス要求（レート外アクセス要求）から固定優先順位でアクセス要求を１つ選択する調停を行う。また、選択したアクセス要求の実行を許可し、Ｓ６０７の条件判断を引き続き行う。Ｓ６０２でパス１０２、２０２、３０２上のいずれにもアクセス要求制限部１２、１３、１４で制限されているアクセス要求が出力されていない場合は、処理フローを終了する。
【００５６】
Ｓ６０７の条件判断では、パス１０２上にアクセス要求が出力されていれば、パス１０３上にアクセス要求受理を出力し、処理フローを終了する。パス１０２上にアクセス要求が出力されていなければ、Ｓ６０９の条件判断を行う。
【００５７】
Ｓ６０９の条件判断では、パス２０２上にアクセス要求が出力されていれば、パス２０３上にアクセス要求受理を出力し、処理フローを終了する。パス２０２上にアクセス要求が出力されていなければ、パス３０３上にアクセス要求受理を出力し、処理フローを終了する。
【００５８】
なお、Ｓ６０３、Ｓ６０４のアクセス要求の調停方式は、上述の固定優先順位に限定されず、どのような調停方式を採用してもよい。
【００５９】
かかる構成によれば、マスタ１、２、３のアクセス要求制限部１２〜１４で制限されていない許容アクセスレート以内のアクセス要求の実行を満たした上で、さらにアクセス要求を出力しているマスタには許容アクセスレートを越えるアクセス要求を許可することが可能になる。
【００６０】
以上の構成により、高速な処理を必要とするリードアクセス要求と高速に処理する必要のないライトアクセス要求の二種類の要求性能の異なるアクセスを行うマスタ１に対して、ライトアクセス要求を一時的に保留し、後続のリートアクセス要求を先に許可することが可能となる。また、ライトアクセス要求はアクセス要求制限部１２でアクセス要求が制限されていない状態では出力されないことから、ライトアクセスによってマスタ１に許容されるアクセスレートを越え、直後に発生したリートアクセスの処理が制限されることが発生しない。これにより、許容アクセスレート以内であればリードアクセス要求はアクセス要求制限部１２で制限されることなく、応答性を高めることが可能になる。
【００６１】
（変形例）
なお、第１種、第２種のアクセス要求は、それぞれリード要求、ライト要求である場合について説明したが、これに限らない。例えば、第１種のアクセス要求は、他のマスタへ高速に渡す必要があるデータを共有メモリに書き込むライト要求であってもよいし、共有メモリの特定のアドレス範囲に属するデータへのリード要求またはライト要求であってもよい。第１種、第２種のアクセス要求は、優先アクセス要求、非優先アクセス要求としてもよい。
【００６２】
また、本発明のメモリアクセス制御装置は、上記の実施形態の構成に限るものではなく、種々の変形が可能である。以下、変形例のいくつかについて説明する。
【００６３】
（アクセス要求の属性情報によるアクセス要求の分別）
前記第１の実施形態の構成では、アクセス要求分別部２１において、マスタ１からのアクセス要求が共有メモリのリードアクセス要求であるかライトアクセス要求であるかに応じて分別する構成を示した。この代わりに、マスタ１からのアクセス要求が属性情報を含むようにしてもよい。この属性情報は、当該アクセス要求が優先アクセス要求であるか、非優先アクセス要求であるか示す。マスタ１からのアクセス要求がパス１００を介して出力されると、アクセス要求分別部２１は、アクセス要求に含まれる属性情報が優先アクセス要求であることを示す場合にはパス２２を介してアクセス要求選択部２３へ出力し、当該アクセス要求が非優先アクセス要求である事を示す場合にはパス２５を介して非優先アクセス要求保持部２４へ出力する構成としてもよい。
【００６４】
（分別情報によるアクセス要求の分別）
また、図２Ｂに示すようにアクセス要求制御部１１は、さらに、マスタ１からのアクセス要求が優先アクセス要求であるか、非優先アクセス要求であるかを示す分別情報を受け取り、それを保持する分別情報保持部３５を備える構成としてもよい。この場合、アクセス要求分別部２１は、マスタ１からのアクセス要求がパス１００を介して出力されると、分別情報保持部３５に保持された分別情報が優先アクセス要求であることを指示する場合にはパス２２を介してアクセス要求選択部２３へ、当該アクセス要求が非優先アクセス要求である事を指示する場合にはパス２５を介して非優先アクセス要求保持部２４へ出力する構成としてもよい。
【００６５】
（共有メモリの一貫性を保証する構成）
前記第１の実施形態の構成では、アクセス要求選択部２３は、パス２２上にアクセス要求分別部２１からの第１種のアクセス要求が出力されている場合は、パス２２上の第１種のアクセス要求をパス１０１へ出力する構成を説明した。この場合にパス２２上の第１種のアクセス要求によってアクセスされる領域が、非優先アクセス要求保持部２４で保持されている第２種のアクセス要求によってアクセスされる領域と一部でも重なる場合に、共有メモリのデータの一貫性を保てないことが起こり得る。つまり、本来であれば、当該第２種のアクセス要求により書き込まれたデータを、当該１種のアクセス要求によって読み出すべきところを、第２種のアクセス要求により書き込む前の古いデータを、当該１種のアクセス要求によって読み出す恐れがある。これに対処するため、パス２６上の第２種のアクセス要求をパス１０１へ出力し、共有メモリの一貫性を保証する構成も考えられる。
【００６６】
図７は、共有メモリの一貫性を保証する場合のアクセス要求制御部１１の詳細である。非優先アクセス要求保持部２４はアクセス要求分別部２１からパス２２を介して出力されるアクセス要求を受ける。非優先アクセス要求保持部２４は、共有メモリの一貫性が保てない場合にはパス３１を介してアドレス一致通知をアクセス要求選択部２３へ出力する。その他の構成は同様である。
【００６７】
図８に、共有メモリの一貫性を保証する非優先アクセス要求保持部２４の詳細例を示す。ここではＦＩＦＯレジスタ３０は４段分のアクセス要求を保持できる構成を示している。ＦＩＦＯレジスタ３０は、保持しているアクセス要求のアクセスアドレス情報をパス３３ａ〜３３ｄを介して出力する。比較器３２ａ〜３２ｄは、パス３３ａ〜３３ｄを介して出力されたアクセスアドレス情報とパス２２を介して出力されるアクセス要求のアクセスアドレス情報を比較する。オア回路３４は、比較器３２ａ〜３２ｄの出力のオアを取る。このオア結果をパス３１を介してアドレス一致通知としてアクセス要求選択部２３へ出力する。その他の構成は同様である。
【００６８】
図９は、共有メモリの一貫性を保証するアクセス要求選択部２３の１サイクルの処理フローを示す。Ｓ４０１にて、パス２２上にアクセス要求分別部２１からの第１種のアクセス要求が出力されている場合は、Ｓ４１１の条件判断を行う。Ｓ４１１では、パス３１上に非優先アクセス要求保持部２４からのアドレス一致通知が出力されている場合は、Ｓ４０５へ遷移しパス２６上の第２種のアクセス要求をパス１０１上へ出力する。パス３１上に非優先アクセス要求保持部２４からのアドレス一致通知が出力されていない場合は、Ｓ４０６へ遷移しパス２２上の第１種のアクセス要求をパス１０１へ出力する。その他の構成は同様である。
【００６９】
上記の構成では、ＦＩＦＯレジスタ３０は４段分のアクセス要求を保持できる構成を示したが、３段以下でも５段以上でも良い。また、比較器３２ａ〜３２ｄはパス３３ａ〜３３ｄを介して出力されたアクセスアドレス情報とパス２２を介して出力されるアクセス要求のアクセスアドレス情報を比較する構成を示した。この比較器３２ａ〜３２ｄアクセスアドレス情報の上位部分のみを比較する構成としても良いし、アクセスアドレス情報と転送バイト数を元にアクセス開始アドレスとアクセス終了アドレスを求め、その範囲を比較する構成としてもよい。
【００７０】
以上の構成によれば、非優先アクセス要求保持部２４で保持されているアクセス要求がライトアクセス要求であり、優先アクセス要求がそのライトアクセス要求でデータが更新される共有メモリ上の領域へのリードアクセス要求である場合には、ライトアクセス要求によってデータが更新された後にリードアクセス要求の処理を許可するため、マスタから見た共有メモリのデータの一貫性を保証したうえで、リードアクセス要求の応答性を高めることが可能になる。
【００７１】
（選択情報によるアクセス要求の選択）
また、図２Ｃに示すように、アクセス要求制御部１１は、さらに、非優先アクセス要求保持部２４で保持されている非優先アクセス要求を強制的に選択するかどうかを指示する選択情報を保持する選択情報保持部３６を備える構成としてもよい。アクセス要求選択部２３は、さらに、選択情報保持部３６から選択情報から出力される選択情報が非優先アクセス要求を優先的に選択するよう指示している場合にはパス２６上の第２種のアクセス要求をパス１０１上へ出力し、そうでない場合はパス２２上の第１種のアクセス要求をパス１０１へ出力する構成としてもよい。
【００７２】
（ライトデータ未到着通知によるアクセス要求の選択）
前記第１の実施形態の構成では、アクセス要求選択部２３において、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されている場合は、パス２６上の第２種のアクセス要求をパス１０１上へ出力する構成を示した。これの変形として、図１０のように、メモリアクセス制御装置は、さらに、非優先アクセス要求保持部２４で保持されているアクセス要求がライトアクセス要求である場合に、当該ライトアクセス要求で転送されるデータを一時的に保持するライトデータ保持部１５と、ライトデータ保持部１５に書き込まれているデータ量があらかじめ決められた量に達していない場合にそれをアクセス要求選択部２３に通知するライトデータ未到着通知パス１０９を備える構成としてもよい。この場合、アクセス要求選択部２３は、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されている場合に、ライトデータ未到着通知パス１０９上にライトデータ未到着通知が出力されている場合はパス１０１上へアクセス要求を出力せず、ライトデータ未到着通知が出力されていない場合には、パス２６上の第２種のアクセス要求をパス１０１上へ出力する構成にしてもよい。上記のしきい値は、例えばライトアクセス要求１個分による書き込みデータサイズとしてもよいし、複数の第２種のアクセス要求による書き込みデータサイズとしてもよい。前者の場合のライトデータ未到着通知は、ライトアクセス要求１個分のライトデータが未だライトデータ保持部１５に保持されていないことを示し、前者の場合のライトデータ未到着通知は、ライトアクセス要求複数個分のライトデータが未だライトデータ保持部１５に保持されていないことを示す。前者の場合は、１個のライト要求のライトデータが揃うまで当該ライト要求の選択を禁止することができる。後者の場合は、複数個のライト要求が非優先アクセス要求保持部２４に保持されるまでは、ライト要求を敢えて選択しないことができる。
【００７３】
（非優先アクセス要求保持数によるアクセス要求の選択）
前記第１の実施形態の構成では、アクセス要求選択部２３において、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合、パス１０１上へアクセス要求を出力しない構成を説明した。これの変形として、図２Ｄに示すようにアクセス要求制御部１１は、さらに、非優先アクセス要求保持部２４に保持された非優先アクセス要求の個数を検知し、その数があらかじめ決められた値を越えた場合に、それをアクセス要求選択部２３に通知するするアクセス要求数検知部３７を備える構成としてもよい。この場合、アクセス要求選択部２３は、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合に、非優先アクセス要求保持数超過通知パス上に非優先アクセス要求保持数超過通知が出力されている場合は、パス２６上の第２種のアクセス要求をパス１０１上へ出力し、非優先アクセス要求保持数超過通知が出力されていない場合は、パス１０１上へアクセス要求を出力しない構成にしてもよい。
【００７４】
（ライトデータ保持量によるアクセス要求の選択）
また、メモリアクセス制御装置は、さらに、ライトデータ保持部１５で保持されているライトデータの量があらかじめ決められた値を越えた場合に、それをアクセス要求選択部２３に通知するライトデータ保持量超過通知パスを備えるようにしてもよい。この場合、アクセス要求選択部２３は、パス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合に、ライトデータ保持量超過通知パス上にライトデータ保持量超過通知が出力されている場合は、パス２６上の第２種のアクセス要求をパス１０１上へ出力し、ライトデータ保持量超過通知が出力されていない場合は、パス１０１上へアクセス要求を出力しない構成にしてもよい。
【００７５】
この構成によれば、保持している非優先アクセス要求が保持可能な限界に近づいた、あるいは達した場合に、優先アクセス要求が存在しない場合には、非優先アクセス要求の処理を行うため、引き続いて非優先アクセス要求がマスタ１から出力されても、その要求をアクセス要求制御部１１にて保留することが可能であり、さらに引き続く優先アクセス要求を阻害しない。
【００７６】
（第２の実施形態）
図１１Ａは、第２の実施形態におけるメモリアクセス制御装置含むシステムの概略を示すブロック図である。第２の実施形態は、第１の実施形態と比較して、アクセス要求制限部１２がマスタ１のアクセス要求が許容アクセスレートに達しないと予測した場合に、それをアクセス要求制御部１１へ通知するアクセス要求未達通知パス１０６を備え、アクセス要求制御部１１において、パス２２のアクセス要求が存在せずパス２６上にアクセス要求が存在する場合に、パス１０６にアクセス要求未達通知が出力されている場合には、パス２６上の第２種のアクセス要求をパス１０１上へ出力すると判断する点が異なる。そのため、アクセス要求制限部１２は、図１１Ｂに示すように、マスタ１から出力されるアクセス要求が許容アクセスレートに達するか否かを予測する未達予測部３８を備える。
【００７７】
図１２は、第２の実施形態におけるアクセス要求制御部１１の詳細な動作を示すフローチャートである。第１の実施形態と比較して、Ｓ４０３でパス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合、アクセス要求制御部１１は、Ｓ４１２の条件判断を行う。その結果、パス１０６にアクセス要求未達通知が出力されている場合には、アクセス要求制御部１１は、Ｓ４０５へ遷移し、パス２６上の第２種のアクセス要求をパス１０１上へ出力する。パス１０６にアクセス要求未達通知が出力されていない場合には、Ｓ４０４へ遷移し、パス１０１上へアクセス要求を出力しない。その他の構成は第１の実施形態と同様である。
【００７８】
以上の構成によれば、許容されたアクセスレートの範囲内でリードアクセス要求を優先し、残りのアクセスレートでライトアクセスの処理を行うため、許容されたアクセスレートを有効に利用することが可能となる。
【００７９】
なお、第２の実施形態を採った場合においても、第１の実施形態で説明した種々の変形は同様に可能である。
【００８０】
（第３の実施形態）
図１３は、第３の実施形態におけるメモリアクセス制御装置含むシステムの概略を示すブロック図である。第３の実施形態は、第１の実施形態と比較して、アクセス調停部１０は、パス１０２、２０２、３０２を介してアクセス要求が出力されていない空き状態を検知する空き検知部３９と、空き状態が検知された場合にその旨をアクセス要求制御部１１へ通知するアクセス要求空き通知パス１０７とを備え、アクセス要求制御部１１において、パス２２のアクセス要求が存在せずパス２６上にアクセス要求が存在する場合に、パス１０７にアクセス要求空き通知が出力されている場合には、パス２６上の第２種のアクセス要求をパス１０１上へ出力すると判断する点で、第１の実施形態と異なる。
【００８１】
図１４に第３の実施形態におけるアクセス要求制御部１１の詳細を示す。第１の実施形態と比較して、Ｓ４０３でパス１０４上にアクセス要求制限部１２からのアクセス要求制限通知が出力されていない場合、Ｓ４１３の条件判断を行う。Ｓ４１３の結果、パス１０７にアクセス要求空き通知が出力されている場合には、アクセス要求制御部１１は、Ｓ４０５へ遷移し、パス２６上の第２種のアクセス要求をパス１０１上へ出力する。パス１０７にアクセス要求空き通知が出力されていない場合には、Ｓ４０４へ遷移し、パス１０１上へアクセス要求を出力しない。その他の構成は第１の実施形態と同様である。
【００８２】
第３の実施形態におけるアクセス要求制限部１２では、パス１０７にアクセス要求空き通知が出力されている場合には、パス１０３上にアクセス要求受理が出力されてもアクセス要求制限処理部５０７にアクセス要求を制限するよう指示しない。その他の構成は第１の実施形態と同様である。
【００８３】
以上の構成によれば、マスタ１以外のマスタのアクセス要求が存在していない場合には、共有メモリのアクセスに性能に余裕があると判断し、非優先アクセス要求の処理を行う。この場合には、マスタ１に許容されるアクセスレートでのアクセス要求とは判断しないため、共有メモリへの空きアクセス性能を有効に利用することが可能となる。
【００８４】
なお、第３の実施形態を採った場合においても、第１の実施形態で説明した種々の変形は同様に可能である。
【産業上の利用可能性】
【００８５】
本発明にかかるメモリアクセス制御装置は、プロセッサのように高速な処理を必要とするアクセス要求と高速に処理する必要のないアクセス要求の二種類の要求性能の異なるアクセスを行うマスタを含む、複数のマスタがメモリを共有するシステムにおいて、他のマスタの共有メモリアクセス要求性能を満たしつつ、前記二種類の要求性能の異なるアクセスを行うマスタの高速処理を必要とするアクセスの応答性を高める特徴を有し、ユニファイドメモリアーキテクチャ構成をとるシステムＬＳＩの外部メモリアクセス調停回路等として有用である。また内蔵ＤＲＡＭ、内部ＳＲＡＭに対するアクセス調停回路等の用途にも応用できる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施形態におけるメモリアクセス制御装置の構成を示す機能ブロック図である。
【図２Ａ】アクセス要求制御部の構成を示す機能ブロック図である。
【図２Ｂ】アクセス要求制御部の変形例を示す機能ブロック図である。
【図２Ｃ】アクセス要求制御部の変形例を示す機能ブロック図である。
【図２Ｄ】アクセス要求制御部の変形例を示す機能ブロック図である。
【図３】非優先アクセス要求保持部の構成を示す機能ブロック図である。
【図４】アクセス要求選択部の動作を説明するフローチャートである。
【図５】本発明の第１の実施形態におけるアクセス要求制限部の機能ブロック図である。
【図６】本発明の第１の実施形態におけるアクセス調停部の動作仕様を説明するフローチャートである。
【図７】共有メモリの一貫性を保証する構成のアクセス要求制御部の機能ブロック図である。
【図８】共有メモリの一貫性を保証する構成の非優先アクセス要求保持部の機能ブロック図である。
【図９】共有メモリの一貫性を保証する構成のアクセス要求選択部の動作仕様を説明するフローチャートである。
【図１０】ライトデータ未到着通知パスを備えるメモリアクセス制御装置の機能ブロック図である。
【図１１Ａ】本発明の第２の実施形態におけるメモリアクセス制御装置の構成を示すブロック図である。
【図１１Ｂ】本発明の第２の実施形態におけるアクセス要求制限部の構成を示すブロック図である。
【図１２】本発明の第２の実施形態におけるアクセス要求選択部の動作仕様を説明するフローチャートである。
【図１３】本発明の第３の実施形態におけるアクセス要求制御部の機能ブロック図である。
【図１４】本発明の第３の実施形態におけるアクセス要求選択部の動作仕様を説明するフローチャートである。
【符号の説明】
【００８７】
１〜３  マスタ
１０  アクセス調停部
１１  アクセス要求制御部
１２〜１４  アクセス要求制限部
１５  ライトデータ保持部
２１  アクセス要求分別部
２３  アクセス要求選択部
２４  非優先アクセス保持部
２２  優先アクセス要求パス
２５  非優先アクセス要求パス
２６  非優先アクセス要求パス
３１  アドレス一致通知パス
３０  ＦＩＦＯレジスタ
３５  分別情報保持部
３６  選択情報保持部
３７  アクセス要求数検知部
３８  未達予測部
３９  空き検知部
１００〜１０２  アクセス要求パス
１０３  アクセス要求受理通知パス
１０４  アクセス制限通知パス
１０５  アクセス要求受理通知パス
１０６  アクセス要求未達通知パス
１０７  アクセス要求空き通知パス
１０８  ライトデータ転送パス
１０９  ライトデータ未到着通知パス
２００  アクセス要求パス
２０２  アクセス要求制限部からのアクセス要求パス
２０３  アクセス調停部からのアクセス要求受理通知パス
３００  アクセス要求パス
３０２  アクセス要求制限部からのアクセス要求パス
３０３  アクセス調停部からのアクセス要求受理通知パス
５０２  許容アクセスレート設定情報
５０５  許容アクセスレート保持部
５０６  アクセスレート計測部
５０７  アクセス要求制限処理部
【図１】
2008027245.tif 000003
【図２Ａ】
2008027245.tif 000004
【図２Ｂ】
2008027245.tif 000005
【図２Ｃ】
2008027245.tif 000006
【図２Ｄ】
2008027245.tif 000007
【図３】
2008027245.tif 000008
【図４】
2008027245.tif 000009
【図５】
2008027245.tif 000010
【図６】
2008027245.tif 000011
【図７】
2008027245.tif 000012
【図８】
2008027245.tif 000013
【図９】
2008027245.tif 000014
【図１０】
2008027245.tif 000015
【図１１Ａ】
2008027245.tif 000016
【図１１Ｂ】
2008027245.tif 000017
【図１２】
2008027245.tif 000018
【図１３】
2008027245.tif 000019
【図１４】
2008027245.tif 000020