(57)【要約】【課題】アドレスで管理されたデータの読み出しの高速化が可能で、かつ先読みデータの信頼性を向上させることのできるデータ読み出し装置を得る。【解決手段】先読み部１２は、アクセス時に次回に指定されるアドレスを予測してデータの先読みを行い先読みデータとして先読みデータ記憶部１３に格納しておく。制御部１１は、次回アクセス時に、格納されている先読みデータが有効でかつそのアドレスが必要とするデータのアドレスと一致した場合、先読みデータをバス４に送信する。先読みデータが有効でないかアドレスが異なる場合は、メモリ３からデータ３ａを読み出しバス４に送信する。データ無効化部１４ｂは、先読みデータが先読みデータ記憶部１３に記憶された時点から無効化設定時間が経過したら、先読みデータを無効化し、時間が経ちすぎた先読みデータを次回アクセス時に使用しないようにしてデータの信頼性向上を図る。【選択図】図１
2015215833.tif 000002
【特許請求の範囲】
【請求項１】
先読みデータ記憶部と先読み部と制御部と信頼性向上部とを有し、アドレスで管理されたデータを記憶するメモリから前記データを読み出すデータ読み出し装置であって、
前記先読みデータ記憶部は、アドレスで管理された先読みデータを記憶するものであり、
前記先読み部は、次回読み出すべきデータのアドレスを予測して前記予測したアドレスのデータを前記メモリから読み出し前記先読みデータとして前記先読みデータ記憶部に記憶させる先読みデータ記憶動作を行うものであり、
前記制御部は、前記先読みデータ記憶部にアクセスして前記先読みデータのアドレスが今回必要とするデータのアドレスと一致するとき前記先読みデータを読み出し、前記先読みデータのアドレスが今回必要とするデータのアドレスと一致しないとき前記メモリにアクセスして今回必要とするデータを読み出すものであり、
前記信頼性向上部は、前記先読み部に先読み指令を発し前記先読みデータ記憶動作を行なわせるとともに、予め決められた時間以上前の前記先読みデータが読み出されないようにするものである
データ読み出し装置。
【請求項２】
前記信頼性向上部は、前記先読み指令を前記制御部が前記先読みデータまたは前記今回必要とするデータを読み出した後に発するとともに、前記先読みデータ記憶動作が行われた時点から予め設定された無効化設定時間が経過したとき前記先読みデータを無効にし読み出されないようにするものである
請求項１に記載のデータ読み出し装置。
【請求項３】
前記信頼性向上部は、前記先読み指令を前記制御部が前記先読みデータまたは前記今回必要とするデータを読み出した後に発するとともに、前記先読みデータ記憶動作が行われた時点から予め設定された再先読み設定時間が経過したとき再度前記先読み指令を発し前記先読みデータ記憶動作を行なわせて前記先読みデータが前記再先読み設定時間以上前のものとならないようにするものである
請求項１に記載のデータ読み出し装置。
【請求項４】
前記信頼性向上部は、前記先読み指令を前記制御部が前記先読みデータまたは前記今回必要とするデータを読み出した時点から予め設定された遅延先読み設定時間が経過したときに発し前記先読みデータ記憶動作を行なわせて前記先読みデータが前記遅延先読み設定時間以上前のものとならないようにするものである
請求項１に記載のデータ読み出し装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特にアドレスで管理されたデータを読み出すデータ読み出し装置に関する。
【背景技術】
【０００２】
従来のデータ読み出し装置においては、連続したアドレスにアクセスする場合、あるアドレスにリードアクセス（以下、単にアクセスという）要求があった際に、予め次回のアドレスを予測して、そのアドレスのデータを読み出して先読みデータとして一時保管しておく。そして、次のアクセスの際に実際に要求されたデータのアドレスと予測したアドレスとが一致した場合に、前記先読みデータを読み込むことにより、アクセス全体の時間短縮を図るものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２１０８３号公報（段落番号００１１〜００１３及び図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータ読み出し装置は以上のように構成されているので、予測に従って読みだした先読みデータは前回アクセス要求した時点におけるデータである。従って、先読みデータは前回のアクセスから今回のアクセスまでの間のわずかな時間だけ過去のデータとなるため、過渡的に変化する事象の場合、先読みデータが古くなってしまい、先読みデータに対する信頼性に疑問が生じるという問題点があった。また、アクセスから次のアクセスまでの間の時間が長くなると、その分さらに先読みデータが過去のものとなり、信頼性が低下するという問題点があった。
【０００５】
この発明は前記のような問題点を解決するためになされたものであり、アドレスで管理されたデータの読み出しの高速化が可能で、かつ先読みデータの信頼性を向上させることのできるデータ読み出し装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ読み出し装置においては、
先読みデータ記憶部と先読み部と制御部と信頼性向上部とを有し、アドレスで管理されたデータを記憶するメモリから前記データを読み出すデータ読み出し装置であって、
前記先読みデータ記憶部は、アドレスで管理された先読みデータを記憶するものであり、
前記先読み部は、次回読み出すべきデータのアドレスを予測して前記予測したアドレスのデータを前記メモリから読み出し前記先読みデータとして前記先読みデータ記憶部に記憶させる先読みデータ記憶動作を行うものであり、
前記制御部は、前記先読みデータ記憶部にアクセスして前記先読みデータのアドレスが今回必要とするデータのアドレスと一致するとき前記先読みデータを読み出し、前記先読みデータのアドレスが今回必要とするデータのアドレスと一致しないとき前記メモリにアクセスして今回必要とするデータを読み出すものであり、
前記信頼性向上部は、前記先読み部に先読み指令を発し前記先読みデータ記憶動作を行なわせるとともに、予め決められた時間以上前の前記先読みデータが読み出されないようにするものである。
【発明の効果】
【０００７】
この発明のデータ読み出し装置によれば、予め決められた時間以上前の先読みデータが読み出されないようにする信頼性向上部を有するので、アドレスで管理されたデータの読み出しの高速化が可能で、かつ先読みデータの信頼性を向上させることのできるデータ読み出し装置を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１であるデータ読み出し装置の構成を示す構成図である。
【図２】図１のデータ読み出し装置の動作を示すフローチャートである。
【図３】図１のデータ読み出し装置のタイミングチャートである。
【図４】この発明の実施の形態２であるデータ読み出し装置の構成を示す構成図である。
【図５】図４のデータ読み出し装置の動作を示すフローチャートである。
【図６】図４のデータ読み出し装置のタイミングチャートである。
【図７】この発明の実施の形態２であるデータ読み出し装置の構成を示す構成図である。
【図８】図７のデータ読み出し装置の動作を示すフローチャートである。
【図９】図７のデータ読み出し装置のタイミングチャートである。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１〜図３は、この発明を実施するための実施の形態１を示すものであり、図１はデータ読み出し装置の構成を示す構成図、図２は動作を示すフローチャート、図３はデータ読み出し装置のタイミングチャートである。図１において、データ読み出し装置１０は、制御部１１、先読み部１２、先読みデータ記憶部１３、信頼性向上部１４を有する。信頼性向上部１４は、先読みデータの信頼性を向上させるためのものであり、先読み指令部１４ａとデータ無効化部１４ｂとを有する。メモリ３はアドレスにより管理されたデータ３ａを記憶している。データ読み出し装置１０は、メモリ３からデータ３ａを読み出し、バス４へ送信する。
【００１０】
次に動作について図２、図３に基づいて説明する。先読み部１２は前回のアクセス時に先読み指令部１４ａから指令を受けて先読みデータ記憶動作を行う。ここに、先読みデータ記憶動作とは、初めに指定された読み出すべきデータのアドレスから次に指定されるアドレスを予測して、そのアドレスのデータをメモリ３から予め読み込んで先読みデータとして先読みデータ記憶部１３にセットする（記憶させる）動作のことである。制御部１１は、メモリ３にアクセスしてデータ３ａを読み出してバス４へ送信するのに先だって、図３の時間ｔ１１において、先読みデータ記憶部１３に格納されている先読みデータが有効かどうか（無効のフラグが付されていないかどうか）、及び今回必要とするデータのアドレスが予測したアドレスすなわち先読みデータ記憶部１３に記憶されている先読みデータのアドレスと一致するかどうかを判断する（ステップＳ１）。
【００１１】
先読みデータが有効でありかつ今回必要とするデータのアドレスと先読みデータのアドレスとが一致すれば先読みデータ記憶部１３に格納されている先読みデータをバス４に送信する（ステップＳ２）。先読みデータ記憶部１３に格納された先読みデータが有効でない、もしくはアドレスが異なる場合は、当該先読みデータを読み出さずメモリ３の指定されたアドレスにアクセスを行い、格納されたデータ３ａから今回必要とするデータを読み出し、バス４に送信する（ステップＳ３）。なお、先読みデータの有効無効は、無効のフラグが付されていない限り有効と判断することにしている。
【００１２】
制御部１１がバス４へデータを送信している間の時間ｔ１２（図３）において、先読み部１２は先読み指令部１４ａから指令を受けて、先読みデータ記憶動作を行う（ステップＳ４）。予測の方法としては、たとえばアドレスの順番に従う方法やこれまでの経験的に選択されやすいアドレスを予測する方法が考えられる。一般にメモリ３からデータ３ａを読み出すには時間を要するため、連続でアクセスを行う場合は、次のアクセスのタイミングが遅くなり、全体のデータの読み込みに時間を要する。前記した全体のデータの読み込みに時間が遅くなる問題点を解消すべく、前記のようなアドレスの予測及び当該アドレスのデータの先読みを行うのである。
【００１３】
データ無効化部１４ｂは、先読みデータ記憶動作を行った時点からすなわち先読みデータ記憶動作が終了し先読みデータが先読みデータ記憶部１３に格納された時点である図３における時間ｔ１２から時間の計測を開始する（ステップＳ５）。そして、予め設定した無効化設定時間ΔＴ１が経過した時点である時間ｔ１３において先読みデータ記憶部１３に格納されている先読みデータに無効のフラグを付して無効化し（ステップＳ７）、次のアクセスを待つ。次の時間ｔ１４（図３）において、次のアクセスがなされる。なお、先読みデータを記憶してから次のアクセスまでの待ち時間はΔＴ２＝（ｔ１４−ｔ１２）となる。以上の動作が繰り返される。なお、無効化設定時間ΔＴ１が経過しないうちに次のアクセスが行われた場合は、データ無効化部１４ｂは時間の計測値をリセットする。
【００１４】
以上のように、この実施の形態では、次のアドレスを予測して先読みデータを記憶した時点すなわち先読みデータ記憶動作を行った時点から予め設定した無効化設定時間ΔＴ１が経過したら先読みデータを無効化するようにした。従って、無効化設定時間ΔＴ１よりも古い過去の先読みデータが読み出されバス４へ送信されることがないため、データの信頼性を向上させることができる。
【００１５】
実施の形態２．
図４〜図６は、実施の形態２を示すものであり、図４はデータ読み出し装置の構成図、図５は動作を示すフローチャート、図６はタイミングチャートである。図４において、データ読み出し装置２０は、信頼性向上部２４を有する。信頼性向上部２４は、先読み指令部２４ａと再先読み指令部２４ｂとを有する。その他の構成については、図１に示した実施の形態１と同様のものであるので、相当するものに同じ符号を付して説明を省略する。前記実施の形態１では、データ無効化部１４ｂが、先読みデータ記憶動作が終了した時点から予め設定した無効化設定時間ΔＴ１が経過したときに先読みデータを無効化するものについて説明したが、この実施の形態は、先読みデータ記憶動作後一定時間経過したときに再度先読みデータ記憶動作を行うことによりデータが古くなるのを防止する。
【００１６】
次に、データ読み出し装置２０の動作を図５、図６により説明する。なお、図６（ａ）は対比のために図３に示したものと同一のタイミングチャートを示したものであり、図６（ｂ）は本実施の形態におけるタイミングチャートである。図５において、制御部１１は、図２のステップＳ１〜Ｓ３と同様の動作を行う。すなわち、図６（ｂ）の時間ｔ１１において、先読みデータ記憶部１３またはメモリ３へアクセスを行い、先読みデータあるいは今回のアドレスのデータをバス４へ送信する。また、先読み部１２は先読み指令部２４ａから指令を受けて、先読みデータ記憶動作を行う（ステップＳ４）。
【００１７】
次に、再先読み指令部２４ｂは先読みデータがバス４へ送信された時点から時間計測を開始する（ステップＳ２１）。そして、予め設定された再先読み設定時間ΔＴ３が経過したかどうか判定し（ステップＳ２２）、時間が経過したら再先読み指令を発する（ステップＳ２３）。再先読み指令を受けた先読み部１２は、時間ｔ２１（図６（ｂ））において先のステップＳ４において予測したアドレスのデータを再度メモリ３から読み出し先読みデータとして先読みデータ記憶部１３へセットする。すなわち、再度先読みデータ記憶動作を行う（ステップＳ２４）。そして、次の時間ｔ１４（図６（ｂ））において、次回のアクセスがなされる。なお、先読みデータ記憶動作を行ってから、すなわち先読みデータを記憶してから次のアクセスまでの待ち時間はΔＴ４＝（ｔ１４−ｔ２１）となり、図６（ａ）に示す次のアクセスまでの待ち時間ΔＴ２＝（ｔ１４−ｔ１２）に比し大幅に時間が短縮される。以上の動作が繰り返される。再読み設定時間ΔＴ３が経過しないうちに次のアクセスが行われた場合は、再先読み指令部２４ｂは時間の計測値をリセットする。
【００１８】
以上のように、この実施の形態によれば、先読みデータ記憶動作を行ってから一定の時間が経過したら再度先読みを行い先読みデータが古くなるのを防止するので、データの読み出しの高速化を図ることができるとともに、先読みデータの信頼性を向上させることができる。
【００１９】
実施の形態３．
図７〜図９は、実施の形態３を示すものであり、図７はデータ読み出し装置の構成図、図８は動作を示すフローチャート、図９はタイミングチャートである。図７において、データ読み出し装置３０は、信頼性向上部３４を有する。信頼性向上部３４は、遅延先読み指令部３４ａを有する。その他の構成については、図１に示した実施の形態１と同様のものであるので、相当するものに同じ符号を付して説明を省略する。前記実施の形態１では、先読みデータがバス４へ送信されたらすぐ次の先読みデータ記憶動作を行うものを示したが、この実施の形態は遅延先読み指令部３４ａ（詳細後述）を設けて、先読みデータ記憶動作を行うタイミングを遅らせ先読み回数を低減するようにしたものである。
【００２０】
次に、データ読み出し装置３０の動作について図８、図９により説明する。なお、図９（ａ）は対比のために図３と同一のタイミングチャートを示したものであり、図９（ｂ）は本実施の形態におけるタイミングチャートである。図８において、制御部１１は、図２のステップＳ１〜Ｓ３と同様の動作を行う。すなわち、図９（ｂ）の時間ｔ１１において、先読みデータ記憶部１３またはメモリ３へアクセスを行い、先読みデータあるいは今回のアドレスのデータをバス４へ送信する。
【００２１】
次に、遅延先読み指令部３４ａは、先読みデータがバス４へ送信された時点から時間計測を開始する（ステップＳ３１）。そして、予め設定された遅延先読み設定時間ΔＴ５が経過したかどうか判定し（ステップＳ３２）、時間が経過したら先読み部１２に先読み指令を発する（ステップＳ３３）。先読み指令を受けた先読み部１２は時間ｔ３１（図９（ｂ））において先読みデータ記憶動作すなわちデータの再読込みを行う（ステップＳ３４）。そして、次の時間ｔ１４（図９（ｂ））において、次のアクセスがなされる。なお、先読みデータを記憶してから次のアクセスまでの待ち時間はΔＴ６＝（ｔ１４−ｔ３１）となり、図９（ａ）に示す次のアクセスまでの待ち時間ΔＴ２＝（ｔ１４−ｔ１２）に比し大幅に時間が短縮される。以上の動作が繰り返される。なお、再読み設定時間ΔＴ５が経過しないうちに次のアクセスが行われると、先読みデータがないためメモリ３からデータを読み出すことになり読み出し時間の短縮が図れないので、そのような事態を極力避けるように再読み設定時間ΔＴ５を適切な値に設定する。
【００２２】
以上のように、この実施の形態によれば、アクセスのすぐ後に先読みデータ記憶動作を行うことを避け、予め設定された遅延先読み設定時間ΔＴ５だけ遅らせて先読みデータ記憶動作を行うようにした。すなわち、先読みデータを記憶するタイミングを次のアクセスのタイミングに近づけることで、次回のアクセスのタイミングと先読みデータを読み出すタイミングとの時間差（待ち時間）ΔＴ６＝（ｔ１４−ｔ３１）を小さくすることができ、先読みデータの信頼性を一層向上させることが可能となる。また、先読みの回数を低減できる。
【００２３】
なお、本発明は、その発明の範囲内において、上述した各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変更、省略したりすることが可能である。
【符号の説明】
【００２４】
３  メモリ、３ａ  データ、１０  データ読み出し装置、１１  制御部、
１２  先読み部、１３  先読みデータ記憶部、１４  信頼性向上部、
１４ａ  先読み指令部、１４ｂ  データ無効化部、２０  データ読み出し装置、
２４  信頼性向上部、２４ａ  先読み指令部、２４ｂ  再先読み指令部、
３０  データ読み出し装置、３４  信頼性向上部、３４ａ  遅延先読み指令部。
【図１】
2015215833.tif 000003
【図２】
2015215833.tif 000004
【図３】
2015215833.tif 000005
【図４】
2015215833.tif 000006
【図５】
2015215833.tif 000007
【図６】
2015215833.tif 000008
【図７】
2015215833.tif 000009
【図８】
2015215833.tif 000010
【図９】
2015215833.tif 000011