JP2006260395A - プログラムローディング方法及びその装置 - Google Patents

プログラムローディング方法及びその装置 Download PDF

Info

Publication number
JP2006260395A
JP2006260395A JP2005079507A JP2005079507A JP2006260395A JP 2006260395 A JP2006260395 A JP 2006260395A JP 2005079507 A JP2005079507 A JP 2005079507A JP 2005079507 A JP2005079507 A JP 2005079507A JP 2006260395 A JP2006260395 A JP 2006260395A
Authority
JP
Japan
Prior art keywords
program
text
loading
data
size
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.)
Pending
Application number
JP2005079507A
Other languages
English (en)
Inventor
Kiyoshi Ueda
清詩 上田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005079507A priority Critical patent/JP2006260395A/ja
Publication of JP2006260395A publication Critical patent/JP2006260395A/ja
Pending 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数の領域に分割され、少なくとも1つの領域のページサイズが他の領域のページサイズと異なるような仮想アドレス空間が用意されている場合のプログラムローディングにおいて、TLBエラーの発生頻度を下げ性能向上を図る。
【解決手段】プログラム1のテキスト1−1のサイズ1−3よりもページサイズが大きい領域があるか否かを判断し、ある場合にはプログラムのテキスト等のサイズよりもページサイズが大きい領域のうちのページサイズが最小の領域にプログラムのテキスト等を割り当て、ない場合にはプログラムのテキスト等のサイズよりもページサイズが小さい領域のうちのページサイズが最大の領域にプログラムのテキスト等を割り当てる。
【選択図】図1

Description

