JP3438235B2 - データ管理方法およびその装置 - Google Patents

データ管理方法およびその装置

Info

Publication number
JP3438235B2
JP3438235B2 JP17760892A JP17760892A JP3438235B2 JP 3438235 B2 JP3438235 B2 JP 3438235B2 JP 17760892 A JP17760892 A JP 17760892A JP 17760892 A JP17760892 A JP 17760892A JP 3438235 B2 JP3438235 B2 JP 3438235B2
Authority
JP
Japan
Prior art keywords
cell
variable
area
binary
address
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.)
Expired - Fee Related
Application number
JP17760892A
Other languages
English (en)
Other versions
JPH05342087A (ja
Inventor
隆則 實藤
義道 北谷
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP17760892A priority Critical patent/JP3438235B2/ja
Publication of JPH05342087A publication Critical patent/JPH05342087A/ja
Application granted granted Critical
Publication of JP3438235B2 publication Critical patent/JP3438235B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、たとえば人工知能情報
処理、自然言語処理、数式処理などを行うコンピュータ
におけるデータ管理方式に係り、特に、コンピュータの
一次元の番地付が行われている記憶装置内に複数種の大
きさが混在し、互いに参照し合うデータの格納場所を自
動的に確保しあるいは解放するデータ管理方法およびそ
の装置に関するものである。
【0002】
【従来の技術】図7は、一般のコンピュータにおいて通
し番号が付けられている主記憶装置内における記憶領域
割り当ての概念図である。図7において、MAは記憶領
域、C1〜C4は記領域MAの所定の領域に指定デー
タを格納するセル、NU1〜NU4は記憶領域MAの未
使用領域をそれぞれ示している。各セルC1〜C4は、
そのセルC1〜C4の大きさを保持する領域x1 〜x4
を有し、たとえば、セルC2の領域x2 には、セルC2
の大きさを示すデータが保持されている。また、図中に
おける矢印A1〜A5は各セルC1〜C4間の参照を表
している。たとえば、矢印A1はセルC1のデータに
は、セルC2を格納するセル記録領域の開始番地を表す
データが含まれていることを意味する。
【0003】コンピュータのデータ管理系は、記憶領域
MA内にデータ格納のためのセルとして確保された領域
は、不必要になると適宜解放する。このため、記憶領域
MAには、セルC1〜C4としての使用領域と未使用領
域NU1〜NU4が不連続に配置される。この状態で新
しいデータを格納するための領域を記憶装置内に割り当
てるには、未使用領域NU1〜NU4のうちのいずれか
の領域に、そのデータを格納するために充分大きい領域
が見つかればその未使用領域にデータを書き込み、使用
済と印を付ける。充分大きい未使用領域が見つからなけ
れば、セルC1〜C4に格納されているデータを、未使
用領域分ずつ移動し、記憶領域MAの片側につめ直しを
行う。このセルに格納されたデータのつめ直し操作を行
うデータ管理方式を可変長セル管理方式という。
【0004】図8は、従来の可変長セル管理方式におけ
るつめ直し操作を表すフローチャートである。従来の可
変長セル管理方式では、たとえば、記憶領域MAを記憶
番地の小さい方の番地aから順に走査し、番地aはセル
領域の最終番地であるか否かを判別する(S1,S
2)。なお、mはつめ直しのときに空白部分を移動する
距離を示している。ステップS2において、番地aはセ
ル領域の最終番地ではないと判別した場合、次に番地a
は未使用領域の先頭番地であるか否かを判別する(S
3)。ステップS3において、番地aは未使用領域の先
頭番地であると判別した場合、番地aにその未使用領域
の大きさを加算し、さらに空白部分の移動距離mに未使
用領域の大きさを加算してステップS2に戻る。
【0005】一方、ステップS3において、番地aは未
使用領域の先頭番地ではないと判別した場合には、番地
(a+m)から始まるセルの内容を番地aから始まる領
域にコピーし(S6)、(a+m)からaへの番地の対
応を対応表に登録する(S7)。さらに、番地aに番地
(a+m)から始まるセルの大きさを加算してステップ
S2の処理に戻る(S8)。以上の動作、すなわち使用
中の各ブロックの左側に未使用領域があればブロックを
左側に移動する走査を(移動する距離は、そのブロック
の左側にあった未使用領域の大きさの総和である)、番
地aがセル領域の最終番地になるまで繰り返す。ステッ
プS2において、番地aがセル領域の最終番地になった
と判別したならば、記憶領域MA内の全てのデータのう
ち、変更された番地を参照しているデータを番地対応表
を元に書き換える。すなわち、移動されたブロックを指
しているポインタの値を、移動の結果のポインタの値に
書き換える(S9)ことにより、つめ直しが完了する。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
たデータ管理方式では、記憶領域MAの片側につめ直し
を行うのに複雑な手続きを要するため、使用中のブロッ
クを移すには、使用中の記憶領域MAの大きさに比例し
た時間がかかり、またポインタの変更内容を記憶するた
めの記憶場所が別に必要となるという欠点がある。
【0007】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、ポインタの変更内容を記憶する
ための記憶場所を別個設ける必要がなく、複雑な手続き
を要することなく短時間で記憶領域のつめ直しを行うこ
とができるデータ管理方法およびその装置を提供するこ
とにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明のデータ管理方法は、固定長のバイナリセル
と可変長のバリアブルセルとのペアにより可変長セルと
して取り扱い、上記可変長セルを構成するバイナリセル
には、当該バイナリセルの割り当てられている記憶領域
の大きさのデータを格納する第1ポインタと、当該バイ
ナリセルとペアをなすバリアブルセルの割り当てられて
いる記憶領域の番地が格納される第2ポインタとを含む
ポインタ部を付加し、上記可変長セルを構成するバリア
ブルセルには、当該バリアブルセル自身の割り当てられ
た記憶領域の大きさのデータを格納する第1ヘッダと、
当該バリアブルセルとペアをなすバイナリセルの割り当
てられている記憶領域の番地が格納される第2ヘッダと
を含むヘッダ部を付加し、メモリ領域にデータを格納す
る際に、バイナリセルだけに割り当てられるバイナリセ
ル領域と、バリアブルセルにだけ割り当てられるバリア
ブルセル領域とに分離し、上記バイナリセルを上記バイ
ナリセル領域に格納し、上記バリアブルセルを上記バリ
アブルセル領域に格納し、上記バイナリセルに付加され
るポインタ部および上記バリアブルセルに付加されるヘ
ッド部の情報に基づいて上記バイナリセル領域および上
記バリアブルセル領域のデータ管理を行うようにした
ータ管理方法であって、バリアブルセル領域とバイナリ
セル領域のつめ直しを、互いに対向する方向から順次行
うようにした
【0009】
【0010】本発明のデータ管理方法では、バリアブル
セル領域のつめ直しを、当該バリアブルセル領域の最小
番地から行うようにした。
【0011】本発明のデータ管理方法では、バイナリセ
ル領域のつめ直しを、当該バイナリセル領域の最終番地
から行うようにした。
【0012】本発明のデータ管理装置では、固定長のバ
イナリセルと可変長のバリアブルセルとのペアにより可
変長セルとして取り扱うデータ管理装置であって、バイ
ナリセルだけに割り当てられるバイナリセル領域と、バ
リアブルセルにだけ割り当てられるバリアブルセル領域
とに分離され、上記バイナリセル領域には、バイナリセ
ルの割り当てられている記憶領域の大きさのデータを格
納する第1ポインタと、当該バイナリセルとペアをなす
バリアブルセルの割り当てられている記憶領域の番地が
格納される第2ポインタとを含むポインタ部を付加した
バイナリセルが格納され、上記バリアブルセル領域に
は、バリアブルセル自身の割り当てられた記憶領域の大
きさのデータを格納する第1ヘッダと、当該バリアブル
セルとペアをなすバイナリセルの割り当てられている記
憶領域の番地が格納される第2ヘッダとを含むヘッド部
を付加したバリアブルセルが格納されるメモリと、上記
バイナリセルに付加されるポインタ部および上記バリア
ブルセルに付加されるヘッド部の情報に基づいて上記バ
イナリセル領域および上記バリアブルセル領域のデータ
管理を行い、バリアブルセル領域とバイナリセル領域の
つめ直しを、互いに対向する方向から順次行う回路とを
有するようにした。
【0013】
【作用】本発明のデータ管理方法よれば、メモリ領域に
おけるバリアブルセル領域のアクセスが、バイナリセル
領域に記憶されたポインタを参照することにより行われ
る。
【0014】本発明のデータ管理方法によれば、バリア
ブルセル領域とバイナリセル領域のつめ直しが、メモリ
領域の互いに対向する方向から順次行われる。
【0015】本発明のデータ管理方法によれば、バリア
ブルセル領域のつめ直しは、当該バリアブルセル領域の
最小番地から行われる。
【0016】本発明のデータ管理方法によれば、バイナ
リセル領域のつめ直しは、当該バイナリセル領域の最終
番地から行われる。
【0017】本発明のデータ管理装置によれば、メモリ
の記憶領域が、データ領域に用いるバリアブルセル領域
とデータ記憶位置の対応をとるポインタを記憶しておく
バイナリセル領域とに分離、構成される。そして、メモ
リ領域のバリアブルセルのアクセスは、バイナリセル領
域に記憶されたポインタを用いて行われる。
【0018】
【実施例】図1は、本発明に係るデータ管理方法が採用
される記号処理言語を用いた並列分散コンピュータシス
テム(以下、単にコンピュータシステムという)の構成
図である。コンピュータシステムは、計算の資源と評価
に基づくアーキテクチャACREを基本構成とする。アーキ
テクチャACREでは、計算の実行時における計算データを
メモリ管理や通信機能などを含めて資源とし、また、計
算を実行する過程を評価として認識する。ACREは、資源
と評価の機構を計算モジュールとして具現化するアーキ
テクチャである。資源は、データの静的表現であり、内
部では資源の管理などの処理を行うが、評価からは関知
する必要がない。評価は資源の動的振る舞いであり、資
源に対して変化を与えるものである。
【0019】コンピュータシステムのプロセッシングエ
レメト(Processing Element)PEは、図1の(a) に示す
ように、高速な記号処理データ演算を実行する評価機構
(エバリュエータ)EUと、入出力や記憶管理を重視し
た資源(リソース)RSCからなる。リソースRSC
は、データの格納場所としてのデータストレージSTR
Gと、その管理機構や通信機能としてのリソースマネー
ジャRMにより構成されている。
【0020】また、アーキテクチャACREでは、計算資源
として捉えた並列処理の単位をアーキテクチャ ACRE に
おける資源に対応させ、資源間で情報伝達を行うことに
より、並列処理の効率と並列処理システムの記述性の向
上を図ることができる。このとき、リソースRSCに基
づく情報通信によって、コンピュータシステムのプロセ
ッシングエレメトPEとして専用エンジンや汎用プロセ
ッサを組み込んだシステムの構成が容易となる。図1の
(b) はそのシステム構成例を示しており、この場合、各
プロセッシングエレメントPE間の情報通信は、リソー
スマネージャRMが行う。なお、同図において、IRC
(InterResource Connection)は結合部を示している。
【0021】エバリュエータEUは、データ幅32ビッ
トのVLIW(Very Long Instruction Word)制御のプロ
セッサである。エバリュエータEUは、図2に示すよう
に、ユーザ定義の関数やメソッドのコンパイルされたコ
ードを高速実行するためのインストラクションキャッシ
ュ(64bits× 64Kwords)ICと、データのフィールド演
算を高速に実現するためのマスカ(MSK),シフタ
(SFT)およびALUと、関数やメソッドの呼び出し
を高速化するためのデータフィールド値による多方向分
岐機能と、多方向分岐のためのディスパッチ(ルックア
ップ)テーブルDPおよびエバリュエータEUのシステ
ムスタックSSのための 64 Kwordsの制御用メモリCM
と、記号処理計算を実行する際のユーザ(フレーム)ス
タックUSおよびレジスタファイルRFのための64 Kwo
rds のローカルメモリLMと、システムコントローラS
Cとを有する。入出力や記憶管理に要する演算は、リソ
ースマネージャRMに対してリソースマネージャインタ
フェ−スRMI/F を介してその実行を要求する。
【0022】リソースマネージャRMは、記憶管理、デ
バイス管理、プロセス管理、ファイル管理、入出力、他
のプロセッシングエレメントPEとの通信の機能をエバ
リュエータEUに提供する。リソースマネージャRMに
は、たとえばワークステーションWSが適用され、たと
えばワークステーションWSの X Window システム上に
アプリケーション開発時および実行時のインタラクティ
ブなヒューマンインタフェース環境を実現する。関数定
義やメソッド定義のインクリメンタルな修正・コンパイ
ル、エラー状態からの復帰・実行再開機能を有し、アプ
リケーションの実行時にユーザとの動的な対話ができる
ような入出力機能を提供する。加えて、リソースマネー
ジャRMは、エバリュエータEUとのインタフェースで
あるエバリュエータインタフェースEUI/F と、並列処
理時に他のプロセッシングエレメントPEとの通信を行
うための通信インタフェースCI/F と、データストレー
ジSTRGのメインメモリMM上の記号処理データの高
速アクセスのためのアクセラレータとしてのポインタマ
ニュピレータPMと、診断用インタフェースDI/F とを
有している。
【0023】また、記憶管理には、たとえば記号処理の
ための記憶構成・管理方式であるMOLDS(Memory Or
ganization for Linked Data Structures)が用いられ
る。MOLDSによる記憶管理は、従来の仮想記憶方式
に比べて、記号処理データの管理が10〜40倍高速で
あるという評価を得ている。
【0024】データストレージSTRGのメインメモリ
MMは、エバリュエータEUからもメインメモリインタ
フェースMMI/F を介して直接アクセス可能なデュアル
ポートメモリからなり、排他的アクセス、記号処理演算
で有効な参照カウントなどの機能アクセスを提供する。
メインメモリMMは、これらの制御情報と2ワードのポ
インタを表現するため80bits × 256 Kwords の構成と
なっている。また、データストレージSTRGの二次記
憶SMとしては、ワークステーションWSのディスクシ
ステムが用いられる。
【0025】図3は、図2のメインメモリMMの内部状
態の一例を示す図である。図3に示すように、メインメ
モリMM内は、固定長のバイナリセルBCが存在するバ
イナリセル領域BCARと、可変長のバリアブルセルV
Cが存在するバリアブルセル領域VCARとに区分けさ
れている。バイナリセルBCは80ビット長のデータ
で、ポインタ部を構成する第1ポインタとしてのカー部
carと第2ポインタとしてのクダー部 cdrの二つの番地
データを保持する。バリアブルセルVCは、番地データ
HDa (第2ヘッダ)、自身の大きさに関するデータH
Ds (第1ヘッダ)をヘッダ情報HD(ヘッダ部)とし
て有している。バリアブルセルBCは必ず一つのバイナ
リセルVCとを互いに番地を参照し合い、ペアをなし可
変容量セルとして取り扱われる。図3中に示す矢印は、
バリアブルセルVC1とバイナリセルBC2とが互いの
番地を保持し、バイナリセルBC1のカー部 carはバイ
ナリセルBC2に代表される可変容量のデータを参照し
ている例を示している。
【0026】図2内のコンピュータシステムのエバリュ
エータEUにおいて、メインメモリMM記憶セル取得の
リクエストが生じると、固定長セルの場合はメインメモ
リMM中の未使用領域のうちでもっとも番地の大きい所
からバイナリセルBCが取り出される。図3の例の場合
はXで示す位置に新しいセルが確保される。可変長セル
の場合は、同様に、バイナリセルBCを取り出してか
ら、未使用領域を番地の小さい方から、要求されたバリ
アブルセルVCの大きさを取り出すのに充分な領域を探
して取り出す。これによって、記憶領域内でバリアブル
セルVCだけが存在する領域とバイナリセルBCだけが
存在する領域ができる。以上の操作の中で、バリアブル
セルVCを取得するためにバイナリセル領域BCARの
直前まで走査しても必要な大きさの未使用領域を確保で
きない場合は、バリアブルセル領域VCAR内、バイナ
リセル領域BCAR内でセルをそれぞれ番地の小さいほ
うと大きいほうにつめ直して、それぞれの領域内に分散
している未使用領域をまとめる。
【0027】次に、バイナリセル領域のつめ直し、バリ
アブル領域のつめ直し並びにバイナリセル番地の変更動
作について、図4〜図6のフローチャートに基づいて説
明する。
【0028】図4は、バイナリセル領域BCARのつめ
直しの処理を表すフローチャートである。バイナリセル
領域BCARのつめ直しは、バイナリセル領域BCAR
の最終番地から番地の小さいほうに向かって未使用領域
を探し、最初に見つかった番地をaとする。図3におい
ては、バイナリセルBC1の番地がaになる。次に、バ
イナリセル領域BCARの先頭番地から番地の大きいほ
うに向かって使用領域を探し最初に見つかった番地をb
とする(S101)。図3においてはXで示す位置に対
応する。ここで、番地aと番地bとが等しければ、バイ
ナリセル領域BCARのつめ直しは終了する(S10
2)。
【0029】ステップS102において、番地aと番地
bとは等しくないと判別した場合には、番地aは未使用
領域の番地であるか否かの判別を行う(S103)。こ
のステップS103において、番地aは未使用領域の番
地ではないと判別した場合には、番地aからバイナリセ
ルBCの大きさを減算して(S104)、ステップS1
03の処理を再度行う。ここで、番地aは未使用領域の
番地であると判別した場合には、番地bは使用済領域の
番地であるか否かの判別を行う(S105)。このステ
ップS105において、番地bは使用済領域の番地では
ないと判別した場合には、番地bにバイナリセルBCの
大きさを加算して(S106)、ステップS105の処
理を再度行う。ステップS105において、番地bは使
用済領域の番地であると判別したならば、番地bにある
バイナリセルの内容を番地aにコピーし(S107)、
番地 bにはデータの転写先である番地aを書き込む(S
108)。
【0030】次に、コピーしたバイナリセルBCが、可
変容量セルの一部であるか否かの判別を行う(S10
9)。コピーしたバイナリセルBCが可変容量セルの一
部であると判別したならば、対応するバリアブルセルV
Cが保持しているバイナリセルBCの番地cをaに変更
する(S110,S111)。次いで、番地bにバイナ
リセルBCの大きさを加算するとともに(S112)、
番地cからバイナリセルBCの大きさを減算して(S1
13)ステップS102の処理に戻り、上記した処理を
繰り返し、すべてのバイナリセルBCを最終番地から連
続した領域に移す。なお、ステップS109において、
番地aのバイナリセルは可変容量セルの一部ではないと
判別した場合には、ステップS110およびS111の
処理を行わず、ステップS112の処理に移行する。
【0031】次に、バリアブルセル領域VCARのつめ
直しを行う。この処理については、図5のフローチャー
トに基づいて説明する。バリアブルセル領域VCARの
つめ直しは、メインメモリMMの先頭番地から走査し、
番地aはセル領域の最終番地であるか否かを判別する
(S201,S202)。なお、mはつめ直しのときに
空白部分を移動する距離を示している。ステップS20
2において、番地aはセル領域の最終番地でないと判別
した場合、次に番地aは未使用領域の先頭番地であるか
否かを判別する(S203)。ステップS203におい
て、番地aは未使用領域の先頭番地であると判別した場
合、番地aにその未使用領域の大きさを加算し、さらに
空白部分の移動距離mに未使用領域の大きさを加算して
ステップS202に戻る。
【0032】一方、ステップS203において、番地a
は未使用領域の先頭番地ではないと判別した場合には、
番地(a+m)から始まるセルの内容を番地aから始ま
る領域にコピーし(S206)、番地(具体的には番地
aのバリアブルセルの ptrスロットの値)のバイナリセ
ルBCのクダー部 cdrに番地データaを書き込む(S2
07)。さらに、番地aに番地(a+m)から始まるセ
ルの大きさを加算してステップS2の処理に戻る(S2
08)。以上の動作、すなわち使用中の各ブロックの左
側に未使用領域があればブロックを図3においては左側
に移動する走査を、番地aがセル領域の最終番地になる
まで繰り返し、番地aがセル領域の最終番地時点で、バ
リアブルセルVCのつめ直しを終了する。
【0033】すべてのセルを移し終わったら、移動され
たバイナリセルBCの番地を保持しているデータ領域す
べてを新しい番地に書き換える。図6は、この番地書き
換え処理を示すフローチャートである。この場合、メイ
ンメモリMM内の全てのバイナリセルBCとバリアブル
セルVCを走査し、それらが保持しているバイナリセル
BCの番地データのうち、つめ直しによって移動したバ
イナリセルBCの移動元番地、たとえば図3のVC1を
参照しているものは、この領域に書き込まれた移動先番
地、たとえば図3のXに書き換える。
【0034】具体的には、まずバリアブルセル領域VC
ARの先頭番地から走査し(S301)、番地aはバリ
アブルセル領域VCARの最終番地であるか否かを判別
する(S302)。ステップS302において、番地a
はセル領域の最終番地ではないと判別した場合、番地a
のバリアブルセルVC内セルポインタ格納スロットの番
地をbとし(S303)、その番地bの内容のセルは移
動されたか否かの判別を行う(S304)。ステップS
304において、セルは移動されたと判別した場合、そ
の番地の内容を番地bにコピーし(S305)、その後
番地aにaのバリアブルセルの大きさを加算して(S3
06)、ステップS302に戻り、以上の処理を番地a
がバリアブルセル領域VCARの最終番地になるまで繰
り返す。一方、ステップS304において、セルは移動
されていないと判別した場合には、ステップS305の
処理を経ることなく、番地aにaのバリアブルセルVC
の大きさを加算して(S306)、ステップS302に
戻る。
【0035】ステップS302において、番地aはセル
領域の最終番地であると判別した場合には、バイナリセ
ル領域BCARの最終番地から走査し(S307)、番
地aはバリアブルセル領域VCARの先頭番地であるか
否かを判別する(S308)。ステップS308におい
て、番地aはセル領域の最終番地ではないと判別した場
合、番地aのバイナリセルBCのカー部 carの番地をb
とし(S309)、その番地bの内容のセルは移動され
たか否かの判別を行う(S310)。ステップS310
において、セルは移動されたと判別した場合、その番地
の内容を番地bにコピーする(S311)。なお、ステ
ップS310において、セルは移動されていないと判別
した場合には、ステップS311の処理は行われない。
【0036】次いで、番地aのバイナリセルBCのクダ
ー部 cdrの番地をbとし(S312)、その番地bの内
容のセルは移動されたか否かの判別を行う(S31
3)。ステップS313において、セルは移動されたと
判別した場合、その番地の内容を番地bにコピーし(S
314)、その後番地aからaのバイナリセルBCの大
きさを減算して(S315)、ステップS308に戻
り、以上の処理を番地aがバイナリセル領域BCARの
先頭番地になるまで繰り返す。一方、ステップS313
において、セルは移動されていないと判別した場合に
は、ステップS314の処理を経ることなく、番地aか
らaのバイナリセルBCの大きさを減算して(S31
5)、ステップS308に戻る。そして、ステップS3
08において、番地aがバイナリセル領域BCARの先
頭番地になったと判別した時点で、上述した一連の番地
変更処理が終了する。
【0037】以上説明したように、本実施例によれば、
メインメモリMMの領域をデータ領域に用いるバリアブ
ルセル領域VCARとデータ記憶位置の対応をとるポイ
ンタを記憶しておくバイナリセル領域VCARとに分離
し、バイナリセル領域BCARに記憶されたポインタを
用いてバリアブルセル領域BCARのアクセスを行うよ
うにしたので、メインメモリMM内での配置つめ直しを
反映する番地データ書換えは、バイナリセルBCでは移
動元に書き込まれた番地をもとに行い、バリアブルセル
VCは対応するバイナリセルBC内の番地データを書き
換えるだけで済む。したがって、従来のように番地変更
情報を保持するための機構を用意する必要がなく、処理
が簡易になる。また、LISP言語のように固定容量セルと
可変容量オブジェクトが記憶領域内に混在し、固定容量
セルを大量に割り当て/ 解放する処理系において、通常
固定容量セルのみを扱う場合にのみ適用可能な、使用/
未使用領域を入れ替えるアルゴリズムを適用することが
でき、短時間でつめ直し処理を行うことができる。
【0038】
【発明の効果】以上説明したように、本発明によれば、
記憶領域内での配置つめ直しを反映する番地データ書換
えは、バイナリセルでは移動元に書き込まれた番地をも
とに行い、バリアブルセルは対応するバイナリセル内の
番地データを書き換えるだけで済み、番地変換情報を保
持するための機構を用意する必要がなく、処理が簡易に
なる。また、LISP言語のように固定容量セルと可変容量
オブジェクトが記憶領域内に混在し、固定容量セルを大
量に割り当て/ 解放する処理系において、通常固定容量
セルのみを扱う場合にのみ適用可能な、使用/ 未使用領
域を入れ替えるアルゴリズムを適用することができ、そ
の結果、短時間でつめ直し処理を行うことができる。
【図面の簡単な説明】
【図1】本発明に係るデータ管理方法が採用されるコン
ピュータシステムの構成図である。
【図2】本発明に係るプロセッシングエレメントの構成
例を示す図である。
【図3】本発明の実施例の記憶領域割り当ての概念図で
ある。
【図4】本発明に係るバイナリセルつめ直し処理のフロ
ーチャートである。
【図5】本発明に係るバリアブルセルつめ直し処理のフ
ローチャートである。
【図6】本発明に係るバイナリセル番地変更反映処理の
フローチャートである。
【図7】従来の構成における記憶領域割り当ての概念図
である
【図8】従来における可変容量セルのつめ直し処理のフ
ローチャートである。
【符号の説明】
PE…プロセッシングエレメント EU…エバリュエータ RSC…リソース RM…リソースマネージャ STRG…データストレージ IRG…結合部 VCAR…バリアブルセル領域 BCAR…バイナリセル領域 VC…バリアブルセル BC…バイナリセル car …カー部 cdr …クダー部
フロントページの続き (56)参考文献 特開 平4−42338(JP,A) 特開 昭57−59261(JP,A) 特開 平4−340155(JP,A) 特開 昭61−170844(JP,A) ランドール・L・ハイド,32ビット時 代のメモリ管理−第1回−,日経バイ ト,日本,日経BP社,1988年 9月 1日,第50号,p.215−229 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 9/44

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 固定長のバイナリセルと可変長のバリア
    ブルセルとのペアにより可変長セルとして取り扱い、 上記可変長セルを構成するバイナリセルには、当該バイ
    ナリセルの割り当てられている記憶領域の大きさのデー
    タを格納する第1ポインタと、当該バイナリセルとペア
    をなすバリアブルセルの割り当てられている記憶領域の
    番地が格納される第2ポインタとを含むポインタ部を付
    加し、 上記可変長セルを構成するバリアブルセルには、当該バ
    リアブルセル自身の割り当てられた記憶領域の大きさの
    データを格納する第1ヘッダと、当該バリアブルセルと
    ペアをなすバイナリセルの割り当てられている記憶領域
    の番地が格納される第2ヘッダとを含むヘッダ部を付加
    し、 メモリ領域にデータを格納する際に、バイナリセルだけ
    に割り当てられるバイナリセル領域と、バリアブルセル
    にだけ割り当てられるバリアブルセル領域とに分離し、
    上記バイナリセルを上記バイナリセル領域に格納し、上
    記バリアブルセルを上記バリアブルセル領域に格納し、 上記バイナリセルに付加されるポインタ部および上記バ
    リアブルセルに付加されるヘッド部の情報に基づいて上
    記バイナリセル領域および上記バリアブルセル領域のデ
    ータ管理を行うデータ管理方法であって、 バリアブルセル領域とバイナリセル領域のつめ直しを、
    互いに対向する方向から順次行うようにした データ管理
    方法。
  2. 【請求項2】 バリアブルセル領域のつめ直しを、当該
    バリアブルセル領域の最小番地から行うようにした請求
    項1記載のデータ管理方法。
  3. 【請求項3】 バイナリセル領域のつめ直しを、当該バ
    イナリセル領域の最終番地から行うようにした請求項1
    または2記載のデータ管理方法。
  4. 【請求項4】 固定長のバイナリセルと可変長のバリア
    ブルセルとのペアにより可変長セルとして取り扱うデー
    タ管理装置であって、 バイナリセルだけに割り当てられるバイナリセル領域
    と、バリアブルセルにだけ割り当てられるバリアブルセ
    ル領域とに分離され、上記バイナリセル領域には、バイ
    ナリセルの割り当てられている記憶領域の大きさのデー
    タを格納する第1ポインタと、当該バイナリセルとペア
    をなすバリアブルセルの割り当てられている記憶領域の
    番地が格納される第2ポインタとを含むポインタ部を付
    加したバイナリセルが格納され、上記バリアブルセル領
    域には、バリアブルセル自身の割り当てられた記憶領域
    の大きさのデータを格納する第1ヘッダと、当該バリア
    ブルセルとペアをなすバイナリセルの割り当てられてい
    る記憶領域の番地が格納される第2ヘッダとを含むヘッ
    ド部を付加したバリアブルセルが格納されるメモリと、 上記バイナリセルに付加されるポインタ部および上記バ
    リアブルセルに付加されるヘッド部の情報に基づいて上
    記バイナリセル領域および上記バリアブルセル領域のデ
    ータ管理を行い、バリアブルセル領域とバイナリセル領
    域のつめ直しを、互いに対向する方向から順次行う回路
    とを有することを特徴とするデータ管理装置。
JP17760892A 1992-06-11 1992-06-11 データ管理方法およびその装置 Expired - Fee Related JP3438235B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17760892A JP3438235B2 (ja) 1992-06-11 1992-06-11 データ管理方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17760892A JP3438235B2 (ja) 1992-06-11 1992-06-11 データ管理方法およびその装置

Publications (2)

Publication Number Publication Date
JPH05342087A JPH05342087A (ja) 1993-12-24
JP3438235B2 true JP3438235B2 (ja) 2003-08-18

Family

ID=16033980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17760892A Expired - Fee Related JP3438235B2 (ja) 1992-06-11 1992-06-11 データ管理方法およびその装置

Country Status (1)

Country Link
JP (1) JP3438235B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ランドール・L・ハイド,32ビット時代のメモリ管理−第1回−,日経バイト,日本,日経BP社,1988年 9月 1日,第50号,p.215−229

Also Published As

Publication number Publication date
JPH05342087A (ja) 1993-12-24

Similar Documents

Publication Publication Date Title
JP2679805B2 (ja) ディジタルコンピュータシステムのメモリ管理システム
US6125434A (en) Dynamic memory reclamation without compiler or linker assistance
JP4658894B2 (ja) マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法
US5095522A (en) Object-oriented parallel processing system, including concept objects and instance objects for messages exchanging between objects
Baker Jr Shallow binding in lisp 1.5
CA1273125A (en) Memory management system
Conery Binding environments for parallel logic programs in non-shared memory multiprocessors
Hansen Compact list representation: Definition, garbage collection, and system implementation
JP2007299403A (ja) 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法
CN102985910A (zh) 对无用存储单元收集的gpu支持
US6925639B2 (en) Method and system for register allocation
Sargeant et al. Stored data structures on the Manchester dataflow machine
Wray et al. Non-strict languages–programming and implementation
JP3438235B2 (ja) データ管理方法およびその装置
Mattson Jr An effective speculative evaluation technique for parallel supercombinator graph reduction
Fujimoto et al. The roll back chip: Hardware support for distributed simulation using Time Warp
Lee et al. A hybrid scheme for processing data structures in a dataflow environment
Niehaus et al. Architecture and OS support for predictable real-time systems
EP2972837A1 (en) Dynamic memory management for a virtual supercomputer
JP3520524B2 (ja) データ管理方法
Ali A parallel copying garbage collection scheme for shared-memory multiprocessors
JPS6037931B2 (ja) リスト処理方式
Ibbett et al. Architectural mechanisms to support sparse vector processing
Agullo et al. Reducing the I/O volume in sparse out-of-core multifrontal methods
KR950005525B1 (ko) 데이터관리방식

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees