JP2019164497A - Management device, information processing device, management method, and program - Google Patents

Management device, information processing device, management method, and program Download PDF

Info

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
Application number
JP2018051309A
Other languages
Japanese (ja)
Other versions
JP6786541B2 (en
Inventor
祐介 城田
Yusuke Shirota
祐介 城田
金井 達徳
Tatsunori Kanai
達徳 金井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018051309A priority Critical patent/JP6786541B2/en
Priority to US16/121,337 priority patent/US10725675B2/en
Publication of JP2019164497A publication Critical patent/JP2019164497A/en
Application granted granted Critical
Publication of JP6786541B2 publication Critical patent/JP6786541B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

To highly accurately predict data to be accessed by a processing circuit in the future.SOLUTION: A management device 18 manages accesses to a plurality of kinds of storage units 14 by a processing circuit 12. The storage unit 14 includes a plurality of first regions, and the first region includes a plurality of second regions. The management device 18 includes a management unit (management information storage unit 30)and a prediction unit 26. The management unit (management information storage unit 30) manages a management table 31. The management table 31 is a table associating identification information of the first region with access management information specifying access information indicating whether or not the processing circuit 12 has already accessed the second region for each of the plurality of second regions included in the first region. The prediction unit 26 predicts the second region to be accessed by the processing circuit 12 in the future on the basis of the access management information.SELECTED DRAWING: Figure 1

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.

Computer Organization and Design RISC−V Edition, David A. Patterson & John L. Hennessy, Morgan Kaufmann Publishers, ISBN 978−0−12−812275−4, 5.7 Virtual Memory.Computer Organization and Design RISC-V Edition, David A. Patterson & John L. Hennessy, Morgan Kaufmann Publishers, ISBN 978-0-12-812275-4, 5.7 Virtual Memory.

本発明が解決しようとする課題は、処理回路が将来アクセスするデータを高精度に予測することの可能な、管理装置、情報処理装置、管理方法、およびプログラムを提供することである。   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.

情報処理装置の模式図。1 is a schematic diagram of an information processing apparatus. 記憶部へのアクセスの説明図。Explanatory drawing of the access to a memory | storage part. 物理アドレス空間の模式図。Schematic diagram of physical address space. 管理テーブルのデータ構成を示す模式図。The schematic diagram which shows the data structure of a management table. 管理テーブルのデータ構成を示す模式図。The schematic diagram which shows the data structure of a management table. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 情報処理の手順のフローチャート。The flowchart of the procedure of information processing. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 情報処理の手順のフローチャート。The flowchart of the procedure of information processing. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. 第2領域の予測の説明図。Explanatory drawing of prediction of a 2nd area | region. データ転送の説明図。Explanatory drawing of data transfer. 情報処理の手順のフローチャート。The flowchart of the procedure of information processing. 情報処理装置の模式図。1 is a schematic diagram of an information processing apparatus. 情報処理装置の模式図。1 is a schematic diagram of an information processing apparatus.

以下に添付図面を参照して、本実施の形態の詳細を説明する。   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 information processing apparatus 10 according to the present embodiment. The information processing apparatus 10 includes a processing circuit 12, a storage unit 14, a cache memory 16, and a management device 18.

処理回路12とキャッシュメモリ16、キャッシュメモリ16と管理装置18、処理回路12と管理装置18、および管理装置18と記憶部14、の各々は、データや信号を授受可能に接続されている。   The processing circuit 12 and the cache memory 16, the cache memory 16 and the management device 18, the processing circuit 12 and the management device 18, and the management device 18 and the storage unit 14 are connected so as to be able to exchange data and signals.

処理回路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 storage unit 14 and writes data to the storage unit 14 in accordance with execution of the program.

処理回路12および管理装置18は、記憶部14に記憶されているデータをキャッシュメモリ16に一時的に記憶し、処理に用いる。   The processing circuit 12 and the management device 18 temporarily store the data stored in the storage unit 14 in the cache memory 16 and use it for processing.

記憶部14は、処理回路12による作業領域として用いられるメインメモリである。本実施の形態の情報処理装置10は、複数種類の記憶部14を備える。すなわち、本実施の形態の情報処理装置10は、複数種類の記憶部14を、メインメモリとして用いる。   The storage unit 14 is a main memory used as a work area by the processing circuit 12. The information processing apparatus 10 according to the present embodiment includes a plurality of types of storage units 14. That is, the information processing apparatus 10 according to the present embodiment uses a plurality of types of storage units 14 as a main memory.

複数種類の記憶部14は、処理回路12によるアクセス速度が互いに異なる。なお、以下では、処理回路12によるアクセス速度を、単にアクセス速度と称して説明する場合がある。   The plurality of types of storage units 14 have different access speeds by the processing circuit 12. Hereinafter, the access speed by the processing circuit 12 may be simply referred to as an access speed.

本実施の形態では、情報処理装置10は、アクセス速度の異なる複数種類の記憶部14として、第1記憶部14Aと、第2記憶部14Bと、を備える。なお、情報処理装置10は、3種類以上の記憶部14を備えた構成であってもよい。   In the present embodiment, the information processing apparatus 10 includes a first storage unit 14A and a second storage unit 14B as a plurality of types of storage units 14 having different access speeds. Note that the information processing apparatus 10 may be configured to include three or more types of storage units 14.

第1記憶部14Aは、例えば、揮発性メモリである。具体的には、第1記憶部14Aは、DRAM(Dynamic Random Access Memory)である。なお、第1記憶部14Aは、高速アクセスの可能なMRAM(Magnetoresistive Random Access Memory)等の不揮発メモリであってもよい。   The first storage unit 14A is, for example, a volatile memory. Specifically, the first storage unit 14A is a DRAM (Dynamic Random Access Memory). The first storage unit 14A may be a non-volatile memory such as an MRAM (Magnetic Resistive Random Access Memory) that can be accessed at high speed.

第2記憶部14Bは、第1記憶部14Aに比べてアクセス速度が遅い。また、第2記憶部14Bの容量は、第1記憶部14Aの容量と同じか大きい。   The second storage unit 14B has a slower access speed than the first storage unit 14A. The capacity of the second storage unit 14B is the same as or larger than the capacity of the first storage unit 14A.

第2記憶部14Bは、例えば、不揮発性メモリである。具体的には、第2記憶部14Bは、DRAMより集積度が高く大容量な大容量高速不揮発メモリ(Non−volatile Memory)である。   The second storage unit 14B is, for example, a nonvolatile memory. Specifically, the second storage unit 14B is a large-capacity high-speed non-volatile memory (Non-volatile Memory) having a higher degree of integration and a larger capacity than DRAM.

更に具体的には、第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 second storage unit 14B is a memory called a storage class memory (SCM). For example, 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 or Memristor etc. is there.

本実施の形態では、第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 first storage unit 14A is a DRAM and the second storage unit 14B is an SCM will be described as an example. The access speed of the first storage unit 14A only needs to be higher than that of the second storage unit 14B, and these combinations are not limited to the form in which the first storage unit 14A is a DRAM and the second storage unit 14B is an SCM. For example, the first storage unit 14A may be an MRAM, and the second storage unit 14B may be a ReRAM.

図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 first storage unit 14A and the second storage unit 14B. When an SCM is installed as a main memory of a computer system in addition to a conventional DRAM, it is necessary to properly use both. In other words, the SCM has a larger capacity than the DRAM but has a slower access speed. For this reason, efficient data processing can be performed by well distributing the memory in which data is arranged in the DRAM and SCM in accordance with the characteristics of the data to be processed. That is, it is desirable that data with low access locality and large size is placed in the SCM, and the processor directly accesses the SCM in units of cache lines. Further, it is desirable that data with high access locality is transferred from the SCM to the DRAM in units of pages, and the processor accesses the data on the DRAM in units of cache lines.

図1に戻り説明を続ける。なお、第1記憶部14A、および第2記憶部14Bを総称して説明する場合には、単に、記憶部14と称して説明する。   Returning to FIG. Note that when the first storage unit 14A and the second storage unit 14B are collectively described, they are simply referred to as the storage unit 14 for description.

記憶部14は、複数の第1領域を含む。本実施の形態では、第1記憶部14Aおよび第2記憶部14Bが、複数の第1領域を含む形態を説明する。そして、第1領域は、複数の第2領域を含む。すなわち、本実施の形態では、処理回路12および管理装置18は、第1記憶部14Aおよび第2記憶部14Bを、第1領域の単位、あるいは、第1領域を更に細かく区切った第2領域の単位で管理する。   The storage unit 14 includes a plurality of first areas. In the present embodiment, a mode in which the first storage unit 14A and the second storage unit 14B include a plurality of first regions will be described. The first area includes a plurality of second areas. In other words, in the present embodiment, the processing circuit 12 and the management device 18 divide the first storage unit 14A and the second storage unit 14B into units of the first region or a second region obtained by further dividing the first region. Manage by unit.

図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 first storage unit 14A and the second storage unit 14B includes a plurality of first regions.

第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 storage unit 14. Specifically, the second area is a cache line unit. That is, the processing circuit 12 accesses the first storage unit 14A or the second storage unit 14B in units of cache lines.

キャッシュラインは、例えば、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 management device 18 determine the area in the first storage unit 14A and the second storage unit 14B mapped in the physical address space 15 shown in FIG. , Page size). And the processing circuit 12 and the management apparatus 18 implement | achieve virtual memory by converting from a logical address to a physical address using a page table.

