JPH02114344A - Garbage collection processor - Google Patents

Garbage collection processor

Info

Publication number
JPH02114344A
JPH02114344A JP26861788A JP26861788A JPH02114344A JP H02114344 A JPH02114344 A JP H02114344A JP 26861788 A JP26861788 A JP 26861788A JP 26861788 A JP26861788 A JP 26861788A JP H02114344 A JPH02114344 A JP H02114344A
Authority
JP
Japan
Prior art keywords
data
register
value
read
memory device
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
JP26861788A
Other languages
Japanese (ja)
Inventor
Tsutomu Maruyama
勉 丸山
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
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 filed Critical NEC Corp
Priority to JP26861788A priority Critical patent/JPH02114344A/en
Publication of JPH02114344A publication Critical patent/JPH02114344A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To speed up garbage collection processing using a cache memory device capable of simultaneously reading/writing plural words to decide whether the data of plural simultaneously read words are pointers or not. CONSTITUTION:A reading address register 01, an address decoder 07, a tag memory 08, a data memory 09, data register 05, 06, a comparator 10, a selector 23, and a part (for controlling a cache device) of a control device 30 constitute the cache memory device capable of simultaneously reading out/writing two words. The data of plural simultaneously read words are pointers or not are simultaneously judged by using the cache memory device capable of simultaneously reading our/writing plural words. Consequently, rapid garbage collection processing can be executed by adding a simple change to the cache memory device without changing a memory device or the like.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はガーベジコレクション処理装置に関するもので
ある。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a garbage collection processing device.

〔従来の技術〕[Conventional technology]

従来、Li spに代表されるガーベジコレクションを
必要とする言語において、ガーベジコレクションはソフ
トウェアまたはファームウェアによって行われてきた。
Conventionally, in languages that require garbage collection, such as Lisp, garbage collection has been performed by software or firmware.

すなわち、ソフトウェアまたはファームウェアによって
、−語ずつ記憶装置から読み出した値を比較判断するこ
とにより、ガーベジコレクションが行われてきた。
That is, garbage collection has been performed by software or firmware by comparing and determining values read out from the storage device word by word.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ガーベジコレクション処理は、あるデータ領域にあるデ
ータ構造を、他のデータ領域にコピーする処理である。
Garbage collection processing is a process of copying a data structure in one data area to another data area.

従来の方法では、データ構造を一語ずつ記憶装置または
キャッシュメモリ装置から読み出すことによって、ソフ
トウェアまたはファームウェアによって、読み出した値
が他のデータへのポインタであるかどうかを調べながら
、処理を行ってきた。
Traditionally, data structures are read word by word from a storage device or cache memory device, and software or firmware performs processing while checking whether the read value is a pointer to other data. .

本発明の目的は、複数語の同時読み出し、同時書き込み
可能なキャッシュメモリ装置を用い、また同時に読み出
した複数語のデータがポインタであるかを同時に判断す
ることにより、メモリ装置などに変更を加えることなく
、キャッシュメモリ装置に簡単な変更を加えることによ
って高速なガーベジコレクション処理機能を提供するこ
とにある。
An object of the present invention is to make changes to the memory device, etc. by using a cache memory device that can read and write multiple words at the same time, and by simultaneously determining whether the data of the multiple words read at the same time is a pointer. Instead, the object is to provide a high-speed garbage collection processing function by making simple changes to the cache memory device.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のガーベジコレクション処理装置は、複数語のデ
ータの同時読み出し、同時書き込み可能な構成を持つキ
ャッシュメモリ装置と、前記キャッシュメモリ装置のデ
ータ読み出しおよび格納番地を指定するアドレスレジス
タと、前記キャッシュメモリ装置から同時に読み出され
た複数語のデータを格納する複数のデータレジスタと、
ガーベジレジスタと、ガーベジコレクションが終了して
いないデータへのポインタを格納する領域を指すスタッ
クポインタと、ガーベジコレクション中のデータのコピ
ー先番地を保持するデスティネーションポインタと、前
記デスティネーションレジスタおよび前記スタックポイ
ンタの更新を行う加算器と、前記データレジスタの値に
よって全体の動作を制御する制御装置とから構成される
A garbage collection processing device of the present invention includes a cache memory device having a configuration that allows simultaneous reading and writing of data of multiple words, an address register that specifies data reading and storage addresses of the cache memory device, and the cache memory device a plurality of data registers that store multiple words of data read simultaneously from the
a garbage register, a stack pointer that points to an area that stores a pointer to data that has not been garbage collected, a destination pointer that holds a copy destination address of data that is being garbage collected, and the destination register and the stack pointer. and a control device that controls the overall operation based on the value of the data register.

