JPS6037931B2 - List processing method - Google Patents

List processing method

Info

Publication number
JPS6037931B2
JPS6037931B2 JP18694380A JP18694380A JPS6037931B2 JP S6037931 B2 JPS6037931 B2 JP S6037931B2 JP 18694380 A JP18694380 A JP 18694380A JP 18694380 A JP18694380 A JP 18694380A JP S6037931 B2 JPS6037931 B2 JP S6037931B2
Authority
JP
Japan
Prior art keywords
page
storage area
list
cells
control word
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
Application number
JP18694380A
Other languages
Japanese (ja)
Other versions
JPS57109177A (en
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.)
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 JP18694380A priority Critical patent/JPS6037931B2/en
Publication of JPS57109177A publication Critical patent/JPS57109177A/en
Publication of JPS6037931B2 publication Critical patent/JPS6037931B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

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)

Description

【発明の詳細な説明】 本発明は、リスト処理装置、特に2進リスト構成をもつ
データが後続データを指示する左ポィンタと同じく後続
データを指示する右ポィンタとを有するセルによって連
結されてなり、かつ入出力機構と解釈実行機構と主記憶
管理機構とを有するリスト処理装置において、主記憶管
理機構は、主記憶部と外部記憶部をもつ仮想記憶方式を
採用し記憶領域を大中に拡張してリスト構造を作成する
際の必要なセルを効率的に使用するりスト処理方式に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention provides a list processing device, in particular, data having a binary list structure is connected by a cell having a left pointer pointing to subsequent data and a right pointer also pointing to subsequent data, In a list processing device having an input/output mechanism, an interpretation/execution mechanism, and a main memory management mechanism, the main memory management mechanism adopts a virtual memory system having a main memory section and an external storage section, and expands the storage area to a large extent. The present invention relates to a list processing method that efficiently uses the necessary cells when creating a list structure.

電子計算機は数値データを処理する分野で広く利用され
ているが今後記号データを扱う分野でも普及していくこ
とが予想される。
Electronic computers are widely used in fields that process numerical data, but it is expected that they will become widespread in fields that handle symbolic data in the future.

これは人口知能と呼ばれる技術の進展に大きく寄与する
ものであることは言うまでもない。特にロボット、医学
診断、自然言語理解といった応用においては記号のまま
でデータを処理できる言語・LISPで記述されたプロ
グラムが最近急速に開発されてきた。該LISP言語は
記号、リストを処理するための機能が強力であり、記憶
城の管理をユーザが行う必要がないため非常に使い易い
がこの反面処理系を実現する上で空記憶領域(空きセル
)を抽出するガ−べッジ・コレクション等の内部処理が
非常に複雑である。本発明は、LISP言語を実行する
LISPマシンの記憶管理を効率よく行なうことを目的
としている。
Needless to say, this will greatly contribute to the advancement of the technology called artificial intelligence. Particularly in applications such as robots, medical diagnosis, and natural language understanding, programs written in LISP, a language that can process data as symbols, have recently been rapidly developed. The LISP language has powerful functions for processing symbols and lists, and it is very easy to use because the user does not need to manage memory. ) internal processing such as garbage collection is extremely complex. An object of the present invention is to efficiently manage the memory of a LISP machine that executes the LISP language.

このLISPマシンを「リスト処理装置」と呼び、該リ
スト処理装置の一般概念を説明しておく。リスト処理装
置は主記憶上に構成されるリストを処理することにより
プログラムの実行を行う。
This LISP machine will be called a "list processing device", and the general concept of the list processing device will be explained. A list processing device executes a program by processing a list configured on main memory.

