(57)【特許請求の範囲】
【請求項１】
所望アドレス値を含む読み出し要求を取り込む取込手段、
メモリの複数のアドレスからデータを読み出す読み出し手段、
前記読み出し手段による読み出しデータの一部を前記読み出し要求の出力元に返送する第１返送手段、
前記読み出しデータの他の一部を格納する格納手段、
前記格納手段による格納データの一部を前記読み出し要求の出力元に返送する第２返送手段、
前記所望アドレス値と前記格納データの読み出し元アドレス値とを比較する比較手段、
前記比較手段の比較結果に応じて前記読み出し手段および前記第２返送手段を選択的に能動化する能動化手段、
前記読み出し元アドレス値を保持する第１保持手段、および
前記所望アドレス値に基づいて前記読み出し元アドレス値を更新する更新手段を備え、
前記メモリは、有効データが格納された第１エリア、および前記有効データの読み出し開始アドレス値が格納された第２格納エリアを含み、
前記読み出し元アドレス値は前記読み出し開始アドレス値に続く複数のアドレス値である、メモリ制御回路。
【請求項２】
前記第２返送手段は、前記所望アドレス値および前記読み出し元アドレス値に基づいて前記出力元に返送する格納データを検出する、請求項１記載のメモリ制御回路。
【請求項３】
前記第２格納エリアの全てのアドレス値を保持する第２保持手段をさらに備え、
前記所望アドレス値と前記第２保持手段の前記アドレス値とに基づいて前記格納手段を不能化する不能化手段をさらに備える、請求項１記載のメモリ制御回路。
【請求項４】
前記メモリはバースト転送方式を採用するメモリである、請求項１ないし３のいずれかに記載のメモリ制御回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、メモリ制御回路に関し、特にたとえば読み出し要求に応答してメモリからバースト転送方式でデータを読み出す、メモリ制御回路に関する。
【０００２】
【背景技術】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、クロックに同期して動作するＤＲＡＭであり、いわゆるバースト転送によって高速アクセスが実現できる。つまり、アクティブコマンドを１回出力すれば、連続する複数のアドレスからデータを読み出すことができる。
【０００３】
【発明が解決しようとする課題】
しかし、バースト転送は１つのロウアドレスに割り当てられた複数のカラムアドレスにアクセスするときだけ有効である。換言すれば、互いに異なるロウアドレスに割り当てられた複数のカラムアドレスにアクセスするときは、バースト転送は有効ではなく、むしろオーバヘッドのためにアクセス速度が低下してしまう。このため、異なるロウアドレスに割り当てられたカラムアドレスに交互にアクセスするような場合、ＳＤＲＡＭの特性を生かすことができない。
【０００４】
それゆえに、この発明の主たる目的は、アクセス先のアドレスが頻繁に変化するときでもデータを高速で読み出すことができる、メモリ制御回路を提供することである。
【０００５】
【課題を解決するための手段】
この発明は、所望アドレス値を含む読み出し要求を取り込む取込手段、メモリの複数のアドレスからデータを読み出す読み出し手段、読み出し手段による読み出しデータの一部を読み出し要求の出力元に返送する第１返送手段、読み出しデータの他の一部を格納する格納手段、格納手段による格納データの一部を読み出し要求の出力元に返送する第２返送手段、所望アドレス値と格納データの読み出し元アドレス値とを比較する比較手段、比較手段の比較結果に応じて読み出し手段および第２返送手段を選択的に能動化する能動化手段、読み出し元アドレス値を保持する第１保持手段、および所望アドレス値に基づいて読み出し元アドレス値を更新する更新手段を備え、メモリは、有効データが格納された第１エリア、および有効データの読み出し開始アドレス値が格納された第２格納エリアを含み、読み出し元アドレス値は読み出し開始アドレス値に続く複数のアドレス値である、メモリ制御回路である。
【０００６】
【作用】
読み出し手段によってメモリの複数のアドレスからデータが読み出されると、読み出しデータの一部が第１返送手段によって読み出し要求の出力元に返送され、読み出しデータの他の一部が格納手段によって格納される。一方、第２返送手段は、格納手段による格納データの一部を読み出し要求の出力元に返送する。
【０００７】
所望アドレス値を含む読み出し要求が取込手段によって取り込まれると、比較手段が、所望アドレス値と格納データの読み出し元アドレス値とを比較する。能動化手段は、比較手段の比較結果に応じて読み出し手段および第２返送手段を選択的に能動化する。このため、所望のアドレス値と読み出し元アドレス値とが所定関係にあれば、格納データの一部が第２返送手段によって読み出し要求の出力元に返送される。
【０００８】
さらに、読み出し元アドレス値が第１保持手段によって保持される。この読み出し元アドレスは、所望アドレス値に基づいて、更新手段によって更新される。
【０００９】
メモリは、有効データが格納された第１エリア、および有効データの読み出し開始アドレス値が格納された第２格納エリアを含み、読み出し元アドレス値は、読み出し開始アドレス値に続く複数のアドレス値である。
【００１０】
この発明のある実施例では、第２返送手段は、所望アドレス値および読み出し元アドレス値に基づいて出力元に返送する格納データを検出する。
【００１１】
好ましくは、第２格納エリアの全てのアドレス値が第２保持手段によって保持される。不能化手段は、所望アドレス値と第２保持手段のアドレス値とに基づいて格納手段を不能化する。
【００１２】
この発明のその他の実施例では、メモリはバースト転送方式を採用するメモリである。
【００１３】
【発明の効果】
この発明によれば、所望アドレスと格納手段による格納データの読み出し元アドレスが所定関係にあれば、メモリにアクセスされることなく、格納手段の格納データが読み出し要求の出力元に返送される。このため、アクセス先のアドレスが頻繁に変化するときでもデータを高速で読み出すことができる。
【００１４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１５】
【実施例】
図１を参照して、この実施例のデータ処理回路１０は、ＣＰＵ１２からのアクセス要求に応答してＳＤＲＡＭ３２にアクセスするメモリ制御回路１４を含む。ＣＰＵ１２は、メモリ制御回路１４を通してＳＤＲＡＭ３２から有効データ（画像データ）を読み出し、読み出した有効データをメモリカード３４に書き込む。
【００１６】
ＳＤＲＡＭ３２は、図２に示すように有効データエリア３２ａおよびワークエリア３２ｂによって形成される。有効データエリア３２ａはエリアＡ〜Ｈからなり、ワークエリア３２ｂはエリアａ〜ｈからなる。エリアａ〜ｈはエリアＡ〜Ｈのアクセス開始アドレス（読み出し開始アドレス）を管理しており、有効データを読み出すには、まずワークエリア３２ｂからアクセス開始アドレスを入手し、入手したアドレスに従って有効データエリア３２ａにアクセスする必要がある。
【００１７】
たとえばエリアＡから有効データを読み出すとき、ＣＰＵ１２はまず、エリアａからアクセス開始アドレスを読み出し、さらに次回のアクセスを考慮して、エリアａのアドレス値を更新する。つまり、読み出されたアドレス値に“１”を加算し、加算したアドレス値をエリアａに書く込む。ＣＰＵ１２は続いて、読み出されたアクセス開始アドレスに基づいてエリアＡから有効データを読み出す。そして、読み出した有効データをメモリカード３４に書き込む。このような処理を繰り返すことによって、エリアＡに格納された一連の有効データがメモリカード３４に転送される。
【００１８】
ＣＰＵ１２は、具体的には図４に示すフロー図を処理する。まず、ステップＳ１でワークエリア３２ｂのアドレス値を含む読み出し要求をメモリ制御回路１４に与え、ワークエリア３２ｂからアドレスデータを読み出す。読み出されたアドレスデータは、ステップＳ３でキャッシュ１２ａに格納する。ＣＰＵ１２は続いて、キャッシュ１２ａに格納されたアドレスデータの値をステップＳ５でインクリメントする。ステップＳ７では、インクリメントしたアドレスデータを書き込み要求とともにメモリ制御回路１４に出力し、このアドレスデータをワークエリア３２ｂの同じ位置に書き込む。
【００１９】
ＣＰＵ１２はその後ステップＳ９に進み、キャッシュ１２ａに格納されたアドレス値を含む読み出し要求をメモリ制御回路１４に与える。これによって、有効データエリア３２ａから有効データが読み出され、読み出された有効データはステップＳ１１でキャッシュ１２ａに格納される。ステップＳ１３では、キャッシュ１２ａの有効データをメモリカード３４に記録し、続くステップＳ１５では有効データの読み出しが全て完了したかどうか判断する。そして、ＮＯであればステップＳ１に戻り、ＹＥＳであれば処理を終了する。
【００２０】
ただし、ＳＤＲＡＭ１４はバースト転送方式のメモリであり、有効データエリア３２ａから１アドレスずつデータを読み出したのでは、ＳＤＲＡＭ１４の高速アクセス特性を生かせないばかりか、オーバヘッドのために逆にアクセス速度が低下してしまう。このため、この実施例では、メモリ制御回路１４を図１に示すように構成し、アクセス先のアドレスが頻繁に変化するときでも高速アクセスが実現できるようにしている。
【００２１】
ＣＰＵ１２から出力されたＡＳ（アドレスストローブ）信号，ＣＳ（チップセレクト）信号，ＲＤＺＷＲ信号およびＡＤＲＳ（アドレス）信号は、キャッシュヒット判別回路１８に与えられる。キャッシュヒット判別回路１８は、ＡＳ信号およびＣＳ信号によってＣＰＵ１２からアクセス要求が生じたと判断し、ＲＤＺＷＲ信号によって要求内容が“読み出し”および“書き込み”のいずれであるかを判別する。ＲＤＺＷＲ信号がハイレベルであれば要求内容は“読み出し”であり、ＲＤＺＷＲ信号がローレベルであれば要求内容は“書き込み”である。
【００２２】
要求内容が“読み出し”であるとき、キャッシュヒット判別回路１８は、ＡＤＲＳ信号に基づいて次のような判別信号をセレクタ２８ａおよびキャッシュ制御回路２０に出力する。
【００２３】
ＡＤＲＳ信号が示すアドレス値がキャッシュ２４に格納されているデータの出力元のアドレス値と一致する場合、キャッシュヒット判別回路１８は判別信号▲１▼を出力する。キャッシュ２４は図３に示すように３つの格納エリアを有し、３アドレス分の有効データがこの３つの格納エリアにそれぞれ格納される。ＡＤＲＳ信号の値がこの有効データの読み出し元のいずれか１つのアドレス値と一致するとき、判別信号▲１▼が出力される。
【００２４】
ＡＤＲＳ信号が示すアドレス値がワークエリア３２ｂのアドレス値のいずれか１つに一致する場合、キャッシュヒット判別回路１８は判別信号▲２▼を出力する。上述のように、有効データの読み出しに先立ってワークエリア３２ｂへのアクセスが行われるため、このときは、判別信号▲２▼が出力される。
【００２５】
ＡＤＲＳ信号が示すアドレス値が、キャッシュ２４に格納されているデータの出力元のアドレスならびにワークエリア３２ｂのアドレスのいずれにも一致しない場合、キャッシュヒット判別回路１８は判別信号▲３▼を出力する。ＣＰＵ１２が要求する有効データがキャッシュ２４に格納されていなければ、有効データエリア３２ａから有効データを読み出す必要がある。このとき、判別信号▲３▼が出力される。
【００２６】
キャッシュヒット判別回路１８はまた、キャッシュ２４に格納されたデータの読み出し元のアドレス情報をキャッシュ制御回路２０に出力する。このアドレスは、判別信号が▲１▼を示すときに意味を持つ。キャッシュヒット判別回路１８はさらに、判別信号▲２▼および▲３▼の出力時、所定のスタート信号をステートマシン２２に出力する。ステートマシン２２は、このスタート信号に応答して起動する。
【００２７】
キャッシュヒット判別回路１８から判別信号▲１▼が出力された場合、セレクタ２８ａは、ＣＰＵ１２から与えられたＡＤＲＳ信号をキャッシュ制御回路２０に出力する。キャッシュ制御回路２０は、セレクタ２８ａからのＡＤＲＳ信号およびキャッシュヒット判別回路１８からのアドレス情報に基づいて、図３に示す３つの格納エリアの１つから有効データを読み出す。キャッシュ制御回路２０はまた、セレクタ２８ｂにキャッシュ２４の出力を選択させるとともに、有効データの読み出しが完了すると同時にＲＥＡＤＹ生成回路１６にＲＥＡＤＹ信号を出力させる。キャッシュ２４から読み出された有効データは、セレクタ２８ｂおよび３ステートバッファ３０ａを経てＣＰＵ１２に出力され、ＲＥＡＤＹ生成回路１６から出力されたＲＥＡＤＹ信号は、直接ＣＰＵ１２に出力される。なお、３ステートバッファ３０ａは、ＣＰＵ１２がメモリ制御回路１４以外、たとえばメモリカード３４にアクセスするときにデータがぶつかるのを防ぐために、普段はハイインピーダンス状態であり、ＣＰＵ１２へデータを出力するときだけ出力ゲートを開く。
【００２８】
判別信号▲２▼が出力された場合、セレクタ２８ａは、ＣＰＵ１２からのＡＤＲＳ信号をアドレス出力回路２６に与え、ステートマシン２２は、スタート信号に応答してアドレス出力回路２６の出力タイミングを制御する。これによって、ＡＤＲＳ信号に含まれるロウアドレス値およびカラムアドレス値が適切なタイミングでＳＤＲＡＭ３２に出力される。ステートマシン２２はまた、所定タイミングでＣＬＫ（クロック）信号，ＣＫＥ（クロックイネーブル）信号，ＣＳ（チップセレクト）信号，ＲＡＳ（ロウアドレスストローブ）信号，ＣＡＳ（カラムアドレスストローブ）信号およびＷＥ（ライトイネーブル）信号をＳＤＲＡＭ３２に出力する。なお、ＣＬＫ信号，ＣＫＥ信号，ＣＳ信号，ＲＡＳ信号，ＣＡＳ信号およびＷＥ信号は、いずれもアクティブローの信号である。
【００２９】
ＳＤＲＡＭ３２からは、所望のアドレスから始まる４アドレスのデータがバースト転送方式で読み出される。読み出されたデータは、３ステートバッファ３０ｂを経てセレクタ２８ｂおよびキャッシュ２４に与えられる。つまり、３ステートバッファ３０ｂはハイレベルの制御信号が与えられない限りＳＤＲＡＭ３２からの入力ゲートを開き、これによってＳＤＲＡＭ３２から読み出されたデータがセレクタ２８ｂおよびキャッシュ２４に与えられる。判別信号が▲２▼を示すとき、ＣＰＵ１２のアクセス要求はワークエリア３２ｂからの読み出しを要求するものであり、読み出されたデータはアドレスデータである。
【００３０】
キャッシュ制御回路２０は、判別信号▲２▼が与えられたとき、ＳＤＲＡＭ３２から読み出された４アドレス分のデータのうち、最初のアドレス以外のデータを廃棄する。つまり、読み出されたデータのキャッシュ２４への書き込みは行わず、最初のアドレス（所望のアドレス）からデータが読み出されるときだけセレクタ２８ｂを３ステートバッファ３０ｂ側に接続する。キャッシュ制御回路２０はまた、セレクタ２８ｂを３ステートバッファ３０ｂ側に接続した直後に、ＲＥＡＤＹ信号の出力をＲＥＡＤＹ生成回路１６に命令する。この結果、アクセス開始アドレスを示すデータのみが３ステートバッファ３０ａを通してＣＰＵ１２に出力され、ほぼ同時にＲＥＡＤＹ信号がＲＥＡＤＹ生成回路１６から出力される。
【００３１】
判別信号▲３▼が出力された場合、セレクタ２８ａは、判別信号▲２▼の出力時と同様、ＣＰＵ１２からのＡＤＲＳ信号をアドレス出力回路２６に出力する。ステートマシン２２も、上述と同様、アドレス出力回路２６にロウアドレス値およびカラムアドレス値を選択的に出力させ、自らＣＬＫ信号，ＣＫＥ信号，ＣＳ信号，ＲＡＳ信号，ＣＡＳ信号およびＷＥ信号をＳＤＲＡＭ３２に出力する。これによって、ＳＤＲＡＭ３２から４アドレス分のデータが読み出される。このときのアクセス先は有効データエリア３２ａであり、読み出された４アドレス分の有効データは、上述と同様、３ステートバッファ３０ｂを通してセレクタ２８ｂおよびキャッシュ２４に与えられる。
【００３２】
キャッシュ制御回路２０は、判別信号▲３▼が出力されたとき、最初のアドレスの有効データをＣＰＵ１２に出力するとともに、残りの３アドレス分の有効データをキャッシュ２４に格納する。つまり、最初のアドレスから有効データが読み出されるタイミングでセレクタ２８ｂを３ステートバッファ３０ｂ側に接続し、残りの３アドレス分の有効データが読み出されるタイミングでキャッシュ２４に書き込み信号を与える。キャッシュ制御回路２０はさらに、有効データがＣＰＵ１２に出力された直後にＲＥＡＤＹ生成回路１６にＲＥＡＤＹ信号を出力させる。この結果、ＣＰＵ１２は、所望のアドレスから読み出された有効データとＲＥＡＤＹ信号とを受け取る。
【００３３】
ＳＤＲＡＭ３２から４アドレス分のデータが読み出されるときのタイミング図を図５に示す。まずロウアドレス値Ｒが出力され、このときＲＡＳ信号が立ち下がる。このロウアドレス値ＲおよびローレベルのＲＡＳ信号によってアクティブコマンドが形成される。１クロック期間経過すると、今度はカラムアドレス値ＣおよびローレベルのＣＡＳ信号が出力される。読み出し時、アクティブローのＷＥ信号はハイレベルとなるため、このカラムアドレス値ＣおよびＣＡＳ信号によってリードコマンドが形成される。リードコマンドが出力されると、所定期間の遅延の後、上記のカラムアドレスＣから始まる４アドレスからデータＤ０〜Ｄ３が読み出される。
【００３４】
図１に戻って、ＣＰＵ１２のアクセス要求が“書き込み”であるとき、キャッシュヒット判別回路１８は、判別信号▲４▼をセレクタ２８ａに出力するとともに、所定のスタート信号をステートマシン２２に与える。セレクタ２８ａは、判別信号▲４▼に応答してＣＰＵ１２からのＡＤＲＳ信号をアドレス出力回路２６に出力する。ステートマシン２２は、上述と同様、アドレス出力回路２６にロウアドレス値およびカラムアドレス値を選択的に出力させ、自らＣＬＫ信号，ＣＫＥ信号，ＣＳ信号，ＲＡＳ信号，ＣＡＳ信号およびＷＥ信号をＳＤＲＡＭ３２に出力する。ただし、ＷＥ信号はローレベルとし、３ステートバッファ３０ａおよび３０ｂにはハイレベルの制御信号を与える。
【００３５】
ＣＰＵ１２からアクセス要求とともに出力されたデータは、３ステートバッファ３０ａおよび３０ｂを経てＳＤＲＡＭ３２に与えられ、所望のアドレスに書き込まれる。この実施例では、ワークエリア３２ｂにアドレスデータを書き込むときだけ、ＣＰＵ１２から“書き込み”のアクセス要求が出力される。このため、ＡＤＲＳ信号が示すアドレスはワークエリア３２ｂの中に存在し、ＳＤＲＡＭ３２に与えられるデータはアドレスデータである。
【００３６】
キャッシュヒット判別回路１８は、具体的には図６に示すように構成される。ＳＤＲＡＭアクセス判別回路１８ａは、ＣＰＵ１２からのＲＤＺＷＲ信号に基づいてアクセス要求の内容を判別する。そして、アクセス要求が“書き込み”であれば、ハイレベルのライトアクセス信号をスタート信号生成回路１８ｆに出力し、ローレベルのリードアクセス信号をアドレス比較回路１８ｂに出力する。一方、アクセス要求が“読み出し”であれば、ローレベルのライトアクセス信号をスタート信号生成回路１８ｆに出力し、ハイレベルのリードアクセス信号をアドレス比較回路１８ｂに出力する。ＳＤＲＡＭアクセス判別回路１８ａはまた、ＣＰＵ１２からのＡＳ信号およびＣＳ信号に基づいて、タイミング信号をスタート信号生成回路１８ｆ，アドレスキャッシュ制御回路１８ｃおよびキャッシュ制御回路２０に出力する。
【００３７】
アドレス比較回路１８ｂは、リードアクセス信号がハイレベルのとき、ＣＰＵ１２から与えられたＡＤＲＳ信号の値をレジスタ１８ｄおよびアドレスキャッシュ１８ｅに格納されたアドレス値と比較する。レジスタ１８ｄにはワークエリア１８ｄのアドレス値が格納されており、アドレスキャッシュ１８ｅには現時点でキャッシュ２４に格納されている有効データの読み出し元のアドレス値が格納されている。アドレス比較回路１８ｂは、ＡＤＲＳ信号の値がキャッシュアドレス１８ｅのいずれかのアドレス値と一致するとき判別信号▲１▼を出力し、ＡＤＲＳ信号の値がレジスタ１８ｄのいずれかのアドレス値と一致するとき判別信号▲２▼を出力し、そして、ＡＤＲＳ信号の値がアドレスキャッシュ１８ｅおよびレジスタ１８ｄのいずれのアドレス値とも一致しないとき判別信号▲３▼を出力する。なお、ＳＤＲＡＭアクセス判別回路１８ａから出力されたリードアクセス信号がローレベルであれば、アドレス比較回路１８ｂは判別信号▲４▼を出力する。
【００３８】
アドレスキャッシュ制御回路１８ｃは、アドレス比較回路１８ｂから判別信号▲３▼が出力されたとき、ＣＰＵ１２から出力されたＡＤＲＳ信号に基づいてアドレスキャッシュ１８ｅのアドレス値を更新する。つまり、判別信号▲３▼が出力されるとキャッシュ２４の内容が更新されるため、これに合わせてアドレスキャッシュ１８ｅの内容も更新する。具体的には、ＡＤＲＳ信号の値に“１”を加算した値，“２”を加算した値，および“３”を加算した値をアドレスキャッシュ１８ｅに書き込む。なお、アドレスキャッシュ１８ｅのアドレス情報は、アドレス比較回路１８ｂに与えられるだけでなく、キャッシュ制御回路２０にも出力される。
【００３９】
スタート信号生成回路１８ｆは、判別信号が▲１▼以外のとき、タイミング信号に応答してスタート信号をステートマシン２２に出力する。ただし、スタート信号の値はライトアクセス信号のレベルに応じて相違する。ステートマシン２２は、この値によって３ステートバッファ３０ａおよび３０ｂの制御信号およびＷＥ信号のレベルを決定する。
【００４０】
キャッシュ制御回路２０は、図７に示すように構成される。キャッシュヒット判別回路１８から出力されたタイミング信号およびアドレス情報は、タイミング生成回路２０ａおよびキャッシュ駆動回路２０ｂにそれぞれ与えられる。同じキャッシュヒット判別回路１８から出力された判別信号は、タイミング生成回路２０ａ，キャッシュ駆動回路２０ｂおよびデータ出力制御回路２０ｃの全てに与えられる。さらに、セレクタ２８ａから出力されたＡＤＲＳ信号は、キャッシュ駆動回路２０ｂに与えられる。
【００４１】
タイミング生成回路２０ａは、与えられたタイミング信号および判定信号に基づいて所定のタイミング信号を生成し、ＲＥＡＤＹ生成回路１６，データ出力回路２０ｃおよびキャッシュ駆動回路２０ｂに出力する。データ出力制御回路２０ｃは、判定信号が▲１▼を示すときセレクタ２８ｂを常にキャッシュ２４側に接続し、判定信号が▲２▼または▲３▼を示すときセレクタ２８ｂを所定タイミングで３ステートバッファ３０ｂ側に接続する。
【００４２】
キャッシュ駆動回路２０ｂは、判定信号が▲１▼を示すとき、ＡＤＲＳ信号およびアドレス情報に基づいて図３に示す格納エリアの１つから有効データを読み出す。読み出された有効データは、セレクタ２８ｂを経てＣＰＵ１２に出力される。判定信号が▲２▼を示すとき、キャッシュ駆動回路２０ｂは、キャッシュ２４を駆動しない。このため、ＳＤＲＡＭ３２から読み出された４アドレス分のデータ（アドレスデータ）のうち、最初のデータはセレクタ２８ｂを経てＣＰＵ１２に出力され、残りのデータは廃棄される。
【００４３】
判定信号が▲３▼を示すとき、キャッシュ制御回路２０ｂは、ＳＤＲＡＭ３２から読み出された４アドレス分の有効データのうち、３アドレス分の有効データをキャッシュ２４に書き込む。書き込みタイミングは、タイミング生成回路２０ａからのタイミング信号に基づいて決定する。残りの１アドレス分の有効データは、セレクタ２８ｂを経てＣＰＵ１２に出力される。判別信号が▲４▼を示すときは、ＳＤＲＡＭ３２へのデータ書き込みが行われるため、判定信号▲２▼の入力時と同様、キャッシュ２４は駆動されない。
【００４４】
この実施例によれば、バースト転送によって複数アドレス分の有効データが読み出されたとき、要求された有効データのみがＣＰＵに出力され、残りの有効データはキャッシュに格納される。次回の読み出し要求がキャッシュに格納された有効データの読み出し元のアドレスを含む場合、ＳＤＲＡＭへのアクセスは行われず、キャッシュに格納された有効データがＣＰＵ１２に出力される。このため、読み出し先のアドレスが頻繁に変化するときでも、アクセス時間を短縮することができる。
【００４５】
なお、この実施例では、キャッシュ２４から有効データを読み出すときも図４に示すステップＳ１〜Ｓ７の処理を実行しているが、ステップＳ５で現アドレス値に“４”を加算するとともに、ＳＤＲＡＭ３２から有効データを読み出すときだけステップＳ１〜Ｓ７の処理を行うようにしてもよい。
【図面の簡単な説明】
【図１】この発明の一実施例を示すブロック図である。
【図２】ＳＤＲＡＭの構成を示す図解図である。
【図３】キャッシュの構成を示す図解図である。
【図４】図１実施例の動作の一部を示すフロー図である。
【図５】図１実施例の動作の一部を示すタイミング図である。
【図６】キャッシュヒット判別回路の構成を示すブロック図である。
【図７】キャッシュ制御回路の構成を示すブロック図である。
【符号の説明】
１０…データ処理装置
１２…ＣＰＵ
１４…メモリ制御回路
１８…キャッシュヒット判別回路
２０…キャッシュ制御回路
２２…ステートマシン
２４…キャッシュ
３２…ＳＤＲＡＭ
【図１】
0003561670.tif 000002
【図２】
0003561670.tif 000003
【図３】
0003561670.tif 000004
【図４】
0003561670.tif 000005
【図５】
0003561670.tif 000006
【図６】
0003561670.tif 000007
【図７】
0003561670.tif 000008