JPS6358558A - ガ−ベジコレクシヨン処理方式 - Google Patents

ガ−ベジコレクシヨン処理方式

Info

Publication number
JPS6358558A
JPS6358558A JP20322586A JP20322586A JPS6358558A JP S6358558 A JPS6358558 A JP S6358558A JP 20322586 A JP20322586 A JP 20322586A JP 20322586 A JP20322586 A JP 20322586A JP S6358558 A JPS6358558 A JP S6358558A
Authority
JP
Japan
Prior art keywords
cells
cell
storage area
information
garbage collection
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
JP20322586A
Other languages
English (en)
Inventor
Kiminori Sato
公則 佐藤
Toshihiro Ozawa
年弘 小沢
Masanobu Yuhara
雅信 湯原
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 JP20322586A priority Critical patent/JPS6358558A/ja
Publication of JPS6358558A publication Critical patent/JPS6358558A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 アドレスを動的に割りつけたセルをアクセス可能な態様
で格納する主記憶装置と、セルに関する情報を独立にア
クセス可能な態様で格納するビット操作用メモリと、該
当するセルに関する情報をアクセス制御するビット操作
制御回路とを設け、主記憶装置中の旧記憶領域から新記
憶領域に有為なセルをコピーしてガーベジコレクション
を行う際に、ビット操作用メモリ中に複数のセルから参
照される参照関係情報および旧記憶領域から新記憶領域
にコピーした旨を表すコピー情報を各セルに対応づけて
夫々格納し、参照関係情報が格納されていない旧記憶領
域中のセルに対して新記憶領域中の該当するセルに対す
るポイント情報の格納を省略してガーベジコレクション
を行うことにより、ガーベジコレクションを高速に行う
ようにしている。
〔産業上の利用分野〕
本発明は、複数のセルから参照される参照関係情報を夫
々のセルに格納し、当該参照関係情報が格納されていな
いセルに対してコピーした新記憶領域をポイントするコ
ピー先のアドレスの格納を省略してガーベジコレクショ
ン動作を高速に行うガーベジコレクション処理方式に関
するものである。
〔従来の技術〕
リスト処理プログラムを実行する場合、プログラムから
新しいセルが要求されると、未使用の記憶領域を動的に
セル領域に割りつけている。また、セルに対する参照関
係が動的に変更されるため、既にプログラムが使用した
記憶領域内に不要となったセル領域が大量に存在するこ
とが多い。このため、不要となった記憶領域を回収する
ための操作(ガーベジコレクション)が必要となる。こ
のガーベジコレクションのための処理時間がどれだけか
かるかということがシステム性能に大きくかかわって(
る。
従来、効率の良いガーベジコレクージョンの1つとして
、コピー法ガーベジコレクションがある。
これは、第5図に示すように記憶領域を上空間と新空間
とに分割し、上空間はプログラムが使用するものであり
、新空間はプログラムが使用している上空間内のセル(
アクティブセル)をコピーして圧縮して使用可能な領域
を1個所にまとめた態様に作り出すためのものである。
第6図および第7図は、コピー法ガーベジコレクション
方式の動作説明図を示す。以下説明する。
第6図において、図中0は、コピービットがONである
か否かを判別する状態を示す、これは、第7図図中[相
]を用いて示すように、上空間内のセル中のコピービッ
トがONであるか否かをチェックすることを意味してい
る。YESの場合(ONの場合)には、既に上空間から
新空間にコピーされているので、図中[相]でポインタ
の書き替えを行って当該セルに対する処理を終了する。
NOの場合には、図中@以下の処理を行う。
図中0は、コピーを行う状態を示す。これは、第7図図
中0を用いて示すように、上空間内のセルに格納されて
いる内容を新空間内のセルにコピーすることを意味して
いる。
図中0は、フォワーディング・ポインタ(forwar
ding−pointer)をセットする状態を示す、
これは、第7図図中0を用いて示すように、上空間内の
セル中に、新空間内に新たに生成したセルをポイントす
るアドレス情報を格納することを意味してい°る。これ
により、複数の他のセルから当該セルが参照されている
場合に、2番目以降の参照セルのポインタを、コピーさ
れた新空間のセルに対するものに書き換えを行うことが
可能となる。
図中[株]は、ポインタの書き換えを行う状態を示す。
これは、第7図図中[相]に示すように、当該セルに対
するポイント先を上空間のセルから新空間のセルに書き
換えることを意味している。
図中■は、コピービットをONにする状態を示す。これ
は、第7図図中0に示すように上空間内のコピーをした
セルのコピービットをONにすることを意味している。
以上のようにして、上空間内のアクティブセルが新空間
内に順次詰めた態様でコピーされ、結果として上空間内
の不用のセル領域が回収されることとなる。
〔発明が解決しようとする問題点〕
従来のコピー法ガーベジコレクション方式は、既述した
ように、上空間内のコピーしようとする該当セルが複数
の他のセル、から参照される場合を考えて、複数のセル
から参照されているか否かに関係なく全てのセルに対し
てコピー情報およびこのセルがコピーされたコピー先の
アドレス(参照関係情報)を旧空間内の当該セル中に格
納しておく必要がある。このため、実際には複数の他の
セルから参照されていないセルに対しても、参照関係情
報を夫々格納しなければならず、ガーベジコレクション
に要する時間が多く必要となってしまうという問題点が
あった。
〔問題点を解決するための手段〕
本発明は、前記問題点を解決するために、アドレスを動
的に割りつけたセルをアクセス可能な態様で格納する主
記憶装置と、セルに関する情報を独立にアクセス可能な
態様で格納するビット操作用メモリと、該当するセルに
関する情報をアクセス制御するビット操作制御回路とを
設け、主記憶装置中の旧記憶領域から新記憶領域に有ろ
なセルをコピーしてガーベジコレクシシンを行う際に、
ビット操作用メモリ中に複数のセルから参照される参照
関係情報および旧記憶領域から新記憶領域にコピーした
旨を表すコピー情報を各セルに対応づけて夫々格納し、
参照関係情報が格納されていない旧記憶領域中のセルに
対して新記憶領域中の該当するセルに対するポイント情
報の格納を省略してガーベジコレクシシンを行うように
している。
第1図は本発明の原理構成図を示す。図中主記憶装置1
は、セルを格納するものであって、面突間(旧記憶領域
)および新空間(新記憶領域)を生成するものである。
ビット操作用メモリ2は、主記憶装置1に格納するセル
に対応づけて、当該セルに関するコピー情報および参照
関係情報などをアクセス可能な態様で格納するものであ
る。
ビット操作制御回路3は、CPU4からのアドレス情報
に基づいて、所定のアドレスを生成してビット操作用メ
モリ2から該当するセルのコピー情報および参照関係情
報などをアクセスするための制御回路である。
CPU4は、内蔵するア「ドレスレジスタ4−1あるい
はデータレジスタ4−2からアドレス情報をビット操作
制御回路3に供給したり、アドレスレジスタ4−1から
アドレス情報を主記憶装置1に供給などするものである
〔作用〕
第1図に示す構成を採用し、アドレスレジスタ4−1か
らのアドレス情報および所定の読み/書き信号を主記憶
装置1に供給することにより、旧空間内のアクティブセ
ルの内容が、面突間から新空間に圧縮した態様でコピー
される。
同時に、アドレスレジスタ4−1あるいはデータレジス
タ4−2からのアドレス情報の通知を受けたビット操作
制御回路3は、所定のアドレスをビット操作用メモリ2
に供給して主記憶装置1に対してアクセスしたセルに対
応したコピー情報および参照関係情報などをセル本体の
アクセスとは分離した態様で独立にアクセスする。この
際、複数のセルから参照されているセルに対してのみ、
参照関係情報ビットをオンにすると共にフォワーディン
グ・ポインタの値を格納して2番目以降の参照セルに対
するポインタの書き換えを行い得るようにしているため
、高速にガーベジコレクション処理を行うことが可能と
なる。
〔実施例〕
次に、第2図ないし第4図を用いて本発明の1実施例構
成および動作を詳細に説明する。
第2図において、主記憶装置1中には旧記憶領域(面突
間)■−1および新記憶領域(新空間)1−2が設けら
れプログラム動作環境として管理されている。この旧記
憶領域1−1および新記憶領域1−2は、C−P U 
A内のアドレスレジスタ4−1から通知されたアドレス
信号によってアクセスされ、旧記憶領域1−1中のセル
(アクティブセル)の内容が読み出され、新記憶領域1
−2中のセルに順次詰めた態様で書き込まれる(コピー
される)。
ビット操作用メモリ2は、旧記憶領域1−1および新記
憶領域1−2中に格納したセルに対応づけてこれらのセ
ルのコピー情報および参照関係情報などを分離かつ独立
にアセクスし得るB様で格納するものである。
ビット操作制御回路3は、3−1ないし3−3から構成
されている。制御演算部3−1は、CPUから通知され
た制御信号および演算部3−3から通知された内部制御
信号に基づいて、メモリ制御部3−2およびビット操作
用メモリ2を制御して所定のコピー情報および参照関係
情報をアクセスするものである。メモリ制御部3−2は
、CPU4内のアドレスレジスタ4−1からのアドレス
情報あるいはデータレジスタ4−2から通知された所定
のデータに基づいてアドレス信号を生成し、ビット操作
用メモリ2から所望のセルのコピー情報および参照関係
情報をアクセスするものである。
演算部3−3は、ビット操作用メモリ2から読み出され
たコピー情報および参照関係情報などに基づいて、演算
処理を行ってCPU制御信号および内部制御信号を生成
するものである。
以上のように、セルを格納する主記憶装置1と、このセ
ルのコピー情報および参照関係情報などを格納するビッ
ト操作用メモリ2を分離し、かつ独立にアクセスし得る
a様で設けることにより、後述するように、セル中に格
納されているポインタの書き換えなどの操作と、このセ
ルのコピー情報および参照関係情報などの0N10FF
などの書き換えをいわば並列に処理して、高速にガーベ
ジコレクション処理を行うことが可能となる。
次に、第3図および第4図を用いて第1図および第2図
に示す構成の動作を詳細に説明する。
第3図において、図中■は、コピービットがONである
か否かをチェックする状態を示す、これは、第4図図中
■に示すように、面突閣内の該当セル中のコピービット
がONであるか否かをチェックすることを意味している
。YESの場合(ONの場合)には、既に面突間から新
空間にコピーされているので、図中■でポインタの書き
替えを行い、次いで、図中■で参照関係とソトをOFF
にして当該セルに対する処理を終了する。Noの場合に
は、図中■以下の処理を行う。この図中■および■のル
ートを通る処理回数は、(m−n)回となる。ここで、
mはセルのポインタ総数、nはアクティブセルの総数を
表す。
図中■は、コピーを行う状態を示す。これは、第4図図
中■を用いて示すように、面突閣内のセルの内容を新空
間内のセルにコピーすることを意味している。この■以
下のルートを通る処理回数は、1回(アクティブセルの
総数に等しい回数)となる。
図中■は、ポインタの書き換えを行う状態を示す。これ
は、第4図図中■に示すように、新空間にコピーしたセ
ルをポイントするようにポインタの値を書き換えること
を意味している。
図中■は、参照関係情報(REF−BIT)がONであ
るか否かをチェックする状態を示す。これは、第4図図
中■に示すように、面突閣内のセルのREF−BITが
ONであるか否かをチェックすることを意味している。
YESの場合(REF−B ITがONの場合)には、
図中■以下の処理を行う。NOの場合には、当該セルが
他のセルからポイント(参照)されていないから、フォ
ヮーディング・ポインタの値を設定することなく終了す
る。これにより、ガーベジコレクションの処理を高速に
行うことが可能となる。
図中■は、フォワーディング・ポインタのセットを行う
状態を示す。これは、第4図図中■に示すように、図中
■で新空間内にコピーしたセルへのポイントアドレスを
、面突閣内の旧セルに格納することを意味している。こ
れにより、第2番目以降に当該セルを参照した参照セル
のポインタを書き換えることが可能となる。
図中■は、新空間内のREF−B ITをONにセット
する状態を示す。これは、第4図図中■に示すように、
新空間内のセルのREF−BITt−ONにセットして
複数のセルから参照されている旨を表示させるものであ
る。
図中■は、面突閣内のコピービットをONにセットする
状態を示す。これは、第4図図中■に示すように、面突
閣内のコピービットをONにして、当該セルを既に新空
間にコミピーした旨を表示することを意味している。
以上のように、複数の他のセルから参照されている参照
セルに対してのみ、参照関係情報(フォワーディング・
ポインタ)のセットを行うことにより、不必要な参照関
係情報をセットする手数を省略してガーベジコレクショ
ンの処理を高速に行うことが可能となる。
また、主記憶装置Iに設けた旧記憶領域1−1から新記
憶領域1−2に対するセルのコピーと、ビット操作用メ
モリ2中にこのセルのコピー情報および参照関係情報な
どのアクセスとを分離かつ独立にアクセス可能な態様で
設けることにより、並列に処理例えば第3図図中■と■
、■と■、■と■とを並列に処理して、ガーベジコレク
ション処理を高速に行うことが可能となる。また、第3
図図中■に関しても■の処理に並列に処理することが可
能となる。
次に、本実施例の第3図および第4図に示す構成による
所要時間と、第6図および第7図に示す従来の構成によ
る所要時間とを、簡単に以下比較する。
フォワーディング・ポインタのセントのオーバーヘッド
をτfp/セル、REFビット操作の平均オーバーヘッ
ドをτb、/′ビットとする。面突間にn個のアクティ
ブセルが存在し、単参照率(セルが1個のセルのみから
参照されている率)をk、セルがポイントする総数をm
とする。
本実施例によれば、フォヮーディング・ポインタのセッ
トおよびREFビット操作に要する時間T2は、下式の
ようになる。
T、=τrp(1−k)  Hn+τbar ・n+ 
2τb+a Hn+(m−n)・τbs” τrp(1
−k)  ・n+ τ、(2n+m)・・・・(1)ま
た、従来方式によれば、フォワーディング・ポインタの
セットに要するT1時間は、下式のようになる。
T、=τ2.・n ・・・・・・・・・・・・・・(2
)従って、nk/(2n+n) >τ工/τ、が満足さ
れる場合に、本実施例のほうが効率が良くなる。
更に、本実施例は、ビット操作制御回路3を付加するこ
とにより、ビット操作が他の操作と並列に動作可能とな
り、このオーバーヘッドが見えなくなる(τ1.0とし
て)。この場合、式(1)は、下式のように簡単になる
T、= τr−(1−k)  ・n ・・・・・・・・
・・(3)これにより、従来方式の式(2)と比較する
と、τf、’n ≧τf2(1−k)・n・・・・・・
・・(4)となり、本実施例が非常に効果的となる(通
常1≧に20.9位)。
〔発明の効果〕
以上説明したように、本発明によれば、アドレスを動的
に割りつけたセルをアクセス可能な態様で格納する主記
憶装置と、セルに関する情報を独立にアクセス可能なり
様で格納するビット操作用メモリと、8亥当するセルに
関する情報をアクセス制御するビット操作制御回路とを
設け、主記憶装置中の旧記憶領域から新記憶領域に有為
なセルをコピーしてガーベジコレクションを行う際に、
ビット操作用メモリ中に73f数のセルから参照される
参照関係情報および旧記憶領域から新記憶領域にコピー
した旨を表すコピー情報を各セルに対応づけて夫々格納
し、参照関係情報が格納されていない旧記憶領域中のセ
ルに対して新記憶領域中の該当するセルに対するポイン
ト情報の格納を省略してガーベジコレクションを行う構
成を探用しているため、不要なフォワーディング・ポイ
ンタのセフ)を省略しかつ並列動作を行わせてガーベジ
コレクション処理を高速に行うことができる。
【図面の簡単な説明】
第1図は本発明の原理構成図、第2図は本発明の1実施
例樽成図、第3図は本発明の詳細な説明するフローチャ
ート、第4図は本発明の動作説明図、第5図はガーベジ
コレクションの概念説明図、第6図は従来方式の動作を
説明するフローチャート、第7図は従来方式の動作説明
図を示す。 図中、1は主記憶装置、2はビット操作用メモリ、3は
ビット操作制御回路、4はcPUを表す。 /I;う6明の匂力作1−s’j−ヨ目Tるフo−%−
F¥’+3図 カ゛−へゾつレクシクン外刊り党を先日J[21′g1
55  図 1凭L15X)〈の1力41L名Za月するフローケヤ
ート第 6 圓