〔作用〕[Effect]

Li spに代表されるガーベジコレクションを必要と
する言語において、ガーベジコレクションは、基本的に
はある領域中に散在するデータ構造を他の領域に詰めて
コピーする処理である。第1図に示すデータ構造のガー
ベジコレクションについて考えてみる。この例では、デ
ータ2語で一つの単位(セルと呼ぶ)を構成し、それら
がつながり合うことによって、より大きな構造を構成し
ている。このデータ構造が例えば第2図(a)に示すよ
うにある領域中に格納されていたとする。この場合ガー
ベジコレクションは、この構造を、他の領域に第2図(
b)のように詰めてコピーする処理である0本発明の装
置は、この単位となる構造(第1図においてはセル)を
−回の操作で読み出し、書き込み可能なキャッシュメモ
リ装置を用い、また同時に読み出したデータがポインタ
であるかを同時に判断することによって、メモリ装置、
言語処理装置などに変更を加えることなく、キャッシュ
メモリ装置に簡単な変更を加えることによって、高速な
ガーベジコレクション処理を行うものである。
In languages that require garbage collection, such as Lisp, garbage collection is basically a process of copying data structures scattered in one area to another area. Consider garbage collection of the data structure shown in FIG. In this example, two data words constitute one unit (called a cell), and by connecting them, a larger structure is constituted. Assume that this data structure is stored in a certain area as shown in FIG. 2(a), for example. In this case, garbage collection will transfer this structure to other areas (see Figure 2).
The apparatus of the present invention, which performs packing and copying processing as in b), reads this unit structure (cell in FIG. 1) in - times, uses a writable cache memory device, and By simultaneously determining whether the data read at the same time is a pointer, the memory device
This method performs high-speed garbage collection processing by making simple changes to the cache memory device without making any changes to the language processing device or the like.

〔実施例〕〔Example〕

以下、本発明の装置について図面を用い詳細に説明する
Hereinafter, the apparatus of the present invention will be explained in detail using the drawings.

第1図は本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

図において、01は読み出しアドレスレジスタ、02は
スタックポインタ、03はデスティネーションレジスタ
、04は加減算器、05,06はデータレジスタ、07
はアドレスデコーダ、08はタグメモリ、09はデータ
メモリ、10は比較器、2“0.21,22,23.2
4はセレクタ、30は全体の制御を行う制御装置である
。各レジスタ。
In the figure, 01 is a read address register, 02 is a stack pointer, 03 is a destination register, 04 is an adder/subtractor, 05 and 06 are data registers, and 07
is an address decoder, 08 is a tag memory, 09 is a data memory, 10 is a comparator, 2"0.21, 22, 23.2
4 is a selector, and 30 is a control device that performs overall control. each register.

各メモリへの書き込み、読み出しの制御、および各セレ
クタの制御は全て制御装置30によって行われるものと
する。読み出しアドレスレジスタ01、アドレスデコー
ダ07、タグメモリ08、データメモリ09、データレ
ジスタ05,06、比較器10、セレクタ23、制御装
置30の一部(キャッシュ装置の制御を行う部分)は、
2語同時読み出し、2語同時書き込み可能なキャッシュ
メモリ装置を構成している。
It is assumed that control of writing to and reading from each memory and control of each selector are all performed by the control device 30. The read address register 01, address decoder 07, tag memory 08, data memory 09, data registers 05 and 06, comparator 10, selector 23, and part of the control device 30 (the part that controls the cache device) are as follows:
It constitutes a cache memory device that can read two words at the same time and write two words at the same time.

