JPS63223845A - 実時間ガ−ベジコレクシヨン処理装置 - Google Patents

実時間ガ−ベジコレクシヨン処理装置

Info

Publication number
JPS63223845A
JPS63223845A JP5721787A JP5721787A JPS63223845A JP S63223845 A JPS63223845 A JP S63223845A JP 5721787 A JP5721787 A JP 5721787A JP 5721787 A JP5721787 A JP 5721787A JP S63223845 A JPS63223845 A JP S63223845A
Authority
JP
Japan
Prior art keywords
data
address
real
space
processing
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
JP5721787A
Other languages
English (en)
Inventor
Koji Hayashi
耕司 林
Toshihiro Ozawa
年弘 小沢
Akihiro Itashiki
板敷 晃弘
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 JP5721787A priority Critical patent/JPS63223845A/ja
Publication of JPS63223845A publication Critical patent/JPS63223845A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概 要] 本発明は、コピー法に準拠した実時間ガーベジコレクシ
ョン(以下GCとも言う)を行う場合、処理系が参照す
る論理的なアドレスと実際にデータが格納されているメ
モリアドレスとを分離し、それらを変換するテーブルお
よび新しいデータのメモリ上への割付けやガーベジコレ
クションのためのデータの移動とテーブルの書換え処理
を行うガーベジコレクタ専用のプロセッサを設けること
によってコピー法に準拠した実時間型のガーベジコレク
ションを高速に行い、プログラムのコードサイズをコン
パクトにする事の可能な処理装置について開示している
[産業上の利用分野] 本発明は、1jSp、 Prolog等の記号処理言語
をもちいた人工知能用のソフトウェアの処理において、
現在使用中のメモリの領域に使用済で不要になったデー
タが堆積して使用可能な領域が不足した場合に、新たな
領域を確保するためのガーベジコレクションに関するも
のであって、特に、現在実行中の言語に係る記号処理を
停止することなく、これと並行的に領域の確保を行なう
実時間ガーベジコレクションに係る。
[従来の技術] LISP、 Prolog等の記号処理言語では、GC
による記号処理停止が、制御などの即答性が要求される
問題となっている。
そのため、GCによる記号処理の停止を回避する方法と
して、記号処理と並行してGCを行うような実時間型の
ガーベジコレクションの方式がいくつか提案されている
これらのうち、コピー法にもとづく実時間GC方式が現
在もっとも実用的である。
この方式では、記憶領域は2つに分離され、記号処理は
どちらか一方の空間を使って行なわれる。そして領域が
使い尽されるとGCが起動される。−捨型のコピーGC
方式では、この時点でユーザープログラムから参照可能
な有効なデータを、いままで使用していた空間(旧空間
)からもう一方の空間(新空間)へ一度に移動するので
、その期間中は記号処理が中断されるので、その中断時
間が長いという問題がある。
これに対して実時間型のコピ一方式では、移動する有効
データの個数を記号処理に大きな影響を与えない程度の
数(K個)に制限し、K個の移動が終わった時点で記号
処理を再開する。このように有効データの移動処理を記
号処理プログラムの実行と並行して複数回に分割して行
うことで、GCによる処理の中断を短く抑えている。
第3図は、このような従来の実時間型のコピ一方式を説
明する図であって、51はCPU、52はメモリの旧空
間、53はメモリの新空間。
54はデータバス、55はアドレスバス、56はCGで
移動されたデータ、57は移動先を表す特殊なポインタ
であることを示すタグ、58は移動先アドレスを表して
いる。また、英字符Aは旧空間の移動済のデータ、Bは
旧空間の移動前のデータ、Cは新空間のデータとその流
れ等を示している。
[発明が解決しようとする問題点] 前述のようにコピー法に準拠した実時間GC方式を用い
れば、GCによる記号処理の中断を有効時間内に抑える
ことができる。しかし記号処理を完全に中断して、デー
タの移動を一度に済せて空間を切換える一括型のコピ一
方式と異なり、データの移動をに個ずつ分割して行うた
め、GCが開始されてから終了するまでの間はGcと記
号処理プログラムは交互に実行されることになる。この
間は、記号処理プログラムから参照されるデータが新、
旧両方の空間に存在し、しかも旧空間にある場合は、G
Cの操作によってすでに新空間へ移動されたデータであ
る可能性がある。そのなめ記号処理プログラムが正しく
動作するためにはプログラムから見える総てのデータが
新空間にあることを保証する必要がある。これはプログ
ラムからの有効データへの参照の総てについてそのデー
タを用いるまえに データが新旧どちらの空間にあるかを調べ、第3図に英
字符Cで示したように、新空間にある場合は、そのデー
タをそのまま用いれば良いが 旧空間にある場合には GCにより既に移動済である可能性があり、もし移動済
ならば第3図において、英字符Aで示すように該当する
データの位置に移動先アドレスが書かれているので、そ
れを読み込みそのアドレスにアクセスするという動作を
することになる。
また、第3図中の英字符Bに示すように旧空間で移動す
る前のデータである場合には、データを新空間の空き領
域へ移動したのちその位置に新しい移動先のアドレスを
書いておくという操作が必要となることを意味する。第
3図における英字筒Bで示される動作は一括型のGCの
場合も必要な操作であり、GCの仕事の一部として還元
されるので問題ないが、英字筒Cで示されるような条件
判断は特にGC中でなかった場合は全く無駄に終わる操
作であり、一方、英字筒Aで示される操作も一括型では
必要のない操作で、結果として実時間型GCの処理系の
速度を一括型GCを行う処理系と比較して著しく低下さ
せる。さらに、これらの余分な処理を行うためにインタ
プリタや組込関数のコードサイズも非常に大きくなって
しまうという問題点があった。
本発明はこのような従来の問題点に鑑み、簡潔な構成で
効率的な処理を行なうことのできる実時間型のガーベジ
・コレクション方式を提供することを目的としている。
[問題点を解決するための手段] 本発明によれば上述の目的は前記特許請求の範囲に記載
した手段により達成される。すなわち1本発明は1lS
p、 Prolog等の記号処理言語においてコピー法
に準拠した実時間ガーベジコレクションを行う場合、処
理系が参照する論理的なアドレスと実際にデータが格納
されているメモリアドレスとを分離し、それらを変換す
るテーブルおよび新しいデータのメモリ上への割付けや
ガーベジコレクションのためのデータの移動とテーブル
の書換え処理を行うガーベジコレクタ専用のプロセッサ
を設けることによって、実時間型のガーベジコレクショ
ンを高速に行い、プログラムのコードサイズをコンパク
トにすることの可能な実時間型ガーベジコレクションの
処理装置である。
以下本発明の構成と作用に関し実施例の図面に基づいて
詳細に説明する。
[実施例] 第1図は本発明の一実施例のブロック図であり、第2図
は実施例の動作を説明する図である。
同図において、1は言語処理系の記号動作を行うための
処理系用CPU(以下LPCPUとも言う )である。
また2は変換テーブルであり、GC処理に利用するため
のGCフラグ部22を持っている。3は実際にデータを
格納している記憶装置である。4はデータの移動と変換
テーブルの書換えを行うGC用CPU(以下GCCPU
とも言う )である、これは5〜8のレジスタをもちこ
れらは順に、次に処理系側で利用可能な(空いている)
記憶装置上の実アドレス、GC処理のために次にデータ
を移動する実アドレス(移動先)および移動するデータ
を決めるために次にスイープする実アドレス、および次
に利用可能なアドレス変換テーブル上の位置、すなわち
論理アドレスを保持している。10はLPCPUとGC
CPUから供給されるアドレスの排他制御を行うための
制御装置である。さらに11.12はLPCPUがあら
たにデータ格納用の領域要求をGCCPUに対して行う
ためとGC処理のはじめにGCCPUがLPCPUヘガ
ーベジコレクションのルートの転送を要求するための割
込信号線である。13はLPCPU、GCCPUおよび
記憶装置間でデータを転送するためのバスである。
アドレス変換テーブル2は処理系から見えている論理的
なアドレス(以下論理アドレスと略)を記憶装置3上の
実際にデータが格納されているアドレス(以下実アドレ
スと略)に変換するためのテーブルであり、論理アドレ
スに対応する番地に、実アドレスが格納されている。さ
らに変換テーブル2はマルチボート化されており、2系
統の読出しとアドレスが異なれば読み出しと書込みを同
時にできる構成となっている。また記憶装置上3のデー
タが含むアドレスは、総て論理アドレスである。LPC
PUI、GCCPU4とも論理アドレスによってのみ、
すなわちアドレス変換テーブル2を経由してのみデー夕
を参照する。また論理アドレスでみた場合のデータの内
容を書き換えるのはLPGPUIのみである。さらにG
CCPtJ4だけがアドレス変換テーブル2を書き換え
る事が可能であるような構成となっている。
以下、第1図および第2図に基づいてその動作を説明す
る。
■初期設定として、アドレス変換テーブル2のGCラフ
ラフ22をクリアする。レジスタ5.6は使用する半空
間の先頭アドレスに、またレジスタ7は終端アドレスに
設定される。またレジスタ8はアドレス変換テーブルの
先頭、すなわち論理アドレスの先頭値にセットされる。
■プログラムの実行に伴って、新たにデータを割、り当
てる必要が生じると、LPCPUIはGCCPU4に対
してトラップをかける。
■GCCPU4は次に利用可能な論理アドレス、即ち、
変換テーブル2上の位置をレジスタ8に保持しているの
で、即座にこのアドレスを新しいデータの論理アドレス
としてデータバス13を通してLPCPUIへ通達する
。そのあとレジスタ5に保持している、次に利用可能な
実アドレスをレジスタ8で示される変換テーブル、上の
場所へ書き込む。
■さらにGCCPU4はレジスタ8が示す位置からアド
レス変換テーブル2を走査し、この次に利用可能な論理
アドレスを発見する。それはそこに書かれている実アド
レスが、GC中ならば新空間をさし、GC中でないなら
ば現在使用中でない空間を指していて、しかもGCフラ
グ22がセットされていない場所の位置として識別でき
る。
■最後にGCCPU4はレジスタ5をデクリメントする
。この値がレジスタ6の値を越えるともはやその空間に
は利用できる領域がないのでGC処理が記号処理と並行
して開始される。
■GC処理が開始されると、GCCPU4はまずLPC
PUIヘトラップをかけてスタック、インターンされた
シンボル、レジスタといったいわゆるGCのためのルー
トの論理アドレスをLPCPUIからデータバス13を
通して受けとり、この論理アドレスに対応する実アドレ
ス上のデータをGCCPUのレジスタ6で示される位置
ヘアドレス6をインクリメントしながら順次移動する。
移動にともないアドレス変換テーブルの実アドレスを新
しい移動先の実アドレスへ書き換えて、GCフラグをセ
ットしていく。
この後、GCCPU4はレジスタ7で示される実アドレ
ス上に移動されてきたデータの内容(これは論理アドレ
スである)を新たなルートの論理アドレスとみなして上
記の操作をレジスタ7をインクリメントしながら、レジ
スタ7がレジスタ6に追い付くまで繰り返す。
■処理中にレジスタ6がレジスタ5に追い付いてしまう
と、もはやその空間には使用可能な領域がなくなるので
、GCCPU4は空間をフリップする。すなわち■にあ
げた操作をそれまで利用していなかった半空間について
行う。
■LPCPUIで実行される記号処理プログラムからの
データの参照は総て論理アドレスであり、これがアドレ
ス変換テーブル2で変換されて記憶装置に対する実際の
参照がおこなわれる。
■本方式では、このようなコピー法に準拠した実時間型
のガーベジコレクションのための処理がG CCP U
’4によりLPCPtJlとは原則として非同期に並行
して進行する。ただし記憶装置に対してLPCPUIと
GCCPU4のアクセスが競合した場合は制御装置10
によってLPCPUIからのアクセスが優先されGCC
PU4からのアクセスは待たされる。
(発明の効果] 以上説明したように本発明の方式によれば、アドレスを
処理系から見える論理アドレスと、実際にデータが格納
される実アドレスに分離し、変換テーブルを用いた管理
を行っているので、LPCPUすなわち言語処理系はつ
ねに(即ちGC処理が並行して行なわれている間も)論
理アドレスによってデータを参照すればよく、記憶装置
上に格納されているアドレスも論理アドレスであるので
、LPCPUは読み込んだデータおよび書き込むデータ
をそのまま用いることができる。すなわちデータ参照に
ともなってその存在場所を判定するための処理が全く不
必要となり、実時間ガーベジ・コレクションを行うこと
による、処理時間のオーバーヘッドを全く0とすること
ができる。
更に、上記利点に加えて、処理系が行うニーサブログラ
ムの実行による記号処理とガーベジコレクションの処理
が2つのプロセッサにより、ある程度並列に非同期で実
行されるので、−活量GCを行う処理系よりも実行速度
が向上することが期待される。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は本発
明の詳細な説明する図、第3図は従来の実時間のコピ一
方式を説明する図である。 1・・・・・・処理系用CPU、2・・・・・・変換テ
ーブル、3・・・・・・記憶装置、4・・・・・・GC
用cpu、5〜8・・・・・・レジスタ、10・・・・
・・制御装置、11.12・・・・・・割込信号線、1
3・・・・・・データバス、22・・・・・・GCフラ
グ 代理人 弁理士 井 析 貞 一 本発明の一実施例のブロック図 浄 l 図 5〜6 レジスタ 実施枦1の動作を説明する図 第 2 図

