[go: up one dir, main page]

JP2016048502A - 情報処理装置及びメモリアクセス処理方法 - Google Patents

情報処理装置及びメモリアクセス処理方法 Download PDF

Info

Publication number
JP2016048502A
JP2016048502A JP2014173578A JP2014173578A JP2016048502A JP 2016048502 A JP2016048502 A JP 2016048502A JP 2014173578 A JP2014173578 A JP 2014173578A JP 2014173578 A JP2014173578 A JP 2014173578A JP 2016048502 A JP2016048502 A JP 2016048502A
Authority
JP
Japan
Prior art keywords
zero
page
cache
memory
control unit
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.)
Withdrawn
Application number
JP2014173578A
Other languages
English (en)
Inventor
寛之 亀澤
Hiroyuki Kamezawa
寛之 亀澤
上田 康夫
Yasuo Ueda
康夫 上田
勤 伊藤
Tsutomu Ito
勤 伊藤
英男 下谷
Hideo Shitaya
英男 下谷
康文 五島
Yasufumi Goto
康文 五島
美弥子 内田
Miyako Uchida
美弥子 内田
顕 市川
Akira Ichikawa
顕 市川
英俊 瀬戸
Hidetoshi Seto
英俊 瀬戸
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014173578A priority Critical patent/JP2016048502A/ja
Priority to US14/816,901 priority patent/US9507724B2/en
Publication of JP2016048502A publication Critical patent/JP2016048502A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

【課題】プロセスにページを割り当てる際のページのゼロクリア処理に起因するプロセスの停止時間を短縮する情報処理装置を提供する。
【解決手段】OS21は、プロセスにゼロページを割り当てることによって、割り当てたページのゼロクリアを行うことなくプロセスの実行を再開する。また、OS21はTLB(Translation Lookaside Buffer)3のゼロページに対応するZPビットを1にセットし、キャッシュ制御部4はZPビットに基づいてキャッシュメモリ5へのアクセスを制御する。また、CPU2、ハードウェア支援機構又は余剰CPU2が、メモリ割り当てと非同期にゼロページのゼロクリアを行う。
【選択図】図3

Description

