(57)【要約】【課題】内部のデータ転送バス幅がＤＲＡＭのデータバス幅より小さい場合に生じるデータのビット幅変換期間によるメモリアクセスの効率の低下を解決する。【解決手段】ｎビットの内部バスを持つ内部メモリ２１１からの書き込み要求であった場合、バス調停部１０７でバス使用許可が与えられるが、メモリ読み出し制御部２０８がＤＭＡ転送する際にｍ（ｍ＞ｎ）ビット幅への変換が必要となる。このデータ変換期間において、次の使用許可が与えられるべきバス使用要求が、ｎビット幅の内部メモリ２１１への読み出し要求、ｍビット幅の内部メモリ２１２への読み出し要求、ｍビットの内部メモリ２１２からの書き込み要求のうち何れかの場合、書き込み要求からそれらの要求に対して一時的にバス使用許可を譲る。それらの要求に対するＤＲＡＭ２１０へのアクセスが終了した後、一度使用許可を手放したｎビットの内部メモリ２１１からの書き込み要求を実行する。【選択図】図３
2007108818.tif 000002
【特許請求の範囲】
【請求項１】
ｎ（ｎは自然数）ビット幅のバスを持つ複数の機能ブロックが、ｍ（ｍはｍ＞ｎの自然数）ビット幅のデータバスを持つ同一のメモリにアクセスするように構成されたシステムを用いたメモリアクセス制御方法であって、
複数のバス使用要求が競合した場合に、該バス使用要求を調停してバス使用許可を与えるバス調停手順と、
前記バス使用許可を与えられたバス使用要求を順に受け取り、前記メモリへのアクセスを制御するメモリ制御手順と、
前記メモリ制御手順により実行される前記メモリへのアクセスが、該メモリへの書き込み要求であった場合に、ｎビット幅からｍビット幅へとデータの変換を実行する手順と、
前記データ変換期間において、前記書き込み要求に与えられた前記バス使用許可を一時的に手放す手順とを備えたことを特徴とするメモリアクセス制御方法。
【請求項２】
請求項１に記載されたメモリアクセス制御方法において、
前記メモリはＤＲＡＭ（Dynamic Random Access Memory）であり、
前記データ変換期間において、前記ＤＲＡＭに対してリフレッシュを実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項３】
請求項１に記載されたメモリアクセス制御方法において、
前記メモリへの書き込み要求と該メモリからの読み出し要求とをそれぞれ独立に制御する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項４】
請求項３に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記メモリからの読み出し要求を実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項５】
請求項４に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記バス調停時に取得される判別情報に基づいて、前記メモリからの読み出し要求を実行するか否かを決定する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項６】
ｎ（ｎは自然数）ビット幅のバスを持つ複数の機能ブロックと、ｋ（ｋはｋ＞ｎの自然数）ビット幅のバスを持つ複数の機能ブロックとが、ｍ（ｍはｍ≧ｋの自然数）ビット幅のデータバスを持つ同一のメモリにアクセスするように構成されたシステムを用いたメモリアクセス制御方法であって、
複数のバス使用要求が競合した場合に、該バス使用要求を調停してバス使用許可を与えるバス調停手順と、
前記バス使用許可を与えられたバス使用要求を順に受け取り、前記メモリへのアクセスを制御するメモリ制御手順と、
前記メモリ制御手順により実行される前記メモリへのアクセスが、前記ｎビット幅のバスを持つ機能ブロックから該メモリへの書き込み要求であった場合に、ｎビット幅からｍビット幅へとデータの変換を実行する手順と、
前記データ変換期間において、前記書き込み要求に与えられた前記バス使用許可を一時的に手放す手順とを備えたことを特徴とするメモリアクセス制御方法。
【請求項７】
請求項６に記載されたメモリアクセス制御方法において、
前記メモリはＤＲＡＭ（Dynamic Random Access Memory）であり、
前記データ変換期間において、前記ＤＲＡＭに対してリフレッシュを実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項８】
請求項６に記載されたメモリアクセス制御方法において、
前記メモリへの書き込み要求と該メモリからの読み出し要求とをそれぞれ独立に制御する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項９】
請求項８に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記ｎビット幅のバスを持つ機能ブロックにおける前記メモリからの読み出し要求を実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１０】
請求項９に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記バス調停時に取得される判別情報に基づいて、前記ｎビット幅のバスを持つ機能ブロックにおける前記メモリからの読み込み要求を実行するか否かを決定する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１１】
請求項６に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記ｋビット幅のバスを持つ機能ブロックにおける前記メモリからの読み出し要求を実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１２】
請求項６に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記バス調停時に取得される判別情報に基づいて、前記ｋビット幅のバスを持つ機能ブロックにおける前記メモリからの読み出し要求を実行するか否かを決定する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１３】
請求項６に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記ｋビット幅のバスを持つ機能ブロックにおける前記メモリへの書き込み要求を実行する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１４】
請求項６に記載されたメモリアクセス制御方法において、
前記データ変換期間において、前記バス調停時に取得される判別情報に基づいて、前記ｋビット幅のバスを持つ機能ブロックにおける前記メモリへの書き込み要求を実行するか否かを決定する手順をさらに備えたことを特徴とするメモリアクセス制御方法。
【請求項１５】
ｎ（ｎは自然数）ビット幅のバスを持つ複数の機能ブロックが、ｍ（ｍはｍ＞ｎの自然数）ビット幅のデータバスを持つ同一のメモリにアクセスするように構成されたシステムを用いたメモリアクセス制御方法であって、
複数のバス使用要求が競合した場合に、該バス使用要求を調停してバス使用許可を与えるバス調停手順と、
前記バス調停後の複数のバス使用要求を調停順に保持するバス使用要求記憶手順と、
前記バス使用許可を与えられたバス使用要求を順に受け取り、前記メモリへのアクセスを制御するメモリ制御手順と、
前記メモリ制御手順により実行される前記メモリへのアクセスが該メモリへの書き込み要求以外の要求であり、且つ前記バス使用要求記憶手順において保持したバス使用要求の中に該メモリへの書き込み要求がある場合に、該メモリへの書き込み要求以外の要求が該メモリにアクセスしている期間において、該メモリへの書き込み要求で書き込まれるデータのｎビット幅からｍビット幅への変換を実行する手順とを備えたことを特徴とするメモリアクセス制御方法。
【請求項１６】
ｎ（ｎは自然数）ビット幅のバスを持つ複数の機能ブロックと、ｋ（ｋはｋ＞ｎの自然数）ビット幅のバスを持つ複数の機能ブロックとが、ｍ（ｍはｍ≧ｋの自然数）ビット幅のデータバスを持つ同一のメモリにアクセスするように構成されたシステムを用いたメモリアクセス制御方法であって、
複数のバス使用要求が競合した場合に、該バス使用要求を調停してバス使用許可を与えるバス調停手順と、
前記バス調停後の複数のバス使用要求を調停順に保持するバス使用要求記憶手順と、
前記バス使用許可を与えられたバス使用要求を順に受け取り、前記メモリへのアクセスを制御するメモリ制御手順と、
前記メモリ制御手順により実行される前記メモリへのアクセスが前記ｎビット幅のバスを持つ機能ブロックにおける該メモリからの書き込み要求以外の要求であり、且つ前記バス使用要求記憶手順において保持したバス使用要求の中に該ｎビット幅のバスを持つ機能ブロックにおける該メモリへの書き込み要求がある場合に、該ｎビット幅のバスを持つ機能ブロックにおける該メモリへの書き込み要求以外の要求がメモリにアクセスしている期間において、該ｎビット幅のバスを持つ機能ブロックにおける該メモリへの書き込み要求で書き込まれるデータのｎビット幅からｍビット幅への変換を実行する手順とを備えたことを特徴とするメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスを効率良く行うためのメモリアクセス制御方法に関する。
【背景技術】
【０００２】
画像処理などの大量の記憶容量を必要する処理を行うシステムを半導体集積回路として設計する際に、その主記憶部としては、コストや集積回路のプロセスの観点から、Dynamic Random Access Memory（以下、ＤＲＡＭという）を半導体集積回路に外付けして使用するのが一般的である。
【０００３】
このような半導体集積回路の外付けＤＲＡＭにアクセスするためのピンの割り当ては、コストの問題に直結する半導体集積回路の面積への影響の観点から、３２ビット幅分又は１６ビット幅分とするのが一般的であり、外付けされるＤＲＡＭには、データ入出力のバスが３２ビット幅又は１６ビット幅のものを使用することが多い。これに伴い、半導体集積回路の内部におけるデータ転送バス幅は、データ入出力のバス幅と同等の値で設計されていることが多く、ＤＲＡＭとのデータのバス幅変換によって、大きなメモリアクセスの効率低下は、議論の対象にはなっていない（例えば、特許文献１参照）。
【０００４】
図７は、従来のメモリ制御装置の構成を示すブロック図である。図７に示すように、メモリ制御装置９００は、バス使用要求を出す機能ブロック（以下、バスマスタという）を複数有しており、バスマスタ９０１〜９０６で発生させたバス使用要求は、バス調停部９０７に入力される。
【０００５】
前記バス調停部９０７は、バス使用要求を受け付けて調停を行うものであり、バス使用許可を与えられたデータがメモリ制御部９０８とＤＲＡＭコマンド発行部９１２とにそれぞれ入力される。
【０００６】
前記メモリ制御部９０８は、ＤＲＡＭ９０９と内部メモリ９１０，９１１との間で、バス使用許可を与えられたデータをＤＭＡ（Direct Memory Access）転送させるものである。
【０００７】
前記ＤＲＡＭコマンド発行部９１２は、メモリ制御部９０８及びＤＲＡＭ９０９へコマンドを発行するものである。
【０００８】
以下、メモリアクセス制御方法について説明する。まず、バスマスタ９０１〜９０６で発生させたバス使用要求をバス調停部９０７に入力する。
【０００９】
前記バス調停部９０７では、バス使用要求を受け付けて順序付けを行い、選択されたバス使用要求に対して使用許可を与える。
【００１０】
そして、前記調停部９０７からのバス使用要求に基づいて、メモリ制御部９０８によりＤＲＡＭ９０９と内部メモリ９１０，９１１とのＤＭＡ転送の制御を行い、１つのバス使用要求に対応するＤＭＡ転送が完了するまで次のバス使用要求によるＤＭＡ転送開始されないようにする。
【００１１】
前記ＤＲＡＭコマンド発行部９１２では、前記ＤＭＡ転送に対応するＤＲＡＭ９０９へのコマンドが発行され、ＤＲＡＭ９０９が複数バンクで構成される場合は、異なるＤＲＡＭ９０９のロウアドレスへのアクセスが連続しないように、ＤＲＡＭのプリチャージ時間を隠蔽してオーバーヘッドの発生を抑制している。
【００１２】
また、近年、半導体製造技術や半導体集積技術の進歩に伴い、従来は外付けされていたＤＲＡＭが半導体集積回路に内蔵される場合がある。
【００１３】
このように、ＤＲＡＭが内蔵されると、従来の半導体集積回路のＤＲＡＭに対するデータのピンの割り当ての制約がなくなることになり、容易に内蔵ＤＲＡＭのデータバス幅を増加させることができ、さらに一度のアクセスで転送できるデータ量も増加させることができる。
【特許文献１】特開平１１−２２４２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ここで、従来のメモリ制御装置におけるメモリアクセス制御方法では、内部のデータ転送バス幅も増加させることが必要になるが、全てのデータ転送バスを増加させることに伴う面積増加や、データ転送バスを変更することに伴うシステムの見直しが余儀なくされる。
【００１５】
そのため、内蔵ＤＲＡＭのデータバス幅を増加させるが、内部のデータ転送バスを該内蔵ＤＲＡＭのデータバス幅より小さい従来通りのバス幅のままにするか、一部の内部のデータ転送バスのみを前記内蔵ＤＲＡＭのデータバス幅と同じか又は近いバス幅にすることで、メモリアクセスを面積増加の極力少なくしながら、効率良く開発することが求められる場合がある。
【００１６】
また、従来のメモリ制御装置において、内蔵ＤＲＡＭのデータバス幅が内部のデータ転送バス幅より大きくなる場合、前記バス調停部９０７で調停されたバス使用要求が、前記内蔵ＤＲＡＭのデータバス幅より小さい内部バス幅との転送であると、データのビット幅変換が必要となるが、この期間はＤＲＡＭに対してはアクセスが行われなくなり、ＤＲＡＭへのアクセス効率が悪くなる。さらに、前記内蔵ＤＲＡＭのデータバス幅と前記内部バス幅との差異が大きければ前記ビット幅変換期間も大きくなり、ＤＲＡＭへのアクセス効率はより悪くなってしまう。
【００１７】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ＤＲＡＭのデータバス幅より小さいデータ転送バス幅を持つ内部メモリを有するメモリ制御システムにおいて、データのビット幅変換期間に起因してメモリアクセスの効率が低下するのを抑制し、効率良くメモリアクセス制御を行うことにある。
【課題を解決するための手段】
【００１８】
すなわち、本発明は、ｎ（ｎは自然数）ビット幅のバスを持つ複数の機能ブロックが、ｍ（ｍはｍ＞ｎの自然数）ビット幅のデータバスを持つ同一のメモリにアクセスするように構成されたシステムを用いたメモリアクセス制御方法であって、
複数のバス使用要求が競合した場合に、該バス使用要求を調停してバス使用許可を与えるバス調停手順と、
前記バス使用許可を与えられたバス使用要求を順に受け取り、前記メモリへのアクセスを制御するメモリ制御手順と、
前記メモリ制御手順により実行される前記メモリへのアクセスが、該メモリへの書き込み要求であった場合に、ｎビット幅からｍビット幅へとデータの変換を実行する手順と、
前記データ変換期間において、前記書き込み要求に与えられていた前記バス使用許可を一時的に手放す手順とを備えたことを特徴とするものである。
【発明の効果】
【００１９】
以上のように、本発明によれば、メモリのデータバス幅が増加されても、内部のデータ転送バス幅も増加させる等の面積増加を必要とすることなく、効率の良いメモリアクセス制御の実現が可能となる。
【００２０】
また、データ変換が実行されている期間に、ＤＲＡＭ（Dynamic Random Access Memory）のリフレッシュを実行するようにすれば、データのビット幅変換期間から生じるメモリアクセスの効率低下を抑制する上で有利となる。
【００２１】
また、メモリへの書き込みとメモリからの読み出しとをそれぞれ独立に制御することで、データの変換が実行されている期間に、メモリからの読み出し要求を実行するようにすれば、データのビット幅変換期間から生じるメモリアクセスの効率低下を抑制する上で有利となる。
【００２２】
また、データの変換が実行されている期間に、読み込み要求を実行するか否かの判別情報をバス調停手段から受け取るようにすれば、順序が入れ替わることが不都合であるバス使用要求を効率良く制御することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものでは全くない。
【００２４】
＜実施形態１＞
図１は、本発明の実施形態１に係るメモリアクセス制御方法を実行するためのメモリ制御装置の構成を示すブロック図である。図１に示すように、メモリ制御装置１００は、バス使用要求を出す機能ブロック（以下、バスマスタという）を複数有しており、バスマスタ１０１〜１０６で発生させたバス使用要求は、バス調停部１０７に入力される。
【００２５】
前記バス調停部１０７は、バス使用要求を受け付けて調停を行うものであり、バス使用許可を与えられたデータがメモリ読み出し制御部１０８、メモリ書き込み制御部１０９、及びＤＲＡＭコマンド発行部１１３にそれぞれ入力される。
【００２６】
前記メモリ読み出し制御部１０８は、ＤＲＡＭ１１０から内部メモリ１１１，１１２に対してバス使用許可を与えられたデータの転送を行うものである。
【００２７】
前記メモリ書き込み制御部１０９は、内部メモリ１１１，１１２からＤＲＡＭ１１０に対してバス使用許可を与えられたデータの転送を行うものである。
【００２８】
前記ＤＲＡＭ１１０は、データバス幅として、ｍ（ｍはｍ＞ｎの自然数）ビット幅を持っている。
【００２９】
前記内部メモリ１１１，１１２は、ＤＲＡＭ１１０とＤＭＡ転送を行うｎ（ｎは自然数）ビット幅のデータ転送バス幅を持っている。
【００３０】
前記ＤＲＡＭコマンド発行部１１３は、メモリ読み出し制御部１０８、メモリ書き込み制御部１０９、及びＤＲＡＭ１１０へコマンドを発行するものである。
【００３１】
以下、本発明の実施形態１に係るメモリアクセス制御方法について説明する。まず、バスマスタ１０１〜１０６で発生させたバス使用要求をバス調停部１０７に入力する。
【００３２】
前記バス調停部１０７では、全てのバスマスタ１０１〜１０６からの使用要求がＤＲＡＭ１１０のバースト転送サイズになるように分割し、分割された使用要求に順序付けを行い、分割されたバス使用要求のうちから選択した使用要求に対してバス使用許可を与える。
【００３３】
ここで、前記使用許可が与えられた分割されたバス使用要求が読み出し使用要求であった場合には、メモリ読み出し制御部１０８へ使用要求を出力し、ＤＲＡＭ１１０から内部メモリ１１１，１１２へのＤＭＡ転送を制御する。
【００３４】
一方、前記使用許可が与えられた分割されたバス使用要求が書き込み使用要求であった場合には、メモリ書き込み制御部１０９へ要求を出力し、内部メモリ１１１，１１２からＤＲＡＭ１１０へのＤＭＡ転送を制御する。
【００３５】
前記ＤＲＡＭコマンド発行部１１３では、前記ＤＭＡ転送に対応したＤＲＡＭ１１０へのコマンドが発行される。
【００３６】
ここで、前記分割されたバス使用要求が書き込み要求であった場合には、前記バス調停部１０７においてバス使用許可が与えられるが、前記メモリ読み出し制御部１０８がＤＭＡ転送する際に、ｎビット幅のデータバス幅をＤＲＡＭ１１０のビット幅であるｍビット幅に変換する必要がある。このデータ変換期間において、次の使用許可が与えられる分割されたバス使用要求が読み出し要求であった場合には、前記バス使用許可が与えられている前記書き込み要求は、前記バス使用許可を一時的に読み出し要求へと手放すように制御する。
【００３７】
そして、前記読み出し要求に対するＤＲＡＭ１１０へのアクセスが終了した後、一度使用許可を手放していた前記書き込み要求へと前記バス使用許可を返還する。
【００３８】
ここで、バス使用要求は全て同じ転送サイズになるように分割されており、前記データ変換期間において、前記読み込み要求のＤＲＡＭ１１０へのアクセスは途切れることなく完了するようになっている。
【００３９】
図２は、本実施形態１に係るメモリ制御装置の動作手順を示すタイミングチャート図である。図２では、一例として、ｍ＝４ｎの時のタイミングチャート図を示している。
【００４０】
図２に示すように、バス使用許可Ａ１を受けた時点で、メモリ書き込み制御部１０９には内部メモリ１１１，１１２からデータが転送される。しかしながら、データのビット幅の差が４倍であるため、転送するデータをＤＲＡＭ１１０のデータバス幅に揃える必要がある。そのため、このバス幅を揃える期間においては、バス使用許可を与えられているにもかかわらずＤＲＡＭ１１０にアクセスできない期間が生じてしまい、アクセス効率が低下してしまう。
【００４１】
そこで、書き込みのバス使用要求があり且つバス使用許可Ａ２を受けたときに、メモリ書き込み制御部１０９には、内部メモリ１１１，１１２からデータが転送され始める。
【００４２】
ここで、次にバス調停部１０７で調停されたバス使用要求が読み出しバス使用要求であった場合に、前記書き込みのバス使用要求はバス使用許可Ａ２を一時的に手放すようにし、前記読み出しバス使用要求にバス使用許可Ｂ１を与えるようにする。
【００４３】
そして、前記読み出しバス使用要求のＤＲＡＭ１１０に対するアクセスが終了すると、先ほどバス使用許可Ａ２を手放した書き込みバス使用要求に対して、再びバス使用許可Ａ２’を与え、ＤＲＡＭ１１０に対して、データのビット幅変換を行ったデータを転送するようにする。
【００４４】
すなわち、バス使用許可を受け取った書き込みバス使用要求が書き込みデータのバス幅をＤＲＡＭ１１０のデータバス幅に変換する期間において、次に読み出しバス使用要求がある場合に、バス使用許可を一時的に前記次の読み出しバス使用要求に譲り、前記読み出しバス使用要求を先に実行してＤＲＡＭ１１０へのアクセスを終了させる。そして、読み出しバス使用要求が終了したのと同時に、バス使用許可を前記データバス変換している書き込みバス使用要求へ返還して書き込みバス使用要求を実行し、ＤＲＡＭ１１０へアクセスさせるようにしている。
【００４５】
なお、本実施形態１では、書き込み要求のデータバス幅変換期間において、次に実行すべき読み出し要求を先に実行することでアクセスの効率化を図ったが、場合によっては、書き込むデータを読み出す処理の場合がある。この場合には、バス使用要求の書き出し要求を読み出し要求が追い越すことは禁止されるべきであるので、バスマスタの要求を受け取るバス調停部１０７から、読み出しの追い越しが可能か否かの情報を出力してもらうことにより、読み出しの追い越しを制御することができる。
【００４６】
以上のように、本実施形態１に係るメモリアクセス制御方法によれば、データバス幅変換することによる、ＤＲＡＭ１１０へのアクセスを効率良く実施することができる。
【００４７】
なお、本実施形態１では、書き込み要求のデータバス幅変換期間において、次に実行すべき読み出し要求を先に実行することでアクセスの効率化を図ったが、この形態に限定するものではなく、例えば、このデータバス変換期間にＤＲＡＭのリフレッシュを行うことでデータバス変換期間のＤＲＡＭアクセスロスを隠蔽するようにしても構わない。この点は、以下の実施形態についても同様である。
【００４８】
また、本実施形態１においては、書き込み要求のデータバス幅変換期間において、次に実行されるべき読み出し要求を実行することで、アクセスの効率化を図ったが、バス調停部１０７とメモリ読み出し制御部１０８、メモリ書き込み制御部１０９との間に、調停された順にバス使用要求を保持するバス使用要求記憶装置を持つことで、追い越しを図るのが次の使用要求に限ることなく、数個後段で実行されるべき読み出し要求をデータバス変換期間に実行するようにしてもよい。この点は、以下の実施形態についても同様である。
【００４９】
また、本実施形態１では、バス調停部１０７において全てのバスマスタの使用要求についてＤＲＡＭのバースト転送サイズになるように分割を行い、分割された使用要求に順序付けを行って、選択された前記分割されたバス使用要求に対して、バス使用許可を与えるようにしたが、この形態に限定するものではなく、バス調停部１０７で分割せずに、アクセスの転送サイズの分割をメモリ読み出し制御部１０８、メモリ書き込み制御部１０９で分割を実施しながら、ＤＲＡＭ１１０への書き込みのアクセスのするためのデータバス幅変換期間に、分割された読み出しのバス使用要求を実施するように制御しても構わない。この点は、以下の実施形態についても同様である。
【００５０】
また、本実施形態１では、ｍ＝４ｎを満たす時を例に挙げたが、この条件に限定するものではなく、ｍ＞ｎを満たしており、書き込み要求のデータバス幅変換期間が発生する中で、次に実行されるべき読み出し要求を実行することができるように読み出し要求を分割して実行すればよい。この点は、以下の実施形態についても同様である。
【００５１】
また、本実施形態１におけるタイミングチャート図では、ＤＲＡＭ１１０のバンクが複数バンク構成になっていない状態を示しているが、ＤＲＡＭコマンド発行部１１３でバンク構成に対応したインターリーブ機能を持たせるようにしても構わない。この点は、以下の実施形態についても同様である。
【００５２】
また、本実施形態１では、バスマスタの数は６個であるが、数はいくつであっても構わない。さらに、内部メモリ１１１，１１２は２個であるが、数はいくつであっても構わない。この点は、以下の実施形態についても同様である。
【００５３】
＜実施形態２＞
図３は、本実施形態２に係るメモリアクセス制御方法を実行するためのメモリ制御装置の構成を示すブロック図である。前記実施形態１との違いは、内部メモリのデータ転送バス幅の値であるため、以下、実施形態１と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００５４】
メモリ読み出し制御部２０８は、ＤＲＡＭ２１０から内部メモリ２１１，２１２に対してバス使用許可を与えられたデータの転送を行うものである。
【００５５】
前記メモリ書き込み制御部２０９は、内部メモリ２１１，２１２からＤＲＡＭ２１０に対してバス使用許可を与えられたデータの転送を行うものである。
【００５６】
前記ＤＲＡＭ２１０は、データバス幅として、ｍ（ｍはｍ＞ｎの自然数）ビット幅を持っている。
【００５７】
前記内部メモリ２１１は、ＤＲＡＭ２１０とＤＭＡ転送を行うｎ（ｎは自然数）ビット幅のデータ転送バス幅を持っており、前記内部メモリ２１２は、ｍ（ｍはｍ＞ｎの自然数）ビット幅のデータ転送バス幅を持っている。
【００５８】
以下、本発明の実施形態２に係るメモリアクセス制御方法について説明する。まず、バスマスタ１０１〜１０６で発生させたバス使用要求をバス調停部１０７に入力する。
【００５９】
前記バス調停部１０７では、全てのバスマスタ１０１〜１０６からの使用要求がＤＲＡＭ２１０のバースト転送サイズになるように分割し、分割された使用要求に順序付けを行い、分割されたバス使用要求のうちから選択した使用要求に対してバス使用許可を与える。
【００６０】
ここで、前記使用許可が与えられた分割されたバス使用要求が読み出し使用要求であった場合には、メモリ読み出し制御部２０８へ使用要求を出力し、ＤＲＡＭ２１０から内部メモリ２１１，２１２へのＤＭＡ転送を制御する。
【００６１】
一方、前記使用許可が与えられた分割されたバス使用要求が書き込み使用要求であった場合には、メモリ書き込み制御部２０９へ要求を出力し、内部メモリ２１１，２１２からＤＲＡＭ２１０へのＤＭＡ転送を制御する。
【００６２】
前記ＤＲＡＭコマンド発行部１１３では、前記ＤＭＡ転送に対応したＤＲＡＭ２１０へのコマンドが発行される。
【００６３】
ここで、前記分割されたバス使用要求が、ｎビットの内部バスを持つ内部メモリ２１１からの書き込み要求であった場合には、前記バス調停部１０７においてバス使用許可が与えられるが、前記メモリ読み出し制御部２０８がＤＭＡ転送する際に、ｎビット幅のデータバス幅をＤＲＡＭ２１０のビット幅であるｍビット幅に変換する必要がある。このデータ変換期間において、次の使用許可が与えられる分割されたバス使用要求が、ｎビット幅の内部メモリ２１１への読み出し要求、又はｍビット幅の内部メモリ２１２への読み出し要求、もしくはｍビット幅の内部メモリ２１２からの書き込み要求であった場合には、前記バス使用許可が与えられている前記ｎビットの書き込み要求は、前記バス使用許可を一時的に前記ｎビット幅の内部メモリ２１１への読み出し要求、又はｍビット幅の内部メモリ２１２への読み出し要求、もしくはｍビット幅の内部メモリ２１２からの書き込み要求へと手放すように制御する。
【００６４】
そして、前記ｎビット幅の内部メモリ２１１への読み出し要求、又はｍビット幅の内部メモリ２１２への読み出し要求、もしくはｍビット幅の内部メモリ２１２からの書き込み要求に対するＤＲＡＭ２１０へのアクセスが終了した後、一度使用許可を手放していた前記ｎビットの内部メモリ２１１からの書き込み要求へと前記バス使用許可を返還する。
【００６５】
図４は、本実施形態２に係るメモリ制御装置の動作手順を示すタイミングチャート図である。図４では、一例として、ｍ＝４ｎの時のタイミングチャート図を示している。
【００６６】
図４に示すように、バス使用許可Ｃ１を受けた時点で、メモリ書き込み制御部２０９には、ｎビットのデータバス幅の内部メモリ２１１からデータが転送される。しかしながら、データのビット幅の差が４倍であるため、転送するデータをＤＲＡＭ２１０のデータバス幅に揃える必要がある。そのため、このバス幅を揃える期間においては、バス使用許可を与えられているにもかかわらずＤＲＡＭ２１０にアクセスできない期間が生じてしまい、アクセス効率が低下してしまう。
【００６７】
そこで、ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求があり且つバス使用許可Ｃ１を受けたときに、メモリ書き込み制御部２０９には、ｎビットのデータバス幅の内部メモリ２１１からデータが転送され始める。
【００６８】
ここで、次にバス調停部１０７で調停されたバス使用要求がｎビットのデータバス幅の内部メモリ２１１への読み出しバス使用要求であった場合に、前記ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求はバス使用許可Ｃ１を一時的に手放すようにし、前記ｎビットのデータバス幅の内部メモリ２１１への読み出しバス使用要求にバス使用許可Ｄ１を与えるようにする。
【００６９】
そして、前記ｎビットのデータバス幅の内部メモリ２１１への読み出しバス使用要求のＤＲＡＭ２１０に対するアクセスが終了すると、先ほどバス使用許可を手放したｎビットのデータバス幅の内部メモリ２１１からの書き込みバス使用要求に対して、再びバス使用許可Ｃ１’を与え、ＤＲＡＭ２１０に対して、データのビット幅変換を行ったデータを転送するようにする。
【００７０】
次に、ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求があり且つバス使用許可Ｃ２を受けたときに、メモリ書き込み制御部２０９には、ｎビットのデータバス幅の内部メモリ２１１からデータが転送され始める。
【００７１】
ここで、次にバス調停部１０７で調停されたバス使用要求がｍビットのデータバス幅の内部メモリ２１２への読み出しバス使用要求であった場合に、前記ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求はバス使用許可Ｃ２を一時的に手放すようにし、前記ｍビットのデータバス幅の内部メモリ２１２への読み出しバス使用要求にバス使用許可Ｅ１を与えるようにする。
【００７２】
そして、前記ｍビットのデータバス幅の内部メモリ２１２への読み出しバス使用要求のＤＲＡＭ２１０に対するアクセスが終了すると、先ほどバス使用許可を手放したｎビットのデータバス幅の内部メモリ２１１からの書き込みバス使用要求に対して、再びバス使用許可Ｃ２’を与え、ＤＲＡＭ２１０に対して、データのビット幅変換を行ったデータを転送するようにする。
【００７３】
次に、ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求があり且つバス使用許可Ｃ３を受けたときに、メモリ書き込み制御部２０９には、ｎビットのデータバス幅の内部メモリ２１１からデータが転送され始める。
【００７４】
ここで、次にバス調停部１０７で調停されたバス使用要求がｍビットのデータバス幅の内部メモリ２１２からの書き込みバス使用要求であった場合に、前記ｎビットのデータバス幅の内部メモリ２１１からの書き込みのバス使用要求はバス使用許可Ｃ３を一時的に手放すようにし、前記ｍビットのデータバス幅の内部メモリ２１２からの書き込みのバス使用要求にバス使用許可Ｆ１を与えるようにする。なお、前記内部メモリ２１２とＤＲＡＭ２１０のデータバス幅は共にｍビットであるため、データバス幅を変換する期間を必要としない。
【００７５】
そして、前記ｍビットのデータバス幅の内部メモリ２１２からの書き込みバス使用要求のＤＲＡＭ２１０に対するアクセスが終了すると、先ほどバス使用許可を手放したｎビットのデータバス幅の内部メモリ２１１からの書き込みバス使用要求に対して、再びバス使用許可Ｃ３’を与え、ＤＲＡＭ２１０に対して、データのビット幅変換を行ったデータを転送するようにする。
【００７６】
すなわち、バス使用許可を受け取ったｎビットのデータバス幅の内部メモリ２１１からの書き込みバス使用要求が書き込みデータのバス幅をＤＲＡＭ２１０のデータバス幅に変換する期間において、次にｎビットのデータバス幅の内部メモリ２１１への読み出しバス使用要求、又はｍビットのデータバス幅の内部メモリ２１２への読み出しバス使用要求、もしくはｍビットのデータバス幅の内部メモリ２１２からの書き込み要求がある場合に、バス使用許可を一時的に前記次の読み出しバス使用要求又は書き込みバス使用要求に譲り、前記ｎビットのデータバス幅の内部メモリ２１１からの読み出しバス使用要求、又は前記ｍビットのデータバス幅の内部メモリ２１２からの読み出しバス使用要求、もしくは前記ｍビットのデータバス幅の内部メモリ２１２への書き込みバス使用要求を先に実行してＤＲＡＭ２１０へのアクセスを終了させる。そして、アクセスが終了したのと同時に、バス使用許可を前記データバス変換しているｎビットのデータバス幅の内部メモリ２１１からの書き込みバス使用要求へ返還して書き込みバス使用要求を実行し、ＤＲＡＭ２１０へアクセスさせるようにしている。
【００７７】
なお、本実施形態２では、ｎビットのデータバス幅の内部メモリ２１１からの書き込み要求のデータバス幅変換期間に、次に実行すべきｎビットのデータバス幅の内部メモリ２１１への読み出しバス使用要求、又はｍビットのデータバス幅の内部メモリ２１２への読み出しバス使用要求、もしくはｍビットのデータバス幅の内部メモリ２１２からの書き込み要求を先に実行することで、アクセスの効率化を図ったが、場合によっては、追い越される処理が好ましくない場合がある。この場合には、バス使用要求のｎビットのデータバス幅の内部メモリ２１１への書き出し要求を、ｎビットのデータバス幅の内部メモリ２１１への読み出し要求やｍビットのデータバス幅の内部メモリ２１２の読み出し、あるいは書き込み要求が追い越すことは禁止されるべきであるので、バスマスタの要求を受け取るバス調停部１０７から、処理が追い越し可能か否かの情報をｎビットのデータバス幅の内部メモリ２１１からの書き込み要求以外の要求に対してそれぞれ出力してもらうことにより、追い越しを制御することができる。
【００７８】
以上のように、本実施形態２に係るメモリアクセス制御方法によれば、データバス幅変換することによる、ＤＲＡＭ２１０へのアクセスを効率良く実施することができる。
【００７９】
なお、本実施形態２では、１つの内部メモリ２１２のデータバス幅をＤＲＡＭ２１０のデータバス幅のｍビットと同じにしたが、例えば、ｋ（ｋはｍ≧ｋ＞ｎの自然数）ビット幅の内部メモリとして使用しても同様である。ｋビットからｍビットのデータバス幅変換期間が、ｎビットからｍビットのデータバス変換期間が短くて済むので、ｎビットからｍビットのデータバス変換期間に、ｋビットからｍビットのデータバス変換を済ませ、ＤＲＡＭ２１０へのアクセスを済ませることができるようなｋ、ｍ、ｎの組み合わせを考慮してバス幅を選択すればよい。
【００８０】
また、本実施形態２では、ｎビットのデータバス幅を持つ内部メモリ２１１、ｍビットのデータバス幅を持つ内部メモリ２１２をそれぞれ１つずつにしているが、数はいくつでも構わず、さらにｋビットのデータバスを持つ内部メモリが混在された構成にしても構わない。
【００８１】
＜実施形態３＞
図５は、本実施形態３に係るメモリ制御装置の構成を示すブロック図である。前記実施形態２との違いは、バス使用要求記憶部が設けられた点であるため、以下、実施形態２と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００８２】
バス調停部３０７は、バス使用要求を受け付けて調停を行うものであり、調停された複数のバス使用要求は、バス使用要求記憶部３１４、及びＤＲＡＭコマンド発行部１１３にそれぞれ入力される。
【００８３】
前記バス使用要求記憶部３１４は、調停後の複数のバス使用要求を調停された順に保持するものであり、バス使用許可を与えられたデータがメモリ読み出し制御部３０８、メモリ書き込み制御部３０９にそれぞれ入力される。
【００８４】
メモリ読み出し制御部３０８は、ＤＲＡＭ３１０から内部メモリ３１１，３１２に対してバス使用許可を与えられたデータの転送を行うものである。
【００８５】
前記メモリ書き込み制御部３０９は、内部メモリ３１１，３１２からＤＲＡＭ３１０に対してバス使用許可を与えられたデータの転送を行うものである。
【００８６】
前記ＤＲＡＭ３１０は、データバス幅として、ｍ（ｍはｍ＞ｎの自然数）ビット幅を持っている。
【００８７】
前記内部メモリ３１１は、ＤＲＡＭ３１０とＤＭＡ転送を行うｎ（ｎは自然数）ビット幅のデータ転送バス幅を持っており、前記内部メモリ３１２は、ｍ（ｍはｍ＞ｎの自然数）ビット幅のデータ転送バス幅を持っている。
【００８８】
以下、本発明の実施形態３に係るメモリアクセス制御方法について説明する。まず、バスマスタ１０１〜１０６で発生させたバス使用要求をバス調停部３０７に入力する。
【００８９】
前記バス調停部３０７では、全てのバスマスタ１０１〜１０６からの使用要求がＤＲＡＭ３１０のバースト転送サイズになるように分割し、分割された使用要求に順序付けを行い、分割されたバス使用要求のうちから選択した使用要求に対してバス使用許可を与える。そして、前記使用許可が与えられた分割されたバス使用要求が、前記バス使用要求記憶部３１４へ出力されて調停された順に保持される。
【００９０】
前記バス使用要求記憶部３１４に保持されたバス使用要求が読み出し使用要求であった場合には、メモリ読み出し制御部３０８へ使用要求を出力し、ＤＲＡＭ３１０から内部メモリ３１１，３１２へのＤＭＡ転送を制御する。
【００９１】
一方、前記バス使用要求記憶部３１４に保持されたバス使用要求が書き込み使用要求であった場合には、メモリ書き込み制御部３０９へ要求を出力し、内部メモリ３１１，３１２からＤＲＡＭ３１０へのＤＭＡ転送を制御する。
【００９２】
前記ＤＲＡＭコマンド発行部１１３では、前記ＤＭＡ転送に対応したＤＲＡＭ３１０へのコマンドが発行される。
【００９３】
ここで、前記バス使用要求記憶部３１４で保持されているバス使用要求のうち、１番目に保持されているバス使用要求が、ｎビットの書き込み要求ではなく、２番目以降に保持されたバス使用要求がｎビットの書き込み要求であれば、１番目に保持されているバス使用要求を、メモリ読み出し制御部３０８、又はメモリ書き込み制御部３０９へ出力すると同時に、又はそれ以前に、前記２番目以降に保持されたバス使用要求に必要なｎビット幅のデータバス幅を、ＤＲＡＭ３１０のビット幅であるｍビット幅へと変換しておく。
【００９４】
前記バス使用要求記憶部３１４において１番目に保持されていたバス使用要求が実行された後、２番目以降に保持されていたｎビットの書き込み要求がバスを使用できる順番がきたときには、事前にｍビット幅に変換しておいたデータをＤＲＡＭ３１０に書き込む。
【００９５】
図６は、本実施形態３に係るメモリ制御装置の動作手順を示すタイミングチャート図である。図６では、一例として、ｍ＝４ｎの時のタイミングチャート図を示している。
【００９６】
図６に示すように、バス使用許可Ｊ１を得たｎビット幅の読み出し要求が実行されると同時に、又はそれ以前に、バス使用要求記憶部３１４において２番目以降に保持されていたｎビット幅の書き込み要求のｎビット幅からｍビット幅へのデータバス幅変換Ｇ１を実行しておく。
【００９７】
そして、バス使用要求Ｊ１のＤＲＡＭ３１０へのアクセスが終了した後、ｎビット幅の書き込み要求のバス使用許可Ｈ１が得られたときには、事前にｎビット幅からｍビット幅へのデータバス幅変換がなされていることで、データバス幅の変換に伴うロスを無くし、ＤＲＡＭ３１０への書き込みをすることができる。
【００９８】
次に、バス使用許可Ｋ１を得たｍビット幅の読み出し要求が実行されると同時に、又はそれ以前に、バス使用要求記憶部３１４において２番目以降に保持されていたｎビット幅の書き込み要求のｎビット幅からｍビット幅へのデータバス幅変換Ｇ２を実行しておく。
【００９９】
そして、バス使用要求Ｋ１のＤＲＡＭ３１０へのアクセスが終了した後、ｎビット幅の書き込み要求のバス使用許可Ｈ２が得られたときには、事前にｎビット幅からｍビット幅へのデータバス幅変換がなされていることで、データバス幅の変換に伴うロスを無くし、ＤＲＡＭ３１０への書き込みをすることができる。
【０１００】
次に、バス使用許可Ｌ１を得たｍビット幅の書き込み要求が実行されると同時に、又はそれ以前に、バス使用要求記憶部３１４において２番目以降に保持されていたｎビット幅の書き込み要求のｎビット幅からｍビット幅へのデータバス幅変換Ｇ３を実行しておく。
【０１０１】
そして、バス使用要求Ｌ１のＤＲＡＭ３１０へのアクセスが終了した後、ｎビット幅の書き込み要求のバス使用要求許可Ｈ３が得られたときには、事前にｎビット幅からｍビット幅へのデータバス幅変換がなされていることで、データバス幅の変換に伴うロスを無くし、ＤＲＡＭ３１０への書き込みをすることができる。
【０１０２】
すなわち、ｎビットのデータバス幅の内部メモリ３１１への読み出しバス使用要求、又はｍビットのデータバス幅の内部メモリ３１２への読み出しバス使用要求、もしくはｍビットのデータバス幅の内部メモリ３１２からの書き込み要求を実行すると同時、又はそれ以前に、バス使用要求記憶部３１４にｎビットのデータバス幅の内部メモリ３１１からの書き込みバス使用要求が２番目以降に存在していれば、バス使用許可を受け取る前に、ｎビット幅からｍビット幅へのデータバス幅の変換を実行しておく。
【０１０３】
このようにすれば、実行されているバス使用要求が終了した後、ｎビットのデータバス幅の内部メモリ３１１からの書き込みバス使用要求にバス使用許可が得られたときには、ｎビット幅からｍビット幅へのデータバス幅の変換を終わらせておくことができ、バス使用許可を受けて即座に、ＤＲＡＭ３１０へアクセスすることができるようになる。
【０１０４】
以上のように、本実施形態３に係るメモリアクセス制御方法によれば、データバス幅変換することによる、ＤＲＡＭ３１０へのアクセスの効率低下を抑制する上で有利な効果が得られる。
【０１０５】
なお、前記実施形態３では、バス調停部３０７において全てのバスマスタの使用要求をＤＲＡＭのバースト転送サイズになるよう分割を行い、分割された使用要求に順序付けを行って、選択された前記分割されたバス使用要求に対して、バス使用許可を与えるようにし、前記使用許可が与えられた分割されたバス使用要求が、一旦バス使用要求記憶部３１４で保持された後、読み出し使用要求であった場合は、メモリ読み出し制御部３０８へ要求を出力し、前記分割されたバス使用要求が書き込み使用要求であった場合は、メモリ書き込み制御部３０９へ要求を出力するようにしたが、バス調停部３０７で分割せずに、ＤＲＡＭのバースト転送分にアクセスの転送サイズの分割をメモリ読み出し制御部３０８、メモリ書き込み制御部３０９で実施するようにしてもよい。
【０１０６】
なお、前記実施形態３では、１つの内部メモリ３１２のデータバス幅をＤＲＡＭ３１０のデータバス幅のｍビットと同じにしたが、例えば、ｍ＝ｎの場合のように、内部メモリにＤＲＡＭ３１０と同じバス幅のものがなくても構わない。
【産業上の利用可能性】
【０１０７】
以上説明したように、本発明は、効率の良いメモリアクセスを実現することができるという実用性の高い効果が得られることから、きわめて有用で産業上の利用可能性は高い。
【図面の簡単な説明】
【０１０８】
【図１】本発明の実施形態１に係るメモリ制御装置の構成を示すブロック図である。
【図２】本実施形態１に係るメモリ制御装置におけるタイミングチャート図である。
【図３】本実施形態２に係るメモリ制御装置の構成を示すブロック図である。
【図４】本実施形態２に係るメモリ制御装置におけるタイミングチャート図である。
【図５】本実施形態３に係るメモリ制御装置の構成を示すブロック図である。
【図６】本実施形態３に係るメモリ制御装置におけるタイミングチャート図である。
【図７】従来のメモリ制御装置の構成を示すブロック図である。
【符号の説明】
【０１０９】
１００    メモリ制御装置
１０１〜１０６    バスマスタ（機能ブロック）
１０７    バス調停部
１０８    メモリ読み出し制御部
１０９    メモリ書き込み制御部
１１０    ＤＲＡＭ
１１１    内部メモリ（ｎビット）
１１２    内部メモリ（ｎビット）
１１３    ＤＲＡＭコマンド発行部
２００    メモリ制御装置
２０８    メモリ読み出し制御部
２０９    メモリ書き込み制御部
２１０    ＤＲＡＭ
２１１    内部メモリ（ｎビット）
２１２    内部メモリ（ｍビット）
３００    メモリ制御装置
３０８    メモリ読み出し制御部
３０９    メモリ書き込み制御部
３１０    ＤＲＡＭ
３１１    内部メモリ（ｎビット）
３１２    内部メモリ（ｍビット）
３１４    バス使用要求記憶部
【図１】
2007108818.tif 000003
【図２】
2007108818.tif 000004
【図３】
2007108818.tif 000005
【図４】
2007108818.tif 000006
【図５】
2007108818.tif 000007
【図６】
2007108818.tif 000008
【図７】
2007108818.tif 000009