また、本実施の形態では、処理回路12および管理装置18は、第1領域内を第2領域のサイズ(例えば、キャッシュライン)に区切り、第2領域の各々を管理する。   Further, in the present embodiment, the processing circuit 12 and the management device 18 divide the first area into the size of the second area (for example, a cache line) and manage each of the second areas.

このように、本実施の形態の情報処理装置10は、複数種類の記憶部14の各々を、第1領域(例えばページ単位)より細かい単位である第2領域(例えばキャッシュライン)ごとに、管理可能に構成されている。   As described above, the information processing apparatus 10 according to the present embodiment manages each of the plurality of types of storage units 14 for each second area (for example, cache line) that is a unit smaller than the first area (for example, page unit). It is configured to be possible.

なお、本実施の形態の情報処理装置10は、本発明で用いる複数種類の記憶部として、第1記憶部14A、第2記憶部14Bを組み合わせて主記憶として用いる場合を一例として説明する。   In addition, the information processing apparatus 10 of this Embodiment demonstrates as an example the case where it combines as 1st memory | storage part 14A and 2nd memory | storage part 14B, and is used as a main memory as multiple types of memory | storage parts used by this invention.

図1に戻り、説明を続ける。管理装置18は、複数種類の記憶部14に対する処理回路12によるアクセスを管理する。管理装置18は、例えば、メモリ管理ユニット(MMU:Memory Management Unit)である。   Returning to FIG. 1, the description will be continued. The management device 18 manages access by the processing circuit 12 to a plurality of types of storage units 14. The management device 18 is, for example, a memory management unit (MMU: Memory Management Unit).

管理装置18は、アクセス制御部20と、管理部22と、を有する。管理部22は、更新部24と、予測部26と、転送部28と、管理情報記憶部30と、を有する。   The management device 18 includes an access control unit 20 and a management unit 22. The management unit 22 includes an update unit 24, a prediction unit 26, a transfer unit 28, and a management information storage unit 30.

アクセス制御部20は、処理回路12から受付けたメモリアクセス要求を処理する。メモリアクセス要求は、記憶部14に対するメモリアクセス要求である。メモリアクセス要求は、記憶部14へのデータ書込み、または記憶部14からのデータ読み出しを示す。   The access control unit 20 processes the memory access request received from the processing circuit 12. The memory access request is a memory access request for the storage unit 14. The memory access request indicates data writing to the storage unit 14 or data reading from the storage unit 14.

アクセス制御部20は、処理回路12から受付けたメモリアクセス要求によって示されるアクセス対象のデータがキャッシュメモリ16に格納されていない場合、記憶部14へアクセスする。この場合、アクセス制御部20は、処理回路12から受付けたメモリアクセス要求によって示される、アクセス対象の記憶部14における第2領域にアクセスする。そして、管理装置18は、アクセスした該第2領域に対して、メモリアクセス要求によって示される処理(書込みや読み出し)を実行する。   The access control unit 20 accesses the storage unit 14 when the access target data indicated by the memory access request received from the processing circuit 12 is not stored in the cache memory 16. In this case, the access control unit 20 accesses the second area in the access target storage unit 14 indicated by the memory access request received from the processing circuit 12. Then, the management device 18 executes processing (write or read) indicated by the memory access request for the accessed second area.

次に、管理部22について説明する。管理部22は、管理テーブル31Aを管理する。管理テーブル31Aは、管理テーブル31の一例である。図4は、管理テーブル31Aのデータ構成の一例を示す模式図である。   Next, the management unit 22 will be described. The management unit 22 manages the management table 31A. The management table 31A is an example of the management table 31. FIG. 4 is a schematic diagram illustrating an example of a data configuration of the management table 31A.

管理テーブル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 first storage unit 14A and the second storage unit 14B.

本実施の形態では、上述したように第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 information processing apparatus 10, by specifying the physical address corresponding to the logical address in the page table, the page number shown in the management table 31A can be stored in any type of storage unit 14 (the first storage unit 14A, the first storage unit 14A). 2) It is possible to specify whether to indicate the page number in the storage unit 14B).

アクセス管理情報は、対応するページ番号によって識別される第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 storage unit 14, and access management information are associated with each other. In this case, the management information storage unit 30 may store the management table 31B instead of the management table 31A (see FIG. 1).

図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 management unit 22 includes an update unit 24, a prediction unit 26, a transfer unit 28, and a management information storage unit 30.

管理情報記憶部30は、管理テーブル31Aまたは管理テーブル31Bを記憶する。すなわち、管理情報記憶部30は、本発明の管理部の一例である。なお、本実施の形態では、管理テーブル31として、管理テーブル31A(図4参照)を用いる場合を、一例として説明する。   The management information storage unit 30 stores a management table 31A or a management table 31B. That is, the management information storage unit 30 is an example of a management unit of the present invention. In the present embodiment, a case where the management table 31A (see FIG. 4) is used as the management table 31 will be described as an example.

更新部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 cache memory 16. In this case, the access control unit 20 accesses the storage unit 14 based on the memory access request. Then, the update unit 24 receives the memory access request from the access control unit 20.

そして、更新部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 storage unit 14. May be updated. Also, 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 reading of data from the storage unit 14. May be updated. In addition, when the memory access request indicates data writing to the memory unit 14 or data reading from the memory unit 14, the update unit 24 sets the access information of the second area accessed by the processing circuit 12 to the access not “0”. "1" may be updated to "1" already accessed.

このように、更新部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 storage unit 14 or writing data.

このため、管理テーブル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 prediction unit 26 predicts a second area that the processing circuit 12 will access in the future based on the access management information in the management table 31A. The second area to be accessed in the future refers to a second area predicted to be accessed by the processing circuit 12 at a timing in the future (after the present) from the present.

そして、予測部26は、管理テーブル31Aにおける、将来アクセスすると予測した第2領域のアクセス情報を、アクセス済“1”に更新する。   Then, the prediction unit 26 updates the access information of the second area predicted to be accessed in the management table 31A to “1” that has been accessed.

なお、予測部26による予測のタイミングは限定されない。   Note that the timing of prediction by the prediction unit 26 is not limited.