リスト処理装置の構成を第1図に示す。端末1から入力
されたプログラムは処理系2によって記憶装置3内のI
Jスト領域4に示す様なりスト構成に変換されて当該リ
スト領域4に格納される。入力処理が終ると、処理系2
はリスト構造を解釈して実行を行い結果を端末に出力す
る。処理系2の機能は、図示の如く、(1)入出力機構
5と(ロ)解釈実行機構6と(m)主記憶管理機構7と
の3つに大別される。入出力機構5は、端末1から入力
されたプログラムあるいはデー外ま基づいて主記憶管理
機構7と共同し、リスト領域4に必要なりストを作り出
していく。
The configuration of the list processing device is shown in FIG. The program input from the terminal 1 is stored in the storage device 3 by the processing system 2.
It is converted into a list structure as shown in the J list area 4 and stored in the list area 4. When input processing is completed, processing system 2
interprets the list structure, executes it, and outputs the result to the terminal. As shown in the figure, the functions of the processing system 2 are roughly divided into three parts: (1) input/output mechanism 5, (b) interpretation/execution mechanism 6, and (m) main memory management mechanism 7. The input/output mechanism 5 works with the main memory management mechanism 7 to create lists in the list area 4 as necessary based on programs or data input from the terminal 1.

さらに、実行結果を端末1に出力する機能を有する。解
釈実行機構6は入出力機構5から渡されたりストに基づ
いてプログラムの実行を進めていく。主記憶管理機構7
の主要な仕事はセルの管理である。リスト処理装置にお
ける記憶域はリスト領域4として扱われ、リスト領域4
はセル8の集合である。禾使用のセルはフリー・セルと
して扱われ、フリー・セルはすべてポインタを経由して
接続されている。解釈実行機構6は、プログラムを実行
する過程においてフリー・セルをどんどん消費するが、
一度使用したセルは次のステップで使用されるセル(リ
スト)を除いてすべてゴミとなる。従ってガーベッジ・
コレクションが必要となるが、従来の主記憶管理機構7
ではフリー・セルがなくなった時点でガーベッジ処理が
起動され、ゴミの回収が行なわれていた。しかしセルの
数が大きくなると現在使用中のセルと区別してゴミを見
つけだす作業に要する時間が非常に大きくなっている。
第2図は従来行なわれてきたガーベッジ処理の態様を示
している。
Furthermore, it has a function of outputting the execution results to the terminal 1. The interpretation/execution unit 6 executes the program based on the input/output unit 5 and the list. Main memory management mechanism 7
's main job is cell management. The storage area in the list processing device is treated as list area 4, and list area 4
is a set of cells 8. Cells in use are treated as free cells, and all free cells are connected via pointers. The interpretation/execution mechanism 6 consumes free cells more and more in the process of executing the program, but
Once used, all cells become garbage except for the cells (lists) used in the next step. Therefore garbage
Collection is required, but conventional main memory management mechanism 7
When there were no more free cells, garbage processing was activated and garbage was collected. However, as the number of cells increases, the time required to distinguish the cells from cells currently in use and find the garbage becomes very large.
FIG. 2 shows an aspect of conventional garbage processing.

第2図図示の場合、主記憶管理機構7は、リスト領域4
の他に、リスト領域4の全セル8に対応するビット・マ
ップ9を持っている。ビット・マップ9はその1ビット
が1つのセルに対応し、ビットがONであれば対応する
セルが使用中であり、OFFならばセル未使用であるこ
とを示す。更に主記憶管理機構7は現在使用中であるリ
ストに対する使用リスト・ターミナル10を用意してい
る。ガーベッジ処理が起動されるとまずビット・マップ
9をクリアし、使用リスト・ターミナル10をもとに使
用中のセル8をさがし出し、対応するビット・マップ9
のビットをONにする。この様にしてすべての使用中の
セルに対するマ−キングが終るとビット・マップが完成
する。ビット・マップ9中でOFFのビットは対応する
セルが禾使用であることを示しておりガーベッジ処理の
ルーチンは未使用セルを見つけだしフリー・リストを作
成し、作業を完了する。なおマーキング方式のガーベツ
ジ処理においてはセルの中に1ビットのマーキング・ビ
ットをもつことにより実現する方式もある。この時は1
度セルを読み出しビットをセットしてセルに書込むこと
で足りるが、フリー・セルを捜す作業は第2図図示の場
合と同じである。このような、使用中のセルや不便用セ
ル(フリーセル)をもつリスト構造は記憶領域が制御部
で直薮管理される実アドレス空間内にある場合全記憶領
域を使用して形成される。
In the case shown in FIG. 2, the main memory management mechanism 7
In addition, it has a bit map 9 corresponding to all cells 8 in the list area 4. In the bit map 9, one bit corresponds to one cell, and if the bit is ON, the corresponding cell is in use, and if the bit is OFF, the cell is unused. Furthermore, the main memory management mechanism 7 prepares a usage list terminal 10 for the list currently in use. When the garbage processing is started, the bit map 9 is first cleared, the cell 8 in use is searched based on the usage list terminal 10, and the corresponding bit map 9 is cleared.
Turn on the bit. In this manner, the bit map is completed when all the cells in use have been marked. An OFF bit in bit map 9 indicates that the corresponding cell is unused, and the garbage processing routine finds unused cells, creates a free list, and completes the task. Note that there is also a marking-based garbage processing method that is realized by having one marking bit in each cell. At this time it is 1
It is sufficient to read the cell once, set the bit, and write to the cell, but the task of searching for a free cell is the same as in the case shown in FIG. Such a list structure having cells in use and cells for inconvenience (free cells) is formed using the entire storage area if the storage area is within the real address space that is directly managed by the control unit.

