(57)【要約】【課題】異なるページにまたがる連続アクセスの高速化が可能なメモリ制御回路を提供する。【解決手段】ポート制御部１１Ａは、アクセスするアドレスが現在アクセス中のページと同じか否かを示す一致検出信号を出力する。バス調停部１２Ａは次にアクセスを許可するポート制御部１１Ａを第２の選択信号で指定し、セレクタ１４からポート制御部１１Ａの一致検出信号をプリチャージ制御部１７に与える。プリチャージ制御部１７は、次のアクセスのアドレスが現在アクセス中のページと異なることが示された場合、現在のアクセスが終了する前の所定のタイミングでメモリに対してプリチャージコマンドを与える。これにより、現在ページのアクセス中に、次のページに対するプリチャージが行われ、見かけ上のプリチャージ時間が短縮されて連続アクセスの高速化が可能になる。【選択図】図１
2007323113.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタに対応して設けられ、対応するバスマスタから与えられる共通のメモリに対するアクセス信号を該メモリに対応するアドレス及び制御コマンドに変換すると共に、アクセス要求信号と該アドレスが該メモリの現在アクセス中のページと同じであるか否かを示す一致検出信号とを出力する複数のポート制御部と、
前記複数のポート制御部から出力されるアクセス要求信号に従い、１つのポート制御部にアクセスを許可する第１の選択信号を出力すると共に、次にアクセスを許可するポート制御部を指定する第２の選択信号を出力するバス調停部と、
前記複数のポート制御部から出力されるアドレス及び制御コマンドを、前記第１の選択信号に従って選択して前記メモリに与える第１のセレクタと、
前記複数のポート制御部から出力される一致検出信号を前記第２の選択信号に従って選択して出力する第２のセレクタと、
前記第２のセレクタで選択された一致検出信号に応じて、現在のアクセスが終了する前の所定のタイミングで前記メモリに対してプリチャージコマンドを与えるプリチャージ制御部とを、
備えたことを特徴とするメモリ制御回路。
【請求項２】
バスマスタから与えられるアクセス用の制御信号に基づいてアクセス対象のメモリに対応する制御コマンドを生成し、一致検出信号が与えられていないときはその生成した制御コマンドを出力し、該一致検出信号が与えられたときにはアクセスするページを有効にするコマンドの出力を停止するコマンド生成手段と、
前記メモリのページの内でアクセスが有効に設定されたページ情報を保持する現ページ保持手段と、
前記バスマスタから与えられる前記メモリのアクセス対象のアドレスが前記現ページ保持手段に保持されたページに対応しているか否か比較し、一致しているときには前記一致検出信号を出力する比較手段と、
過去に前記現ページ保持手段に保持されたページの頻度に基づいて次にアクセスされるページを予測して次ページ情報を出力する次ページ予測手段と、
前記コマンド生成手段から出力されるコマンドが一定期間途絶えたときに、前記次ページ予測手段から出力される次ページ情報を前記現ページ保持手段に前記ページ情報として格納する格納手段とを、
備えたことを特徴とするメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイナミックメモリのメモリ制御回路に関するものである。
【背景技術】
【０００２】
図２は、従来のメモリ制御回路の構成図である。
このメモリ制御回路１０は、複数のＣＰＵ（中央処理ユニット）等のバスマスタｉ（但し、ｉ＝１〜ｎ）からのアクセスを共通のバスを介さずに、直接メモリ制御回路で受けるマルチポート型の接続形態のメモリ制御回路で、これらのバスマスタｉに対応するポートＰｉを有している。各ポートＰｉは同一構成で、アクセス先のアドレスを示すＡＤＲｉ、アクセスが書き込みか読み出しかを示すＷ／Ｒｉ、読み出しデータを示すＲＤＴｉ、メモリ等のスレーブからの応答信号を示すＲＤＹｉで構成されている。
【０００３】
各ポートＰｉには、対応するポート制御部１１ｉが設けられ、ポートＰｉで受け取ったアクセスが、実際のメモリアクセスを行う信号であるアドレス信号ＭＡＤｉ、コマンド信号ＣＭＤｉに変換されるようになっている。ＤＲＡＭ（ダイナミック・ランダム・アセクセス・メモリ）２０を対象とするポート制御部１１ｉでは、バスマスタｉからのアドレス信号ＡＤＲｉを、上位ビットのロウアドレスＲＡと下位ビットのカラムアドレスＣＡに分解してアドレス信号ＭＡＤｉとして出力する。また、コマンド信号ＣＭＤｉには、ロウアドレスＲＡを有効にするＡＣＴコマンド、読み出しサイクルとカラムアドレスＣＡを有効にするＲコマンド、ロウアドレスＲＡを切り替える前に必要な動作であるプリチャージを指示するＰＲＥコマンド等がある。
【０００４】
更に、各ポート制御部１１ｉは、バスマスタｉからのアクセス要求を伝えるためのリクエスト信号ＲＥＱｉを出力すると共に、アクセスを許可する旨のグラント信号ＧＲＮｉを入力するようになっており、このグラント信号ＧＲＮｉが与えられたときに、ＤＲＡＭ２０へのアクセスが可能となるように構成されている。
【０００５】
各ポート制御部１１ｉのリクエスト信号ＲＥＱｉはバス調停部１２に与えられ、このバス調停部１２から各ポート制御部１１ｉにグラント信号ＧＲＮｉが出力されるようになっている。バス調停部１２は、複数のバスマスタｉからＤＲＡＭ２０へのアクセス要求が競合したときに、所定の優先順序でアクセスを許可するものである。バス調停部１２からセレクタ１３に対する選択信号ＳＥＬが出力されるようになっている。
【０００６】
セレクタ１３は、各ポート制御部１１ｉから出力されるアドレス信号ＭＡＤｉとコマンド信号ＣＭＤｉを、バス調停部１２から与えられる選択信号ＳＥＬに従って選択してＤＲＡＭ２０に与えるものである。一方、ＤＲＡＭ２０から読み出されたデータＭＤＴは、各ポート制御部１１ｉに共通に与えられるようになっている。
【０００７】
図３は、図２の動作（１）を示すタイミングチャートである。
図３の時刻Ｔ２に、ポートＰ１からアドレスＡ０，Ａ１のアクセスが入力されると、ポート制御部１１１は、バス調停部１２にリクエスト信号ＲＥＱ１を出力する。
【０００８】
時刻Ｔ３に、バス調停部１２ではリクエスト信号ＲＥＱ１に対して、グラント信号ＧＲＮ１を出力し、ポートＰ１にＤＲＡＭ２０へのアクセス許可を与える。
【０００９】
許可を得たポート制御部１１１は、時刻Ｔ４に、ＡＣＴコマンドを出力してロウアドレスＲＡを有効にする。この時、アドレスＡ０は、ロウアドレスＲＡとカラムアドレスＣＡに分解されている。
【００１０】
ポート制御部１１１は、ＡＣＴコマンドの出力から十分な時間として２クロック後である時刻Ｔ６に、カラムアドレスＣＡと読み出しアクセスを示すＲコマンドを出力する。
【００１１】
Ｒコマンドを受けたＤＲＡＭ２０は、時刻Ｔ７から読み出したデータＤＡ０を返す。データＤＡ０を受けたポート制御部１１１は、時刻Ｔ８に、バスマスタ１に対して応答信号ＲＤＹ１を出力すると共に、データＤＡ０を読み出しデータＲＤＴｉとして出力する。
【００１２】
時刻Ｔ９，Ｔ１０でも同様に、バスマスタ１に対して応答を返す。時刻Ｔ９でポートＰ１からのアクセスがないので、ポート制御部１１１は、リクエスト信号ＲＥＱ１の出力を停止する。
【００１３】
一方、時刻Ｔ４において、ポートＰ２からロウアドレスＲＡ内のアドレスＢのアクセスが入力されると、ポート制御部１１２は、バス調停部１２にリクエスト信号ＲＥＱ２を出力する。この時点では、バス調停部１２は、既にポート制御部１１１にグラント信号ＧＲＮ１を出力しているので、このリクエスト信号ＲＥＱ２に対するグラント信号ＧＲＮ２の出力は保留される。そして、時刻Ｔ９において、ポートＰ１からの要求がなくなると、時刻Ｔ１０において、ポートＰ２にグラント信号ＧＲＮ２を出力し、ＤＲＡＭ２０へのアクセス許可を与える。
【００１４】
グラント信号ＧＲＮ２を得たポート制御部１１２は、バスマスタ２からのアクセスが前のロウアドレスＲＡと同じと判断すると、ＡＣＴコマンドを出力せずに、ＲコマンドとカラムドレスＣＢを出力し、ＤＲＡＭ２０から時刻Ｔ１２に読み出しデータＤＢを得る。そして、時刻Ｔ１３にバスマスタ２に対する応答信号ＲＤＹ２を出力すると共に、読み出しデータＲＤＴ２としてデータＤＢを返す。
【００１５】
図４は、図２の動作（２）を示すタイミングチャートである。
この動作は、ポートＰ１からのロウアドレスＲＡ内のアクセス中に、ポートＰ２からＲＡとは異なるロウアドレスＲＢのアクセスが発生した場合のものである。
【００１６】
この場合、時刻Ｔ１０までは図３と同様の動作が行われる。
時刻Ｔ１１において、ポート制御部１１２は、ロウアドレスＲＢが現在のロウアドレスＲＡと異なると判断すると、ロウアドレスＲＡのプリチャージ動作のために、ＰＲＥコマンドを出力する。その後、ＤＲＡＭ２０のプリチャージ完了を待ち、時刻Ｔ１３で、新たにロウアドレスを設定するために、ＡＣＴコマンドとロウアドレスＲＢを出力する。ＡＣＴコマンドから十分な時間を取った後、時刻Ｔ１５で、ＲコマンドとカラムアドレスＣＢを出力し、時刻Ｔ１６で、読み出しデータＤＢを得る。そして、時刻Ｔ１７にバスマスタ２に対する応答信号ＲＤＹ２を出力すると共に、読み出しデータＲＤＴ２としてデータＤＢを返す。図４と図３を比べると、図４では、ロウアドレスが異なるために、ＰＲＥコマンドとＡＣＴコマンドに要した４クロック分、データＤＢの読み出しが遅延していることが分かる。
【００１７】
一方、図２のメモリ制御回路１０で用いているページヒット（同一ロウアドレスに対する連続アクセス）による高速化手法とは別に、プリチャージコマンドをデータ転送にオーバーラップして使い、プリチャージに要する時間を見かけ上、短縮する高速化手法がある。
【００１８】
このデータ転送にオーバーラップしてプリチャージを行う手法は、プリチャージとデータ転送のオーバラープが可能なＳＤＲＡＭ等の場合で、かつ転送するデータ長が予め分かっているときに、その最後の数バイト前のタイミングでプリチャージコマンドを出力するものである。これにより、データ転送が終了してからプリチャージコマンドを出力する場合に比べて、オーバーラップした分だけ次のデータ転送を早く開始することができる。しかし、プリチャージを行うと、次のアクセス時には必ずロウアドレスを有効にするためにＡＣＴコマンドを出力する必要がある。
【００１９】
なお、下記特許文献１には、アクセスの種類やアクセスモードの判別結果に基づいて次の処理においてもプリチャージが必要か否かを予測し、プリチャージを行うかプリチャージを行わずに次の処理へ進かを判断するＤＲＡＭアクセス方法が記載されている。
【００２０】
【特許文献１】特開平１１−２８２７４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、図２のメモリ制御回路１０では、ページヒットの効果を得るために、データ転送にオーバーラップしたプリチャージは行っていない。このため、ページミス（異なるロウアドレスに対するアクセス）の場合、ＰＲＥコマンドとＡＣＴコマンドに要する時間だけ、アクセスが遅れるという課題があった。一方、プリチャージとデータ転送をオーバーラップして行う手法では、次のアクセスで必ずＡＣＴコマンドが必要になるので、ページヒットの場合のＡＣＴコマンドからカラムアドレス入力までの時間短縮の恩恵が得られないという課題があった。また。特許文献１のＤＲＡＭアクセス方法では、プリチャージを行う場合には、前のアクセスが終了した後、プリチャージを行うので時間短縮ができないという課題があった。
【００２２】
本発明は、異なるページにまたがる連続アクセスの高速化が可能なメモリ制御回路を目的としている。
【課題を解決するための手段】
【００２３】
本発明のメモリ制御回路は、複数のバスマスタに対応して設けられ、対応するバスマスタから与えられる共通のメモリに対するアクセス信号を該メモリに対応するアドレス及び制御コマンドに変換すると共に、アクセス要求信号と該アドレスが該メモリの現在アクセス中のページと同じであるか否かを示す一致検出信号とを出力する複数のポート制御部と、前記複数のポート制御部から出力されるアクセス要求信号に従い、１つのポート制御部にアクセスを許可する第１の選択信号を出力すると共に、次にアクセスを許可するポート制御部を指定する第２の選択信号を出力するバス調停部と、前記複数のポート制御部から出力されるアドレス及び制御コマンドを、前記第１の選択信号に従って選択して前記メモリに与える第１のセレクタと、前記複数のポート制御部から出力される一致検出信号を前記第２の選択信号に従って選択して出力する第２のセレクタと、前記第２のセレクタで選択された一致検出信号に応じて、現在のアクセスが終了する前の所定のタイミングで前記メモリに対してプリチャージコマンドを与えるプリチャージ制御部とを備えたことを特徴としている。
【発明の効果】
【００２４】
本発明では、バスマスタに対応して設けられたポート制御部が、アクセスを要求しているアドレスが現在アクセス中のページと同じか否かを判定した結果の一致検出信号を出力すると共に、バス調停部から次にアクセスを許可するポート制御部を指定する第２の選択信号を出力する。更に、この第２の選択信号によって各ポート制御部から出力される一致検出信号を選択してプリチャージ制御部に与えるようにしている。これにより、プリチャージ制御部では、次のアクセスのアドレスが現在アクセス中のページと一致していないことが示されたときに、現在のアクセスが終了する前の所定のタイミングでメモリに対してプリチャージコマンドを与えることが可能になる。従って、現在ページのアクセス中に、次のページに対するプリチャージを行うことができるので、見かけ上のプリチャージ時間が短縮され、連続アクセスの高速化が可能になるという効果がある。
【発明を実施するための最良の形態】
【００２５】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００２６】
図１は、本発明の実施例１を示すメモリ制御回路の構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００２７】
このメモリ制御回路１０Ａは、図２と同様のマルチポート型のメモリ制御回路で、複数のバスマスタｉ（但し、ｉ＝１〜ｎ）に対応するポートＰｉを有している。各ポートＰｉは同一構成で、アクセス先のアドレスを示すＡＤＲｉ、アクセスが書き込みか読み出しかを示すＷ／Ｒｉ、読み出しデータを示すＲＤＴｉ、スレーブからの応答信号を示すＲＤＹｉで構成されている。
【００２８】
各ポートＰｉには、対応するポート制御部１１Ａｉが設けられ、ポートＰｉで受け取ったアクセスが、実際のメモリアクセスを行う信号であるアドレス信号ＭＡＤｉ、コマンド信号ＣＭＤｉに変換されるようになっている。各ポート制御部１１ｉでは、バスマスタｉからのアドレス信号ＡＤＲｉを、上位ビットのロウアドレスＲＡと下位ビットのカラムアドレスＣＡに分解してアドレス信号ＭＡＤｉとして出力する。また、コマンド信号ＣＭＤｉは、ロウアドレスＲＡを有効にするＡＣＴコマンド、読み出しサイクルとカラムアドレスＣＡを有効にするＲコマンドなどから構成されている。
【００２９】
また、各ポート制御部１１ｉは、バスマスタｉからのアクセス要求を伝えるためのリクエスト信号ＲＥＱｉを出力すると共に、アクセスを許可する旨のグラント信号ＧＲＮｉを入力するようになっており、このグラント信号ＧＲＮｉが与えられたときに、ＤＲＡＭ２０へのアクセスが可能となるように構成されている。
【００３０】
更に、各ポート制御部１１ｉには、ＤＲＡＭ２０に対してプリチャージが行われたか否かを示すプリチャージ検出信号ＰＤＥＴと、現在選択されているページ（ロウアドレス）を示す現ページ情報ＣＰＡＧＥが与えられ、これに応じてプリチャージが必要か否かを示すプリチャージ要求信号ＰＲＱｉが出力されるようになっている。即ち、各ポート制御部１１ｉでは、バスマスタｉからアクセス要求があったときに、そのアクセス要求で指定されたロウアドレスが、現在選択されているページと同じか否かを判定し、別のページであれば、ページを切り替える前に必要な動作であるプリチャージを行うために、プリチャージ要求信号ＰＲＱｉを出力するようになっている。
【００３１】
各ポート制御部１１Ａｉのリクエスト信号ＲＥＱｉはバス調停部１２Ａに与えられ、このバス調停部１２Ａから各ポート制御部１１Ａｉに、アクセスの可否を示すグラント信号ＧＲＮｉが出力されるようになっている。バス調停部１２Ａは、複数のバスマスタｉからＤＲＡＭ２０へのアクセス要求が競合したときに、所定の優先順序でアクセスを許可するものである。このバス調停部１２Ａからセレクタ１３に対する選択信号ＳＥＬ１と、セレクタ１４に対する選択信号ＳＥＬ２が出力されるようになっている。選択信号ＳＥＬ１は、現在アクセスを許可しているバスマスタｉを指定するもので、選択信号ＳＥＬ２は、次にアクセスを許可するバスマスタを指定するものである。
【００３２】
セレクタ１３は、各ポート制御部１１Ａｉから出力されるアドレス信号ＭＡＤｉとコマンド信号ＣＭＤｉを、バス調停部１２Ａから与えられる選択信号ＳＥＬ１に従って選択してＤＲＡＭ２０に与えるものである。
【００３３】
セレクタ１４は、各ポート制御部１１Ａｉから出力されるプリチャージ要求信号ＰＲＱｉを、バス調停部１２Ａから与えられる選択信号ＳＥＬ２に従って選択し、プリチャージ要求信号ＰＲＱとしてプリチャージ検出部１５、カレントページレジスタ１６、及びプリチャージ制御部１７へ出力するものである。
【００３４】
プリチャージ検出部１５は、セレクタ１４で選択されたプリチャージ要求信号ＰＲＱを保持し、プリチャージ検出信号ＰＤＥＴとして出力するものである。カレントページレジスタ１６は、セレクタ１３で選択されたアドレス信号ＭＡＤの内のロウアドレスを、プリチャージ要求信号ＰＲＱに基づいて保持し、現ページ情報ＣＰＡＧＥとして出力するものである。プリチャージ制御部１７は、セレクタ１４から出力されるプリチャージ要求信号ＰＲＱによって、次のアクセス時にプリチャージが必要であることが示されたときに、所定のタイミングで現在のデータ転送にオーバーラップして、ＤＲＡＭ２０に対してプリチャージを指示するＰＲＥコマンドを出力するものである。
【００３５】
一方、ＤＲＡＭ２０から読み出されたデータＭＤＴは、各ポート制御部１１Ａｉに共通に与えられるようになっている。
【００３６】
図５は、図１の動作を示すタイミングチャートである。以下、この図５を参照しつつ、図１の動作を説明する。
【００３７】
図１の時刻ｔ２において、ポートＰ１からアドレスＡ０のアクセスが入力されると、ポート制御部１１Ａ１は、バス調停部１２Ａにリクエスト信号ＲＥＱ１を出力する。
【００３８】
時刻ｔ３に、バス調停部１２Ａではリクエスト信号ＲＥＱ１に対して、グラント信号ＧＲＮ１を出力し、ポートＰ１にＤＲＡＭ２０のアクセス許可を与える。同時に、バス調停部１２Ａは、選択信号ＳＥＬ１によってポートＰ１を選択し、セレクタ１３によってポートＰ１が選択される。
【００３９】
許可を得たポート制御部１１Ａ１は、時刻ｔ４に、ＡＣＴコマンドを出力してロウアドレスＲＡを有効にする。この時、アドレスＡ０は、ロウアドレスＲＡとカラムアドレスＣＡに分解されている。時刻ｔ５には、カレントページレジスタ１６にロウアドレスＲＡが格納され、同時にプリチャージ検出信号ＰＤＥＴは“０”にリセットされる。
【００４０】
ポート制御部１１Ａ１は、時刻ｔ６に、カラムアドレスＣＡと読み出しアクセスを示すＲコマンドを出力し、時刻ｔ７から時刻ｔ１０までの間、ＤＲＡＭ２０から順次ＤＡ０，ＤＡ１，ＤＡ２，ＤＡ３のデータＭＤＴを得る。ポート制御部１１Ａ１は、これらのデータＭＤＴを読み出しデータＲＤＴ１として、時刻ｔ８から時刻ｔ１１の間に、“１”に設定した応答信号ＲＤＹ１と共にバスマスタ１へ出力する。以上の動作は、従来と同様である。
【００４１】
時刻ｔ４において、ポートＰ２に現在のロウアドレスとは異なるロウアドレスＲＢのアクセスが入力されたとする。この場合、このロウアドレスＲＢにアクセスする前に、プリチャージ動作を行う必要がある。ポート制御部１１Ａ２では、カレントページレジスタ１６から与えられる現ページ情報ＣＰＡＧＥの内容である現在のロウアドレスＲＡと、アクセス要求で指定されたロウアドレスＲＢを比較し、プリチャージ動作が必要なことを判断して、プリチャージ要求信号ＰＲＱ２を出力する。
【００４２】
一方、バス調停部１２Ａでは、時刻ｔ９にポートＰ１のリクエスト信号ＲＥＱ１が停止すると、次に選択されるポートがＰ２で、プリチャージ要求信号ＰＲＱ２が“１”で、更に、現在選択されているポートＰ１のリクエスト信号ＲＥＱ１が“０”であるので、選択信号ＳＥＬ２によって次にアクセスを許可するポートＰ２を設定する。これにより、セレクタ１４から出力されるプリチャージ要求信号ＰＲＱが“１”となり、プリチャージ検出部１５から出力されるプリチャージ検出信号ＰＤＥＴが“１”となる。また、プリチャージ制御部１７では、プリチャージ要求信号ＰＲＱに従って、ＤＲＡＭ２０にＰＲＥコマンドを出力する。
【００４３】
バス調停部１２Ａでは、選択信号ＳＥＬ２を出力した後、プリチャージ動作の完了待ち時間として、時刻ｔ１０にはいずれのポートにもメモリ使用許可であるグラント信号  ＧＲＮを与えない。そして、時刻ｔ１２でプリチャージ動作が完了することを見越して、時刻ｔ１１に、ポート制御部１１Ａ２に対するグラント信号ＧＲＮ２を出力する。
【００４４】
ポート制御部１１Ａ２では、グラント信号ＧＲＮ２が与えられてＤＲＡＮ２０の使用許可が得られたときに、プリチャージ検出信号ＰＤＥＴが“１”になっているので、プリチャージ動作は不要と判断し、時刻ｔ１２に、ＡＣＴコマンドとロウアドレスＲＢを出力する。
【００４５】
更に、ポート制御部１１Ａ２は、時刻ｔ１４にカラムアドレスＣＢを出力し、時刻ｔ１５で、データＤＢを得る。そして、時刻ｔ１６では、応答信号ＲＤＹ２を“１”にすると共に、読み出しデータＲＤＴ２としてデータＤＢを出力し、ポートＰ２に対して要求されたアクセスに応答する。
【００４６】
以上のように、この実施例１のメモリ制御回路は、複数のポートＰ０〜Ｐｎから与えられるアクセス要求に基づいて、次にアクセスを許可するポートを決定して所定のタイミングで選択信号ＳＥＬ２を出力するバス調停部１２Ａと、この選択信号ＳＥＬ２に従って各ポートＰ０〜Ｐｎから出力されているプリチャージ要求信号ＰＲＱ１〜ＰＲＱｎの内の該当するものを選択するセレクタ１４と、このセレクタ１４から出力されるプリチャージ要求信号ＰＲＱに従ってＤＲＡＭ２０に対するＰＲＥコマンドを出力するプリチャージ制御部１７を有している。これにより、異なるページにまたがるアドレスにアクセスする場合でも、現在ページのアクセス中に、次のページに対するプリチャージを行うことができるので、見かけ上のプリチャージ時間が短縮され、連続アクセスの高速化が可能になるという利点がある。
【実施例２】
【００４７】
図６は、本発明の実施例２を示すメモリ制御回路の構成図である。なお、この図６では、読み書きのデータ信号は省略している。
【００４８】
このメモリ制御回路３０は、図示しない    ＣＰＵ等からシステムバスを介して与えられるアクセスの制御信号ＣＲＴ等に基づいてＤＲＡＭ２０に対する各種のコマンドＣＭＤを生成するコマンド生成部３１を有している。コマンド生成部３１には、制御信号ＣＲＬの他、次にアクセスするアドレスが同じページ内にあるか否かを示すページヒット信号ＨＩＴとロウアドレスの出力を要求するためのロウアドレス要求信号ＲＲＱが与えられ、ＣＰＵ等に対する応答信号ＲＤＹを出力するようになっている。コマンド生成部３１で生成されたコマンドＣＭＤは、ＤＲＡＭ２０の他、ＡＣＴ検出部３２とコマンド検出部３３に与えられるようになっている。
【００４９】
ＡＣＴ検出部３２は、コマンドＣＭＤの内のＡＣＴコマンドが生成されたことを検出して、その検出したタイミングで更新信号ＵＰＤＴを出力するものである。また、コマンド検出部３３は、コマンドの種類とは無関係にコマンドＣＭＤが生成される度に、タイマ３４に対するリスタート信号ＲＳＴを出力するものである。タイマ３４は、リスタート信号ＲＳＴによって計時を最初からやり直すように構成され、一定時間を計測した時点でロウアドレス要求信号ＲＲＱを出力するものである。即ち、コマンド検出部３３とタイマ３４によって、ＤＲＡＭ２０に対するコマンドＣＭＤが一定時間途絶えたことを検出するようになっている。
【００５０】
更に、このメモリ制御回路３０は、システムバスを介して与えられるアドレス信号ＡＤＲを一時的に保持するアドレス保持部３５と、このアドレス信号ＡＤＲの内のロウアドレスＲＡを入力する比較部３６を有している。比較部３６は、ＣＰＵ等から与えられるロウアドレスＲＡと現ページ情報ＰＡＧＥとを比較し、一致したときにページヒット信号ＨＩＴを出力するもので、このページヒット信号ＨＩＴが前述のコマンド生成部３１に与えられている。アドレス保持部３５に保持されたアドレス信号ＡＤＲの内のロウアドレスＲＡはセレクタ３７に、カラムアドレスＣＡはセレクタ３８に、それぞれ与えられている。
【００５１】
セレクタ３７は、アドレス保持部３５に保持されたロウアドレスＲＡと、後述する予測ページの内のいずれか一方を、ロウアドレス要求信号ＲＲＱに従って選択し、セレクタ３８と現ページ保持部３９に与えるものである。セレクタ３８は、アドレス保持部３５に保持されたカラムアドレスＣＡとセレクタ３７で選択されたロウアドレスのいずれか一方を、ＡＣＴ検出部３２から出力される更新信号ＵＰＤＴに従って選択し、ＤＲＡＭ２０に対するアドレスＭＡＤとして出力するものである。
【００５２】
現ページ保持部３９は、セレクタ３７から出力されるロウアドレスＲＡを、更新信号ＵＰＤＴのタイミングで保持し、現ページ情報ＰＡＧＥとして比較部３６と前ページ保持部４０に与えるものである。前ページ保持部４０は、ｎ段のシフトレジスタで構成され、更新信号ＵＰＤＴのタイミングで現ページ保持部３９の現ページ情報ＰＡＧＥをシフトして保持することにより、今までにアクセスされた過去ｎ個のページの履歴を保持するものである。
【００５３】
前ページ保持部４０の各段のレジスタに保持されたページ情報ＰＡＧＥ１〜ＰＡＧＥｎは、次ページ予測部４１とセレクタ４２に与えられている。次ページ予測部４１は、過去ｎ回にアクセスされたページの内でアクセス回数が一番多かったページを、次にアクセスされるページとして予測するもので、予測したページが保持されているページレジスタの番号が選択信号ＳＥＬ３として出力されるようになっている。例えば、次ページ予測部４１は、各段のページレジスタ毎に、他のページレジスタの内容と比較する比較器を設け、これらの比較器の検出結果を加算器で加算して一致した数を算出してアクセス頻度とし、各ページレジスタに対応する頻度レジスタに保持する。そして、最大レジスタ判定部で、保持されている頻度数が最大の頻度レジスタの番号を判定し、そのレジスタの番号を選択信号ＳＥＬ３として出力するようになっている。
【００５４】
セレクタ４２は、選択信号ＳＥＬ３に従って前ページ保持部４０の該当するページレジスタの内容であるページ情報を選択し、次ページ情報ＮＰＡＧＥとしてセレクタ３７に出力するものである。
【００５５】
図７は、図６の動作を示すタイミングチャートである。この図５では、システムバスからのアクセスと、それに対応して変化する現ページ保持部３９の現ページ情報ＰＡＧＥ、ＤＲＡＭ２０へのコマンドＣＭＤ、及びタイマ３４の動作を示している。
【００５６】
先ず、ロウアドレスＲＡ＝ｐａｇｅ０へのアクセス要求がシステムバスから与えられ、それに対応したＤＲＡＭ２０へのＡＣＴコマンドとＣＡＳコマンドが発行される（ａ）。
ＡＣＴコマンドが発行されると、ＡＣＴ検出部３２は更新信号ＵＰＤＴを出力し、現ページ保持部３９の現ページ情報ＰＡＧＥはｐａｇｅ０に更新される。前ページ保持部４０には、それまで現ページ保持部３９に保持されていた前回のアクセスのロウアドレスが前ページ情報ＰＡＧＥ１として格納される。（ａ）のアクセスに続いて、システムバスからロウアドレス＝ｐａｇｅ０とするアクセスが２回要求されると、比較部３６では、現ページ保持部３９の現ページ情報ＰＡＧＥとアクセス要求のロウアドレスが一致しているので、ページヒット信号ＨＩＴを出力する。コマンド生成部３1では、ページヒット信号ＨＩＴが与えられているので、ＡＣＴコマンドの発行は行わず、ＣＡＳコマンドのみが発行される。
【００５７】
次に、ロウアドレスＲＡ＝ｐａｇｅ１へのアクセス要求がシステムバスから与えられると、比較部３６では、現ページ保持部３９の現ページ情報ＰＡＧＥとアクセス要求のロウアドレスが異なるので、ページヒット信号ＨＩＴの出力を停止する。これにより、コマンド生成部３1では、ＡＣＴコマンドとＣＡＳコマンドを発行する（ｂ）。ｐａｇｅ１のＡＣＴコマンドが発行されると、ＡＣＴ検出部３２から更新信号ＵＰＤＴが出力され、現ページ保持部３９の現ページ情報ＰＡＧＥはｐａｇｅ１に更新される。更に、前ページ保持部４０には、それまで現ページ保持部３９に格納されていたロウアドレス（ｐａｇｅ０）が、新たに格納される。（ｂ）のアクセスに続く同じロウアドレス（＝ｐａｇｅ１）の４回のアクセスでは、（ａ）のアクセスと同様にＡＣＴコマンドの発行は行われず、ＣＡＳコマンドのみが発行される。
【００５８】
次に、ロウアドレスとして、ｐａｇｅ１４，ｐａｇｅ０，ｐａｇｅ２へのアクセス要求が、システムバスから与えられ、これに従って、現ページ保持部３９の現ページ情報ＰＡＧＥは、ｐａｇｅ１４→ｐａｇｅ０→ｐａｇｅ２の順に更新される。前ページ保持部４０では、各ページへのＡＣＴコマンドが発行されたタイミングで、順次シフト動作が行われる。これにより、ｐａｇｅ２における最後のアクセス（ｃ）が行われた時点での前ページ保持部４０の各ページレジスタの内容は、最新のものから順番に、ｐａｇｅ０，ｐａｇｅ１４，ｐａｇｅ１，ｐａｇｅ０となる。
【００５９】
更に、ｐａｇｅ２の最後のアクセス（ｃ）が行われた後、システムバスからのアクセス要求が暫く途絶えると、一定時間後に、タイマ３４でタイムアウトが発生し、ロウアドレス要求信号ＲＲＱが出力される（ｄ）。このとき、次ページ予測部４１では、前ページ保持部４０のページレジスタの中でアクセス頻度が一番高かったページに対応するレジスタ番号が判定され、選択信号ＳＥＬ３が出力される。これにより、セレクタ４２によって過去に最もアクセス頻度が高かったロウアドレスが次ページ情報ＮＰＡＧＥとして出力される。この場合は、ｐａｇｅ０が２回で、その他は１回または０回であるので、ｐａｇｅ０が選択される。次ページ情報ＮＰＡＧＥのｐａｇｅ０は、セレクタ３７で選択され、セレクタ３８へ出力されると共に、現ページ保持部３９に与えられて保持される。また、ロウアドレス要求信号ＲＲＱはコマンド生成部３１にも与えられ、これにより、ロウアドレス＝ｐａｇｅ０に対してＡＣＴコマンドが発行され、現ページ保持部３９の現ページ情報ＰＡＧＥは、ｐａｇｅ０に更新される。
【００６０】
なお、この時点では、システムバスからのアクセス要求は存在しないので、ＤＲＡＭ２０に対する実際のアクセスは行われない。その後、システムバスからのアクセス要求が発生したときに、それがロウアドレス＝ｐａｇｅ０に対するものであれば（ｅ）、比較部３６からページヒット信号ＨＩＴが出力されるので、コマンド生成部３１ではＡＣＴコマンドを発行することなく直ちにＣＡＳコマンドが発行される。もしも予測が外れて別のページに対するアクセス要求であれば、比較部３６からのページヒット信号ＨＩＴは出力されないので、コマンド生成部３１からＡＣＴコマンドが発行される。
【００６１】
以上のように、この実施例２のメモリ制御回路は、過去にアクセスしたページの履歴に基づいて、アクセス頻度の一番高いページを、次のアクセスページとして予測する次ページ予測部４１と、一定時間アクセスが途絶えたときに、予測した次ページ情報ＮＰＡＧＥを現ページ情報ＰＡＧＥとして書き換えるためのコマンド検出部３３及びタイマ３４等を有している。これにより、ＡＣＴコマンドの発行回数を削減できる可能性が高くなり、異なるページにまたがる連続アクセスの高速化が可能となるという利点がある。
【００６２】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  図１では書き込みのデータ信号を、図６では読み書きのデータ信号をそれぞれ省略しているが、いずれも、読み書きのデータ信号に対して同様に適用可能である。
（ｂ）  図６中の次ページ予測部４１の構成は一例であり、同様の機能を有する構成に変更することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施例１を示すメモリ制御回路の構成図である。
【図２】従来のメモリ制御回路の構成図である。
【図３】図２の動作（１）を示すタイミングチャートである。
【図４】図２の動作（２）を示すタイミングチャートである。
【図５】図１の動作を示すタイミングチャートである。
【図６】本発明の実施例２を示すメモリ制御回路の構成図である。
【図７】図６の動作を示すタイミングチャートである。
【符号の説明】
【００６４】
１〜ｎ    バスマスタ
１０Ａ，３０    メモリ制御回路
１１Ａ    ポート制御部
１２Ａ    バス調停部
１３，１４，３７，３８，４２    セレクタ
１５    プリチャージ検出部
１６    カレントページレジスタ
１７    プリチャージ制御部
３１    コマンド生成部
３２    ＡＣＴ検出部
３３    コマンド検出部
３４    タイマ
３５    アドレス保持部
３６    比較部
３９    現ページ保持部
４０    前ページ保持部
４１    次ページ予測部
【図１】
2007323113.tif 000003
【図２】
2007323113.tif 000004
【図３】
2007323113.tif 000005
【図４】
2007323113.tif 000006
【図５】
2007323113.tif 000007
【図６】
2007323113.tif 000008
【図７】
2007323113.tif 000009