例えば、予測部26は、更新部24によって管理テーブル31Aにおける第2領域のアクセス情報がアクセス済“1”に更新されるごとに、将来アクセスする第2領域を予測する。この場合、例えば、予測部26は、アクセス情報を更新された第2領域を含む第1領域のページ番号に対応するアクセス管理情報に基づいて、該第1領域内の、アクセス未“0”を示す第2領域の内の何れかを、将来アクセスする第2領域として予測する。   For example, the prediction unit 26 predicts a second region to be accessed in the future every time the update unit 24 updates the access information of the second region in the management table 31 </ b> A to the accessed “1”. In this case, for example, based on the access management information corresponding to the page number of the first area including the second area where the access information is updated, the predicting unit 26 sets the unaccessed “0” in the first area. Any one of the indicated second areas is predicted as a second area to be accessed in the future.

また、例えば、予測部26は、所定期間ごとに、処理回路12が将来アクセスする第2領域を予測してもよい。   In addition, for example, the prediction unit 26 may predict a second area that the processing circuit 12 will access in the future at every predetermined period.

この場合、予測部26は、所定期間ごとに、管理テーブル31Aに規定されているページ番号の各々によって識別される第1領域の各々に含まれる、第2領域のアクセス情報に基づいて、アクセス未“0”を示す第2領域の内の何れかを、将来アクセスする第2領域として予測すればよい。   In this case, the prediction unit 26 determines that the access is not performed based on the access information of the second area included in each of the first areas identified by each of the page numbers defined in the management table 31A for each predetermined period. Any one of the second areas indicating “0” may be predicted as a second area to be accessed in the future.

また、予測部26は、更新部24によって管理テーブル31Aにおけるアクセス情報がアクセス済“1”に更新されるごと、および所定期間ごと、の双方のタイミングで、将来アクセスする第2領域を予測してもよい。   Further, the prediction unit 26 predicts the second area to be accessed in the future at both the timing when the access information in the management table 31A is updated to “1” that has been accessed by the update unit 24 and every predetermined period. Also good.

予測部26による予測について、具体的に説明する。   The prediction by the prediction unit 26 will be specifically described.

例えば、予測部26は、管理テーブル31Aにおける、アクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測する。   For example, the prediction unit 26 predicts the second area that the processing circuit 12 will access in the future, according to the pattern indicated by the access information in the management table 31A.

アクセス情報によって示されるパターンは、処理回路12による記憶部14へのアクセスパターンを示す。詳細には、パターンは、アクセス済“1”を示すアクセス情報を規定された1または複数の第2領域の、記憶部14における位置関係によって表される。例えば、アクセス情報によって示されるパターンは、アクセス済“1”を示すアクセス情報の規則性を示す。詳細には、アクセス情報によって示されるパターンは、アクセス済“1”を示すアクセス情報の配置の連続性および配置間隔の少なくとも一方によって表される。ただし、これに限定されるわけではない。   The pattern indicated by the access information indicates an access pattern to the storage unit 14 by the processing circuit 12. Specifically, the pattern is represented by the positional relationship in the storage unit 14 of one or more second areas in which access information indicating accessed “1” is defined. For example, the pattern indicated by the access information indicates the regularity of the access information indicating “1” being accessed. Specifically, the pattern indicated by the access information is represented by at least one of the continuity of the arrangement of the access information indicating the accessed “1” and the arrangement interval. However, the present invention is not limited to this.

例えば、更新部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 prediction unit 26 uses the pattern indicated by the access information to perform prediction using the following method. Do.

例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、更新部24によって直前に更新されたアクセス情報を含む、複数のアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測する。   For example, in the access management information of the management table 31A, the prediction unit 26 is the first to be accessed in the future by the processing circuit 12 according to the pattern indicated by the plurality of access information including the access information updated immediately before by the update unit 24. Predict two regions.

図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 prediction unit 26 specifies a pattern in which accessed “1” s are continuously arranged from the first second area C1 toward the second area C3 updated immediately before. Then, the predicting unit 26 predicts that the same pattern as the identified pattern is also indicated in the address information of the second area after the second area C3. That is, the predicting unit 26 predicts that the accessed “1” is continued at the same interval as the specified pattern in the other second regions (second region C4 to second region C16) that are continuous to the second region C3. Therefore, the prediction unit 26 predicts the second region C4 to the second region C16 in the entry E1 as second regions that the processing circuit 12 will access in the future.

そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図6に示す状態となる(図6のエントリE1’参照)。   Then, the prediction unit 26 updates the predicted access information of the second area to “1”. For example, the access management information of the entry E ′ after the prediction is in the state shown in FIG. 6 (see the entry E1 ′ in FIG. 6).

なお、図6には、予測部26が、エントリE1における、直前に更新された第2領域C3の後に連続する全ての第2領域(第2領域C4〜第2領域C16)を、将来アクセスされる第2領域として予測する場合を示した。   In FIG. 6, the prediction unit 26 accesses all the second areas (second area C4 to second area C16) continuous after the second area C3 updated immediately before in the entry E1 in the future. The case of predicting as the second region is shown.

しかし、予測部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 prediction unit 26 is not limited. For example, the prediction unit 26 may predict only one second region C4 adjacent to the second region C3 updated immediately before by the update unit 24 as a second region that the processing circuit 12 will access in the future. Further, the prediction unit 26 predicts a predetermined number of second regions (for example, the second region C4 to the second region C5) adjacent to the second region C3 as second regions that the processing circuit 12 will access in the future. Also good. Further, the prediction unit 26 may predict a second area that the processing circuit 12 will access in the future over a plurality of first areas.

また、図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 unit 26 specifies a pattern in which accessed “1” is arranged for each of the two second areas from the first second area C1 to the second area C7 updated immediately before. Then, the prediction unit 26 predicts that the same pattern as the identified pattern is also indicated in the address information of the second area after the second area C7. That is, the predicting unit 26 has already accessed the other second regions (second region C8 to second region C16) that follow the second region C7 every two second regions at the same interval as the specified pattern. Predict that “1” is placed. For this reason, in this case, the prediction unit 26 predicts the second area C10, the second area C13, and the second area C16 in the entry EX as a second area to be accessed in the future.

そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図7に示す状態となる(図7のエントリEX’参照)。   Then, the prediction unit 26 updates the predicted access information of the second area to “1”. For example, the access management information of the entry E ′ after the prediction is in the state shown in FIG. 7 (see the entry EX ′ in FIG. 7).

また、例えば、予測部26は、アクセス管理情報における、一定期間に更新されたアクセス情報によって示されるパターンに応じて、処理回路12が将来アクセスする第2領域を予測してもよい。一定期間とは、更新部24がアクセス情報を更新したタイミングを基準とし、該基準のタイミングから所定の時間遡ったタイミングまでの期間である。この一定期間は、予め定めればよい。   In addition, for example, the prediction unit 26 may predict the second area that the processing circuit 12 will access in the future according to the pattern indicated by the access information updated in a certain period in the access management information. The fixed period is a period from the timing at which the update unit 24 updates the access information to a timing that is a predetermined time later than the reference timing. This fixed period may be determined in advance.

図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 prediction unit 26 identifies a pattern in which accessed “1” s are continuously arranged as a pattern represented by the access information updated within the immediately preceding fixed period T. Then, the prediction unit 26 predicts that the same pattern as the identified pattern is also indicated in the address information of the second area after the second area C4. That is, the predicting unit 26 predicts that the accessed “1” is continued at the same interval as the specified pattern in the other second regions (second region C4 to second region C16) that are continuous to the second region C3. Therefore, the prediction unit 26 predicts the second area C4 to the second area C16 in the entry E1 as second areas to be accessed in the future.

そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE’のアクセス管理情報は、例えば、図8に示す状態となる(図8のエントリE1’参照)。   Then, the prediction unit 26 updates the predicted access information of the second area to “1”. The access management information of the entry E ′ after the prediction is in the state shown in FIG. 8, for example (see the entry E1 ′ in FIG. 8).

なお、予測部26は、一定期間に更新されたアクセス情報が無い場合には、予測を行わなくてもよい。   Note that the prediction unit 26 may not perform prediction when there is no access information updated in a certain period.

例えば、図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 prediction unit 26 regards the access by the processing circuit 12 to the second area C1 and the second area C2 and the current access to the second area C3 as separate events. Then, the prediction unit 26 does not predict the second area C4 and the subsequent entries of the entry EY as the second area to be accessed in the future. Therefore, in this case, the access management information of the entry EY ′ after prediction has the same contents as the entry EY before prediction, as shown in FIG.

一方、所定期間ごとに予測を行う場合には、予測部26は、アクセス情報によって示されるパターンを用いて、以下の方法で予測を行えばよい。   On the other hand, when the prediction is performed every predetermined period, the prediction unit 26 may perform the prediction by the following method using the pattern indicated by the access information.

例えば、予測部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 prediction unit 26 determines the number of second areas that match or are close to the number. This is predicted as a second area to be accessed in the future.

ここで、予測部26は、管理テーブル31Aにおけるアクセス管理情報に対して、複数の一定期間を特定し、特定した一定期間ごとに、該一定期間のアクセス情報によって示されるパターンを用いて、将来アクセスする第2領域を予測してもよい。   Here, the prediction unit 26 specifies a plurality of fixed periods for the access management information in the management table 31A, and uses the pattern indicated by the access information for the fixed periods for each specified fixed period to access in the future. The second region to be predicted may be predicted.

例えば、予測部26は、管理テーブル31Aのアクセス管理情報における、第1期間に更新されたアクセス情報によって示されるパターンを、該第1期間より前のタイミングの第2期間に更新されたアクセス情報によって示されるパターンに対して優先して用いて、処理回路12が将来アクセスする第2領域を予測する。   For example, the prediction unit 26 uses the access information updated in the second period at a timing before the first period to change the pattern indicated by the access information updated in the first period in the access management information of the management table 31A. A second area to be accessed in the future by the processing circuit 12 is predicted by giving priority to the pattern shown.

また、予測部26は、第1期間および第2期間の内、単位時間内に、より多くのアクセス情報をアクセス済“1”に更新された期間を特定する。そして、予測部26は、特定した期間(第1期間または第2期間)のアクセス情報によって示されるパターンを優先して用いて、将来アクセスする第2領域を予測してもよい。   Further, the prediction unit 26 specifies a period in which more access information is updated to “1” that has been accessed within the unit time in the first period and the second period. Then, the prediction unit 26 may predict a second area to be accessed in the future by preferentially using the pattern indicated by the access information in the specified period (first period or second period).

なお、優先して用いる、とは、予測、または、予測および予測した第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 other storage unit 14 is executed first. In addition, use with priority may mean that only the higher priority is predicted and the lower priority is not predicted. Further, using preferentially may mean that only a higher priority is predicted and data transferred, and a lower priority is not predicted and data transferred. Note that the transfer of the predicted data in the second area is performed by the transfer unit 28 described later (details will be described later).

図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 prediction unit 26 specifies a pattern indicated by the access information updated in each period for each of the first period T1 and the second period T2 in the access management information of the management table 31A. Then, the prediction unit 26 predicts a second area to be accessed in the future by using the pattern indicated by the access information in the first period T1 with priority over the pattern indicated by the access information in the second period T2.

詳細には、図10に示すように、予測部26は、エントリE1における、第1期間T1に更新された第2領域C1〜第2領域C3のアクセス情報によって示されるパターンに応じて、第2領域C3に隣接する3つの第2領域C4〜第2領域C6を、将来アクセスする第2領域として予測する。   Specifically, as illustrated in FIG. 10, the prediction unit 26 determines the second in accordance with the pattern indicated by the access information of the second area C1 to the second area C3 updated in the first period T1 in the entry E1. Three second regions C4 to C6 adjacent to the region C3 are predicted as second regions to be accessed in the future.

そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリE1’のアクセス管理情報は、図10に示す状態となる(図10のエントリE1’参照)。   Then, the prediction unit 26 updates the predicted access information of the second area to “1”. The access management information of the entry E1 'after the prediction is in the state shown in FIG. 10 (see entry E1' in FIG. 10).

次に、図11に示すように、予測部26は、エントリEZにおける、第2期間T2に更新された第2領域C1〜第2領域C3のアクセス情報によって示されるパターンに応じて、第2領域C3に隣接する第2領域C4を、将来アクセスする第2領域として予測する。   Next, as illustrated in FIG. 11, the prediction unit 26 determines whether the second area C2 corresponds to the pattern indicated by the access information of the second area C1 to the second area C3 updated in the second period T2 in the entry EZ. A second area C4 adjacent to C3 is predicted as a second area to be accessed in the future.

そして、予測部26は、予測した第2領域のアクセス情報をアクセス済“1”に更新する。予測後のエントリEZ’のアクセス管理情報は、図11に示す状態となる(図11のエントリEZ’参照)。   Then, the prediction unit 26 updates the predicted access information of the second area to “1”. The access management information of the entry EZ ′ after the prediction is in the state shown in FIG. 11 (see the entry EZ ′ in FIG. 11).

なお、優先度の低い第2期間T2のアクセス情報について、予測部26は、予測に用いるパターンとして用いなくてもよい。この場合、予測部26は、図11に示すエントリEZについて、将来アクセスする第2領域を予測しなくてもよい。   In addition, about the access information of 2nd period T2 with a low priority, the estimation part 26 does not need to use as a pattern used for prediction. In this case, the prediction unit 26 may not predict the second area to be accessed in the future for the entry EZ illustrated in FIG.

また、例えば、予測部26は、管理テーブル31Aに示される複数のページ番号の各々によって識別される第1領域の内、処理回路12によるアクセス速度が第1の速度未満の種類の記憶部14にデータを記憶されている第1領域内の第2領域について、第1の速度以上のアクセス速度の種類の記憶部14にデータを記憶されている第1領域に対して優先して、将来アクセスする第2領域を予測してもよい。   Further, for example, the prediction unit 26 stores in the storage unit 14 of a type in which the access speed by the processing circuit 12 is less than the first speed in the first area identified by each of the plurality of page numbers shown in the management table 31A. For the second area in the first area in which data is stored, the first area in which data is stored in the storage unit 14 having the access speed type equal to or higher than the first speed is preferentially accessed in the future. The second region may be predicted.

よりアクセス速度の遅い記憶部14に記憶されている第2領域内のデータを、アクセス速度の速い記憶部14に記憶されている第2領域内のデータに対して優先して、処理回路12がアクセスする前に予測(または予測および転送)を行うことで、処理回路12によるストール時間の、より高い削減効果が得られる。   The processing circuit 12 gives priority to the data in the second area stored in the storage unit 14 having a slower access speed over the data in the second area stored in the storage unit 14 having a higher access speed. By performing prediction (or prediction and transfer) before access, a higher reduction effect of the stall time by the processing circuit 12 can be obtained.

第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 first storage unit 14A is equal to or higher than the first speed, and the access speed of the second storage unit 14B is lower than the first speed.

例えば、予測部26は、第2記憶部14Bにデータを記憶されている第1領域内の第2領域について、第1記憶部14Aにデータを記憶されている第1領域に対して優先して、将来アクセスする第2領域を予測すればよい。   For example, the prediction unit 26 gives priority to the second area in the first area in which data is stored in the second storage unit 14B over the first area in which data is stored in the first storage unit 14A. The second area to be accessed in the future may be predicted.

図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 second storage unit 14B. Further, as shown in FIG. 14, it is assumed that the data in the first area whose page number is defined in the entry EZ of the management table 31A is stored in the first storage unit 14A.