しかし、扱う情報が増大するにつれて、主記憶領域だけ
では、処理しきれなくなるため実記憶領域と仮想記憶領
域を使用した仮想記憶方式を採用する必要がでてくる。
However, as the amount of information handled increases, the main storage area alone cannot handle the processing, so it becomes necessary to adopt a virtual storage system that uses a real storage area and a virtual storage area.

本発明は、仮想記憶方式を用いた処理システムにおいて
リスト処理を行う場合、記憶領域を一定のブロック(以
下ページと称す)単位で管理するときの効率的なりスト
処理方式を提供することを目的とする。上記目的を達成
するために、本発明は記憶領域の記憶単位であるセルを
ポィンタで連結したりスト構造を形成し、情報処理を行
なうリスト処理方式において、ページ単位で制御する仮
想記憶方式を用い、フリーセルを有するページが実記憶
領域に収容されているか否かを示す状報を設け、該情報
により前記実記憶領域にあるページ内のフリーセルから
優先して使うことを特徴とする。
An object of the present invention is to provide an efficient list processing method for managing storage areas in units of fixed blocks (hereinafter referred to as pages) when performing list processing in a processing system using a virtual storage method. do. In order to achieve the above object, the present invention utilizes a virtual memory method that controls page units in a list processing method that processes information by connecting cells, which are storage units of a storage area, with pointers and forming a list structure. , a status information indicating whether or not a page having free cells is accommodated in the real storage area is provided, and based on this information, free cells in the page in the real storage area are used preferentially.

以下、本発明を実施例によって詳細に説明する。Hereinafter, the present invention will be explained in detail with reference to Examples.

第3図は、本発明に用いる仮想記憶方式の説明図である
FIG. 3 is an explanatory diagram of the virtual storage system used in the present invention.

図において、RMは実話億領域であり金物的には主記憶
域、VMは仮想記憶領域であり、例えば、外部補助記憶
装置である。41〜50‘ま記憶領域の各ページを示し
各ページはアドレス0〜YYYまでの論理アドレスをも
ち実記憶領域RMにあるべ−ジには実アドレスが付けら
れる。
In the figure, RM is a real storage area, which is a main storage area in terms of hardware, and VM is a virtual storage area, such as an external auxiliary storage device. 41 to 50' indicate each page of the storage area, and each page has a logical address from address 0 to YYY, and a real address is attached to the page in the real storage area RM.

この仮想記憶方式は公知のものであり、論理アドレス実
アドレス変換はページメモリPMをページ数分設け、各
ページメモリ51は主記憶域にあるか否かのフラグ62
と、ページが主記憶域にある場合の実アドレス53から
成る。このべ−ジメモリPMにより各ページを管理する
ことにより、図に示すように仮想記憶領域VMの処理に
必要なべージが実記憶領域PMに読み出される。第4図
は仮想記憶方式を用いたIJスト処理方式のフリーセル
リストの一例を概念的に示す。54,57は美〆モリ上
にあるページであり、55,56は外部メモリ上にある
ページである。
This virtual storage method is a well-known one, and for logical address real address conversion, page memories PM are provided for the number of pages, and each page memory 51 has a flag 62 indicating whether it is in the main storage area or not.
and the real address 53 if the page is in main storage. By managing each page using this page memory PM, pages necessary for processing the virtual storage area VM are read out to the real storage area PM as shown in the figure. FIG. 4 conceptually shows an example of a free cell list of the IJ strike processing method using the virtual memory method. 54 and 57 are pages on the memory, and 55 and 56 are pages on the external memory.

