(57)【要約】【課題】複数バンクを持つメモリを使用するシステムにおいて、実際にはアクセスしないバンクまでも一定時間ビジー状態となることで、アクセス性能が低下してしまう。【解決手段】メモリアクセス要求信号Ｓ０１に応じてアクセスするメモリのバンクを示すアクセス要求バンク情報Ｓ０２を生成するアクセス要求バンク解析部１１０と、アクセス要求バンク情報Ｓ０２を一定サイクル時間保持してバンク使用状態情報Ｓ０３とするバンク使用状態情報保持部１２５と、アクセス要求バンク情報Ｓ０２とバンク使用状態情報Ｓ０３とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号Ｓ０４を生成するアクセス許可信号生成部１３０とを設ける。アクセス許可されたメモリバンクに係るバンク使用状態情報Ｓ０３は、転送方向情報、アクセス単位情報、メモリ初期化情報等であるアクセス情報Ｓ０６に従って更新される。【選択図】図１
2008102759.tif 000002
【特許請求の範囲】
【請求項１】
複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置であって、
メモリアクセス時に与えられるアドレス情報とアクセス情報とによりアクセスするメモリのバンクを示すアクセス要求バンク情報を生成するアクセス要求バンク解析部と、
前記アクセス要求バンク情報を一定サイクル時間保持してバンク使用状態情報とするバンク使用状態情報保持部と、
前記アクセス要求バンク情報と前記バンク使用状態情報とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号を生成するアクセス許可信号生成部とを備え、
前記バンク使用状態情報保持部は、同一メモリバンクへの競合アクセスを前記アクセス情報に応じて制御するように、アクセス許可されたメモリバンクに係る前記バンク使用状態情報を前記アクセス情報に従って更新することを特徴とするメモリアクセス制御装置。
【請求項２】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへの読み出しアクセスか書き込みアクセスかを示す転送方向情報であるメモリアクセス制御装置。
【請求項３】
請求項２記載のメモリアクセス制御装置において、
前記アドレス情報と前記転送方向情報とにより、それぞれ決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項４】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへのアクセス単位を示すアクセス単位情報であるアクセス制御装置。
【請求項５】
請求項４記載のメモリアクセス制御装置において、
前記アドレス情報と前記アクセス単位情報とから、前記アクセス単位と同じビット幅のメモリのみをアクティブにし、アクセスされたバンクのみ決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項６】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリへのアクセスを行っている処理装置の種類を一意に示すマスタ情報であるメモリアクセス制御装置。
【請求項７】
請求項６記載のメモリアクセス制御装置において、
前記アドレス情報と前記マスタ情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされたバンクのみ前記マスタ情報により決められた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項８】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリと当該メモリアクセス制御装置とのクロックギア比を示すスレーブクロックギア比情報であるメモリアクセス制御装置。
【請求項９】
請求項８記載のメモリアクセス制御装置において、
前記アドレス情報と前記スレーブクロックギア比情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記クロックギア比に応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項１０】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリにアクセスを行っている処理装置と当該メモリアクセス制御装置とのクロックギア比を示すマスタクロックギア比情報であるメモリアクセス制御装置。
【請求項１１】
請求項１０記載のメモリアクセス制御装置において、
前記アドレス情報と前記マスタクロックギア比情報とによりアクセスされたメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記クロックギア比に応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項１２】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリのアドレッシングを示すリマップ情報であるメモリアクセス制御装置。
【請求項１３】
請求項１２記載のメモリアクセス制御装置において、
前記アドレス情報と前記リマップ情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、前記リマップ情報から得られたアクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項１４】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、アプリケーションがどのように前記メモリを使用するかを示す使用シーン情報であるメモリアクセス制御装置。
【請求項１５】
請求項１４記載のメモリアクセス制御装置において、
前記アドレス情報と前記使用シーン情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項１６】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、温度情報であるメモリアクセス制御装置。
【請求項１７】
請求項１６記載のメモリアクセス制御装置において、
アクセスするメモリが温度に応じて物理的に変更されるように、前記アドレス情報と前記温度情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項１８】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリが故障しているかどうかを示す故障検出情報であるメモリアクセス制御装置。
【請求項１９】
請求項１８記載のメモリアクセス制御装置において、
前記メモリが故障しているか否かに応じてアクセスするメモリが物理的に変更されるように、前記アドレス情報と前記故障検出情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項２０】
請求項１記載のメモリアクセス制御装置において、
前記アクセス情報は、前記メモリのアクセスが初期化中であるかどうかを示すメモリ初期化情報であるメモリアクセス制御装置。
【請求項２１】
請求項２０記載のメモリアクセス制御装置において、
前記メモリが初期化中か否かに応じてアクセスするメモリが物理的に変更されるように、前記アドレス情報と前記初期化情報とによりアクセスするメモリのバンクを前記アクセス要求バンク解析部によって解析し、アクセスされるメモリのバンクに応じた期間だけメモリアクセスを受け付けないように前記アクセス許可信号を生成するメモリアクセス制御装置。
【請求項２２】
請求項１〜２１のいずれか１項に記載のメモリアクセス制御装置において、
当該メモリアクセス制御装置を通して前記複数バンクを持つメモリにアクセスしてくる処理装置の最大のアクセス単位の整数倍のデータ幅を、前記メモリを並列に並べることで構成し、
前記アクセス要求バンク解析部で生成された前記アクセス要求バンク情報に従って、対応するメモリへのアクセスを制御するメモリアクセス制御装置。
【請求項２３】
請求項１〜２２のいずれか１項に記載のメモリアクセス制御装置において、
当該メモリアクセス制御装置を通して前記複数バンクを持つメモリにアクセスしてくる処理装置の最小のアクセス単位に等しいデータ幅とするように、
前記アクセス要求バンク解析部で生成された前記アクセス要求バンク情報に従って、対応するバンクのメモリアクセスのみをアクティブにするメモリアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置に関するものである。
【背景技術】
【０００２】
データ処理システムにおいて、プロセッサ、描画エンジン等の演算処理装置（マスタ）が複数バンクを持つメモリにアクセスする際、先行アクセスのアドレスと後続アクセスのアドレスとからそれぞれがアクセスするメモリバンクを判定し、同一のメモリバンクにアクセスしようとする後続アクセスの要求を受け付けるか否かを判断することで、メモリアクセスの競合を制御する。
【０００３】
ところが、アクセスするメモリ幅は固定されており、その固定値（最大メモリ幅）以下のデータ幅（実アクセスデータ幅）のメモリアクセスでは「最大メモリ幅−実アクセスデータ幅」分のバンクが実際にはアクセス対象外であるにもかかわらず、ビジー範囲に含まれてしまい、「最大メモリ幅−実アクセスデータ幅」分のバンクへの他のメモリアクセスが拒否されてしまうという欠点があった。
【０００４】
そこで、ある従来技術によれば、アクセス中のアドレスから使用するアドレスを計算し、複数バンクのうち実際に使用しているバンクを判定し、その他のバンクへのアクセスを可能としている（特許文献１参照）。
【特許文献１】特開平２−２０２６５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術によれば、先頭アドレスと最終アドレスとから要素間距離を計算して使用するバンクを決定するので、実際に使用するメモリバンクを決定するためには少なくとも先頭アドレスと最終アドレスとの２アクセスが行われるのを待たなければならず、アクセス性能が低下してしまう可能性があった。
【０００６】
本発明の目的は、上記問題を鑑み、ビジー状態とすべきバンク幅をそのバンクアクセスの範囲に限定することにより、その他のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスを可能とするために、アドレス情報とアクセス情報とを用いて柔軟なメモリアクセス制御を提供し、高いアクセス性能を実現するメモリアクセス制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記の目的を達成するために、本発明は、複数バンクを持つメモリを有するシステムにおけるメモリアクセス制御装置において、メモリアクセス時に与えられるアドレス情報とアクセス情報とによりアクセスするメモリのバンクを示すアクセス要求バンク情報を生成するアクセス要求バンク解析部と、前記アクセス要求バンク情報を一定サイクル時間保持してバンク使用状態情報とするバンク使用状態情報保持部と、前記アクセス要求バンク情報と前記バンク使用状態情報とによって後続メモリバンクアクセスを受け付けるか否かを制御するためのアクセス許可信号を生成するアクセス許可信号生成部とを備えた構成を採用し、前記バンク使用状態情報保持部は、同一メモリバンクへの競合アクセスを前記アクセス情報に応じて制御するように、アクセス許可されたメモリバンクに係る前記バンク使用状態情報を前記アクセス情報に従って更新することとしたものである。
【０００８】
ここで、前記アクセス情報とは、転送方向情報、アクセス単位情報、マスタ情報、スレーブクロックギア比情報、マスタクロックギア比情報、リマップ情報、使用シーン情報、温度情報、故障検出情報、メモリ初期化情報のいずれかである。
【０００９】
本発明では、取得したアクセス情報に応じてメモリアクセスの可否を制御することにより、アクセス不可のメモリバンクを極力減らし、アクセス可能なメモリバンクを増やすことで、アクセス性能を高める。
【発明の効果】
【００１０】
本発明によれば、処理装置（マスタ）からのアクセスの種類、メモリの使用方法、システムの環境、メモリの状態等に応じて、最適なメモリアクセスを行うことが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明に係るメモリアクセス制御装置を有するシステムの構成例を示すブロック図である。図１のシステムは、複数のバスマスタ１４１，１４２，１４３がメモリ１８０を共有するものである。１００はメモリアクセス制御装置であり、１５１，１５２，１５３はバスインタフェースであり、１６０はバスマトリクスであり、１７０はメモリインタフェースである。
【００１２】
メモリ１８０は、例えば４つのバンク１８１，１８２，１８３，１８４を持つ。以下の説明では、これら４つのメモリバンクをそれぞれバンク１、バンク２、バンク３及びバンク４という。また、適宜３つのバスマスタ１４１，１４２，１４３をそれぞれマスタＡ、マスタＢ及びマスタＣという。
【００１３】
メモリアクセス制御装置１００は、アクセス要求バンク解析部１１０と、バンク使用状態情報保持部１２５と、アクセス許可信号生成部１３０とを備える。
【００１４】
各バスマスタ１４１〜１４３は、それぞれ異なるバスプロトコル、異なるデータ幅でメモリアクセスを要求する処理装置である。それぞれのメモリアクセス要求は、バスインタフェース１５１〜１５３により同一プロトコルに変換され、同一のデータ幅に整形される。バスマトリクス１６０は、複数のバスマスタ１４１〜１４３からのメモリアクセスをハードウェア又はソフトウェアで実装された調停方式に従って調停し、アクセスを制御する。各バスマスタ１４１〜１４３からのメモリアクセスは、バスマトリクス１６０によって調停されたメモリアクセス要求信号Ｓ０１として、アドレス情報とアクセス情報とをメモリアクセス制御装置１００に入力する。
【００１５】
メモリアクセス制御装置１００において、アクセス要求バンク解析部１１０は、メモリアクセス要求信号Ｓ０１のアドレス情報とアクセス情報とからアクセス要求がどのバンクに対するものかを示すアクセス要求バンク情報Ｓ０２を生成する。アクセス許可信号生成部１３０は、アクセス要求バンク情報Ｓ０２とバンク使用状態情報保持部１２５のバンク使用状態情報Ｓ０３とを照らし合わせ、同一バンクへのアクセス要求であった場合、バンク使用状態情報Ｓ０３がアクセス要求のあったバンクのいずれか１つでも現在ビジー状態であることを示していれば、アクセス許可信号Ｓ０４を「アクセス不許可」とする。アクセス要求のあったバンクの全てが現在ビジー状態でない（つまり、フリー状態である）ことをバンク使用状態情報Ｓ０３が示していれば、「アクセス許可」を示すように生成する。バンク使用状態情報保持部１２５は、アクセス許可信号Ｓ０４によってアクセス許可となったメモリアクセスのアドレス情報により得られたバンクのバンク使用状態情報Ｓ０３を「ビジー状態」とし、アクセス要求バンク解析部１１０からのアクセス情報Ｓ０６に応じたサイクル時間が経過したとき、あるいは当該アクセス情報Ｓ０６が特定条件を満たしたときに、該当するバンクを「フリー状態」とするようにバンク使用状態情報Ｓ０３を更新する。
【００１６】
バスマトリクス１６０は、現在調停によりアクセス許可を出したメモリアクセス要求信号Ｓ０１がメモリアクセスできるか否かをアクセス許可信号Ｓ０４により判断し、アクセス許可信号Ｓ０４がアクセス許可を示しているならば後続のアクセスの調停を行い、アクセス不許可を示しているならば引き続きアクセス許可の判定が行われるまで調停結果を保ち、引き続きメモリアクセス制御装置１００にアクセス許可を求める。
【００１７】
アクセス許可信号Ｓ０４は同時にメモリインタフェース１７０にも入力され、メモリアクセス制御装置１００によりアクセス許可を受けたメモリアクセスＳ０５はメモリインタフェース１７０によりメモリアクセスを行うためのプロトコルに変換され、メモリアクセス信号Ｓ０７としてメモリ１８０にアクセスされる。ここで、メモリインタフェース１７０は、アドレス情報、アクセスサイズ情報等から実際に必要なデータ幅の分のバンクのみをアクティブとしてアクセスを行う。
【００１８】
アクセス要求バンク解析部１１０は、アドレス解析部１１１と、転送方向解析部１１２と、アクセス単位解析部１１３と、マスタ解析部１１４と、スレーブクロックギア比解析部１１５と、マスタクロックギア比解析部１１６と、リマップ情報解析部１１７と、使用シーン解析部１１８と、温度解析部１１９と、故障検出解析部１２０と、メモリ初期化認知部１２１とを備える。
【００１９】
アドレス解析部１１１は、メモリアクセス要求信号Ｓ０１のアドレス情報からアクセス要求がどのバンクに対するものかを示すアクセス要求バンク情報Ｓ０２を生成する。
【００２０】
転送方向解析部１１２は、転送方向情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。転送方向情報とは、メモリ１８０へのアクセスが書き込みアクセスであるか、読み出しアクセスであるかを、各マスタ１４１〜１４３が明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、読み出しアクセスと書き込みアクセスとの完了時間が異なるようなメモリ１８０を用いた場合、あるいは読み出しアクセスと書き込みアクセスとの完了時間の相違にメモリ以外の要因がある場合に、読み出しアクセス、書き込みアクセスそれぞれに応じたメモリバンクへのアクセス禁止時間が設定できるようになる。例えば、読み出しアクセスでは数サイクルのデータ待ち時間を要するが、書き込みアクセスでは毎サイクルのアクセスが可能であるメモリ１８０を用いた場合、読み出しアクセスの場合のみ数サイクルのアクセス不可時間を設定し、書き込みアクセスではケアしなくて済む等、回路コストを抑えるとともに書き込みアクセス性能を読み出しアクセス性能に合わせる必要がないため、全体としてのアクセス性能を高めることが可能となる。
【００２１】
アクセス単位解析部１１３は、アクセス単位情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。アクセス単位情報とは、各マスタ１４１〜１４３からメモリ１８０へのアクセス単位を、各マスタ１４１〜１４３が明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、実際にはアクセス対象外にあるにもかかわらず、ビジー範囲に含まれてしまい他のバンクへのメモリアクセスが拒否されてしまうことを解消し、ビジー状態とすべきバンク幅をそのバンクアクセスの幅に限定することにより、その他のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスが可能となる。
【００２２】
マスタ解析部１１４は、マスタ情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。マスタ情報とは、各マスタ１４１〜１４３からメモリ１８０へのアクセス単位を、各マスタ１４１〜１４３が明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、各マスタ１４１〜１４３によってアクセス単位が決まっている場合、どのマスタがアクセスしてくるかによってアクセス単位が分かることで、アクセス対象外のバンク範囲をフリー状態として、そのフリー状態のバンクへのアクセスが可能となる。また、マスタによって要求アクセス速度が異なる場合、各マスタ１４１〜１４３のアクセス速度の要求に応じたアクセス不可時間を設定することが可能となる。
【００２３】
例えば、高速なメモリと、低速なメモリとが接続され、高速なメモリと低速なメモリとで使用しているアドレスは同じであるものとする。また、マスタＡ，Ｂ及びＣのうちアクセスしてくるマスタにより要求するアクセス応答時間が異なり、マスタＡは高速なメモリに対するアクセスを、マスタＢは低速なメモリに対するアクセスを、メモリインタフェース１７０が自動的に切り替えることで行う。各マスタ１４１〜１４３は、それぞれ明示的に高速なメモリにアクセスするか低速なメモリにアクセスするかの指定は行わない。
【００２４】
なお、マスタＡからのアクセス後、及びマスタＢからのアクセス後にアクセス不可である期間（「ビジー期間」）は、ハードウェアで予め実装していてもよいし、レジスタを通して設定可能であるようにしてもよい。
【００２５】
スレーブクロックギア比解析部１１５は、スレーブクロックギア比情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。スレーブクロックギア比情報とは、メモリアクセス制御装置１００とメモリ１８０とのクロックギア比を変えることができるシステムにおいて、クロックギア比を各マスタ１４１〜１４３が明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、クロックギア比に応じたアクセス不可時間を設定することが可能となる。
【００２６】
例えば、メモリアクセス制御装置１００とメモリ１８０とのクロックギア比が１：１と３：１を切り替えられる場合、クロックギア比が１：１のとき高速なメモリにアクセスし、３：１のとき低速なメモリにアクセスすることで、クロックギア比に適したメモリへの対応と、そのためのアクセス制御とを容易に行うことができる。
【００２７】
マスタクロックギア比解析部１１６は、マスタクロックギア比情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。マスタクロックギア比情報とは、各マスタ１４１〜１４３とメモリアクセス制御装置１００とのクロックギア比を変えることができるシステムにおいて、クロックギア比を各マスタ１４１〜１４３が明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、クロックギア比に応じたアクセス不可時間を設定することが可能となる。
【００２８】
例えば、アクセス後の１サイクルはアクセス不可である高速なメモリと、アクセス後の３サイクルはアクセス不可である低速なメモリとが接続され、各マスタ１４１〜１４３とメモリアクセス制御装置１００とのクロックギア比が１：１と３：１を切り替えられるものとすると、クロックギア比が１：１の場合にはメモリアクセス制御装置１００のクロックを基準サイクルとしたときに１サイクルアクセス不可とし、３：１の場合には３サイクルアクセス不可とする。
【００２９】
リマップ情報解析部１１７は、リマップ情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。リマップ情報とは、メモリ１８０のデータ配置のアドレッシングを変えることができるシステムにおいて、リマップが行われていることを明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、リマップによってアクセス速度の異なるメモリへのデータアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
【００３０】
使用シーン解析部１１８は、使用シーン情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。使用シーン情報とは、システムが起動するアプリケーションに基づいて動作する各マスタ１４１〜１４３の要求する動作速度及びメモリ容量に応じて、アドレッシングを変えることができ、アクセス速度の異なる複数種類のメモリを切り替えるシステムにおいて、リマップが行われていることを明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、動作するアプリケーションの必要とする速度や容量に応じたデータアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
【００３１】
例えば、各マスタ１４１〜１４３が動作する使用シーン（動作アプリケーション）によりメモリ１８０に対するアクセス性能の要求が異なり、各マスタ１４１〜１４３はそれぞれ明示的にいくつかに分類された使用シーン情報をメモリアクセス制御装置１００に指定する。メモリアクセス制御装置１００の使用シーン解析部１１８は、送られた使用シーン情報と予めハードウェアあるいはソフトウェアで指定された使用シーンごとの要求性能とに基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース１７０にも行われ、メモリインタフェース１７０により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
【００３２】
温度解析部１１９は、温度情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。温度情報とは、システムが動作する環境から得られた温度に応じてアクセス速度の異なる複数種類のメモリを切り替えるシステムにおいて、温度が異なることで使用するメモリの種類をアドレッシングによって切り替えることを明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、アクセス速度の異なる複数種類のメモリを持つシステムにおいて、動作する環境の温度特性等によりスペック上動作不可能となったメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
【００３３】
例えば、メモリ１８０及びメモリアクセス制御装置１００が動作する温度によりメモリアクセスの遅延が異なり、温度が一定温度より下にあれば高速なメモリにアクセスを行い、温度が一定温度より上にあれば低速なメモリにアクセスを行うものとする。メモリアクセス制御装置１００の温度解析部１１９は、送られた温度情報と予めハードウェアあるいはソフトウェアで指定された温度と動作可能なメモリとの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース１７０にも行われ、メモリインタフェース１７０により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
【００３４】
故障検出解析部１２０は、故障検出情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。故障検出情報とは、メモリ１８０が動作可能であるかを識別することができるシステムにおいて、故障したメモリを避けて使用可能であるメモリだけに切り替えることを明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、故障検出手段のあるシステムにおいて、故障したメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
【００３５】
例えば、高速なメモリをメインとして使用し、故障検出手段により高速なメモリの故障が検出されると、予備の低速なメモリが使用される。メモリアクセス制御装置１００の故障検出解析部１２０は、送られた故障検出情報と予めハードウェアあるいはソフトウェアで指定された故障検出時の動作可能なメモリの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース１７０にも行われ、メモリインタフェース１７０により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
【００３６】
メモリ初期化認知部１２１は、メモリ初期化情報をアクセス情報Ｓ０６としてバンク使用状態情報保持部１２５へ供給する。メモリ初期化情報とは、メモリを初期化して使用するシステムにおいて、初期化中のメモリを避けて使用可能であるメモリだけに切り替えることを明示的にメモリアクセス制御装置１００に対し指定してくるものである。したがって、初期化中であることを検出する手段のあるシステムにおいて、初期化中のメモリへのアクセスを止め、動作可能なメモリへのアクセスを行う制御が、各メモリの速度のスペックに合わせてアクセス不可時間を設定することで可能となる。
【００３７】
例えば、高速なメモリをメインとして使用し、メモリ初期化検出手段により高速なメモリが初期化中であることを検出されると、予備の低速なメモリが使用される。メモリアクセス制御装置１００のメモリ初期化認知部１２１は、送られたメモリ初期化情報と予めハードウェアあるいはソフトウェアで指定されたメモリ初期化中と初期化完了時の動作可能なメモリの対応表に基づいて、高速なメモリにアクセスするか低速なメモリにアクセスするかの指定を行う。また同時に高速なメモリにアクセスするか低速なメモリにアクセスするかの指示はメモリインタフェース１７０にも行われ、メモリインタフェース１７０により実際にアクセスする際に高速なメモリにアクセスするか低速なメモリにアクセスするかのアクセスの振り分けが行われる。
【００３８】
なお、高速なメモリへのアクセス後、及び低速なメモリへのアクセス後にアクセス不可である期間（「ビジー期間」）は、ハードウェアで予め実装していてもよいし、レジスタを通して設定可能であるようにしてもよい。
【００３９】
以上、転送方向情報、アクセス単位情報、マスタ情報等の利用について概略説明を行ったが、以下では、特に転送方向情報及びアクセス単位情報の利用について図面を参照しながら詳細に説明する。
【００４０】
図２は、本実施形態の処理フローの一例として、図１におけるバンク使用状態情報保持部１２５に入力されるアクセス情報Ｓ０６が転送方向情報であった場合にバンク使用状態情報Ｓ０３を更新するためのタイミング図である。転送方向情報は、メモリアクセス要求信号Ｓ０１に付加されてアクセス要求バンク解析部１１０及びバンク使用状態情報保持部１２５に入力されるものとする。また、接続されたメモリ１８０に対して書き込みアクセス後の１サイクルはアクセス不可、読み出しアクセス後の３サイクルはアクセス不可であるものとする。
【００４１】
図２の転送方向情報Ｓ０６は、ＨＩＧＨのとき書き込みアクセス、ＬＯＷのとき読み出しアクセスである。アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］はアクセス要求バンク解析部１１０でアドレス情報のデコードから得られたそれぞれバンク１〜４に対するアクセス要求であり、ＨＩＧＨであればアクセス要求があり、ＬＯＷであればアクセス要求がないものとする。バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］はバンク使用状態情報保持部１２５で得られるバンク１〜４のバンク使用状態情報であり、ＬＯＷであれば該当するバンクは「フリー状態」、ＨＩＧＨであれば「ビジー状態」であるものとする。アクセス許可信号Ｓ０４はＬＯＷであれば「アクセス不可」、ＨＩＧＨであれば「アクセス許可」であるものとし、アクセス要求がない状態ではＬＯＷである。
【００４２】
図２によれば、時刻ｔ１においてバンク１〜４が全て「フリー状態」であり（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］が全てＬＯＷ）、時刻ｔ２においてバンク１〜４に対し、書き込みアクセスのアクセス要求が行われる（転送方向情報Ｓ０６はＨＩＧＨ、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）。同じく時刻ｔ２においてアクセス要求されたバンク１〜４が全て「フリー状態」であるため（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］が全てＬＯＷ）、「アクセス許可」となる（アクセス許可信号Ｓ０４がＨＩＧＨ）。時刻ｔ２において「アクセス許可」とされたバンクに対応するバンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］は時刻ｔ３で「ビジー状態（ＨＩＧＨ）」となり、バンク１〜４に対する読み出しアクセス要求（転送方向情報Ｓ０６はＬＯＷ、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）は「アクセス不可」となる（アクセス許可信号Ｓ０４がＬＯＷ）。時刻ｔ４では書き込みアクセスの「ビジー状態」が解かれ「フリー状態」となる（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］が全てＬＯＷ）。そのため、バンク１〜４に対する読み出しアクセス要求（転送方向情報Ｓ０６はＬＯＷ、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）は時刻ｔ４にて受け付けられる（アクセス許可信号Ｓ０４がＨＩＧＨ）。同様に時刻ｔ５から時刻ｔ７の３サイクルに渡ってバンク１〜４は「ビジー状態」となり（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］がＨＩＧＨ）、時刻ｔ８で「フリー状態」となる（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］がＬＯＷ）。
【００４３】
図３は、本実施形態の処理フローの一例として、図１におけるバンク使用状態情報保持部１２５に入力されるアクセス情報Ｓ０６がアクセス単位情報であった場合にバンク使用状態情報Ｓ０３を更新するためのタイミング図である。アクセス単位情報は、メモリアクセス要求信号Ｓ０１に付加されてアクセス要求バンク解析部１１０及びバンク使用状態情報保持部１２５に入力されるものとする。また、アクセス後の１サイクルはメモリ１８０がアクセス不可であるものとする。図３のアクセス単位情報Ｓ０６の行に示す数字は、アクセス要求されたバンクの個数を表す。
【００４４】
図３によれば、時刻ｔ１においてバンク１〜４が全て「フリー状態」であり（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］が全てＬＯＷ）、時刻ｔ２においてバンク１〜４に対し、アクセス要求が行われる（アクセス単位情報Ｓ０６は４、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）。同じく時刻ｔ２においてアクセス要求されたバンク１〜４が全て「フリー状態」であるため（バンク使用状態情報Ｓ０３［１］〜Ｓ０３［４］が全てＬＯＷ）、「アクセス許可」となる（アクセス許可信号Ｓ０４がＨＩＧＨ）。時刻ｔ５においてバンク３及び４に対し、アクセス要求が行われる（アクセス単位情報Ｓ０６は２、アクセス要求バンク情報Ｓ０２［３］及びＳ０２［４］がＨＩＧＨ）。同じく時刻ｔ５においてアクセス要求されたバンク３及び４が「フリー状態」であるため（バンク使用状態情報Ｓ０３［３］及びＳ０３［４］がＬＯＷ）、「アクセス許可」となる（アクセス許可信号Ｓ０４がＨＩＧＨ）。時刻ｔ５において「アクセス許可」とされたバンク３及び４に対応するバンク使用状態情報Ｓ０３［３］及びＳ０３［４］は時刻ｔ６で「ビジー状態（ＨＩＧＨ）」となり、時刻ｔ６のバンク１〜４に対するアクセス要求（アクセス単位情報Ｓ０６は４、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）は「アクセス不可」となる（アクセス許可信号Ｓ０４がＬＯＷ）。時刻ｔ７ではバンク３及び４の「ビジー状態」が解かれて「フリー状態」となる（バンク使用状態情報Ｓ０３［３］及びＳ０３［４］がＬＯＷ）。そのため、バンク１〜４に対するアクセス要求（アクセス単位情報Ｓ０６は４、アクセス要求バンク情報Ｓ０２［１］〜Ｓ０２［４］がＨＩＧＨ）は、時刻ｔ７にて受け付けられる（アクセス許可信号Ｓ０４がＨＩＧＨ）。
【００４５】
以上、図１に示したメモリアクセス制御装置１００について説明してきたが、メモリアクセス制御装置１００とメモリ１８０とは同一チップ内にあってもよいし、メモリ１８０が外部メモリでありメモリアクセス制御装置１００の実装されたチップとは別チップに存在してもよい。アクセス要求バンク解析部１１０は、ハードウェアによって実現されてもよいし、プログラムによって実現されてもよい。
【産業上の利用可能性】
【００４６】
以上説明してきたとおり、本発明に係るメモリアクセス制御装置は、複数バンクを持つメモリへのアクセス要求をアドレス情報とアクセス情報とにより制御し、アクセスの種類、システムの状況、メモリの種類等に応じてメモリアクセスの制御を行うので、複数バンクを持つメモリへアクセスを行うシステムにおいて有用である。
【図面の簡単な説明】
【００４７】
【図１】本発明に係るメモリアクセス制御装置を有するシステムの構成例を示すブロック図である。
【図２】図１中のメモリアクセス制御装置の動作例を示すタイミング図である。
【図３】図１中のメモリアクセス制御装置の他の動作例を示すタイミング図である。
【符号の説明】
【００４８】
１００  メモリアクセス制御装置
１１０  アクセス要求バンク解析部
１１１  アドレス解析部
１１２  転送方向解析部
１１３  アクセス単位解析部
１１４  マスタ解析部
１１５  スレーブクロックギア比解析部
１１６  マスタクロックギア比解析部
１１７  リマップ情報解析部
１１８  使用シーン解析部
１１９  温度解析部
１２０  故障検出解析部
１２１  メモリ初期化認知部
１２５  バンク使用状態情報保持部
１３０  アクセス許可信号生成部
１４１〜１４３  バスマスタ（マスタＡ〜Ｃ）
１５１〜１５３  バスインタフェース
１６０  バスマトリクス
１７０  メモリインタフェース
１８０  メモリ
１８１〜１８４  メモリバンク（バンク１〜４）
Ｓ０１  メモリアクセス要求信号
Ｓ０２  アクセス要求バンク情報
Ｓ０３  バンク使用状態情報
Ｓ０４  アクセス許可信号
Ｓ０５  メモリアクセス
Ｓ０６  アクセス情報
Ｓ０７  メモリアクセス信号
【図１】
2008102759.tif 000003
【図２】
2008102759.tif 000004
【図３】
2008102759.tif 000005