(57)【特許請求の範囲】
【請求項１】
ストアバック型のキャッシュ装置であって、
ダーティエントリのリプレースが発生したことと、上記ダーティエントリのリプレースに伴う連続するアクセスが、複数のメインメモリのうち互いに同じメインメモリヘのアクセスであることとの双方を検出し、上記メインメモリに対するアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリへのアクセスであることを示す信号を上記メインメモリの制御装置に通知する検出・通知手段を備えたことを特徴とするキャッシュ装置。
【請求項２】
上記検出・通知手段は、アドレス中に割り当てられた上記メインメモリの識別情報を比較することによって、上記ダーティエントリのリプレースに伴う連続するアクセスが互いに同じメインメモリヘのアクセスであるか異なるメインメモリヘのアクセスであるかを検出することを特徴とする請求項１に記載のキャッシュ装置。
【請求項３】
ＣＰＵとメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記メインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置は、上記メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御システムであって、
上記キャッシュ装置は、ダーティエントリのリプレースの発生を検出し、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースに伴うアクセスか否かの信号を上記メモリ制御装置に通知する検出・通知手段を備え、
上記メモリ制御装置は、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースに伴うアクセスであることを示す信号を上記キャッシュ装置から受けたときに、先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御する状態制御手段を備えたことを特徴とするメモリ制御システム。
【請求項４】
上記検出・通知手段は、上記ダーティエントリのリプレースに伴うアクセスか否かの信号を、上記メインメモリに対するアクセスのタイプを表す信号中に含ませて通知することを特徴とする請求項３に記載のメモリ制御システム。
【請求項５】
ＣＰＵと複数のメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記複数のメインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置は、あるメインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御システムであって、
上記キャッシュ装置は、ダーティエントリのリプレースが発生したことと、上記ダーティエントリのリプレースに伴う連続するアクセスが互いに同じメインメモリヘのアクセスであることとの双方を検出し、上記メインメモリに対するアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリヘのアクセスであることを示す信号を上記メモリ制御装置に通知する検出・通知手段を備え、
上記メモリ制御装置は、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリへのアクセスであることを示す信号を上記キャッシュ装置から受けたときに、先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御する状態制御手段を備えたことを特徴とするメモリ制御システム。
【請求項６】
ストアバック型のキャッシュ装置と、メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御装置とを備えたコンピュータシステムにおいて上記メインメモリヘのアクセスを制御するためのメモリ制御方法であって、
上記キャッシュ装置においてダーティエントリのリプレースの発生を検出するステップと、
上記メインメモリヘのアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリヘのアクセスであることを示す信号を上記キャッシュ装置から上記メモリ制御装置に通知するステップと、
上記ダーティエントリのリプレースの発生が検出されたときに、上記メモリ制御装置において、上記リプレースに伴う上記メインメモリヘの先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御するステップとを有することを特徴とするメモリ制御方法。
【請求項７】
ＣＰＵとメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記メインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置が上記メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するコンピュータシステムにおいて、
上記キャッシュ装置においてダーティエントリのリプレースの発生を検出して上記メモリ制御装置に通知する手段と、
上記ダーティエントリのリプレースの発生が通知された場合に、上記メモリ制御装置において上記リプレースに伴う先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをアイドル状態に戻すように制御する手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
ＣＰＵと複数のメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記複数のメインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置が上記メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するコンピュータシステムにおいて、
上記キャッシュ装置において、ダーティエントリのリプレースが発生したことと、上記ダーティエントリのリプレースに伴う連続するアクセスが互いに同じメインメモリヘのアクセスであることとの双方を検出して上記メモリ制御装置に通知する手段と、
上記キャッシュ装置からの通知が行われた場合に、上記メモリ制御装置において、上記リプレースに伴う先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをアイドル状態に戻すように制御する手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャッシュ装置、メモリ制御システムおよび方法、記録媒体に関し、特に、データの入出力を高速化した記憶装置を制御するための技術に用いて好適なものである。
【０００２】
【従来の技術】
近年、コンピュータシステムにおけるＣＰＵのクロックの高速化、あるいは他の様々な電子回路の処理速度の高速化に伴って、インタフェース部分も高速化する必要に迫られている。そのために、例えば、ＣＰＵより連続して出力される記憶装置のアドレスは互いに近接している可能性が高いという特性を利用して、メモリセルアレイ内で一度アクティブにした部分をその後もアクティブ状態に保つことにより、同じ部分に対する後続のアクセスを高速化するという機能が、高速ＤＲＡＭ以降のＤＲＡＭ（Dynamic Random Access Memory）で採用されている。
【０００３】
図１０は、ＤＲＡＭの概略構成を示す図である。図１０において、メモリセルアレイ３５は、互いに直交する複数のワード線とビット線、およびこれらのワード線とビット線との各交差部に設けられた複数のメモリセルを備える。外部よりアドレスバッファ３１に入力されるアドレスは、その上位ビットがロウ（行）アドレスを示し、下位ビットがカラム（列）アドレスを示している。ロウアドレスはロウアドレスバッファ３２に保持され、カラムアドレスはカラムアドレスバッファ３３に保持される。
【０００４】
ロウアドレスバッファ３２に保持されたロウアドレスは、ロウデコーダ３４でデコードされて、メモリセルアレイ３５内の１つのワード線を選択する。データ読み出し時には、その選択したワード線に接続されている各メモリセルのデータが微小な電圧としてそれぞれのビット線に読み出され、センスアンプ３６で夫々増幅される。
【０００５】
他方、カラムアドレスバッファ３３に保持されたカラムアドレスは、カラムデコーダ３７でデコードされて、１つのビット線に対応するカラムゲートを選択的に開く。これにより、選択したビット線上のデータがこのカラムゲートを介して共通線４０に取り出される。データ読み出しの場合は、このデータＤＱがデータＩ／Ｏバッファ３８を介して外部に出力される。
【０００６】
また、データ書き込みの場合は、外部より入力されたデータＤＱが、データＩ／Ｏバッファ３８から共通線４０およびカラムアドレスによって選択されているカラムゲートを通ってメモリセルアレイ３５内のビット線に伝達される。そして、このビット線と、ロウアドレスによって選択されているワード線との交点に当たるメモリセルにデータが書き込まれる。
【０００７】
上記３１〜３８に示した各構成要素は、制御回路３９で制御される。制御回路３９には、外部からロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥが供給される。なお、図面上で信号名にオーバーラインを付けて表した反転信号は、明細書中では信号名の前に／の記号を付けて表すものとする。
【０００８】
このような構成のＤＲＡＭにおいて、データの読み書きのために行われる連続したアクセスは、互いに近接したアドレスに対するものである可能性が高く、あるロウアドレスへのアクセスが終了しても、次に同一のロウアドレスへのアクセスが生じる可能性が高いという特性を有する。よって、異なるロウアドレスをアクセスする必要が生じないときには、一度ロウアドレスによって選択した１つのワード線をアクティブ状態のままにしておくことにより、後続のアクセスをカラムアドレスだけで実行できるようにし、アクセスの高速化を図っている。
【０００９】
このような機能を有効に利用するために、近年のメモリコントローラでは、あるアドレスに従ってデータにアクセスした後も、そのデータ位置を含む所定の大きさのブロック（１つのワード線）をアクティブ状態に保つような制御を行い、同じブロックへのアクセスが連続したときには高速に応答できるようにしている。このようなブロックの大きさの単位のことをページと言い、この機能を利用したＤＲＡＭのことをファストページＤＲＡＭとも言う。
【００１０】
一方、近年のコンピュータシステムでは、一度アクセスされたデータは近い将来に再びアクセスされる確率が高いという特性を利用して、ＣＰＵとメインメモリとの間に、メインメモリに比べて高速の記憶素子により構成されたキャッシュメモリを置くのが一般的になっている。すなわち、メインメモリに対して一度アクセスしたデータをキャッシュメモリに登録しておき、次に同じデータにアクセスしたときにはキャッシュメモリから取り出すことにより、見かけ上メインメモリへのアクセス速度を高速化することができるようにしている。
【００１１】
このキャッシュメモリを備えたコンピュータシステムでは、メインメモリ内のデータへのアクセスが要求されると、まずキャッシュメモリを参照し、そこに要求されたデータが存在すれば（キャッシュヒット）、直ちにそのデータをＣＰＵに転送する。もし存在しなければ（キャッシュミス）、要求されたデータを含む適当な大きさのブロックをメインメモリから読み出してキャッシュメモリへ格納する。このとき、キャッシュメモリ内に未使用のブロックがなければ、再使用の可能性の小さいブロック等を選び出して新しいデータに割当て換えをする。
【００１２】
キャッシュメモリには、大きく分けてストアスルー方式とストアバック方式とがある。ストアスルー方式は、キャッシュの内容を書き換えるときにメインメモリの方も必ず書き換えを行うことにより、メインメモリ内にも常に最新のデータが格納されているようにする方式である。また、ストアバック方式は、当面はキャッシュだけを書き換え、キャッシュミスの発生に応じてブロックの割当て換えを行う際にメインメモリに戻すという方式である。したがって、ストアバック方式の場合は、キャッシュメモリの内容とメインメモリの内容とが互いに異なっている状態が存在することになる。
【００１３】
後者のストアバック方式において、一時的にキャッシュだけが書き換えられた部分をダーティエントリと呼ぶ。また、ブロックの割当て換えを行う場合、このダーティエントリを含まないブロックに関しては単純にメインメモリからロードを行えば良いが、ダーティエントリを含むブロックに関しては、当該ブロックをメインメモリに書き出すとともに、異なるブロックをメインメモリから割り当てる必要がある。これを、ダーティエントリのリプレースと呼ぶ。
【００１４】
近年では、ＣＰＵの高速化やキャッシュの大容量化などに伴い、メインメモリへのアクセス頻度が高いストアスルー型のキャッシュから、メインメモリへのアクセス頻度が低いストアバック型のキャッシュに切り替わりつつある。これは、データ処理システムにおいて、メモリへのアクセス速度がシステム性能のボトルネックになることが多いためである。
【００１５】
図１１は、キャッシュメモリの概略構成を示す図である。この図１１に示すように、キャッシュメモリは、通常、メインメモリに保持されているデータの一部を格納するキャッシュ（データ領域）４１と、キャッシュ４１に格納（エントリ）されているデータのメインメモリ上のアドレスの一部（タグ）を格納するタグメモリ（タグ領域）４２とを備えて構成される。
【００１６】
キャッシュ４１は、メインメモリに比べて小容量であるため、キャッシュ４１のエントリに対応するアドレスをタグメモリ４２に登録し、その登録したタグメモリ４２中のアドレスと、ＣＰＵがアクセス要求したデータのアドレスとを比較することによって、両者が一致するか否かで当該アクセス要求したデータがキャッシュ４１に存在するか否かのキャッシュヒット／ミスの判定を行っている。
【００１７】
このとき、キャッシュ４１内の全てのエントリ、すなわち、タグメモリ４２内の全てのタグをアクセス要求のあったアドレスと比較するのではハードウェアが大量に要ることになる。そのため、一般的には、まずアクセス要求に係るアドレスの下位ビット（ＩＮＤＥＸ）を使用して、当該下位ビットが一致するエントリを選択する。そして、その選択したエントリのタグのみを比較部４３において比較する手法（セット連想記憶方式）が採られている。ここで、アクセス要求に係るアドレスの下位ビットが使用されるのは、ＣＰＵからのアクセス要求は局所性が高く、近傍のアドレスにアクセスが集中する可能性が高いためである。
【００１８】
同様のことが、上述したファストページＤＲＡＭのメモリ制御においても言える。このため、上位アドレスにＤＲＡＭのロウアドレスを割り付け、下位アドレスにカラムアドレスを割り付けることにより、連続するアクセス要求でロウアドレスが同じ（ページヒット）となる確率を高くする。そして、ページヒットした場合は、そのページをアクティブ状態にしたまま、次以降のアクセスはカラムだけのアドレス出力でアクセスするように制御することで、ロウアドレスを出力しなくても良い分だけアクセス速度を高速化しているのである（ページアクセス手法）。
【００１９】
【発明が解決しようとする課題】
しかしながら、近年増えつつあるストアバック型のキャッシュメモリと、従来のファストページＤＲＡＭのメモリコントローラとを接続すると、以下のような問題が生じる。すなわち、ストアバック型のキャッシュメモリにおけるダーティエントリのリプレース時に行われるメインメモリへのアクセスでは、下位アドレスが同じで上位アドレスが異なるというアクセスが連続して発生する確率が極めて高くなり、ほとんどの場合にはメインメモリでページミスが発生する。
【００２０】
連続するアクセス要求でページヒットする場合はアクセス速度を高速にできるが、連続するアクセス要求でロウアドレスが異なるページミスが発生した場合には、後続のアクセスにおいて、先行するアクセス時に選択したページをプリチャージしてアクティブ状態からアイドル状態に戻し、その後に異なるページをアクティブ状態に活性化しなければならないというオーバーヘッドが発生する。
【００２１】
特に、シンクロナスＤＲＡＭ（ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory）のメモリコントローラでは、高速なインタフェースのため、オーバーヘッドの比率が高くなる。このようなＳＤＲＡＭのメモリコントローラとストアバック型のキャッシュメモリとを用いて、異なる領域へのメモリアクセスの頻度が多い標準的なプログラムに対して実行時間の計測を行うベンチマークテストを実行したところ、２割程度のオーバーヘッドがあった。このようなオーバーヘッドが発生すると、その分だけアクセス速度が低下してしまうという問題が生じる。
【００２２】
図１２は、従来のメモリコントローラのページ制御の流れを示すフローチャートである。図１２において、ＤＲＡＭがリセット（ステップＳ１）された後は、どのワード線も選択されていないアイドル状態となる（ステップＳ２）。ここで、ＣＰＵから何らかのアクセス要求があると（ステップＳ３）、そのアクセス要求に係るロウアドレスによって１つのワード線（ページ）が選択され、アクティブ状態とされる（ステップＳ４）。このとき、カラムアドレスに従って１つのビット線が選択されてデータの読み書きが行われるが、その実行後も上記選択されたページはアクティブ状態に保たれる。
【００２３】
なお、ＣＰＵから何のアクセス要求もない場合は、ＤＲＡＭのリフレッシュ動作を行うか否かが判定され（ステップＳ８）、行わない場合はステップＳ２に戻ってアクセス要求待ちの状態となり、行う場合はリフレッシュ動作を実行する（ステップＳ１１）。
【００２４】
あるページがアクティブ状態のときに、ＣＰＵから何のアクセス要求もない場合も（ステップＳ５）、ＤＲＡＭのリフレッシュ動作を行うか否かが判定され（ステップＳ９）、行わない場合はステップＳ４に戻ってアクセス要求待ちの状態となる。また、リフレッシュ動作を行う場合は、まず現在選択しているページをプリチャージした後（ステップＳ１０）、リフレッシュ動作を実行する（ステップＳ１１）。
【００２５】
一方、ＣＰＵから何らかのアクセス要求があると（ステップＳ５）、そのアクセス要求に係るロウアドレスが前回与えられたロウアドレスと同じか否かを見ることにより、ページヒットかページミスかが判定される（ステップＳ６）。ページヒットの場合は、ステップＳ４に戻ってそのロウアドレスに対応するページがアクティブ状態に保たれ、そのときのカラムアドレスに従ってデータの読み書きが直ちに実行される。
【００２６】
他方、ページミスが発生した場合は、まず、現在選択しているページをプリチャージして（ステップＳ７）、そのページをアクティブ状態からアイドル状態に戻す（ステップＳ２）。その後、ステップＳ３を経由してステップＳ４に進み、異なるページをアクティブ状態にしなければならない。つまり、ページミスの発生時には、ページヒットの場合と比べて、現在のページをアクティブ状態からアイドル状態に戻し、その後に異なるページをアクティブ状態にするというオーバーヘッドが発生していた。
【００２７】
本発明は、このような問題を解決するために成されたものであり、一度アクティブ状態にしたページをその後もアクティブ状態に保つことにより、同じページに対する後続のアクセスを高速化するというファストページ機能を有するメモリにおいて、ページミスが発生しても、そのときにページをアクティブ状態からアイドル状態にするという処理を行わずに済むようにして、メモリに対するアクセス速度を更に高速化できるようにすることを目的としている。
【００２８】
【課題を解決するための手段】
本発明のキャッシュ装置は、ストアバック型のキャッシュ装置であって、ダーティエントリのリプレースが発生したことと、上記ダーティエントリのリプレースに伴う連続するアクセスが、複数のメインメモリのうち互いに同じメインメモリヘのアクセスであることとの双方を検出し、上記メインメモリに対するアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリへのアクセスであることを示す信号を上記メインメモリの制御装置に通知する検出・通知手段を備えたことを特徴とする。
【００２９】
また、本発明のメモリ制御システムは、ＣＰＵとメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記メインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置は、上記メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御システムであって、上記キャッシュ装置は、ダーティエントリのリプレースの発生を検出し、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースに伴うアクセスか否かの信号を上記メモリ制御装置に通知する検出・通知手段を備え、上記メモリ制御装置は、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースに伴うアクセスであることを示す信号を上記キャッシュ装置から受けたときに、先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御する状態制御手段を備えたことを特徴とする。
【００３０】
また、本発明のメモリ制御システムは、ＣＰＵと複数のメインメモリとの間に設けられるストアバック型のキャッシュ装置と、上記キャッシュ装置に接続されて上記複数のメインメモリヘのアクセスを制御するメモリ制御装置とを備え、上記メモリ制御装置は、あるメインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御システムであって、上記キャッシュ装置は、ダーティエントリのリプレースが発生したことと、上記ダーティエントリのリプレースに伴う連続するアクセスが互いに同じメインメモリヘのアクセスであることとの双方を検出し、上記メインメモリに対するアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリヘのアクセスであることを示す信号を上記メモリ制御装置に通知する検出・通知手段を備え、上記メモリ制御装置は、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリへのアクセスであることを示す信号を上記キャッシュ装置から受けたときに、先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御する状態制御手段を備えたことを特徴とする。
【００３１】
また、本発明のメモリ制御方法は、ストアバック型のキャッシュ装置と、メインメモリに対するあるアクセスの終了後もそのアクセスのあったページをアクティブ状態に保つモードを有するメモリ制御装置とを備えたコンピュータシステムにおいて上記メインメモリヘのアクセスを制御するためのメモリ制御方法であって、上記キャッシュ装置においてダーティエントリのリプレースの発生を検出するステップと、上記メインメモリヘのアクセスが上記ダーティエントリのリプレースで、かつ同じメインメモリヘのアクセスであることを示す信号を上記キャッシュ装置から上記メモリ制御装置に通知するステップと、上記ダーティエントリのリプレースの発生が検出されたときに、上記メモリ制御装置において、上記リプレースに伴う上記メインメモリヘの先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すように制御するステップとを有することを特徴とする。
【００３２】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
図１は、本発明によるメモリ制御装置およびキャッシュ装置を実施したメモリ制御システム（コンピュータシステム）の概略構成を示すブロック図である。図１において、ＣＰＵ１は、バスのアクセス制御６、アドレス７、データ８を介してＲＯＭ５やＲＡＭ４等から与えられる制御プログラムに基づいて、様々な命令を実行するための中央演算処理装置である。
【００３３】
このＣＰＵ１は、メインメモリ４へのアクセス要求、このアクセス要求の種類（リードかライトかの種類／１つのデータに対するアクセスかブロック単位のデータに対するアクセスかの種類など）を示すタイプおよびアドレスを出力し、これらの信号に応じてデータを入出力する。メインメモリ４へのアクセス要求は、キャッシュメモリ２を介して行う。これは、大容量のメインメモリ４は、アクセス応答速度が比較的遅いので、高速なキャッシュメモリ２にデータのコピーを持たせることで、アクセス応答の速度を高速化するためである。
【００３４】
上記メインメモリ４は、例えばＳＤＲＡＭのようなファストページモードを有する記憶装置であり、例えば図１０に示したような構成を有する。これに対し、キャッシュメモリ２は、メインメモリ４に比べて小容量で、かつ高速な記憶素子により構成された一時記憶装置（緩衝記憶装置）である。
【００３５】
最近になって、キャッシュの大容量化等に伴い、キャッシュの制御方式としてストアスルー方式ではなく、ストアバック方式がマイクロコントローラの分野でも使用されるようになってきている。本実施形態でも、キャッシュメモリ２としてストアバック型のメモリを用いている。さらに、本実施形態のキャッシュメモリ２は、図１１に示したような構成を有し、アドレスの下位ビットを使用してエントリを選択し、その選択したエントリのアドレスのみを比較するセット連想記憶方式を採用している。
【００３６】
メモリコントローラ３は、キャッシュメモリ２からのアクセス要求をメインメモリ４のアクセスプロトコルに変換するためのブロックである。このメモリコントローラ３は、アクセス制御信号としてロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥなど（図４〜図６参照）をメインメモリ４に出力する。メモリコントローラ３をキャッシュメモリ２とは別のブロックとして構成しているのは、メモリコントローラ３の種類を変更することで、メインメモリ４として各種のメモリを付け替えることができるようにするためである。
【００３７】
このような構成において、ＣＰＵ１からメインメモリ４内のデータへのアクセスが要求されたときは、まずキャッシュメモリ２にそのデータのコピーがあるか否かを判定する。そして、コピーがある場合（キャッシュヒット）には、キャッシュメモリ２とのデータの送受信だけでアクセスを終了することができる。ＣＰＵ１からのアクセス要求は、一度アクセスしたデータ（命令）に対して近い将来に何回も行われることが多いため、キャッシュヒットする確率が高く、データ入出力のためのアクセスを高速化することができる。
【００３８】
一方、キャッシュメモリ２にアクセス要求されたデータのコピーがない場合（キャッシュミス）には、キャッシュメモリ２からメモリコントローラ３に対してアクセス要求を実行することにより、メインメモリ４に対して実際にアクセスを行い、必要なデータを取り出す。このとき、当該要求されたデータを含む適当な大きさのブロックをメインメモリ４から読み出して、キャッシュメモリ２のエントリに登録する。
【００３９】
ストアバック方式とセット連想記憶方式とを適用したキャッシュメモリ２においては、キャッシュミスの発生に応じてダーティエントリのリプレースを行うときは、キャッシュメモリ２内のダーティエントリの内容をメインメモリ４に書き出さないといけないため、同じセットアドレスのリードアクセスとライトアクセスとが連続して起こることになる。
【００４０】
すなわち、ダーティエントリのリプレースは、図２に示すような▲１▼〜▲３▼の手順で実行する必要がある。まず、ダーティエントリを含む所定ブロックのデータをキャッシュメモリ２から取り出してバッファ９に一時的に退避させておく（▲１▼）。そして、アクセス要求に応じたデータをメインメモリ４から読み出し、そのデータを含むブロックをキャッシュメモリ２内の上記ダーティエントリが存在していた部分に登録する（▲２▼）。その後で、上記バッファ９に一時格納しておいたダーティエントリ部分の内容をメインメモリ４に書き込む（▲３▼）。
【００４１】
ここで、セット連想記憶方式においては、図１１のように、下位アドレスをキーとしてエントリを選択し、その選択したエントリのアドレスと上位アドレスとを比較してキャッシュのヒット／ミスを判定している。よって、キャッシュミスの発生によりダーティエントリのリプレースが行われるときには、リプレース動作時に与えられる連続するアドレスが、互いに下位ビットは同じであるが上位ビットは異なっている確率が極めて高いということになる。
【００４２】
このように、ダーティエントリのリプレースの発生時には、下位アドレスが同じで上位アドレスが異なるといった、同じセットアドレスのリードアクセスとライトアクセスとが連続して起こることになる。下位アドレスが同じで上位アドレスが異なるということは、メモリコントローラ３の制御方式では、あるアクセスに後続する次のアクセスで、ロウアドレスが異なるページミスが発生しているということになる。
【００４３】
つまり、ＣＰＵ１からのあるアクセス要求に対してキャッシュメモリ２でキャッシュミスが発生し、キャッシュにおけるダーティエントリのリプレースが行われるときには、リプレースに伴う後続するアクセスではメインメモリ４でページミスが発生する確率が極めて高いということになる。
【００４４】
そこで、本実施形態では、図１に示すように、ストアバック型のキャッシュメモリ２内に、ダーティエントリのリプレースの発生を検出し、当該リプレースに伴うアクセスであるか否かを示すページ制御信号をメモリコントローラ３に通知するリプレース検出・通知回路１１を設ける。このリプレース検出・通知回路１１は、ダーティエントリのリプレース状態を示す内部状態信号を、アクセスに同期してページ制御信号としてキャッシュメモリ２の外部のメモリコントローラ３に出力するように構成したものである。
【００４５】
メモリコントローラ３は、状態制御回路１２を備え、メインメモリ４内の各メモリセルをアクティブ状態あるいはアイドル状態にする制御等を行う。この状態制御回路１２は、リプレース検出・通知回路１１から上記リプレース時のアクセスであることを示すページ制御信号を受け取ると、リプレースに伴う先行するアクセスの終了時に直ちにプリチャージを実行することにより、アクティブ状態にあるページをアイドル状態に戻すように制御する。
【００４６】
ここで、メインメモリ４へのアクセスは、キャッシュミスが発生したときに初めて行われるので、キャッシュミスの発生時に行われるダーティエントリのリプレースの状態は、メインメモリ４へのアクセス時に発生することがあるページミスの状態よりも先に検知できる。したがって、ダーティエントリのリプレースが発生したら、そのセットアドレスに基づくメインメモリ４への先行アクセスの終了時にページのプリチャージを直ちに行うようにすることで、後続のアクセスは、あるページをアイドル状態からアクティブ状態にするという動作だけで行うことができるようになる。
【００４７】
つまり、本実施形態によれば、メインメモリ４でのページミスの発生時において、異なるページをアクティブ状態に活性化する前に現在アクティブ状態のページをプリチャージしてアイドル状態に戻すというオーバーヘッドをなくすことができる。例えば、従来例にて説明したのと同様のベンチマークテストを行った結果、オーバーヘッドを１割程度に抑えることができるようになった。
【００４８】
この場合のメモリコントローラ３の制御フローを、図３に示す。図１２に示した従来のメモリコントローラの制御フローとの違いは、ステップＳ３とステップＳ４との間にステップＳ２０の処理を挿入し、キャッシュメモリ２内のリプレース検出・通知回路１１からページ制御信号、すなわち、ダーティエントリのリプレースの検出信号が与えられているか否かを判断し、与えられている場合にはステップＳ７にジャンプしてプリチャージを行うようにしたことである。
【００４９】
すなわち、本実施形態では、メインメモリ４に対して何らかのアクセスが終わったときに無条件にアクティブ状態に遷移せずに、キャッシュメモリ２からのページ制御信号により、現在のページをアクティブ状態に保持するか、プリチャージしてアイドル状態に戻すかを選択できるようにしている。このように、実際にページミスが発生するのに先立ってあらかじめプリチャージを行うことにより、従来はページミスの発生時にプリチャージによるページの非活性化、ロウアドレス出力によるページのアクティブ化（活性化）、カラムアドレス出力という３つの手順を実行しなければならなかったのが、本実施形態ではページのプリチャージという手順を省略することができる。
【００５０】
なお、メモリコントローラ３の制御を、キャッシュミスの発生によりメインメモリ４へのアクセスが行われたらそのアクセスの終了後に該当するページを無条件にプリチャージするという方法も考えられるが、これではメインメモリ４の高速ページモードが生かされない。すなわち、アクセスの終了後にそのページを無条件でプリチャージすると、ダーティエントリのリプレース以外のアクセスでも、ページのアクティブ化という手順を必ず実施しなければならなくなるので、アクセス速度が逆に遅くなってしまう。よって、上述した本実施形態のような制御が好ましい。
【００５１】
次に、図４、図５および図６に示すタイミングチャートを用いて、本実施形態によるメモリコントローラ３のページ制御の動作例を従来例と比較しながら説明する。図４は、ページヒットした場合の波形を示すものである。図４において、クロック信号ＣＬＫの第２サイクルでカラムアドレスストローブ信号／ＣＡＳが立ち下がってアクティブになると、第４サイクルからメインメモリ４よりデータＤＱの読み出しが行われる。
【００５２】
その後、クロック信号ＣＬＫの第９サイクルでカラムアドレスストローブ信号／ＣＡＳとライトイネーブル信号／ＷＥとが立ち下がってアクティブになると、メインメモリ４に対してデータＤＱの書き込みが行われる。この図４の場合、メインメモリ４に対する２回目のライトアクセスは、１回目のリードアクセスのときと同じページに対して行われることによりページがヒットし、全くオーバーヘッドのない様子が示されている。
【００５３】
図５は、従来のメモリコントローラによるページ制御時の波形を示すものである。図５では、クロック信号ＣＬＫの第９サイクルでページミスが発生し、ロウアドレスストローブ信号／ＲＡＳとライトイネーブル信号／ＷＥとが立ち下がることにより、プリチャージが行われている。その後、プリチャージ動作の完了後の第１１サイクルでロウアドレスストローブ信号／ＲＡＳが立ち下がり、異なるページがアクティブ状態にされる。さらに、第１３サイクルでカラムアドレスストローブ信号／ＣＡＳとライトイネーブル信号／ＷＥとが立ち下がることにより、メインメモリ４の異なるページに対してデータＤＱの書き込みが行われる。
【００５４】
このように、ページミスが発生した場合には、データＤＱの書き込みは第１６サイクル目で終了しており、第１２サイクル目で終了していたページヒットのケースに対して４サイクル分のオーバーヘッドが発生している。この部分だけならば、約３３％のオーバーヘッドということになる。しかし、実際にはこのようなアクセスで全てのサイクルが埋まらない。それでも割り込み応答時やタスクスイッチ時のキャッシュリプレースが多発するような場合には、約２０％程度のオーバーヘッドが発生する。
【００５５】
図６は、ストアバックのアクセスが後続にあるリードアクセスの直後にプリチャージ動作を行う本実施形態によるページ制御時の波形を示すものである。図６では、クロック信号ＣＬＫの第２サイクルでカラムアドレスストローブ信号／ＣＡＳが立ち下がってアクティブになると、第４サイクルからメインメモリ４よりデータＤＱの読み出しが行われる。このリードアクセスは、図２に示した▲２▼の動作に相当するものである。このリードアクセスの実行前には、リプレース検出・通知回路１１によるダーティエントリのリプレース発生の検出に応じて、ページ制御信号ＣＴＬが立ち上がってアクティブとなっている。
【００５６】
そして、ページ制御信号ＣＴＬが立ち上がっており、かつ、リードアクセスの最終段階に当たる第７サイクルで、ロウアドレスストローブ信号／ＲＡＳとライトイネーブル信号／ＷＥとが立ち下がることにより、プリチャージが行われる（ＳＤＲＡＭの規格上、アクセスの最終段でプリチャージの指示を出すことが可能である）。リード動作が終了すると、ページ制御信号ＣＴＬは立ち下がる。
【００５７】
その後、プリチャージ動作の完了後の第９サイクルでロウアドレスストローブ信号／ＲＡＳが立ち下がり、異なるページがアクティブ状態にされる。さらに、第１１サイクルでカラムアドレスストローブ信号／ＣＡＳとライトイネーブル信号／ＷＥとが立ち下がることにより、メインメモリ４の異なるページに対してデータＤＱの書き込みが行われる。このライトアクセスは、図２に示した▲３▼の動作に相当するものである。
【００５８】
このように、本実施形態のページ制御によると、プリチャージ動作がリード動作中に隠れて行われるため、メインメモリ４の異なるページに対する書き込みは第１４サイクル目で終了しており、図５の場合と比較して、オーバーヘッドは２サイクル分に軽減される。すなわち、従来の方法に比べてオーバーヘッドを半分に減らすことができ、割り込み応答時やタスクスイッチ時のキャッシュリプレースが多発するような場合でも、約１０％程度にオーバーヘッドを減少させることができる。これらのケースは、キャッシュサイズをいくら大きくしてもキャッシュミスが発生するケースであるため、これらのケースについては、キャッシュサイズを大きくするよりも本実施形態を適用する方が性能の向上を図る上で優れている。
【００５９】
次に、本発明の第２の実施形態について説明する。以上に述べた第１の実施形態ではメインメモリが１つの場合（例えば、ＤＲＡＭのバンクが１組しかない場合）について説明したが、ＤＲＡＭを複数組接続する場合がある。特に、ＳＤＲＡＭでは、チップ内部に複数のバンクが存在し、異なるバンクであれば異なるページを同時にアクティブ状態にすることができるようになっている。すなわち、チップ内部に複数のＤＲＡＭがあるのと同様にアクセスすることができる。
【００６０】
以下に述べる第２の実施形態は、ＤＲＡＭが複数あり、何れかのメモリに対してアクセス要求が適宜行われるようなシステムに適用したものである。図７は、第２の実施形態によるメモリ制御システム（コンピュータシステム）で用いるメインメモリ４の例としてＳＤＲＡＭの構成を示す図である。図７に示すＳＤＲＡＭは、複数のバンク２１ａ〜２１ｄより成る記憶領域２１を備えている。これらのバンク２１ａ〜２１ｄは、異なるチップ上に夫々設けられていても良いし、同一チップ上に設けられていても良い。
【００６１】
各バンク２１ａ〜２１ｄにおけるデータの読み出し／書き込み等の動作や、ページのアクティブ状態／アイドル状態の切替え制御等は、制御信号ラッチ回路２２から３つの端子ＲＡＳ，ＣＡＳ，ＷＥに与えられる制御信号に基づいて行われる。制御信号ラッチ回路２２には、チップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳおよびライトイネーブル信号／ＷＥがコマンドデコーダ２５によりデコードされて生成された制御信号がラッチされる。
【００６２】
また、各バンク２１ａ〜２１ｄにおいてページをアクティブ状態にしたり、プリチャージを行ってアイドル状態にするときのメモリセルアレイ上の位置は、外部よりアドレスバッファ／レジスタ＆バンク選択回路２６に与えられるアドレスに基づいて指定される。ただし、この場合は、アドレスバッファ／レジスタ＆バンク選択回路２６から各バンク２１ａ〜２１ｄに与えられる上位のロウアドレスに従ってワード線を選択することにより、該当するページを指定する。
【００６３】
一方、各バンク２１ａ〜２１ｄにてデータの読み出しや書き込みを行うときのメモリセルアレイ上の位置も、外部よりアドレスバッファ／レジスタ＆バンク選択回路２６に与えられるアドレスに基づいて指定される。この場合は、アドレスバッファ／レジスタ＆バンク選択回路２６から各バンク２１ａ〜２１ｄに与えられる上位のロウアドレスに従ってワード線が選択され、カラムアドレスカウンタ２４を介して与えられる下位のカラムアドレスに従ってビット線が選択される。
【００６４】
本実施形態のように、例えばチップセレクトで選択される複数のバンク２１ａ〜２１ｄが接続されている場合は、外部より与えられるアドレス中には、下位のカラムアドレスとその上位のロウアドレスの他に、更にその上位にどのバンクにアクセスするかを示す識別情報が含まれる。アドレスバッファ／レジスタ＆バンク選択回路２６では、このアドレス中に含まれる識別情報に基づいてバンクの選択も行う。
【００６５】
上記外部よりアドレスバッファ／レジスタ＆バンク選択回路２６に与えられたアドレスに従って読み書きされるデータＤＱは、Ｉ／Ｏデータバッファ／レジスタ２７を介して外部との間で入出力される。
なお、本実施形態で用いているＳＤＲＡＭは種々の動作モードを有している。上記カラムアドレスカウンタ２４のカウント動作は、コマンドデコーダ２５およびアドレスバッファ／レジスタ＆バンク選択回路２６からモードレジスタ２３を介して与えられるモード制御信号に応じて適当に制御される。
以上に述べた各ブロックの動作は、外部よりクロックバッファ２８に与えられるクロック信号ＣＬＫに同期して行われる。
【００６６】
このようにメインメモリ４が複数のＤＲＡＭ（バンク）を備えるシステムにおいて、ダーティエントリのリプレースの実行時にキャッシュメモリ２に新たにロードするデータの読み出しアドレスと、リプレース対象のエントリの書き出し先アドレスとが異なるチップ（ＳＤＲＡＭの場合はバンク）に位置する場合には、先行するリードアクセスの要求先であるチップ（バンク）に対してはプリチャージを行う意味がなく、ページをアクティブ状態に保持しておくのが望ましい。
【００６７】
すなわち、第１の実施形態と同様に、単純にキャッシュのダーティエントリのリプレースの発生を検出しただけで、アクセスを行ったページのプリチャージを行うこととすると、先行するリードアクセス要求先と後続のライトアクセス要求先とが異なるチップ（バンク）に位置する場合には不要なプリチャージを行うこととなり、アクセス速度が却って遅くなる可能性がある。
【００６８】
このような不都合を回避するために、第２の実施形態では、キャッシュメモリ２でのアドレス比較を上位アドレスと下位アドレスとに分割し、接続するＤＲＡＭの容量に応じて分割する位置を変えられるようにする。このとき、上位アドレスの部分にどのチップ（バンク）にアクセスするかを示す識別情報が含まれるようにアドレスの分割を行う。このようにすれば、上位アドレスが異なる場合には、リプレース対象のエントリとは異なるチップ（バンク）に対するアクセスであることを検出できる。
【００６９】
キャッシュメモリ２は、異なるチップ（バンク）へのアクセスであることを検出すると、リードアクセスを行ったページのプリチャージを指示するページ制御信号をリプレース検出・通知回路１１からメモリコントローラ３に出力しないように制御する。このようにすることで、不要なプリチャージ動作を抑止することができ、全体としてメインメモリ４へのアクセスを速くすることができる。
【００７０】
以下に、本実施形態で用いるアドレスの割り当てについて、図８を用いて説明する。例えば、メインメモリ４が、８ビット幅の６４ＭビットＳＤＲＡＭを４個使用して３２ビット幅で接続された構成を有する場合には、３２ビットのアドレスは、図８（ａ）のように分割される。
【００７１】
すなわち、最下位の第０〜第１ビットは、バイト単位でデータの読み書きを行うことを指定するために使用される。その上位の第２〜第１０ビットは、カラムアドレスとして使用され、ＳＤＲＡＭに出力される。また、第１１〜第２２ビットは、ロウアドレスとして使用され、ＳＤＲＡＭに出力される。さらに、第２３〜第２４ビットは、バンクを指定するためのバンクアドレスとして使用され、これもＳＤＲＡＭに出力される。なお、それより上位の第２５〜第３１ビットは未使用である。
【００７２】
このとき、キャッシュメモリ２の構成が、１６Ｋバイト／４ウェイ（４Ｋバイト／１ウェイ：１つのウェイは図１１のような構成を有する）の場合には、アドレス比較は、図８（ｂ）に示すように第１２〜第３１ビットに対して行う。そして、このアドレス比較を、ＤＲＡＭの容量に合わせて第１２〜第２２ビット（下位アドレス）と第２３〜第３１ビット（上位アドレス）とに分割して行うようにする。なお、この場合、第０〜第１１ビットはキャッシュでのアドレス比較においては未使用である。
【００７３】
この図８（ｂ）に示したような上位アドレスと下位アドレスとを用いて図１１のようにアドレス比較を行った結果、アドレスが一致した場合は、キャッシュヒットであり、キャッシュメモリ２へのアクセスだけでデータの入出力を行うことができる。
【００７４】
一方、アドレスが一致しない場合は、キャッシュミスであり、キャッシュメモリ２内で最もアクセスされていないエントリを選択して新しいデータに割当て換えをする。その対象となるエントリがダーティ（データの書き換えが行われ、メインメモリ４とキャッシュメモリ２とで異なるデータになっている状態）でなければ、メインメモリ４から新たなデータを読み出し、キャッシュメモリ２のエントリを更新する。
【００７５】
また、割当て換えの対象となるエントリがダーティエントリであれば、そのエントリをメインメモリ４に書き出すとともに、別のエントリをメインメモリ４から読み出してキャッシュメモリ２のエントリを更新するリプレースを行う必要がある。その際に本実施形態では、アドレスの上位（第２３〜第３１ビット）が一致する場合には、連続するアクセスが同じチップ（バンク）へのアクセスであるので、第１の実施形態と同様にプリチャージを行うべくリプレース検出・通知回路１１からページ制御信号を出力し、キャッシュのリプレースを行う。
【００７６】
一方、リプレース対象がダーティであった場合でも、アドレスの上位（第２３〜第３１ビット）が一致しない場合には、連続するアクセスは異なるチップ（バンク）へのアクセスであるので、当該連続するアクセスによりメインメモリ４上でページミスが起こることはない。よって、この場合は、ダーティエントリのリプレースに伴うアクセスか否かを示すページ制御信号をリプレース検出・通知回路１１においてアサートせずに、キャッシュのリプレースを行う。
【００７７】
以上のように、第２の実施形態によれば、ダーティエントリのリプレースの発生時であっても、そのリプレースに伴って連続して行われるメインメモリ４へのアクセスが異なるメモリへのアクセスであるときには、ページのプリチャージを行わないようにすることができ、不要なプリチャージ動作を少なくすることができる。これにより、複数のメモリを備えたシステムにおいてメインメモリ４へのアクセス速度を全体として速くすることができる。
【００７８】
なお、上記各実施形態において示した各部の構成および動作等は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００７９】
例えば、上記実施形態では、ダーティエントリのリプレースを検出したときに出力する信号を専用のページ制御信号で実施する例を示したが、アクセス要求のタイプを示す信号線にビット割り付けの余裕がある場合には、このアクセスタイプの１つとして、ストアバックのアクセス（ダーティエントリのリプレースに伴うライトアクセス）が後続にあることを示すタイプを追加することによって実施するようにしても良い。
【００８０】
また、上記実施形態では、メインメモリ４の一例としてＤＲＡＭ、特にＳＤＲＡＭを用いた例を示したが、ファストページモードを有するメモリであれば何れにも適用可能である。
また、第２の実施形態では、異なるメインメモリ４へのアクセスであることが判明したときにページ制御信号をアサートしないように制御しているが、ページミスが発生しないことをメモリコントローラ３に通知するようにしても良い。
【００８１】
また、本実施形態のページ制御の動作は、シーケンサ等のハードウェアにより実現されるが、例えば図３に示すようなページ制御のフローを、図１のＲＯＭ５やＲＡＭ４に記憶されたプログラムが動作することによって実現するようにしても良い。なお、図９に示すように、ＣＰＵ１からバス１６を介してＲＯＭ５やＲＡＭ１５を接続し、これらに上記プログラムを格納するようにしても良い。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現するようにしても良い。記録媒体としては、上記したＲＯＭやＲＡＭ、ＣＤ−ＲＯＭ以外に、フロッピーディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
【００８２】
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
【００８３】
【発明の効果】
本発明は上述したように、メインメモリへのアクセスがキャッシュ装置におけるダーティエントリのリプレースに伴うアクセスである場合に、先行するアクセスの終了時に上記メインメモリのページをプリチャージしてアイドル状態に戻すようにしたので、キャッシュリプレース時のオーバーヘッドによる無駄時間を短くすることができる。特に、本発明をコンピュータシステムに適用した場合に、割り込み応答時やタスクスイッチ時にキャッシュリプレースが多発するような場合でのオーバーヘッドに伴う無駄時間を格段に短くすることができ、メモリに対するアクセス速度を更に高速にすることができる。
【００８４】
また、本発明の他の特徴によれば、メインメモリへのアクセスがキャッシュ装置におけるダーティエントリのリプレースに伴うアクセスであり、かつ、ダーティエントリのリプレースに伴う連続するアクセスが、複数のメインメモリのうち互いに同じメインメモリへのアクセスである場合に、先行するアクセスの終了時にそのアクセスが行われたメインメモリのページをプリチャージしてアイドル状態に戻すようにしたので、キャッシュ装置におけるダーティエントリのリプレースの発生時であっても、ダーティエントリのリプレースに伴う連続するアクセスが互いに異なるメインメモリへのアクセスである場合には、先行してアクセスしたメインメモリのページはプリチャージされないようにすることができる。これにより、本来は不要な異なるメインメモリへのプリチャージ動作をなくすことができ、それに伴うオーバーヘッドによる無駄時間を短くすることができる。
【００８５】
また、本発明のその他の特徴によれば、ダーティエントリのリプレースに伴うアクセスか否かの信号をキャッシュ装置からメモリ制御装置に通知する際に、メインメモリに対するアクセスのタイプを表す信号中に含ませて通知するようにしたので、既存の信号線の他に専用の信号線を別個に設ける必要がなく、回路の規模が大きくならないようにすることができる。
【図面の簡単な説明】
【図１】本発明によるメモリ制御装置およびキャッシュ装置を実施したコンピュータシステムの概略構成例を示すブロック図である。
【図２】ダーティエントリのリプレースの動作を説明するための図である。
【図３】本実施形態のメモリコントローラによるページ制御の流れを示すフローチャートである。
【図４】ＳＤＲＡＭ用メモリコントローラにおけるページヒットした場合の動作波形例を示すタイミングチャートである。
【図５】従来のＳＤＲＡＭ用メモリコントローラにおけるページミスした場合の動作波形例を示すタイミングチャートである。
【図６】本実施形態のＳＤＲＡＭ用メモリコントローラにおけるページミスした場合の動作波形例を示すタイミングチャートである。
【図７】本発明の第２の実施形態で用いるＳＤＲＡＭの概略構成を示すブロック図である。
【図８】第２の実施形態で用いるアドレスの割り当てを説明するための図である。
【図９】本発明によるメモリ制御装置およびキャッシュ装置を実施したコンピュータシステムの他の概略構成例を示すブロック図である。
【図１０】ＤＲＡＭの概略構成を示す図である。
【図１１】キャッシュメモリの概略構成を示す図である。
【図１２】従来のメモリコントローラによるページ制御の流れを示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  キャッシュメモリ
３  メモリコントローラ
４  メインメモリ（ＲＡＭ）
５  ＲＯＭ
１１  リプレース検出・通知回路
１２  状態制御回路
１５  ＲＡＭ
２１  記憶領域
２１ａ〜２１ｄ  バンク（ＤＲＡＭコア）
２２  制御信号ラッチ回路
２３  モードレジスタ
２４  カラムアドレスカウンタ
２５  コマンドデコーダ
２６  アドレスバッファ／レジスタ＆バンク選択回路
２７  Ｉ／Ｏデータバッファ／レジスタ
３１  アドレスバッファ
３２  ロウアドレスバッファ
３３  カラムアドレスバッファ
３４  ロウデコーダ
３５  メモリセルアレイ
３６  センスアンプ
３７  カラムデコーダ
３８  データＩ／Ｏバッファ
４１  キャッシュ（データ領域）
４２  タグメモリ（タグ領域）
４３  比較部
【図１】
0003718599.tif 000002
【図２】
0003718599.tif 000003
【図３】
0003718599.tif 000004
【図４】
0003718599.tif 000005
【図５】
0003718599.tif 000006
【図６】
0003718599.tif 000007
【図７】
0003718599.tif 000008
【図８】
0003718599.tif 000009
【図９】
0003718599.tif 000010
【図１０】
0003718599.tif 000011
【図１１】
0003718599.tif 000012
【図１２】
0003718599.tif 000013