先に説明したように処理システムがフリーセルを必要と
するときにフリーリストを形成したりストからセルを使
用していくが、主記憶域だけでリスト形成される場合と
異なり、実記憶領域RMと仮想記憶領域VM全体で、フ
リーリストが形成されるため、ページ内のフリーリスト
形成とべ‐ジ間のフリーリスト形成(接続)が必要とな
る。このフリーリスト形成を通常のメモリブロックのリ
ンケージの如く接続していくと、リスト処理中において
、各ページのリンク(ポィンタ)あるいは各セルのりン
ク(ポィンタ)を索引して初めて次のページあるいはセ
ルが実記憶領域にあるか仮想記憶領域にあるかを判別す
ることになる。処理システムのフリーセル要求にもとづ
いてフリーセルを手操る時、フリーセルを収容したペー
ジが実記憶領域にあれば問題ないが、仮想記憶領域にあ
る場合、該当のページをまず実記憶領域に読み上げてく
るページ制御処理が必用となる。このページ制御は仮想
記憶領域が外部記憶領域(例えば磁気ディスク等)であ
るため通常ミリ秒単位の時間を要する。従って実記憶領
域(この内部処理時間はナノ秒の単位である)と仮想記
憶領域間のページの読み出し回数が多くなるほどリスト
処理の効率が悪くなり、延ては実時間性の厳しい情報処
理の中断が長くなるという欠点がある。本発明は、この
欠点を解決し、仮想記憶方式を用いたりスト処理の効率
化を図ったものである。
As explained earlier, when the processing system requires free cells, it forms a free list and uses cells from the list, but unlike the case where the list is formed only in the main storage area, the real storage area RM Since a free list is formed in the entire virtual storage area VM, it is necessary to form a free list within a page and to form a free list (connection) between pages. If this free list formation is connected like normal memory block linkage, during list processing, the next page or cell will only be accessed after the link (pointer) of each page or the link (pointer) of each cell is indexed. It is determined whether it is in the real storage area or the virtual storage area. When manipulating FreeCell based on the processing system's FreeCell request, there is no problem if the page that accommodates FreeCell is in the real storage area, but if it is in the virtual storage area, the page must first be read out to the real storage area. The following page control processing is required. This page control normally requires time on the order of milliseconds because the virtual storage area is an external storage area (for example, a magnetic disk). Therefore, the more pages are read between the real storage area (the internal processing time is in nanoseconds) and the virtual storage area, the lower the efficiency of list processing becomes, leading to interruptions in information processing that requires real-time processing. The disadvantage is that it becomes long. The present invention solves this drawback by using a virtual storage method and improving the efficiency of storage processing.

第5図は本発明の方式に係るページ制御語である。CW
はページ制御器である。このCWはページ数分あり第4
図の仮想記憶領域VMの論理ページアドレス順に配列し
各ページ制御語61は目ページ内にフリーセルの有無を
示すフリーセル表示63と、自ページが実記憶領域にあ
るか否かを示す領域フラグ62と次ページ制御語のアド
レスを示すポィンタ64から構成される。第6図は第5
図のページ制御語の使用状態を概念的に示したものであ
り、各ページ内にフリーセルがあるものはフリーセル表
示63に表示されており(例えば“1”)、それらのペ
ージ制御語をポィンタ64でリンクする。
FIG. 5 shows a page control word according to the method of the present invention. C.W.
is a page control. This CW has several pages and is part 4.
Arranged in the order of logical page addresses of the virtual storage area VM shown in the figure, each page control word 61 has a free cell display 63 indicating the presence or absence of a free cell in the second page, and an area flag indicating whether or not the own page is in the real storage area. 62 and a pointer 64 indicating the address of the next page control word. Figure 6 is the 5th
This diagram conceptually shows the usage status of the page control words in the figure. Free cells in each page are displayed in the free cell display 63 (for example, "1"), and those page control words are displayed in the free cell display 63. Link with pointer 64.