まず、このキャッシュメモリ装置の動作について説明す
る。キャッシュメモリ装置からデー タの読み出しを行
う場合には、読み出しアドレスレジスタ01に値が与え
られ、制御装置30によって読み出しが指示されると、
読み出しアドレスレジスタ01の値の内の一部をアドレ
スデコーダ07を用いてデコードし、タグメモリ08お
よびデータメモリ09の読み出しを行う。
First, the operation of this cache memory device will be explained. When reading data from the cache memory device, a value is given to the read address register 01, and when read is instructed by the control device 30,
A part of the value of the read address register 01 is decoded using the address decoder 07, and the tag memory 08 and data memory 09 are read.

タグメモリ08にはデータメモリ09に格納されている
データの実際のアドレスが格納されている。この場合に
は、2語読み出し、書き込み可能な構成となっているた
め、タグメモリ08にはデータ2語分に相当するアドレ
ス、即ち2語に共通な部分のアドレスが格納されている
。従って、読み出しタグメモリ08の値と読み出しアド
レスレジスタ01の値を、比較器10を用いて比較し、
両者の値が一致していればデータメモリから読み出しな
値は正しい値であり、一致していなければ正しくない値
であるため、外部にある記憶装置からデータが読み出さ
れ、そのアドレスは、タグメモリ08に、データはデー
タメモリ09に格納される。
The tag memory 08 stores the actual address of the data stored in the data memory 09. In this case, since the configuration is such that two words can be read and written, the tag memory 08 stores an address corresponding to two words of data, that is, an address of a part common to the two words. Therefore, the value of the read tag memory 08 and the value of the read address register 01 are compared using the comparator 10,
If the two values match, the value read from the data memory is the correct value; if they do not match, the value is incorrect. Therefore, the data is read from an external storage device, and its address is the tag. In memory 08, data is stored in data memory 09.

このキャッシュ装置から一部の読み出しを行う場合には
、セレクタ23に読み出された2語のアドレスの一致し
ない部分が与えられ、2語の内どちらかが選択される。
When reading a portion of the cache device, the selector 23 is given the portion of the addresses of the two read words that do not match, and one of the two words is selected.

キャッシュ装置からデータの書き込みを行う場合には、
読み出しアドレスレジスタ01に値が与えられ、制御装
置30によって書き込みが指示され・ると、読み出しア
ドレスレジスタ01の値の内の一部をアドレスデコーダ
07を用いてデコードし、タグメモリ08の読み出しを
行う。この値と読み出しアドレスレジスタ01の値を比
較器10を用いて比較し、一致していればデータメモリ
09に格納されているデータは正しいデータであるため
、データメモリ09にデータが2語与えられ、2語同時
に書き込まれる。1語のみの書き込みを行う場合には制
御装置30により、データメモリ09に指示が与えられ
、データは2語与えられているが1語のみの書き込みが
行われる。
When writing data from the cache device,
When a value is given to the read address register 01 and writing is instructed by the control device 30, a part of the value of the read address register 01 is decoded using the address decoder 07, and the tag memory 08 is read. . This value is compared with the value of the read address register 01 using the comparator 10, and if they match, the data stored in the data memory 09 is correct data, and two words of data are given to the data memory 09. , two words are written at the same time. When writing only one word, the control device 30 gives an instruction to the data memory 09, and although two words of data are given, only one word is written.

比較の結果が一致していない場合には、読み出しの場合
と同様に外部にある記憶装置からデータが読み出され、
タグメモリ08、データメモリ09の値が更新された後
に書き込みが行われる。ただし、2語の同時書き込みを
行う場合には、外部の記憶装置から値を読み出してくる
必要はなく、タグメモリ08、データメモリ09の更新
が行われる。
If the comparison results do not match, the data is read from the external storage device in the same way as when reading.
Writing is performed after the values in the tag memory 08 and data memory 09 are updated. However, when writing two words simultaneously, there is no need to read values from an external storage device, and the tag memory 08 and data memory 09 are updated.

以上の処理において、タグメモリ08、データメモリ0
9の更新によって、データメモリ09の値が消去される
際に、そのデータが外部の記憶装置からデータメモリ0
9に読み込まれてきてから既に変更されていた場合には
、それらの値は外部の記憶装置に書き戻される。変更さ
れていない場合には、そのまま消去される。
In the above processing, tag memory 08, data memory 0
When the value of data memory 09 is erased by updating 9, the data is transferred from the external storage device to data memory 0.
9, those values are written back to the external storage device. If it has not been changed, it will be deleted as is.

第2図、第3図に示したデータ構造を例にとり、ガーベ
ジコレクション処理を行う過程を詳細に述べる。この時
、デスティネーションレジスタ03の値はn、スタック
ポインタ02の値はXになっているものとする。以下、
説明を簡単にするために、タグメモリ08から読み出さ
れた値と読み出しアドレスレジスタ01の値の比較が一
致しなかった場合の処理については述べないことにする
Taking the data structures shown in FIGS. 2 and 3 as an example, the process of performing garbage collection processing will be described in detail. At this time, it is assumed that the value of the destination register 03 is n and the value of the stack pointer 02 is X. below,
To simplify the explanation, we will not discuss the process when the value read from the tag memory 08 and the value in the read address register 01 do not match.

まず、セル1のアドレスpが読み出しアドレスレジスタ
01に与えられ、タグメモリ08、データメモリ09の
読み出しが行われる。この時には、2語同時に読み出さ
れることになるため、結局アドレスpとアドレルp+1
の値が読み出されなことになる。以下、上記のような2
つの値の組を、 (n+2.s) 上記のような2つの値を同時に読み出す操作を、 read (p)→(q、s) と書くことにする。
First, address p of cell 1 is given to read address register 01, and reading from tag memory 08 and data memory 09 is performed. At this time, two words are read at the same time, so in the end, address p and address p+1
The value of will be read. Below, 2 as above
(n+2.s) The operation of reading two values at the same time as described above will be written as read (p) → (q, s).

セル1の値は、データレジスタ05,06に読み出され
るので、データレジスタ05の値はqに、データレジス
タ06の値はSになる。この値は制御装置30に送られ
、両方の値ともポインタであることが判別される(デー
タの値によって判別ができるものとする)。
Since the value of cell 1 is read to data registers 05 and 06, the value of data register 05 becomes q, and the value of data register 06 becomes S. This value is sent to the control device 30, and it is determined that both values are pointers (this can be determined based on the data value).

その結果、(デスティネーションレジスタ03の値+2
)とデータレジスタ06の値、すなわちn+2とSとの
2つの値がデスティネーションレジスタ03で示される
アドレスnに格納される。
As a result, (value of destination register 03 + 2
) and the value of data register 06, that is, the two values n+2 and S are stored at address n indicated by destination register 03.

即ちアドレスnに値n+2が、アドレス(n+1)に値
Sが格納される。n+2は、次に処理されるデータがコ
ピーされるコピー先である。この場合には、Sを格納す
る必要性はないが以下に行われる処理との整合性をとる
ために書き込むものとする。
That is, the value n+2 is stored at address n, and the value S is stored at address (n+1). n+2 is a copy destination where data to be processed next is copied. In this case, there is no need to store S, but it is written to ensure consistency with the processing to be performed below.

書き込みを行った後、デスティネーションレジスタ03
の値に2を加える(デスティネーションレジスタ03の
値はn+2となる)、この加算は加減算器04を用いて
行われる。
After writing, destination register 03
2 is added to the value of (the value of the destination register 03 becomes n+2), and this addition is performed using the adder/subtractor 04.

以下、このような2つの値を同時に書き込む操作を、 (n+2.s)→write(n) と書くことにする。Below, the operation of writing two values at the same time is as follows: (n+2.s) → write(n) I will write it as