この場合、図13に示すように、予測部26は、第2記憶部14Bにデータを記憶されている第1領域のページ番号を規定したエントリE1のアクセス管理情報を用いて、該エントリE1の第2領域C4を将来アクセスする第2領域として予測する(図13のエントリE1’参照)。なお、アクセス管理情報から、将来アクセスする第2領域を予測する方法は、上記と同様である。   In this case, as shown in FIG. 13, the prediction unit 26 uses the access management information of the entry E1 that defines the page number of the first area in which data is stored in the second storage unit 14B. The second area C4 is predicted as a second area to be accessed in the future (see entry E1 ′ in FIG. 13). The method for predicting the second area to be accessed in the future from the access management information is the same as described above.

次に、図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 prediction unit 26 uses the access management information of the entry EZ that defines the page number of the first area in which data is stored in the first storage unit 14A. The second area is predicted as a second area to be accessed in the future. Note that the prediction unit 26 may not perform prediction of the second region to be accessed in the future for the entry EZ that defines the first region in which data is stored in the first storage unit 14A having low priority. In this case, as shown in FIG. 14, the post-prediction entry EZ 'has the same contents as the pre-prediction entry EZ.

なお、予測部26が、データの記憶されている記憶部14に応じた優先度に基づいて、将来アクセスする第2領域を予測する場合には、管理テーブル31B(図5参照)を管理テーブル31として用いることが好ましい。   When the prediction unit 26 predicts a second area to be accessed in the future based on the priority according to the storage unit 14 in which data is stored, the management table 31B (see FIG. 5) is used as the management table 31. It is preferable to use as.

図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 prediction unit 26 can easily retrieve the entry E (entry Ea, entry Eb, entry Ec, entry Ed) indicating the physical address of the second storage unit 14B from the management table 31B. For this reason, the prediction unit 26 can easily specify the entry E that defines the page number of the first area in which data is stored in the second storage unit 14B, and can use it for the prediction of the second area to be accessed in the future. .

図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 prediction unit 26 to another type of storage unit 14 having a higher access speed by the processing circuit 12 than the storage unit 14 storing the data. In this embodiment, “transfer” may mean copying, or movement that deletes original data.

例えば、将来アクセスすると予測された第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 first storage unit 14A. In this case, the transfer unit 28 transfers the data in the second area stored in the first storage unit 14 </ b> A to the cache memory 16.

また、例えば、将来アクセスすると予測された第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 second storage unit 14B. In this case, the transfer unit 28 transfers the data in the second area stored in the second storage unit 14B to the first storage unit 14A or the cache memory 16.

なお、第2記憶部14Bから第1記憶部14Aへのデータの転送の基本単位は、ページ(すなわち、第1領域の単位)である。このため、転送部28は、転送先が第1記憶部14Aの場合、該第2領域内データ(キャッシュライン)を含む第1領域(ページ)のデータを第1記憶部14Aへ転送する。   The basic unit of data transfer from the second storage unit 14B to the first storage unit 14A is a page (that is, a unit of the first area). Therefore, when the transfer destination is the first storage unit 14A, the transfer unit 28 transfers the data in the first area (page) including the data in the second area (cache line) to the first storage unit 14A.

一方、第2記憶部14Bまたは第1記憶部14Aからキャッシュメモリ16へのデータ転送の基本単位は、キャッシュライン単位(すなわち、第2領域の単位)である。このため、転送部28は、転送先がキャッシュメモリ16の場合、該第2領域のデータをキャッシュライン単位でキャッシュメモリ16へ転送する。   On the other hand, the basic unit of data transfer from the second storage unit 14B or the first storage unit 14A to the cache memory 16 is a cache line unit (that is, a unit of the second area). Therefore, when the transfer destination is the cache memory 16, the transfer unit 28 transfers the data in the second area to the cache memory 16 in units of cache lines.

転送部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 storage unit 14 or the cache memory 16 having a higher access speed each time a new second area is predicted by the prediction unit 26.

また、転送部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 prediction unit 26 last predicted. The data may be transferred to the unit 14 or the cache memory 16. For example, the transfer unit 28 may transfer data during a period in which the processing circuit 12 has little access to the storage unit 14.

そして、転送部28は、第2記憶部14Bから第1記憶部14Aへページ単位でデータを転送させた場合、ページテーブルにおける、転送した第2領域の論理アドレスに対応する物理アドレスを、転送先の記憶部14における位置を示す物理アドレスに更新する。このため、処理回路12は、該データにアクセスするときに、転送先の記憶部14に直接アクセスすることが可能となる。なお、ページテーブルの更新は、予測部26が行ってもよい。   When the transfer unit 28 transfers data from the second storage unit 14B to the first storage unit 14A in units of pages, the transfer unit 28 sets the physical address corresponding to the logical address of the transferred second area in the page table to the transfer destination. To the physical address indicating the position in the storage unit 14. Therefore, the processing circuit 12 can directly access the transfer destination storage unit 14 when accessing the data. The page table may be updated by the prediction unit 26.

次に、本実施の形態の情報処理装置10が実行する情報処理の手順の一例を説明する。図16は、情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。   Next, an example of an information processing procedure executed by the information processing apparatus 10 according to the present embodiment will be described. FIG. 16 is a flowchart illustrating an example of an information processing procedure executed by the information processing apparatus 10.

まず、更新部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 prediction unit 26 predicts a second area that the processing circuit 12 will access in the future based on the access management information in the management table 31A (step S104).

そして、予測部26は、管理テーブル31Aにおける、ステップS104で予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS106)。   Then, the prediction unit 26 updates the access information of the second area predicted in step S104 in the management table 31A to “1” that has been accessed (step S106).

次に、転送部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 storage unit 14 or cache memory that has a higher access speed by the processing circuit 12 than the storage unit 14 in which the data is stored. 16 (step S108).

次に、転送部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 unit 14 is updated (step S110). Then, this routine ends.

なお、上述したように、予測部26が、第1期間T1に更新されたアクセス情報によって示されるパターンを、該第1期間T1より前のタイミングである第2期間T2に更新されたアクセス情報によって示されるパターンに対して優先して用いて、将来アクセスする第2領域を予測する場合がある。   Note that, as described above, the prediction unit 26 uses the access information updated in the second period T2, which is the timing before the first period T1, to change the pattern indicated by the access information updated in the first period T1. In some cases, the second area to be accessed in the future is predicted by giving priority to the pattern shown.

また、予測部26が、アクセス速度が第1の速度未満の種類の第2記憶部14Bにデータを記憶されている第2領域について、第1の速度以上のアクセス速度の第1記憶部14Aにデータを記憶されている第2領域に優先して、将来アクセスする第2領域を予測する場合がある。   In addition, the prediction unit 26 stores the second area in which data is stored in the second storage unit 14B whose access speed is less than the first speed, in the first storage unit 14A having an access speed equal to or higher than the first speed. A second area to be accessed in the future may be predicted in preference to the second area in which data is stored.

これらの場合、情報処理装置10では、上述したように、予測部26による予測のみを優先して行ってもよいし、予測部26による予測および転送部28による転送を、優先して行ってもよい。   In these cases, as described above, the information processing apparatus 10 may preferentially perform prediction by the prediction unit 26, or may preferentially perform prediction by the prediction unit 26 and transfer by the transfer unit 28. Good.

予測部26による予測および転送部28による転送を優先して行う場合には、例えば、予測部26が優先して予測した第2領域を、優先度の低い第2領域より先に、よりアクセス速度の速い記憶部14へ転送する。そして、次に、予測部26が、優先度の低い第2領域を予測したときに、該予測した第2領域のデータをアクセス速度の速い記憶部14へ転送すればよい。   In the case where the prediction by the prediction unit 26 and the transfer by the transfer unit 28 are performed with priority, for example, the second area predicted by the prediction unit 26 is preferentially accessed before the second area having a lower priority. To the fast storage unit 14. Next, when the prediction unit 26 predicts a second area with a low priority, the predicted data in the second area may be transferred to the storage unit 14 having a high access speed.