Claims (1)

  1. 【特許請求の範囲】 記憶領域に動的に割りつけたセルのうち有為なものを新
    領域にコピーして不要となったセル領域を回収処理する
    ガーベジコレクション処理方式において、 アドレスを動的に割りつけたセルをアクセス可能な態様
    で格納する主記憶装置(1)と、 この主記憶装置(1)にアセクス可能な態様で格納した
    セルに対応づけて当該セルに関する情報を独立にアクセ
    ス可能な態様で格納するビット操作用メモリ(2)と、 このビット操作用メモリ(2)に対して該当するセルに
    関する情報をアクセス制御するビット操作制御回路(3
    )とを備え、 主記憶装置(1)中の旧記憶領域から新記憶領域に有為
    なセルをコピーしてガーベジコレクションを行う際に、
    ビット操作用メモリ(2)中に複数のセルから参照され
    る参照関係情報および旧記憶領域から新記憶領域にコピ
    ーした旨を表すコピー情報を各セルに対応づけて夫々格
    納し、参照関係情報が格納されていない旧記憶領域中の
    セルに対して新記憶領域中の該当するセルに対するポイ
    ント情報の格納を省略してガーベジコレクションを行う
    よう構成したことを特徴とするガーベジコレクション処
    理方式。
JP20322586A 1986-08-29 1986-08-29 ガ−ベジコレクシヨン処理方式 Pending JPS6358558A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20322586A JPS6358558A (ja) 1986-08-29 1986-08-29 ガ−ベジコレクシヨン処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20322586A JPS6358558A (ja) 1986-08-29 1986-08-29 ガ−ベジコレクシヨン処理方式