Claims (1)

    【特許請求の範囲】
  1. 記憶装置上の空間を2分して、一方の空間に未使用のた
    め廃棄したデータが堆積することにより使用可能な領域
    がなくなるかまたはその恐れがあるとき、必要なデータ
    を他方の空間に移送して該新たな空間を用いることによ
    り使用可能な空間の拡大を図る方式の、記号処理言語に
    おけるコピー法に基づく実時間ガーベジコレクションを
    行なう方式であって、処理系のプロセッサ(1)とガー
    ベジコレクション用のプロセッサ(4)を設けると共に
    、処理系のプロセッサの用いる論理アドレスと、記憶装
    置(3)上の実アドレスとを対応せしめたアドレス変換
    テーブル(2)を設け、前記ガーベジコレクション用の
    プロセッサが、該記憶装置上の旧空間から新空間へのデ
    ータを移送するに際し、前記アドレス変換テーブル上の
    論理アドレスと記憶装置上の実アドレスとの対応を調整
    することを特徴とする実時間ガーベジコレクション処理
    装置。
JP5721787A 1987-03-12 1987-03-12 実時間ガ−ベジコレクシヨン処理装置 Pending JPS63223845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5721787A JPS63223845A (ja) 1987-03-12 1987-03-12 実時間ガ−ベジコレクシヨン処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5721787A JPS63223845A (ja) 1987-03-12 1987-03-12 実時間ガ−ベジコレクシヨン処理装置