本発明は、プログラムを仮想空間に割り当て、物理メモリにローディングするためのプログラムローディング方法及びその装置に関する。
ccNUMA(cache coherent Non-Uniform Memory Access)アーキテクチャにおいては、システムは複数のノードを備え、各ノードは、CPU、メモリ、入出力インターフェース等を備える。あるノードのCPUは自ノードのメモリのみならず他ノードのメモリにもアクセスできるが、自ノードのメモリへのアクセス時間に対して、他ノードのメモリへのアクセス時間が長い。
特開2000−57054号公報 特開平5−81133号公報
ところが、ccNUMAアーキテクチャにおいても物理メモリと仮想空間をTLB(Translation Look-aside Buffer)機構を用いて対応付けるが、TLBのエントリ数が少ないと、キャッシュミスのようなTLBエラーが発生する。
また、ccNUMAアーキテクチャにおいて、物理メモリと仮想空間をどのように対応付けるかという方法が今まで開示されていなかった。
そこで、本発明は、TLBエラーが発生することの頻度を下げることを可能とするプログラムローディング方法を提供することを目的とする。
本発明の第1の観点によれば、複数の領域に分割され、少なくとも1つの領域のページサイズが他の領域のページサイズと異なるような仮想アドレス空間が用意されている場合のプログラムローディング方法において、プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域があるか否かを判断する第1判断ステップと、前記第1判断ステップの結果が肯定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域のうちのページサイズが最小の領域に前記プログラムのテキスト又はデータを割り当てる第1割当てステップと、を備えることを特徴とするプログラムローディング方法が提供される。
本発明の第1の観点によるプログラムローディング方法において、前記第1判断ステップの結果が否定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが小さい領域のうちのページサイズが最大の領域に前記プログラムのテキスト又はデータを割り当てる第2割当てステップを更に備えるようにしてもよい。
本発明の第1の観点によるプログラムローディング方法において、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータのサイズ以上の空き容量があるか否かを判断する第2判断ステップと、前記第2判断ステップの判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディングステップと、を更に備えるようにしてもよい。
本発明の第1の観点によるプログラムローディング方法において、前記第2判断ステップの判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディングステップを更に備えるようにしてもよい。
本発明の第2の観点によれば、プログラムを実行するCPUが属するセルに属するメモリに前記プログラムのテキスト又はデータのサイズ以上の空き容量があるか否かを判断する判断ステップと、前記判断ステップの判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディングステップと、を備えることを特徴とするプログラムローディング方法が提供される。
本発明の第2の観点によるプログラムローディング方法において、前記判断ステップの判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディングステップを更に備えるようにしてもよい。
本発明の第2の観点によるプログラムローディング方法において、前記プログラムにより指定されている仮想アドレスに前記プログラムのテキスト又はデータを割り当てる割当てステップを更に備えるようにしてもよい。
本発明によれば、TLBエントリ数を削減することができるので、TLBミスを削減できる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
[実施形態1]
本発明は、下記の特徴を有する計算機上で動作するオペレーティングシステムに対して投入されたプログラムの性能を向上させるプロセス配置機構を提供する。
1).オペレーティングシステムへのフォルトを発生させずに仮想アドレスから物理アドレスへの変換を行うためのキャッシュ(TLB)を有する。
2).仮想アドレスを複数の領域に分割し、各領域毎に、異なるページサイズを使用可能(各領域に対応する領域レジスタを有し、領域レジスタにその領域のページサイズを保有するなど)
3).キャッシュコヒーレントな非均質メモリアクセス(ccNUMA)
1)の特徴を有するアーキテクチャでは、TLBの1エントリは1ページに対応しているため、小さなページサイズを使用しているオペレーティングシステム上で多量のメモリを使用するプログラムを動作させるには多数のTLBエントリを必要とする。
TLBは有限であるため、エントリが足りなくなった場合にはフォルトを発生させてオペレーティングシステムにTLBエントリの置換を依頼することになり、これがプログラムの予期せぬ性能低下を招く。
これを解決するために、ページサイズがオペレーティングシステムが通常使用しているページよりも大きな領域にプログラムをロードする。オペレーティングシステムが通常使用しているページよりも大きなページのことを「ラージページ」ということにする。例えば、オペレーティングシステムが通常使用しているページのサイズが8kBであれば、16kBのページ、16MBのページ、256MBのページはラージページである。
これにより1つのTLBエントリでカバーできるアドレス空間が大きくなり、TLBフォルトが削減できるため、性能が向上する。
プログラムをロードする際、2)の特徴を利用することで既存のメモリ管理機構をほとんど変更することなくラージページを使用できる。
本実施形態では、各仮想アドレス領域毎に異なるページサイズを予め設定しておき、例えば、プログラム中のテキストのロードに必要なメモリのサイズ以上のサイズを有するページのうち最小のサイズを有するページを探し、そのようなページを有する仮想アドレス領域にプログラムをロードすることで、メモリ節約とラージページによる性能向上を両立している。つまり、このような場合、1つのページでテキストデータを表すため1つのTLBエントリのみしか必要でなくなるため、TLBフォルトを削減することが可能となる。また、この様な場合、無駄なメモリ領域を最小限にすることができるため、メモリ節約をすることが可能となる。
そのようなページが見つからない場合には、最大のページサイズを有する仮想アドレス領域にプログラムをロードする。こうすることにより、最小数のTLBエントリを用いることが可能となる。
ただし、プログラムは位置独立なコードである必要がある。
3)の特徴を有するアーキテクチャでは、CPUからメモリへのアクセス速度が物理アドレスによって異なる。
本実施形態では、プログラムをロードする仮想アドレスに対応するラージページを、プログラムが動作するCPUに近いメモリ(つまり、ccNUMAアーキテクチャにおける同一セル内のメモリ)から獲得することで性能を向上させている。
つまり本実施形態は、2)の特徴を利用してプログラムを適切なページサイズの仮想アドレスにロードする機構と、その仮想アドレスに対応するページを、高速にアクセスできる物理アドレスから取得する機構を組み合わせることにより、プログラムの性能を向上させるものである。
図1を参照すると本実施形態は下記を含む。
・テキスト1−1とデータ1−2及びヘッダを備える位置独立なプログラム1。
更にヘッダは、テキストサイズ1−3とデータサイズ1−4を備える。
・プログラムを実行するCPU2−1とプログラム実行のための一時的な記憶領域であるメモリ2−2及び各CPUとメモリ間を接続するバス2−3から構成されるセル2。
・異なるセルのCPUやメモリにアクセスするためにセル間を接続する高速スイッチ3。
・プログラムにCPUを割り当てるためのスケジューリング装置4。
・ページサイズの異なる複数のアドレス領域に分割された仮想アドレス空間5。
・プログラムをメモリに配置するためのプログラムロード装置6。
プログラムロード装置6は、プログラム中のテキストやデータのサイズに適したページサイズを算出するページサイズ判定装置6−1、ページサイズ判定装置6−1が算出したページサイズの仮想アドレス領域にプログラム中のテキストやデータをロードし、テキストを実行可能なようにアドレス解決やシンボル解決を行うためのロード装置6−2、ロードする仮想アドレスに対応する物理メモリを割り当てて管理するための仮想記憶装置6−3から成る。
CPU2−1と物理メモリであるメモリ2−2はセル単位で分割されており、あるCPU2−1から同一セル内のメモリ2−2へのアクセス速度は、セル間を跨ぐメモリ2−2へのアクセス速度よりも高速である。
仮想アドレス空間は、例として、3つの異なる領域に分割されており、それぞれのページサイズが16KB、16MB、256MBに設定されていると仮定する。この場合、仮想アドレス空間、ページサイズ及びページ数の関係は、例えば、以下のようになる。
Figure 2006260395
プログラムのテキストサイズは、例として、16kBより小さく、データサイズは256MBより大きいと仮定する。
各セル内のメモリ2−2の量は、テキストサイズとデータサイズの合計より十分に多いと仮定する。
図1、図2を参照して本実施形態の動作について説明する。
図1において、プログラム1が投入されると、スケジューリング装置4によってプログラム1をプロセスとして実行開始するために、いずれかのCPU2−1が割り当てられる(図2のステップA1)。
割り当てられたCPUを用いてプログラムロード装置6が動作し、まずページサイズ判定装置6−1がプログラムのテキストサイズ1−3を読み取る(図2のステップA2)。
ページサイズ判定装置は仮想アドレス空間5の中に、テキストサイズを包含するページサイズが存在するかチェックし(図2のステップA3)、存在すれば(ステップA3でYES)、包含するページサイズのうちの最小のページサイズを選択する(図2のステップA4)。存在しなければ(ステップA3でNO)、設定されているページサイズの中で最大のものを選択する(図2のステップA5)。この例では、テキストサイズが16kBよりも小さいので、ステップA4が実行され、16kBのページサイズが選択される。例えば、テキストサイズが1MBであれば、ステップA4が実行され、16MBのページサイズが選択される。また、テキストサイズが200MBであれば、ステップA4が実行され、256MBのページサイズが選択される。更に、テキストサイズが300MBであれば、ステップA5が実行され、256MBのページサイズが選択される。
ページサイズ判定装置6−1は選択したページサイズをロード装置6−2に通知する(図2のステップA6)。
ロード装置6−2は、ページサイズ判定装置6−1から受け取った情報から、割り当てて欲しい仮想アドレス領域を指定して仮想記憶装置6−3に仮想アドレスの割り当てと、そのアドレスへのメモリ2−2の割り当てを依頼する(図2のステップA7)。
仮想記憶装置6−3は、まず指定された仮想アドレス領域中の空き仮想アドレスを割り当てる(図2のステップA8)。次に、スケジューリング装置4によって割り当てられているCPU2−1が属するセル内のメモリ2−2に空きがあるかを調べ(ステップA9)、空きがあれば(ステップA9でYES)、そのメモリ2−2を割り当てた仮想アドレスに対応付ける(図2のステップA10)。空きがなければ(ステップA9でNO)、別のセルのメモリを対応付ける(図2のステップA11)。こうすることにより、ステップA10が実行された場合には、CPUは同一セル内のメモリにアクセスするようになり、可能な限り実行時間を高速化することが可能となる。
最後に、メモリ2−2が対応付けられた仮想アドレスをロード装置6−2に通知する(図2のステップA12)。
ロード装置6−2は、通知されたアドレスにプログラムのテキスト1−1をロードし(図2のステップA13)、テキスト中のアドレスやシンボル情報を解決する(図2のステップA14)。
次に、ロード装置6−2はプログラムのデータ1−2をロードするが、データ1−2のロードについてもテキストのロードと同様の手順なので、ここでは詳細な説明を省略する(図2のステップA15)。ここでは、データサイズが256MBよりも大きいと仮定しているので、256MBのページサイズが選択される。
データのロードが完了したら、スケジューリング装置4に割り当てられたCPU2−1でプログラムテキストの先頭から実行を開始する(図2のステップA16)。
[実施形態2]
本発明の実施形態2について図3、図4を参照して説明する。
本実施形態は、ユーザがテキストのロードアドレスとデータのロードアドレスを指定することで、明示的に使用したいページサイズを指定できるものである。
図3を参照すると、本実施形態は、図1の実施形態に加えてプログラム1がテキストアドレス1−5、データアドレス1−6を持ち、プログラムロード装置6にページサイズ判定装置6−1がない点が実施形態1と異なる。
図4を参照すると、本実施形態の動作では、図2に比べてステップA3〜ステップA8、ステップA12、ステップA14に対応する部分がない。
これは、既にプログラムがロードされなければならないアドレスが決まっており、テキストもアドレスやシンボルが解決されている状態のため、仮想アドレスの割り当て処理やシンボル解決処理が必要ないためである。
実際の動作としては、スケジューリング装置4がCPU2−1の割り当てを行い(図4のステップB1)、ロード装置6−2がテキストアドレスやデータアドレスを読み取り(図4のステップB2)、仮想記憶装置6−3がそのアドレスにメモリを対応付けた(図4のステップB4、図4のステップB5)後、ロード装置6−2がそのアドレスにテキストやデータをロードする(図4のステップB6、図4のステップB7)。ロードが完了したら、スケジューリング装置に割り当てられたCPUでプログラムテキストの先頭から実行を開始する(図2のステップB8)。
以上により、ユーザが意図したページサイズでプログラムを実行できる。
現在の一般的なプログラムは、位置独立でなくロードアドレスを固定していることが多いため、本実施形態の利用価値は高い。
なお、本実施形態によれば、異なるページサイズを用いる仮想記憶の管理が容易になることである。その理由は、領域毎にページサイズを指定可能なハードウェア機構を利用するため、オペレーティングシステムでの各仮想アドレス毎のページサイズ管理を省略できるからである。
また、スケジューリング装置及びプログラムロード装置は、ハードウェアによって実現することも可能であるが、コンピュータをこれらの装置として機能させるためのプログラムをコンピュータが記録媒体から読み込んで実行することによっても実現することができる。
本発明の実施形態1によるプログラムローディング装置の構成を示すブロック図である。 本発明の実施形態1によりプログラムローディング方法を説明するためのフローチャートである。 本発明の実施形態2によるプログラムローディング装置の構成を示すブロック図である。 本発明の実施形態1によりプログラムローディング方法を説明するためのフローチャートである。
符号の説明
1 プログラム
1−1 テキスト
1−2 データ
1−3 テキストサイズ
1−4 データサイズ
1−5 テキストアドレス
1−6 データアドレス
2 セル
2−1 CPU
2−2 メモリ
2−3 バス
3 高速スイッチ
4 スケジューリング装置
5 仮想アドレス空間
6 プログラムロード装置
6−1 ページサイズ判定装置
6−2 ロード装置
6−3 仮想記憶装置