Publications (1)

Publication Number Publication Date
JPS6358558A true JPS6358558A (ja) 1988-03-14

Family

ID=16470524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20322586A Pending JPS6358558A (ja) 1986-08-29 1986-08-29 ガ−ベジコレクシヨン処理方式

Country Status (1)

Country Link
JP (1) JPS6358558A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control in an object-oriented memory protection mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control in an object-oriented memory protection mechanism

Similar Documents

Publication Publication Date Title
EP0213843B1 (en) Digital processor control
JPH05233458A (ja) コンピュータシステムのメモリ管理装置
GB1242437A (en) Data processing system
KR930702717A (ko) 다수형태의 레지스터 세트를 구현한 알.아이.에스.씨(risc) 마이크로프로세서 구조
JPS58102381A (ja) バツフアメモリ
JPH05233425A (ja) メモリ管理装置
US4779191A (en) Method and apparatus for expanding the address space of computers
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
JPS6358558A (ja) ガ−ベジコレクシヨン処理方式
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
JPS6220583B2 (ja)
JP3456727B2 (ja) データ処理装置
JPS59116982A (ja) メモリシステムのデ−タ転送方式
JPH0756640B2 (ja) 記憶装置
JPS59146344A (ja) 仮想スタツク先行制御方式
JPH03141444A (ja) データ処理装置
JPH06175857A (ja) プログラム生成処理装置
JPH05127979A (ja) メモリアドレス空間拡張装置
JPS5818761A (ja) 記憶制御方式
JPS60129860A (ja) アドレス指定例外検出方式
JP2509981B2 (ja) 仮想記憶制御装置
JPH03127126A (ja) 情報処理装置
JP2001209578A (ja) メモリ更新履歴管理方式
JPH01116848A (ja) バッファメモリ
JPS61260344A (ja) 入出力処理装置