JP2019164497A - Management device, information processing device, management method, and program - Google Patents
Management device, information processing device, management method, and program Download PDFInfo
- Publication number
- JP2019164497A JP2019164497A JP2018051309A JP2018051309A JP2019164497A JP 2019164497 A JP2019164497 A JP 2019164497A JP 2018051309 A JP2018051309 A JP 2018051309A JP 2018051309 A JP2018051309 A JP 2018051309A JP 2019164497 A JP2019164497 A JP 2019164497A
- Authority
- JP
- Japan
- Prior art keywords
- area
- access
- management
- processing circuit
- 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.)
- Granted
Links
Images
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明の実施形態は、管理装置、情報処理装置、管理方法、およびプログラムに関する。 Embodiments described herein relate generally to a management apparatus, an information processing apparatus, a management method, and a program.
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 (Magnetic Resistive Random Access Memory), ReRAM (Resistive RAM), and PCM (Phase-Change Memory) have been developed. The SCM has a slower access speed than a DRAM (Dynamic Random Access Memory), but can be used as a large-capacity main memory due to its high degree of integration. When the 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 is increased. This results in an increase in processing time.
そこで、CPUなどの処理回路が将来アクセスするデータを予測し、アクセス前にCPUがより高速にアクセスできるメモリへ転送させデータ到着待ち時間を短縮し処理を高速化することが考えられる。しかし、従来では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。例えば、従来では、アクセス済であるか否かを示す情報を、ページ単位でページテーブルに記録する方法が開示されている。しかし、ページ内の何れの領域にアクセスがなされたかの管理がなされておらず、従来技術では、処理回路が将来アクセスするデータを高精度に予測することは困難であった。 Therefore, it is conceivable to predict data to be accessed in the future by a processing circuit such as a CPU, and transfer the data to a memory that can be accessed at a higher speed before the access, thereby shortening the data arrival waiting time and speeding up the processing. However, conventionally, it has been difficult to predict with high accuracy the data that the processing circuit will access in the future. For example, conventionally, a method has been disclosed in which information indicating whether access has been completed is recorded in a page table in units of pages. However, which area in the page is accessed is not managed, and it has been difficult for the conventional technology to predict data to be accessed in the future by the processing circuit with high accuracy.
本発明が解決しようとする課題は、処理回路が将来アクセスするデータを高精度に予測することの可能な、管理装置、情報処理装置、管理方法、およびプログラムを提供することである。 The problem 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 accurately predicting data to be accessed in the future by a processing circuit.
実施形態の管理装置は、処理回路による複数種類の記憶部に対するアクセスを管理する。前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含む。管理装置は、管理部と、予測部と、を備える。管理部は、管理テーブルを管理する。管理テーブルは、前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けたテーブルである。予測部は、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する。 The management apparatus according to the embodiment manages access to a plurality of types of storage units by a processing circuit. The storage unit includes a plurality of first areas, and the first area includes a plurality of second areas. The management device includes a management unit and a prediction unit. The management unit manages the management table. The management table indicates whether the second area has been accessed by the processing circuit for each of the identification information of the first area and each of the plurality of second areas included in the first area. It is the table which matched the access management information which prescribed | regulated information. The prediction unit predicts the second area that the processing circuit will access in the future based on the access management information.
以下に添付図面を参照して、本実施の形態の詳細を説明する。 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 illustrating 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 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
第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, a 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 a method of accessing the
図1に戻り説明を続ける。なお、第1記憶部14A、および第2記憶部14Bを総称して説明する場合には、単に、記憶部14と称して説明する。
Returning to FIG. Note that 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 viewed from the processing circuit 12.
図3に示すように、第1記憶部14Aおよび第2記憶部14Bは、それぞれ、複数の第1領域を含む。
As shown in FIG. 3, each of the
第1領域は、例えば、処理回路12あるいは処理回路上で動作するOS(Operating System)によるデータの管理単位(例えば、ページ)である。例えば、4KBなどである。なお、第1領域は、処理回路12あるいは処理回路上で動作するOSによるデータの管理単位の所定数倍の単位などであってもよい。本実施の形態では、第1領域が、ページに相当する場合を、一例として説明する。 The first area is, for example, a data management unit (for example, page) by the processing circuit 12 or an OS (Operating System) operating on the processing circuit. For example, 4 KB. Note that the first area may be a unit of a predetermined number of data management units by the processing circuit 12 or the OS operating on the processing circuit. In the present embodiment, a case where the first region corresponds to a page will be described as an example.
第2領域は、第1領域より小さい領域である。例えば、第2領域は、処理回路12が記憶部14上のデータを読み書きする単位である。具体的には、第2領域は、キャッシュライン単位である。すなわち、処理回路12は、キャッシュラインの単位で、第1記憶部14Aまたは第2記憶部14Bにアクセスする。
The second area is an area smaller than the first area. For example, the second area 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 area may be a unit (for example, byte unit) smaller than the cache line.
本実施の形態では、処理回路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を組み合わせて主記憶として用いる場合を一例として説明する。
In addition, the
図1に戻り、説明を続ける。管理装置18は、複数種類の記憶部14に対する処理回路12によるアクセスを管理する。管理装置18は、例えば、メモリ管理ユニット(MMU:Memory Management Unit)である。
Returning to FIG. 1, the description 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 identification information of the first area is associated with access management information. That is, a plurality of entries E in which the identification information of the first area and the access management information are associated on a one-to-one basis are registered in the management table 31A.
第1領域の識別情報は、第1記憶部14Aおよび第2記憶部14Bの各々の第1領域を識別するための情報である。
The identification information of the first area is information for identifying the first areas of the
本実施の形態では、上述したように第1領域がページに相当する場合を説明する。このため、本実施の形態では、第1領域の識別情報が、ページ番号である場合を一例として説明する。また、以下では、第1領域の識別情報を、ページ番号と称して説明する場合がある。 In the present embodiment, as described above, a case where the first area corresponds to a page will be described. For this reason, in this Embodiment, the case where the identification information of a 1st area | region is a page number is demonstrated as an example. In the following description, the identification information of the first area may be referred to as a page number.
また、本実施の形態では、管理テーブル31Aに登録されている第1領域の識別情報は、論理アドレスによって表される。すなわち、本実施の形態では、第1領域の識別情報は論理アドレス空間におけるページ番号で表される。このため、情報処理装置10では、ページテーブルにおける論理アドレスに対応する物理アドレスを特定することで、管理テーブル31Aに示されるページ番号が、何れの種類の記憶部14(第1記憶部14A、第2記憶部14B)内のページ番号を示すかを、特定可能である。
In the present embodiment, the identification information of the first area registered in the management table 31A is represented by a logical address. That is, in the present embodiment, the identification information of the first area is represented by a page number in the logical address space. For this reason, in the
アクセス管理情報は、対応するページ番号によって識別される第1領域に含まれる複数の第2領域の各々ごとに、アクセス情報を規定したものである。 The access management information defines access information for each of a 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 area has been accessed by the processing circuit 12. In the example illustrated in FIG. 4, the access information “0” indicates a second area that has not been accessed by the processing circuit 12. The access information “1” indicates the second area 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 second areas are assigned to one page (one first area). For example, assume that the size of one page (first area) is 4K bytes. Further, it is assumed that the size of the cache line which is the second area is 64 bytes. In this case, one first region has 64 second regions. 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 illustrating an example of a data configuration of the management table 31B. The management table 31B is obtained by further associating 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 having the data configuration shown in FIG. 5, the management table 31A (see FIG. 4) and the TLB (Translation Lookaside Buffer) functioning as a page table cache can be integrated and managed. That is, the processing circuit 12 can search both the physical address of the TLB and the access management information of each second area by using the logical address as a search key. Therefore, by using the management table 31B, it is possible to provide hardware for associative memory that searches the entry E using the page number represented by the logical address as a search key. The entry E in the management table 31B is a one-to-one correspondence between logical addresses, physical addresses, and access management information.
図1に戻り説明を続ける。管理部22は、更新部24と、予測部26と、転送部28と、管理情報記憶部30と、を有する。
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 31 </ b> A when a memory access request is received from the processing circuit 12. More specifically, the update unit 24 accesses the access information of the second area to be accessed indicated by the memory access request corresponding to the page number indicating the first area to be accessed indicated by the memory access request in the management table 31A. Is updated to “1”. Note that the initial value of the access information in the management table 31A is “0” which is not accessed, and is updated to “1” which has been accessed by the updating unit 24.
具体的には、処理回路12から受付けたメモリアクセス要求に示されるアクセス対象のデータが、キャッシュメモリ16に格納されていなかったと仮定する。この場合、アクセス制御部20が、該メモリアクセス要求に基づいて記憶部14へアクセスする。すると、更新部24は、アクセス制御部20から該メモリアクセス要求を受付ける。
Specifically, it is assumed that the access target data indicated in the memory access request received from the processing circuit 12 is not stored in the
そして、更新部24は、受付けたメモリアクセス要求に基づいて、処理回路12によってアクセスされた第2領域のアクセス情報を、アクセス未“0”からアクセス済“1”に更新する。 Then, the update unit 24 updates the access information of the second area accessed by the processing circuit 12 from “0” not accessed to “1” accessed based on the received memory access request.
なお、更新部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 changes the access information of the second area accessed by the processing circuit 12 from the unaccessed “0” to the accessed “1” only when the memory access request indicates data writing to the
このように、更新部24は、処理回路12によって記憶部14からデータの読み出しや、データの書込みなどのアクセスが実行されるごとに、管理テーブル31Aのアクセス情報を更新する。
In this way, the update unit 24 updates the access information in the management table 31A every time the processing circuit 12 performs an access such as reading data from the
このため、管理テーブル31Aのアクセス管理情報には、ページ番号によって識別される第1領域内の第2領域に対して、処理回路12がどのようなパターンのメモリアクセス要求を発行したかが示されることとなる。 Therefore, the access management information in the management table 31A indicates what pattern the memory access request has issued to the second area in the first area identified by the page number. It will be.
なお、メモリアクセス要求に示される第1領域の論理アドレスによって示されるページ番号が、管理テーブル31Aに存在しない場合がある。すなわち、メモリアクセス要求に示される、アクセス対象の第1領域のエントリEが、管理テーブル31Aに存在しない場合がある。 Note that 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 indicated 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. For this reason, 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, the update unit 24 preferably specifies the entry E to be released using an algorithm such as LRU (Least Recently Used). By using this method, the updating unit 24 can specify the entry E that is least used, the entry E that has not been used for a long time, or the entry E that is not frequently referenced 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 accepted memory access request in the newly created entry E. Then, the updating unit 24 registers “0” as no access as the access information of all the second areas 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 second area to be accessed indicated in the memory access request in the newly created entry E to “1” that has been accessed. In the following description, 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による予測のタイミングは限定されない。
Note that 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領域を予測してもよい。
In addition, 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 prediction is performed every time the access information of the second area in the management table 31A is updated by the update unit 24, the
例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、更新部24によって直前に更新されたアクセス情報を含む、複数のアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測する。
For example, in the access management information of the management table 31A, the
図6および図7は、将来アクセスする第2領域の予測の一例の説明図である。 6 and 7 are explanatory diagrams of an example of prediction of the second area 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 that is third from the start address in the first area whose page number is defined in the entry E1 is updated by the updating 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領域として予測する場合を示した。
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 assumed that the updating unit 24 updates the access information of the second area C7, which is the seventh area from the top address, in the first area where the page number is defined in the entry EX of the management table 31A. Assume. At this time, it is assumed that every second access information is accessed “1” 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 predicting
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図7に示す状態となる(図7のエントリEX’参照)。
Then, the
また、例えば、予測部26は、アクセス管理情報における、一定期間に更新されたアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測してもよい。一定期間とは、更新部24がアクセス情報を更新したタイミングを基準とし、該基準のタイミングから所定の時間遡ったタイミングまでの期間である。この一定期間は、予め定めればよい。
In addition, for example, the
図8および図9は、将来アクセスする第2領域の予測の一例の説明図である。 8 and 9 are explanatory diagrams of an example of predicting the second area 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 access information of the second area C3 that is the third from the start address in the first area whose page number is defined in the entry E1 is updated by the updating unit 24. At this time, it is assumed that the first second area C1 and the next second area C2 have been updated to “1” that has been accessed within a certain period T that goes back from the update timing of the second area 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は、一定期間に更新されたアクセス情報が無い場合には、予測を行わなくてもよい。
Note that the
例えば、図9に示すように、例えば、エントリEYにページ番号を規定された第1領域内の、先頭アドレスから3番目の第2領域C3のアクセス情報が、更新部24によって更新されたと仮定する。このとき、この第2領域C3の更新タイミングから遡った一定期間Tではなく、該一定期間Tより前の(過去の)タイミングの期間T’に、先頭の第2領域C1と次の第2領域C2が、アクセス済“1”に更新されていたと仮定する。 For example, as illustrated in FIG. 9, it is assumed that, for example, the update unit 24 updates the access information of the second area C3 that is the third from the start address in the first area that is defined by the page number in the entry EY. . At this time, the first second area C1 and the next second area are not in a fixed period T that goes back from the update timing of the second area C3, but in a period T ′ that is earlier (past) timing than the fixed period T. Assume 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 the prediction is performed every predetermined period, the
例えば、予測部26は、管理テーブル31Aにおける、一定期間内にアクセス済“1”に更新された第2領域の数に応じて、該数と一致または該数に近い数の第2領域を、将来アクセスする第2領域として予測する。
For example, in accordance with the number of second areas that have been updated to “1” that has been accessed within a certain period in the management table 31A, the
ここで、予測部26は、管理テーブル31Aにおけるアクセス管理情報に対して、複数の一定期間を特定し、特定した一定期間ごとに、該一定期間のアクセス情報によって示されるパターンを用いて、将来アクセスする第2領域を予測してもよい。
Here, the
例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、第1期間に更新されたアクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新されたアクセス情報によって示されるパターンに対して優先して用いて、処理回路12が将来アクセスする第2領域を予測する。
For example, the
また、予測部26は、第1期間および第2期間の内、単位時間内に、より多くのアクセス情報をアクセス済“1”に更新された期間を特定する。そして、予測部26は、特定した期間(第1期間または第2期間)のアクセス情報によって示されるパターンを優先して用いて、将来アクセスする第2領域を予測してもよい。
Further, the
なお、優先して用いる、とは、予測、または、予測および予測した第2領域内のデータの他の記憶部14への転送、を先に実行することを意味する。また、優先して用いる、とは、優先度の高い方のみを予測し、優先度の低い方を予測しないことを意味してもよい。また、優先して用いる、とは、優先度の高い方のみを予測およびデータ転送し、優先度の低い方を予測およびデータ転送しないことを意味してもよい。なお、予測した第2領域内のデータの転送は、後述する転送部28によって行われる(詳細後述)。
Note that using preferentially means that the prediction or the transfer of the predicted and predicted data in the second area to the
図10〜図12を用いて具体的に説明する。図10〜図12は、将来アクセスする第2領域の予測の一例の説明図である。 This will be specifically described with reference to FIGS. 10 to 12 are explanatory diagrams illustrating an example of prediction of the second area 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 whose page number is defined in the entry E1 of the management table 31A has been accessed within the first period T1. Assume that it has been updated to “1”. It is assumed that the timing at which the access information of each of the second area C1 to the second area C3 is updated to the accessed “1” is the timing t3 to t5 in 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 whose page number is defined in the entry EZ of the management table 31A has been accessed within the second period T2. Assume that it has been updated to “1”. It is assumed that the timing at which the access information of each of the second area C1 to the second area C3 is updated to “1” that has been accessed is the timing t0 to t2 in 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 approaches the current timing T0 toward the timing t5. In addition, the second period represented by the timings t0 to t2 is longer than the first period represented by the timings t3 to t5. For this reason, the number of updates of access information per unit time in the first period T1 is larger than that in the second period T2. 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 illustrated 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 illustrated in FIG. 11, the
そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリEZ’のアクセス管理情報は、図11に示す状態となる(図11のエントリEZ’参照)。
Then, the
なお、優先度の低い第2期間T2のアクセス情報について、予測部26は、予測に用いるパターンとして用いなくてもよい。この場合、予測部26は、図11に示すエントリEZについて、将来アクセスする第2領域を予測しなくてもよい。
In addition, about the access information of 2nd period T2 with a low priority, 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 determined in advance. In the present embodiment, description will be made assuming 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 diagrams illustrating an example of prediction of the second area to be accessed in the future.
図13に示すように、例えば、管理テーブル31AのエントリE1にページ番号を規定された第1領域内のデータが、第2記憶部14Bに記憶されていると仮定する。また、図14に示すように、管理テーブル31AのエントリEZにページ番号を規定された第1領域内のデータが、第1記憶部14Aに記憶されていると仮定する。
As illustrated in FIG. 13, for example, it is assumed that data in the first area whose page number is defined 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 illustrated 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へ転送する。なお、本実施の形態では、“転送”とは、コピーを意味してもよいし、元データを削除される移動を意味してもよい。
Returning to FIG. Next, the transfer unit 28 will be described. The transfer unit 28 transfers the data in the second area predicted by the
例えば、将来アクセスすると予測された第2領域内のデータが、第1記憶部14Aに記憶されていると仮定する。この場合、転送部28は、第1記憶部14Aに記憶されている該第2領域内のデータを、キャッシュメモリ16へ転送する。
For example, it is assumed that data in the second area predicted to be accessed in the future is stored in the
また、例えば、将来アクセスすると予測された第2領域内のデータが、第2記憶部14Bに記憶されていると仮定する。この場合、転送部28は、第2記憶部14Bに記憶されている該第2領域内のデータを、第1記憶部14Aまたはキャッシュメモリ16へ転送する。
For example, it is assumed that data in the second area 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 area is not limited. For example, the transfer unit 28 transfers the data in the second area to the
また、転送部28は、所定時間ごとや、予測部26が最後に予測してから所定時間経過した後の所定のタイミングで、予測された第2領域内のデータを、よりアクセス速度の速い記憶部14またはキャッシュメモリ16へ転送してもよい。例えば、転送部28は、処理回路12による記憶部14へのアクセスが少ない期間に、データの転送を行ってもよい。
In addition, the transfer unit 28 stores the predicted data in the second area at a higher access speed every predetermined time or at a predetermined timing after a predetermined time has elapsed since the
そして、転送部28は、第2記憶部14Bから第1記憶部14Aへページ単位でデータを転送させた場合、ページテーブルにおける、転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14における位置を示す物理アドレスに更新する。このため、処理回路12は、該データにアクセスするときに、転送先の記憶部14に直接アクセスすることが可能となる。なお、ページテーブルの更新は、予測部26が行ってもよい。
When the transfer unit 28 transfers data from the
次に、本実施の形態の情報処理装置10が実行する情報処理の手順の一例を説明する。図16は、情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of an information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS100)。 First, the update unit 24 obtains an access target address from a 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, in the entry E that defines the page number indicated by the address information of the address obtained in step S100 in the management table 31A, the update unit 24 specifies the second access target indicated by the memory access request accepted in step S100. The area access information is updated to “1” that has been accessed (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 stores the data in the second area predicted in step S104 in 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 area transferred in step S108 in the page table as the transfer destination storage. The physical address indicating the storage destination of the
なお、上述したように、予測部26が、第1期間T1に更新されたアクセス情報によって示されるパターンを、該第1期間T1より前のタイミングである第2期間T2に更新されたアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第2領域を予測する場合がある。
Note that, as described above, the
また、予測部26が、アクセス速度が第1の速度未満の種類の第2記憶部14Bにデータを記憶されている第2領域について、第1の速度以上のアクセス速度の第1記憶部14Aにデータを記憶されている第2領域に優先して、将来アクセスする第2領域を予測する場合がある。
In addition, the
これらの場合、情報処理装置10では、上述したように、予測部26による予測のみを優先して行ってもよいし、予測部26による予測および転送部28による転送を、優先して行ってもよい。
In these cases, as described above, the
予測部26による予測および転送部28による転送を優先して行う場合には、例えば、予測部26が優先して予測した第2領域を、優先度の低い第2領域より先に、よりアクセス速度の速い記憶部14へ転送する。そして、次に、予測部26が、優先度の低い第2領域を予測したときに、該予測した第2領域のデータをアクセス速度の速い記憶部14へ転送すればよい。
In the case where 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領域を予測することができる。
In the
従って、管理装置18は、処理回路12が将来アクセスするデータを高精度に予測することができる。
Therefore, the
また、本実施の形態では、転送部28が、予測部26によって予測された第2領域内のデータを、該データの記憶されている記憶部14より処理回路12によるアクセス速度の速い他の種類の記憶部14へ転送する。
In the present embodiment, the transfer unit 28 uses other types of data in the second area predicted by the
このため、本実施の形態の管理装置18では、処理回路12によってアクセスされる前に、将来アクセスされると予測した第2領域内のデータを、該データの記憶されている記憶部14(例えば第2記憶部14B)よりアクセス速度の速い記憶部14(例えば、第1記憶部14Aまたはキャッシュメモリ16)に転送することができる。
Therefore, in the
このため、本実施の形態の管理装置18では、上記効果に加えて、処理回路12によるアクセス速度の向上や、処理時間の短縮、処理性能の向上、および、処理時間の短縮による低消費電力化を図ることができる。
For this reason, in addition to the above effects, the
(変形例1)
なお、予測部26は、管理テーブル31のアクセス管理情報に基づいて、将来アクセスする第2領域を予測すればよく、予測部26による予測方法は、上記実施の形態で挙げた方法に限定されない。
(Modification 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 diagrams illustrating an example of prediction of 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 in the first region defined page number in the
そして、図18に示すように、予測部26が、該エントリEzに規定された第1領域のページ番号“0f064381”に対して、次のページ番号“0f064382”の第1領域内の第2領域C1を、将来アクセスする第2領域として予測したと仮定する。
Then, as illustrated 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に論理アドレスおよび物理アドレスを登録する。
As described above, the
このため、処理回路12による該第2領域のデータへのアクセス時に、TLBとしての機能も有する管理テーブル31Bに該当するエントリEが存在しないことが回避され、TLBミスの発生を抑制することができる。 For this reason, when the processing circuit 12 accesses the data in the second area, it can be avoided that the entry E corresponding to the management table 31B having the function as the TLB does not exist, and the occurrence of the TLB miss can be suppressed. .
次に、予測部26は、新エントリEZ+1における、将来アクセスすると予測した第2領域C1のアクセス情報を、アクセス済“1”に更新する。
Next, the predicting
すると、上記実施の形態と同様に、転送部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 area in the page table to the physical address indicating the storage destination of the transfer
次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図19は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of an information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS200)。 First, the update unit 24 obtains an access target address from a 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 in the entry E that defines the page number indicated by the address information of the address obtained in step S200 in the management table 31A is the second access target indicated by the memory access request accepted in step S200. The access information of the area is updated to “1” that has been accessed (step S202).
次に、予測部26が、管理テーブル31Bのアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する(ステップS204)。
Next, the
次に、予測部26は、ステップS206で予測した第2領域が、ステップS200で取得したメモリアクセス要求に示されるアクセス対象の第1領域の、次のページ番号によって識別される第1領域内の第2領域であるか否かを判断する(ステップS206)。
Next, the
ステップS206で肯定判断すると(ステップS206:Yes)、ステップS208へ進む。 If a positive determination 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 defining the page number of the first area including the second area predicted in step S204 is registered in the management table 31B (step S208). When it is determined that it is not registered (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 area 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 area in the page table to the physical address indicating the storage destination of the transfer destination storage unit 14 (step S222). Then, this routine ends. Note that the page table update need not be performed at this timing, but may be performed 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. Also in the case where an affirmative determination 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 stores the data in the second area predicted in step S206 in 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 area transferred in step S226 in the page table to a physical address indicating the storage destination of the transfer destination storage unit 14 (step S228). . Then, this routine ends.
以上説明したように、本変形例では、予測部26は、将来アクセスすると予測した第2領域を含む第1領域のページ番号が、管理テーブル31Bに未登録の場合、管理テーブル31Bに、将来アクセスすると予測した第2領域を含む第1領域のページ番号を規定した新たなエントリEを追加する。そして、予測部26は、該新たなエントリEに、論理アドレスおよび物理アドレスを登録する。
As described above, in this modification, the
このため、処理回路12による該第2領域のデータへのアクセス時に、TLBとしての機能も有する管理テーブル31Bに該当するエントリEが存在しないことが回避され、TLBミスの発生を抑制することができる。 For this reason, when the processing circuit 12 accesses the data in the second area, it can be avoided that the entry E corresponding to the management table 31B having the function as the TLB does not exist, and the occurrence of the TLB miss can be suppressed. .
従って、本変形例では、上記実施の形態の効果に加えて、処理回路12のストール時間の短縮を図ることができ、アクセス速度の高速化を実現することができる。 Therefore, in this modification, in addition to the effects 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 area to be predicted is the first area to be predicted for the second area 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 defined for 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 a logical address of a page adjacent to the first area to be predicted, or within a predetermined range with respect to the logical address of the first area to be predicted. It may be a logical address. “Within a predetermined range” means that the page number difference is equal to or less than a predetermined value.
また、所定範囲内の論理アドレスを示す他の第1領域は、予測対象の第1領域内のデータと同じ記憶部14にデータが記憶されており、且つ、予測対象の第1領域の論理アドレスに対して所定範囲の論理アドレスを示す、第1領域であってもよい。
In the other first area indicating the logical address within the predetermined range, data is stored in the
図20および図21は、将来アクセスする第2領域の予測の一例の説明図である。図20および図21には、新たに登録された新エントリEjにページ番号を規定された第1領域を、第2領域を予測する対象の第1領域として用いる場合を示した。 20 and 21 are explanatory diagrams of an example of predicting the second area to be accessed in the future. FIG. 20 and FIG. 21 show a case where the first area in which the page number is defined in the newly registered new entry Ej is used as the first area to be predicted for the second area.
図20に示すように、例えば、更新部24が、処理回路12から取得したメモリアクセス要求に基づいて、ページ番号“0f06438c”のエントリEjを管理テーブル31Bに新たに登録したと仮定する。 As illustrated in FIG. 20, for example, it is assumed that the updating unit 24 newly registers an 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 illustrated in FIG. 20, a case where the physical address indicates the physical address of the
また、更新部24は、上記実施の形態と同様に、新たなエントリEj(以下、新エントリEjと称する場合がある)における、メモリアクセス要求に示されるアクセス対象の第2領域のアクセス情報を、アクセス済“1”に更新する。 Similarly to the above-described embodiment, the update unit 24 stores the access information of the second area to be accessed indicated in the memory access request in the new entry Ej (hereinafter sometimes referred to as a new entry Ej). Updated to “1” already accessed.
管理テーブル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 the present modification, it is assumed that the update unit 24 has specified the entry Eh1 and the entry Eh2 in which the physical addresses of the same storage unit 14 (the
そして、予測部26は、特定したこれらのエントリE(エントリEh1とエントリEh2)のアクセス情報によって示されるパターンに応じて、新エントリEjの第1領域内に含まれる第2領域について、将来アクセスする第2領域を予測する。
Then, the
具体的には、予測部26は、所定範囲内の論理アドレスを示す他のエントリE(エントリEh1とエントリEh2)のアクセス管理情報が、所定条件を満たすか否かを判断する。
Specifically, the
所定条件は、予め定めればよい。例えば、予測部26は、上記他のエントリE(エントリEh1およびエントリEh2)に、アクセス済“1”を示すアクセス情報を第1閾値以上の含むエントリEが所定割合以上含まれる場合、所定条件を満たすと判断する。
The predetermined condition may be determined in advance. For example, when the other entry E (entry Eh1 and entry Eh2) includes an entry E that includes access information indicating “1” that is already accessed at a first threshold value or more, the
第1閾値および所定割合は、予め定めればよい。例えば、第1閾値が、“8”であったと仮定する。この場合、図20に示すエントリEh1とエントリEh2の各々のアクセス管理情報には、アクセス済“1”のアクセス情報が8個以上含まれる。このため、この場合、予測部26は、所定条件を満たすと判断する。
The first threshold value and the predetermined ratio may be determined in advance. For example, it is assumed 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. For this reason, in this case, the
そして、所定条件を満たすと判断した場合、予測部26は、これらのエントリE(エントリEh1とエントリEh2)のアクセス管理情報に規定されたアクセス情報によって示されるパターンから、新エントリEjの第2領域について、将来アクセスされる第2領域を予測する。この予測の方法は、上記実施の形態と同様である。
If the
そして、予測部26は、上記実施の形態と同様に、新エントリEjにおける、予測した第2領域のアクセス情報をアクセス済“1”に更新する。このため、予測部26によって更新された後の新エントリEjは、例えば、図21に示すものとなる。例えば、新エントリEjにおける、第2領域C1のアクセス情報が更新部24によってアクセス済“1”に更新され、第2領域C2〜C16の少なくとも1つが、予測部26によってアクセス済“1”に更新される。
Then, similarly to the above embodiment, 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 area indicated by the new entry Ej is stored in the
また、転送部28は、新エントリEjにおける、予測部26によって予測された将来アクセスされる第2領域のデータを、キャッシュライン単位で、キャッシュメモリ16へ転送する。
In addition, the transfer unit 28 transfers the data in the second area 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へ転送する。
In other words, in the present modification, when the first area defined by the new entry Ej is accessed for the first time, the predicting
そして、転送部28は、管理テーブル31Bにおける、該新エントリEjに示される物理アドレスを、転送先の第1記憶部14Aを示す物理アドレスに更新する(図21中、新エントリEj’の物理アドレス参照)。また、転送部28は、ページテーブルにおける、転送した第1領域の論理アドレスに対応する物理アドレスを、転送先の第1記憶部14Aの物理アドレスに更新する。
Then, the transfer unit 28 updates the physical address indicated by the new entry Ej in the management table 31B to the physical address indicated by the transfer destination
なお、予測部26が上記所定条件を満たさないと判断した場合、転送部28は、将来アクセスすると予測した第2領域を含む第1領域のデータを、キャッシュライン単位(第2領域の単位)で、キャッシュメモリ16へ転送すればよい。
If 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 the present modification. As shown in FIG. 22, in the present modification, for 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 page A in units of pages. Then, the data is transferred from the
一方、本変形例では、メモリアクセスローカリティが低いと予測されたエントリによって規定される第1領域(例えば、ページB)について、転送部28は、該ページBのデータをキャッシュライン単位で第2記憶部14Bからキャッシュメモリ16へ転送する。
On the other hand, in the present 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 page B in the second storage in units of cache lines. The data is transferred from the
すなわち、本変形例では、第2記憶部14B(SCM)上にあるページAとページBについて、管理装置18は、第1処理と第2処理を使い分けて実行する。言い換えると、管理装置18は、第1処理と第2処理を混在して実行する。
That is, in the present 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 a low memory access locality that is not transferred to the
次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図23は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。
Next, an example of an information processing procedure executed by the
まず、更新部24が、処理回路12からアクセス制御部20を介して受付けたメモリアクセス要求から、アクセス対象のアドレスを得る(ステップS300)。 First, the updating unit 24 obtains an access target address from a 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 updating 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)。 When 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)。
If 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 area 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 indicated by the new entry Ej in the management table 31B to a 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 stores the second access target indicated by 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 “1” that has been accessed (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 area transferred in step S332 in the page table to a physical address indicating the storage destination of the transfer destination storage unit 14 (step S334). . Then, this routine ends.
以上説明したように、本変形例では、予測部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 areas indicating the logical addresses within a predetermined range may be approximated. In particular, such a tendency occurs when a large amount of data extending over a plurality of first areas is stored in the
このため、予測部26が、本変形例の処理を行うことで、上記実施の形態の効果に加えて、より高精度に、処理回路12が将来アクセスする第2領域を予測することができる。
For this reason, the
(変形例3)
図24は、本変形例の情報処理装置10Aの一例を示す模式図である。図24に示すように、情報処理装置10Aの処理回路12Aが、キャッシュメモリ16および管理装置18を備えた構成であってもよい。処理回路12Aは、キャッシュメモリ16および管理装置18を備えた点以外は、上記実施の形態の処理回路12と同様である。
(Modification 3)
FIG. 24 is a schematic diagram illustrating an example of an
(変形例4)
図25は、本変形例の情報処理装置10Bの一例を示す模式図である。図25に示すように、管理装置18Aが、キャッシュメモリ16、アクセス制御部20、管理部22、および記憶部14を備えた構成であってもよい。
(Modification 4)
FIG. 25 is a schematic diagram illustrating an example of an
以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形例は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。 As mentioned above, although embodiment and the modification of this invention were demonstrated, these embodiment and the modification are shown as an example, and are not intending limiting the range of invention. These novel embodiments and modifications can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
10、10A、10B 情報処理装置
12、12A 処理回路
14 記憶部
16 キャッシュメモリ
18、18A 管理装置
22 管理部
24 更新部
28 転送部
30 管理情報記憶部
10, 10A, 10B Information processing device 12,
Claims (21)
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、
を備える管理装置。 A management device for managing access to a plurality of types of storage units by a processing circuit,
The storage unit includes a plurality of first areas, the first area includes a plurality of second areas,
The identification information of the first area and the access information indicating whether or not the second area has been accessed by the processing circuit are defined for each of the plurality of second areas included in the first area. A management unit for managing a management table in which access management information is associated;
Based on the access management information, a prediction unit that predicts the second area to be accessed in the future by the processing circuit;
A management device comprising:
アクセス速度が互いに異なる、
請求項1に記載の管理装置。 The plurality of types of storage units are
Access speeds are different from each other,
The management apparatus according to claim 1.
前記アクセス情報によって示されるパターンに応じて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項1または請求項2に記載の管理装置。 The prediction unit
Predicting the second region to be accessed in the future by the processing circuit according to a pattern indicated by the access information;
The management apparatus according to claim 1 or 2.
請求項3に記載の管理装置。 The pattern is represented by a positional relationship in the storage unit of the second area in which the access information indicating accessed is defined.
The management device according to claim 3.
請求項3または請求項4に記載の管理装置。 An update unit that updates the access information of the second area to be accessed indicated by the memory access request in the management table when the memory access request is received from the processing circuit;
The management device according to claim 3 or 4.
前記アクセス管理情報における、前記更新部によって直前に更新された前記アクセス情報を含む複数の前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項5に記載の管理装置。 The prediction unit
Predicting the second region to be accessed in the future by the processing circuit according to the pattern indicated by a plurality of the access information including the access information updated immediately by the update unit in the access management information;
The management device according to claim 5.
前記アクセス管理情報における、一定期間に更新された前記アクセス情報によって示される前記パターンに応じて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項5に記載の管理装置。 The prediction unit
Predicting the second area to be accessed in the future by the processing circuit according to the pattern indicated by the access information updated in a certain period in the access management information;
The management device according to claim 5.
前記アクセス管理情報における、第1期間に更新された前記アクセス情報によって示される前記パターンを、該第1期間より前のタイミングの第2期間に更新された前記アクセス情報によって示される前記パターンに対して優先して用いて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項5に記載の管理装置。 The prediction unit
In the access management information, the pattern indicated by the access information updated in the first period is compared with the pattern indicated by the access information updated in the second period at a timing earlier than the first period. Preferentially used to predict the second area that the processing circuit will access in the future,
The management device according to claim 5.
予測した前記第2領域を含む前記第1領域の識別情報が前記管理テーブルに未登録の場合、
前記管理テーブルに該第1領域の識別情報を含む新たなエントリを追加し、該エントリに該第1領域の識別情報および物理アドレスを登録する、
請求項1〜請求項5の何れか1項に記載の管理装置。 The prediction unit
When the identification information of the first area including the predicted second area is not registered in the management table,
Adding a new entry including identification information of the first area to the management table, and registering the identification information and physical address of the first area in the entry;
The management apparatus of any one of Claims 1-5.
前記管理テーブルに示される複数の前記識別情報の各々によって識別される前記第1領域の内、前記処理回路によるアクセス速度が第1の速度未満の種類の前記記憶部にデータを記憶されている前記第1領域内の前記第2領域について、前記第1の速度以上のアクセス速度の種類の前記記憶部にデータを記憶されている前記第1領域に対して優先して、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項1〜請求項5の何れか1項に記載の管理装置。 The prediction unit
In the first area identified by each of the plurality of identification information shown in the management table, data is stored in the storage unit whose access speed by the processing circuit is less than the first speed. The processing circuit accesses the second area in the first area in the future with priority over the first area in which data is stored in the storage unit of the access speed type higher than the first speed. Predicting the second region to be
The management apparatus of any one of Claims 1-5.
前記管理テーブルにおける、予測した前記第2領域の前記アクセス情報を、アクセス済に更新する、
請求項1〜請求項10の何れか1項に記載の管理装置。 The prediction unit
Updating the access information of the predicted second area in the management table to be accessed;
The management apparatus of any one of Claims 1-10.
請求項1〜請求項11の何れか1項に記載の管理装置。 A transfer unit that transfers the data in the second region predicted by the prediction unit to another type of the storage unit having a higher access speed by the processing circuit than the storage unit in which the data is stored;
The management apparatus according to any one of claims 1 to 11.
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する、前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する、
請求項12に記載の管理装置。 The prediction unit
Based on the access management information corresponding to the identification information of the other first area indicating a logical address within a predetermined range with respect to the identification information of the first area to be predicted in the management table, the processing circuit Predicting the second area to be accessed in the future,
The management apparatus according to claim 12.
前記予測部は、
前記管理テーブルにおける、予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域の識別情報に対応する前記アクセス管理情報が所定条件を満たす場合、該識別情報に対応する前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測し、
前記転送部は、
前記所定条件を満たすと判断した場合、予測対象の前記第1領域のデータを該第1領域の単位で前記第2記憶部から前記第1記憶部へ転送する、
請求項13に記載の管理装置。 The plurality of types of storage units include a first storage unit and a second storage unit having a lower access speed than the first storage unit,
The prediction unit
In the management table, when the access management information corresponding to the identification information of another first area indicating a logical address within a predetermined range with respect to the identification information of the first area to be predicted satisfies a predetermined condition, Based on the access management information corresponding to the identification information, the processing circuit predicts the second area to be accessed in the future,
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 apparatus according to claim 13.
予測対象の前記第1領域の識別情報に対して所定範囲内の論理アドレスを示す他の前記第1領域に、アクセス済を示す前記アクセス情報を規定された前記第2領域の数が第1閾値以上の前記第1領域が所定割合以上含まれる場合、前記所定条件を満たすと判断する、
請求項14に記載の管理装置。 The prediction unit
The number of the second areas in which the access information indicating that access has been made to the other first areas indicating logical addresses within a predetermined range with respect to the identification information of the first area to be predicted is the first threshold value. When the above 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 14.
前記転送部は、
前記予測部が前記所定条件を満たすと判断した場合、前記処理回路が将来アクセスすると予測した前記第2領域のデータを、前記キャッシュメモリへ転送する、
請求項14または請求項15に記載の管理装置。 The plurality of types of storage units include a cache memory, the first storage unit having a lower 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 of the second area predicted to be accessed in the future by the processing circuit is transferred to the cache memory.
The management apparatus according to claim 14 or 15.
前記予測部が前記所定条件を満たさないと判断した場合、前記処理回路が将来アクセスすると予測した前記第2領域のデータを、前記第2領域の単位で前記第2記憶部から前記キャッシュメモリへ直接転送する、
請求項16に記載の管理装置。 The transfer unit
When the prediction unit determines that the predetermined condition is not satisfied, the data in the second area predicted to be accessed in the future by the processing circuit is directly transferred from the second storage unit to the cache memory in units of the second area. Forward,
The management apparatus according to claim 16.
前記第1領域の識別情報としての論理アドレスと、前記記憶部における前記第1領域の物理アドレスと、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応づけてなる、
請求項1〜請求項17の何れか1項に記載の管理装置。 The management table is
For each of the logical address as identification information of the first area, the physical address of the first area in the storage unit, and the plurality of second areas included in the first area, the second area is the Corresponding access management information that defines access information indicating whether or not it has been accessed by the processing circuit,
The management apparatus of any one of Claims 1-17.
複数種類の記憶部と、
複数種類の前記記憶部に対するアクセスを管理する管理装置と、
を備え、
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記管理装置は、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理部と、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測部と、
を備える、情報処理装置。 A processing circuit;
Multiple types of storage units;
A management device for managing access to a plurality of types of the storage units;
With
The storage unit includes a plurality of first areas, the first area includes a plurality of second areas,
The management device
The identification information of the first area and the access information indicating whether or not the second area has been accessed by the processing circuit are defined for each of the plurality of second areas included in the first area. A management unit for managing a management table in which access management information is associated;
Based on the access management information, a prediction unit that predicts the second area to be accessed in the future by the processing circuit;
An information processing apparatus comprising:
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、
を含む、管理方法。 A management method in a management device for managing access to a plurality of types of storage units by a processing circuit,
The storage unit includes a plurality of first areas, the first area includes a plurality of second areas,
The identification information of the first area and the access information indicating whether or not the second area has been accessed by the processing circuit are defined for each of the plurality of second areas included in the first area. A management step for managing a management table in which access management information is associated;
A predicting step of predicting the second area to be accessed in the future by the processing circuit based on the access management information;
Management method.
前記記憶部は複数の第1領域を含み、前記第1領域は複数の第2領域を含み、
前記第1領域の識別情報と、前記第1領域に含まれる複数の前記第2領域の各々ごとに、前記第2領域が前記処理回路によってアクセス済であるか否かを示すアクセス情報を規定したアクセス管理情報と、を対応付けた管理テーブルを管理する管理ステップと、
前記アクセス管理情報に基づいて、前記処理回路が将来アクセスする前記第2領域を予測する予測ステップと、
を含む、プログラム。 A program for causing a computer to manage access to a plurality of types of storage units by a processing circuit,
The storage unit includes a plurality of first areas, the first area includes a plurality of second areas,
The identification information of the first area and the access information indicating whether or not the second area has been accessed by the processing circuit are defined for each of the plurality of second areas included in the first area. A management step for managing a management table in which access management information is associated;
A predicting step of predicting the second area to be accessed in the future by the processing circuit based on the access management information;
Including the 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 true JP2019164497A (en) | 2019-09-26 |
JP6786541B2 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) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005302034A (en) * | 2004-04-15 | 2005-10-27 | Internatl Business Mach Corp <Ibm> | System and method for memory management |
WO2008155815A1 (en) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | Information processor and cache control method |
US20120166733A1 (en) * | 2010-12-22 | 2012-06-28 | Naveen Cherukuri | 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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005302034A (en) * | 2004-04-15 | 2005-10-27 | Internatl Business Mach Corp <Ibm> | System and method for memory management |
WO2008155815A1 (en) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | Information processor and cache control method |
US20120166733A1 (en) * | 2010-12-22 | 2012-06-28 | Naveen Cherukuri | 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 |
Also Published As
Publication number | Publication date |
---|---|
JP6786541B2 (en) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9075730B2 (en) | Mechanisms to bound the presence of cache blocks with specific properties in caches | |
US9235514B2 (en) | Predicting outcomes for memory requests in a cache memory | |
US10019377B2 (en) | Managing cache coherence using information in a page table | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
US20110161597A1 (en) | Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller | |
TW201222252A (en) | Cache coherence protocol for persistent memories | |
JPWO2010035426A1 (en) | Buffer memory device, memory system, and data transfer method | |
JP6088951B2 (en) | Cache memory system and processor system | |
US20150019823A1 (en) | Method and apparatus related to cache memory | |
JP6027562B2 (en) | Cache memory system and processor system | |
US20180095884A1 (en) | Mass storage cache in non volatile level of multi-level system memory | |
US10705977B2 (en) | Method of dirty cache line eviction | |
KR102540752B1 (en) | No allocation cache policy | |
JP2007156821A (en) | Cache system and shared secondary cache | |
KR101689094B1 (en) | System cache with sticky removal engine | |
US9128856B2 (en) | Selective cache fills in response to write misses | |
JP2004199677A (en) | System for and method of operating cache | |
US11561906B2 (en) | Rinsing cache lines from a common memory page to memory | |
US10725675B2 (en) | Management apparatus, information processing apparatus, management method, and computer program product | |
JP6786541B2 (en) | Management equipment, information processing equipment, management methods, and programs | |
US20200143275A1 (en) | Information processing device, information processing method, and computer program product | |
JP2019164411A (en) | Management device, information processing device, management method, and program | |
JP7024127B2 (en) | Management equipment, information processing equipment, management methods, and programs |
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 | Request for written amendment filed |
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 |