Claims (16)

  1. 複数の領域に分割され、少なくとも1つの領域のページサイズが他の領域のページサイズと異なるような仮想アドレス空間が用意されている場合のプログラムローディング方法において、
    プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域があるか否かを判断する第1判断ステップと、
    前記第1判断ステップの結果が肯定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域のうちのページサイズが最小の領域に前記プログラムのテキスト又はデータを割り当てる第1割当てステップと、
    を備えることを特徴とするプログラムローディング方法。
  2. 請求項1に記載のプログラムローディング方法において、
    前記第1判断ステップの結果が否定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが小さい領域のうちのページサイズが最大の領域に前記プログラムのテキスト又はデータを割り当てる第2割当てステップを更に備えることを特徴とするプログラムローディング方法。
  3. 請求項1に記載のプログラムローディング方法において、
    前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータのサイズ以上の空き容量があるか否かを判断する第2判断ステップと、
    前記第2判断ステップの判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディングステップと、
    を更に備えることを特徴とするプログラムローディング方法。
  4. 請求項3に記載のプログラムローディング方法において、
    前記第2判断ステップの判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディングステップを更に備えることを特徴とするプログラムローディング方法。
  5. プログラムを実行するCPUが属するセルに属するメモリに前記プログラムのテキスト又はデータのサイズ以上の空き容量があるか否かを判断する判断ステップと、
    前記判断ステップの判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディングステップと、
    を備えることを特徴とするプログラムローディング方法。
  6. 請求項5に記載のプログラムローディング方法において、
    前記判断ステップの判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディングステップを更に備えることを特徴とするプログラムローディング方法。
  7. 請求項5に記載のプログラムローディング方法において、
    前記プログラムにより指定されている仮想アドレスに前記プログラムのテキスト又はデータを割り当てる割当てステップを更に備えることを特徴とするプログラムローディング方法。
  8. 複数の領域に分割され、少なくとも1つの領域のページサイズが他の領域のページサイズと異なるような仮想アドレス空間が用意されている場合のプログラムローディング装置において、
    プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域があるか否かを判断する第1判断手段と、
    前記第1判断手段の結果が肯定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが大きい領域のうちのページサイズが最小の領域に前記プログラムのテキスト又はデータを割り当てる第1割当て手段と、
    を備えることを特徴とするプログラムローディング装置。
  9. 請求項8に記載のプログラムローディング装置において、
    前記第1判断手段の結果が否定的である場合に、前記プログラムのテキスト又はデータのサイズよりもページサイズが小さい領域のうちのページサイズが最大の領域に前記プログラムのテキスト又はデータを割り当てる第2割当て手段を更に備えることを特徴とするプログラムローディング装置。
  10. 請求項8に記載のプログラムローディング装置において、
    前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータのサイズ以上の空き容量があるか否かを判断する第2判断手段と、
    前記第2判断手段の判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディング手段と、
    を更に備えることを特徴とするプログラムローディング装置。
  11. 請求項10に記載のプログラムローディング装置において、
    前記第2判断手段の判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディング手段を更に備えることを特徴とするプログラムローディング装置。
  12. プログラムを実行するCPUが属するセルに属するメモリに前記プログラムのテキスト又はデータのサイズ以上の空き容量があるか否かを判断する判断手段と、
    前記判断手段の判断結果が肯定的である場合に、前記プログラムを実行するCPUが属するセルに属するメモリに前記テキスト又はデータをローディングする第1ローディング手段と、
    を備えることを特徴とするプログラムローディング装置。
  13. 請求項12に記載のプログラムローディング装置において、
    前記判断手段の判断結果が否定的である場合に、前記プログラムを実行するCPUが属さないセルに属するメモリに前記テキスト又はデータをローディングする第2ローディング手段を更に備えることを特徴とするプログラムローディング装置。
  14. 請求項12に記載のプログラムローディング装置において、
    前記プログラムにより指定されている仮想アドレスに前記プログラムのテキスト又はデータを割り当てる割当て手段を更に備えることを特徴とするプログラムローディング装置。
  15. 請求項1乃至7の何れか1項に記載のプログラムローディング方法をコンピュータに行わせるためのプログラム。
  16. 請求項15に記載のプログラムを記録した、コンピュータ読取り可能な記録媒体。