このとき、転送先がキャッシュメモリ16である場合には、転送部28は、キャッシュメモリ16における、よりアクセス速度の速い上位の階層に、より優先度の高い第2領域のデータを転送することが好ましい。   At this time, when the transfer destination is the cache memory 16, the transfer unit 28 may transfer the data in the second area having a higher priority to the upper hierarchy having a higher access speed in the cache memory 16. preferable.

以上説明したように、本実施の形態の管理装置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 management device 18 according to the present embodiment manages access to a plurality of types of storage units 14 by the processing circuit 12. The storage unit 14 includes a plurality of first areas, and the first area includes a plurality of second areas. The management device 18 includes a management unit (management information storage unit 30) and a prediction unit 26. The management unit (management information storage unit 30) manages the management table 31. The management table 31 defines identification information of the first area and access information indicating whether or not the second area has been accessed by the processing circuit 12 for each of the plurality of second areas included in the first area. This is a table in which the access management information is associated. The prediction unit 26 predicts a second area that the processing circuit 12 will access in the future based on the access management information.

このように、本実施の形態の管理装置18では、複数種類の記憶部14の各々について、第1領域より細かい単位である第2領域ごとに、処理回路12によってアクセス済であるか否かを示すアクセス情報を管理する。このため、複数種類の記憶部14の各々について、第1領域内の何れの第2領域に処理回路12によるアクセスがなされたか、を容易に管理することができる。   As described above, in the management device 18 according to the present embodiment, whether or not each of the plurality of types of storage units 14 has been accessed by the processing circuit 12 for each second area that is a unit smaller than the first area. Manage the access information shown. Therefore, for each of the plurality of types of storage units 14, it is possible to easily manage which second area in the first area has been accessed by the processing circuit 12.

そして、本実施の形態の管理装置18では、管理テーブル31における、第2領域の各々のアクセス情報を規定したアクセス管理情報に基づいて、処理回路12が将来アクセスする第2領域を予測する。このため、本実施の形態の管理装置18では、処理回路12による第2領域へのアクセスのパターンに応じて、処理回路12が将来アクセスする第2領域を予測することができる。   In the management device 18 of the present embodiment, the second area that the processing circuit 12 will access in the future is predicted based on the access management information that defines each access information of the second area in the management table 31. Therefore, the management device 18 according to the present embodiment can predict the second area that the processing circuit 12 will access in the future, according to the pattern of access to the second area by the processing circuit 12.

従って、管理装置18は、処理回路12が将来アクセスするデータを高精度に予測することができる。   Therefore, the management device 18 can predict data to be accessed in the future by the processing circuit 12 with high accuracy.

また、本実施の形態では、転送部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 prediction unit 26 that have a higher access speed by the processing circuit 12 than the storage unit 14 in which the data is stored. To the storage unit 14.

このため、本実施の形態の管理装置18では、処理回路12によってアクセスされる前に、将来アクセスされると予測した第2領域内のデータを、該データの記憶されている記憶部14(例えば第2記憶部14B)よりアクセス速度の速い記憶部14(例えば、第1記憶部14Aまたはキャッシュメモリ16)に転送することができる。   Therefore, in the management device 18 of the present embodiment, before being accessed by the processing circuit 12, the data in the second area predicted to be accessed in the future is stored in the storage unit 14 (for example, the data is stored) The data can be transferred to the storage unit 14 (for example, the first storage unit 14A or the cache memory 16) having a higher access speed than the second storage unit 14B).

このため、本実施の形態の管理装置18では、上記効果に加えて、処理回路12によるアクセス速度の向上や、処理時間の短縮、処理性能の向上、および、処理時間の短縮による低消費電力化を図ることができる。   For this reason, in addition to the above effects, the management device 18 according to the present embodiment improves the access speed by the processing circuit 12, shortens the processing time, improves the processing performance, and reduces the power consumption by shortening the processing time. Can be achieved.

(変形例1)
なお、予測部26は、管理テーブル31のアクセス管理情報に基づいて、将来アクセスする第2領域を予測すればよく、予測部26による予測方法は、上記実施の形態で挙げた方法に限定されない。
(Modification 1)
The prediction unit 26 only needs to predict the second area to be accessed in the future based on the access management information in the management table 31, and the prediction method by the prediction unit 26 is not limited to the method described in the above embodiment.

例えば、予測部26は、論理アドレス(ページ番号)が隣接する複数の第1領域の各々内の第2領域を、将来アクセスする第2領域として予測してもよい。   For example, the prediction unit 26 may predict a second area in each of a plurality of first areas adjacent to each other with a logical address (page number) as a second area to be accessed in the future.

ここで、将来アクセスすると予測した第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 prediction unit 26 may add a new entry E that defines the page number of the first area including the second area predicted to be accessed in the future to the management table 31.

図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に示すように、エントリEにページ番号を規定された第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 entry E Z, 16 th access information of the second region C16 of the start address, is updated by the update unit 24.

そして、図18に示すように、予測部26が、該エントリEzに規定された第1領域のページ番号“0f064381”に対して、次のページ番号“0f064382”の第1領域内の第2領域C1を、将来アクセスする第2領域として予測したと仮定する。   Then, as illustrated in FIG. 18, the prediction unit 26 performs the second area in the first area of the next page number “0f064382” with respect to the page number “0f064381” of the first area defined in the entry Ez. Assume that C1 is predicted as a second area to be accessed in the future.

この場合、予測部26は、新たなエントリEZ+1(以下、新エントリEZ+1と称する場合がある)を作成し、管理テーブル31Bに登録する。ここで、管理テーブル31Bに登録されるエントリの数には、上限がある。このため、管理テーブル31Bに空のエントリEが無い場合には、予測部26は、管理テーブル31Bに登録されている何れかのエントリEを解放し、新エントリEZ+1を登録すればよい。エントリEの解放は、更新部24によるエントリEの解放と同様の方法で行えばよい。 In this case, the prediction unit 26 creates a new entry E Z + 1 (hereinafter may be referred to as a new entry E Z + 1 ) and registers it in the management table 31B. Here, there is an upper limit to the number of entries registered in the management table 31B. For this reason, when there is no empty entry E in the management table 31B, the prediction unit 26 may release any entry E registered in the management table 31B and register a new entry E Z + 1. . The release of the entry E may be performed by the same method as the release of the entry E by the update unit 24.

そして、予測部26は、管理テーブル31Bにおける新エントリEZ+1に、将来アクセスすると予測した第2領域を含む第1領域の、ページ番号である論理アドレスを登録する。また、予測部26は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリEZ+1に登録する。 Then, the prediction unit 26 registers the logical address, which is the page number, of the first area including the second area predicted to be accessed in the future in the new entry E Z + 1 in the management table 31B. Also, the prediction unit 26 searches the physical address corresponding to the logical address from the page table and registers it in the new entry E Z + 1 .

このように、管理テーブル31A(図4参照)と、ページテーブルのキャッシュとして機能するTLBと、を統合して管理する管理テーブル31B(図5参照)に、予測部26が、新たに予測した第2領域の新エントリZ+1を登録し、該新エントリZ+1に論理アドレスおよび物理アドレスを登録する。 As described above, the management unit 31A (see FIG. 4) and the management table 31B (see FIG. 5) that integrates and manages the management table 31A (see FIG. 5) and the TLB that functions as the page table cache are newly predicted by register the new entry Z + 1 2 regions, it registers the logical addresses and physical addresses in該新entry Z + 1.

このため、処理回路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 unit 26 updates the access information of the second area C1 predicted to be accessed in the future in the new entry E Z + 1 to “1”.

すると、上記実施の形態と同様に、転送部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 prediction unit 26 to the cache memory 16. In addition, the transfer unit 28 transfers the data to another type of storage unit 14 (for example, the first storage unit 14A) having a higher access speed by the processing circuit 12 than the storage unit 14 in which the data is stored. Also good.

