(57)【特許請求の範囲】
【請求項１】
複数のバンクで構成されたメモリに対し、所定の間隔でのリフレッシュ要求が発生した際に、前記リフレッシュ要求を割り込ませてリフレッシュを実行させるメモリの制御方法であって、
メモリのリフレッシュ要求が発生した際に、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、メモリのリフレッシュ要求が発生した際に、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させる
ことを特徴とするメモリの制御方法。
【請求項２】
前記リフレッシュ要求の待機は、
前記メモリの特性に応じて決定される最大許容時間を限度として行なわれる
ことを特徴とする請求項１記載のメモリの制御方法。
【請求項３】
複数のバンクで構成されたメモリに対し、
リフレッシュ要求を発生するリフレッシュ要求発生手段と、
前記リフレッシュ要求および前記メモリに対するアクセス要求を調停する調停手段と
を具備し、
前記調停手段は、
前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させる
ことを特徴とするメモリの制御装置。
【請求項４】
前記調停手段は、
前記メモリの特性に応じて決定される最大許容時間を限度として前記リフレッシュの実行を待機させる
ことを特徴とする請求項３記載のメモリの制御装置。
【請求項５】
前記調停手段は、
前記複数のバンクのうちの一つのバンクへのリードアクセスが実行されている場合、又は、ライトアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのリードアクセスに連続して該一つのバンクとは異なる他のバンクへのライトアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませてリフレッシュを実行させる
ことを特徴とする請求項３記載のメモリの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メモリ制御方法及び装置に関し、特に各種メモリアクセス要求を調停することで、メモリアクセス性能の低下の低減することのできるメモリ制御方法及び装置に関する。
【０００２】
【従来の技術】
一般に、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ダイナミックＲＡＭ）を制御するメモリ制御装置において、リフレッシュコントローラから発行されるリフレッシュ要求は、ＣＰＵバスやインタフェースコントローラのマスタから発行されるリード要求やライト要求と比較すると、優先順位の高い要求として扱われている。
【０００３】
又、複数のバンクから構成されている同期式ＤＲＡＭにおいては、画像データのような大きなデータを処理する際に、異なるバンクにリードアクセスやライトアクセスが連続する場合には、連続してメモリアクセスするインタリーブ動作が可能である。
【０００４】
しかしながら、このインタリーブ動作中にリフレッシュ要求が割り込んだ場合には、上述したようにリフレッシュ動作が優先される為、ＤＲＡＭへのメモリアクセスを一旦中止し、リフレッシュ動作が終了した後に、メモリアクセスを再開しなければならない為、メモリアクセス性能が低下する問題があった。
【０００５】
そこで、特開平１０−１１９６４号公報に記載されている「メモリ制御装置およびメモリ制御方法」においては、リフレッシュコントローラから発行されるリフレッシュ要求を蓄積するアクセスキューを用いて、要求を一旦待機させ、リフレッシュ動作を行わなければならない規定の期間内に、リフレッシュ動作を行うことができるように、これらの要求の実行順位を可変し、リフレッシュ動作を行うタイミングを最適化することで、メモリアクセスを効率良く行っていた。
【０００６】
【発明が解決しようとする課題】
ところが、上述したような発明においては、リフレッシュ要求を待機させる為の回路を別途に必要とする為、回路構成や制御方法が複雑となる問題があった。
【０００７】
そこで、この発明は、容易な回路構成により各種メモリアクセス要求を調停し、メモリアクセス性能の低下を低減することのできるメモリ制御方法及び装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、複数のバンクで構成されたメモリに対し、所定の間隔でのリフレッシュ要求が発生した際に、前記リフレッシュ要求を割り込ませてリフレッシュを実行させるメモリの制御方法であって、メモリのリフレッシュ要求が発生した際に、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、メモリのリフレッシュ要求が発生した際に、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させることを特徴とする。
【０００９】
また、請求項２記載の発明は、請求項１の発明において、前記リフレッシュ要求の待機は、前記メモリの特性に応じて決定される最大許容時間を限度として行なわれることを特徴とする。
【００１０】
また、請求項３記載のメモリの制御装置の発明は、複数のバンクで構成されたメモリに対し、リフレッシュ要求を発生するリフレッシュ要求発生手段と、前記リフレッシュ要求および前記メモリに対するアクセス要求を調停する調停手段とを具備し、前記調停手段は、前記複数のバンクのうちの異なるバンクへの連続リードアクセス又は連続ライトアクセスを行うインタリーブアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのライトアクセスに連続して該一つのバンクとは異なる他のバンクへのリードアクセスを行うインタリーブアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませずに前記インタリーブアクセスを継続して実行させることを特徴とする。
【００１１】
また、請求項４記載の発明は、請求項３の発明において、前記調停手段は、前記メモリの特性に応じて決定される最大許容時間を限度として前記リフレッシュの実行を待機させることを特徴とする。
【００１２】
また、請求項５記載の発明は、請求項３の発明において、前記調停手段は、前記複数のバンクのうちの一つのバンクへのリードアクセスが実行されている場合、又は、ライトアクセスが実行されている場合、又は、前記複数のバンクの一つのバンクへのリードアクセスに連続して該一つのバンクとは異なる他のバンクへのライトアクセスが実行されている場合には、前記リフレッシュ要求を割り込ませてリフレッシュを実行させることを特徴とする。
【００１４】
【発明の実施の形態】
この発明に関するメモリ制御方法及び装置の一実施例を添付図面を参照して詳細に説明する。
【００１５】
まず、図１を参照して、この発明を適用したメモリ制御装置の構成について説明する。
【００１６】
図１は、メモリ制御装置の構成を示すブロック図である。
【００１７】
同図において、メモリコントローラ１はリフレッシュ動作を制御するリフレッシュコントローラ２、ＤＭＡから出力されたデータの書き込み処理を制御するライトＤＭＡコントローラ３−１乃び３−２、ＤＭＡへ出力するデータの読み出し処理を制御するリードＤＭＡコントローラ４−１乃び４−２、ＣＰＵから出力されたデータの書き込み処理やＣＰＵへ出力するデータの読み出し処理を制御するＣＰＵバスインタフェース５、コントローラやインタフェイスのマスタから発行された要求を調停するアービタ６、マスタからのアクセスを後述するＤＲＡＭ１０のコマンドに変換するメモリ制御信号発生部７、アドレス情報を送受するアドレスバス１３及びデータを送受するデータバス１４を具備して構成される。
【００１８】
ＤＲＡＭ１０は、４つのバンク１５−１乃至１５−４から構成される。バンク１５−１乃至１５−４は、メモリ制御信号発生部７から出力されたアドレス及びコマンドに基づいて、データの記憶や読み出しを行う。
【００１９】
リフレッシュコントローラ２は、所定の期間でＤＲＡＭ１０をリフレッシュさせる為に、アービタ６に対してリフレッシュ要求を発行し、又アービタ６から要求に対するリフレッシュ許可を受け取る。
【００２０】
ライトＤＭＡコントローラ３−１乃び３−２は、ＤＭＡバス１１と接続され、ＤＭＡバス１１から読み込んだデータをＤＲＡＭ１０にデータに書き込ませる際に、アービタ６に対してライト要求を発行したり、アービタ６から要求に対するライト許可を受け入れる。又、ＤＲＡＭ１０にアクセスするアドレスを通知したり、ＤＲＡＭ１０にデータを出力する。
【００２１】
リードＤＭＡコントローラ４−１乃び４−２は、ＤＭＡバス１１と接続され、ＤＲＡＭ１０からデータを読み込む際に、アービタ６にリード要求を出力したり、アービタ６から要求に対するリード許可を受信する。又、上述したライトＤＭＡコントローラ３−１乃び３−２と同様に、ＤＲＡＭ１０にアクセスするアドレスを通知したり、ＤＲＡＭ１０からデータを読み込み、ＤＭＡバス１１にデータを出力する。
【００２２】
ＣＰＵバスインタフェイス５は、ＣＰＵバス１２と接続され、１つのマスタでデータ読み込みと書き込みとの双方向送受の制御を行う。ＣＰＵバス１２からデータを読み込み、このデータをＤＲＡＭ１０にデータに書き込ませる際に、アービタ６にライト要求を出力したり、アービタ６から要求に対するライト許可を受信する。又、ＤＲＡＭ１０にアクセスするアドレスを通知したり、ＤＲＡＭ１０にデータを出力する。
【００２３】
又、ＤＲＡＭ１０からデータを読み込む際には、アービタ６にリード要求を出力したり、アービタ６から要求に対するリード許可を受信する。又、ＤＲＡＭ１０にアクセスするアドレスを通知し、ＤＲＡＭ１０からデータを読み込み、ＤＭＡバス１１にデータを出力する。
【００２４】
アービタ６は、リフレッシュコントローラ２から発行されるリフレッシュ要求やライトＤＭＡコントローラ３−１及び３−２、リードＤＭＡコントローラ４−１及び４−２及びＣＰＵバスインタフェイス５から発行されるリード要求やライト要求の調停を行う。なお、アービタ６はアドレスバス１３からアドレスの上位２ビットのデータを取り出して、要求を発行したマスタがアクセスするＤＲＡＭ１０のバンクを判別する。
【００２５】
メモリ制御信号発生部７は、アドレスバス１３を介して、アドレスバス１３からコントローラやインタフェイスのマスタからアドレスを受信し、ＤＲＡＭ１０にアクセスするアドレスを通知したり、アービタ６から出力された動作指示信号をコマンドに変換し、ＤＲＡＭ１０にコマンドを出力する。又、データバス１４を介して、コントローラやインタフェイスのマスタとデータの送受を行うとともに、ＤＲＡＭ１０ともデータの送受を行う。
【００２６】
次に、図２乃至図５を参照して、ＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを説明する。
【００２７】
図２はＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示すタイムチャートに使用される記号の凡例を示す図であり、図３はＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第１のタイムチャートであり、図４はＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第２のタイムチャートであり、図５はＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第３のタイムチャートである。
【００２８】
メモリ制御信号発生部７は、ＤＲＡＭ１０へのアクセスを制御する為に、図２の（ａ）に示すようなコマンドをメモリ制御信号発生部７からＤＲＡＭ１０に対して発行し、データを送受する。
【００２９】
アクティブコマンドは、データを読み取る、或いは書き込むＤＲＡＭ１０の任意のバンクをアクティブ状態にする。又、リードコマンドはＤＲＡＭ１０にリード動作を行うように指示し、又ライトコマンドはＤＲＡＭ１０にライト動作を行うように指示を行う。又、リフレッシュコマンドは、ＤＲＡＭ１０にリフレッシュ動作を行うように指示する。
【００３０】
ところで、上述した各コマンドを実行する際に、直前に実行されたコマンドの直後に、図２の（ｂ）に示すような一定のコマンド期間が必要である。
【００３１】
例えば、リフレッシュ又はアクティブコマンドを出力後に、リフレッシュ又はアクティブコマンドを出力する際は、直前に出力されたリフレッシュ又はアクティブコマンドの直後に規定された期間をおいてから、次のリフレッシュ又はアクティブコマンドを出力する。又、図示するように、アクティブコマンドとリード又はライトコマンド間に規定された期間がある。
【００３２】
なお、上述したコマンドやコマンド期間の他にもコマンドやコマンド期間があるが、本実施例ではこれらを省略する。
【００３３】
これらのコマンド、データ及びコマンド期間を、図示したような記号を用いて、ＤＲＡＭ１０の各種動作の流れをタイムチャートで示す。なお、図中の横線のコマンドラインはコマンドの出力を示し、データラインはデータの入出力を示す。又、縦線の間隔は１クロックの期間に相当する。
【００３４】
図３に示すように、リード動作を実行する際は、アクティブコマンド３１１を出力した後に、一定の期間３５１をおいて、リードコマンド３１２を出力し、更にリードデータ３１３を送受する。
【００３５】
又、ライト動作を実行する際には、アクティブコマンド３１４を出力した後に、一定の期間３５２をおいて、ライトコマンド３１５を出力するとともに、ライトデータ３１６を送受する。
【００３６】
更に、上述したリード動作の直後に、リフレッシュ動作を実行する際には、リードデータ３１７を出力した後に、リフレッシュコマンド３１８を送出し、リフレッシュ動作中である期間３５３においてはリード動作等を行わない。図中には示してないが、２回目のリード動作を行う場合には、このリフレッシュ動作が終了した後に行う。
【００３７】
又、上述したライト動作の直後に、リフレッシュ動作を実行する際についても、ライトデータ３１９を出力した後に、リフレッシュコマンド３２０を送出し、リフレッシュ動作中である期間３５４においてはライト動作等を行わない。図中には示してないが、２回目のライト動作を行う場合には、このリフレッシュ動作が終了した後に行う。
【００３８】
この為、リード動作やライト動作の後に、リフレッシュ動作を実行しない場合とリフレッシュ動作を実行する場合にそれぞれ必要な期間を比較すると、リード動作やライト動作の後にリフレッシュ動作を実行する場合は、リフレッシュ動作を実行しない場合よりも、リフレッシュ動作の実行に必要なクロック期間だけ、リフレッシュ動作の次に実行する動作が遅延する。
【００３９】
ＤＲＡＭ１０の異なるバンクに連続してリード動作に続くリード動作を行う際に、図４に示すように、最初のデータ４１１の送受が行われている間に、次のデータ４１２を送受する為のアクティブコマンド４１３をオーバラップして発行して、次のデータ４１２の送受するインタリーブ動作を行うことができる。このインタリーブ動作により、連続した動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が４クロック分の期間４５１だけ短縮される。
【００４０】
同様に、異なるバンクに連続してライト動作に続くライト動作及びライト動作に続くリード動作を行う際についても、最初のデータ４１４及び４１７の送受が行われている間に、次のデータ４１５及び４１８を送受する為のアクティブコマンド４１６及び４１９をオーバラップして発行するインタリーブ動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が４クロック分の期間４５２及び４５３だけ短縮される。
【００４１】
又、異なるバンクに連続してリード動作に続くライト動作をインタリーブ動作で行う際についても、最初のデータ４２０の送受が行われている間に、次のデータ４２１を送受する為のアクティブコマンド４２２をオーバラップして発行するインタリーブ動作を行うことで、インタリーブ動作を行わない通常時の動作よりも、動作が１クロック分の期間４５４だけ短縮される。なお、リード動作とライト動作では、コマンドとデータの送受に必要な間隔が異なる為と、データバス１４が双方向であり、リード動作とライト動作を行うデバイスを切り換える為に、１クロック分の期間４５５を要する。
【００４２】
上述したように、インタリーブ動作により動作に４クロック分の期間の短縮が生じるリード動作とリード動作、ライト動作とライト動作、ライト動作とリード動作が連続するインタリーブ動作をインタリーブ動作Ａとし、又、インタリーブ動作により動作に１クロック分しか短縮が生じることのないリード動作とライト動作が連続するインタリーブ動作をインタリーブ動作Ｂとする。
【００４３】
図５に示すように、インタリーブ動作Ａの最中に、リフレッシュ動作を割り込ませる場合には、リフレッシュ動作を実行する為に発行するリフレッシュコマンド５１１、５１３及び５１５をデータ５１２、５１４及び５１６が送受されている間に、オーバラップして発行することができない為、このリフレッシュコマンド５１１、５１３及び５１５を発行するまでに４クロック分の期間５５１、５５２及び５５３の遅延が生じる。
【００４４】
又、インタリーブ動作Ｂの最中に、リフレッシュ動作を割り込ませる場合については、リフレッシュ動作を実行する為に発行するリフレッシュコマンド５１７をリードデータ５１８が送受されている間に、オーバラップして発行することができない為、リフレッシュコマンド５１７を発行するまでに１クロック分の期間５５４の遅延が生じる。
【００４５】
この為、インタリーブ動作Ａの最中にリフレッシュ動作を割り込ませる場合と、インタリーブ動作Ｂの最中にリフレッシュ動作を割り込ませる場合にそれぞれ必要な期間を比較した際、インタリーブ動作Ｂの最中にリフレッシュ動作を割り込ませる場合は、インタリーブ動作Ａの最中にリフレッシュ動作を割り込ませる場合よりも、リフレッシュコマンドを発行する為に動作に生じる遅延が３クロック分の期間だけ短い為、インタリーブ動作全体に必要な期間も短い。
【００４６】
次に、図６を参照して、アービタによるマスタの要求の調停方法をする。
【００４７】
図６は、アービタによるマスタの要求の調停方法を示す模式図である。
【００４８】
同図において、ライト要求２１及び２２、リード要求２３及び２４、リード／ライト要求２５は、コントローラやインタフェイスのマスタから発行された要求をそれぞれ示している。
【００４９】
アービタ６は、マスタから発行される要求が調停されるマスタの優先順位に基づいて、優先順位を順番に帰還しながら、全てのマスタから要求の発行を均等に調停する。なお、優先順位をライトＤＭＡコントローラ３−１、ライトＤＭＡコントローラ３−２、リードＤＭＡコントローラ４−１、リードＤＭＡコントローラ４−２、ＣＰＵバスインタフェース５の順番で帰還する。
【００５０】
一例として、ライト要求２１が最も優先順位の高い要求である時に、ライト要求２１、ライト要求２２、リード要求２３の順番で優先順位が高くなる。
【００５１】
アービタ６が最も優先順位の高いライト要求２１を許可した後に、優先順位の順番を帰還すると、優先順位はライト要求２２、リード要求２３の順番で高くなる。
【００５２】
又、別の一例として、ライト要求２１が最も優先順位の高い要求である時に、次に優先順位の高いライト要求２２が発行されていないこともある。本来、ライト要求２２が次に優先順位の高い要求であるが、この場合には、ライト要求２１、リード要求２３、リード要求２４の順番で優先順位が高くなる。
【００５３】
アービタ６が最も優先順位の高いライト要求２１を許可し、優先順位の順番を帰還すると、優先順位はリード要求２３、リード要求２４の順番で高くなる。
【００５４】
又、別の一例として、ライト要求２１が最も優先順位の高い要求である時に、この他の要求が何も発行されていない場合には、他の要求が発行されるまで、ライト要求２１が最も優先順位の高い要求であり続ける。
【００５５】
ところで、図４及び図５において上述したように、ＤＲＡＭ１０の異なるバンクに連続してリードアクセス又はライトアクセスする場合には、インタリーブ動作が可能となる。又、優先順位が連続するマスタが使用するＤＲＡＭ１０のバンクを異なるバンクにそれぞれ設定することで、全ての要求に対する動作をインタリーブ動作により行うことができる。
【００５６】
一例として、異なるバンクに連続してアクセスすることを前提とし、ライト要求２１を許可し、ライト動作を実行した後に、優先順位が連続するライト要求２２を許可し、ライト動作を実行する際は、このライト動作をインタリーブ動作Ａにより行う。
【００５７】
又、同様に異なるバンクに連続してアクセスすることを前提とし、リード要求２４を許可し、リード動作を実行した後に、優先順位が２番目に高いリード／ライト要求２５が発行されていない為、優先順位が３番目に高いライト要求２１を許可し、ライト動作を実行する際は、このライト動作をインタリーブ動作Ｂにより行う。
【００５８】
なお、ＣＰＵバスインタフェイス５とＤＲＡＭ１０とをアクセスする為のデータバスは双方向である為、ＣＰＵバスインタフェイス５が発行するリード／ライト要求２５は、リード要求である場合と、ライト要求である場合がある。この為、優先順位が連続する要求をインタリーブ動作で実行する際に、インタリーブ動作Ａ、或いはインタリーブ動作Ｂになるかは、発行される要求により可変する。
【００５９】
一例として、異なるバンクに連続してアクセスすることを前提とし、リード要求２４を許可し、リード動作を実行した後に、優先順位が連続するリード／ライト要求２５がリード要求である場合、このリード要求を許可し、リード動作を実行する際には、最初のリード動作に連続するリード動作をインタリーブ動作Ａにより行う。又、リード／ライト要求２５がライト要求である場合には、このライト要求を許可し、ライト動作を実行する際には、リード動作に連続するライト動作をインタリーブ動作Ｂにより行う。
【００６０】
なお、リフレッシュ要求３１は優先順位に加えずに、アービタ６は他の要求よりも優先してリフレッシュ要求３１を許可することができるが、ＤＲＡＭ１０のリフレッシュ動作は所定の期間において、所定の回数が行われば良い為、それぞれのリフレッシュ動作の実行がずれても差し支えない。
【００６１】
そこで、リフレッシュ動作による損失が大きいインタリーブ動作Ａを実行する際に、リフレッシュ要求３１がある場合には、ＤＲＡＭ１０のリフレッシュ動作を行わなければならない所定の期間を超えない範囲で、リフレッシュ要求３１を待機させ、インタリーブ動作Ａを優先して行い、リフレッシュ動作による損失が少ないインタリーブ動作Ｂの動作中にリフレッシュ動作を行うように、アービタ６は各マスタから発行された要求を調停する。
【００６２】
一例として、ライト要求２１によるライト動作に続いて、優先順位が連続するライト要求２２によるライト動作をインタリーブ動作Ａで実行する際に、リフレッシュ要求３１がある場合は、リフレッシュ要求３１を待機させ、リフレッシュ動作よりインタリーブ動作Ａを優先して行う。
【００６３】
又、リード要求２３によるリード動作に続いて、優先順位が次に高いライト要求２１によるライト動作をインタリーブ動作Ｂで実行する際に、リフレッシュ要求３１がある場合は、リード要求２３を許可した後に、リフレッシュ要求３１を許可してから、ライト要求２１を許可することで、インタリーブ動作Ｂの最中にリフレッシュ動作を割り込ませる。
【００６４】
次に、図７を参照して、アービタによるマスタの要求の調停の流れを説明する。
【００６５】
図７は、アービタによるマスタの要求の調停の流れを示すフローチャートである。
【００６６】
各コントローラやインタフェイスのマスタからＤＲＡＭ１０にアクセスする際に、ＤＲＡＭ１０のリフレッシュ動作を行わなければならない所定の期間を超えていないインタリーブ動作が可能な期間である時に（ステップ１０１のＹＥＳ）、これらのマスタからアービタ６にアクセス要求が発行され（ステップ１０２のＹＥＳ）、その要求がリフレッシュ要求以外の要求であり（ステップ１０３のＮＯ）、更にその要求がインタリーブ動作Ａ又はインタリーブ動作Ｂを行うことのできる要求であるならば（ステップ１０７のＹＥＳ）、アービタ６はアクセス要求を発行したマスタに対して、インタリーブ動作Ａ又はインタリーブ動作Ｂを行わせるように、アクセス許可を発行する（ステップ１０８）。
【００６７】
又、インタリーブ動作を行うことのできない要求であるならば（ステップ１０７のＮＯ）、アービタ６はマスタに図３に示したようなインタリーブ動作でない通常の方法において、リード動作、或いはライト動作を行わせるように、アクセス許可を発行する（ステップ１０９）。
【００６８】
又、ステップ１０３において、マスタから発行されたアクセス要求がリフレッシュ要求であり（ステップ１０３のＹＥＳ）、この時、他にインタリーブ動作Ａを行うことのできる要求であるならば（ステップ１０４のＹＥＳ）、アービタ６はアクセス要求を発行したマスタに優先してインタリーブ動作Ａを行わせるように、アクセス許可を発行する（ステップ１０５）。なお、アービタはリフレッシュ要求を待機させておき、他にインタリーブ動作Ａを行うことができる要求がない場合に（ステップ１０４のＮＯ）、アービタ６はリフレッシュコントローラ２にリフレッシュ動作を行わせるように、リフレッシュ許可を発行する（ステップ１０６）。
【００６９】
又、アービタ６はＤＲＡＭ１０にアクセスする際に、インタリーブ動作が可能でない期間に（ステップ１０１のＮＯ）、マスタからアクセス要求が発行されて（ステップ１１０のＹＥＳ）、その要求がリフレッシュ要求以外のリード要求、或いはライト要求であるならば（ステップ１１１のＮＯ）、アービタ６はマスタに図３に示したようなインタリーブ動作ではない通常の方法において、リード動作、或いはライト動作を行わせるように、アクセス許可を発行する（ステップ１１３）。
【００７０】
又、ステップ１１１において、マスタから発行されたアクセス要求がリフレッシュ要求であるならば（ステップ１１１のＹＥＳ）、アービタ６はリフレッシュ動作を行わせるように、リフレッシュ許可を発行する（ステップ１１２）。
【００７１】
【発明の効果】
アービタが各マスタから発行された要求を優先順位に基づいて調停し、リード動作とライト動作が連続するインタリーブ動作中に、リフレッシュ動作を行うように構成したので、リフレッシュ動作による損失を最小限に押さえることができる為、メモリアクセス性能の低下を低減することができる。
【００７２】
又、各マスタから発行された要求を各マスタの優先順位に基づいて帰還処理する間に、効率良くリフレッシュ要求を許可することができる為、リフレッシュ要求を待機させる回路を必要とせずに、制御回路を一層容易に構成することができる。
【００７３】
又、優先順位が連続するマスタが使用するＤＲＡＭのバンクを異なるパンクに配置することで、連続したインタリーブ動作を行うことができ、メモリアクセス性能を一層向上することができる。
【図面の簡単な説明】
【図１】メモリ制御装置の構成を示すブロック図。
【図２】ＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示すタイムチャート中の記号の凡例を示す図。
【図３】ＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第１のタイムチャート。
【図４】ＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第２のタイムチャート。
【図５】ＤＲＡＭへアクセスする際のメモリコントローラの動作の流れを示す第３のタイムチャート。
【図６】アービタによるマスタの要求の調停方法を示す模式図。
【図７】アービタによるマスタの要求の調停の流れを示すフローチャート。
【符号の説明】
１  メモリコントローラ
２  リフレッシュコントローラ
３−１乃び３−２  ライトＤＭＡコントローラ
４−１乃び４−２  リードＤＭＡコントローラ
５  ＣＰＵバスインタフェイス
６  アービタ
７  メモリ制御信号発生部
１０  ＤＲＡＭ
１１  ＤＭＡバス
１２  ＣＰＵバス
１３  アドレスバス
１４  データバス
１５−１乃至１５−４  バンク
２１乃び２２  ライト要求
２３及び２４  リード要求
２５  リード／ライト要求
３１  リフレッシュ要求
３１１乃至３２０、４１１乃び４２２、５１１乃至５１８  コマンド／データ３５１及び３５４、４５１乃び４５５、５５１及び５５４  期間
【図１】
0003820831.tif 000002
【図２】
0003820831.tif 000003
【図３】
0003820831.tif 000004
【図４】
0003820831.tif 000005
【図５】
0003820831.tif 000006
【図６】
0003820831.tif 000007
【図７】
0003820831.tif 000008