(57)【要約】【課題】処理回路が将来アクセスするデータを高精度に予測する。【解決手段】管理装置１８は、処理回路１２による複数種類の記憶部１４に対するアクセスを管理する。記憶部１４は、複数の第１領域を含み、第１領域は、複数の第２領域を含む。管理装置１８は、管理部（管理情報記憶部３０）と、予測部２６と、を備える。管理部（管理情報記憶部３０）は、管理テーブル３１を管理する。管理テーブル３１は、第１領域の識別情報と、第１領域に含まれる複数の第２領域の各々ごとに、第２領域が処理回路１２によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部２６は、アクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する。【選択図】図１
2019164497.tif 000002
【特許請求の範囲】
【請求項１】
処理回路による複数種類の記憶部に対するアクセスを管理する管理装置であって、
前記記憶部は複数の第１領域を含み、前記第１領域は複数の第２領域を含み、
前記第１領域の識別情報と、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する予測部と、
を備える管理装置。
【請求項２】
複数種類の前記記憶部は、
アクセス速度が互いに異なる、
請求項１に記載の管理装置。
【請求項３】
前記予測部は、
前記アクセス情報によって示されるパターンに応じて、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項１または請求項２に記載の管理装置。
【請求項４】
前記パターンは、アクセス済を示す前記アクセス情報を規定された前記第２領域の前記記憶部における位置関係によって表される、
請求項３に記載の管理装置。
【請求項５】
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第２領域の前記アクセス情報を、アクセス済に更新する更新部を備える、
請求項３または請求項４に記載の管理装置。
【請求項６】
前記予測部は、
前記アクセス管理情報における、前記更新部によって直前に更新された前記アクセス情報を含む複数の前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項５に記載の管理装置。
【請求項７】
前記予測部は、
前記アクセス管理情報における、一定期間に更新された前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項５に記載の管理装置。
【請求項８】
前記予測部は、
前記アクセス管理情報における、第１期間に更新された前記アクセス情報によって示される前記パターンを、該第１期間より前のタイミングの第２期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項５に記載の管理装置。
【請求項９】
前記予測部は、
予測した前記第２領域を含む前記第１領域の識別情報が前記管理テーブルに未登録の場合、
前記管理テーブルに該第１領域の識別情報を含む新たなエントリを追加し、該エントリに該第１領域の識別情報および物理アドレスを登録する、
請求項１〜請求項５の何れか１項に記載の管理装置。
【請求項１０】
前記予測部は、
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第１領域の内、前記処理回路によるアクセス速度が第１の速度未満の種類の前記記憶部にデータを記憶されている前記第１領域内の前記第２領域について、前記第１の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第１領域に対して優先して、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項１〜請求項５の何れか１項に記載の管理装置。
【請求項１１】
前記予測部は、
前記管理テーブルにおける、予測した前記第２領域の前記アクセス情報を、アクセス済に更新する、
請求項１〜請求項１０の何れか１項に記載の管理装置。
【請求項１２】
前記予測部が予測した前記第２領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送部を備える、
請求項１〜請求項１１の何れか１項に記載の管理装置。
【請求項１３】
前記予測部は、
前記管理テーブルにおける、予測対象の前記第１領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第１領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する、
請求項１２に記載の管理装置。
【請求項１４】
複数種類の前記記憶部は、第１記憶部と、第１記憶部よりアクセス速度の遅い第２記憶部と、を含み、
前記予測部は、
前記管理テーブルにおける、予測対象の前記第１領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第１領域の識別情報に対応する前記アクセス管理情報が所定条件を満たす場合、該識別情報に対応する前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測し、
前記転送部は、
前記所定条件を満たすと判断した場合、予測対象の前記第１領域のデータを該第１領域の単位で前記第２記憶部から前記第１記憶部へ転送する、
請求項１３に記載の管理装置。
【請求項１５】
前記予測部は、
予測対象の前記第１領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第１領域に、アクセス済を示す前記アクセス情報を規定された前記第２領域の数が第１閾値以上の前記第１領域が所定割合以上含まれる場合、前記所定条件を満たすと判断する、
請求項１４に記載の管理装置。
【請求項１６】
複数種類の前記記憶部は、キャッシュメモリと、前記キャッシュメモリよりアクセス速度の遅い前記第１記憶部と、前記第２記憶部と、を含み、
前記転送部は、
前記予測部が前記所定条件を満たすと判断した場合、前記処理回路が将来アクセスすると予測した前記第２領域のデータを、前記キャッシュメモリへ転送する、
請求項１４または請求項１５に記載の管理装置。
【請求項１７】
前記転送部は、
前記予測部が前記所定条件を満たさないと判断した場合、前記処理回路が将来アクセスすると予測した前記第２領域のデータを、前記第２領域の単位で前記第２記憶部から前記キャッシュメモリへ直接転送する、
請求項１６に記載の管理装置。
【請求項１８】
前記管理テーブルは、
前記第１領域の識別情報としての論理アドレスと、前記記憶部における前記第１領域の物理アドレスと、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応づけてなる、
請求項１〜請求項１７の何れか１項に記載の管理装置。
【請求項１９】
処理回路と、
複数種類の記憶部と、
複数種類の前記記憶部に対するアクセスを管理する管理装置と、
を備え、
前記記憶部は複数の第１領域を含み、前記第１領域は複数の第２領域を含み、
前記管理装置は、
前記第１領域の識別情報と、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する予測部と、
を備える、情報処理装置。
【請求項２０】
処理回路による複数種類の記憶部に対するアクセスを管理する管理装置における管理方法であって、
前記記憶部は複数の第１領域を含み、前記第１領域は複数の第２領域を含み、
前記第１領域の識別情報と、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する予測ステップと、
を含む、管理方法。
【請求項２１】
処理回路による複数種類の記憶部に対するアクセスを管理するコンピュータに実行させるためのプログラムであって、
前記記憶部は複数の第１領域を含み、前記第１領域は複数の第２領域を含み、
前記第１領域の識別情報と、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する予測ステップと、
を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、管理装置、情報処理装置、管理方法、およびプログラムに関する。
【背景技術】
【０００２】
ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＰＣＭ（Ｐｈａｓｅ−Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）などの各種のストレージクラスメモリ（ＳＣＭ）が開発されている。ＳＣＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に比べてアクセス速度は遅いが、集積度が高いため大容量のメインメモリとして使用できる。計算機システムのメインメモリとして、従来のＤＲＡＭに加えてＳＣＭを搭載するようになると、ＣＰＵがＳＣＭをアクセスする際に、ＣＰＵのデータ到着待ち時間がＤＲＡＭ使用時よりも長くなってしまい、アクセス速度が低下し、処理時間の増加を招く。
【０００３】
そこで、ＣＰＵなどの処理回路が将来アクセスするデータを予測し、アクセス前にＣＰＵがより高速にアクセスできるメモリへ転送させデータ到着待ち時間を短縮し処理を高速化することが考えられる。しかし、従来では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。例えば、従来では、アクセス済であるか否かを示す情報を、ページ単位でページテーブルに記録する方法が開示されている。しかし、ページ内の何れの領域にアクセスがなされたかの管理がなされておらず、従来技術では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｃｏｍｐｕｔｅｒ  Ｏｒｇａｎｉｚａｔｉｏｎ  ａｎｄ  Ｄｅｓｉｇｎ  ＲＩＳＣ−Ｖ  Ｅｄｉｔｉｏｎ，  Ｄａｖｉｄ  Ａ．  Ｐａｔｔｅｒｓｏｎ  ＆  Ｊｏｈｎ  Ｌ．  Ｈｅｎｎｅｓｓｙ，  Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ，  ＩＳＢＮ  ９７８−０−１２−８１２２７５−４，  ５．７  Ｖｉｒｔｕａｌ  Ｍｅｍｏｒｙ．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、処理回路が将来アクセスするデータを高精度に予測することの可能な、管理装置、情報処理装置、管理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の管理装置は、処理回路による複数種類の記憶部に対するアクセスを管理する。前記記憶部は複数の第１領域を含み、前記第１領域は複数の第２領域を含む。管理装置は、管理部と、予測部と、を備える。管理部は、管理テーブルを管理する。管理テーブルは、前記第１領域の識別情報と、前記第１領域に含まれる複数の前記第２領域の各々ごとに、前記第２領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部は、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第２領域を予測する。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置の模式図。
【図２】記憶部へのアクセスの説明図。
【図３】物理アドレス空間の模式図。
【図４】管理テーブルのデータ構成を示す模式図。
【図５】管理テーブルのデータ構成を示す模式図。
【図６】第２領域の予測の説明図。
【図７】第２領域の予測の説明図。
【図８】第２領域の予測の説明図。
【図９】第２領域の予測の説明図。
【図１０】第２領域の予測の説明図。
【図１１】第２領域の予測の説明図。
【図１２】第２領域の予測の説明図。
【図１３】第２領域の予測の説明図。
【図１４】第２領域の予測の説明図。
【図１５】第２領域の予測の説明図。
【図１６】情報処理の手順のフローチャート。
【図１７】第２領域の予測の説明図。
【図１８】第２領域の予測の説明図。
【図１９】情報処理の手順のフローチャート。
【図２０】第２領域の予測の説明図。
【図２１】第２領域の予測の説明図。
【図２２】データ転送の説明図。
【図２３】情報処理の手順のフローチャート。
【図２４】情報処理装置の模式図。
【図２５】情報処理装置の模式図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、本実施の形態の詳細を説明する。
【０００９】
図１は、本実施の形態の情報処理装置１０の構成の一例を示す模式図である。情報処理装置１０は、処理回路１２と、記憶部１４と、キャッシュメモリ１６と、管理装置１８と、を備える。
【００１０】
処理回路１２とキャッシュメモリ１６、キャッシュメモリ１６と管理装置１８、処理回路１２と管理装置１８、および管理装置１８と記憶部１４、の各々は、データや信号を授受可能に接続されている。
【００１１】
処理回路１２は、１または複数のプロセッサを有する。プロセッサは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサは、１または複数のＣＰＵコアを含んでいてもよい。処理回路１２は、プログラムの実行に応じて、記憶部１４からのデータ読み出しや、記憶部１４へのデータ書込みを行う。
【００１２】
処理回路１２および管理装置１８は、記憶部１４に記憶されているデータをキャッシュメモリ１６に一時的に記憶し、処理に用いる。
【００１３】
記憶部１４は、処理回路１２による作業領域として用いられるメインメモリである。本実施の形態の情報処理装置１０は、複数種類の記憶部１４を備える。すなわち、本実施の形態の情報処理装置１０は、複数種類の記憶部１４を、メインメモリとして用いる。
【００１４】
複数種類の記憶部１４は、処理回路１２によるアクセス速度が互いに異なる。なお、以下では、処理回路１２によるアクセス速度を、単にアクセス速度と称して説明する場合がある。
【００１５】
本実施の形態では、情報処理装置１０は、アクセス速度の異なる複数種類の記憶部１４として、第１記憶部１４Ａと、第２記憶部１４Ｂと、を備える。なお、情報処理装置１０は、３種類以上の記憶部１４を備えた構成であってもよい。
【００１６】
第１記憶部１４Ａは、例えば、揮発性メモリである。具体的には、第１記憶部１４Ａは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。なお、第１記憶部１４Ａは、高速アクセスの可能なＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の不揮発メモリであってもよい。
【００１７】
第２記憶部１４Ｂは、第１記憶部１４Ａに比べてアクセス速度が遅い。また、第２記憶部１４Ｂの容量は、第１記憶部１４Ａの容量と同じか大きい。
【００１８】
第２記憶部１４Ｂは、例えば、不揮発性メモリである。具体的には、第２記憶部１４Ｂは、ＤＲＡＭより集積度が高く大容量な大容量高速不揮発メモリ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）である。
【００１９】
更に具体的には、第２記憶部１４Ｂは、ストレージクラスメモリ（ＳＣＭ）と呼ばれるメモリである。例えば、ＭＲＡＭ、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＣＲＡＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、３ＤＸＰｏｉｎｔまたはＭｅｍｒｉｓｔｏｒなどである。
【００２０】
本実施の形態では、第１記憶部１４ＡがＤＲＡＭであり、第２記憶部１４ＢがＳＣＭである場合を、一例として説明する。なお、第１記憶部１４Ａのアクセス速度が第２記憶部１４Ｂより速ければよく、これらの組合せは、第１記憶部１４ＡがＤＲＡＭであり第２記憶部１４ＢがＳＣＭである形態に限定されない。例えば、第１記憶部１４ＡがＭＲＡＭであり、第２記憶部１４ＢがＲｅＲＡＭであってもよい。
【００２１】
図２は、第１記憶部１４Ａおよび第２記憶部１４Ｂへのアクセス方法の説明図である。計算機システムのメインメモリとして、従来のＤＲＡＭに加えて、ＳＣＭを搭載するようになると、両者をうまく使い分けることが必要になる。つまり、ＳＣＭはＤＲＡＭより大容量だがアクセス速度が遅い。このため、処理対象のデータの特性に合わせて、データを配置するメモリをＤＲＡＭとＳＣＭにうまく分散させることで、効率良いデータ処理が可能になる。すなわち、アクセスのローカリティが低くサイズの大きいデータは、ＳＣＭに配置してプロセッサがＳＣＭをキャッシュライン単位でダイレクトにアクセスするのが望ましい。また、アクセスのローカリティの高いデータはＳＣＭからＤＲＡＭにページ単位で転送して、プロセッサはＤＲＡＭ上のデータをキャッシュライン単位でアクセスするのが望ましい。
【００２２】
図１に戻り説明を続ける。なお、第１記憶部１４Ａ、および第２記憶部１４Ｂを総称して説明する場合には、単に、記憶部１４と称して説明する。
【００２３】
記憶部１４は、複数の第１領域を含む。本実施の形態では、第１記憶部１４Ａおよび第２記憶部１４Ｂが、複数の第１領域を含む形態を説明する。そして、第１領域は、複数の第２領域を含む。すなわち、本実施の形態では、処理回路１２および管理装置１８は、第１記憶部１４Ａおよび第２記憶部１４Ｂを、第１領域の単位、あるいは、第１領域を更に細かく区切った第２領域の単位で管理する。
【００２４】
図３は、処理回路１２から見た物理アドレス空間を示す模式図である。
【００２５】
図３に示すように、第１記憶部１４Ａおよび第２記憶部１４Ｂは、それぞれ、複数の第１領域を含む。
【００２６】
第１領域は、例えば、処理回路１２あるいは処理回路上で動作するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によるデータの管理単位（例えば、ページ）である。例えば、４ＫＢなどである。なお、第１領域は、処理回路１２あるいは処理回路上で動作するＯＳによるデータの管理単位の所定数倍の単位などであってもよい。本実施の形態では、第１領域が、ページに相当する場合を、一例として説明する。
【００２７】
第２領域は、第１領域より小さい領域である。例えば、第２領域は、処理回路１２が記憶部１４上のデータを読み書きする単位である。具体的には、第２領域は、キャッシュライン単位である。すなわち、処理回路１２は、キャッシュラインの単位で、第１記憶部１４Ａまたは第２記憶部１４Ｂにアクセスする。
【００２８】
キャッシュラインは、例えば、６４バイトである。なお、第２領域は、キャッシュラインよりも小さい単位（例えば、バイト単位）であってもよい。
【００２９】
本実施の形態では、処理回路１２および管理装置１８は、図３に示す物理アドレス空間１５にマッピングされた第１記憶部１４Ａおよび第２記憶部１４Ｂ内の領域を、第１領域のサイズ（例えば、ページサイズ）に区切って管理する。そして、処理回路１２および管理装置１８は、ページテーブルを用いて論理アドレスから物理アドレスに変換することで、仮想記憶を実現する。
【００３０】
また、本実施の形態では、処理回路１２および管理装置１８は、第１領域内を第２領域のサイズ（例えば、キャッシュライン）に区切り、第２領域の各々を管理する。
【００３１】
このように、本実施の形態の情報処理装置１０は、複数種類の記憶部１４の各々を、第１領域（例えばページ単位）より細かい単位である第２領域（例えばキャッシュライン）ごとに、管理可能に構成されている。
【００３２】
なお、本実施の形態の情報処理装置１０は、本発明で用いる複数種類の記憶部として、第１記憶部１４Ａ、第２記憶部１４Ｂを組み合わせて主記憶として用いる場合を一例として説明する。
【００３３】
図１に戻り、説明を続ける。管理装置１８は、複数種類の記憶部１４に対する処理回路１２によるアクセスを管理する。管理装置１８は、例えば、メモリ管理ユニット（ＭＭＵ：Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）である。
【００３４】
管理装置１８は、アクセス制御部２０と、管理部２２と、を有する。管理部２２は、更新部２４と、予測部２６と、転送部２８と、管理情報記憶部３０と、を有する。
【００３５】
アクセス制御部２０は、処理回路１２から受付けたメモリアクセス要求を処理する。メモリアクセス要求は、記憶部１４に対するメモリアクセス要求である。メモリアクセス要求は、記憶部１４へのデータ書込み、または記憶部１４からのデータ読み出しを示す。        
【００３６】
アクセス制御部２０は、処理回路１２から受付けたメモリアクセス要求によって示されるアクセス対象のデータがキャッシュメモリ１６に格納されていない場合、記憶部１４へアクセスする。この場合、アクセス制御部２０は、処理回路１２から受付けたメモリアクセス要求によって示される、アクセス対象の記憶部１４における第２領域にアクセスする。そして、管理装置１８は、アクセスした該第２領域に対して、メモリアクセス要求によって示される処理（書込みや読み出し）を実行する。
【００３７】
次に、管理部２２について説明する。管理部２２は、管理テーブル３１Ａを管理する。管理テーブル３１Ａは、管理テーブル３１の一例である。図４は、管理テーブル３１Ａのデータ構成の一例を示す模式図である。
【００３８】
管理テーブル３１Ａは、第１領域の識別情報と、アクセス管理情報と、を対応付けたテーブルである。すなわち、管理テーブル３１Ａには、第１領域の識別情報とアクセス管理情報とを１対１で対応づけたエントリＥが、複数登録されている。
【００３９】
第１領域の識別情報は、第１記憶部１４Ａおよび第２記憶部１４Ｂの各々の第１領域を識別するための情報である。
【００４０】
本実施の形態では、上述したように第１領域がページに相当する場合を説明する。このため、本実施の形態では、第１領域の識別情報が、ページ番号である場合を一例として説明する。また、以下では、第１領域の識別情報を、ページ番号と称して説明する場合がある。
【００４１】
また、本実施の形態では、管理テーブル３１Ａに登録されている第１領域の識別情報は、論理アドレスによって表される。すなわち、本実施の形態では、第１領域の識別情報は論理アドレス空間におけるページ番号で表される。このため、情報処理装置１０では、ページテーブルにおける論理アドレスに対応する物理アドレスを特定することで、管理テーブル３１Ａに示されるページ番号が、何れの種類の記憶部１４（第１記憶部１４Ａ、第２記憶部１４Ｂ）内のページ番号を示すかを、特定可能である。
【００４２】
アクセス管理情報は、対応するページ番号によって識別される第１領域に含まれる複数の第２領域の各々ごとに、アクセス情報を規定したものである。
【００４３】
アクセス情報は、第２領域が処理回路１２によってアクセス済であるか否かを示すフラグである。図４に示す例では、アクセス情報“０”は、処理回路１２によるアクセス未の第２領域を示す。また、アクセス情報“１”は、処理回路１２によるアクセス済の第２領域を示す。
【００４４】
図４には、一例として、１ページ（１つの第１領域）に対して、１６個の第２領域としてのキャッシュラインを割り当てた例を示した。例えば、１ページ（第１領域）のサイズが４Ｋバイトであると仮定する。また、第２領域であるキャッシュラインのサイズが６４バイトであると仮定する。この場合、１つの第１領域は、６４個の第２領域を有することとなる。また、管理テーブル３１Ａには、ページ番号によって識別される第１領域ごとに、６４個の第２領域の各々のアクセス情報を規定したアクセス管理情報が、規定される。
【００４５】
なお、管理テーブル３１Ａに代えて、管理テーブル３１Ｂであってもよい。管理テーブル３１Ｂは、管理テーブル３１の一例である。
【００４６】
図５は、管理テーブル３１Ｂのデータ構成の一例を示す模式図である。管理テーブル３１Ｂは、管理テーブル３１Ａに、更に物理アドレスを対応づけたものである。具体的には、管理テーブル３１Ｂは、第１領域の識別情報としての論理アドレスと、記憶部１４における該第１領域の物理アドレスと、アクセス管理情報と、を対応づけた構成である。この場合、管理情報記憶部３０は、管理テーブル３１Ａに代えて管理テーブル３１Ｂを記憶すればよい（図１参照）。
【００４７】
図５に示すデータ構成の管理テーブル３１Ｂとすることで、管理テーブル３１Ａ（図４参照）と、ページテーブルのキャッシュとして機能するＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）と、を統合して管理することができる。すなわち、処理回路１２は、論理アドレスを検索キーとして用いることで、ＴＬＢの有する物理アドレスと、第２領域の各々のアクセス管理情報と、の双方を検索することが可能となる。このため、管理テーブル３１Ｂを用いることで、論理アドレスによって表されるページ番号を検索キーとしてエントリＥを検索する、連想記憶のためのハードウェアを提供することが可能となる。なお、管理テーブル３１ＢにおけるエントリＥは、論理アドレスと、物理アドレスと、アクセス管理情報と、を１対１対１で対応づけたものである。
【００４８】
図１に戻り説明を続ける。管理部２２は、更新部２４と、予測部２６と、転送部２８と、管理情報記憶部３０と、を有する。
【００４９】
管理情報記憶部３０は、管理テーブル３１Ａまたは管理テーブル３１Ｂを記憶する。すなわち、管理情報記憶部３０は、本発明の管理部の一例である。なお、本実施の形態では、管理テーブル３１として、管理テーブル３１Ａ（図４参照）を用いる場合を、一例として説明する。
【００５０】
更新部２４は、処理回路１２からメモリアクセス要求を受付けたときに、管理テーブル３１Ａを更新する。詳細には、更新部２４は、管理テーブル３１Ａにおける、メモリアクセス要求に示されるアクセス対象の第１領域を示すページ番号に対応する、該メモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新する。なお、管理テーブル３１Ａにおけるアクセス情報の初期値はアクセス未“０”であり、更新部２４によってアクセス済“１”に更新される。
【００５１】
具体的には、処理回路１２から受付けたメモリアクセス要求に示されるアクセス対象のデータが、キャッシュメモリ１６に格納されていなかったと仮定する。この場合、アクセス制御部２０が、該メモリアクセス要求に基づいて記憶部１４へアクセスする。すると、更新部２４は、アクセス制御部２０から該メモリアクセス要求を受付ける。
【００５２】
そして、更新部２４は、受付けたメモリアクセス要求に基づいて、処理回路１２によってアクセスされた第２領域のアクセス情報を、アクセス未“０”からアクセス済“１”に更新する。
【００５３】
なお、更新部２４は、メモリアクセス要求が記憶部１４へのデータ書込みを示す場合にのみ、処理回路１２によってアクセスされた第２領域のアクセス情報を、アクセス未“０”からアクセス済“１”に更新してもよい。また、更新部２４は、メモリアクセス要求が記憶部１４からのデータ読み出しを示す場合にのみ、処理回路１２によってアクセスされた第２領域のアクセス情報を、アクセス未“０”からアクセス済“１”に更新してもよい。また、更新部２４は、メモリアクセス要求が記憶部１４へのデータ書込みまたは記憶部１４からのデータ読み出しを示す場合に、処理回路１２によってアクセスされた第２領域のアクセス情報を、アクセス未“０”からアクセス済“１”に更新してもよい。
【００５４】
このように、更新部２４は、処理回路１２によって記憶部１４からデータの読み出しや、データの書込みなどのアクセスが実行されるごとに、管理テーブル３１Ａのアクセス情報を更新する。
【００５５】
このため、管理テーブル３１Ａのアクセス管理情報には、ページ番号によって識別される第１領域内の第２領域に対して、処理回路１２がどのようなパターンのメモリアクセス要求を発行したかが示されることとなる。
【００５６】
なお、メモリアクセス要求に示される第１領域の論理アドレスによって示されるページ番号が、管理テーブル３１Ａに存在しない場合がある。すなわち、メモリアクセス要求に示される、アクセス対象の第１領域のエントリＥが、管理テーブル３１Ａに存在しない場合がある。
【００５７】
この場合、更新部２４は、新たなエントリＥを作成し、管理テーブル３１Ａに登録する必要がある。ここで、管理テーブル３１Ａに登録されるエントリの数には、上限がある。このため、管理テーブル３１Ａに空のエントリＥが無い場合には、更新部２４は、管理テーブル３１Ａに登録されている何れかのエントリＥを解放し、新たなエントリＥを作成すればよい。
【００５８】
解放対象のエントリＥの特定方法には、公知の方法を用いればよい。例えば、更新部２４は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）などのアルゴリズムを用いて、解放対象のエントリＥを特定することが好ましい。この方法を用いることで、更新部２４は、最も使われていないエントリや、長期間使われていないエントリＥや、参照頻度の低いエントリＥを、解放対象のエントリＥとして特定することができる。
【００５９】
そして、更新部２４は、新たに作成したエントリＥに、受付けたメモリアクセス要求に示される第１領域のページ番号を登録する。そして、更新部２４は、該エントリＥにおける、ページ番号に対応するアクセス管理情報における全ての第２領域のアクセス情報として、アクセス未“０”を登録する。そして、更新部２４は、新たに作成したエントリＥにおける、メモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新すればよい。なお、以下では、新たに作成したエントリＥを、単に、新エントリＥと称して説明する場合がある。
【００６０】
予測部２６は、管理テーブル３１Ａのアクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する。将来アクセスする第２領域、とは、現在より未来（現在より後）のタイミングにおいて、処理回路１２がアクセスすると予測される第２領域を示す。
【００６１】
そして、予測部２６は、管理テーブル３１Ａにおける、将来アクセスすると予測した第２領域のアクセス情報を、アクセス済“１”に更新する。
【００６２】
なお、予測部２６による予測のタイミングは限定されない。
【００６３】
例えば、予測部２６は、更新部２４によって管理テーブル３１Ａにおける第２領域のアクセス情報がアクセス済“１”に更新されるごとに、将来アクセスする第２領域を予測する。この場合、例えば、予測部２６は、アクセス情報を更新された第２領域を含む第１領域のページ番号に対応するアクセス管理情報に基づいて、該第１領域内の、アクセス未“０”を示す第２領域の内の何れかを、将来アクセスする第２領域として予測する。
【００６４】
また、例えば、予測部２６は、所定期間ごとに、処理回路１２が将来アクセスする第２領域を予測してもよい。
【００６５】
この場合、予測部２６は、所定期間ごとに、管理テーブル３１Ａに規定されているページ番号の各々によって識別される第１領域の各々に含まれる、第２領域のアクセス情報に基づいて、アクセス未“０”を示す第２領域の内の何れかを、将来アクセスする第２領域として予測すればよい。
【００６６】
また、予測部２６は、更新部２４によって管理テーブル３１Ａにおけるアクセス情報がアクセス済“１”に更新されるごと、および所定期間ごと、の双方のタイミングで、将来アクセスする第２領域を予測してもよい。
【００６７】
予測部２６による予測について、具体的に説明する。
【００６８】
例えば、予測部２６は、管理テーブル３１Ａにおける、アクセス情報によって示されるパターンに応じて、処理回路１２が将来アクセスする第２領域を予測する。
【００６９】
アクセス情報によって示されるパターンは、処理回路１２による記憶部１４へのアクセスパターンを示す。詳細には、パターンは、アクセス済“１”を示すアクセス情報を規定された１または複数の第２領域の、記憶部１４における位置関係によって表される。例えば、アクセス情報によって示されるパターンは、アクセス済“１”を示すアクセス情報の規則性を示す。詳細には、アクセス情報によって示されるパターンは、アクセス済“１”を示すアクセス情報の配置の連続性および配置間隔の少なくとも一方によって表される。ただし、これに限定されるわけではない。
【００７０】
例えば、更新部２４によって管理テーブル３１Ａにおける第２領域のアクセス情報が更新されるごとに予測を行う場合には、予測部２６は、アクセス情報によって示されるパターンを用いて、以下の方法で予測を行う。
【００７１】
例えば、予測部２６は、管理テーブル３１Ａのアクセス管理情報における、更新部２４によって直前に更新されたアクセス情報を含む、複数のアクセス情報によって示されるパターンに応じて、処理回路１２が将来アクセスする第２領域を予測する。
【００７２】
図６および図７は、将来アクセスする第２領域の予測の一例の説明図である。
【００７３】
図６に示すように、例えば、エントリＥ１にページ番号を規定された第１領域内の、先頭アドレスから３番目の第２領域Ｃ３のアクセス情報が、更新部２４によって更新されたと仮定する。このとき、先頭の第２領域Ｃ１から直前に更新された第２領域Ｃ３に向かって、アクセス情報が連続してアクセス済“１”であったと仮定する。
【００７４】
この場合、予測部２６は、先頭の第２領域Ｃ１から直前に更新された第２領域Ｃ３に向かって、アクセス済“１”を連続して配列したパターンを特定する。そして、予測部２６は、特定したパターンと同様のパターンが、該第２領域Ｃ３以降の第２領域のアドレス情報にも示されると予測する。すなわち、予測部２６は、第２領域Ｃ３に連続する他の第２領域（第２領域Ｃ４〜第２領域Ｃ１６）に、特定したパターンと同じ間隔でアクセス済“１”が連続すると予測する。このため、予測部２６は、エントリＥ１における、第２領域Ｃ４〜第２領域Ｃ１６を、処理回路１２が将来アクセスする第２領域として予測する。
【００７５】
そして、予測部２６は、予測した第２領域のアクセス情報をアクセス済“１”に更新する。予測後のエントリＥ’のアクセス管理情報は、例えば、図６に示す状態となる（図６のエントリＥ１’参照）。
【００７６】
なお、図６には、予測部２６が、エントリＥ１における、直前に更新された第２領域Ｃ３の後に連続する全ての第２領域（第２領域Ｃ４〜第２領域Ｃ１６）を、将来アクセスされる第２領域として予測する場合を示した。
【００７７】
しかし、予測部２６が予測する第２領域の数は、限定されない。例えば、予測部２６は、更新部２４によって直前に更新された第２領域Ｃ３に隣接する１つの第２領域Ｃ４のみを、処理回路１２が将来アクセスする第２領域として予測してもよい。また、予測部２６は、該第２領域Ｃ３に隣接する所定数の第２領域（例えば、第２領域Ｃ４〜第２領域Ｃ５）を、処理回路１２が将来アクセスする第２領域として予測してもよい。また、予測部２６は、複数の第１領域に渡って、処理回路１２が将来アクセスする第２領域を予測してもよい。
【００７８】
また、図７に示すように、管理テーブル３１ＡのエントリＥＸにページ番号を規定された第１領域内の、先頭アドレスから７番目の第２領域Ｃ７のアクセス情報が、更新部２４によって更新されたと仮定する。このとき、先頭の第２領域Ｃ１から直前に更新された第２領域Ｃ７に向かって、アクセス情報が２つおきにアクセス済“１”であったと仮定する。
【００７９】
この場合、予測部２６は、先頭の第２領域Ｃ１から直前に更新された第２領域Ｃ７に向かって、アクセス済“１”を２つの第２領域ごとに配置したパターンを特定する。そして、予測部２６は、特定したパターンと同様のパターンが、該第２領域Ｃ７以降の第２領域のアドレス情報にも示されると予測する。すなわち、予測部２６は、第２領域Ｃ７の後に連続する他の第２領域（第２領域Ｃ８〜第２領域Ｃ１６）に、特定したパターンと同じ間隔で、２つの第２領域ごとにアクセス済“１”が配置されると予測する。このため、この場合、予測部２６は、エントリＥＸにおける、第２領域Ｃ１０、第２領域Ｃ１３、および第２領域Ｃ１６を、将来アクセスする第２領域として予測する。
【００８０】
そして、予測部２６は、予測した第２領域のアクセス情報をアクセス済“１”に更新する。予測後のエントリＥ’のアクセス管理情報は、例えば、図７に示す状態となる（図７のエントリＥＸ’参照）。
【００８１】
また、例えば、予測部２６は、アクセス管理情報における、一定期間に更新されたアクセス情報によって示されるパターンに応じて、処理回路１２が将来アクセスする第２領域を予測してもよい。一定期間とは、更新部２４がアクセス情報を更新したタイミングを基準とし、該基準のタイミングから所定の時間遡ったタイミングまでの期間である。この一定期間は、予め定めればよい。
【００８２】
図８および図９は、将来アクセスする第２領域の予測の一例の説明図である。
【００８３】
図８に示すように、例えば、エントリＥ１にページ番号を規定された第１領域内の、先頭アドレスから３番目の第２領域Ｃ３のアクセス情報が、更新部２４によって更新されたと仮定する。このとき、この第２領域Ｃ３の更新タイミングから遡った一定期間Ｔ内に、先頭の第２領域Ｃ１と次の第２領域Ｃ２が、アクセス済“１”に更新されていたと仮定する。
【００８４】
この場合、予測部２６は、直前の一定期間Ｔ内に更新されたアクセス情報によって表されるパターンとして、アクセス済“１”を連続して配列したパターンを特定する。そして、予測部２６は、特定したパターンと同様のパターンが、該第２領域Ｃ４以降の第２領域のアドレス情報にも示されると予測する。すなわち、予測部２６は、第２領域Ｃ３に連続する他の第２領域（第２領域Ｃ４〜第２領域Ｃ１６）に、特定したパターンと同じ間隔でアクセス済“１”が連続すると予測する。このため、予測部２６は、エントリＥ１における、第２領域Ｃ４〜第２領域Ｃ１６を、将来アクセスする第２領域として予測する。
【００８５】
そして、予測部２６は、予測した第２領域のアクセス情報をアクセス済“１”に更新する。予測後のエントリＥ’のアクセス管理情報は、例えば、図８に示す状態となる（図８のエントリＥ１’参照）。
【００８６】
なお、予測部２６は、一定期間に更新されたアクセス情報が無い場合には、予測を行わなくてもよい。
【００８７】
例えば、図９に示すように、例えば、エントリＥＹにページ番号を規定された第１領域内の、先頭アドレスから３番目の第２領域Ｃ３のアクセス情報が、更新部２４によって更新されたと仮定する。このとき、この第２領域Ｃ３の更新タイミングから遡った一定期間Ｔではなく、該一定期間Ｔより前の（過去の）タイミングの期間Ｔ’に、先頭の第２領域Ｃ１と次の第２領域Ｃ２が、アクセス済“１”に更新されていたと仮定する。
【００８８】
この場合、予測部２６は、第２領域Ｃ１と第２領域Ｃ２への処理回路１２によるアクセスと、今回の第２領域Ｃ３へのアクセスと、を別の事象としてとらえる。そして、予測部２６は、該エントリＥＹの第２領域Ｃ４以降については、この時点では、将来アクセスする第２領域としての予測を行わない。このため、この場合、予測後のエントリＥＹ’のアクセス管理情報は、図９に示すように、予測前のエントリＥＹと同じ内容となる。
【００８９】
一方、所定期間ごとに予測を行う場合には、予測部２６は、アクセス情報によって示されるパターンを用いて、以下の方法で予測を行えばよい。
【００９０】
例えば、予測部２６は、管理テーブル３１Ａにおける、一定期間内にアクセス済“１”に更新された第２領域の数に応じて、該数と一致または該数に近い数の第２領域を、将来アクセスする第２領域として予測する。
【００９１】
ここで、予測部２６は、管理テーブル３１Ａにおけるアクセス管理情報に対して、複数の一定期間を特定し、特定した一定期間ごとに、該一定期間のアクセス情報によって示されるパターンを用いて、将来アクセスする第２領域を予測してもよい。
【００９２】
例えば、予測部２６は、管理テーブル３１Ａのアクセス管理情報における、第１期間に更新されたアクセス情報によって示されるパターンを、該第１期間より前のタイミングの第２期間に更新されたアクセス情報によって示されるパターンに対して優先して用いて、処理回路１２が将来アクセスする第２領域を予測する。
【００９３】
また、予測部２６は、第１期間および第２期間の内、単位時間内に、より多くのアクセス情報をアクセス済“１”に更新された期間を特定する。そして、予測部２６は、特定した期間（第１期間または第２期間）のアクセス情報によって示されるパターンを優先して用いて、将来アクセスする第２領域を予測してもよい。
【００９４】
なお、優先して用いる、とは、予測、または、予測および予測した第２領域内のデータの他の記憶部１４への転送、を先に実行することを意味する。また、優先して用いる、とは、優先度の高い方のみを予測し、優先度の低い方を予測しないことを意味してもよい。また、優先して用いる、とは、優先度の高い方のみを予測およびデータ転送し、優先度の低い方を予測およびデータ転送しないことを意味してもよい。なお、予測した第２領域内のデータの転送は、後述する転送部２８によって行われる（詳細後述）。
【００９５】
図１０〜図１２を用いて具体的に説明する。図１０〜図１２は、将来アクセスする第２領域の予測の一例の説明図である。
【００９６】
図１０に示すように、例えば、管理テーブル３１ＡのエントリＥ１にページ番号を規定された第１領域内の、第２領域Ｃ１〜第２領域Ｃ３のアクセス情報が、第１期間Ｔ１内にアクセス済“１”に更新されたと仮定する。なお、これらの第２領域Ｃ１〜第２領域Ｃ３の各々のアクセス情報がアクセス済“１”に更新されたタイミングは、第１期間Ｔ１内の、タイミングｔ３〜ｔ５であったと仮定する。
【００９７】
一方、図１１に示すように、管理テーブル３１ＡのエントリＥＺにページ番号を規定された第１領域内の、第２領域Ｃ１〜第２領域Ｃ３のアクセス情報が、第２期間Ｔ２内にアクセス済“１”に更新されたと仮定する。なお、これらの第２領域Ｃ１〜第２領域Ｃ３の各々のアクセス情報がアクセス済“１”に更新されたタイミングは、第２期間Ｔ２内の、タイミングｔ０〜ｔ２であったと仮定する。
【００９８】
なお、これらのタイミングｔ０〜ｔ５は、図１２に示す時系列によって表される。すなち、タイミングｔ０が最も古く、タイミングｔ５に向かって、現在のタイミングＴ０に近くなる。また、タイミングｔ０〜ｔ２によって表される第２期間は、タイミングｔ３〜ｔ５によって表される第１期間より長い。このため、第１期間Ｔ１における単位時間あたりのアクセス情報の更新数は、第２期間Ｔ２より多い。また、第２期間Ｔ２は、第１期間Ｔ１より前のタイミングである。
【００９９】
この場合、まず、予測部２６は、管理テーブル３１Ａのアクセス管理情報における、第１期間Ｔ１および第２期間Ｔ２の各々について、各々の期間に更新されたアクセス情報によって示されるパターンを特定する。そして、予測部２６は、第１期間Ｔ１のアクセス情報によって示されるパターンを、第２期間Ｔ２のアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第２領域を予測する。
【０１００】
詳細には、図１０に示すように、予測部２６は、エントリＥ１における、第１期間Ｔ１に更新された第２領域Ｃ１〜第２領域Ｃ３のアクセス情報によって示されるパターンに応じて、第２領域Ｃ３に隣接する３つの第２領域Ｃ４〜第２領域Ｃ６を、将来アクセスする第２領域として予測する。
【０１０１】
そして、予測部２６は、予測した第２領域のアクセス情報をアクセス済“１”に更新する。予測後のエントリＥ１’のアクセス管理情報は、図１０に示す状態となる（図１０のエントリＥ１’参照）。
【０１０２】
次に、図１１に示すように、予測部２６は、エントリＥＺにおける、第２期間Ｔ２に更新された第２領域Ｃ１〜第２領域Ｃ３のアクセス情報によって示されるパターンに応じて、第２領域Ｃ３に隣接する第２領域Ｃ４を、将来アクセスする第２領域として予測する。
【０１０３】
そして、予測部２６は、予測した第２領域のアクセス情報をアクセス済“１”に更新する。予測後のエントリＥＺ’のアクセス管理情報は、図１１に示す状態となる（図１１のエントリＥＺ’参照）。
【０１０４】
なお、優先度の低い第２期間Ｔ２のアクセス情報について、予測部２６は、予測に用いるパターンとして用いなくてもよい。この場合、予測部２６は、図１１に示すエントリＥＺについて、将来アクセスする第２領域を予測しなくてもよい。
【０１０５】
また、例えば、予測部２６は、管理テーブル３１Ａに示される複数のページ番号の各々によって識別される第１領域の内、処理回路１２によるアクセス速度が第１の速度未満の種類の記憶部１４にデータを記憶されている第１領域内の第２領域について、第１の速度以上のアクセス速度の種類の記憶部１４にデータを記憶されている第１領域に対して優先して、将来アクセスする第２領域を予測してもよい。
【０１０６】
よりアクセス速度の遅い記憶部１４に記憶されている第２領域内のデータを、アクセス速度の速い記憶部１４に記憶されている第２領域内のデータに対して優先して、処理回路１２がアクセスする前に予測（または予測および転送）を行うことで、処理回路１２によるストール時間の、より高い削減効果が得られる。
【０１０７】
第１の速度は、予め定めればよい。本実施の形態では、第１記憶部１４Ａのアクセス速度が第１の速度以上であり、第２記憶部１４Ｂのアクセス速度が第１の速度未満であるものとして説明する。
【０１０８】
例えば、予測部２６は、第２記憶部１４Ｂにデータを記憶されている第１領域内の第２領域について、第１記憶部１４Ａにデータを記憶されている第１領域に対して優先して、将来アクセスする第２領域を予測すればよい。
【０１０９】
図１３〜図１５は、将来アクセスする第２領域の予測の一例の説明図である。
【０１１０】
図１３に示すように、例えば、管理テーブル３１ＡのエントリＥ１にページ番号を規定された第１領域内のデータが、第２記憶部１４Ｂに記憶されていると仮定する。また、図１４に示すように、管理テーブル３１ＡのエントリＥＺにページ番号を規定された第１領域内のデータが、第１記憶部１４Ａに記憶されていると仮定する。
【０１１１】
この場合、図１３に示すように、予測部２６は、第２記憶部１４Ｂにデータを記憶されている第１領域のページ番号を規定したエントリＥ１のアクセス管理情報を用いて、該エントリＥ１の第２領域Ｃ４を将来アクセスする第２領域として予測する（図１３のエントリＥ１’参照）。なお、アクセス管理情報から、将来アクセスする第２領域を予測する方法は、上記と同様である。
【０１１２】
次に、図１４に示すように、予測部２６は、第１記憶部１４Ａにデータを記憶されている第１領域のページ番号を規定したエントリＥＺのアクセス管理情報を用いて、該エントリＥＺの第２領域を、将来アクセスする第２領域として予測する。なお、予測部２６は、優先度の低い第１記憶部１４Ａにデータを記憶されている第１領域を規定したエントリＥＺについて、将来アクセスする第２領域の予測を行わなくてもよい。この場合、図１４に示すように、予測後のエントリＥＺ’は、予測前のエントリＥＺと同じ内容となる。
【０１１３】
なお、予測部２６が、データの記憶されている記憶部１４に応じた優先度に基づいて、将来アクセスする第２領域を予測する場合には、管理テーブル３１Ｂ（図５参照）を管理テーブル３１として用いることが好ましい。
【０１１４】
図１５は、管理テーブル３１Ｂを用いた予測の説明図である。この場合、予測部２６は、管理テーブル３１Ｂから、第２記憶部１４Ｂの物理アドレスを示すエントリＥ（エントリＥａ、エントリＥｂ、エントリＥｃ、エントリＥｄ）を容易に検索することができる。このため、予測部２６は、第２記憶部１４Ｂにデータを記憶されている第１領域のページ番号を規定したエントリＥを容易に特定し、将来アクセスする第２領域の予測に用いることができる。
【０１１５】
図１に戻り説明を続ける。次に、転送部２８について説明する。転送部２８は、予測部２６が予測した第２領域内のデータを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４へ転送する。なお、本実施の形態では、“転送”とは、コピーを意味してもよいし、元データを削除される移動を意味してもよい。
【０１１６】
例えば、将来アクセスすると予測された第２領域内のデータが、第１記憶部１４Ａに記憶されていると仮定する。この場合、転送部２８は、第１記憶部１４Ａに記憶されている該第２領域内のデータを、キャッシュメモリ１６へ転送する。
【０１１７】
また、例えば、将来アクセスすると予測された第２領域内のデータが、第２記憶部１４Ｂに記憶されていると仮定する。この場合、転送部２８は、第２記憶部１４Ｂに記憶されている該第２領域内のデータを、第１記憶部１４Ａまたはキャッシュメモリ１６へ転送する。
【０１１８】
なお、第２記憶部１４Ｂから第１記憶部１４Ａへのデータの転送の基本単位は、ページ（すなわち、第１領域の単位）である。このため、転送部２８は、転送先が第１記憶部１４Ａの場合、該第２領域内データ（キャッシュライン）を含む第１領域（ページ）のデータを第１記憶部１４Ａへ転送する。
【０１１９】
一方、第２記憶部１４Ｂまたは第１記憶部１４Ａからキャッシュメモリ１６へのデータ転送の基本単位は、キャッシュライン単位（すなわち、第２領域の単位）である。このため、転送部２８は、転送先がキャッシュメモリ１６の場合、該第２領域のデータをキャッシュライン単位でキャッシュメモリ１６へ転送する。
【０１２０】
転送部２８が、予測された第２領域内のデータを転送するタイミングは、限定されない。例えば、転送部２８は、予測部２６によって新たな第２領域が予測されるとごとに、該第２領域内のデータを、よりアクセス速度の速い記憶部１４またはキャッシュメモリ１６へ転送する。
【０１２１】
また、転送部２８は、所定時間ごとや、予測部２６が最後に予測してから所定時間経過した後の所定のタイミングで、予測された第２領域内のデータを、よりアクセス速度の速い記憶部１４またはキャッシュメモリ１６へ転送してもよい。例えば、転送部２８は、処理回路１２による記憶部１４へのアクセスが少ない期間に、データの転送を行ってもよい。
【０１２２】
そして、転送部２８は、第２記憶部１４Ｂから第１記憶部１４Ａへページ単位でデータを転送させた場合、ページテーブルにおける、転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４における位置を示す物理アドレスに更新する。このため、処理回路１２は、該データにアクセスするときに、転送先の記憶部１４に直接アクセスすることが可能となる。なお、ページテーブルの更新は、予測部２６が行ってもよい。
【０１２３】
次に、本実施の形態の情報処理装置１０が実行する情報処理の手順の一例を説明する。図１６は、情報処理装置１０が実行する情報処理の手順の一例を示すフローチャートである。
【０１２４】
まず、更新部２４が、処理回路１２からアクセス制御部２０を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る（ステップＳ１００）。
【０１２５】
次に、更新部２４が、管理テーブル３１Ａの、ステップＳ１００で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリＥにおける、ステップＳ１００で受付けたメモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ１０２）。
【０１２６】
次に、予測部２６が、管理テーブル３１Ａのアクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する（ステップＳ１０４）。
【０１２７】
そして、予測部２６は、管理テーブル３１Ａにおける、ステップＳ１０４で予測した第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ１０６）。
【０１２８】
次に、転送部２８が、ステップＳ１０４で予測した第２領域内のデータを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４またはキャッシュメモリ１６へ転送する（ステップＳ１０８）。
【０１２９】
次に、転送部２８は、第２記憶部から第１記憶部への転送の場合は、ページテーブルにおける、ステップＳ１０８で転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４の格納先を示す物理アドレスに更新する（ステップＳ１１０）。そして、本ルーチンを終了する。
【０１３０】
なお、上述したように、予測部２６が、第１期間Ｔ１に更新されたアクセス情報によって示されるパターンを、該第１期間Ｔ１より前のタイミングである第２期間Ｔ２に更新されたアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第２領域を予測する場合がある。
【０１３１】
また、予測部２６が、アクセス速度が第１の速度未満の種類の第２記憶部１４Ｂにデータを記憶されている第２領域について、第１の速度以上のアクセス速度の第１記憶部１４Ａにデータを記憶されている第２領域に優先して、将来アクセスする第２領域を予測する場合がある。
【０１３２】
これらの場合、情報処理装置１０では、上述したように、予測部２６による予測のみを優先して行ってもよいし、予測部２６による予測および転送部２８による転送を、優先して行ってもよい。
【０１３３】
予測部２６による予測および転送部２８による転送を優先して行う場合には、例えば、予測部２６が優先して予測した第２領域を、優先度の低い第２領域より先に、よりアクセス速度の速い記憶部１４へ転送する。そして、次に、予測部２６が、優先度の低い第２領域を予測したときに、該予測した第２領域のデータをアクセス速度の速い記憶部１４へ転送すればよい。
【０１３４】
このとき、転送先がキャッシュメモリ１６である場合には、転送部２８は、キャッシュメモリ１６における、よりアクセス速度の速い上位の階層に、より優先度の高い第２領域のデータを転送することが好ましい。
【０１３５】
以上説明したように、本実施の形態の管理装置１８は、処理回路１２による複数種類の記憶部１４に対するアクセスを管理する。記憶部１４は、複数の第１領域を含み、第１領域は、複数の第２領域を含む。管理装置１８は、管理部（管理情報記憶部３０）と、予測部２６と、を備える。管理部（管理情報記憶部３０）は、管理テーブル３１を管理する。管理テーブル３１は、第１領域の識別情報と、第１領域に含まれる複数の第２領域の各々ごとに、第２領域が処理回路１２によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部２６は、アクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する。
【０１３６】
このように、本実施の形態の管理装置１８では、複数種類の記憶部１４の各々について、第１領域より細かい単位である第２領域ごとに、処理回路１２によってアクセス済であるか否かを示すアクセス情報を管理する。このため、複数種類の記憶部１４の各々について、第１領域内の何れの第２領域に処理回路１２によるアクセスがなされたか、を容易に管理することができる。
【０１３７】
そして、本実施の形態の管理装置１８では、管理テーブル３１における、第２領域の各々のアクセス情報を規定したアクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する。このため、本実施の形態の管理装置１８では、処理回路１２による第２領域へのアクセスのパターンに応じて、処理回路１２が将来アクセスする第２領域を予測することができる。
【０１３８】
従って、管理装置１８は、処理回路１２が将来アクセスするデータを高精度に予測することができる。
【０１３９】
また、本実施の形態では、転送部２８が、予測部２６によって予測された第２領域内のデータを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４へ転送する。
【０１４０】
このため、本実施の形態の管理装置１８では、処理回路１２によってアクセスされる前に、将来アクセスされると予測した第２領域内のデータを、該データの記憶されている記憶部１４（例えば第２記憶部１４Ｂ）よりアクセス速度の速い記憶部１４（例えば、第１記憶部１４Ａまたはキャッシュメモリ１６）に転送することができる。
【０１４１】
このため、本実施の形態の管理装置１８では、上記効果に加えて、処理回路１２によるアクセス速度の向上や、処理時間の短縮、処理性能の向上、および、処理時間の短縮による低消費電力化を図ることができる。
【０１４２】
（変形例１）
なお、予測部２６は、管理テーブル３１のアクセス管理情報に基づいて、将来アクセスする第２領域を予測すればよく、予測部２６による予測方法は、上記実施の形態で挙げた方法に限定されない。
【０１４３】
例えば、予測部２６は、論理アドレス（ページ番号）が隣接する複数の第１領域の各々内の第２領域を、将来アクセスする第２領域として予測してもよい。
【０１４４】
ここで、将来アクセスすると予測した第２領域を含む第１領域のページ番号が、管理テーブル３１に未登録の場合がある。この場合、予測部２６は、管理テーブル３１に、将来アクセスすると予測した第２領域を含む第１領域のページ番号を規定した新たなエントリＥを追加すればよい。
【０１４５】
図１７および図１８は、第２領域の予測の一例の説明図である。なお、本変形例では、管理テーブル３１として、管理テーブル３１Ｂ（図５参照）を用いる場合を説明する。
【０１４６】
例えば、図１７に示すように、エントリＥＺにページ番号を規定された第１領域内の、先頭アドレスから１６番目の第２領域Ｃ１６のアクセス情報が、更新部２４によって更新されたと仮定する。
【０１４７】
そして、図１８に示すように、予測部２６が、該エントリＥｚに規定された第１領域のページ番号“０ｆ０６４３８１”に対して、次のページ番号“０ｆ０６４３８２”の第１領域内の第２領域Ｃ１を、将来アクセスする第２領域として予測したと仮定する。
【０１４８】
この場合、予測部２６は、新たなエントリＥＺ+１（以下、新エントリＥＺ+１と称する場合がある）を作成し、管理テーブル３１Ｂに登録する。ここで、管理テーブル３１Ｂに登録されるエントリの数には、上限がある。このため、管理テーブル３１Ｂに空のエントリＥが無い場合には、予測部２６は、管理テーブル３１Ｂに登録されている何れかのエントリＥを解放し、新エントリＥＺ+１を登録すればよい。エントリＥの解放は、更新部２４によるエントリＥの解放と同様の方法で行えばよい。
【０１４９】
そして、予測部２６は、管理テーブル３１Ｂにおける新エントリＥＺ+１に、将来アクセスすると予測した第２領域を含む第１領域の、ページ番号である論理アドレスを登録する。また、予測部２６は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリＥＺ+１に登録する。
【０１５０】
このように、管理テーブル３１Ａ（図４参照）と、ページテーブルのキャッシュとして機能するＴＬＢと、を統合して管理する管理テーブル３１Ｂ（図５参照）に、予測部２６が、新たに予測した第２領域の新エントリＺ+１を登録し、該新エントリＺ+１に論理アドレスおよび物理アドレスを登録する。
【０１５１】
このため、処理回路１２による該第２領域のデータへのアクセス時に、ＴＬＢとしての機能も有する管理テーブル３１Ｂに該当するエントリＥが存在しないことが回避され、ＴＬＢミスの発生を抑制することができる。
【０１５２】
次に、予測部２６は、新エントリＥＺ+１における、将来アクセスすると予測した第２領域Ｃ１のアクセス情報を、アクセス済“１”に更新する。
【０１５３】
すると、上記実施の形態と同様に、転送部２８が、予測部２６が予測した第２領域内のデータを、キャッシュメモリ１６へ転送する。また、転送部２８は、該データを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４（例えば、第１記憶部１４Ａ）へ転送してもよい。
【０１５４】
そして、転送部２８は、ページテーブルにおける、転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４の格納先を示す物理アドレスに更新する。このとき、転送先がキャッシュメモリ１６の場合には、ページテーブルの更新は不要である。
【０１５５】
次に、本変形例の情報処理装置１０が実行する情報処理の手順の一例を説明する。図１９は、本変形例の情報処理装置１０が実行する情報処理の手順の一例を示すフローチャートである。
【０１５６】
まず、更新部２４が、処理回路１２からアクセス制御部２０を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る（ステップＳ２００）。
【０１５７】
次に、更新部２４が、管理テーブル３１Ａの、ステップＳ２００で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリＥにおける、ステップＳ２００で受付けたメモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ２０２）。
【０１５８】
次に、予測部２６が、管理テーブル３１Ｂのアクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する（ステップＳ２０４）。
【０１５９】
次に、予測部２６は、ステップＳ２０６で予測した第２領域が、ステップＳ２００で取得したメモリアクセス要求に示されるアクセス対象の第１領域の、次のページ番号によって識別される第１領域内の第２領域であるか否かを判断する（ステップＳ２０６）。
【０１６０】
ステップＳ２０６で肯定判断すると（ステップＳ２０６：Ｙｅｓ）、ステップＳ２０８へ進む。
【０１６１】
ステップＳ２０８では、管理テーブル３１Ｂに、ステップＳ２０４で予測した第２領域を含む第１領域のページ番号を規定した、エントリＥが登録されているか否かを判断する（ステップＳ２０８）。登録されていないと判断した場合（ステップＳ２０８：Ｎｏ）、ステップＳ２１０へ進む。
【０１６２】
ステップＳ２１０では、予測部２６が、管理テーブル３１Ｂにおける、解放対象のエントリＥを特定し（ステップＳ２１０）、該エントリＥを解放する（ステップＳ２１２）。
【０１６３】
次に、予測部２６は、管理テーブル３１Ｂに、新エントリＥＺ+１を作成し、ステップＳ２０４で将来アクセスすると予測した第２領域を含む第１領域の論理アドレス（ページ番号）を登録する（ステップＳ２１４）。次に、予測部２６は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリＥＺ+１に登録する（ステップＳ２１６）。
【０１６４】
次に、予測部２６は、新エントリＥＺ+１における、ステップＳ２０６で将来アクセスすると予測した第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ２１８）。
【０１６５】
次に、転送部２８がステップＳ２０６で予測した第２領域内のデータを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４またはキャッシュメモリ１６へ転送する（ステップＳ２２０）。
【０１６６】
そして、転送部２８は、ページテーブルにおける、転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４の格納先を示す物理アドレスに更新する（ステップＳ２２２）。そして、本ルーチンを終了する。なお、ページテーブルの更新は、このタイミングでおこなう必要はなく、他のタイミングでおこなってよい。
【０１６７】
一方、ステップＳ２０６で否定判断した場合（ステップＳ２０６：Ｎｏ）、ステップＳ２２４へ進む。ステップＳ２０８で肯定判断した場合についても（ステップＳ２０８：Ｙｅｓ）、ステップＳ２２４へ進む。
【０１６８】
ステップＳ２２４では、予測部２６が、管理テーブル３１Ｂにおける、ステップＳ２０４で予測した第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ２２４）。
【０１６９】
次に、転送部２８が、ステップＳ２０６で予測した第２領域内のデータを、該データの記憶されている記憶部１４より処理回路１２によるアクセス速度の速い他の種類の記憶部１４またはキャッシュメモリ１６へ転送する（ステップＳ２２６）。
【０１７０】
次に、転送部２８は、ページテーブルにおける、ステップＳ２２６で転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４の格納先を示す物理アドレスに更新する（ステップＳ２２８）。そして、本ルーチンを終了する。
【０１７１】
以上説明したように、本変形例では、予測部２６は、将来アクセスすると予測した第２領域を含む第１領域のページ番号が、管理テーブル３１Ｂに未登録の場合、管理テーブル３１Ｂに、将来アクセスすると予測した第２領域を含む第１領域のページ番号を規定した新たなエントリＥを追加する。そして、予測部２６は、該新たなエントリＥに、論理アドレスおよび物理アドレスを登録する。
【０１７２】
このため、処理回路１２による該第２領域のデータへのアクセス時に、ＴＬＢとしての機能も有する管理テーブル３１Ｂに該当するエントリＥが存在しないことが回避され、ＴＬＢミスの発生を抑制することができる。
【０１７３】
従って、本変形例では、上記実施の形態の効果に加えて、処理回路１２のストール時間の短縮を図ることができ、アクセス速度の高速化を実現することができる。
【０１７４】
（変形例２）
なお、予測部２６は、予測対象の第１領域の論理アドレス（ページ番号）に対して、所定範囲内の論理アドレス（ページ番号）を示す他の第１領域の識別情報（ページ番号）に対応するアクセス管理情報に基づいて、予測対象の第１領域内について、処理回路１２が将来アクセスする第２領域を予測してもよい。
【０１７５】
予測対象の第１領域とは、処理回路１２によって将来アクセスされる第２領域を予測する対象の第１領域である。予測対象の第１領域は限定されない。例えば、予測対象の第１領域は、管理テーブル３１Ｂに新たに追加されたエントリＥにページ番号を規定された第１領域である。なお、予測対象の第１領域は、新たに追加されたエントリＥに限定されない。
【０１７６】
所定範囲内の論理アドレスとは、予測対象の第１領域に対して隣接するページの論理アドレスであってもよいし、予測対象の第１領域の論理アドレスに対して、予め定めた範囲内の論理アドレスであってもよい。予め定めた範囲内とは、ページ番号の差が所定値以下、などである。
【０１７７】
また、所定範囲内の論理アドレスを示す他の第１領域は、予測対象の第１領域内のデータと同じ記憶部１４にデータが記憶されており、且つ、予測対象の第１領域の論理アドレスに対して所定範囲の論理アドレスを示す、第１領域であってもよい。
【０１７８】
図２０および図２１は、将来アクセスする第２領域の予測の一例の説明図である。図２０および図２１には、新たに登録された新エントリＥｊにページ番号を規定された第１領域を、第２領域を予測する対象の第１領域として用いる場合を示した。
【０１７９】
図２０に示すように、例えば、更新部２４が、処理回路１２から取得したメモリアクセス要求に基づいて、ページ番号“０ｆ０６４３８ｃ”のエントリＥｊを管理テーブル３１Ｂに新たに登録したと仮定する。
【０１８０】
この場合、更新部２４は、上記実施の形態と同様に、新たなエントリＥｊに、メモリアクセス要求に示される論理アドレス（ページ番号）を登録する。また、更新部２４は、該論理アドレスに対応する物理アドレスをページテーブルから読み出し、エントリＥｊに登録する。図２０に示す例では、該物理アドレスが、第２記憶部１４Ｂの物理アドレスを示す場合を一例として説明する。
【０１８１】
また、更新部２４は、上記実施の形態と同様に、新たなエントリＥｊ（以下、新エントリＥｊと称する場合がある）における、メモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新する。
【０１８２】
管理テーブル３１Ｂに新エントリＥｊが登録されると、予測部２６は、新エントリＥｊの論理アドレスに対して、所定範囲内の論理アドレスを示す他のエントリＥを特定する。
【０１８３】
本変形例では、更新部２４が、新エントリＥｊと同じ記憶部１４（図２０では第２記憶部１４Ｂ）の物理アドレスを規定されたエントリＥｈ１とエントリＥｈ２を、特定したと仮定する。
【０１８４】
そして、予測部２６は、特定したこれらのエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス情報によって示されるパターンに応じて、新エントリＥｊの第１領域内に含まれる第２領域について、将来アクセスする第２領域を予測する。
【０１８５】
具体的には、予測部２６は、所定範囲内の論理アドレスを示す他のエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス管理情報が、所定条件を満たすか否かを判断する。
【０１８６】
所定条件は、予め定めればよい。例えば、予測部２６は、上記他のエントリＥ（エントリＥｈ１およびエントリＥｈ２）に、アクセス済“１”を示すアクセス情報を第１閾値以上の含むエントリＥが所定割合以上含まれる場合、所定条件を満たすと判断する。
【０１８７】
第１閾値および所定割合は、予め定めればよい。例えば、第１閾値が、“８”であったと仮定する。この場合、図２０に示すエントリＥｈ１とエントリＥｈ２の各々のアクセス管理情報には、アクセス済“１”のアクセス情報が８個以上含まれる。このため、この場合、予測部２６は、所定条件を満たすと判断する。
【０１８８】
そして、所定条件を満たすと判断した場合、予測部２６は、これらのエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス管理情報に規定されたアクセス情報によって示されるパターンから、新エントリＥｊの第２領域について、将来アクセスされる第２領域を予測する。この予測の方法は、上記実施の形態と同様である。
【０１８９】
そして、予測部２６は、上記実施の形態と同様に、新エントリＥｊにおける、予測した第２領域のアクセス情報をアクセス済“１”に更新する。このため、予測部２６によって更新された後の新エントリＥｊは、例えば、図２１に示すものとなる。例えば、新エントリＥｊにおける、第２領域Ｃ１のアクセス情報が更新部２４によってアクセス済“１”に更新され、第２領域Ｃ２〜Ｃ１６の少なくとも１つが、予測部２６によってアクセス済“１”に更新される。
【０１９０】
すると、本変形例では、予測部２６が所定条件を満たすと判断した場合、転送部２８は、予測対象の第１領域のデータをページ単位（該第１領域の単位）で第２記憶部１４Ｂから第１記憶部１４Ａへ転送する。
【０１９１】
すなわち、新エントリＥｊに示される第１領域内のデータが、第２記憶部１４Ｂに記憶されていたと仮定する。この場合、例えば、転送部２８は、第２記憶部１４Ｂから第１記憶部１４Ａへ、新エントリＥｊによって示される第１領域内のデータを、ページ単位で転送する。
【０１９２】
また、転送部２８は、新エントリＥｊにおける、予測部２６によって予測された将来アクセスされる第２領域のデータを、キャッシュライン単位で、キャッシュメモリ１６へ転送する。
【０１９３】
すなわち、本変形例では、予測部２６は、新エントリＥｊによって規定される第１領域が最初にアクセスされたときに、所定範囲内の論理アドレスを示すアクセス済の他のエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス管理情報が所定条件を満たす場合、新エントリＥｊについても所定回数以上アクセスがなされると予測する。そして、転送部２８は、該新エントリＥｊのデータを、ページ単位で第２記憶部１４Ｂから第１記憶部１４Ａへ転送する。また、併せて、転送部２８は、該新エントリＥｊにおける、予測部２６によって予測された将来アクセスされる第２領域のデータを、キャッシュライン単位で、キャッシュメモリ１６へ転送する。
【０１９４】
そして、転送部２８は、管理テーブル３１Ｂにおける、該新エントリＥｊに示される物理アドレスを、転送先の第１記憶部１４Ａを示す物理アドレスに更新する（図２１中、新エントリＥｊ’の物理アドレス参照）。また、転送部２８は、ページテーブルにおける、転送した第１領域の論理アドレスに対応する物理アドレスを、転送先の第１記憶部１４Ａの物理アドレスに更新する。
【０１９５】
なお、予測部２６が上記所定条件を満たさないと判断した場合、転送部２８は、将来アクセスすると予測した第２領域を含む第１領域のデータを、キャッシュライン単位（第２領域の単位）で、キャッシュメモリ１６へ転送すればよい。
【０１９６】
図２２は、本変形例におけるデータ転送の一例の説明図である。図２２に示すように、本変形例では、メモリアクセスローカリティが高いと予測されたエントリによって規定される第１領域（例えば、ページＡ）について、転送部２８は、該ページＡのデータをページ単位で第２記憶部１４Ｂから第１記憶部１４Ａへ転送する。また、転送部２８は、該ページＡにおける将来アクセスされると予測された第２領域のデータを、キャッシュライン単位でキャッシュメモリ１６へ転送する。
【０１９７】
一方、本変形例では、メモリアクセスローカリティが低いと予測されたエントリによって規定される第１領域（例えば、ページＢ）について、転送部２８は、該ページＢのデータをキャッシュライン単位で第２記憶部１４Ｂからキャッシュメモリ１６へ転送する。
【０１９８】
すなわち、本変形例では、第２記憶部１４Ｂ（ＳＣＭ）上にあるページＡとページＢについて、管理装置１８は、第１処理と第２処理を使い分けて実行する。言い換えると、管理装置１８は、第１処理と第２処理を混在して実行する。
【０１９９】
第１処理について説明する。第２記憶部１４Ｂ（ＳＣＭ）上にあるページＡとページＢの内、メモリアクセスローカリティの高いことが予想されるページＡは、第１記憶部１４Ａ（ＤＲＡＭ）へページ単位で転送される。そして、管理テーブル３１Ｂにおける、第１記憶部１４Ａ（ＤＲＡＭ）へ転送されたページＡのアクセス情報は、処理回路１２によるページＡへのキャッシュライン単位のアクセスにより、アクセス済を示すアクセス情報“１”に更新される。そして、予測部２６は、管理テーブル３１Ｂにおける、アクセス情報によって示されるパターンに応じて、処理回路１２が将来アクセスする第２領域（キャッシュライン）を予測する。そして、ページＡ内の将来アクセスされると予測されたキャッシュラインは、キャッシュライン単位でキャッシュメモリ１６へ転送される。この一連の処理を、第１処理と称する。
【０２００】
第２処理について説明する。管理テーブル３１Ｂにおける、上記で第１記憶部１４Ａ（ＤＲＡＭ）へ転送されず第２記憶部１４Ｂ（ＳＣＭ）に残っているメモリアクセスローカリティの低いページＢのアクセス情報は、処理回路１２によるページＢへのキャッシュライン単位のアクセスにより、アクセス済を示すアクセス情報“１”に更新される。そして、予測部２６は、管理テーブル３１Ｂにおける、アクセス情報によって示されるパターンに応じて、処理回路１２が将来アクセスする第２領域（キャッシュライン）を予測する。そして、ページＢ内の将来アクセスされると予測されたキャッシュラインは、キャッシュライン単位でキャッシュメモリ１６へ転送される。この一連の処理を、第２処理と称する。
【０２０１】
次に、本変形例の情報処理装置１０が実行する情報処理の手順の一例を説明する。図２３は、本変形例の情報処理装置１０が実行する情報処理の手順の一例を示すフローチャートである。
【０２０２】
まず、更新部２４が、処理回路１２からアクセス制御部２０を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る（ステップＳ３００）。
【０２０３】
次に、更新部２４は、ステップＳ３００で受付けたメモリアクセス要求に示される第１領域のアドレス情報によって示されるページ番号を含むエントリＥが、管理テーブル３１Ｂにあるか否かを判断する（ステップＳ３０２）。
【０２０４】
エントリＥが管理テーブル３１Ｂにない場合（ステップＳ３０２：Ｎｏ）、ステップＳ３０４へ進む。ステップＳ３０４では、更新部２４が、管理テーブル３０Ａにおける、解放対象のエントリを特定し、解放する（ステップＳ３０４）。そして、更新部２４は、新エントリＥｊを管理テーブル３１Ｂに登録する（ステップＳ３０６）。
【０２０５】
次に、予測部２６は、ステップＳ３００で受付けたメモリアクセス要求に示されるアクセス対象の第２領域を含む第１領域（すなわちページ）へのアクセスが、該第１領域に対する最初のアクセスであるか否かを判断する（ステップＰＳ３０８）。ステップＳ３０８で否定判断すると（ステップＳ３０８：Ｎｏ）、後述するステップＳ３２６へ進む。ステップＳ３０８で肯定判断すると（ステップＳ３０８：Ｙｅｓ）、ステップＳ３１０へ進む。
【０２０６】
次に、予測部２６が、新エントリＥｊの論理アドレスに対して、所定範囲内の論理アドレスを示す他のエントリＥ（エントリＥｈ１、エントリＥｈ２）を特定する（ステップＳ３１０）。
【０２０７】
次に、予測部２６は、ステップＳ３１０で特定したこれらのエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス管理情報が、所定条件を満たすか否かを判断する（ステップＳ３１２）。所定条件を満たさない場合（ステップＳ３１２：Ｎｏ）、後述するステップＳ３２６へ進む。
【０２０８】
所定条件を満たす場合（ステップＳ３１２：Ｙｅｓ）、ステップＳ３１４へ進む。ステップＳ３１４では、予測部２６は、ステップＳ３１０で特定したエントリＥ（エントリＥｈ１とエントリＥｈ２）のアクセス管理情報から、新エントリＥｊに示される第１領域内の第２領域について、処理回路１２によって将来アクセスされる第２領域を予測する（ステップＳ３１４）。
【０２０９】
そして、予測部２６は、新エントリＥｊにおける、ステップＳ３１４で予測した第２領域のアクセス情報をアクセス済“１”に更新する（ステップＳ３１６）。
【０２１０】
次に、転送部２８は、新エントリＥｊによって示される第１領域内のデータを、ページ単位で第１記憶部１４Ａへ転送する（ステップＳ３１８）。次に、転送部２８は、該第１領域内のデータにおける、ステップＳ３１４で将来アクセスされると予測された第２領域のデータを、キャッシュライン単位でキャッシュメモリ１６へ転送する（ステップＳ３２０）。
【０２１１】
次に、転送部２８は、管理テーブル３１Ｂおよびページテーブルを更新する（ステップＳ３２２）。詳細には、転送部２８は、管理テーブル３１Ｂにおける、該新エントリＥｊに示される物理アドレスを、ステップＳ３１８の転送先の記憶部１４（例えば、第１記憶部１４Ａ）を示す物理アドレスに更新する。また、転送部２８は、ページテーブルにおける、転送した第１領域の論理アドレスに対応する物理アドレスを、ステップＳ３１８の転送先の記憶部１４（例えば、第１記憶部１４Ａ）の物理アドレスに更新する。
【０２１２】
次に、更新部２４が、管理テーブル３１Ｂにおける、ステップＳ３００で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリＥにおける、ステップＳ３００で受付けたメモリアクセス要求に示されるアクセス対象の第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ３２６）。
【０２１３】
次に、予測部２６が、管理テーブル３１Ｂのアクセス管理情報に基づいて、処理回路１２が将来アクセスする第２領域を予測する（ステップＳ３２８）。
【０２１４】
そして、予測部２６は、管理テーブル３１Ｂにおける、ステップＳ３２８で予測した第２領域のアクセス情報を、アクセス済“１”に更新する（ステップＳ３３０）。
【０２１５】
次に、転送部２８が、ステップＳ３２８で予測した第２領域内のデータを、キャッシュメモリ１６へキャッシュライン単位で転送する（ステップＳ３３２）。すなわち、予測部２６が所定条件を満たさないと判断した場合、転送部２８は、処理回路１２が将来アクセスすると予測した第２領域のデータを、キャッシュライン単位で第２記憶部１４Ｂからキャッシュメモリ１６へ直接転送する。
【０２１６】
次に、転送部２８は、ページテーブルにおける、ステップＳ３３２で転送した第２領域の論理アドレスに対応する物理アドレスを、転送先の記憶部１４の格納先を示す物理アドレスに更新する（ステップＳ３３４）。そして、本ルーチンを終了する。
【０２１７】
以上説明したように、本変形例では、予測部２６は、予測対象の第１領域の論理アドレスに対して、所定範囲内の論理アドレスを示す他の第１領域の識別情報に対応するアクセス管理情報に基づいて、予測対象の第１領域内について、処理回路１２が将来アクセスする第２領域を予測する。
【０２１８】
ここで、所定範囲内の論理アドレスを示す第１領域間の、処理回路１２によるアクセス傾向は、近似する場合がある。特に、複数の第１領域にまたがる大きなデータが記憶部１４に記憶されている場合などには、このような傾向が生じる。
【０２１９】
このため、予測部２６が、本変形例の処理を行うことで、上記実施の形態の効果に加えて、より高精度に、処理回路１２が将来アクセスする第２領域を予測することができる。
【０２２０】
（変形例３）
図２４は、本変形例の情報処理装置１０Ａの一例を示す模式図である。図２４に示すように、情報処理装置１０Ａの処理回路１２Ａが、キャッシュメモリ１６および管理装置１８を備えた構成であってもよい。処理回路１２Ａは、キャッシュメモリ１６および管理装置１８を備えた点以外は、上記実施の形態の処理回路１２と同様である。
【０２２１】
（変形例４）
図２５は、本変形例の情報処理装置１０Ｂの一例を示す模式図である。図２５に示すように、管理装置１８Ａが、キャッシュメモリ１６、アクセス制御部２０、管理部２２、および記憶部１４を備えた構成であってもよい。
【０２２２】
以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形例は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２２３】
１０、１０Ａ、１０Ｂ  情報処理装置
１２、１２Ａ  処理回路
１４  記憶部
１６  キャッシュメモリ
１８、１８Ａ  管理装置
２２  管理部
２４  更新部
２８  転送部
３０  管理情報記憶部
【図１】
2019164497.tif 000003
【図２】
2019164497.tif 000004
【図３】
2019164497.tif 000005
【図４】
2019164497.tif 000006
【図５】
2019164497.tif 000007
【図６】
2019164497.tif 000008
【図７】
2019164497.tif 000009
【図８】
2019164497.tif 000010
【図９】
2019164497.tif 000011
【図１０】
2019164497.tif 000012
【図１１】
2019164497.tif 000013
【図１２】
2019164497.tif 000014
【図１３】
2019164497.tif 000015
【図１４】
2019164497.tif 000016
【図１５】
2019164497.tif 000017
【図１６】
2019164497.tif 000018
【図１７】
2019164497.tif 000019
【図１８】
2019164497.tif 000020
【図１９】
2019164497.tif 000021
【図２０】
2019164497.tif 000022
【図２１】
2019164497.tif 000023
【図２２】
2019164497.tif 000024
【図２３】
2019164497.tif 000025
【図２４】
2019164497.tif 000026
【図２５】
2019164497.tif 000027