JPH0683713A - マルチビット・ベクトル履歴のリスト表示を利用するメモリ管理方法および装置 - Google Patents

マルチビット・ベクトル履歴のリスト表示を利用するメモリ管理方法および装置

Info

Publication number
JPH0683713A
JPH0683713A JP5009820A JP982093A JPH0683713A JP H0683713 A JPH0683713 A JP H0683713A JP 5009820 A JP5009820 A JP 5009820A JP 982093 A JP982093 A JP 982093A JP H0683713 A JPH0683713 A JP H0683713A
Authority
JP
Japan
Prior art keywords
page
vector
access
accessed
aging
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
JP5009820A
Other languages
English (en)
Other versions
JP2528604B2 (ja
Inventor
Shrikant N Parikh
シリカント・エヌ・パリク
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0683713A publication Critical patent/JPH0683713A/ja
Application granted granted Critical
Publication of JP2528604B2 publication Critical patent/JP2528604B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms

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)

Abstract

(57)【要約】 【目的】 マルチビット・ベクトル履歴のリスト表示を
用いてメモリ管理する方法および装置を提供する。 【構成】 プロセスの各ページの履歴を記録するマルチ
ビットSP−ベクトルが生成される。時効プログラムが
ページ・テーブル・エントリのアクセス/非アクセス・
ビット・フラッグを走査する毎に、対応するページがア
クセスされたかどうかを反映するようにSP−ベクトル
が更新される。アクセス/非アクセス状態を最後の走査
が表示するかどうかに応じて、各SP−ベクトル毎に使
用可能な更新および解釈情報を提供するテーブルが生成
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ管理に関し、特
にマルチビット・ベクトルで記録された如きページ使用
履歴を作表するテーブルを用いるページのエージングを
改善する方法および装置に関する。
【0002】
【従来の技術】最近のマイクロプロセッサにおいては、
仮想記憶概念が物理記憶と関連して使用される。仮想記
憶は、(コストのため重要である)少量の物理記憶を大
きい、そして(または)多数のアプリケーションで使用
されるようにする。これは、特定アプリケーションの比
較的小部分が一時物理記憶にあることが要求される事実
により可能である。従って、幾つかのアプリケーション
を同時に走らせるコンピュータ・システムにおいては、
使用されないデータおよびコードは仮想記憶に残される
かあるいはハード・ディスク・ドライブに格納される
が、その時実行中のアプリケーションに必要とされるデ
ータおよびコードのみを物理記憶に置くことが可能であ
る。
【0003】ページ・ベースのメモリ管理はページ概念
を使用し、その各々は典型的には4K(千バイト)の記
憶アドレスからなる。この仮想記憶は、アプリケーショ
ンに例えば4G(ギガバイト)の使用可能なメモリがあ
ると思わせるが、実際には物理記憶(RAM)が典型的
には1M(メガバイト)以下のどこかにある。このた
め、物理記憶から別の場所(即ち、ディスク/2次記
憶)へページを「スワップ」できることが必要である。
【0004】ページ・ベースのメモリ管理(例えば、イ
ンテル社の386および486マイクロプロセッサ、以
下本文では「i386/i486」)に基くページング
におけるスワッピングを可能にするため、各個のページ
をマップして見出すため働くページング・システムを提
供することが典型的である。マッピングは、各ページの
場所を1つのページ・テーブル・エントリ(PTE)に
リストするページ・テーブルを生成して維持することに
より行われる。このため、1つのアプリケーションがあ
る特定のページを要求する時、このページはページ・テ
ーブルを走査することにより見出すことができる。PT
Eは、ページのアドレスならびに最も後の使用を表示す
るアクセスされた/アクセスされないフラッグを含む。
【0005】物理記憶に対するおよび物理記憶からのス
ワッピングの効率を最大化する試みのため、オペレーテ
ィング・システムに時効プログラム(ager)が設け
られる。時効プログラムの目的は、スペースが要求され
る時、物理記憶からの最低使用頻度(least re
cently used)ページをスワップすることで
ある。最近使用されなかったページは、最初に「遊休」
リストに対して指示され、次いで必要に応じてスワップ
・アウトされる。このため、使用されないページがある
と、これらのページを物理記憶に必要とされることがあ
る占有スペースではなく記憶装置(即ち、ディスク)に
置くことが更に効率的である。従って、時効プログラム
およびページング・システムは、1つのページの場所を
追跡し、物理記憶に実際に必要とされるページのみを保
持するため組合わせて働く。
【0006】基本的なオペレーティング・システム性能
の1つの主要な決定要素は、これがワーキング・セッ
ト、応答時間および容量の次元におけるシステム性能の
残部に直接影響を及ぼし得るため、ページングに基くメ
モリ管理の性能である。このため、基本的なメモリ管理
が慎重に設計されることが不可避である。最近のマイク
ロプロセッサにおいては、ページング・メモリ管理のサ
ポートが存在するが制限されている。
【0007】ページング・メモリ管理の効率は、以下の
ものにより直接影響を受ける。即ち、(1)エージング
の効果および効率、(2)ワーキング・セットにもはや
帰属しないページの適正に識別、および(3)エージン
グ・サイクルの長さである。エージング・サイクルを短
くすることにより、典型的にはワーキング・セットにお
ける比例的な減少が生じることになる。過大なシステム
では、時効プログラムが充分に有効であることが不可避
であるが、これはこのような効率の欠如が不良ページに
物理記憶を占有させることになるためである。
【0008】
【発明が解決しようとする課題】「i386/i48
6」の如き一部の最近のマイクロプロセッサのページン
グ・ベースのメモリ管理アーキテクチャでは、先に述べ
たように、メモリにおける各ページと対応するページ・
テーブル・エントリ(PTE)が生じる。このPTE
は、ページ・テーブルに存在する。各プロセスは、それ
自体の個々のページ・テーブル・セットおよびPTEを
有する。1つのページの内容がアクセスされる毎に、こ
のページと対応するPTEにおける「アクセス済み」フ
ラッグが基本ハードウエアによりセットされる。このフ
ラッグが、時効プログラムに対してこのページ・テーブ
ルにおける最後のエージング・サービスあるいはサイク
ル以後ページがアクセスされた(あるいはアクセスさな
かった)ことを知らせる。この時効プログラムは、PT
Eの走査後にフラッグをクリヤする。典型的には、時効
プログラムは、1つの完全なエージング・サイクルを完
了するために、システムにおける全てのプロセスの全て
のページ・テーブルを走査しなければならない。時効プ
ログラムは、全てのPTEを周期的に走査し、ビットの
状態を調べ、適当な処置を行い、これが最近アクセスさ
れなかったページをページ・アウトすることを含み得
る。「i386/i486」マイクロプロセッサにおい
ては、正確な順序のアクセスを含む正確なページ・アク
セス・パターンの識別のためのサポートがPTEにおけ
る「アクセスされた/アクセスされなかった」ビットに
制限される。基本ハードウエアにおいては、ページング
・メモリ管理サブシステムにページ・アクセスの正確な
順序を通知するページ・レベルの時間スタンプが得られ
ない。
【0009】時効プログラムに割付けられた時間が慎重
に使用されることが非常に重要である。即ち、(1)時
効プログラムはページ・アウトされる次のページ・セッ
トを識別するその選択されたタスクにおいて有効でなけ
ればならず、また(2)時効プログラムはページ・アウ
トされる必要のあるページを識別する上で正確でなけれ
ばならない。この点における正しくない判定は、誤った
ページ・アウトを著しく増やし、物理記憶要求を増大
し、最終的にシステムの競争力を低下し得る。時効プロ
グラムにより費やされる中央処理装置(CPU)時間は
システムにおける他のプロセスの犠牲で生じ、完全なエ
ージング・サイクルは幾つかのCPU時間スライスを取
り得る。時効プログラムにより消費される資源(CPU
時間の如き)の有効利用のためには、時効プログラムが
これらの使用可能な資源を正しく割付けることが重要で
ある。
【0010】時効プログラムの機能の効率に加えて、次
にページ・アウトされる「遊休リスト」に対して指示さ
れるページの超越的選択を容易にすることもまた重要で
ある。現在のシステムは、最低使用頻度(LRU)法の
近似化を用いてメモリからページをスワップする。この
方法は、特に非常に動的かつ過大なシステムにおいてし
ばしば正しくない判定を導く。先に述べたように、2つ
の物理的ページと対応するアクセス・フラッグが一旦セ
ットされると、オペレーティング・システムがどのペー
ジが最初にアクセスされたかを判定する方法がない。更
に、2つの異なるページと対応する2つのPTEのアク
セスされたフラッグが一旦リセットされると、オペレー
ティング・システムがどれが最後にアクセスされたかを
判定する方法がない。このため、時効プログラムがスワ
ップ・アウトされる正しくないページ(即ち、最も後に
使用されたもの)を選択することが完全にあり得る。
【0011】例えば、時効プログラムは、PTEを走査
しながら、アクセス・フラッグをリセットして2つのP
TEを検出することができる。このことは、時効プログ
ラムに対して、これらのフラッグが最後にリセットされ
た後、ページがアクセスされなかったことを示唆する。
これは、遊休リスト(即ち、ページ・アウトされる潜在
的候補のリスト)に対するこれらのページの双方を指定
し得、また最終的にはこれらが充分早くアクセスされな
ければ、その双方をページ・アウトし得る。換言すれ
ば、両方のページが時効プログラムの観点から等しく取
扱われる。しかし、他のページが正真低い使用度のペー
ジであり得るも、たまたま直後にアクセスしなかった1
つのページが、非常に高い使用度であり得る(例えば、
ある高い使用度のソフトウエアのコードを含む1つのペ
ージ)。しかし、最初のページは、第2のページよりも
将来アクセスされる可能性が高い。時効プログラムの制
限により、時効プログラムの制限された観点から両方の
ページが同じに見えるため、1つのページがページ・ア
ウトされることを必要とする時、最初のページ(即ち、
高い使用度のページ)が選択され得ることが可能であ
る。従って、最初のページがスワップ・アウトされた後
再び参照される必要があるならば、ページ不在が生じる
ことになる。ページ不在は、ページが見出されて物理記
憶へ再びスワップされても実行中のプロセスが停止され
ねばならないため、典型的には処理時間における遅れを
生じる。
【0012】アクセスされたビットのフラッグは、ペー
ジがアクセスされる時常に対応するPTEにセットされ
る。エージング・プロセスは、アクセスされるかされな
かったページを逐次識別するためPTEを走査し、アク
セスされなかったページは最終的に遊休リストに対して
指定されてページ・アウトされる。この走査プロセス
は、本質的に時間を費やすものである。これらのPTE
と対応するページのサブセットのみが物理記憶に存在す
るため、1つのページ・テーブルにおける全てのPTE
を走査する必要はない。典型的には、物理記憶に存在す
るページと対応するエントリを見出すだけに多数のPT
Eが走査されねばならない。物理記憶に存在するページ
と対応するPTEを見出すためには、実質的に非常に多
数のエントリが走査されねばならない。
【0013】このため、マイクロプロセッサにおけるメ
モリを更に効率的に管理する方法および装置に対する需
要が存在する。特に、ページ・ベースのメモリ管理にお
ける更に有効なページ・エージングを達成する方法およ
び装置が要求される。
【0014】
【課題を解決するための手段】本文に開示される本発明
は、標準的なエージングおよびページングを使用する諸
問題を実質的に排除しあるいは低減するタブレーション
・フォーマットでページ・エージングに対してマルチビ
ット・ベクトルの履歴を利用するための方法および装置
を構成する。本文に述べる方法および装置は、ページ・
ベースのメモリ管理システムにおけるより便利かつ容易
に使用可能なデータを可能にする。
【0015】本発明の一特質によれば、時効プログラム
を含むページ・マネージャを用いるコンピュータ・シス
テムにおけるメモリ管理方法が提供される。このページ
・マネージャは、1つのプロセスの各ページ・マネージ
ャをマッピングして見出すためのページ・テーブル・エ
ントリを含むページ・テーブルを持つ形式のものであ
る。予め定めた最後のサイクル数で各ページ・テーブル
における各ページ・テーブル・エントリに対するアクセ
ス数を記録するために、複数のビットを含むビット・ベ
クトルが確立される。物理記憶における新しいページに
対する余地を作ることが必要である時、どのページが最
初にページ・アウトされるべきかを判定するためベクト
ル評価が行われる。
【0016】複数のベクトルを保持するための収容場所
が生成される。更に、ベクトルの解釈を助けるテーブル
が生成される。
【0017】複数のビットを含むビット・ベクトルが確
立される。複数のビットが、例えば、8ビット、16ビ
ット、32ビットなどを含むことができる。このテーブ
ルは、その時のアクセス・パターンの概要、ページが再
びアクセスされるならば生成されるパターン、ページが
アクセスされなければ存在するパターン、およびその時
のアクセスの総数を反映する番号を提供する。このた
め、テーブルを利用することにより、時効プログラムは
その時の最も少ないアクセス数により反映されるアクセ
スおよびスワップ・アウトに対応するページ数について
単にテーブルを走査する。
【0018】本発明の技術的利点は、ページに対するよ
り詳細なアクセス履歴が保持されることである。このた
め、時効プログラムは、物理記憶に対して余地が要求さ
れる時、スワップ・アウトされるより適当なページを選
択することになる。
【0019】
【実施例】最初に図1において、記憶システムの図形的
表示が参照番号10により全体的に示される。コンピュ
ータ・プログラムが書込まれる時、実際に物理的に存在
するよりも多くの使用可能メモリがアドレス指定可能に
使用できることを了解して書込まれる。典型的には、4
ギガ(G)バイトの仮想の(即ち、実際に存在しない)
アドレス指定可能メモリ12が提供される。物理記憶
(RAM)14の量はコンピュータ・システム毎に異な
るが、仮想記憶12よりも少ない物理記憶14が使用可
能である。図1に示されるように、記憶14はnM(メ
ガバイト)のメモリを持ち、nは典型的には1乃至64
間の可変数を表わす。このため、コンピュータ・ハード
ウエアは、例えば物理記憶14と関連して使用されるハ
ード・ディスク・ドライブの如き記憶装置16が設けら
れる。
【0020】あるプロセス(即ち、コンピュータ・プロ
グラム)が1つのコンピュータ・システム上で実行され
る(図5参照)と、参照番号18で示される如きページ
(4Kのコード・データからなる)が、仮想記憶12か
ら物理記憶14へ送られる。ページが仮想記憶12から
物理記憶14へ送られる順序は特になく、従って、仮想
記憶12における順次のページは物理記憶14における
順次のページではない。
【0021】コンピュータ・システム上で走るプロセス
が一旦このページを使用すると、異なるプロセスが物理
記憶14における物理的スペースを要求する。使用可能
なものがなければ、物理記憶14におけるページが物理
記憶14から記憶装置16へ「スワップ」されることが
必要である。更に、プロセスが記憶装置16へ置かれた
ページを要求するならば、このページは記憶装置16か
ら物理記憶14へスワップされねばならない。
【0022】仮想記憶12、物理記憶14および記憶装
置16間にマップして見出すことがページング・ベース
のメモリ管理の仕事である。図2において、「i386
/i486」ベースのマイクロプロセッサでは、ページ
ング・ベースのメモリ管理が典型的に複数のページ・テ
ーブル・エントリ32を含むページ・テーブル30を使
用する。各ページ・テーブル・エントリ32は、1つの
アドレス部34と、一連の情報ビット即ちフラッグ36
とを含む。情報フラッグ36は、例えば、ページが物理
記憶に存在するかどうか、ページ・テーブルが読出し/
書込みページのいずれかであるかなどを表示し、参照番
号38で示される如きアクセスされ/アクセスされなか
ったフラッグを含む如き多くの目的のため使用される。
フラッグ38の目的は、ページング・ベースのメモリ管
理がページが最近使用されたかされなかったかのいずれ
であることを追跡するよう試みることを許容することで
ある。フラッグ38は、ページがアクセスされる毎に、
基本ハードウエア(「i386/i486」チップ)に
よりセットされる。
【0023】ページング・ベースのメモリ管理と関連し
て、物理記憶14と記憶装置16間のスワップを助ける
ため時効プログラムが用いられる。この時効プログラム
の1つの目的は、アクセスされ/アクセスされなかった
フラッグ38を走査することであり、物理記憶14でス
ペースが必要とされる時、最低使用頻度ページを物理記
憶14から記憶装置16へスワップすることである。1
つのアクセスされ/アクセスされなかったフラッグ38
からの時効プログラムから使用可能な制限された情報量
により、時効プログラムが誤ったページを物理記憶14
からスワップされるよう選択することがあり得る。これ
は、異なるPTEに対するフラッグ38が一旦セットさ
れると、時効プログラムがどのフラッグ38が最後にセ
ットされたかを知る方法がないという事実により生じ得
る。更に、時効プログラムが全てのPTEを走査する
と、フラッグ38がリセットされ、これによりどのペー
ジが最後にアクセスされたかを判定する方法がない。
【0024】次に図3および図4において、本発明の一
実施例が図形的に示される。まず図3によれば、SP−
ベクトルの収容場所が参照番号50により全体的に示さ
れる。この収容場所50は、参照番号52、54により
示される如き複数のSP−ベクトル(各物理的ページ毎
に1SP−ベクトル)を含む。各SP−ベクトル52、
54は、参照番号56、57、58、59、60、6
1、62、63で示される複数のビット(例えば、僅か
に8ビットとして示される如き)を含む。図3に示され
るように、8つのビット(フラッグ)56乃至63があ
るが、必要に応じて、どんな数のビットでも存在し得
る。以下に更に詳細に述べるように、例えば、16ビッ
トのSP−ベクトルは2つの8ビット・ベクトルの連結
でよく、各8ビット・ベクトルが操作可能である。明ら
かに、24ビット、32ビットなどが存在し得る。
【0025】SP−ベクトル52、54は、「1」また
は「0」のいずれも置くことができる8ビットからな
る。例えば、SP−ベクトル52と対応する「1」がア
クセスされるならば、「1」は最も右のビット、即ちビ
ット56に置かれることになる。時効プログラムは、こ
のページがアクセスされるかアクセスされないかを知る
ため次にPTEを調べる時、ビット56における「1」
が1ビットを左へ、即ちビット57へ移動することにな
る。ページが最後の時効プログラムの走査後アクセスさ
れたならば、別の「1」がビット56に置かれる。この
ページがアクセスされなかったならば、「0」がビット
56に置かれる、、、などとなる。換言すれば、右シフ
トが生じて最も左のビットを落とす。このため、時効プ
ログラムがPTEを走査した最後の8回にわたる各SP
−ベクトルと対応する各ページ毎に生成される履歴が存
在することになる。このような履歴は、従来技術におい
て通常可能である以上に有効な情報を提供する。
【0026】次に図4において、data Inter
テーブルが参照番号80で全体的に示される。このテー
ブル80は、SP−ベクトル(図3)に記録される如き
ページ履歴を解釈する1つの方法を提供するよう生成さ
れ、収容場所50におけるSP−ベクトルを更新する迅
速な方法を提供する。このテーブル80は、次の4つの
情報欄を含む。即ち、アクセス・パターン82、アクセ
スされたページ84、アクセスされなかったページ8
6、および全アクセス88である。アクセス・パターン
82は、アクセスなし、即ち全てゼロで始まり全アクセ
ス、即ち8つの1で終るSP−ベクトルの全てのあり得
る組合わせのリストである。アクセスされたページ84
は、これにより表わされるページが最後の時効プログラ
ム走査以後アクセスされたならば、アクセス・パターン
82におけるSP−ベクトルが生じる表示である。アク
セスされなかったページ86は、ページが最後の時効プ
ログラム走査後アクセスされなかったならばページを表
わすSP−ベクトルが生じる表示である。全アクセス8
8は、最後の8回の時効プログラム走査に対してアクセ
ス・パターン82におけるSP−ベクトルにより表わさ
れるページに対するアクセスの合計数の表示からなる。
このため、テーブル80は、アクセスされたページ84
およびアクセスされなかったページ86が起生したこと
の如何に拘わらず、適当なSP−ベクトルの実際にアク
セスされたパターンを更新するための情報を提供するた
め、あり得る各アクセス・パターン82に対する迅速な
更新能力を提供する。また、全アクセス88は、アクセ
ス・パターン82の各々あるいは各SP−ベクトルにお
ける1をカウントする必要もなく、対応するページが何
回アクセスしたかのその時の合計を提供する。従って、
必要とされるスワッピングのための最低使用頻度ページ
を提供するため更に情報照会が可能である。
【0027】次に図5において、参照番号100により
全体的に示される本発明によるデータ処理システム10
0がブロック図の形態で示される。このシステム100
は中央処理装置(CPU)104とメモリ106を含む
プロセッサ102を含む。ハード・ディスク記憶装置1
08およびディスケット装置110の形態の別の記憶装
置が、プロセッサ102と接続されている。ディスケッ
ト装置110はシステム100において本発明を実現す
るコンピュータ・プログラムが記録されたディスケット
112を収受する。システム100は、プロセッサ10
2へのユーザ入力を可能にするマウス114およびキー
ボード116、および視覚的データをユーザに対して表
示するディスプレイ118を含むユーザ・インターフェ
ース・ハードウエアを含む。システム100はまた、プ
リンタ120をも含む。
【0028】図6において、ページ・テーブル・エント
リの時効プログラム走査における本発明を示すフローチ
ャートが示される。時効プログラムは、ブロック140
で開始し、ブロック142における各ページ・テーブル
・エントリにおけるアクセスされた/アクセスされなか
ったビット・フラッグの読出しに進む。次に、時効プロ
グラムは調べられるページと対応するブロック144に
おけるSP−ベクトルのその時の値を読出す。時効プロ
グラムは、次にブロック146においてData In
terテーブルを参照して、ブロック142で判定され
る如きアクセスされた/アクセスされなかったフラッグ
の状態に応じてSP−ベクトルに対する正しい更新表示
を得る。ブロック148において、SP−ベクトルはブ
ロック142における判定された如きフラッグの状態に
基いて、またブロック146においてData Int
erテーブルで見出される如き正しい更新表示により更
新される。次いで、時効プログラムは全てのフラッグが
判断ブロック150で走査されたかどうかを判定する。
判断ブロック150に対する応答がNOであれば、時効
プログラムはブロック142へ戻りアクセスされた/ア
クセスされなかったフラッグを更に読出す。判断ブロッ
ク150に対する応答がYESならば、時効プログラム
はこのエージング・サイクルに対して終了する。
【0029】図7において、ページ・アウトされるペー
ジを識別する本発明のフローチャートが示される。ブロ
ック160で開始した後、ページ・アウトされる候補と
してのページ数「X」(必要に応じて予め選定できる同
調可能なパラメータ)が遊休リストの最低使用頻度の終
りに見出される。ブロック164において、Data_
Interテーブルの全アクセス88(図4参照)を参
照することにより解釈される如きSP−ベクトルにおけ
る最も少ない数の「1」を持つページが識別される。次
にブロック166において、このページ(複数または単
数の)がページ・アウトされ、その後ブロック168で
終了する。
【0030】このため、本発明を用いることにより、更
に効率的なメモリ管理が達成される。各ページ・テーブ
ル・エントリにおける1つのアクセスされた/アクセス
されなかったビット・フラッグに依存するのではなく、
マルチビット・ベクトルが生成されて各ページの使用の
履歴を保持する。従って、各ページの更に信頼し得る状
態が、物理記憶から記憶装置へのスワッピングに先立ち
調べるため使用でき、Data_Interテーブルが
ビット・ベクトルにおける履歴データの解釈を簡単にす
る。
【0031】
【発明の効果】本発明により、ページに対するより詳細
なアクセス履歴を保持することができる。このため、時
効プログラムは、物理記憶に対して余地が要求される
時、スワップ・アウトされるより適当なページを選択す
ることができる。
【図面の簡単な説明】
【図1】仮想記憶、物理記憶および記憶装置の相互関係
を示す図である。
【図2】従来技術によるページ・テーブルおよびページ
・テーブル・エントリを示す図である。
【図3】本発明によるビット・ベクトル収容場所を示す
図である。
【図4】本発明のベクトルのページ履歴を解釈するため
生成されるテーブルの図である。
【図5】本発明によるデータ処理システムの概略図であ
る。
【図6】本発明によるページ・テーブル・エントリを走
査する間の時効プログラムを示すフローチャートであ
る。
【図7】ページ・アウトされるページを識別する間の本
発明の動作を示すフローチャートである。
【符号の説明】
12 仮想記憶(アドレス指定可能メモリ) 14 物理記憶(RAM) 16 記憶装置 30 ページ・テーブル 32 ページ・テーブル・エントリ 34 アドレス部 36 情報フラッグ 38 フラッグ 50 収容場所 52 SP−ベクトル 54 SP−ベクトル 80 Data_Interテーブル 82 アクセス・パターン 84 アクセスされたページ 86 アクセスされなかったページ 88 全アクセス

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】時効プログラムを含み、1つのプロセスの
    各ページをマッピングするためのページ・テーブル・エ
    ントリを持ったページ・テーブルを有し、複数のエージ
    ング・サイクルにおいて各ページ・テーブル内の各ペー
    ジ・テーブル・エントリに対するアクセスの履歴を記録
    するビット・ベクトルを有するページ・マネージャを使
    用するコンピュータ・システムのメモリ管理方法におい
    て、 ベクトルを解釈するためのテーブルを生成するステップ
    を含むことを特徴とする方法。
  2. 【請求項2】複数の前記ベクトルを収容するための収容
    手段を生成するステップを更に含むことを特徴とする請
    求項1記載の方法。
  3. 【請求項3】起り得るアクセス・パターンのリスト表示
    を生成し、 別のアクセスされた記録の後に前記アクセス・パターン
    がどのように現れるかのリスト表示を生成し、 別のアクセスされなかった記録の後に前記アクセス・パ
    ターンがどのように現れるかのリスト表示を生成し、 前記アクセス・パターン毎に前記アクセスされた記録の
    数を合計するステップを含むことを特徴とする請求項1
    記載の方法。
  4. 【請求項4】前記合計ステップから前記アクセスの数を
    評価するステップを更に含むことを特徴とする請求項3
    記載の方法。
  5. 【請求項5】時効プログラムを含むページ・マネージャ
    を用いてコンピュータ・システムにおけるメモリ管理を
    助ける装置であって、該ページ・マネージャが、プロセ
    スの各ページをマッピングするためのページ・テーブル
    ・エントリーを持ったページ・テーブルを有するものに
    おいて、 システムの各ページの複数のエージング・サイクルにお
    けるアクセス/非アクセス履歴を記録する複数のビット
    を含むビット・ベクトルと、 前記ベクトルに記録された前記履歴をコンパイルするテ
    ーブルとを含むことを特徴とする装置。
  6. 【請求項6】複数の前記ベクトルを収容する収容手段を
    更に含むことを特徴とする請求項5記載の装置。
  7. 【請求項7】前記テーブルが更に、 前記ビット・ベクトルの全ての起り得るアクセス・パタ
    ーンのリスト表示と、 別のアクセスされた記録の後に前記アクセス・パターン
    がどのように現れるかのリスト表示と、 別のアクセスされなかった記録の後に前記アクセス・パ
    ターンがどのように現れるかのリスト表示と、 前記アクセス・パターンの各々に対する前記アクセスさ
    れた記録の合計とを含むことを特徴とする請求項5記載
    の装置。
  8. 【請求項8】メモリ管理システムを備えたコンピュータ
    ・システムにおいて、 前記コンピュータ・システムにおけるプロセスの各ペー
    ジの複数のエージング・サイクルにおけるアクセス/非
    アクセス履歴を記録する複数のビットを含むビット・ベ
    クトルと、 前記ビット・ベクトルを評価して、前記ページのどれが
    メモリから記憶手段へ取出されるべきかを判定する手段
    と、 前記ベクトルから得られた情報を保有するテーブルとを
    含むことを特徴とするコンピュータ・システム。
  9. 【請求項9】複数の前記ベクトルを収容する手段を更に
    含むことを特徴とする請求項8記載の装置。