このフリーセルをもつページ制御語の先頭と後端をへッ
トポィンタHP70、テイルポィンタTP71にリンク
することによりフリーセルを有するページ制御語群を形
成する。同様に使用中のセルあるいは、リストを形成し
ないセル(ゴミセル)から成るページについては、その
ページ制御語のフリーセル表示63が表示されておらず
(例えば“0”)それらのページ制御語を各々ポィンタ
64でリンクし先頭と後端をヘッドポインタHP72、
テイルポインタTP73にリンクすることにより、フリ
ーセルをもたないページ制御語群を形成する。第7図は
第6図に示した1つのページ制御語に対応するページを
概略的に示したもので、80はページ、81は自ページ
内フリ−セルのヘッドポインタ、83はフリーセルリス
トである。
A page control word group having free cells is formed by linking the leading and trailing ends of the page control word having free cells to a head pointer HP70 and a tail pointer TP71. Similarly, for pages consisting of cells that are in use or cells that do not form a list (garbage cells), the free cell display 63 of the page control word is not displayed (for example, "0"), and those page control words are Link with pointer 64, head pointer HP72,
By linking to tail pointer TP73, a page control word group without free cells is formed. FIG. 7 schematically shows a page corresponding to one page control word shown in FIG. 6, where 80 is a page, 81 is a head pointer of free cells within the own page, and 83 is a free cell list. be.

第7図に示したセルの構成で第7図のようにページを制
御すると、処理システムが空セルを必要とした時、フリ
ーセルをリスト状にリンクしたページをヘッドポィンタ
HP70から索引し、まずページ該制御語CWの領域フ
ラグ62を読み出し実記憶領域RM上にあるか否かを判
定し、実記憶領域にあるページあら処理を進める。
When a page is controlled as shown in FIG. 7 with the cell configuration shown in FIG. 7, when the processing system needs an empty cell, it indexes the page linking the free cells in a list form from the head pointer HP 70 and first pages the page. The area flag 62 of the control word CW is read and it is determined whether or not it is on the real storage area RM, and processing for pages in the real storage area is proceeded.

第8図は本発明のリスト処理方式を実現する具体的なブ
ロック構成図である。
FIG. 8 is a concrete block diagram for realizing the list processing method of the present invention.

図において、90はアドレスレジスタ、91はアドレス
デコーダ部92はページ制御語61の領域フラグ62を
抽出するレジスタ、94はボィンタ(次ページ制御語を
示す)を抽出するレジスタ95は読出しレジスタ、96
はページ制御語の終端アドレスを示すテイルポインタ7
1(あるいは73)としジスタ94の内容を比較する比
較回路、97はページ入れ替えの制御部、10川ま実記
憶領域に空セルがあるページを検出した時そのポインタ
内容を読み出す読出し線、ADは仮想記憶方式における
アドレスの構成を示し、98はページアドレスでありポ
ィンタ61に入る値であり、99はページ内アドレスに
相当する。つまりアドレスADはページアドレスでペー
ジを指定し、ページ内アドレスで1メモリ領域を指定す
る。第8図において、フリーセルの険素を行う例で説明
する。
In the figure, 90 is an address register, 91 is an address decoder section 92, a register for extracting the area flag 62 of the page control word 61, 94 is a register for extracting a pointer (indicating the next page control word), 95 is a read register, and 96 is a register for extracting the area flag 62 of the page control word 61.
is the tail pointer 7 indicating the end address of the page control word.
1 (or 73) and compares the contents of register 94, 97 is a page replacement control unit, 10 is a readout line that reads out the contents of the pointer when a page with an empty cell is detected in the storage area, and AD is The configuration of addresses in the virtual storage system is shown, where 98 is a page address and is a value entered in the pointer 61, and 99 corresponds to an intra-page address. In other words, the address AD specifies a page using a page address, and specifies one memory area using an intra-page address. In FIG. 8, an example will be explained in which a free cell operation is performed.

まずフリーセルのあるヘッドポィンタ70の内容をアド
レスレジスタ90にセットし、アドレスデコーダ部91
で指定されたページ制御語をレジスタ92,94に読み
出す。読み出されたページ制御語の領域フラグ62,9
2が“0”であれば実記憶領域広Mにそのページはない
と判断されゲートG.が開きポィンタの内容94をアド
レスレジスタ9川こセットし次のページ制御語を読み出
す。領域フラグが“1”であればゲート○2が開きアド
レスレジスタ90の内容を読み出しレジスタ95にセッ
トされ、論出し線100を介して図示しない制御部で指
されたページ内のフリーセルを捕促する。フリーセルを
有するページが実記憶領域にない時は、ティルポィンタ
と最後のページ制御語のポィンタ95を比較回路96で
比較され一致した時、ページ入れ替え制御部でページを
仮想記憶領域から実記憶領域へ読み上げる。そして、そ
の実記憶領域へ読み上げたページに対応する制御語61
の領域フラグ62を“1”とする。一方、実記憶から仮
想記憶領域へ迫出されたページに対応する制御語61の
領域フラグ62を“0”とする。上記説明ではリスト化
されたフリーセルを取り出す際について説明したが、使
用中のセルも同様である。
First, the contents of the head pointer 70 with the free cell are set in the address register 90, and the address decoder section 91
The page control word specified by is read into the registers 92 and 94. Area flags 62, 9 of read page control word
If G.2 is "0", it is determined that the page does not exist in the real storage area wide M, and gate G.2 is "0". opens, sets the contents of the pointer 94 to the address register 9, and reads out the next page control word. If the area flag is "1", gate ○2 opens, reads out the contents of the address register 90, sets it in the register 95, and captures a free cell in the page pointed to by a control unit (not shown) via the logical line 100. do. When a page with free cells is not in the real storage area, the till pointer and the pointer 95 of the last page control word are compared in the comparison circuit 96, and when they match, the page replacement control unit moves the page from the virtual storage area to the real storage area. Read aloud. Then, the control word 61 corresponding to the page read out to the real storage area
The area flag 62 of is set to "1". On the other hand, the area flag 62 of the control word 61 corresponding to the page pushed out from the real storage to the virtual storage area is set to "0". In the above explanation, the case of taking out the listed free cells has been explained, but the same applies to the cells in use.

次にページ制御語の入れ替えについて第9図を用いて説
明する。フリーセルを取り出す際へツドポィンタHP−
より打風こページ制御語P,〜P2を索引し実記憶領域
にあるページからフリーセルを抽出する。
Next, the replacement of page control words will be explained using FIG. 9. Pointer HP when taking out free cells
Then, the page control words P, .about.P2 are indexed and free cells are extracted from the page in the real storage area.

この時各ページ制御語の領域フラグを上で説明したよう
に、チェックし、実記憶領域上になければ該当べ−ジ制
御語をティルボインタで示される終端のページ制御語の
後にリンケージする。第9図はべ−ジ制御語P,は実記
憶領域上にない場合を示したもので、破線で示すように
ポィン夕を組替える様子を示してある。またフリーセル
を順次瓶促して処理システムが使用していき、ページ内
のフリーセルがなくなれば該当ページ制御語をフリーセ
ルのあるページ制御群から取りはずし、該制御語のフリ
−セル表示フラグを“0”とすると共に、フリーセルの
ないページ制御群のティルポィン夕(第6図の“73”
で示す)終端にリンクする。
At this time, the area flag of each page control word is checked as explained above, and if it is not on the real storage area, the corresponding page control word is linked after the last page control word indicated by the til point. FIG. 9 shows a case where the page control word P is not in the real storage area, and shows how pointers are rearranged as shown by broken lines. In addition, the processing system uses the free cells sequentially, and when there are no more free cells in the page, the corresponding page control word is removed from the page control group containing the free cell, and the free cell display flag of the control word is set to "0" and the till point of the page control group without free cells ("73" in Figure 6).
(denoted by ).