次に、コピーを行うセルはセル2であるためデータレジ
スタ05の値を読み出しアドレスレジスタ01に転送す
ると共に、セル4以降のコピーはまだ終了していないた
め、セル4のアドレスを記憶しなくてはならず、またそ
の転送先をささなくてはならないポインタの格納場所を
記憶しなくてはならないため(コピーが行われるまで、
どこにコピーされることになるのか判らない)、(n、
s) →write(x) ・なる書き込みを行い、スタックポインタ02の値に2
を加える(スタックポインタ02の値はX+2になる)
Next, since the cell to be copied is cell 2, the value of data register 05 is read and transferred to address register 01, and since copying from cell 4 onwards has not yet been completed, the address of cell 4 must be memorized. This is because the storage location of the pointer that must point to the transfer destination must be remembered (until the copy is made,
I don't know where it will be copied), (n,
s) →write(x) ・Writes 2 to the value of stack pointer 02.
(The value of stack pointer 02 becomes X+2)
.

次に、セル2の読み出しを行う。Next, cell 2 is read.

read(q) =(r、n1l) データレジスタ05の値rはポインタであるため、上記
の場合と同様に、デスティネーションレジスタ03の値
+2とデータレジスタ06の値がデスティネーションレ
ジスタ03の示す番地に書き込まれる。即ち、デスティ
ネーションレジスタの値が、n+2であるため、 ((n+2)+2.n1l) −ewrite((n+
2))なる書き込みが行われ、デスティネーションレジ
スタ03の値にさらに2が加えられる。これと同時に、
データレジスタ05の値が読み出しアドレスレジスタ0
1に転送される。データレジスタ06の値nilはポイ
ンタではないのため、それ以上の処理は行われない。
read (q) = (r, n1l) Since the value r of data register 05 is a pointer, as in the case above, the value of destination register 03 + 2 and the value of data register 06 are the address indicated by destination register 03. will be written to. That is, since the value of the destination register is n+2, ((n+2)+2.n1l) -ewrite((n+
2)) is written, and 2 is further added to the value of destination register 03. At the same time,
The value of data register 05 is read address register 0
Transferred to 1. Since the value nil in data register 06 is not a pointer, no further processing is performed.

次に、セル3の読み出しを行う。Next, cell 3 is read.

read(r) −) (’ a ’ 、 n1l)こ
の場合には、データレジスタ05,06の値ともポイン
タではないため、データレジスタ05゜06の値がその
ままデスティネーションレジスタ03に示す番地に書き
込まれ、 (’ a ’ 、 n1l)−ewrite((n+4
))デスティネーションレジスタ03の値に更に2が加
えられる。データレジスタ05,06の値ともポインタ
ではなかったため、次には、スタックポインタ02の値
を加減算器04を用いて2減らし、先はど格納しておい
た、まだコピーが終了していないデータの格納番地の読
み出しを行う。即ち、 read (x)−e(n、s) なる読み出しが行われる。ここで、データレジスタ06
に読み出された値Sは、更にコピーを行うべきデータの
アドレスであり、データレジスタ05に読み出された値
nは、データレジスタo6によって示されるデータのコ
ピー先をささなくてはならないポインタのある番地であ
る。そこで、データレジスタ05の値が、読み出しアド
レスレジスタ01に転送され、 (−−、(n+6))−write(n)なる書き込み
が行われる。ここで−゛はデータの書き込みが行われな
いことを示すものとする。
read(r) -) ('a', n1l) In this case, since neither the values of data registers 05 and 06 are pointers, the values of data registers 05 and 06 are written as they are to the address indicated in destination register 03. , ('a', n1l)-ewrite((n+4
)) 2 is further added to the value of destination register 03. Since neither of the values in data registers 05 and 06 are pointers, next we reduce the value of stack pointer 02 by 2 using adder/subtractor 04, and use the previously stored data that has not yet been copied. Reads the storage address. That is, reading is performed as read (x)-e(n, s). Here, data register 06
The value S read out is the address of the data to be further copied, and the value n read out to the data register 05 is the address of the pointer that must point to the copy destination of the data indicated by the data register o6. It is a certain address. Therefore, the value of the data register 05 is transferred to the read address register 01, and a write (--, (n+6))-write(n) is performed. Here, -' indicates that no data is written.

(n+6)はデスティネーションレジスタ03の値であ
る。即ち、セル1をコピーしたときには、セル4のコピ
ー先番地が判らなかったためそのまま書き込みが行われ
、本来セル4へのポインタが書き込まれるべき場所に正
しい値が書き込まれたことになる。次に、データレジス
タ06の値が読み出しアドレスレジスタ01に転送され
、セル4の読み出しが行われる。
(n+6) is the value of destination register 03. That is, when cell 1 was copied, since the copy destination address of cell 4 was not known, writing was performed as is, and the correct value was written in the location where the pointer to cell 4 should originally be written. Next, the value of data register 06 is transferred to read address register 01, and reading of cell 4 is performed.

read(a) −+ (’ b ’ 、 t)この場
合には、データレジスタ05の値“b′はポインタでは
なく、データレジスタ06の値tがポインタであるため
、 (’ b ’ 、 (n+6)+2)→((n+6))
なる書き込みが行われ、デスティネーションレジスタ0
3の値はさらに2が加えられる。同時に、ポインタであ
ったデータレジスタ06の値がアドレスレジスタ01に
送られ、セル5の読み出しが行われる。
read(a) −+ (' b ', t) In this case, the value "b' of data register 05 is not a pointer, but the value t of data register 06 is a pointer, so (' b ', (n+6 )+2)→((n+6))
A write is performed and the destination register 0 is
2 is further added to the value of 3. At the same time, the value of data register 06, which was a pointer, is sent to address register 01, and reading of cell 5 is performed.

read(t) −) (’ C’ 、 n1l)この
場合には、データレジスタ05,06の値が両方ともポ
インタではなく、またスタックポインタ02の値も処理
を始めた時と同じ値であり、更にコピーを行わなくては
ならないデータがないためガーベジコレクション処理が
終了したことが判る。
read(t) -) ('C', n1l) In this case, the values of data registers 05 and 06 are both not pointers, and the value of stack pointer 02 is also the same value as when processing started, It can be seen that the garbage collection process has ended because there is no data that needs to be further copied.

以上、本発明の一実施例について説明したが、本発明は
この実施例にのみ限定されるものではなく、データメモ
リを複数枚設けたキャッシュメモリを構成した場合、同
時に読み書きできる語数を変えた場合でも基本的実施方
法は変わらない。
Although one embodiment of the present invention has been described above, the present invention is not limited to this embodiment only, and when a cache memory is configured with a plurality of data memories, and when the number of words that can be read and written at the same time is changed. However, the basic implementation method remains the same.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、複数語の同時読み出し、同時書き込み
可能なキャッシュメモリ装置を用いて、同時に読み出し
た複数語のデータがポインタであるかを同時に判断する
ことにより、メモリ装置などに変更を加えることなく、
キャッシュメモリ装置に簡単な変更を加えることによっ
て高速なガーベジコレクション処理を実現することがで
きる。
According to the present invention, by using a cache memory device that can read and write multiple words simultaneously, it is possible to make changes to the memory device, etc. by simultaneously determining whether data of multiple words read simultaneously is a pointer. Without,
High-speed garbage collection processing can be achieved by making simple changes to the cache memory device.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例、第2図はデータ構造の一例
、第3図はガーベジコレクションの一例をそれぞれ示す
図である。 01は読み出しアドレスレジスタ、02はスタックポイ
ンタ、03はデスティネーションレジスタ、04は加減
算器、05,06・・・データレジスタ、07はアドレ
スデコーダ、08はタグメモリ、09はデータメモリ、
10は比較器、20゜21.22,23.24はセレク
タ、30・・・制御装置。
FIG. 1 shows an embodiment of the present invention, FIG. 2 shows an example of a data structure, and FIG. 3 shows an example of garbage collection. 01 is a read address register, 02 is a stack pointer, 03 is a destination register, 04 is an adder/subtractor, 05, 06... data register, 07 is an address decoder, 08 is a tag memory, 09 is a data memory,
10 is a comparator, 20°21.22, 23.24 are selectors, 30...control device.