本発明は、情報処理装置及びメモリアクセス処理方法に関する。
OS(Operating System)は、プロセスにメインメモリのページを渡す場合、ページをゼロクリアしてから渡す。ここで、ページとはメインメモリの管理単位であり、ページ毎にメインメモリからキャッシュメモリへの読み出しが行われる。ゼロクリアの主たる目的はメインメモリの内容の破壊であり、OSはメインメモリの内容を破壊して渡すことにより以前の使用者の情報が次の使用者に漏れることを防いでいる。
ゼロクリアは、システムのセキュリティには必要な処理であるが、非常にCPU(Central Processing Unit)時間を消費する処理であり、アプリケーションの実行時間の20%を占める場合もある。このため、高速性を要求するプログラムでは、ゼロクリアに要する時間を短縮することが重要となる。
従来のゼロクリアの方法には、2つの方法がある。図11Aは、ゼロクリアの第1の方法を説明するための図であり、図11Bは、ゼロクリアの第2の方法を説明するための図である。
図11Aに示すように、第1の方法では、プロセスが初めてページを使用してページフォルトが発生する(1)と、OSのメモリハンドラは、ページの割り当てを行い(2)、ページのゼロクリアを行う(3)。そして、OSはプロセスの処理を復帰させる(4)。
図11Bに示すように、第2の方法では、OSはあらかじめページをゼロクリアして蓄えておき(1)、プロセスが初めてページを使用してページフォルトが発生する(2)と、メモリハンドラはゼロクリア済のページを割り当てる(3)。そして、OSはプロセスの処理を復帰させる(4)。
また、第1の方法と第2の方法を組み合わせる方法もある。その他、メモリのページに対するゼロクリアが指定されたときに、メモリの該当するページをゼロクリアせずに、該当するページについてゼロクリア情報を記憶し、ゼロクリア情報に基づいて該当ページへのアクセスを制御することで処理時間を短縮する技術がある。また、仮想記憶管理システムにおいて、新しいページに最初の参照が発生すると、ページフレームが割り当てられ、ページングサブシステムがゼロに初期化設定する技術がある。
特開平10−3423号公報 特公平5−64817号公報
しかしながら、従来のゼロクリアの方法には、ゼロクリアの処理の間プロセスの処理が停止するという問題がある。第1の方法では、プロセスからの使用要求があって初めてゼロクリアを行うため、プロセスがページフォルトを起こしてから復帰できるまでの時間コストが非常に高くなる。
また、第2の方法でも、ゼロクリア済のページがなくなると、ゼロクリアの処理が必要となる。なお、第2の方法には、事前に行うゼロクリア処理のCPU時間をどのように課金するかという問題もある。
本発明は、1つの側面では、ページ割り当て時のプロセスの停止時間を短縮することを目的とする。
本願の開示する情報処理装置は、1つの態様において、内容が全てゼロのページであるゼロページを示すゼロページ情報をページ毎に記憶するゼロページ情報記憶部と、メインメモリが記憶する複数のページの一部を一時的に記憶するキャッシュメモリとを有する。また、前記情報処理装置は、ページの割り当てを行った際に、割り当てたページに対応するゼロページ情報を前記ゼロページ情報記憶部に設定する制御部を有する。また、前記情報処理装置は、前記ゼロページ情報記憶部が記憶するゼロページ情報に基づいて前記キャッシュメモリへのアクセスを制御するキャッシュ制御部を有する。また、前記情報処理装置は、前記ゼロページ情報記憶部がゼロページ情報を記憶するページに対応するメインメモリのページを前記制御部によるゼロページの割り当てとは非同期にゼロクリアするクリア部を有する。
1実施態様によれば、ページ割り当て時のプロセスの停止時間を短縮することができる。
図1は、実施例に係る情報処理装置によるメモリ割り当て処理を説明するための図である。 図2は、実施例に係る情報処理装置のメモリ割り当て動作を示す図である。 図3は、実施例に係る情報処理装置の構成を示す図である。 図4は、ZPビットを説明するための図である。 図5は、実施例に係る情報処理装置によるメモリアクセス処理のフローを示すフローチャートである。 図6は、キャッシュ制御部による書き込み処理のフローを示すフローチャートである。 図7は、キャッシュ制御部による読み出し処理のフローを示すフローチャートである。 図8は、CPUがアイドル時に行うゼロクリア処理を説明するための図である。 図9は、ハードウェア支援によるゼロクリアを説明するための図である。 図10は、余剰CPUによるゼロクリア処理を説明するための図である。 図11Aは、ゼロクリアの第1の方法を説明するための図である。 図11Bは、ゼロクリアの第2の方法を説明するための図である。
以下に、本願の開示する情報処理装置及びメモリアクセス処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係る情報処理装置によるメモリ割り当て処理について説明する。図1は、実施例に係る情報処理装置によるメモリ割り当て処理を説明するための図である。図1に示すように、実施例に係る情報処理装置では、プロセスが初めてページを使用してページフォルトが発生する(1)と、OSのメモリハンドラは、ページの割り当てを行い(2)、ゼロページ通知をCPUのキャッシュ機構に対して行う(3)。
ここで、ゼロページ通知とは、ページがゼロクリアされるべきページすなわちゼロページであることを知らせる通知である。また、キャッシュ機構には、仮想アドレスから物理アドレスへの変換を高速化するTLB(Translation Lookaside Buffer)とキャッシュメモリとが含まれる。
そして、OSはプロセスの処理を復帰させる(4)。すなわち、OSは、割り当てたページのゼロクリアを行うことなく、キャッシュ機構に対してゼロページ通知を行うだけでプロセスの処理へ復帰させる。その後、プロセスが割り当てられたゼロページにアクセスすると、キャッシュ機構は、アクセス要求に応じた処理を行う(5)。また、ページの割り当てとは非同期に、OS又はCPUがゼロページのゼロクリアを行う(6)。
このように、OSが、割り当てたページのゼロクリアを行うことなく、キャッシュ機構に対してゼロページ通知を行うだけでプロセスの処理を復帰させる。また、ページの割り当てとは非同期に、OS又はCPUがゼロページのゼロクリアを行う。したがって、OSは、メモリ割り当て時のプロセスの停止時間を短縮することができる。
次に、実施例に係る情報処理装置のメモリ割り当て動作について説明する。図2は、実施例に係る情報処理装置のメモリ割り当て動作を示す図である。図2に示すように、プロセスとして動作するユーザプログラムが実行中(1)に初めてページを使用し、ページフォルトが発生すると(2)、OSがメモリ割り当てを行う(3)。
そして、OSは、TLBに対して割り当てたページがゼロページであることを記憶するように指示し(4)、ユーザプログラムの実行を再開する(5)。また、OS又はCPUが必要に応じて特定のタイミングでゼロページのゼロクリアを行う(6)。
このように、OSは、TLBに対して割り当てたページがゼロページであることを記憶するように指示してユーザプログラムの実行を再開するので、メモリ割り当て時のユーザプログラムの停止時間を短縮することができる。
次に、実施例に係る情報処理装置の構成について説明する。図3は、実施例に係る情報処理装置の構成を示す図である。図3に示すように、情報処理装置1は、CPU2と、TLB3と、キャッシュ制御部4と、キャッシュメモリ5と、メインメモリ6とを有する。
CPU2は、メインメモリ6からプログラムを読み出して実行する中央処理装置である。CPU2は、OS21を実行する。OS21は、情報処理装置1のリソースの管理、CPU2で実行されるプログラムの管理などを行う基本ソフトウェアである。OS21は、プロセスへのメインメモリ6の割り当てなどを行うメモリハンドラ22を有する。
TLB3は、仮想アドレスと物理アドレスを対応付けて記憶し、仮想アドレスを物理アドレスに変換する。そして、TLB3は、変換した物理アドレスをキャッシュ制御部4に渡す。
TLB3は、ZP記憶部31を有する。ZP記憶部31は、TLB3のエントリ毎にエントリがゼロページであるか否かを示すZPビットを記憶する。図4は、ZPビットを説明するための図である。図4は、TLB3の構成を示す。図4に示すように、TLB3の各エントリは、ValidビットとDirtyビットとTagとDataとZPビットを有する。
Validビットは、エントリが正当であるか否かを示すビットである。Dirtyビットは、エントリに対応するページに変更があったか否かを示すビットである。Tagは、仮想アドレスである。Dataは、仮想アドレスに対応する物理アドレスである。
ZPビットは、1にセットされると、対応するページがゼロページであることを示す。TLB3は、OS21の指示に基づいてZPビットを1にセットする。また、TLB3は、物理アドレスとともに対応するZPビットをキャッシュ制御部4に渡す。
図3に戻って、キャッシュ制御部4は、キャッシュメモリ5の読み書きを制御する。キャッシュ制御部4は、TLB3から渡された物理アドレス及びZPビットに基づいてページへのアクセスを制御する。
ZPビットが1である場合に、キャッシュ制御部4は、リードアクセスがキュシュミスすると、ゼロで埋めたキャッシュエントリをキャッシュメモリ5に加え、アクセス要求元にはゼロページを返す。このとき、キャッシュ制御部4は、メモリへのアクセスは行わない。
ユーザは、メインメモリ6を使用する場合、メインメモリ6にデータを書き込んでからデータを読み出す。したがって、ZPビットが1であるページすなわちゼロページに対してリードアクセスが行われることはほとんどないと考えられるが、キャッシュ制御部4は、予防的な処理として、ゼロページに対するリードアクセス処理を行う。
また、ZPビットが1である場合に、キャッシュ制御部4は、ライトアクセスがキャッシュミスすると、ゼロで埋めたキャッシュエントリをキャッシュメモリ5に加え、加えたキャッシュエントリに書き込み内容を反映する。このとき、キャッシュ制御部4は、メインメモリ6へのアクセスは行わない。
ZPビットが1である場合に、キャッシュヒットしたときは、キャッシュ制御部4は、ヒットしたキャッシュエントリにアクセスする。このとき、キャッシュ制御部4は、メインメモリ6へのアクセスは行わない。ZPビットが1であるページに対しては、キャッシュ制御部4は、メモリアクセスは全てキャッシュメモリ5で処理し、ZPビットが1であるページのスワップアウトは行わない。
ZPビットが0である場合には、キャッシュ制御部4は、従来と同様の動作を行う。すなわち、キャッシュ制御部4は、キャッシュヒットしたときは、ヒットしたキャッシュエントリにアクセスし、キャッシュヒットしなかったときは、メインメモリ6にアクセスする。
CPU2からキャッシュメモリ5を迂回してメインメモリ6へアクセスする命令が出された場合は、キャッシュ制御部4は、例外を発生し、OS21に制御を渡す。OS21は、ゼロクリアが必要か否かを判断し、ゼロクリアが必要な場合には、メインメモリ6のページのゼロクリアを行う。なお、CPU2からキャッシュメモリ5を迂回してメインメモリ6へアクセスすることは、例えば、ビデオドライバ、HPC(High Performance Computing)における処理などで発生する。
キャッシュメモリ5は、CPU2からメインメモリ6へのアクセスを高速化するために、メインメモリ6に記憶されるページの一部を記憶する。メインメモリ6は、プログラムやプログラムの実行途中結果などを記憶するRAM(Random Access Memory)である。
次に、実施例に係る情報処理装置1によるメモリアクセス処理のフローについて説明する。図5は、実施例に係る情報処理装置1によるメモリアクセス処理のフローを示すフローチャートである。
図5に示すように、情報処理装置1で動作するユーザプログラムがメモリアクセスを行い(ステップS1)、初めてのページの使用であると、ページフォルトが発生する(ステップS2)。すると、OS21が、メモリ割り当てを行い(ステップS3)、TLB3の対応するページのZPビットをセットする(ステップS4)。そして、OS21は、ユーザプログラムに復帰させる(ステップS5)。
その後、ユーザプログラムがメインメモリ6にアクセスすると、キャッシュ制御部4がZPビットに基づいてメインメモリ6へのアクセスを制御する(ステップS6)。そして、CPU2又はOS21がメモリ割り当てとは非同期にゼロページのゼロクリアを行う(ステップS7)。
このように、OS21は、TLB3のZPビットをセットするだけで、メインメモリ6のページのゼロクリアを行うことなくユーザプログラムに復帰させるので、ユーザプログラムの停止時間を短縮することができる。
次に、キャッシュ制御部4による書き込み処理のフローについて説明する。図6は、キャッシュ制御部4による書き込み処理のフローを示すフローチャートである。図6に示すように、キャッシュ制御部4は、物理アドレス及びZPビットをTLB3から取得する(ステップS11)。
そして、キャッシュ制御部4は、キャッシュヒットしたか否かを判定し(ステップS12)、キャッシュヒットした場合には、データをキャッシュメモリ5に書き込む(ステップS13)。
一方、キャッシュヒットしなかった場合には、キャッシュ制御部4は、ZPビットが1にセットされているか否かを判定する(ステップS14)。その結果、ZPビットが1にセットされている場合には、キャッシュ制御部4は、ゼロページのエントリをキャッシュメモリ5に物理アドレスに対応付けて追加し(ステップS15)、データをキャッシュメモリ5に書き込む(ステップS13)。
一方、ZPビットが1にセットされていない場合には、キャッシュ制御部4は、メインメモリ6からページを読み出し(ステップS16)、ページをキャッシュメモリ5に書き込む(ステップS17)。そして、キャッシュ制御部4は、データをキャッシュメモリ5に書き込む(ステップS13)。
このように、ZPビットが1にセットされている場合に、キャッシュ制御部4がゼロページのエントリをキャッシュメモリ5に追加することによって、プロセスはゼロページへの書き込みを行うことができる。
次に、キャッシュ制御部4による読み出し処理のフローについて説明する。図7は、キャッシュ制御部4による読み出し処理のフローを示すフローチャートである。図7に示すように、キャッシュ制御部4は、物理アドレス及びZPビットをTLB3から取得する(ステップS21)。
そして、キャッシュ制御部4は、キャッシュヒットしたか否かを判定し(ステップS22)、キャッシュヒットした場合には、キャッシュメモリ5からデータを読み出す(ステップS23)。
一方、キャッシュヒットしなかった場合には、キャッシュ制御部4は、ZPビットが1にセットされているか否かを判定する(ステップS24)。その結果、ZPビットが1にセットされている場合には、キャッシュ制御部4は、ゼロページのエントリをキャッシュメモリ5に物理アドレスに対応付けて追加し(ステップS25)、データとしてゼロを出力する(ステップS26)。
一方、ZPビットが1にセットされていない場合には、キャッシュ制御部4は、メインメモリ6からページを読み出し(ステップS27)、ページをキャッシュメモリ5に書き込む(ステップS28)。そして、キャッシュ制御部4は、キャッシュメモリ5からデータを読み出す(ステップS29)。
このように、ZPビットが1にセットされている場合に、キャッシュ制御部4がゼロページのエントリをキャッシュメモリ5に追加してゼロを出力することによって、プロセスはゼロページからのデータの読み出しを行うことができる。
次に、メモリ割り当てと非同期に行うゼロページのゼロクリアについて図8〜図10を用いて説明する。ゼロクリア処理については、CPU2がアイドルのときに行ってもよいし、ハードウェアの支援機構が行ってもよいし、あるいは、情報処理装置1が複数のCPU2を有する場合に余剰CPU2が行ってもよい。
図8は、CPU2がアイドル時に行うゼロクリア処理を説明するための図である。図8に示すように、OS21は、ゼロページを割り当てると、ゼロクリア処理依頼をキューイングする(1)。また、ゼロページを割り当てられたアプリケーションは実行を継続する。
その後、OS21がコンテキストスイッチを行い(2)、CPU2がアイドル状態になると、キューイングされたゼロクリア処理依頼に基づいてアイドルスレッドがゼロクリアを行う(3)。
図9は、ハードウェア支援によるゼロクリアを説明するための図である。図9に示すように、OS21は、ゼロページを割り当てると、ハードウェア支援機構にゼロクリア指示を行う。ハードウェア支援機構としては、例えば、メインメモリ6へバースト転送を行う機構、メインコントローラ内でページをゼロクリアする機構などがある。
図10は、余剰CPU2によるゼロクリア処理を説明するための図である。図10に示すように、OS21は、ゼロページを割り当てると、ゼロクリア処理依頼をキューイングする(1)。また、ゼロページを割り当てられたアプリケーションは実行を継続する。
そして、処理に余裕のできたCPU2がゼロクリア処理依頼のキューをチェックする(2)。図10では、CPU「A」でアプリケーションが実行され、他のCPU2のうち処理に余裕のできたCPU「B」がゼロクリア処理依頼のキューをチェックする。そして、CPU「B」のスレッドがゼロクリアを行う(3)。
このように、CPU2、ハードウェア支援機構又は余剰CPU2が、メモリ割り当てと非同期にゼロページのゼロクリアを行うことによって、メモリハンドラ22によるゼロクリアを不要とすることができる。なお、OS21は、ゼロクリアが行われたページに対応するZPビットを0にリセットする。
上述してきたように、実施例では、OS21は、プロセスにゼロページを割り当てることによって、割り当てたページのゼロクリアを行うことなくプロセスの実行を再開する。また、OS21はTLB3のゼロページに対応するZPビットを1にセットし、キャッシュ制御部4はZPビットに基づいてキャッシュメモリ5へのアクセスを制御する。また、CPU2、ハードウェア支援機構又は余剰CPU2が、メモリ割り当てと非同期にゼロページのゼロクリアを行う。したがって、OS21は、ページ割り当ての際のゼロクリア処理に起因するプロセスの停止時間を短縮することができる。
1 情報処理装置
2 CPU
3 TLB
4 キャッシュ制御部
5 キャッシュメモリ
6 メインメモリ
21 OS
22 メモリハンドラ
31 ZP記憶部

Claims (6)

  1. 内容が全てゼロのページであるゼロページを示すゼロページ情報をページ毎に記憶するゼロページ情報記憶部と、
    メインメモリが記憶する複数のページの一部を一時的に記憶するキャッシュメモリと、
    ゼロページの割り当てを行った際に、割り当てたページに対応するゼロページ情報を前記ゼロページ情報記憶部に設定する制御部と、
    前記ゼロページ情報記憶部が記憶するゼロページ情報に基づいて前記キャッシュメモリへのアクセスを制御するキャッシュ制御部と、
    前記ゼロページ情報記憶部がゼロページ情報を記憶するページに対応するメインメモリのページを前記制御部によるゼロページの割り当てとは非同期にゼロクリアするクリア部と
    を備えることを特徴とする情報処理装置。
  2. 前記キャッシュ制御部は、前記ゼロページ情報記憶部がゼロページ情報を記憶するページへのデータの書き込みが要求された場合に、該ページのエントリがキャッシュメモリにないとき、ゼロページのエントリをキャッシュメモリに加え、該加えたエントリにデータを書き込むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記キャッシュ制御部は、前記ゼロページ情報記憶部がゼロページ情報を記憶するページからのデータの読み出しが要求された場合に、該ページのエントリがキャッシュメモリにないとき、ゼロページのエントリをキャッシュメモリに加え、読み出しデータとしてゼロを出力することを特徴とする請求項1に記載の情報処理装置。
  4. 前記制御部は、前記クリア部によりゼロクリアされたページに対応するゼロページ情報をリセットすることを特徴とする請求項1、2又は3に記載の情報処理装置。
  5. 前記ゼロページ情報記憶部は、仮想アドレスを物理アドレスに変換するTLBに含まれることを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
  6. メインメモリが記憶する複数のページの一部を一時的に記憶するキャッシュメモリを有する情報処理装置によるメモリアクセス処理方法において、
    内容が全てゼロのページであるゼロページの割り当てを行った際に、割り当てたページがゼロページであることを示すゼロページ情報をページ毎にゼロページ情報記憶部に設定し、
    前記ゼロページ情報記憶部が記憶するゼロページ情報に基づいて前記キャッシュメモリへのアクセスを制御し、
    前記ゼロページ情報記憶部がゼロページ情報を記憶するページに対応するメインメモリのページを前記ゼロページの割り当てとは非同期にゼロクリアする
    ことを特徴とするメモリアクセス処理方法。
JP2014173578A 2014-08-28 2014-08-28 情報処理装置及びメモリアクセス処理方法 Withdrawn JP2016048502A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014173578A JP2016048502A (ja) 2014-08-28 2014-08-28 情報処理装置及びメモリアクセス処理方法
US14/816,901 US9507724B2 (en) 2014-08-28 2015-08-03 Memory access processing method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014173578A JP2016048502A (ja) 2014-08-28 2014-08-28 情報処理装置及びメモリアクセス処理方法

Publications (1)

Publication Number Publication Date
JP2016048502A true JP2016048502A (ja) 2016-04-07

Family

ID=55402651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014173578A Withdrawn JP2016048502A (ja) 2014-08-28 2014-08-28 情報処理装置及びメモリアクセス処理方法

Country Status (2)

Country Link
US (1) US9507724B2 (ja)
JP (1) JP2016048502A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884945B2 (en) * 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
CN110908931B (zh) * 2016-08-26 2021-12-28 中科寒武纪科技股份有限公司 Tlb模块的更新方法
US12066944B2 (en) * 2019-12-20 2024-08-20 Advanced Micro Devices, Inc. Zero value memory compression

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3784424T2 (de) 1986-06-27 1993-09-23 Ibm Seitenaustauschsupervisor.
CA2078312A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
JPH103423A (ja) 1996-06-17 1998-01-06 Ricoh Co Ltd メモリ装置
US8799620B2 (en) * 2007-06-01 2014-08-05 Intel Corporation Linear to physical address translation with support for page attributes
JP6244949B2 (ja) * 2014-01-31 2017-12-13 富士通株式会社 情報処理装置、制御方法、および制御プログラム