JP2005079507A 2005-03-18 2005-03-18 プログラムローディング方法及びその装置 Pending JP2006260395A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005079507A JP2006260395A (ja) 2005-03-18 2005-03-18 プログラムローディング方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005079507A JP2006260395A (ja) 2005-03-18 2005-03-18 プログラムローディング方法及びその装置

Publications (1)

Publication Number Publication Date
JP2006260395A true JP2006260395A (ja) 2006-09-28

Family

ID=37099531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005079507A Pending JP2006260395A (ja) 2005-03-18 2005-03-18 プログラムローディング方法及びその装置

Country Status (1)

Country Link
JP (1) JP2006260395A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128787A (ja) * 2009-12-16 2011-06-30 Internatl Business Mach Corp <Ibm> アドレス変換を高速化する方法及びシステム
US8051415B2 (en) 2008-02-18 2011-11-01 Nec Corporation Disk array apparatus, method for exchanging firmware, program for exchanging firmware and storage medium for storing program thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051415B2 (en) 2008-02-18 2011-11-01 Nec Corporation Disk array apparatus, method for exchanging firmware, program for exchanging firmware and storage medium for storing program thereof
JP2011128787A (ja) * 2009-12-16 2011-06-30 Internatl Business Mach Corp <Ibm> アドレス変換を高速化する方法及びシステム

