(57)【要約】【課題】頻繁にアクセス要求されるデータを充分に速く読み出して出力することにより、所定の処理装置による処理時間を充分に短いものとすることに寄与すること。【解決手段】メインメモリ２に記憶されているデータの一部を、読み出し速度がメインメモリ２より速い高速記憶処理部１２に記憶し、アクセス要求の対象となるデータが高速記憶処理部１２に存在する場合に、そのデータを高速記憶処理部１２から出力するメモリアクセス制御装置１０において、高速記憶処理部１２に対して、アクセス要求の回数が多いデータを優先的に記憶させる記憶処理制御部１８を備えているものである。【選択図】　　　図１
2004110419.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置に記憶されているデータの一部を、読み出し速度が前記第１の記憶装置より速い第２の記憶装置に記憶し、アクセス要求の対象となるデータが前記第２の記憶装置に存在する場合に、前記データを前記第２の記憶装置から出力するメモリアクセス制御装置において、
前記第２の記憶装置に対して、アクセス要求の回数が多いデータを優先的に記憶させる記憶処理制御手段を備えていることを特徴とするメモリアクセス制御装置。
【請求項２】
前記記憶処理制御手段は、アクセス要求の回数が同じデータが複数存在する場合には、該データのうち最新のものを優先的に記憶させるものであることを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項３】
前記記憶処理制御手段は、アクセス要求に含まれる前記第１の記憶装置のアクセスアドレスを検出する検出部と、
前記検出部が検出したアクセスアドレス毎の検出回数をカウントするカウンタ部と、
前記カウンタ部によりカウントされた検出回数が多いアクセスアドレスのデータを優先的に前記第２の記憶装置に記憶させる記憶処理制御部と
を有して構成されていることを特徴とする請求項１に記載のメモリアクセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第１の記憶装置に記憶されているデータの一部を、読み出し速度が第１の記憶装置より速い第２の記憶装置に記憶し、アクセス要求の対象となるデータが第２の記憶装置に存在する場合に、該データを第２の記憶装置から出力するメモリアクセス制御装置に関するものである。
【０００２】
【従来の技術】
一般に、メモリシステムの高速化技法の１つとしてキャッシングが知られている。このキャッシングは、中央演算処理装置（以下、ＣＰＵ；Ｃｅｎｔｒａｌ　　Ｐｒｏｃｅｓｓｉｎｇ　　Ｕｎｉｔともいう）と主記憶装置（以下、メインメモリともいう）との間に、キャッシュメモリと呼ばれるメインメモリよりも高速／小容量のメモリを備えてなるメモリアクセス制御装置を配置して行われるものである。
【０００３】
図１３は、従来のメモリアクセス制御装置を実装してなる処理システムを模式的に示したものであり、（ａ）は処理システムの構成を示したブロック図であり、（ｂ）は（ａ）におけるメモリアクセス制御装置の構成を示したブロック図である。図１３において、処理システムは、ＣＰＵ１と、メインメモリ２と、メモリアクセス制御装置２０とを有して構成してある。
【０００４】
ＣＰＵ１は、所定のプログラム命令を解釈し、実行することのできる処理装置である。メインメモリ２は、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ　　Ｒａｎｄｏｍ　　Ａｃｃｅｓｓ　　Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）等であり、アドレス毎に所定のデータを記憶しているものである。
【０００５】
メモリアクセス制御装置２０は、図１３（ｂ）に示すように、主制御部２１と、キャッシュメモリ２２と、アドレス検出部２３と、判断部２６と、記憶処理部２７とを有して構成してある。
【０００６】
主制御部２１は、メモリアクセス制御装置２０の動作を統括的に制御するものである。キャッシュメモリ２２は、既述のようにメインメモリ２よりも読み出し速度が速く、該メインメモリ２よりも記憶容量が小さいメモリである。アドレス検出部２３は、ＣＰＵ１からのアクセス要求に含まれるメインメモリ２のアドレス（以下、アクセスアドレスともいう）を検出するものである。判断部２６は、アドレス検出部２３により検出されたアドレスのデータがキャッシュメモリ２２に記憶されているか否かを判断するものである。記憶処理部２７は、メインメモリ２から入力したデータを最新のデータとしてキャッシュメモリ２２に記憶させるものである。
【０００７】
次に、上記の処理システムを構成するメモリアクセス制御装置２０の動作について説明する。図１４および図１５は、図１３におけるメモリアクセス制御装置の動作を説明するための説明図であり、図１４が前半部分を、図１５が後半部分を示している。ここで、説明の便宜上、メインメモリ２は、最大１０個のデータを記憶することが可能であるとし、キャッシュメモリ２２は、最大２個のデータを記憶することが可能であるとする。また、図１４および図１５において、Ｓｎ′（ｎ＝１〜１６）は、ＣＰＵ１からのアクセス要求を示しており、Ｃｍ′（ｍ＝０〜１６）は、キャッシュメモリ２２の記憶状態を示している。Ｃｍ′にある矢印は、次回アクセスがあると上書きされる位置を示すためのポインタ、すなわち記憶処理部２７によりデータが記憶される位置を示すためのポインタである。このポインタは、入力されたデータが上書きされると次領域に移動する。尚、キャッシュメモリ２２に記憶してあるデータを出力する場合にはポインタは移動しない。以下においては、ＣＰＵ１のアクセス要求の順序にしたがって動作を説明する。
【０００８】
ＣＰＵ１がメインメモリ２にアクセス要求する以前においては、メインメモリ２は、アドレスＡ−１〜Ａ−１０にそれぞれデータが記憶された状態（Ｍ０）となっている。メモリアクセス制御装置２０のキャッシュメモリ２２は、初期状態であり、まだ何も記憶されていない空の状態となっている（Ｃ０′）。
【０００９】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ１′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−２を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。既述のようにこの時点においては、キャッシュメモリ２２は初期状態（Ｃ０′）であるので、アクセスアドレスＡ−２のデータがメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−２のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２に記憶する一方（Ｃ１′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１０】
ＣＰＵ１がメインメモリ２のアドレスＡ−３にアクセス要求すると（Ｓ２′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−３を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−３のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−２のデータしか記憶されていないので（Ｃ１′）、アクセスアドレスＡ−３のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−３のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２に記憶する一方（Ｃ２′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。ここに、キャッシュメモリ２２は、アクセスアドレスＡ−２のデータと、アクセスアドレスＡ−３のデータとの２個のデータが記憶されることになり、記憶容量が完全に充たされた状態となる。
【００１１】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ３′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−２を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。そして、主制御部２１は、キャッシュメモリ２２にはアドレスＡ−２のデータが記憶されているので（Ｃ２′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。この場合、キャッシュメモリ２２に記憶してあるデータを出力したため、既述のように、ポインタは移動しない（Ｃ３′）。
【００１２】
ＣＰＵ１がメインメモリ２のアドレスＡ−４にアクセス要求すると（Ｓ４′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−４を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−４のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−４のデータが記憶されていないので（Ｃ３′）、アクセスアドレスＡ−４のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−４のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２のポインタが指定したデータ、すなわちアドレスＡ−２のデータに上書きして記憶する一方（Ｃ４′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１３】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ５′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−２を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−２のデータが記憶されていないので（Ｃ４′）、アクセスアドレスＡ−２のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−２のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２のアドレスＡ−３のデータに上書きして記憶する一方（Ｃ５′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１４】
ＣＰＵ１がメインメモリ２のアドレスＡ−５にアクセス要求すると（Ｓ６′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−５を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−５のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−５のデータが記憶されていないので（Ｃ５′）、アクセスアドレスＡ−５のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−５のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２のアドレスＡ−４のデータに上書きして記憶する一方（Ｃ６′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１５】
ＣＰＵ１がメインメモリ２のアドレスＡ−６にアクセス要求すると（Ｓ７′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−６を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−６のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−６のデータが記憶されていないので（Ｃ６′）、アクセスアドレスＡ−６のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−６のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２のアドレスＡ−２のデータに上書きして記憶する一方（Ｃ７′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１６】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ８′）、メモリアクセス制御装置２０の主制御部２１は、アドレス検出部２３を通じてアクセスアドレスＡ−２を検出する。その後、判断部２６を通じてキャッシュメモリ２２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、キャッシュメモリ２２にはアドレスＡ−２のデータが記憶されていないので（Ｃ７′）、アクセスアドレスＡ−２のデータはメインメモリ２から出力されることになる。そして、主制御部２１は、入力インターフェース２４を介してメインメモリ２からアクセスアドレスＡ−２のデータを入力し、記憶処理部２７を通じてキャッシュメモリ２２のアドレスＡ−５のデータに上書きして記憶する一方（Ｃ８′）、出力インターフェース２５を介してＣＰＵ１に該データを出力する。
【００１７】
以上がＣＰＵ１からのアクセス要求の前半部分（Ｓ１′〜Ｓ８′）におけるメモリアクセス制御装置２０の動作である。ＣＰＵ１からのアクセス要求の後半部分（Ｓ９′〜Ｓ１６′）におけるメモリアクセス制御装置２０も、前半部分（Ｓ１′〜Ｓ８′）と同様の動作をし、図１５に示すように、キャッシュメモリ２２は、Ｃ９′〜Ｃ１６′の記憶状態となる。
【００１８】
【特許文献１】
特開平８−１６４７３号公報
【００１９】
【発明が解決しようとする課題】
図１６は、上記のアクセス要求（Ｓ１′〜Ｓ１６′）において、メインメモリ２の各アドレスＡ−１〜Ａ−１０のアクセス回数を示した表である。この図１６により、ＣＰＵ１が最もアクセス要求しているのは、アドレスＡ−２であることが判る（Ｓ１′、Ｓ３′、Ｓ５′、Ｓ８′、Ｓ９′、Ｓ１１′、Ｓ１３′、Ｓ１６′）。
【００２０】
ところが、従来のメモリアクセス制御装置２０においては、キャッシュメモリ２２に記憶されているアドレスＡ−２のデータを出力したのは、Ｓ３′、Ｓ９′およびＳ１１′だけであり、その他はメインメモリ２から入力したデータを出力しているに過ぎない。つまり、ＣＰＵ１がメモリアクセス制御装置２０にアクセスしたのは、Ｓ３′、Ｓ９′およびＳ１１′だけであり、その他はメインメモリ２にアクセスしたことになる。これでは、メインメモリ２よりも読み出し速度の速いキャッシュメモリ２２を有効に活用することができず、ＣＰＵ１による処理時間を充分に短いものとすることができない、という問題がある。
【００２１】
本発明は、上記実情に鑑みて、頻繁にアクセス要求されるデータを充分に速く読み出して出力することにより、所定の処理装置による処理時間を充分に短いものとすることができるメモリアクセス制御装置を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係るメモリアクセス制御装置は、第１の記憶装置に記憶されているデータの一部を、読み出し速度が前記第１の記憶装置より速い第２の記憶装置に記憶し、アクセス要求の対象となるデータが前記第２の記憶装置に存在する場合に、前記データを前記第２の記憶装置から出力するメモリアクセス制御装置において、前記第２の記憶装置に対して、アクセス要求の回数が多いデータを優先的に記憶させる記憶処理制御手段を備えていることを特徴とする。
【００２３】
また、本発明の請求項２に係るメモリアクセス制御装置は、上記の請求項１において、前記記憶処理制御手段は、アクセス要求の回数が同じデータが複数存在する場合には、該データのうち最新のものを優先的に記憶させるものであることを特徴とする。
【００２４】
また、本発明の請求項３に係るメモリアクセス制御装置は、上記の請求項１において、前記記憶処理制御手段は、アクセス要求に含まれる前記第１の記憶装置のアクセスアドレスを検出する検出部と、前記検出部が検出したアクセスアドレス毎の検出回数をカウントするカウンタ部と、前記カウンタ部によりカウントされた検出回数が多いアクセスアドレスのデータを優先的に前記第２の記憶装置に記憶させる記憶処理制御部とを有して構成されていることを特徴とする。
【００２５】
【発明の実施の形態】
以下に添付図面を参照して、本発明に係るメモリアクセス制御装置の好適な実施の形態について詳細に説明する。
【００２６】
図１は、本発明の実施の形態に係るメモリアクセス制御装置を実装してなる処理システムを模式的に示したものであり、（ａ）は処理システムの構成を示したブロック図であり、（ｂ）は（ａ）におけるメモリアクセス制御装置の構成を示したブロック図である。図１において、処理システムは、ＣＰＵ１と、メインメモリ２と、メモリアクセス制御装置１０とを有して構成してある。
【００２７】
ＣＰＵ１は、所定のプログラム命令を解釈し、実行することのできる処理装置である。メインメモリ２は、上記請求項における第１の記憶装置であって、例えばＤＲＡＭ、ＲＯＭ等であり、アドレス毎に所定のデータを記憶しているものである。
【００２８】
メモリアクセス制御装置１０は、図１（ｂ）に示すように、主制御部１１と、高速記憶処理部１２と、アドレス検出部１３と、カウンタ部１４と、判断部１７と、記憶処理制御部１８とを有して構成してある。
【００２９】
主制御部１１は、所定のプログラムにしたがってメモリアクセス制御装置１０の動作を統括的に制御するものである。高速記憶処理部１２は、例えばキャッシュメモリであり、メインメモリ２よりも読み出し速度が速く、該メインメモリ２よりも記憶容量が小さいものである。アドレス検出部１３は、ＣＰＵ１からのアクセス要求に含まれるメインメモリ２のアクセスアドレスを検出するものである。カウンタ部１４は、アドレス検出部１３が検出したアクセスアドレス毎の検出回数をカウントするものである。判断部１７は、アドレス検出部１３により検出されたアクセスアドレスのデータが高速記憶処理部１２に記憶されているか否かを判断するものである。
【００３０】
記憶処理制御部１８は、上記の請求項における第２の記憶装置であって、カウンタ部１４によりカウントされた検出回数の多いアクセスアドレスのデータを優先的に高速記憶処理部１２に記憶させるとともに、カウンタ部１４によりカウントされた検出回数が同じデータが複数存在する場合には、該データのうち最新のものを優先的に高速記憶処理部１２に記憶させるものである。
【００３１】
次に、処理システムを構成するメモリアクセス制御装置１０の動作について説明する。図２および図３は、図１におけるメモリアクセス制御装置の動作を説明するための説明図であり、図２が前半部分を、図３が後半部分を示している。ここで、説明の便宜上、メインメモリ２は、最大１０個のデータを記憶することが可能であるとし、高速記憶処理部１２は、最大２個のデータを記憶することが可能であるとする。また、図２および図３において、Ｓｎ（ｎ＝１〜１６）は、ＣＰＵ１からのアクセス要求を示しており、Ｃｍ（ｍ＝０〜１６）は、高速記憶処理部１２の記憶状態を示している。更に、ＣＰＵ１からアクセス要求されるアドレスの順序は、上記の図１４および図１５と同じにしてある。以下においては、ＣＰＵ１のアクセス要求の順序にしたがって動作を説明する。
【００３２】
ＣＰＵ１がメインメモリ２にアクセス要求する以前においては、メインメモリ２は、アドレスＡ−１〜Ａ−１０にそれぞれデータが記憶された状態（Ｍ０）となっている。メモリアクセス制御装置１０の高速記憶処理部１２は、初期状態であり、まだ何も記憶されていない空の状態となっている（Ｃ０）。
【００３３】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ１）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−２を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−２の検出回数をカウントする。その後、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、既述のように高速記憶処理部１２は初期状態であるので（Ｃ０）、アクセスアドレスＡ−２のデータがメインメモリ２から出力されることになる。そして、主制御部１１は、入力インターフェース１５を介してメインメモリ２からアクセスアドレスＡ−２のデータを入力し、記憶処理制御部１８を通じて高速記憶処理部１２に記憶する一方（Ｃ１）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ１）では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００３４】
ＣＰＵ１がメインメモリ２のアドレスＡ−３にアクセス要求すると（Ｓ２）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−３を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−３の検出回数をカウントする。その後、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−３のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−２のデータしか記憶されていないので（Ｃ１）、アクセスアドレスＡ−３のデータがメインメモリ２から出力されることになる。そして、主制御部１１は、入力インターフェース１５を介してメインメモリ２からアクセスアドレスＡ−３のデータを入力し、記憶処理制御部１８を通じて高速記憶処理部１２に記憶する一方（Ｃ２）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。この場合、高速記憶処理部１２は、アクセスアドレスＡ−２のデータと、アクセスアドレスＡ−３のデータとの２個のデータが記憶されることになり、記憶容量が完全に充たされた状態となる。このアクセス要求（Ｓ２）では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００３５】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ３）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−２を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−３の検出回数をカウントする。ここでは、アクセスアドレスＡ−２の検出回数が２回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−２のデータが記憶されているので（Ｃ２）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ３）では、ＣＰＵ１は、メモリアクセス制御装置１０にアクセスしたことになる。
【００３６】
ＣＰＵ１がメインメモリ２のアドレスＡ−４にアクセス要求すると（Ｓ４）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−４を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−４の検出回数をカウントする。ここでは、アクセスアドレスＡ−４の検出回数が１回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−４のデータが記憶されているか否かを判断する。この時点においては高速記憶処理部１２にはアドレスＡ−４のデータが記憶されていないので（Ｃ３）、アクセスアドレスＡ−４のデータがメインメモリ２から出力されることになる。そして、主制御部１１は、入力インターフェース１５を介してメインメモリ２からアクセスアドレスＡ−４のデータを入力し、記憶処理制御部１８を通じて高速記憶処理部１２の検出回数が多いデータを残して検出回数の少ないアドレスＡ−３のデータに上書きして記憶する一方（Ｃ４）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ４）では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００３７】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ５）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−２を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−２の検出回数をカウントする。ここでは、アクセスアドレスＡ−２の検出回数が３回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−２のデータが記憶されているので（Ｃ４）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ５）では、ＣＰＵ１は、メモリアクセス制御装置１０にアクセスしたことになる。
【００３８】
ＣＰＵ１がメインメモリ２のアドレスＡ−５にアクセス要求すると（Ｓ６）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−５を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−５の検出回数をカウントする。ここでは、アクセスアドレスＡ−５の検出回数が１回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−５のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−５のデータが記憶されていないので（Ｃ５）、アクセスアドレスＡ−５のデータがメインメモリ２から出力されることになる。そして、主制御部１１は、入力インターフェース１５を介してメインメモリ２からアクセスアドレスＡ−５のデータを入力し、記憶処理制御部１８を通じて高速記憶処理部１２の検出回数が多いデータを残して検出回数の少ないアドレスＡ−４のデータに上書きして記憶する一方（Ｃ６）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ６）では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００３９】
ＣＰＵ１がメインメモリ２のアドレスＡ−６にアクセス要求すると（Ｓ７）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−６を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−６の検出回数をカウントする。ここでは、アクセスアドレスＡ−６の検出回数が１回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−６のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−６のデータが記憶されていないので（Ｃ６）、アクセスアドレスＡ−６のデータはメインメモリ２から出力されることになる。そして、主制御部１１は、入力インターフェース１５を介してメインメモリ２からアクセスアドレスＡ−６のデータを入力し、記憶処理制御部１８を通じて高速記憶処理部１２の検出回数が多いデータを残して検出回数の少ないアドレスＡ−５のデータに上書きして記憶する一方（Ｃ７）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ７）では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００４０】
ＣＰＵ１がメインメモリ２のアドレスＡ−２にアクセス要求すると（Ｓ８）、メモリアクセス制御装置１０の主制御部１１は、アドレス検出部１３を通じてアクセスアドレスＡ−２を検出し、カウンタ部１４を通じてこのアクセスアドレスＡ−２の検出回数をカウントする。ここでは、アクセスアドレスＡ−２の検出回数が４回とカウントされる。その後、主制御部１１は、判断部１７を通じて高速記憶処理部１２にアクセスアドレスＡ−２のデータが記憶されているか否かを判断する。この時点においては、高速記憶処理部１２にはアドレスＡ−２のデータが記憶されているので（Ｃ７）、出力インターフェース１６を介してＣＰＵ１に該データを出力する。このアクセス要求（Ｓ８）では、ＣＰＵ１は、メモリアクセス制御装置１０にアクセスしたことになる。
【００４１】
ＣＰＵ１からのアクセス要求の前半部分（Ｓ１〜Ｓ８）におけるアクセスアドレスの検出回数は図４に示すようになる。この図４から明らかなように、アクセスアドレスＡ−２の検出回数が４回となっており、アクセスアドレスＡ−３〜Ａ−６がそれぞれ１回ずつとなっている。そのため、アクセス要求Ｓ８後における高速記憶処理部１２は、検出回数の最も多い、すなわちアクセス要求の回数が最も多いアドレスＡ−２のデータと、検出回数が同じアドレスＡ−３〜Ａ−６のデータのうち、最新のアドレスＡ−６のデータとが記憶されている（Ｃ８）。
【００４２】
以下に、ＣＰＵ１からのアクセス要求の後半部分（Ｓ９〜Ｓ１６）について説明する。尚、アクセス要求の後半部分（Ｓ９〜Ｓ１６）のメモリアクセス制御装置１０の動作は、アクセス要求の前半部分（Ｓ１〜Ｓ８）のいずれかと同様であるので、簡略して説明する。図５〜図１２は、アクセス要求の後半部分（Ｓ９〜Ｓ１６）のそれぞれにおけるカウンタ部１４によってカウントされたアクセスアドレス毎の検出回数である。
【００４３】
ＣＰＵ１がアドレスＡ−２にアクセス要求すると（Ｓ９）、メモリアクセス制御装置１０は、既述のＳ３、Ｓ５およびＳ８の場合と同様にして、アクセスアドレスＡ−２を検出してそのアクセスアドレスＡ−２の検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−２のデータの存否を確認し、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図５に示すようになる。
【００４４】
ＣＰＵ１がアドレスＡ−３にアクセス要求すると（Ｓ１０）、メモリアクセス制御装置１０は、アクセスアドレスＡ−３を検出してそのアクセスアドレスの検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−３のデータの存否を確認し、メインメモリ２から入力したアクセスアドレスＡ−３のデータをアドレスＡ−６のデータに上書きして記憶する一方（Ｃ１０）、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図６に示すようになる。
【００４５】
ＣＰＵ１がアドレスＡ−２にアクセス要求すると（Ｓ１１）、メモリアクセス制御装置１０は、既述のＳ３、Ｓ５、Ｓ８およびＳ９の場合と同様にして、アクセスアドレスＡ−２を検出してそのアクセスアドレスＡ−２の検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−２のデータの存否を確認し、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図７に示すようになる。
【００４６】
ＣＰＵ１がアドレスＡ−４にアクセス要求すると（Ｓ１２）、メモリアクセス制御装置１０は、アクセスアドレスＡ−４を検出してそのアクセスアドレスの検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−４のデータの存否を確認し、メインメモリ２から入力したアクセスアドレスＡ−４のデータをアドレスＡ−３のデータに上書きして記憶する一方（Ｃ１２）、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図８に示すようになる。
【００４７】
ＣＰＵ１がアドレスＡ−２にアクセス要求すると（Ｓ１３）、メモリアクセス制御装置１０は、既述のＳ３、Ｓ５、Ｓ８、Ｓ９およびＳ１１の場合と同様にして、アクセスアドレスＡ−２を検出してそのアクセスアドレスＡ−２の検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−２のデータの存否を確認し、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図９に示すようになる。
【００４８】
ＣＰＵ１がアドレスＡ−５にアクセス要求すると（Ｓ１４）、メモリアクセス制御装置１０は、アクセスアドレスＡ−５を検出してそのアクセスアドレスの検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−５のデータの存否を確認し、メインメモリ２から入力したアクセスアドレスＡ−５のデータをアドレスＡ−４のデータに上書きして記憶する一方（Ｃ１４）、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図１０に示すようになる。
【００４９】
ＣＰＵ１がアドレスＡ−６にアクセス要求すると（Ｓ１５）、メモリアクセス制御装置１０は、アクセスアドレスＡ−６を検出してそのアクセスアドレスの検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−６のデータの存否を確認し、メインメモリ２から入力したアクセスアドレスＡ−６のデータをアドレスＡ−５のデータに上書きして記憶する一方（Ｃ１５）、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図１１に示すようになる。
【００５０】
最後にＣＰＵ１がアドレスＡ−２にアクセス要求すると（Ｓ１６）、メモリアクセス制御装置１０は、既述のＳ３、Ｓ５、Ｓ８、Ｓ９、Ｓ１１およびＳ１３の場合と同様にして、アクセスアドレスＡ−２を検出してそのアクセスアドレスＡ−２の検出回数をカウントした後、高速記憶処理部１２にアドレスＡ−２のデータの存否を確認し、ＣＰＵ１に該データを出力する。この場合におけるアクセスアドレス毎の検出回数は図１２に示すようになる。
【００５１】
ＣＰＵ１からのアクセス要求の後半部分（Ｓ９〜Ｓ１６）においては、アクセス要求Ｓ９、Ｓ１１、Ｓ１３およびＳ１６では、ＣＰＵ１は、メモリアクセス制御装置１０にアクセスしたことになり、その他のアクセス要求では、ＣＰＵ１は、メインメモリ２にアクセスしたことになる。
【００５２】
以上説明したように、本発明の実施の形態に係るメモリアクセス制御装置１０によれば、記憶処理制御部１８がカウンタ部１４によりカウントされた検出回数の多いアクセスアドレスのデータを優先的に高速記憶処理部１２に記憶させるので、頻繁にアクセス要求されるデータを充分に速く読み出して出力することができ、これにより、ＣＰＵ１による処理時間を充分に短いものとすることができる。従来例と比較して説明すると、従来例では、アクセス要求Ｓ３′、Ｓ９′およびＳ１１′の場合のみキャッシュメモリ２２からアクセスアドレスのデータを読み出して出力することしかできなかったが、本実施の形態では、アクセス要求Ｓ３、Ｓ５、Ｓ８、Ｓ９、Ｓ１１、Ｓ１３およびＳ１６の場合に高速記憶処理部１２からアクセスアドレスのデータを読み出して出力することができ、ＣＰＵ１による処理時間を大幅に短縮することができることが明らかである。
【００５３】
また、記憶処理制御部１８がカウンタ部１４によりカウントされた検出回数が同じアクセスアドレスのデータが複数存在する場合には、該データのうち最新のものを高速記憶処理部１２に記憶させるので、最新のアクセスアドレスが再びアクセス要求された場合には、該アクセスアドレスのデータを充分に速く読み出して出力することができ、これにより、ＣＰＵ１による処理時間を充分に短いものとすることができる。
【００５４】
更に、本実施の形態に係るメモリアクセス制御装置１０によれば、高速記憶処理部１２の数を増加させるわけではないので、装置全体に要するコストは従来例とほぼ同じであり、コスト面のデメリットはない。
【００５５】
以上、本発明のメモリアクセス制御装置の好適な実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上記の実施の形態では、メモリアクセス制御装置１０をＣＰＵ１の外部装置として説明したが、本発明のメモリアクセス制御装置は、ＣＰＵ等の処理装置の内部に設けられて内部装置として機能することもできる。
【００５６】
また、上記の実施の形態では、高速記憶処理部１２は、メモリアクセス制御装置１０の内部に設けられていたが、本発明では、第２の記憶装置である高速記憶処理部は、メモリアクセス制御装置の外部に設けられていてもよい。
【００５７】
更に、上記の実施の形態では、第１の記憶装置をメインメモリ２、第２の記憶装置を高速記憶処理部１２としたが、本発明では、第１の記憶装置を例えば所謂ハードディスクや各種メモリ装置とし、第２の記憶装置を例えばメインメモリとしてもよい。
【００５８】
【発明の効果】
以上説明したように、請求項１に記載の発明によれば、記憶処理制御手段がアクセス要求の回数が多いデータを優先的に第２の記憶装置に記憶させるので、頻繁にアクセス要求されるデータを充分に速く読み出して出力することができ、これにより、所定の処理装置による処理時間を充分に短いものとすることができる。
【００５９】
また、請求項２に記載の発明によれば、記憶処理制御手段がアクセス要求の回数が同じデータが複数存在する場合には、該データのうち最新のものを優先的に第２の記憶装置に記憶させるので、該最新のデータが再びアクセス要求された場合には、該データを充分に速く読み出して出力することができる。
【００６０】
また、請求項３に記載の発明によれば、記憶処理制御部がカウンタ部によりカウントされた検出回数の多いアクセスアドレスのデータを優先的に第２の記憶装置に記憶させるので、頻繁にアクセス要求されるデータを充分に速く読み出して出力することができ、これにより、所定の処理装置による処理時間を充分に短いものとすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るメモリアクセス制御装置を実装してなる処理システムを模式的に示したブロック図である。
【図２】図１におけるメモリアクセス制御装置の動作の前半部分を説明するための説明図である。
【図３】図１におけるメモリアクセス制御装置の動作の後半部分を説明するための説明図である。
【図４】ＣＰＵからのアクセス要求の前半部分におけるアクセスアドレス毎の検出回数を示した図表である。
【図５】ＣＰＵからのアクセス要求Ｓ１〜Ｓ９までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図６】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１０までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図７】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１１までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図８】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１２までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図９】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１３までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図１０】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１４までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図１１】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１５までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図１２】ＣＰＵからのアクセス要求Ｓ１〜Ｓ１６までにおけるアクセスアドレス毎の検出回数を示した図表である。
【図１３】従来のメモリアクセス制御装置を実装してなる処理システムを模式的に示したブロック図である。
【図１４】図１３におけるメモリアクセス制御装置の動作の前半部分を説明するための説明図である。
【図１５】図１３におけるメモリアクセス制御装置の動作の後半部分を説明するための説明図である。
【図１６】図１４および図１５におけるＣＰＵからのアクセス要求の回数を示した図表である。
【符号の説明】
１　　　　ＣＰＵ
２　　　　メインメモリ
１０　　　メモリアクセス制御装置
１１　　　主制御部
１２　　　高速記憶処理部
１３　　　アドレス検出部
１４　　　カウンタ部
１５　　　入力インターフェース
１６　　　出力インターフェース
１７　　　判断部
１８　　　記憶処理制御部
【図１】
2004110419.tif 000003
【図２】
2004110419.tif 000004
【図３】
2004110419.tif 000005
【図４】
2004110419.tif 000006
【図５】
2004110419.tif 000007
【図６】
2004110419.tif 000008
【図７】
2004110419.tif 000009
【図８】
2004110419.tif 000010
【図９】
2004110419.tif 000011
【図１０】
2004110419.tif 000012
【図１１】
2004110419.tif 000013
【図１２】
2004110419.tif 000014
【図１３】
2004110419.tif 000015
【図１４】
2004110419.tif 000016
【図１５】
2004110419.tif 000017
【図１６】
2004110419.tif 000018