JP6786541B2 - Management equipment, information processing equipment, management methods, and programs - Google Patents
Management equipment, information processing equipment, management methods, and programs Download PDFInfo
- Publication number
- JP6786541B2 JP6786541B2 JP2018051309A JP2018051309A JP6786541B2 JP 6786541 B2 JP6786541 B2 JP 6786541B2 JP 2018051309 A JP2018051309 A JP 2018051309A JP 2018051309 A JP2018051309 A JP 2018051309A JP 6786541 B2 JP6786541 B2 JP 6786541B2
- Authority
- JP
- Japan
- Prior art keywords
- region
- access
- processing circuit
- management
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明の実施形態は、管理装置、情報処理装置、管理方法、およびプログラムに関する。 Embodiments of the present invention relate to management devices, information processing devices, management methods, and programs.
MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive RAM)、PCM(Phase−Change Memory)などの各種のストレージクラスメモリ(SCM)が開発されている。SCMは、DRAM(Dynamic Random Access Memory)に比べてアクセス速度は遅いが、集積度が高いため大容量のメインメモリとして使用できる。計算機システムのメインメモリとして、従来のDRAMに加えてSCMを搭載するようになると、CPUがSCMをアクセスする際に、CPUのデータ到着待ち時間がDRAM使用時よりも長くなってしまい、アクセス速度が低下し、処理時間の増加を招く。 Various storage class memories (SCM) such as MRAM (Magnetoresistive Random Access Memory), ReRAM (Resistive RAM), and PCM (Phase-Change Memory) have been developed. Although the access speed of SCM is slower than that of DRAM (Dynamic Random Access Memory), it can be used as a large-capacity main memory because of its high degree of integration. When SCM is installed in addition to the conventional DRAM as the main memory of the computer system, when the CPU accesses the SCM, the data arrival waiting time of the CPU becomes longer than when the DRAM is used, and the access speed becomes faster. It decreases and causes an increase in processing time.
そこで、CPUなどの処理回路が将来アクセスするデータを予測し、アクセス前にCPUがより高速にアクセスできるメモリへ転送させデータ到着待ち時間を短縮し処理を高速化することが考えられる。しかし、従来では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。例えば、従来では、アクセス済であるか否かを示す情報を、ページ単位でページテーブルに記録する方法が開示されている。しかし、ページ内の何れの領域にアクセスがなされたかの管理がなされておらず、従来技術では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。 Therefore, it is conceivable that a processing circuit such as a CPU predicts data to be accessed in the future and transfers the data to a memory that the CPU can access at a higher speed before access to shorten the data arrival waiting time and speed up the processing. However, conventionally, it has been difficult to accurately predict the data that the processing circuit will access in the future. For example, conventionally, a method of recording information indicating whether or not an access has been made in a page table for each page has been disclosed. However, it is not possible to control which area on the page is accessed, and it is difficult to predict the data to be accessed by the processing circuit in the future with high accuracy by the conventional technique.
本発明が解決しようとする課題は、処理回路が将来アクセスするデータを高精度に予測することの可能な、管理装置、情報処理装置、管理方法、およびプログラムを提供することである。 An object to be solved by the present invention is to provide a management device, an information processing device, a management method, and a program capable of predicting data to be accessed in the future by a processing circuit with high accuracy.
実施形態の管理装置は、処理回路による複数種類の記憶部に対するアクセスを管理する。前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含む。管理装置は、管理部と、予測部と、を備える。管理部は、管理テーブルを管理する。管理テーブルは、前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部は、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する。 The management device of the embodiment manages access to a plurality of types of storage units by the processing circuit. The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions. The management device includes a management unit and a prediction unit. The management department manages the management table. The management table indicates the identification information of the first area and each of the plurality of second areas included in the first area, indicating whether or not the second area has been accessed by the processing circuit. It is a table in which access control information that defines information is associated with it. The prediction unit predicts the second region to be accessed in the future by the processing circuit based on the access management information.
以下に添付図面を参照して、本実施の形態の詳細を説明する。 The details of the present embodiment will be described below with reference to the accompanying drawings.
図1は、本実施の形態の情報処理装置10の構成の一例を示す模式図である。情報処理装置10は、処理回路12と、記憶部14と、キャッシュメモリ16と、管理装置18と、を備える。
FIG. 1 is a schematic diagram showing an example of the configuration of the
処理回路12とキャッシュメモリ16、キャッシュメモリ16と管理装置18、処理回路12と管理装置18、および管理装置18と記憶部14、の各々は、データや信号を授受可能に接続されている。
The processing circuit 12 and the
処理回路12は、1または複数のプロセッサを有する。プロセッサは、例えば、CPU(Central Processing Unit)である。プロセッサは、1または複数のCPUコアを含んでいてもよい。処理回路12は、プログラムの実行に応じて、記憶部14からのデータ読み出しや、記憶部14へのデータ書込みを行う。
The processing circuit 12 has one or more processors. The processor is, for example, a CPU (Central Processing Unit). The processor may include one or more CPU cores. The processing circuit 12 reads data from the
処理回路12および管理装置18は、記憶部14に記憶されているデータをキャッシュメモリ16に一時的に記憶し、処理に用いる。
The processing circuit 12 and the
記憶部14は、処理回路12による作業領域として用いられるメインメモリである。本実施の形態の情報処理装置10は、複数種類の記憶部14を備える。すなわち、本実施の形態の情報処理装置10は、複数種類の記憶部14を、メインメモリとして用いる。
The
複数種類の記憶部14は、処理回路12によるアクセス速度が互いに異なる。なお、以下では、処理回路12によるアクセス速度を、単にアクセス速度と称して説明する場合がある。
The access speeds of the plurality of types of
本実施の形態では、情報処理装置10は、アクセス速度の異なる複数種類の記憶部14として、第1記憶部14Aと、第2記憶部14Bと、を備える。なお、情報処理装置10は、3種類以上の記憶部14を備えた構成であってもよい。
In the present embodiment, the
第1記憶部14Aは、例えば、揮発性メモリである。具体的には、第1記憶部14Aは、DRAM(Dynamic Random Access Memory)である。なお、第1記憶部14Aは、高速アクセスの可能なMRAM(Magnetoresistive Random Access Memory)等の不揮発メモリであってもよい。
The
第2記憶部14Bは、第1記憶部14Aに比べてアクセス速度が遅い。また、第2記憶部14Bの容量は、第1記憶部14Aの容量と同じか大きい。
The access speed of the
第2記憶部14Bは、例えば、不揮発性メモリである。具体的には、第2記憶部14Bは、DRAMより集積度が高く大容量な大容量高速不揮発メモリ(Non−volatile Memory)である。
The
更に具体的には、第2記憶部14Bは、ストレージクラスメモリ(SCM)と呼ばれるメモリである。例えば、MRAM、PCM(Phase Change Memory)、PRAM(Phase Random Access Memory)、PCRAM(Phase Change Random Access Memory)、ReRAM(Resistance Change Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、3DXPointまたはMemristorなどである。
More specifically, the
本実施の形態では、第1記憶部14AがDRAMであり、第2記憶部14BがSCMである場合を、一例として説明する。なお、第1記憶部14Aのアクセス速度が第2記憶部14Bより速ければよく、これらの組合せは、第1記憶部14AがDRAMであり第2記憶部14BがSCMである形態に限定されない。例えば、第1記憶部14AがMRAMであり、第2記憶部14BがReRAMであってもよい。
In the present embodiment, the case where the
図2は、第1記憶部14Aおよび第2記憶部14Bへのアクセス方法の説明図である。計算機システムのメインメモリとして、従来のDRAMに加えて、SCMを搭載するようになると、両者をうまく使い分けることが必要になる。つまり、SCMはDRAMより大容量だがアクセス速度が遅い。このため、処理対象のデータの特性に合わせて、データを配置するメモリをDRAMとSCMにうまく分散させることで、効率良いデータ処理が可能になる。すなわち、アクセスのローカリティが低くサイズの大きいデータは、SCMに配置してプロセッサがSCMをキャッシュライン単位でダイレクトにアクセスするのが望ましい。また、アクセスのローカリティの高いデータはSCMからDRAMにページ単位で転送して、プロセッサはDRAM上のデータをキャッシュライン単位でアクセスするのが望ましい。
FIG. 2 is an explanatory diagram of an access method to the
図1に戻り説明を続ける。なお、第1記憶部14A、および第2記憶部14Bを総称して説明する場合には、単に、記憶部14と称して説明する。
The explanation will be continued by returning to FIG. When the
記憶部14は、複数の第1領域を含む。本実施の形態では、第1記憶部14Aおよび第2記憶部14Bが、複数の第1領域を含む形態を説明する。そして、第1領域は、複数の第2領域を含む。すなわち、本実施の形態では、処理回路12および管理装置18は、第1記憶部14Aおよび第2記憶部14Bを、第1領域の単位、あるいは、第1領域を更に細かく区切った第2領域の単位で管理する。
The
図3は、処理回路12から見た物理アドレス空間を示す模式図である。 FIG. 3 is a schematic diagram showing a physical address space as seen from the processing circuit 12.
図3に示すように、第1記憶部14Aおよび第2記憶部14Bは、それぞれ、複数の第1領域を含む。
As shown in FIG. 3, the
第1領域は、例えば、処理回路12あるいは処理回路上で動作するOS(Operating System)によるデータの管理単位(例えば、ページ)である。例えば、4KBなどである。なお、第1領域は、処理回路12あるいは処理回路上で動作するOSによるデータの管理単位の所定数倍の単位などであってもよい。本実施の形態では、第1領域が、ページに相当する場合を、一例として説明する。 The first region is, for example, a data management unit (for example, a page) by the processing circuit 12 or an OS (Operating System) operating on the processing circuit. For example, 4KB. The first region may be a unit of a predetermined number of times the data management unit of the processing circuit 12 or the OS operating on the processing circuit. In the present embodiment, a case where the first area corresponds to a page will be described as an example.
第2領域は、第1領域より小さい領域である。例えば、第2領域は、処理回路12が記憶部14上のデータを読み書きする単位である。具体的には、第2領域は、キャッシュライン単位である。すなわち、処理回路12は、キャッシュラインの単位で、第1記憶部14Aまたは第2記憶部14Bにアクセスする。
The second region is a region smaller than the first region. For example, the second region is a unit in which the processing circuit 12 reads and writes data on the
キャッシュラインは、例えば、64バイトである。なお、第2領域は、キャッシュラインよりも小さい単位(例えば、バイト単位)であってもよい。 The cache line is, for example, 64 bytes. The second region may be a unit smaller than the cache line (for example, a byte unit).
本実施の形態では、処理回路12および管理装置18は、図3に示す物理アドレス空間15にマッピングされた第1記憶部14Aおよび第2記憶部14B内の領域を、第1領域のサイズ(例えば、ページサイズ)に区切って管理する。そして、処理回路12および管理装置18は、ページテーブルを用いて論理アドレスから物理アドレスに変換することで、仮想記憶を実現する。
In the present embodiment, the processing circuit 12 and the
また、本実施の形態では、処理回路12および管理装置18は、第1領域内を第2領域のサイズ(例えば、キャッシュライン)に区切り、第2領域の各々を管理する。
Further, in the present embodiment, the processing circuit 12 and the
このように、本実施の形態の情報処理装置10は、複数種類の記憶部14の各々を、第1領域(例えばページ単位)より細かい単位である第2領域(例えばキャッシュライン)ごとに、管理可能に構成されている。
As described above, the
なお、本実施の形態の情報処理装置10は、本発明で用いる複数種類の記憶部として、第1記憶部14A、第2記憶部14Bを組み合わせて主記憶として用いる場合を一例として説明する。
The
図1に戻り、説明を続ける。管理装置18は、複数種類の記憶部14に対する処理回路12によるアクセスを管理する。管理装置18は、例えば、メモリ管理ユニット(MMU:Memory Management Unit)である。
Returning to FIG. 1, the explanation will be continued. The
管理装置18は、アクセス制御部20と、管理部22と、を有する。管理部22は、更新部24と、予測部26と、転送部28と、管理情報記憶部30と、を有する。
The
アクセス制御部20は、処理回路12から受付けたメモリアクセス要求を処理する。メモリアクセス要求は、記憶部14に対するメモリアクセス要求である。メモリアクセス要求は、記憶部14へのデータ書込み、または記憶部14からのデータ読み出しを示す。
The
アクセス制御部20は、処理回路12から受付けたメモリアクセス要求によって示されるアクセス対象のデータがキャッシュメモリ16に格納されていない場合、記憶部14へアクセスする。この場合、アクセス制御部20は、処理回路12から受付けたメモリアクセス要求によって示される、アクセス対象の記憶部14における第2領域にアクセスする。そして、管理装置18は、アクセスした該第2領域に対して、メモリアクセス要求によって示される処理(書込みや読み出し)を実行する。
The
次に、管理部22について説明する。管理部22は、管理テーブル31Aを管理する。管理テーブル31Aは、管理テーブル31の一例である。図4は、管理テーブル31Aのデータ構成の一例を示す模式図である。
Next, the
管理テーブル31Aは、第1領域の識別情報と、アクセス管理情報と、を対応付けたテーブルである。すなわち、管理テーブル31Aには、第1領域の識別情報とアクセス管理情報とを1対1で対応づけたエントリEが、複数登録されている。 The management table 31A is a table in which the identification information of the first area and the access management information are associated with each other. That is, in the management table 31A, a plurality of entries E in which the identification information of the first region and the access management information are associated with each other on a one-to-one basis are registered.
第1領域の識別情報は、第1記憶部14Aおよび第2記憶部14Bの各々の第1領域を識別するための情報である。
The identification information of the first region is information for identifying the first region of each of the
本実施の形態では、上述したように第1領域がページに相当する場合を説明する。このため、本実施の形態では、第1領域の識別情報が、ページ番号である場合を一例として説明する。また、以下では、第1領域の識別情報を、ページ番号と称して説明する場合がある。 In the present embodiment, the case where the first region corresponds to the page will be described as described above. Therefore, in the present embodiment, the case where the identification information of the first region is a page number will be described as an example. Further, in the following, the identification information of the first area may be described as a page number.
また、本実施の形態では、管理テーブル31Aに登録されている第1領域の識別情報は、論理アドレスによって表される。すなわち、本実施の形態では、第1領域の識別情報は論理アドレス空間におけるページ番号で表される。このため、情報処理装置10では、ページテーブルにおける論理アドレスに対応する物理アドレスを特定することで、管理テーブル31Aに示されるページ番号が、何れの種類の記憶部14(第1記憶部14A、第2記憶部14B)内のページ番号を示すかを、特定可能である。
Further, in the present embodiment, the identification information of the first region registered in the management table 31A is represented by a logical address. That is, in the present embodiment, the identification information of the first region is represented by the page number in the logical address space. Therefore, in the
アクセス管理情報は、対応するページ番号によって識別される第1領域に含まれる複数の第2領域の各々ごとに、アクセス情報を規定したものである。 The access management information defines the access information for each of the plurality of second areas included in the first area identified by the corresponding page number.
アクセス情報は、第2領域が処理回路12によってアクセス済であるか否かを示すフラグである。図4に示す例では、アクセス情報“0”は、処理回路12によるアクセス未の第2領域を示す。また、アクセス情報“1”は、処理回路12によるアクセス済の第2領域を示す。 The access information is a flag indicating whether or not the second region has been accessed by the processing circuit 12. In the example shown in FIG. 4, the access information "0" indicates a second region that has not been accessed by the processing circuit 12. Further, the access information "1" indicates a second region that has been accessed by the processing circuit 12.
図4には、一例として、1ページ(1つの第1領域)に対して、16個の第2領域としてのキャッシュラインを割り当てた例を示した。例えば、1ページ(第1領域)のサイズが4Kバイトであると仮定する。また、第2領域であるキャッシュラインのサイズが64バイトであると仮定する。この場合、1つの第1領域は、64個の第2領域を有することとなる。また、管理テーブル31Aには、ページ番号によって識別される第1領域ごとに、64個の第2領域の各々のアクセス情報を規定したアクセス管理情報が、規定される。 FIG. 4 shows an example in which 16 cache lines as the second area are allocated to one page (one first area). For example, it is assumed that the size of one page (first area) is 4 Kbytes. Further, it is assumed that the size of the cache line, which is the second region, is 64 bytes. In this case, one first region will have 64 second regions. Further, in the management table 31A, access management information that defines access information for each of the 64 second areas is defined for each first area identified by the page number.
なお、管理テーブル31Aに代えて、管理テーブル31Bであってもよい。管理テーブル31Bは、管理テーブル31の一例である。 The management table 31B may be used instead of the management table 31A. The management table 31B is an example of the management table 31.
図5は、管理テーブル31Bのデータ構成の一例を示す模式図である。管理テーブル31Bは、管理テーブル31Aに、更に物理アドレスを対応づけたものである。具体的には、管理テーブル31Bは、第1領域の識別情報としての論理アドレスと、記憶部14における該第1領域の物理アドレスと、アクセス管理情報と、を対応づけた構成である。この場合、管理情報記憶部30は、管理テーブル31Aに代えて管理テーブル31Bを記憶すればよい(図1参照)。
FIG. 5 is a schematic diagram showing an example of the data structure of the management table 31B. The management table 31B further associates a physical address with the management table 31A. Specifically, the management table 31B has a configuration in which a logical address as identification information of the first area, a physical address of the first area in the
図5に示すデータ構成の管理テーブル31Bとすることで、管理テーブル31A(図4参照)と、ページテーブルのキャッシュとして機能するTLB(Translation Lookaside Buffer)と、を統合して管理することができる。すなわち、処理回路12は、論理アドレスを検索キーとして用いることで、TLBの有する物理アドレスと、第2領域の各々のアクセス管理情報と、の双方を検索することが可能となる。このため、管理テーブル31Bを用いることで、論理アドレスによって表されるページ番号を検索キーとしてエントリEを検索する、連想記憶のためのハードウェアを提供することが可能となる。なお、管理テーブル31BにおけるエントリEは、論理アドレスと、物理アドレスと、アクセス管理情報と、を1対1対1で対応づけたものである。 By using the management table 31B of the data structure shown in FIG. 5, the management table 31A (see FIG. 4) and the TLB (Translation Lookaside Buffer) that functions as a cache of the page table can be integrated and managed. That is, by using the logical address as the search key, the processing circuit 12 can search for both the physical address of the TLB and the access control information of each of the second regions. Therefore, by using the management table 31B, it is possible to provide hardware for associative storage that searches the entry E using the page number represented by the logical address as the search key. Note that entry E in the management table 31B has a one-to-one correspondence between a logical address, a physical address, and access management information.
図1に戻り説明を続ける。管理部22は、更新部24と、予測部26と、転送部28と、管理情報記憶部30と、を有する。
The explanation will be continued by returning to FIG. The
管理情報記憶部30は、管理テーブル31Aまたは管理テーブル31Bを記憶する。すなわち、管理情報記憶部30は、本発明の管理部の一例である。なお、本実施の形態では、管理テーブル31として、管理テーブル31A(図4参照)を用いる場合を、一例として説明する。
The management
更新部24は、処理回路12からメモリアクセス要求を受付けたときに、管理テーブル31Aを更新する。詳細には、更新部24は、管理テーブル31Aにおける、メモリアクセス要求に示されるアクセス対象の第1領域を示すページ番号に対応する、該メモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する。なお、管理テーブル31Aにおけるアクセス情報の初期値はアクセス未“0”であり、更新部24によってアクセス済“1”に更新される。 The update unit 24 updates the management table 31A when the memory access request is received from the processing circuit 12. Specifically, the update unit 24 has access information of the access target second area indicated in the memory access request corresponding to the page number indicating the access target first area indicated in the memory access request in the management table 31A. Is updated to accessed "1". The initial value of the access information in the management table 31A is "0" that has not been accessed, and is updated to "1" that has been accessed by the update unit 24.
具体的には、処理回路12から受付けたメモリアクセス要求に示されるアクセス対象のデータが、キャッシュメモリ16に格納されていなかったと仮定する。この場合、アクセス制御部20が、該メモリアクセス要求に基づいて記憶部14へアクセスする。すると、更新部24は、アクセス制御部20から該メモリアクセス要求を受付ける。
Specifically, it is assumed that the data to be accessed indicated in the memory access request received from the processing circuit 12 is not stored in the
そして、更新部24は、受付けたメモリアクセス要求に基づいて、処理回路12によってアクセスされた第2領域のアクセス情報を、アクセス未“0”からアクセス済“1”に更新する。 Then, based on the received memory access request, the update unit 24 updates the access information of the second region accessed by the processing circuit 12 from "0" that has not been accessed to "1" that has been accessed.
なお、更新部24は、メモリアクセス要求が記憶部14へのデータ書込みを示す場合にのみ、処理回路12によってアクセスされた第2領域のアクセス情報を、アクセス未“0”からアクセス済“1”に更新してもよい。また、更新部24は、メモリアクセス要求が記憶部14からのデータ読み出しを示す場合にのみ、処理回路12によってアクセスされた第2領域のアクセス情報を、アクセス未“0”からアクセス済“1”に更新してもよい。また、更新部24は、メモリアクセス要求が記憶部14へのデータ書込みまたは記憶部14からのデータ読み出しを示す場合に、処理回路12によってアクセスされた第2領域のアクセス情報を、アクセス未“0”からアクセス済“1”に更新してもよい。
Note that the update unit 24 can access the access information of the second region accessed by the processing circuit 12 from "0" not accessed to "1" accessed only when the memory access request indicates writing data to the
このように、更新部24は、処理回路12によって記憶部14からデータの読み出しや、データの書込みなどのアクセスが実行されるごとに、管理テーブル31Aのアクセス情報を更新する。
In this way, the update unit 24 updates the access information in the management table 31A each time the processing circuit 12 executes access such as reading data or writing data from the
このため、管理テーブル31Aのアクセス管理情報には、ページ番号によって識別される第1領域内の第2領域に対して、処理回路12がどのようなパターンのメモリアクセス要求を発行したかが示されることとなる。 Therefore, the access management information in the management table 31A indicates what pattern of memory access request the processing circuit 12 has issued to the second area in the first area identified by the page number. It will be.
なお、メモリアクセス要求に示される第1領域の論理アドレスによって示されるページ番号が、管理テーブル31Aに存在しない場合がある。すなわち、メモリアクセス要求に示される、アクセス対象の第1領域のエントリEが、管理テーブル31Aに存在しない場合がある。 The page number indicated by the logical address of the first area indicated in the memory access request may not exist in the management table 31A. That is, the entry E of the first area to be accessed, which is shown in the memory access request, may not exist in the management table 31A.
この場合、更新部24は、新たなエントリEを作成し、管理テーブル31Aに登録する必要がある。ここで、管理テーブル31Aに登録されるエントリの数には、上限がある。このため、管理テーブル31Aに空のエントリEが無い場合には、更新部24は、管理テーブル31Aに登録されている何れかのエントリEを解放し、新たなエントリEを作成すればよい。 In this case, the update unit 24 needs to create a new entry E and register it in the management table 31A. Here, there is an upper limit to the number of entries registered in the management table 31A. Therefore, when there is no empty entry E in the management table 31A, the update unit 24 may release any entry E registered in the management table 31A and create a new entry E.
解放対象のエントリEの特定方法には、公知の方法を用いればよい。例えば、更新部24は、LRU(Least Recently Used)などのアルゴリズムを用いて、解放対象のエントリEを特定することが好ましい。この方法を用いることで、更新部24は、最も使われていないエントリや、長期間使われていないエントリEや、参照頻度の低いエントリEを、解放対象のエントリEとして特定することができる。 A known method may be used as a method for specifying the entry E to be released. For example, it is preferable that the update unit 24 specifies the entry E to be released by using an algorithm such as LRU (Last Recentry Used). By using this method, the update unit 24 can identify the least used entry, the entry E that has not been used for a long period of time, and the entry E that is rarely referred to as the entry E to be released.
そして、更新部24は、新たに作成したエントリEに、受付けたメモリアクセス要求に示される第1領域のページ番号を登録する。そして、更新部24は、該エントリEにおける、ページ番号に対応するアクセス管理情報における全ての第2領域のアクセス情報として、アクセス未“0”を登録する。そして、更新部24は、新たに作成したエントリEにおける、メモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新すればよい。なお、以下では、新たに作成したエントリEを、単に、新エントリEと称して説明する場合がある。 Then, the update unit 24 registers the page number of the first area indicated in the received memory access request in the newly created entry E. Then, the update unit 24 registers "0" that has not been accessed as the access information of all the second regions in the access management information corresponding to the page number in the entry E. Then, the update unit 24 may update the access information of the access target second area indicated in the memory access request in the newly created entry E to the accessed "1". In the following, the newly created entry E may be simply referred to as a new entry E.
予測部26は、管理テーブル31Aのアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する。将来アクセスする第2領域、とは、現在より未来(現在より後)のタイミングにおいて、処理回路12がアクセスすると予測される第2領域を示す。
The
そして、予測部26は、管理テーブル31Aにおける、将来アクセスすると予測した第2領域のアクセス情報を、アクセス済“1”に更新する。
Then, the
なお、予測部26による予測のタイミングは限定されない。
The timing of prediction by the
例えば、予測部26は、更新部24によって管理テーブル31Aにおける第2領域のアクセス情報がアクセス済“1”に更新されるごとに、将来アクセスする第2領域を予測する。この場合、例えば、予測部26は、アクセス情報を更新された第2領域を含む第1領域のページ番号に対応するアクセス管理情報に基づいて、該第1領域内の、アクセス未“0”を示す第2領域の内の何れかを、将来アクセスする第2領域として予測する。
For example, the
また、例えば、予測部26は、所定期間ごとに、処理回路12が将来アクセスする第2領域を予測してもよい。
Further, for example, the
この場合、予測部26は、所定期間ごとに、管理テーブル31Aに規定されているページ番号の各々によって識別される第1領域の各々に含まれる、第2領域のアクセス情報に基づいて、アクセス未“0”を示す第2領域の内の何れかを、将来アクセスする第2領域として予測すればよい。
In this case, the
また、予測部26は、更新部24によって管理テーブル31Aにおけるアクセス情報がアクセス済“1”に更新されるごと、および所定期間ごと、の双方のタイミングで、将来アクセスする第2領域を予測してもよい。
Further, the
予測部26による予測について、具体的に説明する。
The prediction by the
例えば、予測部26は、管理テーブル31Aにおける、アクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測する。
For example, the
アクセス情報によって示されるパターンは、処理回路12による記憶部14へのアクセスパターンを示す。詳細には、パターンは、アクセス済“1”を示すアクセス情報を規定された1または複数の第2領域の、記憶部14における位置関係によって表される。例えば、アクセス情報によって示されるパターンは、アクセス済“1”を示すアクセス情報の規則性を示す。詳細には、アクセス情報によって示されるパターンは、アクセス済“1”を示すアクセス情報の配置の連続性および配置間隔の少なくとも一方によって表される。ただし、これに限定されるわけではない。
The pattern indicated by the access information indicates an access pattern to the
例えば、更新部24によって管理テーブル31Aにおける第2領域のアクセス情報が更新されるごとに予測を行う場合には、予測部26は、アクセス情報によって示されるパターンを用いて、以下の方法で予測を行う。
For example, when the update unit 24 makes a prediction every time the access information of the second region in the management table 31A is updated, the
例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、更新部24によって直前に更新されたアクセス情報を含む、複数のアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測する。
For example, the
図6および図7は、将来アクセスする第2領域の予測の一例の説明図である。 6 and 7 are explanatory views of an example of prediction of the second region to be accessed in the future.
図6に示すように、例えば、エントリE1にページ番号を規定された第1領域内の、先頭アドレスから3番目の第2領域C3のアクセス情報が、更新部24によって更新されたと仮定する。このとき、先頭の第2領域C1から直前に更新された第2領域C3に向かって、アクセス情報が連続してアクセス済“1”であったと仮定する。 As shown in FIG. 6, for example, it is assumed that the access information of the second area C3, which is the third from the start address in the first area in which the page number is specified in the entry E1, is updated by the update unit 24. At this time, it is assumed that the access information is continuously accessed "1" from the first second area C1 to the second area C3 updated immediately before.
この場合、予測部26は、先頭の第2領域C1から直前に更新された第2領域C3に向かって、アクセス済“1”を連続して配列したパターンを特定する。そして、予測部26は、特定したパターンと同様のパターンが、該第2領域C3以降の第2領域のアドレス情報にも示されると予測する。すなわち、予測部26は、第2領域C3に連続する他の第2領域(第2領域C4〜第2領域C16)に、特定したパターンと同じ間隔でアクセス済“1”が連続すると予測する。このため、予測部26は、エントリE1における、第2領域C4〜第2領域C16を、処理回路12が将来アクセスする第2領域として予測する。
In this case, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図6に示す状態となる(図6のエントリE1’参照)。
Then, the
なお、図6には、予測部26が、エントリE1における、直前に更新された第2領域C3の後に連続する全ての第2領域(第2領域C4〜第2領域C16)を、将来アクセスされる第2領域として予測する場合を示した。
Note that, in FIG. 6, the
しかし、予測部26が予測する第2領域の数は、限定されない。例えば、予測部26は、更新部24によって直前に更新された第2領域C3に隣接する1つの第2領域C4のみを、処理回路12が将来アクセスする第2領域として予測してもよい。また、予測部26は、該第2領域C3に隣接する所定数の第2領域(例えば、第2領域C4〜第2領域C5)を、処理回路12が将来アクセスする第2領域として予測してもよい。また、予測部26は、複数の第1領域に渡って、処理回路12が将来アクセスする第2領域を予測してもよい。
However, the number of second regions predicted by the
また、図7に示すように、管理テーブル31AのエントリEXにページ番号を規定された第1領域内の、先頭アドレスから7番目の第2領域C7のアクセス情報が、更新部24によって更新されたと仮定する。このとき、先頭の第2領域C1から直前に更新された第2領域C7に向かって、アクセス情報が2つおきにアクセス済“1”であったと仮定する。 Further, as shown in FIG. 7, it is said that the access information of the second area C7, which is the seventh from the start address in the first area in which the page number is specified in the entry EX of the management table 31A, has been updated by the update unit 24. Suppose. At this time, it is assumed that the access information is accessed "1" every two times from the first second area C1 to the second area C7 updated immediately before.
この場合、予測部26は、先頭の第2領域C1から直前に更新された第2領域C7に向かって、アクセス済“1”を2つの第2領域ごとに配置したパターンを特定する。そして、予測部26は、特定したパターンと同様のパターンが、該第2領域C7以降の第2領域のアドレス情報にも示されると予測する。すなわち、予測部26は、第2領域C7の後に連続する他の第2領域(第2領域C8〜第2領域C16)に、特定したパターンと同じ間隔で、2つの第2領域ごとにアクセス済“1”が配置されると予測する。このため、この場合、予測部26は、エントリEXにおける、第2領域C10、第2領域C13、および第2領域C16を、将来アクセスする第2領域として予測する。
In this case, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図7に示す状態となる(図7のエントリEX’参照)。
Then, the
また、例えば、予測部26は、アクセス管理情報における、一定期間に更新されたアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測してもよい。一定期間とは、更新部24がアクセス情報を更新したタイミングを基準とし、該基準のタイミングから所定の時間遡ったタイミングまでの期間である。この一定期間は、予め定めればよい。
Further, for example, the
図8および図9は、将来アクセスする第2領域の予測の一例の説明図である。 8 and 9 are explanatory views of an example of prediction of the second region to be accessed in the future.
図8に示すように、例えば、エントリE1にページ番号を規定された第1領域内の、先頭アドレスから3番目の第2領域C3のアクセス情報が、更新部24によって更新されたと仮定する。このとき、この第2領域C3の更新タイミングから遡った一定期間T内に、先頭の第2領域C1と次の第2領域C2が、アクセス済“1”に更新されていたと仮定する。 As shown in FIG. 8, for example, it is assumed that the access information of the second area C3, which is the third from the start address in the first area in which the page number is defined in the entry E1, is updated by the update unit 24. At this time, it is assumed that the first second region C1 and the next second region C2 have been updated to "1" within a certain period T that goes back from the update timing of the second region C3.
この場合、予測部26は、直前の一定期間T内に更新されたアクセス情報によって表されるパターンとして、アクセス済“1”を連続して配列したパターンを特定する。そして、予測部26は、特定したパターンと同様のパターンが、該第2領域C4以降の第2領域のアドレス情報にも示されると予測する。すなわち、予測部26は、第2領域C3に連続する他の第2領域(第2領域C4〜第2領域C16)に、特定したパターンと同じ間隔でアクセス済“1”が連続すると予測する。このため、予測部26は、エントリE1における、第2領域C4〜第2領域C16を、将来アクセスする第2領域として予測する。
In this case, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図8に示す状態となる(図8のエントリE1’参照)。
Then, the
なお、予測部26は、一定期間に更新されたアクセス情報が無い場合には、予測を行わなくてもよい。
The
例えば、図9に示すように、例えば、エントリEYにページ番号を規定された第1領域内の、先頭アドレスから3番目の第2領域C3のアクセス情報が、更新部24によって更新されたと仮定する。このとき、この第2領域C3の更新タイミングから遡った一定期間Tではなく、該一定期間Tより前の(過去の)タイミングの期間T’に、先頭の第2領域C1と次の第2領域C2が、アクセス済“1”に更新されていたと仮定する。 For example, as shown in FIG. 9, it is assumed that the access information of the second area C3, which is the third from the start address, in the first area in which the page number is specified in the entry EY is updated by the update unit 24. .. At this time, the first second region C1 and the next second region C1 are in the (past) timing period T'before the fixed period T, instead of the fixed period T retroactive from the update timing of the second region C3. It is assumed that C2 has been updated to accessed "1".
この場合、予測部26は、第2領域C1と第2領域C2への処理回路12によるアクセスと、今回の第2領域C3へのアクセスと、を別の事象としてとらえる。そして、予測部26は、該エントリEYの第2領域C4以降については、この時点では、将来アクセスする第2領域としての予測を行わない。このため、この場合、予測後のエントリEY’のアクセス管理情報は、図9に示すように、予測前のエントリEYと同じ内容となる。
In this case, the
一方、所定期間ごとに予測を行う場合には、予測部26は、アクセス情報によって示されるパターンを用いて、以下の方法で予測を行えばよい。
On the other hand, when making a prediction every predetermined period, the
例えば、予測部26は、管理テーブル31Aにおける、一定期間内にアクセス済“1”に更新された第2領域の数に応じて、該数と一致または該数に近い数の第2領域を、将来アクセスする第2領域として予測する。
For example, the
ここで、予測部26は、管理テーブル31Aにおけるアクセス管理情報に対して、複数の一定期間を特定し、特定した一定期間ごとに、該一定期間のアクセス情報によって示されるパターンを用いて、将来アクセスする第2領域を予測してもよい。
Here, the
例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、第1期間に更新されたアクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新されたアクセス情報によって示されるパターンに対して優先して用いて、処理回路12が将来アクセスする第2領域を予測する。
For example, the
また、予測部26は、第1期間および第2期間の内、単位時間内に、より多くのアクセス情報をアクセス済“1”に更新された期間を特定する。そして、予測部26は、特定した期間(第1期間または第2期間)のアクセス情報によって示されるパターンを優先して用いて、将来アクセスする第2領域を予測してもよい。
In addition, the
なお、優先して用いる、とは、予測、または、予測および予測した第2領域内のデータの他の記憶部14への転送、を先に実行することを意味する。また、優先して用いる、とは、優先度の高い方のみを予測し、優先度の低い方を予測しないことを意味してもよい。また、優先して用いる、とは、優先度の高い方のみを予測およびデータ転送し、優先度の低い方を予測およびデータ転送しないことを意味してもよい。なお、予測した第2領域内のデータの転送は、後述する転送部28によって行われる(詳細後述)。
Note that preferential use means that the prediction or the prediction and the transfer of the predicted data in the second region to the
図10〜図12を用いて具体的に説明する。図10〜図12は、将来アクセスする第2領域の予測の一例の説明図である。 This will be specifically described with reference to FIGS. 10 to 12. 10 to 12 are explanatory views of an example of prediction of the second region to be accessed in the future.
図10に示すように、例えば、管理テーブル31AのエントリE1にページ番号を規定された第1領域内の、第2領域C1〜第2領域C3のアクセス情報が、第1期間T1内にアクセス済“1”に更新されたと仮定する。なお、これらの第2領域C1〜第2領域C3の各々のアクセス情報がアクセス済“1”に更新されたタイミングは、第1期間T1内の、タイミングt3〜t5であったと仮定する。 As shown in FIG. 10, for example, the access information of the second area C1 to the second area C3 in the first area in which the page number is defined in the entry E1 of the management table 31A has been accessed in the first period T1. Suppose it has been updated to "1". It is assumed that the timing at which the access information of each of the second regions C1 to the second region C3 is updated to the accessed "1" is the timings t3 to t5 within the first period T1.
一方、図11に示すように、管理テーブル31AのエントリEZにページ番号を規定された第1領域内の、第2領域C1〜第2領域C3のアクセス情報が、第2期間T2内にアクセス済“1”に更新されたと仮定する。なお、これらの第2領域C1〜第2領域C3の各々のアクセス情報がアクセス済“1”に更新されたタイミングは、第2期間T2内の、タイミングt0〜t2であったと仮定する。 On the other hand, as shown in FIG. 11, the access information of the second area C1 to the second area C3 in the first area in which the page number is defined in the entry EZ of the management table 31A has been accessed in the second period T2. Suppose it has been updated to "1". It is assumed that the timing at which the access information of each of the second regions C1 to the second region C3 is updated to the accessed "1" is the timings t0 to t2 within the second period T2.
なお、これらのタイミングt0〜t5は、図12に示す時系列によって表される。すなち、タイミングt0が最も古く、タイミングt5に向かって、現在のタイミングT0に近くなる。また、タイミングt0〜t2によって表される第2期間は、タイミングt3〜t5によって表される第1期間より長い。このため、第1期間T1における単位時間あたりのアクセス情報の更新数は、第2期間T2より多い。また、第2期間T2は、第1期間T1より前のタイミングである。 These timings t0 to t5 are represented by the time series shown in FIG. That is, the timing t0 is the oldest, and it becomes closer to the current timing T0 toward the timing t5. Further, the second period represented by the timings t0 to t2 is longer than the first period represented by the timings t3 to t5. Therefore, the number of updates of access information per unit time in the first period T1 is larger than that in the second period T2. Further, the second period T2 is a timing before the first period T1.
この場合、まず、予測部26は、管理テーブル31Aのアクセス管理情報における、第1期間T1および第2期間T2の各々について、各々の期間に更新されたアクセス情報によって示されるパターンを特定する。そして、予測部26は、第1期間T1のアクセス情報によって示されるパターンを、第2期間T2のアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第2領域を予測する。
In this case, first, the
詳細には、図10に示すように、予測部26は、エントリE1における、第1期間T1に更新された第2領域C1〜第2領域C3のアクセス情報によって示されるパターンに応じて、第2領域C3に隣接する3つの第2領域C4〜第2領域C6を、将来アクセスする第2領域として予測する。
Specifically, as shown in FIG. 10, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE1’のアクセス管理情報は、図10に示す状態となる(図10のエントリE1’参照)。
Then, the
次に、図11に示すように、予測部26は、エントリEZにおける、第2期間T2に更新された第2領域C1〜第2領域C3のアクセス情報によって示されるパターンに応じて、第2領域C3に隣接する第2領域C4を、将来アクセスする第2領域として予測する。
Next, as shown in FIG. 11, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリEZ’のアクセス管理情報は、図11に示す状態となる(図11のエントリEZ’参照)。
Then, the
なお、優先度の低い第2期間T2のアクセス情報について、予測部26は、予測に用いるパターンとして用いなくてもよい。この場合、予測部26は、図11に示すエントリEZについて、将来アクセスする第2領域を予測しなくてもよい。
Note that the
また、例えば、予測部26は、管理テーブル31Aに示される複数のページ番号の各々によって識別される第1領域の内、処理回路12によるアクセス速度が第1の速度未満の種類の記憶部14にデータを記憶されている第1領域内の第2領域について、第1の速度以上のアクセス速度の種類の記憶部14にデータを記憶されている第1領域に対して優先して、将来アクセスする第2領域を予測してもよい。
Further, for example, the
よりアクセス速度の遅い記憶部14に記憶されている第2領域内のデータを、アクセス速度の速い記憶部14に記憶されている第2領域内のデータに対して優先して、処理回路12がアクセスする前に予測(または予測および転送)を行うことで、処理回路12によるストール時間の、より高い削減効果が得られる。
The processing circuit 12 gives priority to the data in the second area stored in the
第1の速度は、予め定めればよい。本実施の形態では、第1記憶部14Aのアクセス速度が第1の速度以上であり、第2記憶部14Bのアクセス速度が第1の速度未満であるものとして説明する。
The first speed may be predetermined. In the present embodiment, it is assumed that the access speed of the
例えば、予測部26は、第2記憶部14Bにデータを記憶されている第1領域内の第2領域について、第1記憶部14Aにデータを記憶されている第1領域に対して優先して、将来アクセスする第2領域を予測すればよい。
For example, the
図13〜図15は、将来アクセスする第2領域の予測の一例の説明図である。 13 to 15 are explanatory views of an example of prediction of the second region to be accessed in the future.
図13に示すように、例えば、管理テーブル31AのエントリE1にページ番号を規定された第1領域内のデータが、第2記憶部14Bに記憶されていると仮定する。また、図14に示すように、管理テーブル31AのエントリEZにページ番号を規定された第1領域内のデータが、第1記憶部14Aに記憶されていると仮定する。
As shown in FIG. 13, for example, it is assumed that the data in the first area in which the page number is specified in the entry E1 of the management table 31A is stored in the
この場合、図13に示すように、予測部26は、第2記憶部14Bにデータを記憶されている第1領域のページ番号を規定したエントリE1のアクセス管理情報を用いて、該エントリE1の第2領域C4を将来アクセスする第2領域として予測する(図13のエントリE1’参照)。なお、アクセス管理情報から、将来アクセスする第2領域を予測する方法は、上記と同様である。
In this case, as shown in FIG. 13, the
次に、図14に示すように、予測部26は、第1記憶部14Aにデータを記憶されている第1領域のページ番号を規定したエントリEZのアクセス管理情報を用いて、該エントリEZの第2領域を、将来アクセスする第2領域として予測する。なお、予測部26は、優先度の低い第1記憶部14Aにデータを記憶されている第1領域を規定したエントリEZについて、将来アクセスする第2領域の予測を行わなくてもよい。この場合、図14に示すように、予測後のエントリEZ’は、予測前のエントリEZと同じ内容となる。
Next, as shown in FIG. 14, the
なお、予測部26が、データの記憶されている記憶部14に応じた優先度に基づいて、将来アクセスする第2領域を予測する場合には、管理テーブル31B(図5参照)を管理テーブル31として用いることが好ましい。
When the
図15は、管理テーブル31Bを用いた予測の説明図である。この場合、予測部26は、管理テーブル31Bから、第2記憶部14Bの物理アドレスを示すエントリE(エントリEa、エントリEb、エントリEc、エントリEd)を容易に検索することができる。このため、予測部26は、第2記憶部14Bにデータを記憶されている第1領域のページ番号を規定したエントリEを容易に特定し、将来アクセスする第2領域の予測に用いることができる。
FIG. 15 is an explanatory diagram of prediction using the management table 31B. In this case, the
図1に戻り説明を続ける。次に、転送部28について説明する。転送部28は、予測部26が予測した第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14へ転送する。なお、本実施の形態では、“転送”とは、コピーを意味してもよいし、元データを削除される移動を意味してもよい。
The explanation will be continued by returning to FIG. Next, the transfer unit 28 will be described. The transfer unit 28 transfers the data in the second region predicted by the
例えば、将来アクセスすると予測された第2領域内のデータが、第1記憶部14Aに記憶されていると仮定する。この場合、転送部28は、第1記憶部14Aに記憶されている該第2領域内のデータを、キャッシュメモリ16へ転送する。
For example, it is assumed that the data in the second region, which is predicted to be accessed in the future, is stored in the
また、例えば、将来アクセスすると予測された第2領域内のデータが、第2記憶部14Bに記憶されていると仮定する。この場合、転送部28は、第2記憶部14Bに記憶されている該第2領域内のデータを、第1記憶部14Aまたはキャッシュメモリ16へ転送する。
Further, for example, it is assumed that the data in the second region predicted to be accessed in the future is stored in the
なお、第2記憶部14Bから第1記憶部14Aへのデータの転送の基本単位は、ページ(すなわち、第1領域の単位)である。このため、転送部28は、転送先が第1記憶部14Aの場合、該第2領域内データ(キャッシュライン)を含む第1領域(ページ)のデータを第1記憶部14Aへ転送する。
The basic unit of data transfer from the
一方、第2記憶部14Bまたは第1記憶部14Aからキャッシュメモリ16へのデータ転送の基本単位は、キャッシュライン単位(すなわち、第2領域の単位)である。このため、転送部28は、転送先がキャッシュメモリ16の場合、該第2領域のデータをキャッシュライン単位でキャッシュメモリ16へ転送する。
On the other hand, the basic unit of data transfer from the
転送部28が、予測された第2領域内のデータを転送するタイミングは、限定されない。例えば、転送部28は、予測部26によって新たな第2領域が予測されるとごとに、該第2領域内のデータを、よりアクセス速度の速い記憶部14またはキャッシュメモリ16へ転送する。
The timing at which the transfer unit 28 transfers the predicted data in the second region is not limited. For example, every time a new second area is predicted by the
また、転送部28は、所定時間ごとや、予測部26が最後に予測してから所定時間経過した後の所定のタイミングで、予測された第2領域内のデータを、よりアクセス速度の速い記憶部14またはキャッシュメモリ16へ転送してもよい。例えば、転送部28は、処理回路12による記憶部14へのアクセスが少ない期間に、データの転送を行ってもよい。
Further, the transfer unit 28 stores the predicted data in the second region at a faster access speed at predetermined time intervals or at a predetermined timing after a predetermined time has elapsed since the
そして、転送部28は、第2記憶部14Bから第1記憶部14Aへページ単位でデータを転送させた場合、ページテーブルにおける、転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14における位置を示す物理アドレスに更新する。このため、処理回路12は、該データにアクセスするときに、転送先の記憶部14に直接アクセスすることが可能となる。なお、ページテーブルの更新は、予測部26が行ってもよい。
Then, when the data is transferred from the
次に、本実施の形態の情報処理装置10が実行する情報処理の手順の一例を説明する。図16は、情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of the information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS100)。 First, the update unit 24 obtains an access target address from the memory access request received from the processing circuit 12 via the access control unit 20 (step S100).
次に、更新部24が、管理テーブル31Aの、ステップS100で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリEにおける、ステップS100で受付けたメモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS102)。 Next, the update unit 24 is the second access target indicated in the memory access request received in step S100 in the entry E defining the page number indicated by the address information of the address obtained in step S100 in the management table 31A. The access information of the area is updated to the accessed "1" (step S102).
次に、予測部26が、管理テーブル31Aのアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する(ステップS104)。
Next, the
そして、予測部26は、管理テーブル31Aにおける、ステップS104で予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS106)。
Then, the
次に、転送部28が、ステップS104で予測した第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14またはキャッシュメモリ16へ転送する(ステップS108)。
Next, the transfer unit 28 transfers the data in the second region predicted in step S104 to another type of
次に、転送部28は、第2記憶部から第1記憶部への転送の場合は、ページテーブルにおける、ステップS108で転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14の格納先を示す物理アドレスに更新する(ステップS110)。そして、本ルーチンを終了する。
Next, in the case of transfer from the second storage unit to the first storage unit, the transfer unit 28 stores the physical address corresponding to the logical address of the second region transferred in step S108 in the page table at the transfer destination. The physical address indicating the storage destination of the
なお、上述したように、予測部26が、第1期間T1に更新されたアクセス情報によって示されるパターンを、該第1期間T1より前のタイミングである第2期間T2に更新されたアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第2領域を予測する場合がある。
As described above, the
また、予測部26が、アクセス速度が第1の速度未満の種類の第2記憶部14Bにデータを記憶されている第2領域について、第1の速度以上のアクセス速度の第1記憶部14Aにデータを記憶されている第2領域に優先して、将来アクセスする第2領域を予測する場合がある。
Further, the
これらの場合、情報処理装置10では、上述したように、予測部26による予測のみを優先して行ってもよいし、予測部26による予測および転送部28による転送を、優先して行ってもよい。
In these cases, as described above, in the
予測部26による予測および転送部28による転送を優先して行う場合には、例えば、予測部26が優先して予測した第2領域を、優先度の低い第2領域より先に、よりアクセス速度の速い記憶部14へ転送する。そして、次に、予測部26が、優先度の低い第2領域を予測したときに、該予測した第2領域のデータをアクセス速度の速い記憶部14へ転送すればよい。
When the prediction by the
このとき、転送先がキャッシュメモリ16である場合には、転送部28は、キャッシュメモリ16における、よりアクセス速度の速い上位の階層に、より優先度の高い第2領域のデータを転送することが好ましい。
At this time, when the transfer destination is the
以上説明したように、本実施の形態の管理装置18は、処理回路12による複数種類の記憶部14に対するアクセスを管理する。記憶部14は、複数の第1領域を含み、第1領域は、複数の第2領域を含む。管理装置18は、管理部(管理情報記憶部30)と、予測部26と、を備える。管理部(管理情報記憶部30)は、管理テーブル31を管理する。管理テーブル31は、第1領域の識別情報と、第1領域に含まれる複数の第2領域の各々ごとに、第2領域が処理回路12によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部26は、アクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する。
As described above, the
このように、本実施の形態の管理装置18では、複数種類の記憶部14の各々について、第1領域より細かい単位である第2領域ごとに、処理回路12によってアクセス済であるか否かを示すアクセス情報を管理する。このため、複数種類の記憶部14の各々について、第1領域内の何れの第2領域に処理回路12によるアクセスがなされたか、を容易に管理することができる。
As described above, in the
そして、本実施の形態の管理装置18では、管理テーブル31における、第2領域の各々のアクセス情報を規定したアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する。このため、本実施の形態の管理装置18では、処理回路12による第2領域へのアクセスのパターンに応じて、処理回路12が将来アクセスする第2領域を予測することができる。
Then, in the
従って、管理装置18は、処理回路12が将来アクセスするデータを高精度に予測することができる。
Therefore, the
また、本実施の形態では、転送部28が、予測部26によって予測された第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14へ転送する。
Further, in the present embodiment, the transfer unit 28 uses the data in the second region predicted by the
このため、本実施の形態の管理装置18では、処理回路12によってアクセスされる前に、将来アクセスされると予測した第2領域内のデータを、該データの記憶されている記憶部14(例えば第2記憶部14B)よりアクセス速度の速い記憶部14(例えば、第1記憶部14Aまたはキャッシュメモリ16)に転送することができる。
Therefore, in the
このため、本実施の形態の管理装置18では、上記効果に加えて、処理回路12によるアクセス速度の向上や、処理時間の短縮、処理性能の向上、および、処理時間の短縮による低消費電力化を図ることができる。
Therefore, in the
(変形例1)
なお、予測部26は、管理テーブル31のアクセス管理情報に基づいて、将来アクセスする第2領域を予測すればよく、予測部26による予測方法は、上記実施の形態で挙げた方法に限定されない。
(Modification example 1)
The
例えば、予測部26は、論理アドレス(ページ番号)が隣接する複数の第1領域の各々内の第2領域を、将来アクセスする第2領域として予測してもよい。
For example, the
ここで、将来アクセスすると予測した第2領域を含む第1領域のページ番号が、管理テーブル31に未登録の場合がある。この場合、予測部26は、管理テーブル31に、将来アクセスすると予測した第2領域を含む第1領域のページ番号を規定した新たなエントリEを追加すればよい。
Here, the page number of the first area including the second area predicted to be accessed in the future may not be registered in the management table 31. In this case, the
図17および図18は、第2領域の予測の一例の説明図である。なお、本変形例では、管理テーブル31として、管理テーブル31B(図5参照)を用いる場合を説明する。 17 and 18 are explanatory views of an example of prediction in the second region. In this modification, a case where the management table 31B (see FIG. 5) is used as the management table 31 will be described.
例えば、図17に示すように、エントリEZにページ番号を規定された第1領域内の、先頭アドレスから16番目の第2領域C16のアクセス情報が、更新部24によって更新されたと仮定する。 For example, as shown in FIG. 17, it is assumed that the access information of the second area C16, which is the 16th from the start address in the first area in which the page number is specified in the entry EZ , is updated by the update unit 24.
そして、図18に示すように、予測部26が、該エントリEzに規定された第1領域のページ番号“0f064381”に対して、次のページ番号“0f064382”の第1領域内の第2領域C1を、将来アクセスする第2領域として予測したと仮定する。
Then, as shown in FIG. 18, the
この場合、予測部26は、新たなエントリEZ+1(以下、新エントリEZ+1と称する場合がある)を作成し、管理テーブル31Bに登録する。ここで、管理テーブル31Bに登録されるエントリの数には、上限がある。このため、管理テーブル31Bに空のエントリEが無い場合には、予測部26は、管理テーブル31Bに登録されている何れかのエントリEを解放し、新エントリEZ+1を登録すればよい。エントリEの解放は、更新部24によるエントリEの解放と同様の方法で行えばよい。
In this case, the
そして、予測部26は、管理テーブル31Bにおける新エントリEZ+1に、将来アクセスすると予測した第2領域を含む第1領域の、ページ番号である論理アドレスを登録する。また、予測部26は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリEZ+1に登録する。
Then, the
このように、管理テーブル31A(図4参照)と、ページテーブルのキャッシュとして機能するTLBと、を統合して管理する管理テーブル31B(図5参照)に、予測部26が、新たに予測した第2領域の新エントリZ+1を登録し、該新エントリZ+1に論理アドレスおよび物理アドレスを登録する。
In this way, the management table 31A (see FIG. 4) and the TLB functioning as a page table cache are integrated and managed in the management table 31B (see FIG. 5), which is newly predicted by the
このため、処理回路12による該第2領域のデータへのアクセス時に、TLBとしての機能も有する管理テーブル31Bに該当するエントリEが存在しないことが回避され、TLBミスの発生を抑制することができる。 Therefore, when the processing circuit 12 accesses the data in the second region, it is possible to prevent the entry E corresponding to the management table 31B, which also has a function as a TLB, from being present, and it is possible to suppress the occurrence of a TLB error. ..
次に、予測部26は、新エントリEZ+1における、将来アクセスすると予測した第2領域C1のアクセス情報を、アクセス済“1”に更新する。
Next, the
すると、上記実施の形態と同様に、転送部28が、予測部26が予測した第2領域内のデータを、キャッシュメモリ16へ転送する。また、転送部28は、該データを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14(例えば、第1記憶部14A)へ転送してもよい。
Then, as in the above embodiment, the transfer unit 28 transfers the data in the second area predicted by the
そして、転送部28は、ページテーブルにおける、転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14の格納先を示す物理アドレスに更新する。このとき、転送先がキャッシュメモリ16の場合には、ページテーブルの更新は不要である。
Then, the transfer unit 28 updates the physical address corresponding to the logical address of the transferred second region in the page table to the physical address indicating the storage destination of the transfer
次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図19は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of the information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS200)。 First, the update unit 24 obtains an access target address from the memory access request received from the processing circuit 12 via the access control unit 20 (step S200).
次に、更新部24が、管理テーブル31Aの、ステップS200で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリEにおける、ステップS200で受付けたメモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS202)。 Next, the update unit 24 is the second access target indicated in the memory access request received in step S200 in the entry E defining the page number indicated by the address information of the address obtained in step S200 in the management table 31A. The access information of the area is updated to the accessed "1" (step S202).
次に、予測部26が、管理テーブル31Bのアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する(ステップS204)。
Next, the
次に、予測部26は、ステップS206で予測した第2領域が、ステップS200で取得したメモリアクセス要求に示されるアクセス対象の第1領域の、次のページ番号によって識別される第1領域内の第2領域であるか否かを判断する(ステップS206)。
Next, the
ステップS206で肯定判断すると(ステップS206:Yes)、ステップS208へ進む。 If an affirmative decision is made in step S206 (step S206: Yes), the process proceeds to step S208.
ステップS208では、管理テーブル31Bに、ステップS204で予測した第2領域を含む第1領域のページ番号を規定した、エントリEが登録されているか否かを判断する(ステップS208)。登録されていないと判断した場合(ステップS208:No)、ステップS210へ進む。 In step S208, it is determined whether or not entry E, which defines the page number of the first area including the second area predicted in step S204, is registered in the management table 31B (step S208). If it is determined that the registration has not been performed (step S208: No), the process proceeds to step S210.
ステップS210では、予測部26が、管理テーブル31Bにおける、解放対象のエントリEを特定し(ステップS210)、該エントリEを解放する(ステップS212)。
In step S210, the
次に、予測部26は、管理テーブル31Bに、新エントリEZ+1を作成し、ステップS204で将来アクセスすると予測した第2領域を含む第1領域の論理アドレス(ページ番号)を登録する(ステップS214)。次に、予測部26は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリEZ+1に登録する(ステップS216)。
Next, the
次に、予測部26は、新エントリEZ+1における、ステップS206で将来アクセスすると予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS218)。
Next, the
次に、転送部28がステップS206で予測した第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14またはキャッシュメモリ16へ転送する(ステップS220)。
Next, the data in the second region predicted by the transfer unit 28 in step S206 is stored in another type of
そして、転送部28は、ページテーブルにおける、転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14の格納先を示す物理アドレスに更新する(ステップS222)。そして、本ルーチンを終了する。なお、ページテーブルの更新は、このタイミングでおこなう必要はなく、他のタイミングでおこなってよい。 Then, the transfer unit 28 updates the physical address corresponding to the logical address of the transferred second region in the page table to the physical address indicating the storage destination of the transfer destination storage unit 14 (step S222). Then, this routine is terminated. The page table does not need to be updated at this timing, but may be updated at another timing.
一方、ステップS206で否定判断した場合(ステップS206:No)、ステップS224へ進む。ステップS208で肯定判断した場合についても(ステップS208:Yes)、ステップS224へ進む。 On the other hand, if a negative determination is made in step S206 (step S206: No), the process proceeds to step S224. Even when the affirmative judgment is made in step S208 (step S208: Yes), the process proceeds to step S224.
ステップS224では、予測部26が、管理テーブル31Bにおける、ステップS204で予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS224)。
In step S224, the
次に、転送部28が、ステップS206で予測した第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14またはキャッシュメモリ16へ転送する(ステップS226)。
Next, the transfer unit 28 transfers the data in the second region predicted in step S206 to another type of
次に、転送部28は、ページテーブルにおける、ステップS226で転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14の格納先を示す物理アドレスに更新する(ステップS228)。そして、本ルーチンを終了する。 Next, the transfer unit 28 updates the physical address corresponding to the logical address of the second region transferred in step S226 in the page table to the physical address indicating the storage destination of the transfer destination storage unit 14 (step S228). .. Then, this routine is terminated.
以上説明したように、本変形例では、予測部26は、将来アクセスすると予測した第2領域を含む第1領域のページ番号が、管理テーブル31Bに未登録の場合、管理テーブル31Bに、将来アクセスすると予測した第2領域を含む第1領域のページ番号を規定した新たなエントリEを追加する。そして、予測部26は、該新たなエントリEに、論理アドレスおよび物理アドレスを登録する。
As described above, in the present modification, when the page number of the first area including the second area predicted to be accessed in the future is not registered in the management table 31B, the
このため、処理回路12による該第2領域のデータへのアクセス時に、TLBとしての機能も有する管理テーブル31Bに該当するエントリEが存在しないことが回避され、TLBミスの発生を抑制することができる。 Therefore, when the processing circuit 12 accesses the data in the second region, it is possible to prevent the entry E corresponding to the management table 31B, which also has a function as a TLB, from being present, and it is possible to suppress the occurrence of a TLB error. ..
従って、本変形例では、上記実施の形態の効果に加えて、処理回路12のストール時間の短縮を図ることができ、アクセス速度の高速化を実現することができる。 Therefore, in this modification, in addition to the effect of the above embodiment, the stall time of the processing circuit 12 can be shortened, and the access speed can be increased.
(変形例2)
なお、予測部26は、予測対象の第1領域の論理アドレス(ページ番号)に対して、所定範囲内の論理アドレス(ページ番号)を示す他の第1領域の識別情報(ページ番号)に対応するアクセス管理情報に基づいて、予測対象の第1領域内について、処理回路12が将来アクセスする第2領域を予測してもよい。
(Modification 2)
The
予測対象の第1領域とは、処理回路12によって将来アクセスされる第2領域を予測する対象の第1領域である。予測対象の第1領域は限定されない。例えば、予測対象の第1領域は、管理テーブル31Bに新たに追加されたエントリEにページ番号を規定された第1領域である。なお、予測対象の第1領域は、新たに追加されたエントリEに限定されない。 The first region of the prediction target is the first region of the target for predicting the second region to be accessed in the future by the processing circuit 12. The first region to be predicted is not limited. For example, the first area to be predicted is the first area in which the page number is specified in the entry E newly added to the management table 31B. The first region to be predicted is not limited to the newly added entry E.
所定範囲内の論理アドレスとは、予測対象の第1領域に対して隣接するページの論理アドレスであってもよいし、予測対象の第1領域の論理アドレスに対して、予め定めた範囲内の論理アドレスであってもよい。予め定めた範囲内とは、ページ番号の差が所定値以下、などである。 The logical address within the predetermined range may be the logical address of the page adjacent to the first area to be predicted, or the logical address within the predetermined range with respect to the logical address of the first area to be predicted. It may be a logical address. Within the predetermined range, the difference in page numbers is equal to or less than a predetermined value.
また、所定範囲内の論理アドレスを示す他の第1領域は、予測対象の第1領域内のデータと同じ記憶部14にデータが記憶されており、且つ、予測対象の第1領域の論理アドレスに対して所定範囲の論理アドレスを示す、第1領域であってもよい。
Further, in the other first area indicating the logical address within the predetermined range, the data is stored in the
図20および図21は、将来アクセスする第2領域の予測の一例の説明図である。図20および図21には、新たに登録された新エントリEjにページ番号を規定された第1領域を、第2領域を予測する対象の第1領域として用いる場合を示した。 20 and 21 are explanatory views of an example of prediction of the second region to be accessed in the future. 20 and 21 show a case where the first region whose page number is defined in the newly registered new entry Ej is used as the first region to be predicted for the second region.
図20に示すように、例えば、更新部24が、処理回路12から取得したメモリアクセス要求に基づいて、ページ番号“0f06438c”のエントリEjを管理テーブル31Bに新たに登録したと仮定する。 As shown in FIG. 20, for example, it is assumed that the update unit 24 newly registers the entry Ej of the page number “0f06438c” in the management table 31B based on the memory access request acquired from the processing circuit 12.
この場合、更新部24は、上記実施の形態と同様に、新たなエントリEjに、メモリアクセス要求に示される論理アドレス(ページ番号)を登録する。また、更新部24は、該論理アドレスに対応する物理アドレスをページテーブルから読み出し、エントリEjに登録する。図20に示す例では、該物理アドレスが、第2記憶部14Bの物理アドレスを示す場合を一例として説明する。
In this case, the update unit 24 registers the logical address (page number) indicated in the memory access request in the new entry Ej as in the above embodiment. Further, the update unit 24 reads the physical address corresponding to the logical address from the page table and registers it in the entry Ej. In the example shown in FIG. 20, the case where the physical address indicates the physical address of the
また、更新部24は、上記実施の形態と同様に、新たなエントリEj(以下、新エントリEjと称する場合がある)における、メモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する。 Further, the update unit 24 obtains the access information of the access target second area indicated in the memory access request in the new entry Ej (hereinafter, may be referred to as the new entry Ej) in the same manner as in the above embodiment. Update to accessed "1".
管理テーブル31Bに新エントリEjが登録されると、予測部26は、新エントリEjの論理アドレスに対して、所定範囲内の論理アドレスを示す他のエントリEを特定する。
When the new entry Ej is registered in the management table 31B, the
本変形例では、更新部24が、新エントリEjと同じ記憶部14(図20では第2記憶部14B)の物理アドレスを規定されたエントリEh1とエントリEh2を、特定したと仮定する。
In this modification, it is assumed that the update unit 24 specifies the entry Eh1 and the entry Eh2 in which the physical addresses of the same storage unit 14 (
そして、予測部26は、特定したこれらのエントリE(エントリEh1とエントリEh2)のアクセス情報によって示されるパターンに応じて、新エントリEjの第1領域内に含まれる第2領域について、将来アクセスする第2領域を予測する。
Then, the
具体的には、予測部26は、所定範囲内の論理アドレスを示す他のエントリE(エントリEh1とエントリEh2)のアクセス管理情報が、所定条件を満たすか否かを判断する。
Specifically, the
所定条件は、予め定めればよい。例えば、予測部26は、上記他のエントリE(エントリEh1およびエントリEh2)に、アクセス済“1”を示すアクセス情報を第1閾値以上の含むエントリEが所定割合以上含まれる場合、所定条件を満たすと判断する。
Predetermined conditions may be determined in advance. For example, when the other entry E (entry Eh1 and entry Eh2) includes an entry E containing an access information indicating "1" that has been accessed "1" in a predetermined ratio or more, the
第1閾値および所定割合は、予め定めればよい。例えば、第1閾値が、“8”であったと仮定する。この場合、図20に示すエントリEh1とエントリEh2の各々のアクセス管理情報には、アクセス済“1”のアクセス情報が8個以上含まれる。このため、この場合、予測部26は、所定条件を満たすと判断する。
The first threshold value and the predetermined ratio may be predetermined. For example, assume that the first threshold is "8". In this case, the access management information of each of the entry Eh1 and the entry Eh2 shown in FIG. 20 includes eight or more access information of the accessed “1”. Therefore, in this case, the
そして、所定条件を満たすと判断した場合、予測部26は、これらのエントリE(エントリEh1とエントリEh2)のアクセス管理情報に規定されたアクセス情報によって示されるパターンから、新エントリEjの第2領域について、将来アクセスされる第2領域を予測する。この予測の方法は、上記実施の形態と同様である。
Then, when it is determined that the predetermined condition is satisfied, the
そして、予測部26は、上記実施の形態と同様に、新エントリEjにおける、予測した第2領域のアクセス情報をアクセス済“1”に更新する。このため、予測部26によって更新された後の新エントリEjは、例えば、図21に示すものとなる。例えば、新エントリEjにおける、第2領域C1のアクセス情報が更新部24によってアクセス済“1”に更新され、第2領域C2〜C16の少なくとも1つが、予測部26によってアクセス済“1”に更新される。
Then, the
すると、本変形例では、予測部26が所定条件を満たすと判断した場合、転送部28は、予測対象の第1領域のデータをページ単位(該第1領域の単位)で第2記憶部14Bから第1記憶部14Aへ転送する。
Then, in this modification, when the
すなわち、新エントリEjに示される第1領域内のデータが、第2記憶部14Bに記憶されていたと仮定する。この場合、例えば、転送部28は、第2記憶部14Bから第1記憶部14Aへ、新エントリEjによって示される第1領域内のデータを、ページ単位で転送する。
That is, it is assumed that the data in the first region shown in the new entry Ej is stored in the
また、転送部28は、新エントリEjにおける、予測部26によって予測された将来アクセスされる第2領域のデータを、キャッシュライン単位で、キャッシュメモリ16へ転送する。
Further, the transfer unit 28 transfers the data of the second region to be accessed in the future predicted by the
すなわち、本変形例では、予測部26は、新エントリEjによって規定される第1領域が最初にアクセスされたときに、所定範囲内の論理アドレスを示すアクセス済の他のエントリE(エントリEh1とエントリEh2)のアクセス管理情報が所定条件を満たす場合、新エントリEjについても所定回数以上アクセスがなされると予測する。そして、転送部28は、該新エントリEjのデータを、ページ単位で第2記憶部14Bから第1記憶部14Aへ転送する。また、併せて、転送部28は、該新エントリEjにおける、予測部26によって予測された将来アクセスされる第2領域のデータを、キャッシュライン単位で、キャッシュメモリ16へ転送する。
That is, in this modification, when the first area defined by the new entry Ej is first accessed, the
そして、転送部28は、管理テーブル31Bにおける、該新エントリEjに示される物理アドレスを、転送先の第1記憶部14Aを示す物理アドレスに更新する(図21中、新エントリEj’の物理アドレス参照)。また、転送部28は、ページテーブルにおける、転送した第1領域の論理アドレスに対応する物理アドレスを、転送先の第1記憶部14Aの物理アドレスに更新する。
Then, the transfer unit 28 updates the physical address shown in the new entry Ej in the management table 31B to the physical address indicating the
なお、予測部26が上記所定条件を満たさないと判断した場合、転送部28は、将来アクセスすると予測した第2領域を含む第1領域のデータを、キャッシュライン単位(第2領域の単位)で、キャッシュメモリ16へ転送すればよい。
When the
図22は、本変形例におけるデータ転送の一例の説明図である。図22に示すように、本変形例では、メモリアクセスローカリティが高いと予測されたエントリによって規定される第1領域(例えば、ページA)について、転送部28は、該ページAのデータをページ単位で第2記憶部14Bから第1記憶部14Aへ転送する。また、転送部28は、該ページAにおける将来アクセスされると予測された第2領域のデータを、キャッシュライン単位でキャッシュメモリ16へ転送する。
FIG. 22 is an explanatory diagram of an example of data transfer in this modified example. As shown in FIG. 22, in the present modification, with respect to the first area (for example, page A) defined by the entry predicted to have high memory access locality, the transfer unit 28 transfers the data of the page A in page units. Transfers from the
一方、本変形例では、メモリアクセスローカリティが低いと予測されたエントリによって規定される第1領域(例えば、ページB)について、転送部28は、該ページBのデータをキャッシュライン単位で第2記憶部14Bからキャッシュメモリ16へ転送する。
On the other hand, in this modification, for the first area (for example, page B) defined by the entry predicted to have low memory access locality, the transfer unit 28 stores the data of the page B in the second cache line unit. Transfer from
すなわち、本変形例では、第2記憶部14B(SCM)上にあるページAとページBについて、管理装置18は、第1処理と第2処理を使い分けて実行する。言い換えると、管理装置18は、第1処理と第2処理を混在して実行する。
That is, in this modification, the
第1処理について説明する。第2記憶部14B(SCM)上にあるページAとページBの内、メモリアクセスローカリティの高いことが予想されるページAは、第1記憶部14A(DRAM)へページ単位で転送される。そして、管理テーブル31Bにおける、第1記憶部14A(DRAM)へ転送されたページAのアクセス情報は、処理回路12によるページAへのキャッシュライン単位のアクセスにより、アクセス済を示すアクセス情報“1”に更新される。そして、予測部26は、管理テーブル31Bにおける、アクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域(キャッシュライン)を予測する。そして、ページA内の将来アクセスされると予測されたキャッシュラインは、キャッシュライン単位でキャッシュメモリ16へ転送される。この一連の処理を、第1処理と称する。
The first process will be described. Of page A and page B on the
第2処理について説明する。管理テーブル31Bにおける、上記で第1記憶部14A(DRAM)へ転送されず第2記憶部14B(SCM)に残っているメモリアクセスローカリティの低いページBのアクセス情報は、処理回路12によるページBへのキャッシュライン単位のアクセスにより、アクセス済を示すアクセス情報“1”に更新される。そして、予測部26は、管理テーブル31Bにおける、アクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域(キャッシュライン)を予測する。そして、ページB内の将来アクセスされると予測されたキャッシュラインは、キャッシュライン単位でキャッシュメモリ16へ転送される。この一連の処理を、第2処理と称する。
The second process will be described. In the management table 31B, the access information of the page B having low memory access locality that is not transferred to the
次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図23は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of the information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS300)。 First, the update unit 24 obtains an access target address from the memory access request received from the processing circuit 12 via the access control unit 20 (step S300).
次に、更新部24は、ステップS300で受付けたメモリアクセス要求に示される第1領域のアドレス情報によって示されるページ番号を含むエントリEが、管理テーブル31Bにあるか否かを判断する(ステップS302)。 Next, the update unit 24 determines whether or not the entry E including the page number indicated by the address information of the first area indicated in the memory access request received in step S300 is in the management table 31B (step S302). ).
エントリEが管理テーブル31Bにない場合(ステップS302:No)、ステップS304へ進む。ステップS304では、更新部24が、管理テーブル30Aにおける、解放対象のエントリを特定し、解放する(ステップS304)。そして、更新部24は、新エントリEjを管理テーブル31Bに登録する(ステップS306)。 If the entry E is not in the management table 31B (step S302: No), the process proceeds to step S304. In step S304, the update unit 24 identifies and releases the entry to be released in the management table 30A (step S304). Then, the update unit 24 registers the new entry Ej in the management table 31B (step S306).
次に、予測部26は、ステップS300で受付けたメモリアクセス要求に示されるアクセス対象の第2領域を含む第1領域(すなわちページ)へのアクセスが、該第1領域に対する最初のアクセスであるか否かを判断する(ステップPS308)。ステップS308で否定判断すると(ステップS308:No)、後述するステップS326へ進む。ステップS308で肯定判断すると(ステップS308:Yes)、ステップS310へ進む。
Next, the
次に、予測部26が、新エントリEjの論理アドレスに対して、所定範囲内の論理アドレスを示す他のエントリE(エントリEh1、エントリEh2)を特定する(ステップS310)。
Next, the
次に、予測部26は、ステップS310で特定したこれらのエントリE(エントリEh1とエントリEh2)のアクセス管理情報が、所定条件を満たすか否かを判断する(ステップS312)。所定条件を満たさない場合(ステップS312:No)、後述するステップS326へ進む。
Next, the
所定条件を満たす場合(ステップS312:Yes)、ステップS314へ進む。ステップS314では、予測部26は、ステップS310で特定したエントリE(エントリEh1とエントリEh2)のアクセス管理情報から、新エントリEjに示される第1領域内の第2領域について、処理回路12によって将来アクセスされる第2領域を予測する(ステップS314)。
When the predetermined condition is satisfied (step S312: Yes), the process proceeds to step S314. In step S314, the
そして、予測部26は、新エントリEjにおける、ステップS314で予測した第2領域のアクセス情報をアクセス済“1”に更新する(ステップS316)。
Then, the
次に、転送部28は、新エントリEjによって示される第1領域内のデータを、ページ単位で第1記憶部14Aへ転送する(ステップS318)。次に、転送部28は、該第1領域内のデータにおける、ステップS314で将来アクセスされると予測された第2領域のデータを、キャッシュライン単位でキャッシュメモリ16へ転送する(ステップS320)。
Next, the transfer unit 28 transfers the data in the first region indicated by the new entry Ej to the
次に、転送部28は、管理テーブル31Bおよびページテーブルを更新する(ステップS322)。詳細には、転送部28は、管理テーブル31Bにおける、該新エントリEjに示される物理アドレスを、ステップS318の転送先の記憶部14(例えば、第1記憶部14A)を示す物理アドレスに更新する。また、転送部28は、ページテーブルにおける、転送した第1領域の論理アドレスに対応する物理アドレスを、ステップS318の転送先の記憶部14(例えば、第1記憶部14A)の物理アドレスに更新する。
Next, the transfer unit 28 updates the management table 31B and the page table (step S322). Specifically, the transfer unit 28 updates the physical address shown in the new entry Ej in the management table 31B to the physical address indicating the transfer destination storage unit 14 (for example, the
次に、更新部24が、管理テーブル31Bにおける、ステップS300で得たアドレスのアドレス情報によって示されるページ番号を規定したエントリEにおける、ステップS300で受付けたメモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS326)。 Next, the update unit 24 is the second access target shown in the memory access request received in step S300 in the entry E that defines the page number indicated by the address information of the address obtained in step S300 in the management table 31B. The access information of the area is updated to the accessed "1" (step S326).
次に、予測部26が、管理テーブル31Bのアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する(ステップS328)。
Next, the
そして、予測部26は、管理テーブル31Bにおける、ステップS328で予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS330)。
Then, the
次に、転送部28が、ステップS328で予測した第2領域内のデータを、キャッシュメモリ16へキャッシュライン単位で転送する(ステップS332)。すなわち、予測部26が所定条件を満たさないと判断した場合、転送部28は、処理回路12が将来アクセスすると予測した第2領域のデータを、キャッシュライン単位で第2記憶部14Bからキャッシュメモリ16へ直接転送する。
Next, the transfer unit 28 transfers the data in the second area predicted in step S328 to the
次に、転送部28は、ページテーブルにおける、ステップS332で転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14の格納先を示す物理アドレスに更新する(ステップS334)。そして、本ルーチンを終了する。 Next, the transfer unit 28 updates the physical address corresponding to the logical address of the second region transferred in step S332 in the page table to the physical address indicating the storage destination of the transfer destination storage unit 14 (step S334). .. Then, this routine is terminated.
以上説明したように、本変形例では、予測部26は、予測対象の第1領域の論理アドレスに対して、所定範囲内の論理アドレスを示す他の第1領域の識別情報に対応するアクセス管理情報に基づいて、予測対象の第1領域内について、処理回路12が将来アクセスする第2領域を予測する。
As described above, in the present modification, the
ここで、所定範囲内の論理アドレスを示す第1領域間の、処理回路12によるアクセス傾向は、近似する場合がある。特に、複数の第1領域にまたがる大きなデータが記憶部14に記憶されている場合などには、このような傾向が生じる。
Here, the access tendency by the processing circuit 12 between the first regions indicating the logical addresses within the predetermined range may be approximated. In particular, such a tendency occurs when a large amount of data spanning a plurality of first regions is stored in the
このため、予測部26が、本変形例の処理を行うことで、上記実施の形態の効果に加えて、より高精度に、処理回路12が将来アクセスする第2領域を予測することができる。
Therefore, by performing the processing of this modification, the
(変形例3)
図24は、本変形例の情報処理装置10Aの一例を示す模式図である。図24に示すように、情報処理装置10Aの処理回路12Aが、キャッシュメモリ16および管理装置18を備えた構成であってもよい。処理回路12Aは、キャッシュメモリ16および管理装置18を備えた点以外は、上記実施の形態の処理回路12と同様である。
(Modification 3)
FIG. 24 is a schematic view showing an example of the
(変形例4)
図25は、本変形例の情報処理装置10Bの一例を示す模式図である。図25に示すように、管理装置18Aが、キャッシュメモリ16、アクセス制御部20、管理部22、および記憶部14を備えた構成であってもよい。
(Modification example 4)
FIG. 25 is a schematic view showing an example of the
以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形例は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。 Although the embodiments and modifications of the present invention have been described above, these embodiments and modifications are presented as examples and are not intended to limit the scope of the invention. These novel embodiments and modifications can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and variations thereof are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalent scope thereof.
10、10A、10B 情報処理装置
12、12A 処理回路
14 記憶部
16 キャッシュメモリ
18、18A 管理装置
22 管理部
24 更新部
28 転送部
30 管理情報記憶部
10, 10A, 10B Information processing device 12,
Claims (23)
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第2領域の前記アクセス情報を、アクセス済に更新する更新部と、を備え、
前記予測部は、
前記アクセス管理情報における、第1期間に更新された前記アクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第2領域を予測する、
管理装置。 A management device that manages access to multiple types of storage units by a processing circuit.
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
A prediction unit that predicts the second region that the processing circuit will access in the future based on the access management information.
When a memory access request is received from the processing circuit, the management table includes an update unit that updates the access information of the second area of the access target indicated in the memory access request to have been accessed.
The prediction unit
In the access management information, the pattern indicated by the access information updated in the first period has priority over the pattern indicated by the access information updated in the second period of the timing prior to the first period. To predict the second region that the processing circuit will access in the future.
Management apparatus.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、を備え、
前記予測部は、
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第1領域の内、前記処理回路によるアクセス速度が第1の速度未満の種類の前記記憶部にデータを記憶されている前記第1領域内の前記第2領域について、前記第1の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第1領域に対して優先して、前記処理回路が将来アクセスする前記第2領域を予測する、
管理装置。 A management device that manages access to multiple types of storage units by a processing circuit.
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
A prediction unit that predicts the second region to be accessed in the future by the processing circuit based on the access management information is provided.
The prediction unit
Among the first regions identified by each of the plurality of identification information shown in the management table, the data is stored in the storage unit of a type in which the access speed by the processing circuit is less than the first speed. With respect to the second region in the first region, the processing circuit will access the second region in the future in preference to the first region in which data is stored in the storage unit of the type of access speed equal to or higher than the first speed. Predict the second region to be
Management device.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、
前記予測部が予測した前記第2領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送部と、を備え、
前記予測部は、
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する、
管理装置。 A management device that manages access to multiple types of storage units by a processing circuit.
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
A prediction unit that predicts the second region that the processing circuit will access in the future based on the access management information.
A transfer unit for transferring the data in the second region predicted by the prediction unit to another type of storage unit having a faster access speed by the processing circuit than the storage unit in which the data is stored is provided. ,
The prediction unit
The processing circuit is based on the access management information corresponding to other identification information of the first region indicating a logical address within a predetermined range with respect to the identification information of the first region to be predicted in the management table. Predict the second area that will be accessed in the future,
Management apparatus.
アクセス速度が互いに異なる、
請求項1〜請求項3の何れか1項に記載の管理装置。 The plurality of types of the storage units are
Access speeds are different from each other,
The management device according to any one of claims 1 to 3 .
請求項1に記載の管理装置。 The pattern is represented by a positional relationship in the storage unit of the second region in which the access information indicating access has been defined.
The management device according to claim 1 .
前記アクセス管理情報における、前記更新部によって直前に更新された前記アクセス情報を含む複数の前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項1に記載の管理装置。 The prediction unit
The second region to be accessed in the future by the processing circuit is predicted according to the pattern indicated by the plurality of access information including the access information updated immediately before by the update unit in the access management information.
The management device according to claim 1 .
前記アクセス管理情報における、一定期間に更新された前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項1に記載の管理装置。 The prediction unit
According to the pattern indicated by the access information updated in a certain period of time in the access management information, the second region to be accessed in the future by the processing circuit is predicted.
The management device according to claim 1 .
予測した前記第2領域を含む前記第1領域の識別情報が前記管理テーブルに未登録の場合、
前記管理テーブルに該第1領域の識別情報を含む新たなエントリを追加し、該エントリに該第1領域の識別情報および物理アドレスを登録する、
請求項1〜請求項3の何れか1項に記載の管理装置。 The prediction unit
When the predicted identification information of the first area including the second area is not registered in the management table,
A new entry including the identification information of the first area is added to the management table, and the identification information and the physical address of the first area are registered in the entry.
The management device according to any one of claims 1 to 3 .
前記管理テーブルにおける、予測した前記第2領域の前記アクセス情報を、アクセス済に更新する、
請求項1〜請求項8の何れか1項に記載の管理装置。 The prediction unit
The predicted access information of the second area in the management table is updated as accessed.
The management device according to any one of claims 1 to 8 .
前記予測部は、
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する前記アクセス管理情報が所定条件を満たす場合、該識別情報に対応する前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測し、
前記転送部は、
前記所定条件を満たすと判断した場合、予測対象の前記第1領域のデータを該第1領域の単位で前記第2記憶部から前記第1記憶部へ転送する、
請求項3に記載の管理装置。 The plurality of types of the storage units include a first storage unit and a second storage unit having a slower access speed than the first storage unit.
The prediction unit
When the access management information corresponding to the other identification information of the first region indicating the logical address within the predetermined range with respect to the identification information of the first region to be predicted in the management table satisfies the predetermined condition, the said. Based on the access management information corresponding to the identification information, the second region to be accessed in the future by the processing circuit is predicted.
The transfer unit
When it is determined that the predetermined condition is satisfied, the data of the first region to be predicted is transferred from the second storage unit to the first storage unit in units of the first region.
The management device according to claim 3 .
予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域に、アクセス済を示す前記アクセス情報を規定された前記第2領域の数が第1閾値以上の前記第1領域が所定割合以上含まれる場合、前記所定条件を満たすと判断する、
請求項10に記載の管理装置。 The prediction unit
The number of the second area in which the access information indicating that the access has been completed is defined in the other first area indicating the logical address within the predetermined range with respect to the identification information of the first area to be predicted is the first threshold value. When the above-mentioned first region is included in a predetermined ratio or more, it is determined that the predetermined condition is satisfied.
The management device according to claim 10 .
前記転送部は、
前記予測部が前記所定条件を満たすと判断した場合、前記処理回路が将来アクセスすると予測した前記第2領域のデータを、前記キャッシュメモリへ転送する、
請求項10または請求項11に記載の管理装置。 The plurality of types of the storage units include a cache memory, the first storage unit having a slower access speed than the cache memory, and the second storage unit.
The transfer unit
When the prediction unit determines that the predetermined condition is satisfied, the data in the second region predicted to be accessed by the processing circuit in the future is transferred to the cache memory.
The management device according to claim 10 or 11 .
前記予測部が前記所定条件を満たさないと判断した場合、前記処理回路が将来アクセスすると予測した前記第2領域のデータを、前記第2領域の単位で前記第2記憶部から前記キャッシュメモリへ直接転送する、
請求項12に記載の管理装置。 The transfer unit
When the prediction unit determines that the predetermined condition is not satisfied, the data in the second region predicted to be accessed by the processing circuit in the future is directly transmitted from the second storage unit to the cache memory in units of the second region. Forward,
The management device according to claim 12 .
前記第1領域の識別情報としての論理アドレスと、前記記憶部における前記第1領域の物理アドレスと、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応づけてなる、
請求項1〜請求項13の何れか1項に記載の管理装置。 The management table is
For each of the logical address as the identification information of the first region, the physical address of the first region in the storage unit, and the plurality of second regions included in the first region, the second region is described. The access management information that defines the access information indicating whether or not the access has been made by the processing circuit is associated with the access management information.
The management device according to any one of claims 1 to 13 .
複数種類の記憶部と、
複数種類の前記記憶部に対するアクセスを管理する管理装置と、
を備え、
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記管理装置は、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第2領域の前記アクセス情報を、アクセス済に更新する更新部と、を備え、
前記予測部は、
前記アクセス管理情報における、第1期間に更新された前記アクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第2領域を予測する、
情報処理装置。 With the processing circuit
With multiple types of storage
A management device that manages access to a plurality of types of the storage units, and
With
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The management device is
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
A prediction unit that predicts the second region that the processing circuit will access in the future based on the access management information.
When a memory access request is received from the processing circuit, the management table includes an update unit that updates the access information of the second area of the access target indicated in the memory access request to have been accessed.
The prediction unit
In the access management information, the pattern indicated by the access information updated in the first period has priority over the pattern indicated by the access information updated in the second period of the timing prior to the first period. To predict the second region that the processing circuit will access in the future.
Information processing apparatus.
複数種類の記憶部と、 With multiple types of storage
複数種類の前記記憶部に対するアクセスを管理する管理装置と、 A management device that manages access to a plurality of types of the storage units, and
を備え、 With
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記管理装置は、 The management device
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、を備え、 A prediction unit that predicts the second region to be accessed in the future by the processing circuit based on the access management information is provided.
前記予測部は、 The prediction unit
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第1領域の内、前記処理回路によるアクセス速度が第1の速度未満の種類の前記記憶部にデータを記憶されている前記第1領域内の前記第2領域について、前記第1の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第1領域に対して優先して、前記処理回路が将来アクセスする前記第2領域を予測する、 Among the first regions identified by each of the plurality of identification information shown in the management table, the data is stored in the storage unit of a type in which the access speed by the processing circuit is less than the first speed. With respect to the second region in the first region, the processing circuit will access the second region in the future in preference to the first region in which data is stored in the storage unit of the type of access speed equal to or higher than the first speed. Predict the second region to be
情報処理装置。 Information processing device.
複数種類の記憶部と、 With multiple types of storage
複数種類の前記記憶部に対するアクセスを管理する管理装置と、 A management device that manages access to a plurality of types of the storage units, and
を備え、 With
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記管理装置は、 The management device
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management unit that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、 A prediction unit that predicts the second region that the processing circuit will access in the future based on the access management information.
前記予測部が予測した前記第2領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送部と、を備え、 A transfer unit for transferring the data in the second region predicted by the prediction unit to another type of storage unit having a faster access speed by the processing circuit than the storage unit in which the data is stored is provided. ,
前記予測部は、 The prediction unit
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する、 The processing circuit is based on the access management information corresponding to other identification information of the first region indicating a logical address within a predetermined range with respect to the identification information of the first region to be predicted in the management table. Predict the second area that will be accessed in the future,
情報処理装置。 Information processing device.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第2領域の前記アクセス情報を、アクセス済に更新する更新ステップと、を含み、
前記予測ステップは、
前記アクセス管理情報における、第1期間に更新された前記アクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第2領域を予測する、
管理方法。 It is a management method in a management device that manages access to a plurality of types of storage units by a processing circuit.
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
A prediction step for predicting the second region to be accessed in the future by the processing circuit based on the access management information.
When a memory access request is received from the processing circuit, the management table includes an update step of updating the access information of the second region of the access target indicated in the memory access request to access.
The prediction step
In the access management information, the pattern indicated by the access information updated in the first period has priority over the pattern indicated by the access information updated in the second period of the timing prior to the first period. To predict the second region that the processing circuit will access in the future.
Management method.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、を含み、 Includes a prediction step that predicts the second region that the processing circuit will access in the future based on the access management information.
前記予測ステップは、 The prediction step
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第1領域の内、前記処理回路によるアクセス速度が第1の速度未満の種類の前記記憶部にデータを記憶されている前記第1領域内の前記第2領域について、前記第1の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第1領域に対して優先して、前記処理回路が将来アクセスする前記第2領域を予測する、 Among the first regions identified by each of the plurality of identification information shown in the management table, the data is stored in the storage unit of a type in which the access speed by the processing circuit is less than the first speed. With respect to the second region in the first region, the processing circuit will access the second region in the future in preference to the first region in which data is stored in the storage unit of the type of access speed equal to or higher than the first speed. Predict the second region to be
管理方法。 Management method.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、 A prediction step for predicting the second region to be accessed in the future by the processing circuit based on the access management information.
前記予測ステップが予測した前記第2領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送ステップと、を含み、 A transfer step of transferring the data in the second region predicted by the prediction step from the storage unit in which the data is stored to another type of storage unit having a faster access speed by the processing circuit is included. ,
前記予測ステップは、 The prediction step
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する、 The processing circuit is based on the access management information corresponding to other identification information of the first region indicating a logical address within a predetermined range with respect to the identification information of the first region to be predicted in the management table. Predict the second area that will be accessed in the future,
管理方法。 Management method.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第2領域の前記アクセス情報を、アクセス済に更新する更新ステップと、を前記コンピュータに実行させ、
前記予測ステップは、
前記アクセス管理情報における、第1期間に更新された前記アクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第2領域を予測する、
プログラム。 It is a program to be executed by a computer that manages access to multiple types of storage units by a processing circuit.
The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
A prediction step for predicting the second region to be accessed in the future by the processing circuit based on the access management information.
When the memory access request is received from the processing circuit, the computer updates the access information of the second area of the access target indicated by the memory access request in the management table to be accessed. To run
The prediction step
In the access management information, the pattern indicated by the access information updated in the first period has priority over the pattern indicated by the access information updated in the second period of the timing prior to the first period. To predict the second region that the processing circuit will access in the future.
Program.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、を前記コンピュータに実行させ、 Based on the access management information, the computer is made to perform a prediction step of predicting the second region to be accessed in the future by the processing circuit.
前記予測ステップは、 The prediction step
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第1領域の内、前記処理回路によるアクセス速度が第1の速度未満の種類の前記記憶部にデータを記憶されている前記第1領域内の前記第2領域について、前記第1の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第1領域に対して優先して、前記処理回路が将来アクセスする前記第2領域を予測する、 Among the first regions identified by each of the plurality of identification information shown in the management table, the data is stored in the storage unit of a type in which the access speed by the processing circuit is less than the first speed. With respect to the second region in the first region, the processing circuit will access the second region in the future in preference to the first region in which data is stored in the storage unit of the type of access speed equal to or higher than the first speed. Predict the second region to be
プログラム。 program.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、 The storage unit includes a plurality of first regions, and the first region includes a plurality of second regions.
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、 The identification information of the first region and the access information indicating whether or not the second region has been accessed by the processing circuit are defined for each of the plurality of second regions included in the first region. A management step that manages a management table that associates access management information with
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、 A prediction step for predicting the second region to be accessed in the future by the processing circuit based on the access management information.
前記予測ステップが予測した前記第2領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送ステップと、を前記コンピュータに実行させ、 The transfer step of transferring the data in the second region predicted by the prediction step from the storage unit in which the data is stored to another type of storage unit having a faster access speed by the processing circuit. Let the computer run
前記予測ステップは、 The prediction step
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する、 The processing circuit is based on the access management information corresponding to other identification information of the first region indicating a logical address within a predetermined range with respect to the identification information of the first region to be predicted in the management table. Predict the second area that will be accessed in the future,
プログラム。 program.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018051309A JP6786541B2 (en) | 2018-03-19 | 2018-03-19 | Management equipment, information processing equipment, management methods, and programs |
US16/121,337 US10725675B2 (en) | 2018-03-19 | 2018-09-04 | Management apparatus, information processing apparatus, management method, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018051309A JP6786541B2 (en) | 2018-03-19 | 2018-03-19 | Management equipment, information processing equipment, management methods, and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019164497A JP2019164497A (en) | 2019-09-26 |
JP6786541B2 true JP6786541B2 (en) | 2020-11-18 |
Family
ID=68064501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018051309A Active JP6786541B2 (en) | 2018-03-19 | 2018-03-19 | Management equipment, information processing equipment, management methods, and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6786541B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386679B2 (en) * | 2004-04-15 | 2008-06-10 | International Business Machines Corporation | System, method and storage medium for memory management |
JP4692678B2 (en) * | 2007-06-19 | 2011-06-01 | 富士通株式会社 | Information processing device |
US8683136B2 (en) * | 2010-12-22 | 2014-03-25 | Intel Corporation | Apparatus and method for improving data prefetching efficiency using history based prefetching |
JP2017138852A (en) * | 2016-02-04 | 2017-08-10 | 株式会社東芝 | Information processing device, storage device and program |
-
2018
- 2018-03-19 JP JP2018051309A patent/JP6786541B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019164497A (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5348429B2 (en) | Cache coherence protocol for persistent memory | |
US9075730B2 (en) | Mechanisms to bound the presence of cache blocks with specific properties in caches | |
JP5528554B2 (en) | Block-based non-transparent cache | |
KR102423713B1 (en) | Use of multiple memory elements in the input-output memory management unit to perform virtual address to physical address translation | |
US8380933B2 (en) | Multiprocessor system including processor cores and a shared memory | |
EP2472412B1 (en) | Explicitly regioned memory organization in a network element | |
US20100325374A1 (en) | Dynamically configuring memory interleaving for locality and performance isolation | |
US10402338B2 (en) | Method and apparatus for erase block granularity eviction in host based caching | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
US20180095884A1 (en) | Mass storage cache in non volatile level of multi-level system memory | |
US10705977B2 (en) | Method of dirty cache line eviction | |
JP6027562B2 (en) | Cache memory system and processor system | |
KR20180122969A (en) | A multi processor system and a method for managing data of processor included in the system | |
JP2007156821A (en) | Cache system and shared secondary cache | |
US9996478B1 (en) | No allocate cache policy | |
KR20150038367A (en) | System cache with sticky removal engine | |
JP2020046761A (en) | Management device, information processing apparatus and memory control method | |
EP3724774B1 (en) | Rinsing cache lines from a common memory page to memory | |
JP6786541B2 (en) | Management equipment, information processing equipment, management methods, and programs | |
US10725675B2 (en) | Management apparatus, information processing apparatus, management method, and computer program product | |
JP2010128698A (en) | Multiprocessor system | |
JP7024127B2 (en) | Management equipment, information processing equipment, management methods, and programs | |
JP2019164411A (en) | Management device, information processing device, management method, and program | |
US7840757B2 (en) | Method and apparatus for providing high speed memory for a processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200915 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201028 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6786541 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |