JPS6084647A - 構造体メモリ管理装置 - Google Patents

構造体メモリ管理装置

Info

Publication number
JPS6084647A
JPS6084647A JP58193809A JP19380983A JPS6084647A JP S6084647 A JPS6084647 A JP S6084647A JP 58193809 A JP58193809 A JP 58193809A JP 19380983 A JP19380983 A JP 19380983A JP S6084647 A JPS6084647 A JP S6084647A
Authority
JP
Japan
Prior art keywords
memory
area
unused
main
main memory
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
JP58193809A
Other languages
English (en)
Inventor
Shinichi Habata
幅田 伸一
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
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58193809A priority Critical patent/JPS6084647A/ja
Publication of JPS6084647A publication Critical patent/JPS6084647A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は任意長データを動的に割シ付ける動的メモリ管
理装置に関するものである。
近年、知的システムへの関心の高t、bとともに、任意
長の構造体データを指定できるプロローグが注目されて
いる。
例えば、プロローグでは、かごの中にシんご′ゞみかん
′、゛なし′が入っている状態を構造休場゛かご′、峨
素数3の構造体を使って次のように表現できる。
かご(りんご、みかん、なし) さらに、太部がこのかご金持っているという事実を、構
造休場゛j11つ′、侠素数2の構造体を用いて次のよ
うに記述できる。
持つ(太部、かご(シんご、みかん、なし))プロロー
グは、このような任意個の要素を持つ構造体を用いるこ
とによりデータの記述を容易にしている。
一方、プロローグを実行すると多数の構造体が、動的に
生成・消滅する。消滅したイノ4造体全メモリ中に放置
して、生成された構造体に新たなメモリ領域を割シ当て
ると、構造体の領域として多量のメモリセルが必要とな
る。七とで、メモリセルの使用効率金高めるために、構
造体が消滅した結果、使用済みとなったメモリセルを回
収し、再度、構造体全格納可能にするためにカーベージ
コレクション処理が行なわれる。しかし、カーベージコ
レクション処理にかかる処理コストは大きく、全体の処
理コストの30から50%以上になる場合がある。
以下に構造体の実現方式と従来のカーベージコレクショ
ン処理について記ス。
構造体を実現するだめの良く知られた実現方式の1つと
して、li>」足長の領域をポインタで複数個つなぐ方
式がある。以下、この方式kglの構造体実現方式と称
す。第1の構造体実現方式の例として、2進木リストを
用いた方法を説明する。
第1図に2進木リス)10i用いて構造体持つ(太部、
かご(りんご、みかん、なし))を表現した時の概念図
を示す。この方式の最大の特徴は、メモリセルk 5h
i保する単位が固定長となっているため、未使用領域が
連続領域になくてもよい点にある。すなわち、ガーベー
ジコレクションによシ使用済みメモリセルを回収する作
朶は、固定領域(2進木リストでは連続しだ2セルの領
域)をポインタで結ぶだけでよい。
しかしながら、第1の構造体実現方式は、構造体の要素
をアクセスする除のポインタを辿るオーバヘッドが大き
いという欠点を持つ。例えば、構造体のn番目の要素を
アクセスするためには、ポインタfn回辿らねばならず
、メモリアクセスネックの要因となる。
第1の構造体実現方式の欠点を解消する他の方式として
は、構造体の要素を連続領域に並べ、各要素へのアクセ
スをヘッダ部からのオフセットで行なう方式が知られて
いる。以下、この方式kj42の構造体実現方式と称す
第2図は、第2の構造体実現方式による構造体持つ(太
部、かご(りんご、みかん、なし))を表現した概念図
である。第2図において、20は構造体温領域、21は
要素数饋域、22はゴーベージコレクション時にその構
造体が使用中又は、使用済みであることを示すために使
用するマークビット、23はデータ部を表わす。構造体
温領域20、要素数領域21およびマークピット22の
3つの領域を会わせて、以下、特にヘッダ部と称す。
第2のイJり遺体実現方式では、構造体はヘッダ部と構
造体の各要素を格納するデータ部23が1つの連続頭載
に割シ当てられている。しノこがクーロ構造体を要素と
して宮むときは榴危本ヘッド部へのポインタを要素とし
て格納する。又、構造体データ部中の要素へのアクセス
はヘッダ部、がらのオフセットを用いて高速に行なうこ
とができる。
しかしながら、第2の構造体実現方式では構造体は任意
長の連続頭載に格納される必要があるため、使用中領域
をリロケートして未使用領域を1ツニスるカーベージコ
レクション処理のオーバヘッドが大きいという問題を持
つ。又、構造体の性質上1つの構造体を複数の構造体が
共有する可能性がある。
第3図(11、(2)は、構造体Aと構造体Cが構造体
Bを共有している時のガーベージコレクションによるメ
モリ領域の遷移を示す概念図である。第3図において、
30はメモlJ、31は使用中の構造体領域、32は使
用済みあるいは未使用の領域を示す。
第3図(1)はガーベージコレクションを行なう前のメ
モリ状態、第3図(2)はガーページコレクションを行
なった後のメモリ状態を表わす。
第2の構造体実現方式におけるガーベージコレクシコン
の方式を説明する。ガーページコレクションの第1の処
、畦は、現在使用中の47M造体全てに印を付けること
である。これは、主プロセツサが処理を行なう時に、現
在使用中の構造体の情報を格納するスタックを調べて、
スタ、りから(2)接又は、間接に参照されている構造
体のマークピット領域をセットすることにより実現され
る。
上記ガーベージコレクションの第1の処理でマークピッ
トがセットされなかった817造体は、[史用済み領域
として回収できる。しかし、[61定領域を用いた前記
第1の構造体実現方式のように単に使用済み領域をポイ
ンタで結ぶだけでは、次に新しい構造体を格納する連続
領域を何保することができなくなる。したがって、未使
用領域を]つの連続領域にまとめるだめに第3図(1)
と第3図(2)に図示しであるように、使用中の構造体
31をリロケートして1つの連続した使用済み領域33
を作る必要がある。
第2の構造体実現方式の問題点は構造体をリロケートす
る際にリロケートした構造体を指すポインタを全て書き
換える必要があることである。
本発明の第1の目的は構造体要素へのアクセスが高速で
、かつカーベージコレクション処理時の使用中領域のリ
ロケート処理のオーバーヘッドを小さくすることにある
本発明の第2の目的は主プロセツサによる構造体の処理
とメモリ管理装置のりロケート処理を31し列処理する
ことにある。
さらに、本発明の第3の目的はメモリ使用効率を常に旨
い状態に保つ旨速動的メモリ管理機能を提供する構造体
メモリ管理装置aを提供することにある。
本発明によれば固定長のヘッダ部と任意長のデータ部と
から成る構造体を貯える主記憶と、前記主記憶上の構造
体を受け処理する主プロセツサと、前記主記憶上のデー
タの一部を貯え、前記主プロセツサに一時的未使用領域
を提供するキャッシュメモリと、前記主記憶上の使用中
領域と未使用領域の情報を保持するピットマツプ・メモ
リと、前記主記憶上の未使用領域の先頭アドレス情報と
サイズ情報を保持するセルと前記セルが持つ未使用領域
のサイズの値で複数のグループに分類し、谷グループご
とにグループに属するセルをポインタでつないだ未使用
領域リストと、論理的に1つの連続領域となっている構
造体の副別名と前記主記憶上の構造体格納領域の先頭ア
ドレス情報とサイズ情報を格納するブロック管理テーブ
ルと、前記主記憶の動的割り付は処理とガーベージコレ
クション処理の制御を行なう制御を備え、前記主プロセ
ツサが新しい構造体を生成する時に1)IJ記ギャッシ
ュメモリに前記構造体の領域を確保し前記主プロセツサ
での処理を続行することと並行して、前記制御部が前記
ブロック管理テーブルに前記構造体の識別番号を割シ当
て前記未使用領域リストを使用して前記主記憶上に格納
領域を確保することと、 カーベージコレクション処理時のりロケーション処理に
おいて前記制御部がビットマツプ・メモリを使って前記
主記憶上の使用中領域を捜し、リロケート処理を行なう
ことを特徴とする構造体メモリ管理装置力y′γ%、、
、、1じ先次に、本発明の構造体メモリ管理方式につい
て図面を用いて説明する。
第4図は、本発明の構造体メモリ管理装置における構造
体実現の一例である。ブロック管理テーブル40の各語
は、構造体の識別番号41.構造体のサイズ42と構造
体を格納している主記憶110上の連続領域の先頭アド
レス43を保持している。
第4図では、構造体持つ(太部、X)”と”構造体持つ
(花子、X)”が構造体゛かご(りんご、みかん、なし
)”を共有している状態を示している。“かと”に関す
る構造体ヘッダ部45の構造体多領域には”かと”であ
ることを示す値”1”と構造体の要素数領域には要素数
”3′が格納されている。データ部46には構造体の要
素が格納されている。
構造体−持つ(太部、X)″と゛持つ(花子。
X)″が構造体“かご(シんご、みかん、なし)”を共
有するために、構造体”持つ(太部、X)”の第2要素
50と”持つ(花子、X)”の第2要素51には、構造
体を構成する一つの要素であることを示す情報と共に構
造体゛かと(シんご、みかん、なし)′の識別番号”1
′が格納されている。
構造体は主記憶110上の連続領域に格納されているた
め、構造体の識別番号と要素番号を使って、構造体の要
素を高速にアクセスすることができる。
又、従来の第2の構造体実現方式では、リロケートされ
た構造体を共有していた他の構造体の要素を変更する必
要があったから、構造体の共有が非常に多い処理では、
リロケート処理の負荷が非常に大きかった。
しかし、本発明の構造体メモリ管理装置ではブロック管
理テーブル40によって構造体識別番号と主記憶110
上の格納領域の先頭アドレスの関係を管理しているため
、ゴーベージコレクション処理時のリロケート処理にと
もないリロケートされた構造体を共有している他の構造
体の要素領域のアドレス情報の書き換え処理が不用とな
っている。
第5図は、第4図の状態の主記憶110をガーベージコ
レクシ百ン処理した状態を示す図である。
構造体“持つ(太部、X)”の第2要素50と構造体“
持つ(花子、X)”の第2要素51の内容を変更する必
要がない。この結果、構造体”かと”のりロケート処理
では、主記憶110上の”かとCDA、と、みかん、な
し)”を示す4メモリセルから成る構造体データを転送
する処理と、転送対象になった“かご”の構造体ヘッダ
部45に格納されている構造体の識別番号″1″をアド
レスとしてブロック管理テーブル40の対応する語の先
頭アドレス43を書き換える処理だけで済む。
”かと(シんご、みかん、なし)′を共有している2つ
の構造体持つ”の要素5.0.51を構造体”かと(り
んご、みかん、なし)″のすロケートによって更新する
必要はない。従来の装置では、構造体“かご(シんご、
みかん、なし)”のりロケートの際に2つの構造体”持
つ”の要素50゜51が構造体゛かご(シんご、春がん
、なし)″を指すように要素50,5]の内容を更新す
る必要があった。従来装置の問題点は、要素50.51
の内容を更新する誉き換え処理の負荷も大きいが、それ
以上に、更新すべき要素50.51を捜し出す処理の負
荷が大きいことである。
本発明では、これまでの説明で示した要素50゜51の
書き換えに伴い必要となる処理を不要にし、リロケート
処理の負荷を小さくしている。
第6図は、本発明の構造体メモリ管理装置における物理
壁間処理の一実施例を示す図である。第6図では、未使
用領域をサイズが21以下のグループ、(2’+1)以
上22以下のグループ、 (2”+ 1 )以上のグル
ープの3つに分けて、3本の未使用領域リス) 71.
72.73を構成している。
各未使用領域リス)71,72.73は第1セルへのポ
インタを保持しでいる第1セル診照レジスタ74.75
.76によシ、セル61の追加、消去が行なわれる。セ
ル61は、そのセルが管理している未使用領域の先頭ア
ドレス62.サイズ631次のセルへのポインタ64を
保拐している。
主起t8110土の使用領域70と未使用領域690分
布はどットマノプ65で処理しており、1(用枳域に対
応したビット列67の値”l”、未使用領域に対応した
ビット列66の値を”0”にすることで主記憶110上
の領域の動的割シ付けを管埋する。
又、ゴーベージコレクション処理時のりロケート処理の
時、使用中領域を捜す時にピットマッグ65を調べるこ
とでリロケート処理を篩速化できる。
第7図(、) 、 (b)は動的領域割り付は処理を行
なう時の未1史用碩域リストの動らきを示した図である
第7図(a)は割シ付は前、第7図(b)は割シ付は後
の状態である。第7図は新しく生成する444造体のサ
イズが@3″の時の処理の様子でめる。新しく生成する
構造体のサイズ″3″から未使用頭載リストの第1セル
アクセス用の第1セル参照レジスク75を選択し、未使
用領域のサイズが(2’+1)以上。
2を以下の未1吏用1直域を管理している未使用領域す
ストア2をアクセスし、第1セル82が新しく生成する
構造体を格納することが可能なことを確認し、第1セル
82が管理している主記憶110上の未使用領域84の
先頭アドレスからサイズ3″の領域87を割シ付ける。
それから、未使用領域84を管理していた未使用領域リ
ストア5の第1セル82を消去し、弗2セル90を参照
するポインタを第1セル参照レジスタ75にセットする
。未使用領域84のうち新しく生成する構造体の格納領
域に使用されず未使用のまま残された領域86を、その
サイズ“1”から、サイズが21以下の未使用・領域を
管理している未使用領域リストア4の第1セル85とし
て管理情報を格納したセルを追加する。このように、未
使用領域リストドピットマツプの2つで主記憶の使用状
況を管理することで、動的領域割シ付は時の未使用領域
を捜す処理とゴーベージコレクション処理時のリロケー
トする使用領域を捜す処理を高速化することができる。
第8図は本発明の構造体メモリ管理装置の一実施例のブ
ロック図である。
本発明の構造体メモリ管理装置は構造体の処理を行なう
プロセッサ部130と、主記憶110上の物理空間の管
理を行なうメモリ型理部131と、主記憶110から構
成されている。
プロセッサ部130は、構造体の処理を行なう主プロセ
ツサ124と、主記憶110上のデータの一部を保持し
、主プロセツサ124が高速に構造体をアクセスさせた
シ、ガーベージコレクション処理中に一時的な未使用領
域を提供するキャッジ−メモリ123から構成されてい
る。
メモリ管理部131は、主記憶110上の使用中領域と
未使用領域の情報を保持するビットマツプ・メモリ11
2、未使用領域の先かアドレスとサイズを保持するセル
で構成されたリストを保持する未使用領域リスト・メモ
IJ 121 、構造体の識別番号と主記憶110上の
格納領域の先頭アドレスの関係を保持するブロック管理
テーブル・メモリ122とゴーベージコレクション処理
時の制御を行なう制御部120を主要ユニットとして持
つ。この他に、リロケート処理時にリロケート−gれる
データを退避するデータ退避レジスタ111、構造体が
格納されている主記憶1】0上の連続領域の先頭アドレ
スと連続領域内のオフセットから物理フドレスを生成す
る演算ユニッ)113.新しく生成する構造体のサイズ
から最適な未使用領域リストを選択する未使用pffl
fflトリスト選択ユニットを構成ユニットとして持つ
データバス100は主記憶110.データ退避用レジス
タ1】1.アドレスバス102.プロセッサ部データバ
ス107間のデータ転送用である。内部アドレスバス1
01は演算ユニット113が生成した物理アドレスを主
記憶110とビットマツプ・メモリ112へ送るだめの
バスである。
アドレスバスl 02は、データバス100を介して主
記憶110.ブロック・U理テーブル・メモリ122゜
プロセッサ部アドレスバス108.未使用領域選択ユニ
ッ) 119 、 償’lJ−ユニッ) 113 、 
fl+lJ御ハス106を介して制御部120間の構造
体鐘別番号と構造体内オフセット転送用である。
オフセットバス103は、プロセッサ部130がアドレ
スバス102を介して又は、制御部120が制御バス1
06を介して、主記憶110又はビットマツプ・メモリ
112上の1つの連続領域の複数要素を連続してアクセ
スするためのオフセットアドレス送信用である。
litアドレスバス104は、ブロック・lidテーブ
ル・メモリ122の使用領域先頭アドレス格納領域11
7又は未使用領域リスト・メモ!J121の未使用領域
先願アドレス格納領域114又は、制御部120が制御
バス106を介して送ってくる連続領域の先頭アドレス
を演算ユニット113へ送るものである。
ポインタバス105は、未使用領域リスト選択ユニッ)
119上の未使用領域リストの先頭セル格納アドレスを
保持しているレジスタの内容を使って未使用領域リスト
・メモリ121をアクセスしたり、制御部120が制御
バス106を介して、レジスタの内容を変更するだめの
ものである。
制御バス106は制御部120にアドレスバス102゜
ブロック管理テーブル・メモリ1220使用領域サイズ
格納領域118.ポインタバス105.未使用領域リス
ト・メモリ121の未使用領域サイズ格納領域115.
ポインタ頭載116.先顧アドレスバス104、オフセ
ットバス103.ビットマツプ・メモリ112をアクセ
スさせるだめのバスである。
プロセッサit(データバス107il:、主プロセツ
サ124、キャッジ−メモリ123.データバス100
を介して主記憶110間のデータ転送を行なうだめのバ
スである。
プロセッサ部アドレスバス108ulEプロセッサ12
4がキャッシュメ七り123又は、アドレスバス102
ヘアクセスする構造体の―、別11〒号と要素番号を送
るだめのバスである。
通常の主1己憶110のアクセス動作は、プロセッサ部
130がプロセッサ部アドレスバス108とアドレスバ
ス102を介してブロック管理テーブル・メモリ122
ヘアクセスする+7# 蚕体の識別番号を送る。ブロッ
ク管理テーブル・メモリ122は送られて来た構造体識
別番号をラッチして、1吏用領域先頭アドレス格納領域
117からその酢別r1♀号を持つ構造体が格納されて
いる主記憶、110上の連続領域の先頭アドレスを先頭
アドレスバス104に出力する。魚jネユニ、1−11
.3は、光り↓1アI・レスバス104上の先(自アド
レスと主プロセツサ124がプロセッサA、(liアド
レスバス108.アドレスバス102を介してオフセッ
トバス103へ送信して来た構造体内オフセットを使っ
て物理アドレスを生成し、主起tは110へ送信し、プ
ロセッサ部130が主起1.φ、110をアクセスする
動的領域肌シ伺は処理は、プロセッサ部]30がプロセ
ッサ部アドレスバス108.アドレスバス102を介し
て未使用頭載リスト選択ユニット119へ新しく生成す
る構造体のサイズを送る。未使用領域リスト力〈択ユニ
、ト119は受け取ったサイズから酸適な未使用領域リ
ストを決定し、その第1セルのアドレスを未使用領域リ
スト・メモリ121へ送る。制御部120は未使用1頂
戴りストフへ択ユニット119と並行して新しく生成さ
れる119造体のサイズを受け取る。次に、制御部12
0は未使用領域リスト・メモリ121の未使用領域サイ
ズ格納領域115から、未使用領域リスト選択ユニッ)
 119によシ決定された未使用領域リストの第1セル
が持つ未使用領域のサイズを読み出し、新しく生成する
構造体のサイズと比較する。
その未使用領域が割り利は不円能な時は、制御部120
がポインタ・領域116の価を使って、未使用領域リス
ト・メモリ121をアクセスして、次のセルを調べる。
割シ付は可能な時は、f!ilJ両部]20が未使用の
構造体識別番号をブロック管理テーブル・メモリ122
へ送如1次のステップで未使用1wl域先顧フ′ドレス
格納領域114の値を使用領域先卵アドレス格納領域1
17へ書き込む処理と、制御部】20が使用領域サイズ
格納領域118に構造体のサイズを・註き込む処理が行
なわれる。最後のステップで演算ユニット113を通過
した未使用領域先頭アドレス格納領域114の値を使い
制御部120がビットマツプ用メモリ112に、−き込
み処理を行ない、ビットマツプの更新を行なう。
リロケート処理の時の動作は、制御部120が演算ユニ
ット113を介して、ビットマツプ・メモリ112ヘア
ドレスを送り、使用領域を捜す。
使用領域を発見すると使用領域の先頭アドレスを制御部
120が演算ユニット113を介して、主記憶11θへ
送り、主記憶110上の構造体ヘッダ部に格納されてい
る構造体識別番号をブロック管理テーブル・メモリ12
2へ送るのと並行して、構造体へ、ダ部をデータ退避レ
ジスタ111へ退避する。
次のステップで、制御部120はリロケート先のアドレ
スを演算ユニット113を介して主記憶110とビット
マツプ・メモリ112と使用領域先頭アドレス格納領域
117へ送シ、−使用領域先頭アドレス格納領域117
の書き換えと、主記憶110上での構造体ヘッダ部のリ
ロケートとビットマツプ・メモリ112の井き換えを行
なう。
この後、制御部120は演算ユニッ) 113を介して
主記憶110とビートマツプ・メモリ112ヘアドレス
を送シながら、構造体のデータ部のデータをデータ退避
レジスタ111へ退避して次のステッブで、データ退避
レジスタ111上のデータ全リロケート光へ書き込む処
理を繰り返し、1つの使用領域のリロケートを終了する
全ての使用領域のりロケートが終了後に、制御部120
は、未使用領域リスト選択ユニッ)119に登録されて
bる未使用領域リストを全て消去し、リロケート処理の
結果1つにまとまった未使用領域のサイズに対応する未
使用領域リストのセルを未使用領域リスト・メモリに書
き込んで、未使用領域リスト選択ユニット119に登録
する。
このリロケート処理の間、プロセッサ部130は独立し
た形で主プロセツサ124がキャッシュメモ!i23を
使用して構造体の処理を行なう。
以上のように、本発明の構造体メモリ管理方式は、動的
領域側υ付は処理を高速に処理できる特徴と、ゴーベー
ジコレクション処理時のリロケート処理で、リロケート
対象の構造体を指示しているデータが多く存在している
時に、リロケート処理に伴ってデータの指示内容を順次
変更することを不要にしたことによシリロケート処理の
負荷を小さくできる特徴と、リロケート処理中、プロセ
ッサ部がメモリシステムから切り離されて、構造体の処
理を並行して行なう特「改を持っている。
【図面の簡単な説明】
第1図は、従来の第1の構造体実現方式により構造体 持つ(太部、かご(りんご、みかん、なし))を実現し
た時の概念図、第2図は、従来の第2の構造体実現方式
によシ構蚕体 持つ(太部、かご(、!7んご、みかん、なし))を実
現した時の概念図、第3図(11、(2+は、従来の構
造木Aと構造体Cが構造体Bを共有している時のガーベ
ージコレクション処理によりメモリ領域の状態遷移を示
しだ概念図である。第4図は、本発明の構造体メモリ管
理装置における構造体実現の一例を示す概念図である。 第5図は、第4図の状態の主記憶をリロケート処理した
結果を示した概念図である。第6図は、未使用領域リス
トとビットマツプの組みによる主記憶管理の様子を示し
た概念図である。第7図(a) 、 (b)は、未使用
領域リストによる動的領域割り付けの様子を示した概念
図である。第8図は本光明の構造体メモリ管理装置の一
実施例のブロック図である。 100はデータバス、101は内部アドレスバス。 102はアドレスバス、103はオフセットバス。 104は先頭アドレスバス、105はポインタバス。 106は制御バス、107はプロセッサ部データバス。 108はプロセッサ部アドレスバスである。 110は主記憶、111はデータ退避レジスタ。 112はビットマツプ・メモリ、113は演算ユニッ)
 、114は未使用領域先頭アドレス格納領域。 115は未使用領域サイズ格納領域、】16はポインタ
領域、117は使用領域先頭アドレス格納頭載。 118は使用領域サイズ格納領域、119は未使用領域
リスト選択ユニッ) 、120は制両部、121はアド
レス・ラッチ機能を持った未使用領域リスト・メモリ、
122はアドレス・ラッチ機能を持ったブロック管理テ
ーブル・メモリ、123はキャッシュメモリ、124は
主プロセツサである。 130はプロセッサ部、131はメモリ管理部を示して
いる。 第1図 10 第2図 第3図 (1) (2) 第4図 オフ図 7I (a) (b) 78図 130

Claims (1)

  1. 【特許請求の範囲】 固定長のヘッダ部と任意長のデータ部とから成る構造体
    を貯える主記憶と、 前記主記憶上の構造体全労は処理する主プロセツサと、 前記主記憶上のデータの一部を貯え、前記主プロセツサ
    に一時的未使用領域を提供するキャッジ−メモリと、 前記主記憶上の使用中領域と未使用領域の情報を保持す
    るピットマツプ・メモリと、 前記主記憶上の未使用領域の先頭アドレス情報とサイズ
    情報を保持するセルと、前記セルがhつ未使用領域のサ
    イズの値で複数のグループに分類し、各グループごとに
    グループに属するセル全ポインタでつないだ未使用領域
    リストと、論理的に1つの連鉱領域となっている構造体
    の識別名と前記主記憶上の構造体格納領域の先頭アドレ
    ス情報とサイズ情報を格納するブロック管理テーブルと
    、前記主記憶の動的割シ付は処理とガーベージコレクシ
    ョン処理の制御を行なう制御部を備え、前記主プロセツ
    サが新しい構造体を生成する時に前記キャッジ−メモリ
    に前記構造体の領域を確保し前記主プロセツサでの処理
    を続行することと並行して、前記制御部力1゛′前記ブ
    ロック管理テーブルに前記構造体の識別番号を割シ尚で
    前記未使用領域リストラ使用して前記主記憶上に格納領
    域を確保することと、 ゴーベージコレクション処理時のりロケーション処理に
    おいて前記制御部がビットマツプ・メモIJ k使って
    前記主記憶上の使用中領域を捜し、リロケート処理を行
    なうことを特徴とする構造体メモリ管理装置。
JP58193809A 1983-10-17 1983-10-17 構造体メモリ管理装置 Pending JPS6084647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58193809A JPS6084647A (ja) 1983-10-17 1983-10-17 構造体メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58193809A JPS6084647A (ja) 1983-10-17 1983-10-17 構造体メモリ管理装置

Publications (1)

Publication Number Publication Date
JPS6084647A true JPS6084647A (ja) 1985-05-14

Family

ID=16314123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58193809A Pending JPS6084647A (ja) 1983-10-17 1983-10-17 構造体メモリ管理装置

Country Status (1)

Country Link
JP (1) JPS6084647A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023049058A (ja) * 2021-09-29 2023-04-10 新實 慧太郎 オブジェクト演算子

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023049058A (ja) * 2021-09-29 2023-04-10 新實 慧太郎 オブジェクト演算子

Similar Documents

Publication Publication Date Title
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
US4758944A (en) Method for managing virtual memory to separate active and stable memory blocks
CN105468542B (zh) 地址分配方法及装置
US5392415A (en) System for grouping non-contiguous pages belonging to a storage object for page out
CN111522507A (zh) 一种低延迟的文件系统地址空间管理方法、系统及介质
EP0439920B1 (en) System and method for memory management in a microcomputer
JPS61112255A (ja) コンピユ−タ装置
CN113590045B (zh) 数据分层式存储方法、装置及存储介质
US20190004703A1 (en) Method and computer system for managing blocks
KR101061483B1 (ko) 메모리 회로 및 메모리 회로의 엑세스 방법, 메모리 관리 시스템 및 메모리 관리방법
CN111309310A (zh) 面向非易失性内存的JavaScript对象持久化框架
CN115269450A (zh) 内存协同管理系统和方法
JP2000353115A (ja) 多用途な間接指定又は複数ボリュームを有するエクステント・ベース・ファイルシステム
JPS6084647A (ja) 構造体メモリ管理装置
CN118897650A (zh) 分配单位分区区域的存储装置及其操作方法
CN114546662A (zh) 基于日志结构的持久性内存元数据管理方法及装置
CN111552651A (zh) 一种物联网终端轻量级操作系统的混合内存管理方法
US6865584B2 (en) Method for recovering a database provided with disk back-up
Srisa-An et al. Scalable hardware-algorithm for mark-sweep garbage collection
JPH11272537A (ja) フラッシュ型メモリ及びその管理装置
JP2001022640A (ja) メモリ管理方法
JPH0237443A (ja) 電子計算機システムにおける主記憶管理方式
JPH1091527A (ja) 記憶装置および記録媒体
JPH0329041A (ja) 分散ページング制御方式
JPS6027962A (ja) 構造体メモリ管理方式