Also Published As

Publication number Publication date
US20160062902A1 (en) 2016-03-03
US9507724B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
KR102456085B1 (ko) 로우 버퍼 충돌을 감소시키기 위한 동적 메모리 재매핑
US10552337B2 (en) Memory management and device
US8176220B2 (en) Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors
JP2013232151A (ja) メモリ保護回路、処理装置、およびメモリ保護方法
TW201430566A (zh) 在複數執行緒處理單元中的效率式記憶體虛擬化
CN109977037B (zh) 一种dma数据传输方法及系统
EP1974268A1 (en) Pre-emptible context switching in a computing device
EP1139222A1 (en) Prefetch for TLB cache
US10430356B2 (en) Low overhead copy engine fault and switch mechanism
US10521371B2 (en) Cache system and associated method
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
JP2016048502A (ja) 情報処理装置及びメモリアクセス処理方法
CN105612505B (zh) Cpu调度的方法和装置
US10083135B2 (en) Cooperative overlay
US9697123B2 (en) Information processing device, control method of information processing device and control program of information processing device
JP2007207249A (ja) ミス衝突処理状態でのキャッシュ・ヒットのための方法、システムおよびマイクロプロセッサ
KR101203157B1 (ko) 데이터 전달 시스템, 장치 및 방법
RU2238584C2 (ru) Способ организации персистентной кэш памяти для многозадачных, в том числе симметричных многопроцессорных компьютерных систем и устройство для его осуществления
US20220318053A1 (en) Method of supporting persistence and computing device
US11650747B2 (en) High throughput memory page reclamation
JP2010061220A (ja) データ転送装置、データ転送方法およびプロセッサ
JP4792065B2 (ja) データ記憶方法
US8842126B2 (en) Methods and systems to facilitate operation in unpinned memory
JP2015197802A (ja) 情報処理装置、情報処理方法及びプログラム
JP5847313B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171106