JP5009820A 1992-04-22 1993-01-25 マルチビット・ベクトル履歴のリスト表示を利用するメモリ管理方法および装置 Expired - Lifetime JP2528604B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US872221 1992-04-22
US07/872,221 US5432917A (en) 1992-04-22 1992-04-22 Tabulation of multi-bit vector history

Publications (2)

Publication Number Publication Date
JPH0683713A true JPH0683713A (ja) 1994-03-25
JP2528604B2 JP2528604B2 (ja) 1996-08-28

Family

ID=25359091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5009820A Expired - Lifetime JP2528604B2 (ja) 1992-04-22 1993-01-25 マルチビット・ベクトル履歴のリスト表示を利用するメモリ管理方法および装置

Country Status (2)

Country Link
US (1) US5432917A (ja)
JP (1) JP2528604B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738865B1 (en) 2000-06-09 2004-05-18 International Business Machines Corporation Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data
US7376797B2 (en) 2003-03-11 2008-05-20 Kabushiki Kaisha Toshiba Cache memory system and method using reference bits
JP2018026136A (ja) * 2016-08-12 2018-02-15 グーグル エルエルシー ハイブリッドメモリ管理
US10105198B2 (en) 2011-12-23 2018-10-23 Osstemimplant Co., Ltd. Dental membrane
US10152427B2 (en) 2016-08-12 2018-12-11 Google Llc Hybrid memory management

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619675A (en) * 1994-06-14 1997-04-08 Storage Technology Corporation Method and apparatus for cache memory management using a two level scheme including a bit mapped cache buffer history table and circular cache buffer list
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
FR2787901B1 (fr) * 1998-12-28 2001-02-09 Bull Sa Organisation memoire par zones physiques
US7243169B2 (en) * 2004-06-08 2007-07-10 International Business Machines Corporation Method, system and program for oscillation control of an internal process of a computer program
KR20100091544A (ko) * 2009-02-10 2010-08-19 삼성전자주식회사 메모리 시스템 및 그 마모도 관리 방법
US20240104023A1 (en) * 2022-09-26 2024-03-28 Advanced Micro Devices, Inc. A/D Bit Storage, Processing, and Modes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63129441A (ja) * 1986-11-19 1988-06-01 Nec Corp 仮想記憶管理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
US4463424A (en) * 1981-02-19 1984-07-31 International Business Machines Corporation Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US4597041A (en) * 1982-11-15 1986-06-24 Data General Corp. Method and apparatus for enhancing the operation of a data processing system
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4967353A (en) * 1987-02-25 1990-10-30 International Business Machines Corporation System for periodically reallocating page frames in memory based upon non-usage within a time period or after being allocated
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
JP3453757B2 (ja) * 1989-05-29 2003-10-06 株式会社日立製作所 バッファ管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63129441A (ja) * 1986-11-19 1988-06-01 Nec Corp 仮想記憶管理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738865B1 (en) 2000-06-09 2004-05-18 International Business Machines Corporation Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data
US7376797B2 (en) 2003-03-11 2008-05-20 Kabushiki Kaisha Toshiba Cache memory system and method using reference bits
US10105198B2 (en) 2011-12-23 2018-10-23 Osstemimplant Co., Ltd. Dental membrane
JP2018026136A (ja) * 2016-08-12 2018-02-15 グーグル エルエルシー ハイブリッドメモリ管理
US10152427B2 (en) 2016-08-12 2018-12-11 Google Llc Hybrid memory management
US10705975B2 (en) 2016-08-12 2020-07-07 Google Llc Hybrid memory management