一方セルの使用につれて、フリーセルのあるページ制御
語群が減少し、フリーセルのないべ−ジ制御語群が増加
してくるが、これは、例えば定期的にガーベジコレクタ
処理を行ない、フリーセルのないページ制御語群の先頭
のページ制御語に対応したページ内から不便用セル(ゴ
ミセル)を回収し、再度フリーセルのリストを作りこれ
のページ制御語をフリーリストのあるページ制御語群の
終端に接続する。
On the other hand, as cells are used, the number of page control words with free cells decreases, and the number of page control words without free cells increases. Collect inconvenient cells (garbage cells) from within the page corresponding to the first page control word of the page control word group without , create a list of free cells again, and add this page control word to the page control word group with the free list. Connect to the end.

そして、該ページ制御語のフリーセル表示7ラグを“1
”にセットする。ページ制御語の領域フラグと仮想記憶
方式との関係においては、実記憶領域にページを読み出
す時にページ制御語でページメモリを書き換える。
Then, set the free cell display 7 lag of the page control word to “1”.
In the relationship between the area flag of the page control word and the virtual storage method, when reading a page to the real storage area, the page memory is rewritten with the page control word.

即ち論理アドレスにより実アドレスへの変換が出きるよ
うに該当ページの実記憶領域表示と、実アドレスを第3
図に示したページメモリの書き換えで管理されるため、
それとともにページ制御語の領域フラグを書き換えるこ
とによりリスト処理においてもページ管理が可能となる
。また、リスト処理において実記憶領域にあるページで
且つフリーセルを有するページ制御語群内のページで実
記憶領域にあるページ数をレジスタ等にカウントし、該
カウント数がある一定数以下になればページの入れ替え
をすれば、常に実記憶領域上にあるフリーセルの有るペ
ージを一定量確保することができる。
In other words, the real storage area of the relevant page is displayed and the real address is displayed as a third page so that the logical address can be converted to a real address.
Since it is managed by rewriting the page memory shown in the figure,
At the same time, by rewriting the area flag of the page control word, page management becomes possible even in list processing. In addition, in list processing, the number of pages in the real storage area that are in the real storage area and are in the page control word group that have free cells is counted in a register, etc., and if the count becomes less than a certain number, By replacing pages, it is possible to always secure a certain amount of pages with free cells in the real storage area.