Claims (1)

【特許請求の範囲】[Claims] ガーベジコレクション処理装置において、複数語のデー
タの同時読み出し、同時書き込み可能な構成を持つキャ
ッシュメモリ装置と、前記キャッシュメモリ装置のデー
タ読み出しおよび格納番地を指定するアドレスレジスタ
と、前記キャッシュメモリ装置から同時に読み出された
複数語のデータを格納する複数のデータレジスタと、ガ
ーベジレジスタと、ガーベジコレクションが終了してい
ないデータへのポインタを格納する領域を指すスタック
ポインタと、ガーベジコレクション中のデータのコピー
先番地を保持するデスティネーションポインタと、前記
デスティネーションレジスタおよび前記スタックポイン
タの更新を行う加算器と、前記データレジスタの値によ
って全体の動作を制御する制御装置とからなるガーベジ
コレクション処理装置。
A garbage collection processing device includes a cache memory device having a configuration capable of simultaneously reading and writing multiple words of data, an address register that specifies data read and storage addresses of the cache memory device, and a cache memory device configured to simultaneously read and write data from the cache memory device. Multiple data registers that store the data of multiple words issued, a garbage register, a stack pointer that points to an area that stores pointers to data that has not yet been garbage collected, and a copy destination address for the data that is being garbage collected. A garbage collection processing device comprising: a destination pointer that holds a destination register; an adder that updates the destination register and the stack pointer; and a control device that controls overall operation based on the value of the data register.
JP26861788A 1988-10-24 1988-10-24 Garbage collection processor Pending JPH02114344A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26861788A JPH02114344A (en) 1988-10-24 1988-10-24 Garbage collection processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26861788A JPH02114344A (en) 1988-10-24 1988-10-24 Garbage collection processor

Publications (1)

Publication Number Publication Date
JPH02114344A true JPH02114344A (en) 1990-04-26

Family

ID=17461035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26861788A Pending JPH02114344A (en) 1988-10-24 1988-10-24 Garbage collection processor

Country Status (1)

Country Link
JP (1) JPH02114344A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001044947A1 (en) * 1999-12-17 2001-06-21 Sun Microsystems, Inc. Method and apparatus for monitoring a cache for garbage collection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001044947A1 (en) * 1999-12-17 2001-06-21 Sun Microsystems, Inc. Method and apparatus for monitoring a cache for garbage collection

Similar Documents

Publication Publication Date Title
US4779191A (en) Method and apparatus for expanding the address space of computers
JPH0414385B2 (en)
US4349875A (en) Buffer storage control apparatus
US3699528A (en) Address manipulation circuitry for a digital computer
JPH01269142A (en) Buffer memory control system
JPH02114344A (en) Garbage collection processor
JP3006204B2 (en) Information processing device
JPS59116982A (en) Data transfer system of memory system
JP2716254B2 (en) List vector processing device
JP2524376B2 (en) Instruction fetch method
JP2798492B2 (en) List vector processing device
JPS62184560A (en) Input/output buffer controller
JPS59111533A (en) Digital data arithmetic circuit
JP3144979B2 (en) Program processing device and processing method
JP2547329B2 (en) Lock data setting device
JP2735400B2 (en) Asynchronous I / O control method
JPS63157255A (en) Information processor
JPH02240734A (en) Information processor
JPH03232051A (en) Semaphore access control method
JPH02116940A (en) Page shared system using indirect pointer
JPH0273438A (en) Information processor
JPS6047613B2 (en) Microprogram control method
JPH09282202A (en) Data movement management system
JPS58142437A (en) Information processor
JPS63155338A (en) Control system for record of program executing history