そして、転送部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 destination storage unit 14. At this time, if the transfer destination is the cache memory 16, the page table need not be updated.

次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図19は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。   Next, an example of an information processing procedure executed by the information processing apparatus 10 according to the present modification will be described. FIG. 19 is a flowchart illustrating an example of an information processing procedure executed by the information processing apparatus 10 according to the present modification.

まず、更新部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 prediction unit 26 predicts a second area that the processing circuit 12 will access in the future based on the access management information in the management table 31B (step S204).

次に、予測部26は、ステップS206で予測した第2領域が、ステップS200で取得したメモリアクセス要求に示されるアクセス対象の第1領域の、次のページ番号によって識別される第1領域内の第2領域であるか否かを判断する(ステップS206)。   Next, the prediction unit 26 determines that the second area predicted in step S206 is in the first area identified by the next page number of the first area to be accessed indicated in the memory access request acquired in step S200. It is determined whether it is the second area (step S206).

ステップ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 prediction unit 26 specifies the entry E to be released in the management table 31B (step S210), and releases the entry E (step S212).

次に、予測部26は、管理テーブル31Bに、新エントリEZ+1を作成し、ステップS204で将来アクセスすると予測した第2領域を含む第1領域の論理アドレス(ページ番号)を登録する(ステップS214)。次に、予測部26は、該論理アドレスに対応する物理アドレスをページテーブルから検索し、該新エントリEZ+1に登録する(ステップS216)。 Next, the prediction unit 26 creates a new entry E Z + 1 in the management table 31B and registers the logical address (page number) of the first area including the second area predicted to be accessed in the future in step S204 ( Step S214). Next, the prediction unit 26 searches the physical address corresponding to the logical address from the page table and registers it in the new entry E Z + 1 (step S216).

次に、予測部26は、新エントリEZ+1における、ステップS206で将来アクセスすると予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS218)。 Next, the prediction unit 26 updates the access information of the second area predicted to be accessed in step S206 in the new entry E Z + 1 to “1” that has been accessed (step S218).

次に、転送部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 storage unit 14 or cache memory 16 having a higher access speed by the processing circuit 12 than the storage unit 14 storing the data. (Step S220).

そして、転送部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 prediction unit 26 updates the access information of the second area predicted in step S204 in the management table 31B to “1” that has been accessed (step S224).

次に、転送部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 storage unit 14 or cache memory that is faster in access speed by the processing circuit 12 than the storage unit 14 in which the data is stored. 16 (step S226).

次に、転送部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 prediction unit 26 accesses the management table 31B in the future 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. Then, a new entry E defining the page number of the first area including the predicted second area is added. Then, the prediction unit 26 registers a logical address and a physical address in the new entry E.

このため、処理回路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 prediction unit 26 corresponds to the identification information (page number) of the other first area indicating the logical address (page number) within a predetermined range with respect to the logical address (page number) of the first area to be predicted. Based on the access management information to be processed, the second area that the processing circuit 12 will access in the future may be predicted in the first area to be predicted.

予測対象の第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 same storage unit 14 as the data in the first area to be predicted, and the logical address of the first area to be predicted The first area may indicate a predetermined range of logical addresses.

図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 second storage unit 14B will be described as an example.

また、更新部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 prediction unit 26 specifies another entry E indicating a logical address within a predetermined range with respect to the logical address of the new entry Ej.

本変形例では、更新部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 second storage unit 14B in FIG. 20) as the new entry Ej are defined.

そして、予測部26は、特定したこれらのエントリE(エントリEh1とエントリEh2)のアクセス情報によって示されるパターンに応じて、新エントリEjの第1領域内に含まれる第2領域について、将来アクセスする第2領域を予測する。   Then, the prediction unit 26 accesses the second area included in the first area of the new entry Ej in the future in accordance with the pattern indicated by the access information of these specified entries E (entry Eh1 and entry Eh2). Predict the second region.

具体的には、予測部26は、所定範囲内の論理アドレスを示す他のエントリE(エントリEh1とエントリEh2)のアクセス管理情報が、所定条件を満たすか否かを判断する。   Specifically, the prediction unit 26 determines whether or not the access management information of another entry E (entry Eh1 and entry Eh2) indicating a logical address within a predetermined range satisfies a predetermined condition.

所定条件は、予め定めればよい。例えば、予測部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 prediction unit 26 sets a predetermined condition. Judging to meet.

第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 prediction unit 26 determines that the predetermined condition is satisfied.

そして、所定条件を満たすと判断した場合、予測部26は、これらのエントリE(エントリEh1とエントリEh2)のアクセス管理情報に規定されたアクセス情報によって示されるパターンから、新エントリEjの第2領域について、将来アクセスされる第2領域を予測する。この予測の方法は、上記実施の形態と同様である。   If the prediction unit 26 determines that the predetermined condition is satisfied, the prediction unit 26 uses the second area of the new entry Ej from the pattern indicated by the access information defined in the access management information of these entries E (entry Eh1 and entry Eh2). The second area to be accessed in the future is predicted. This prediction method is the same as in the above embodiment.

そして、予測部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 prediction unit 26 updates the predicted access information of the second area in the new entry Ej to “1”. Therefore, the new entry Ej after being updated by the prediction unit 26 is, for example, as shown in FIG. For example, the access information of the second area C1 in the new entry Ej is updated to “1” accessed by the update unit 24, and at least one of the second areas C2 to C16 is updated to “1” accessed by the prediction unit 26 Is done.

すると、本変形例では、予測部26が所定条件を満たすと判断した場合、転送部28は、予測対象の第1領域のデータをページ単位(該第1領域の単位)で第2記憶部14Bから第1記憶部14Aへ転送する。   Then, in this modification, when the prediction unit 26 determines that the predetermined condition is satisfied, the transfer unit 28 stores the data of the first region to be predicted in page units (units of the first region) in the second storage unit 14B. To the first storage unit 14A.

すなわち、新エントリ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 second storage unit 14B. In this case, for example, the transfer unit 28 transfers the data in the first area indicated by the new entry Ej from the second storage unit 14B to the first storage unit 14A in units of pages.

また、転送部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 prediction unit 26 in the new entry Ej to the cache memory 16 in units of cache lines.

すなわち、本変形例では、予測部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 unit 26 selects another accessed entry E (entry Eh1 that indicates a logical address within a predetermined range). When the access management information of the entry Eh2) satisfies the predetermined condition, it is predicted that the new entry Ej is also accessed more than a predetermined number of times. Then, the transfer unit 28 transfers the data of the new entry Ej from the second storage unit 14B to the first storage unit 14A in page units. At the same time, the transfer unit 28 transfers the data of the second area accessed in the future predicted by the prediction unit 26 in the new entry Ej to the cache memory 16 in units of cache lines.

そして、転送部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 first storage unit 14A (in FIG. 21, the physical address of the new entry Ej ′). reference). In addition, the transfer unit 28 updates the physical address corresponding to the logical address of the transferred first area in the page table to the physical address of the first storage unit 14A that is the transfer destination.

なお、予測部26が上記所定条件を満たさないと判断した場合、転送部28は、将来アクセスすると予測した第2領域を含む第1領域のデータを、キャッシュライン単位(第2領域の単位)で、キャッシュメモリ16へ転送すればよい。   If the prediction unit 26 determines that the predetermined condition is not satisfied, the transfer unit 28 stores the data in the first area including the second area predicted to be accessed in the future in units of cache lines (units of the second area). Transfer to the cache memory 16 is sufficient.

図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 second storage unit 14B to the first storage unit 14A. Further, the transfer unit 28 transfers the data in the second area predicted to be accessed in the future in the page A to the cache memory 16 in units of cache lines.

