(57)【要約】【課題】１つのメモリに対する複数のアクセスマスタの競合に対して柔軟、かつ、確実にレイテンシを保証する。【解決手段】  メモリアクセス制御回路１０１は、複数のアクセスマスタ２０１とメモリ３０１との間に設けられる。優先度比較回路１３１は優先度レジスタ１１２に保持される優先度を比較し、セレクタ１３２は最も優先度の高いアクセスマスタ２０１にアクセスを許可する。優先度レジスタ１１２に保持される優先度は、アクセスが待たされるごとに減算値レジスタ１１４の値が減算されることによって上昇し、アクセスされやすくなる。連続アクセス回数レジスタ１２４は連続アクセス回数を保持し、アクセス上限回数レジスタ１２７に達すると、次のアクセス要求があったときに優先度レジスタ１１２に保持される初期値の優先度が低く抑えられる。【選択図】図１
2005173859.tif 000002
【特許請求の範囲】
【請求項１】
１つのメモリに対する複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御回路であって、
各アクセスマスタからの要求に応じたアクセス許可の優先度を保持する優先度保持手段と、
上記優先度保持手段に保持された優先度に基づいて、各アクセスマスタにアクセス許可を与えるアクセス許可手段と、
各アクセスマスタによるアクセスが完了した後に、上記優先度保持手段に保持される優先度を所定の初期値に設定する一方、各アクセスマスタによるアクセスが待たされるごとに、上記優先度保持手段に保持されている優先度を所定の程度だけ上昇させる優先度制御手段と、
を備えたことを特徴とするメモリアクセス制御回路。
【請求項２】
請求項１のメモリアクセス制御回路であって、さらに、
上記優先度保持手段に保持される上記優先度の初期値を保持する優先度初期値保持手段と、
上記優先度保持手段に保持されている上記優先度の上昇程度を示す値を保持する優先度上昇程度保持手段と、
を備え、
上記優先度制御手段は、上記優先度初期値保持手段および優先度上昇程度保持手段に保持された値に基づいて、上記優先度の初期値の設定を行い、または優先度を上昇させるように構成されていることを特徴とするメモリアクセス制御回路。
【請求項３】
請求項１のメモリアクセス制御回路であって、
上記優先度制御手段は、さらに、同一のアクセスマスタによるアクセスが連続して許可された場合に、そのアクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を低下させるように構成されていることを特徴とするメモリアクセス制御回路。
【請求項４】
請求項３のメモリアクセス制御回路であって、
上記優先度制御手段は、同一のアクセスマスタによるアクセスが所定の回数連続して許可された場合に、アクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を所定の程度だけ低下させるように構成されていることを特徴とするメモリアクセス制御回路。
【請求項５】
請求項４のメモリアクセス制御回路であって、さらに、
同一のアクセスマスタによる連続したアクセス回数を保持する連続アクセス回数保持手段と、
上記連続したアクセス回数の上限回数を保持する連続アクセス上限回数保持手段と、
上記優先度保持手段に保持されている上記優先度の低下程度を示す値を保持する優先度低下程度保持手段と、
を備え、
上記優先度制御手段は、上記連続アクセス回数保持手段に保持される回数が、上記連続アクセス上限回数保持手段に保持されている上限回数以上または上限回数を超える回数になったときに、そのアクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を上記優先度低下程度保持手段に保持されている値だけ低下させるように構成されていることを特徴とするメモリアクセス制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ひとつのメモリに対して複数のアクセスマスタが競合してアクセスする場合のアクセス性能を保証するために、上記アクセスマスタからのアクセス要求を調停するメモリアクセス制御回路に関するものである。
【背景技術】
【０００２】
近年、システムＬＳＩにおけるユニファイド化等に伴い、複数のアクセスマスタが同一のメモリにアクセスするシステムが多くなっている。このようなシステムでは、各アクセスマスタからのアクセス要求に対するアクセス制御は、システムの性能に大きな影響を与える。そこで、各アクセスマスタからのアクセス要求に対する遅延時間、すなわちレイテンシを保証するために、複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御回路が設けられる。すなわち、複数のアクセスマスタからのアクセス要求が競合した場合に、ラウンドロビン方式で順次アクセスを許可したり、固定された優先度でアクセスを許可したりするようになっている（例えば、特許文献１、２参照）。
【特許文献１】特開平１１−３１６７３８号公報
【特許文献２】特開平１０−２４７１３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来のメモリアクセス制御回路では、柔軟、かつ、確実にレイテンシを保証することは困難であるという問題点を有していた。すなわち、ラウンドロビン方式が用いられる場合には、各アクセスマスタに対して公平な仲裁は可能となるが、アクセスマスタによってそれぞれ異なるレイテンシを保証することはできない。また、固定された優先度でアクセスが許可される場合には、優先度の高いアクセス要求と優先度の低いアクセス要求とが連続して発生するような場合に、優先度の低いアクセス要求に対するレイテンシを保証することが困難になる。
【０００４】
本発明は、上記の点に鑑み、メモリアクセス制御回路によって、柔軟、かつ、確実にレイテンシを保証することができるようにすることを目的としている。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、請求項１の発明は、
１つのメモリに対する複数のアクセスマスタからのアクセス要求を調停するメモリアクセス制御回路であって、
各アクセスマスタからの要求に応じたアクセス許可の優先度を保持する優先度保持手段と、
上記優先度保持手段に保持された優先度に基づいて、各アクセスマスタにアクセス許可を与えるアクセス許可手段と、
各アクセスマスタによるアクセスが完了した後に、上記優先度保持手段に保持される優先度を所定の初期値に設定する一方、各アクセスマスタによるアクセスが待たされるごとに、上記優先度保持手段に保持されている優先度を所定の程度だけ上昇させる優先度制御手段と、
を備えたことを特徴とする。
【０００６】
また、請求項２の発明は、
請求項１のメモリアクセス制御回路であって、さらに、
上記優先度保持手段に保持される上記優先度の初期値を保持する優先度初期値保持手段と、
上記優先度保持手段に保持されている上記優先度の上昇程度を示す値を保持する優先度上昇程度保持手段と、
を備え、
上記優先度制御手段は、上記優先度初期値保持手段および優先度上昇程度保持手段に保持された値に基づいて、上記優先度の初期値の設定を行い、または優先度を上昇させるように構成されていることを特徴とする。
【０００７】
これらにより、各アクセスマスタによるアクセスが待たされるほど、上記優先度保持手段に保持されている優先度が上昇し、アクセスが許可されやすくなる。
【０００８】
また、請求項３の発明は、
請求項１のメモリアクセス制御回路であって、
上記優先度制御手段は、さらに、同一のアクセスマスタによるアクセスが連続して許可された場合に、そのアクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を低下させるように構成されていることを特徴とする。
【０００９】
また、請求項４の発明は、
請求項３のメモリアクセス制御回路であって、
上記優先度制御手段は、同一のアクセスマスタによるアクセスが所定の回数連続して許可された場合に、アクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を所定の程度だけ低下させるように構成されていることを特徴とする。
【００１０】
また、請求項５の発明は、
請求項４のメモリアクセス制御回路であって、さらに、
同一のアクセスマスタによる連続したアクセス回数を保持する連続アクセス回数保持手段と、
上記連続したアクセス回数の上限回数を保持する連続アクセス上限回数保持手段と、
上記優先度保持手段に保持されている上記優先度の低下程度を示す値を保持する優先度低下程度保持手段と、
を備え、
上記優先度制御手段は、上記連続アクセス回数保持手段に保持される回数が、上記連続アクセス上限回数保持手段に保持されている上限回数以上または上限回数を超える回数になったときに、そのアクセスマスタからの次の要求に応じて上記優先度保持手段に保持される初期値としての優先度を上記優先度低下程度保持手段に保持されている値だけ低下させるように構成されていることを特徴とする。
【００１１】
これらにより、同一のアクセスマスタに連続してアクセスが許可されるほど、次にアクセス要求がなされたときの優先度が低く設定され、特定のアクセスマスタによるアクセスが集中しにくくなる。
【発明の効果】
【００１２】
本発明によれば、メモリアクセス制御回路によって、柔軟、かつ、確実にレイテンシを保証することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００１４】
メモリアクセス制御回路１０１は、図１に示すように、複数のアクセスマスタ２０１とメモリ３０１との間に設けられている。このメモリアクセス制御回路１０１は、それぞれ各アクセスマスタ２０１に対応する複数の優先度制御部１１１（優先度制御手段の一部）および連続アクセス監視部１２１（優先度制御手段の一部）と、各優先度制御部１１１から連続アクセス監視部１２１を介して入力される優先度を比較する優先度比較回路１３１と、上記優先度比較回路１３１の出力に応じて、何れかのアクセスマスタ２０１によるメモリ３０１へのアクセスを許可するセレクタ１３２（アクセス許可手段）とを備えている。
【００１５】
上記優先度制御部１１１は、より詳しくは、図２に示すように、優先度を示す値（この例では小さいほど優先度が高い）を保持する優先度レジスタ１１２（優先度保持手段）、上記優先度レジスタ１１２の初期値としての要求レイテンシ値を保持する要求レイテンシ値レジスタ１１３（優先度初期値保持手段）、メモリ３０１へのアクセスが待たされるごとに優先度レジスタ１１２に保持されている優先度から減算する値を保持する減算値レジスタ１１４（優先度上昇程度保持手段）、上記減算を行う減算器１１５、上記要求レイテンシ値レジスタ１１３に保持される要求レイテンシ値に後述する増分値を加算する加算器１１６、および上記要求レイテンシ値レジスタ１１３、減算器１１５、または加算器１１６の出力を選択して優先度レジスタ１１２に保持させ得るセレクタ１１７を備えて構成されている。
【００１６】
また、連続アクセス監視部１２１は、図３に示すように、この連続アクセス監視部１２１および優先度制御部１１１を制御する制御回路１２２、優先度制御部１１１から出力される優先度を所定のタイミングで優先度比較回路１３１に出力させるゲート回路１２３、同一のアクセスマスタ２０１に連続してアクセスが許可された回数（連続アクセス回数）を保持する連続アクセス回数レジスタ１２４（連続アクセス回数保持手段）、同一のアクセスマスタ２０１に連続してアクセスが許可される場合に上記連続アクセス回数レジスタ１２４に保持されている値に値“１”を加算する加算器１２５、上記加算器１２５による加算結果または制御回路１２２から後述するクリア時に出力される値“０”を選択的に連続アクセス回数レジスタ１２４に保持させるセレクタ１２６、連続アクセス回数の上限回数を保持するアクセス上限回数レジスタ１２７（連続アクセス上限回数保持手段）、加算器１２５の加算結果と上記上限回数とを比較する比較器１２８、および連続アクセス回数が上限回数に達したときに優先度を低下させるために要求レイテンシ値レジスタ１１３に保持されている要求レイテンシ値に加算する増分値を保持する増分値レジスタ１２９（優先度低下程度保持手段）を備えて構成されている。
【００１７】
上記のように構成されたメモリアクセス制御回路では、次のようにしてアクセス制御がなされる。
【００１８】
まず、各アクセスマスタ２０１または図示しない制御装置などによって、要求レイテンシ値レジスタ１１３、減算値レジスタ１１４、アクセス上限回数レジスタ１２７、および増分値レジスタ１２９に、それぞれ要求レイテンシ値、減算値、アクセス上限回数、または増分値が設定される。なお、これらの値は各アクセスマスタ２０１に共通に用いられるようにしたり、あらかじめ固定的に設定されるようにしたりしてもよいが、上記のように各アクセスマスタ２０１に対応させてそれぞれのレジスタを設けることによって、アクセスの優先度を柔軟に設定することができる。また、これらのレジスタへの設定は、メモリアクセス制御回路が用いられるシステムの状態等に応じて動作中に適宜変更されるようにしてもよい。
【００１９】
上記設定がなされた後に、何れかのアクセスマスタ２０１からアクセス信号バスを介してアクセス要求が出力されると、制御回路１２２は、セレクタ１１７に要求レイテンシ値レジスタ１１３の出力を選択させる選択信号を出力し、要求レイテンシ値が優先度の初期値として優先度レジスタ１１２に保持される。優先度レジスタ１１２に保持された優先度は所定のタイミングでゲート回路１２３を介して優先度比較回路１３１に入力され、他のアクセスマスタ２０１の優先度と比較される。優先度比較回路１３１からは優先度の値が最も小さい（優先度が高い）アクセスマスタ２０１を示す比較結果信号が出力され、そのアクセスマスタ２０１からのアクセス信号バスがセレクタ１３２を介してメモリバスに接続され、アクセスが許可される。
【００２０】
このとき、上記アクセスが許可されたアクセスマスタ２０１に対応する優先度制御部１１１では、上記比較結果信号に基づいて制御回路１２２から出力される選択信号に応じて、セレクタ１１７により要求レイテンシ値レジスタ１１３の出力が再度選択され、要求レイテンシ値が優先度レジスタ１１２に保持される。一方、アクセス要求をしていてもアクセスが許可されなかった（待ちが生じた）アクセスマスタ２０１に対応する優先度制御部１１１では、制御回路１２２から出力される選択信号に応じて、セレクタ１１７により減算器１１５からの出力が選択され、優先度レジスタ１１２に保持されていた優先度を減算値レジスタ１１４に保持されている減算値だけ減じた値が保持される。つまり、待ちが生じるごとに優先度が高くなり、要求レイテンシ値を減算値で除した回数以下の待ちで必ずアクセスが許可されるようになる。
【００２１】
また、何れかのアクセスマスタ２０１に連続してアクセスが許可された場合、そのアクセスマスタ２０１に対応する連続アクセス監視部１２１では、連続アクセス回数レジスタ１２４に保持されている連続アクセス回数が加算器１２５によってインクリメントされる。このインクリメントは、他のアクセスマスタ２０１にアクセスが許可されて連続アクセス回数レジスタ１２４がクリアされるまで行われる。そこで、連続したアクセスが繰り返し行われ、やがて加算器１２５の出力がアクセス上限回数レジスタ１２７に保持されたアクセス上限回数に一致すると、そのアクセスマスタ２０１から次にアクセス要求がなされたときに、制御回路１２２から出力される選択信号に応じて、セレクタ１１７により加算器１１６の出力が選択される。すなわち、要求レイテンシ値レジスタ１１３に保持されている要求レイテンシ値に、増分値レジスタ１２９に保持されている増分値を加算した値が、優先度の初期値として優先度レジスタ１１２に保持される。これによって、要求レイテンシ値が小さい（優先度が高い）アクセスマスタ２０１であっても、過度に連続アクセスが行われることによって他のアクセスマスタ２０１のアクセスが阻害されるのを容易に防ぐことができる。なお、連続アクセスが行われた場合でも優先度を低下させるべきでないアクセスマスタ２０１がある場合には、増分値レジスタ１２９に値“０”を保持させたり、アクセス上限回数レジスタ１２７に十分に大きな値を保持させたりすればよい。
【００２２】
上記のように、要求レイテンシ値を設定して、アクセス要求に対して待ちが生じるごとに優先度を上昇させ、また、連続してアクセスが行われるごとに、次にアクセス要求がなされた場合の優先度の初期値を低下させることによって、アクセスマスタ２０１ごとに互いに異なる要求レイテンシ値に応じて、何れのアクセスマスタ２０１にも確実にアクセスが許可され、また、何れかのアクセスマスタ２０１だけに連続的なアクセスが集中することが防止されるようにすることができ、柔軟、かつ、確実にレイテンシを保証することができる。
【００２３】
なお、上記の例では、優先度レジスタ１１２に保持される値が小さいほど優先度が高いとしたが、加算、減算を入れ替えるなどすれば、値が大きいほど優先度が高くなるようにすることも容易にできる。
【００２４】
また、各優先度レジスタ１１２に保持される優先度が一致する場合には、ラウンドロビン方式を併用するなどしてもよく、その場合でも、何れの優先度も待ちが生じるごとに上昇するので、やはり確実にアクセス許可がなされることになる。また、例えば、３つのアクセスマスタ２０１についての要求レイテンシ値を１０、１１、１２のようにずらして設定し、減算値を３に設定するなどすれば、各優先度レジスタ１１２に保持される優先度の値は常に一致しないようにすることができる。
【００２５】
また、連続アクセス回数は１つのアクセス上限回数レジスタ１２７に保持された値とだけ比較される例を示したが、これに限らず、多段階の値と比較して、段階的に増分値を大きくするなどしてもよい。
【産業上の利用可能性】
【００２６】
本発明にかかるメモリアクセス制御回路は、柔軟、かつ、確実にレイテンシを保証することができる効果を有し、ひとつのメモリに対して複数のアクセスマスタが競合してアクセスする場合のアクセス性能を保証するために上記アクセスマスタからのアクセス要求を調停するメモリアクセス制御回路等として有用である。
【図面の簡単な説明】
【００２７】
【図１】実施形態のメモリアクセス制御回路の構成を示す回路図である。
【図２】同、優先度制御部１１１の詳細な構成を示す回路ぞである。
【図３】同、連続アクセス監視部１２１の詳細な構成を示す回路ぞである。
【符号の説明】
【００２８】
１０１      メモリアクセス制御回路
１１１      優先度制御部
１１２      優先度レジスタ
１１３      要求レイテンシ値レジスタ
１１４      減算値レジスタ
１１５      減算器
１１６      加算器
１１７      セレクタ
１２１      連続アクセス監視部
１２２      制御回路
１２３      ゲート回路
１２４      連続アクセス回数レジスタ
１２５      加算器
１２６      セレクタ
１２７      アクセス上限回数レジスタ
１２８      比較器
１２９      増分値レジスタ
１３１      優先度比較回路
１３２      セレクタ
２０１      アクセスマスタ
３０１      メモリ
【図１】
2005173859.tif 000003
【図２】
2005173859.tif 000004
【図３】
2005173859.tif 000005