Similar Documents

Publication Publication Date Title
US10552337B2 (en) Memory management and device
JP3920395B2 (ja) アドレス変換制御回路及びアドレス変換方法
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
CA2736035C (en) Opportunistic page largification
US7653799B2 (en) Method and apparatus for managing memory for dynamic promotion of virtual memory page sizes
EP2472412B1 (en) Explicitly regioned memory organization in a network element
US8185692B2 (en) Unified cache structure that facilitates accessing translation table entries
JP2000506659A (ja) マルチプロセッサデータ処理システム内でメモリを割り当てる方法
US20080126738A1 (en) Page Replacement Policy for Systems Having Multiple Page Sizes
JP7340326B2 (ja) メンテナンス動作の実行
US8868835B2 (en) Cache control apparatus, and cache control method
US20050188176A1 (en) Apparatus and method for providing pre-translated segments for page translations in segmented operating systems
KR100895715B1 (ko) 메모리 관리 유닛, 메모리 관리 유닛을 포함하는 시스템 및어드레스 변환 방법
JP2007233615A (ja) アドレス変換装置
US9772776B2 (en) Per-memory group swap device
JP2016085677A (ja) メモリ管理方法、メモリ管理プログラム及び情報処理装置
JP2008532163A (ja) リアルタイムにページングされるコンピュータ装置及び動作方法
JP2006260395A (ja) プログラムローディング方法及びその装置
WO2012098633A1 (ja) メモリ管理方法、メモリ管理装置およびメモリ管理回路
US20040073907A1 (en) Method and system of determining attributes of a functional unit in a multiple processor computer system
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
JP4792065B2 (ja) データ記憶方法
JP2010026969A (ja) データ処理装置
US7853771B2 (en) Page allocation management for virtual memory
JP5958195B2 (ja) 仮想記憶管理システム、仮想記憶管理装置、仮想記憶初期化方法および仮想記憶初期化プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Effective date: 20080516

Free format text: JAPANESE INTERMEDIATE CODE: A7424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081201

A131 Notification of reasons for refusal

Effective date: 20090423

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090812