一方、本変形例では、メモリアクセスローカリティが低いと予測されたエントリによって規定される第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 unit 14B to the cache memory 16.

すなわち、本変形例では、第2記憶部14B(SCM)上にあるページAとページBについて、管理装置18は、第1処理と第2処理を使い分けて実行する。言い換えると、管理装置18は、第1処理と第2処理を混在して実行する。   That is, in the present modification, the management device 18 executes the first process and the second process separately for page A and page B on the second storage unit 14B (SCM). In other words, the management device 18 executes the first process and the second process in a mixed manner.

第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 second storage unit 14B (SCM), page A, which is expected to have high memory access locality, is transferred to the first storage unit 14A (DRAM) on a page basis. Then, the access information of page A transferred to the first storage unit 14A (DRAM) in the management table 31B is access information “1” indicating that access has been made by the processing circuit 12 accessing the page A in units of cache lines. Updated to Then, the prediction unit 26 predicts a second area (cache line) to be accessed in the future by the processing circuit 12 in accordance with the pattern indicated by the access information in the management table 31B. Then, the cache line predicted to be accessed in the future in page A is transferred to the cache memory 16 in units of cache lines. This series of processes is referred to as a first process.

第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 first storage unit 14A (DRAM) and remains in the second storage unit 14B (SCM) is transferred to the page B by the processing circuit 12. Is updated to access information “1” indicating that access has been completed. Then, the prediction unit 26 predicts a second area (cache line) to be accessed in the future by the processing circuit 12 in accordance with the pattern indicated by the access information in the management table 31B. Then, the cache line predicted to be accessed in the future in page B is transferred to the cache memory 16 in units of cache lines. This series of processing is referred to as second processing.

次に、本変形例の情報処理装置10が実行する情報処理の手順の一例を説明する。図23は、本変形例の情報処理装置10が実行する情報処理の手順の一例を示すフローチャートである。   Next, an example of an information processing procedure executed by the information processing apparatus 10 according to the present modification will be described. FIG. 23 is a flowchart illustrating an example of an information processing procedure executed by the information processing apparatus 10 according to the present modification.

まず、更新部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 prediction unit 26 determines whether the access to the first area (that is, the page) including the second area to be accessed indicated in the memory access request received in step S300 is the first access to the first area. It is determined whether or not (step PS308). If a negative determination is made in step S308 (step S308: No), the process proceeds to step S326 described later. If an affirmative determination is made in step S308 (step S308: Yes), the process proceeds to step S310.

次に、予測部26が、新エントリEjの論理アドレスに対して、所定範囲内の論理アドレスを示す他のエントリE(エントリEh1、エントリEh2)を特定する(ステップS310)。   Next, the prediction unit 26 identifies another entry E (entry Eh1, entry Eh2) indicating a logical address within a predetermined range with respect to the logical address of the new entry Ej (step S310).

次に、予測部26は、ステップS310で特定したこれらのエントリE(エントリEh1とエントリEh2)のアクセス管理情報が、所定条件を満たすか否かを判断する(ステップS312)。所定条件を満たさない場合(ステップS312:No)、後述するステップS326へ進む。   Next, the prediction unit 26 determines whether or not the access management information of these entries E (entry Eh1 and entry Eh2) specified in step S310 satisfies a predetermined condition (step S312). If the predetermined condition is not satisfied (step S312: NO), the process proceeds to step S326 described later.

所定条件を満たす場合(ステップ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 prediction unit 26 uses the access management information of the entry E (entry Eh1 and entry Eh2) identified in step S310 to process the second area in the first area indicated by the new entry Ej by the processing circuit 12 in the future. A second area to be accessed is predicted (step S314).

そして、予測部26は、新エントリEjにおける、ステップS314で予測した第2領域のアクセス情報をアクセス済“1”に更新する(ステップS316)。   Then, the prediction unit 26 updates the access information of the second area predicted in Step S314 in the new entry Ej to “1” that has been accessed (Step S316).

次に、転送部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 first storage unit 14A in units of pages (step S318). Next, the transfer unit 28 transfers the data in the second area predicted to be accessed in the future in step S314 in the data in the first area to the cache memory 16 in units of cache lines (step S320).

次に、転送部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 first storage unit 14A) in step S318. . Also, the transfer unit 28 updates the physical address corresponding to the transferred logical address of the first area in the page table to the physical address of the transfer destination storage unit 14 (for example, the first storage unit 14A) in step S318. .

次に、更新部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 prediction unit 26 predicts a second area that the processing circuit 12 will access in the future based on the access management information in the management table 31B (step S328).

そして、予測部26は、管理テーブル31Bにおける、ステップS328で予測した第2領域のアクセス情報を、アクセス済“1”に更新する(ステップS330)。   Then, the prediction unit 26 updates the access information of the second area predicted in step S328 in the management table 31B to “1” that has been accessed (step S330).

次に、転送部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 cache memory 16 in units of cache lines (step S332). That is, when the prediction unit 26 determines that the predetermined condition is not satisfied, the transfer unit 28 transfers the data in the second area predicted to be accessed in the future by the processing circuit 12 from the second storage unit 14B to the cache memory 16 in units of cache lines. Direct transfer to

次に、転送部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 prediction unit 26 performs access management corresponding to the identification information of the other first area indicating the logical address within the predetermined range with respect to the logical address of the first area to be predicted. Based on the information, the second area that the processing circuit 12 will access in the future is predicted in the first area to be predicted.

ここで、所定範囲内の論理アドレスを示す第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 storage unit 14.

このため、予測部26が、本変形例の処理を行うことで、上記実施の形態の効果に加えて、より高精度に、処理回路12が将来アクセスする第2領域を予測することができる。   For this reason, the prediction unit 26 can predict the second region that the processing circuit 12 will access in the future with higher accuracy in addition to the effects of the above-described embodiment by performing the processing of this modification.

(変形例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 information processing apparatus 10A according to the present modification. As illustrated in FIG. 24, the processing circuit 12A of the information processing apparatus 10A may include a cache memory 16 and a management device 18. The processing circuit 12A is the same as the processing circuit 12 of the above embodiment except that the processing circuit 12A includes the cache memory 16 and the management device 18.

(変形例4)
図25は、本変形例の情報処理装置10Bの一例を示す模式図である。図25に示すように、管理装置18Aが、キャッシュメモリ16、アクセス制御部20、管理部22、および記憶部14を備えた構成であってもよい。
(Modification 4)
FIG. 25 is a schematic diagram illustrating an example of an information processing apparatus 10B according to the present modification. As illustrated in FIG. 25, the management device 18 </ b> A may include a cache memory 16, an access control unit 20, a management unit 22, and a storage unit 14.

以上、本発明の実施の形態および変形例を説明したが、これらの実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形例は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。   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, 12A Processing circuit 14 Storage unit 16 Cache memory 18, 18A Management device 22 Management unit 24 Update unit 28 Transfer unit 30 Management information storage unit

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.
前記パターンは、アクセス済を示す前記アクセス情報を規定された前記第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.
前記処理回路からメモリアクセス要求を受付けたときに、前記管理テーブルにおける、前記メモリアクセス要求に示されるアクセス対象の前記第2領域の前記アクセス情報を、アクセス済に更新する更新部を備える、
請求項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.
前記予測部が予測した前記第2領域内のデータを、該データの記憶されている前記記憶部より前記処理回路によるアクセス速度の速い他の種類の前記記憶部へ転送する転送部を備える、
請求項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領域のデータを該第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.
複数種類の前記記憶部は、キャッシュメモリと、前記キャッシュメモリよりアクセス速度の遅い前記第1記憶部と、前記第2記憶部と、を含み、
前記転送部は、
前記予測部が前記所定条件を満たすと判断した場合、前記処理回路が将来アクセスすると予測した前記第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.
JP2018051309A 2018-03-19 2018-03-19 Management equipment, information processing equipment, management methods, and programs Active JP6786541B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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