Publications (1)

Publication Number Publication Date
JPS63223845A true JPS63223845A (ja) 1988-09-19

Family

ID=13049360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5721787A Pending JPS63223845A (ja) 1987-03-12 1987-03-12 実時間ガ−ベジコレクシヨン処理装置

Country Status (1)

Country Link
JP (1) JPS63223845A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010018613A1 (ja) * 2008-08-11 2010-02-18 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010018613A1 (ja) * 2008-08-11 2010-02-18 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム
JPWO2010018613A1 (ja) * 2008-08-11 2012-01-26 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム
JP5120455B2 (ja) * 2008-08-11 2013-01-16 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム

Similar Documents

Publication Publication Date Title
JP5147280B2 (ja) 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法
US5930807A (en) Apparatus and method for fast filtering read and write barrier operations in garbage collection system
EP0230354B1 (en) Enhanced handling of large virtual storage extents
JP2013521570A (ja) ガーベッジコレクションに対するcpuサポート
JP2842313B2 (ja) 情報処理装置
JPS6150345B2 (ja)
JPS63223845A (ja) 実時間ガ−ベジコレクシヨン処理装置
EP0043391A1 (en) Virtual memory terminal
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
JPS63172343A (ja) 命令先取り方式
JPS603229B2 (ja) 情報処理方式
CN114780466B (zh) 一种基于dma的数据复制延时的优化方法
JPH0552539B2 (ja)
US5579495A (en) Information processing in which a simulation of parallelism is achieved
Nilsen Memory cycle accountings for hardware-assisted real-time garbage collection
JP2509981B2 (ja) 仮想記憶制御装置
JPS63173144A (ja) 実時間ガ−ベジコレクシヨン制御方式
Hu et al. Automatic Memory Management for Embedded Real-Time Java Processor JPOR-32
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPH03132839A (ja) データ処理装置
Appel Simple garbage collection and fast allocation
JPH0571948U (ja) キャッシュ制御装置
JPS63149743A (ja) 実時間ガ−ベジコレクシヨン方式
JPS6122824B2 (ja)
JPH09305553A (ja) 並列計算機システム