Also Published As

Publication number Publication date
US5432917A (en) 1995-07-11
JP2528604B2 (ja) 1996-08-28

Similar Documents

Publication Publication Date Title
JP2856620B2 (ja) コンピュータ・システムにおけるメモリ管理方法及び装置
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
US8356210B2 (en) Programming in a simultaneous multi-threaded processor environment including permitting apparently exclusive access to multiple threads and disabling processor features during thread testing
KR920005853B1 (ko) 페이지 분할형 가상 메모리 데이타 처리 시스템에서의 데이타 전송 방법
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
EP0690385A1 (en) Method and apparatus for managing memory in a computer system
TWI273431B (en) Apparatus for the plurality of hosts to share a collection of memory sectors, and method and program storage device for managing memory sectors used by a host
JP2528604B2 (ja) マルチビット・ベクトル履歴のリスト表示を利用するメモリ管理方法および装置
JPH0658648B2 (ja) ページ不在を取り扱う方法
US7496722B2 (en) Memory mapped page priorities
US5293622A (en) Computer system with input/output cache
US20040015864A1 (en) Method and system for testing memory operations of computer program
US5388244A (en) Controls for initial diversion of page-frame logical content as part of dynamic virtual-to-real translation of a virtual page address
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
EP0567420A1 (en) Multi-bit vector for page aging
US7293207B2 (en) Method for testing memory in a computer system utilizing a CPU with either 32-bit or 36-bit memory addressing
US5423017A (en) Method of and apparatus for increasing efficiency of ager
US7444636B2 (en) Method and system of determining attributes of a functional unit in a multiple processor computer system
KR930009092B1 (ko) 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법
EP0262301B1 (en) Paging supervisor
US5765210A (en) Allocation of real storage for hardware descriptors within virtual memory that are associated with on-line storage increments
JPH0695970A (ja) ページ・テーブル項目の効率的処理方法及び装置
US8614799B2 (en) Memory paging
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置
JPH04143845A (ja) 計算機におけるページフォルトテスト方式