以上説明したように、本発明のリスト処理方式によれば
、仮想記憶方式のシステムにおいて、新しいセルを必要
とする時は、フリーセルの存在するページ制御語群を実
記憶領域にあるものから使用でき、ページの入れ替え(
通常Pa袋Faのtと呼ぶ)を最少とすることができ、
処理時間を少なくできるとともに、処理システムの処理
能力を向上できる。
As explained above, according to the list processing method of the present invention, when a new cell is required in a virtual storage system, a page control word group in which free cells exist is used from those in the real storage area. You can swap pages (
(Usually called t of Pa bag Fa) can be minimized,
Processing time can be reduced and the processing capacity of the processing system can be improved.

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

第1図はリスト処理装置の概念を説明する説明図、第2
図はガーベツジ処理を説明する説明図、第3図は、本発
明を適用する仮想記憶方式の説明図、第4図は仮想記憶
方式を用いたりスト処理方式の一例を概念的に示す説明
図、第5図は本発明のリスト処理方式に係るページ制御
語の構成図、第6図は第5図のページ制御語の使用状態
を概念的に示した説明図、第7図は1つのページ制御語
に対応するページを概略的に示す説明図、第8図は本発
明のリスト処理方式を実現する具体的なブロック構成図
、第9図はページ制御語の制御例を示す説明図である。 PM:実記憶領域、VM:仮想記憶領域、PM:ページ
メモリ、CW:ページ制御語、HP:ヘッドポインタ、
TP:テイルポインタ、9 0:アドレスレジスタ、9
2,94:レジスタ、95:議出しレジスタ、96:比
較回路、G,,○2:ゲート。第1図 第2図 第4図 第5図 第6図 第7図 第3図 第8図 第9図
Figure 1 is an explanatory diagram explaining the concept of the list processing device, Figure 2
FIG. 3 is an explanatory diagram illustrating garbage processing, FIG. 3 is an explanatory diagram of a virtual storage method to which the present invention is applied, and FIG. 4 is an explanatory diagram conceptually showing an example of a strike processing method using the virtual storage method. FIG. 5 is a configuration diagram of a page control word according to the list processing method of the present invention, FIG. 6 is an explanatory diagram conceptually showing the state of use of the page control word in FIG. 5, and FIG. 7 is a diagram of one page control word. FIG. 8 is a concrete block configuration diagram for realizing the list processing method of the present invention, and FIG. 9 is an explanatory diagram showing an example of controlling a page control word. PM: Real storage area, VM: Virtual storage area, PM: Page memory, CW: Page control word, HP: Head pointer,
TP: Tail pointer, 9 0: Address register, 9
2, 94: Register, 95: Issue register, 96: Comparison circuit, G,, ○2: Gate. Figure 1 Figure 2 Figure 4 Figure 5 Figure 6 Figure 7 Figure 3 Figure 8 Figure 9

Claims (1)

【特許請求の範囲】[Claims] 1 記憶領域の記憶単位であるセルをポインタで連結し
たリスト構造を形成し、情報処理を行なうリスト処理方
式においてページ単位で仮想記憶方式を用いる場合に、
フリーセルを有するページが実記憶領域に収容されてい
るか否かを示す情報を設け、該情報により前記実記憶領
域にあるページ内のフリーセルから優先して使うことを
特徴とするリスト処理方式。
1. When using a virtual memory method on a page basis in a list processing method that processes information by forming a list structure in which cells, which are storage units of a storage area, are connected using pointers,
A list processing method characterized in that information indicating whether or not a page having free cells is accommodated in a real storage area is provided, and based on the information, free cells in pages in the real storage area are used preferentially.
JP18694380A 1980-12-26 1980-12-26 List processing method Expired JPS6037931B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18694380A JPS6037931B2 (en) 1980-12-26 1980-12-26 List processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18694380A JPS6037931B2 (en) 1980-12-26 1980-12-26 List processing method

Publications (2)

Publication Number Publication Date
JPS57109177A JPS57109177A (en) 1982-07-07
JPS6037931B2 true JPS6037931B2 (en) 1985-08-29

Family

ID=16197430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18694380A Expired JPS6037931B2 (en) 1980-12-26 1980-12-26 List processing method

Country Status (1)

Country Link
JP (1) JPS6037931B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60189015A (en) * 1984-03-07 1985-09-26 Toshiba Corp Process monitor device
EP0417293B1 (en) * 1988-12-14 1998-08-12 Sony Corporation Data management system
JPH0723577A (en) * 1993-01-27 1995-01-24 Nec Corp Motor control circuit

Also Published As

Publication number Publication date
JPS57109177A (en) 1982-07-07

Similar Documents

Publication Publication Date Title
US4853842A (en) Computer memory system having persistent objects
CN104364775B (en) Private memory access path with field offset addressing
JPS61112255A (en) Computer system
JPS61112257A (en) Computer memory system
US4975872A (en) Dual port memory device with tag bit marking
JP4763598B2 (en) Processor and device
JPH06105435B2 (en) Storage management mechanism by information processing device
JPS6037931B2 (en) List processing method
CN110471626A (en) Nor Flash management level and method applied to Java Card
JP3147862B2 (en) Trace collection method for multiple online control programs
JP2668058B2 (en) Inter-process communication control method
JPH03132839A (en) Data processor
JP2721377B2 (en) BASIC program compression method
JPH0273438A (en) Information processor
JPS6214244A (en) Virtual storage control system
JPH0363822A (en) Computer control system
JPS589452B2 (en) Firmware broom
JPS63208126A (en) List processor
JPS6272061A (en) Dictionary control system in document preparing processing
JPH01196639A (en) Information processor
JPH0427575B2 (en)
JPS61280167A (en) Picture memory controlling device
JPS63173144A (en) Control system for actual time garbage collection
JPS63113747A (en) Virtual memory managing device
JPH01300352A (en) Dump area instruction control system