JPH02263233A - Data control system - Google Patents
Data control systemInfo
- Publication number
- JPH02263233A JPH02263233A JP1059390A JP5939089A JPH02263233A JP H02263233 A JPH02263233 A JP H02263233A JP 1059390 A JP1059390 A JP 1059390A JP 5939089 A JP5939089 A JP 5939089A JP H02263233 A JPH02263233 A JP H02263233A
- Authority
- JP
- Japan
- Prior art keywords
- storage space
- pointer
- real
- space
- node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Devices For Executing Special Programs (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
A 産業上の利用分野
本発明は、コンピュータの主記憶のデータ管理方式に関
し、特に、人工知能、数式処理、自然言語処理等の記号
処理分野で基本的かつ不可欠なリスト構造データの仮想
化を効率良く実現するものである。[Detailed Description of the Invention] A. Industrial Application Field The present invention relates to a data management method for the main memory of a computer, and in particular, to a basic and essential list in the field of symbol processing such as artificial intelligence, mathematical formula processing, and natural language processing. This effectively realizes the virtualization of structural data.
B 発明の概要
本発明は、コンピュータによりデータを管理するにあた
り、実記憶空間ではその実記憶空間内のアドレスにてポ
インタを表し、仮想記憶空間ではその仮想記憶空間内の
アドレスと上記実記憶空間へのアドレスにてポインタを
表し、上記実記憶空間上のノードから仮想記憶空間上の
ノードを間接参照するようにして、ノード間がポインタ
でリンクされた構造のデータを実記憶空間と仮想記憶空
間とに亘って表現し、上記ノード間がポインタでリンク
された構造のデータをそのリンク情報を用いたリスト構
造単位で実記憶空間と仮想記憶空間との間で移動させる
ことにより、人工知能、数式処理、自然言語処理等の記
号処理分野で基本的がつ不可欠なリスト構造データの仮
想記憶化を効率良く実現したものである。B. Summary of the Invention The present invention, when managing data by a computer, represents a pointer in a real storage space by an address in the real storage space, and in a virtual storage space, a pointer is represented by an address in the virtual storage space and a pointer to the real storage space. By representing a pointer with an address and indirectly referencing the node in the virtual storage space from the node in the real storage space, data in a structure in which nodes are linked by pointers is transferred to the real storage space and the virtual storage space. By moving the data in the structure where the nodes are linked by pointers between the real storage space and the virtual storage space in a list structure unit using the link information, artificial intelligence, mathematical formula processing, This system efficiently realizes virtual storage of list-structured data, which is fundamental and essential in the field of symbol processing such as natural language processing.
C従来の技術
一般に、コンピュータによる人工知能、数式処理、自然
言語処理等の記号処理分野では、リスト構造のデータを
メモリ上で管理しながら、目的の記号処理を行うように
している。C. Prior Art Generally, in the field of symbol processing such as artificial intelligence, mathematical formula processing, and natural language processing using computers, target symbol processing is performed while list-structured data is managed in memory.
従来より、上記リスト構造のデータとしては、ノード間
がポインタでリンクされている構造を持った所謂poi
nter−1inked dataが広く知られている
。上記pointer−1inked dataにおい
て、ポインタは、多くの場合一方向にだけ持ち、また、
ノードは、(lhのノードへのポインタと自身のデータ
を持ち、そのポインタ数が二つの所謂2分木(bina
ry tree)構造が多い。Conventionally, the list-structured data mentioned above has a structure in which nodes are linked by pointers, so-called poi.
inter-1 inked data is widely known. In the above pointer-1 inked data, the pointer often has only one direction, and
A node has a pointer to the node of (lh) and its own data, and the number of pointers is two, so-called
ry tree) structure.
例えば、リスト構造のデータを扱う代表的な言語として
知られているリスプ(LISP)言語では、第13図に
リスト構造のデータ例を示しであるように、中間ノード
(Nlo)、(Nlt)、(N+4)、(Nl5)、(
Nl?)。For example, in the LISP language, which is known as a typical language that handles list-structured data, intermediate nodes (Nlo), (Nlt), (N+4), (Nl5), (
Nl? ).
(Nzo) 、(Nzg) 、(Nl4) 、 (N1
6)がポインタを二つ持ち、端末に位置するノード(N
++)、(N++)、(Nli)、(Nls)。(Nzo) , (Nzg) , (Nl4) , (N1
6) has two pointers and the node (N
++), (N++), (Nli), (Nls).
(N+*)、 (Nr+)、 (Nzs)、 (Nzg
) 、 (Nzt) 、 (Nt、)に具体的データを
持ち、上記端末の構成状態が情報を持っている。(N+*), (Nr+), (Nzs), (Nzg
), (Nzt), and (Nt,) have specific data, and the configuration state of the terminal has information.
また、上述のようなリスト構造のデータをメモリ上で扱
う場合は、例えば第14図に示すように、番地付けられ
たメモリ上の記憶空間(M)にノード(Nl。)、(N
11)、(Nlり、(Nls)・・・・・を表現し、そ
の記憶空間(M)のアドレスにてポインタを表現するよ
うにして、コンピュータにて上記データを管理するよう
にしている。In addition, when handling list-structured data as described above in memory, for example, as shown in FIG. 14, nodes (Nl.), (N
11), (Nl, (Nls), etc.) are expressed, and a pointer is expressed by the address of the storage space (M), so that the above data is managed by the computer.
ところで、上記記号処理分野で扱われている上記リスト
構造のデータは、切れたり繋がったり、伸びたり縮んだ
りして、そのデータ構造として与えられる情報が自在に
変化する動的構造を有し、試行1!誤的な振る舞いをす
る。By the way, the above-mentioned list-structured data handled in the field of symbol processing has a dynamic structure in which the information given as the data structure changes freely by cutting and connecting, expanding and contracting. 1! behave incorrectly.
また、このようなリスト構造のデータをコンピュータに
てメモリ上で管理する場合、そのデータ構造がメモリ上
に分散され、メモリ上に新たなノードが無くなってしま
ったり、使用済で不要なノードができるので、不要なノ
ードを回収して新しいノードとして再使用するガーベジ
コレクションCGC:Garbage (:oflec
tion)が行われる。In addition, when managing such list-structured data in memory on a computer, the data structure is distributed on memory, and there may be no new nodes in memory, or there may be used and unnecessary nodes. Therefore, garbage collection CGC: Garbage (:oflec
tion) is performed.
さらに、ガーベジコレクションを行っても実記憶空間が
足りないときには、記憶空間(M)を仮想化により拡張
するようにして、例えば第15図や第16図に示すよう
に、記憶空間をページ単位で管理して実記憶空間(RM
)と仮想記憶空間(IM)との間でページ単位でのデー
タ転送(swapping)が行われている。Furthermore, when the real storage space is insufficient even after garbage collection is performed, the storage space (M) is expanded by virtualization, and the storage space is expanded in page units, as shown in Figures 15 and 16, for example. Manage real memory space (RM)
) and the virtual memory space (IM), data transfer (swapping) is performed in page units.
D 発明が解決しようとする課題
ところで、現在のコンピュータアーキテクチャは、静的
構造を有する局所的なデータを処理するようにデザイン
されており、上記記号処理分野で扱われているような上
記リスト構造のデータの処理には適さず、例えば処理対
象が動的に分散されているガーベジコレクションを実行
するのに非常に長い時間を要する。また、従来、データ
の局所性を前提として記憶空間をページ単位で管理する
ようにして記憶空間を仮想化しており、上記ページは記
憶空間上の固定領域であるが、上記リスト構造のデータ
は動的に変化していくので、その構造は複数のページ間
に複雑に入り組んでしまい、ページフォルトが頻繁に発
生し効率が悪い。特に、仮想化した記憶空間に対してガ
ーベジコレクシジンを実行した場合には、実記憶空間と
仮想記憶空間との間でページ単位でのデータ転送を行う
ために、実行効率が著しく低下する。D. Problem to be Solved by the Invention By the way, current computer architectures are designed to process local data with static structure, and the above-mentioned list structure, which is handled in the field of symbol processing, is It is not suitable for processing data; for example, it takes a very long time to perform garbage collection when processing objects are dynamically distributed. Furthermore, conventionally, storage space has been virtualized by managing the storage space in page units based on data locality, and while the above page is a fixed area in the storage space, the above list-structured data is dynamic. As the information changes over time, the structure becomes complicated between multiple pages, resulting in frequent page faults and inefficiency. In particular, when garbage collection is executed on a virtualized storage space, execution efficiency is significantly reduced because data is transferred between the real storage space and the virtual storage space in page units.
そこで、本発明は、上述の如き従来の実情に鑑み、人工
知能、数式処理、自然言語処理等の記号処理分野で基本
的かつ不可欠なリスト構造データの仮想記憶化を効率良
く実現することを目的とする。Therefore, in view of the above-mentioned conventional situation, the present invention aims to efficiently realize virtual storage of list-structured data, which is basic and essential in the field of symbol processing such as artificial intelligence, mathematical formula processing, and natural language processing. shall be.
E 課題を解決するための手段
本発明に係るデータ管理方式は、上述の目的を達成する
ために、実記憶空間ではその実記憶空間内のアドレスに
てポインタを表し、仮想記憶空間ではその仮想記憶空間
内のアドレスと上記実記憶空間へのアドレスにてポイン
タを表し、上記実記憶空間上のノードから仮想記憶空間
上のノードを間接参照するようにして、ノード間がポイ
ンタでリンクされた構造のデータを実記憶空間と仮想記
憶空間とに亘って表現し、上記ノード間がポインタでリ
ンクされた構造のデータをそのリンク情報を用いたリス
ト構造単位で実記憶空間と仮想記憶空間との間で移動さ
せることを特徴とする。E. Means for Solving the Problems In order to achieve the above-mentioned purpose, the data management system according to the present invention represents a pointer in a real storage space by an address in the real storage space, and represents a pointer in a virtual storage space by an address in the virtual storage space. A pointer is represented by an address in the address and an address to the above real storage space, and a node in the virtual storage space is indirectly referenced from a node in the real storage space, so that nodes are linked by pointers. is expressed across real storage space and virtual storage space, and the data in the structure where the nodes are linked by pointers is moved between the real storage space and virtual storage space in a list structure unit using the link information. It is characterized by causing
F 作用
本発明に係るデータ管理方式では、実記憶空間ではその
実記憶空間内のアドレスにてポインタを表し、仮想記憶
空間ではその仮想記憶空間内のアドレスと上記実記憶空
間へのアドレスにてポインタを表し、上記実記憶空間上
のノードから仮想記憶空間上のノードを間接参照するよ
うにして、ノード間がポインタでリンクされた構造のデ
ータを実記憶空間と仮想記憶空間とに亘って表現するこ
とによって、ポインタにて全記憶空間を表現する必要が
無くなる。また、上記ノード間がポインタでリンクされ
た構造のデータをそのリンク情報を用いたリスト構造単
位で実記憶空間と仮想記憶空間との間で移動させること
により、動的なデータを静的に区分することなく動的デ
ータ構造をそのまま反映させた状態で管理する。F. Effect In the data management system according to the present invention, in a real storage space, a pointer is represented by an address in the real storage space, and in a virtual storage space, a pointer is represented by an address in the virtual storage space and an address to the real storage space. and indirectly reference nodes in the virtual storage space from the nodes in the real storage space, thereby representing data in a structure in which nodes are linked by pointers across the real storage space and the virtual storage space. This eliminates the need to represent the entire storage space with a pointer. In addition, dynamic data can be statically divided by moving data in a structure in which nodes are linked using pointers between the real storage space and virtual storage space in list structure units using the link information. Manage dynamic data structures while reflecting them as they are without having to do so.
G 実施例
以下、本発明の一実施例について、図面に従い詳細に説
明する。G. Example Hereinafter, an example of the present invention will be described in detail with reference to the drawings.
第2図は、本発明に係るデータ管理方式を適用してリス
ト構造のデータを取り扱うようにしたマルチプロセッサ
システムの概念的な構成を示すブロック図である。この
マルチプロセッサシステムは、複数のプロセッサ(la
) 、 (lb)〜(In)によりそれぞれメモリコン
トローラ(2a) 、 (2b)〜(2n)を介してア
クセスされる実記憶空間をなす主記憶装置(3)と仮想
記憶空間をなすハードディスク装置等の二次記憶装置(
4)とを備え、仮想化による記憶容量の拡張が図られて
いる。FIG. 2 is a block diagram showing the conceptual configuration of a multiprocessor system that handles list-structured data by applying the data management method according to the present invention. This multiprocessor system consists of multiple processors (la
), (lb) to (In) respectively accessed through memory controllers (2a), (2b) to (2n), and a main storage device (3) forming a real storage space, and a hard disk device, etc. forming a virtual storage space. secondary storage (
4), and storage capacity is expanded through virtualization.
なお、上記主記憶装置(3)は複数のメモリバンク(3
a) 、 (3b) 〜(3n)と上記各メモリバンク
(3a) 。Note that the main storage device (3) has a plurality of memory banks (3).
a), (3b) to (3n) and each of the above memory banks (3a).
(3b)〜(3n)の接続回路(3A)にて構成されて
いる。It is composed of connection circuits (3A) of (3b) to (3n).
このマルチプロセッサシステムにて取り扱うリスト構造
のデータは、実記憶空間ではその実記憶空間内のアドレ
スにてポインタを表し、また、仮想記憶空間ではその仮
想記憶空間内のアドレスと上記実記憶空間へのアドレス
にてポインタを表し、上記実記憶空間上のノードから仮
想記憶空間上のノードを間接ポインタにて参照するよう
にして、第1図に示すようにノード間がポインタでリン
クされたリスト構造のデータとして上記主記憶装置(3
)による実記憶空間(RM)と上記二次記憶装置(4)
による仮想記憶空間(IM)とに亘って表現され、上記
第1図に破線で囲んで示すようなリスト構造単位(01
)、 (uz)で上記実記憶空間(RM)と仮想記憶空
間(IM)との間でデータ転送(Swapping)さ
れる。The list-structured data handled by this multiprocessor system is represented by an address in the real storage space as a pointer in the real storage space, and an address in the virtual storage space and an address in the above real storage space in the virtual storage space. represents a pointer, and a node in the virtual storage space is referenced from the node in the real storage space using an indirect pointer, so that the data has a list structure in which nodes are linked by pointers as shown in Figure 1. as the main storage device (3
) with the real storage space (RM) and the above secondary storage device (4)
The list structure unit (01
), (uz), data is transferred (swapped) between the real memory space (RM) and the virtual memory space (IM).
なお、上記第1図中には、上記仮想記憶空間上のノード
を参照する間接ポインタを設定した上記実記憶空間上の
ノードを口にて示し、他のノードをOにて示しである。In FIG. 1, a node in the real storage space where an indirect pointer that refers to a node in the virtual storage space is set is indicated by an opening, and other nodes are indicated by an O.
ここで、上記リスト構造のデータの具体的表現例につい
て説明する。Here, a specific example of expressing the data in the list structure will be explained.
例えば第3図に示すように、上記主記憶装置(3)によ
る実記憶空間(RM)上に表現された9個のノード(N
、。)、(N++)、(N+z)、(N+ff)、(N
z。)、(Nz+)、(Nzz)。For example, as shown in FIG. 3, nine nodes (N
,. ), (N++), (N+z), (N+ff), (N
z. ), (Nz+), (Nzz).
(Nzs) 、 (Nx。)が上記実記憶空間(RM)
上の実記憶空間アドレスで表現したポインタにてリンク
されてなるリスト構造のデータは、上記第3図中に破線
にて囲んで示す4個のノード(N++)、(Lx)、(
N□)。(Nzs) and (Nx.) are the above real memory space (RM)
The data in the list structure linked by the pointers expressed by the real storage space addresses above are the four nodes (N++), (Lx), (
N□).
(N2りによるリスト構造単位(Uo)を上記二次記憶
装置(4)による仮想記憶空間(I?l)上に移した場
合、第4図のように表現される。(When the list structure unit (Uo) based on N2 is transferred to the virtual storage space (I?l) of the secondary storage device (4), it is expressed as shown in FIG. 4.
第4図において、上記仮想記憶空間(IM)上に移した
上記リスト構造単位(U、)を構成する4個のノード(
n、1)、 (nlz)、 (nt+)、 (nxx)
は、上記仮想記憶空間(IM)上の各ノード(nt、)
、 (n−)の仮想記憶空間アドレスおよび上記実記憶
空間(RM)上の各ノード(N++)、(N+z)、(
N+3)、(Ntz)の実記憶空間アドレスを直接表現
した各ポインタにて、上記各ノード(ntt)、(nt
t)、(Net)、(Net)、(NIs)、(Ibs
) とリンクされる。また、上記実記憶空間(12M
)上の各ノード(Net)、(Net)は、上記仮想記
憶空間(IM)上の上記リスト構造単位(U、)の各ノ
ード(n、)、(nl−)の仮想記憶空間アドレスを表
現した間接ポインタにて、上記各ノード(n、)、(n
lりとリンクされる。In FIG. 4, four nodes (
n, 1), (nlz), (nt+), (nxx)
is each node (nt,) on the virtual memory space (IM)
, (n-) virtual memory space address and each node (N++), (N+z), (
Each of the above nodes (ntt) and (nt
t), (Net), (Net), (NIs), (Ibs
) will be linked. In addition, the above real storage space (12M
), each node (Net), (Net) on the virtual memory space (IM) represents the virtual memory space address of each node (n,), (nl-) of the list structure unit (U,) on the virtual memory space (IM). Each of the above nodes (n,), (n
It will be linked with the following.
上述の如きリスト構造のデータを取り扱うこのシステム
では、上記リストデータの動的な変化過程において、上
記実記憶空間(RM)上に必要なノードが無く、リスト
フォールトが発生し、そのノードが上記仮想記憶空間(
IM)上にある場合に、そのノードを含む一連のリスト
構造単位のデータを上記仮想記憶空間(LM)から上記
実記憶空間(RM)にデータ転送(Swap−in)す
ることにより、後述する手順に従ってリストインを行う
。In this system that handles list-structured data as described above, during the dynamic change process of the list data, there is no necessary node in the real memory space (RM), and a list fault occurs, and that node is transferred to the virtual Memory space (
IM), the data of a series of list structure units including that node is transferred (Swap-in) from the virtual memory space (LM) to the real memory space (RM) to perform the procedure described later. List in according to the following.
また、このシステムでは、上記実記憶空間(RM)上の
フリーノードの数を監視しており、上記実記憶空間(R
M)上のフリーノードが無くなると、不要なノードをフ
リーノードとして回収するガーベジコレクシロンを行い
、このガーベジコレクションによりフリーノードの数が
所定の閾(tI S h以上になれば、本来のデータ処
理に復帰する。上記ガーベジコレクションによりフリー
ノードの数が所定の闇値sh以上にならない場合には、
その時点で上記実記憶空間(RM)上に不要なリストデ
ータへのポンダを抽出して、後述する手順に従って上記
実記憶空間(RM)から上記仮想記憶空間(IM)への
リスト構造単位のデータ転送(Swap−out)する
ためのリストアウド動作を上記実記憶空間(RM)上で
行う。In addition, this system monitors the number of free nodes on the real memory space (RM), and monitors the number of free nodes on the real memory space (RM).
M) When there are no more free nodes on the list, garbage collection is performed to collect unnecessary nodes as free nodes, and if the number of free nodes becomes more than a predetermined threshold (tI S h), the original data processing is resumed. If the number of free nodes does not exceed the predetermined darkness value sh due to the above garbage collection,
At that point, extract the pointer to unnecessary list data on the real memory space (RM), and transfer the list structure unit data from the real memory space (RM) to the virtual memory space (IM) according to the procedure described later. A restore operation for transfer (swap-out) is performed on the real memory space (RM).
上記実記憶空間(1?M)上でリストアウドしたリスト
構造単位のデータ数が少なく所定の閾(!!SSに満た
ない場合には、上記実記憶空間(RM)上に不要なリス
トデータへのボンダをさらに抽出して、新たなリストデ
ータのリストアウド動作を上記実記憶空間(RM)上で
繰り返し行う、そして、上記実記憶空間(RM)上でリ
ストアウドしたリスト構造単位のデータ数が上記闇値S
sに達すると、上記実記憶空間(RM)でリストアウド
されたリスト構造単位のデータを上記実記憶空間(R’
M )から上記仮想記憶空間(■FI)へデータ転送(
Swap−out) シ、リストアウドの動作を終了し
て、本来のデータ処理に復帰する。If the number of data in list structure units restored on the above real storage space (1?M) is small and does not reach a predetermined threshold (!!SS), unnecessary list data will be stored on the above real storage space (RM). The bonder is further extracted and the restore operation of new list data is repeated on the real memory space (RM), and the number of data in the list structure unit restored on the real memory space (RM) is the dark value. S
s, the list structure unit data restored in the real memory space (RM) is transferred to the real memory space (R'
Data transfer (
Swap-out) Ends the restore operation and returns to the original data processing.
上記実記憶空間(RM)から上記仮想記憶空間(IM)
へのリストアウドの動作は、リスト構造を掃査して、各
ノードのリンク数をリファレンスカウンタにより参照し
ながら間接ポインタを用いて次のように行われる。From the above real memory space (RM) to the above virtual memory space (IM)
The operation of restoring to is performed as follows by sweeping the list structure and using an indirect pointer while referring to the number of links of each node using a reference counter.
例えば第5図に示すように、実記憶空間(RM)上の7
個のノード(Ne。)、(Ne +) 、(Ne z)
、(NIs) 、(Nx。)。For example, as shown in FIG.
nodes (Ne.), (Ne +), (Ne z)
, (NIs), (Nx.).
(To+)、(Nzz)間がポインタにてリンクされた
リスト構造単位(υ、。)を上記実記憶空間(RM)か
ら仮想記憶空間(IM)ヘリスドアウドする場合につい
て説明すると、先ず、上記実記憶空間(RM)上におい
て、その作業領域(IIA)に上記リスト構造単位(U
、。)を第6図A〜第6図Fに示すような手順でリスト
アウドする。To explain the case where a list structure unit (υ, .), in which (To+) and (Nzz) are linked by a pointer, is read-out from the real memory space (RM) to the virtual memory space (IM), first, the real memory On the space (RM), the above list structure unit (U
,. ) is restored using the procedure shown in FIGS. 6A to 6F.
すなわち、先ず、上記実記憶空間(RM)上の上記リス
ト構造単位(El t @)の開始位置にあるノード例
えばノード(N16)に着目して、第6図Aに示すよう
に、上記ノード(Ne・)に対するリンクを実記憶空間
アドレスで表現した逆参照ポインタと上記ノード(Ne
。)のポインタにてリンクされているノード(N、)に
対するリンクを実記憶空間アドレスで示した逆参照ポイ
ンタを有するノード(nl。)を上記仮想記憶空間(I
M)に移すノードとして上記実記憶空間(RM)上の作
業領域(阿^)に設け、上記仮想記憶空間(IM)に移
す上記ノード(neo)へのリンクを表現した間接ポイ
ンタを上記実記憶空間(RM)上のノード(Ne。)に
設定する。That is, first, focusing on the node (N16), for example, at the start position of the list structure unit (El t @) on the real memory space (RM), as shown in FIG. 6A, the node ( A dereference pointer that represents a link to the node (Ne
. A node (nl.) having a dereference pointer that indicates a link to a node (N,) linked by a pointer in the virtual storage space (I
An indirect pointer expressing a link to the node (neo) to be moved to the virtual memory space (IM) is set in the work area (A^) on the real memory space (RM) as a node to be moved to the virtual memory space (IM). Set to the node (Ne.) on the space (RM).
次に、上記実記憶空間(RM)上の上記ノード(Nl。Next, the node (Nl) on the real storage space (RM).
)にリンクしていた上記ノード(Nl+)に着目して、
第6図Bに示すように、上記ノード(Ni+)に対する
リンクを実記憶空間アドレスで表現した逆参照ポインタ
と上記ノード(Net)のポインタにてリンクされてい
る各ノード(Net)、(Nz+)に対する各リンクを
実記憶空間アドレスで表現した各逆参照ポインタを有す
るノード(n、)を上記作業領域(W^)に設ける。そ
して、上記作業領域(賀A)の上記ノード(n11)へ
のリンクを表現した間接ポインタを上記ノード(N 1
.+ )に設定するとともに、上記作業領域(−^)の
上記ノード(nl。)のポインタによる上記実記憶空間
(12M)上の上記ノード(N12)へのリンクを該ノ
ード(N + t)に対応する上記作業領域(HA)の
上記ノード(n、t)へのリンクに移して、上記ノード
(Lx)への逆参照ポインタを上記ノード(nl、)へ
のリンクを仮想記憶空間アドレスにて表現した内容のポ
インタに変更する。), focusing on the above node (Nl+) that was linked to
As shown in FIG. 6B, each node (Net), (Nz+) linked by the dereference pointer expressing the link to the node (Ni+) as a real storage space address and the pointer of the node (Net) A node (n,) having each dereference pointer representing each link with a real storage space address is provided in the work area (W^). Then, the indirect pointer representing the link of the work area (A) to the node (n11) is set to the node (N1).
.. + ), and the link to the node (N12) on the real storage space (12M) by the pointer of the node (nl.) in the work area (-^) is set to the node (N + t). Move the link to the node (n, t) in the corresponding work area (HA), and change the dereference pointer to the node (Lx) to the link to the node (nl,) using the virtual memory space address. Change the pointer to the expressed content.
その次に、上記実記憶空間(RM)上の上記ノード(N
11)にリンクしていた上記ノード(N、□)に着目し
て、二〇ノード(Niz)のポインタによるノード(N
i3)へのリンクを手繰って、上記実記憶空間上゛の各
ノード(N、□)、(N’3)を上記作業領域(HA)
に移して、第6図Cに示すように、上記ノード(n、1
)のポインタにてリンクされるノード(nIz) と
、このノード(nIz)のポインタにてリンクされるノ
ード(nl3)を上記作業領域(−八)に設ける。Next, the node (N
Focusing on the above node (N, □) that was linked to 11), the node (N
i3), each node (N, □), (N'3) in the real storage space is transferred to the work area (HA).
As shown in FIG. 6C, the above node (n, 1
) and a node (nl3) linked by the pointer of this node (nIz) are provided in the work area (-8).
次に、上記作業領域(HA)の上記ノード(n、)の逆
参照ポインタにてリンクされている上記実記憶空間(R
M)上の上記ノード(Nz+)に着目して、このノード
(NZ+)のポインタによるノード(No)へのリンク
を手繰ることにより、上記実記憶空間(RM)上の各ノ
ード(N2 +)、 (N22)を上記作業領域(IA
A)に移して、第6図りに示すように、上記ノード(n
、)のポインタにてリンクされるノード(nz+)
と、このノード(nz+)のポインタにてリンクされる
ノード(n、)を上記作業領域(WA)に設ける。さら
に、上記作業領域(11A)の上記ノード(nz□)の
逆参照ポインタによる上記実記憶空間(RM)上の上記
ノード(Ni1)へのリンクを上記ノード(Nl+)に
対応する上記作業領域(畦)の上記ノード(n、)への
リンクに付は替える。Next, the real storage space (R
By focusing on the node (Nz+) on M) and linking the pointer of this node (NZ+) to the node (No), each node (N2 +) on the real memory space (RM) is created. , (N22) in the above work area (IA
A), as shown in the sixth diagram, the above node (n
,) Node linked by pointer (nz+)
Then, a node (n,) linked by the pointer of this node (nz+) is provided in the work area (WA). Further, the link to the node (Ni1) on the real storage space (RM) by the dereference pointer of the node (nz□) in the work area (11A) is changed to the work area (Ni1) corresponding to the node (Nl+). ridge) to the above node (n,).
さらに、上記実記憶空間(RM)上の上記リスト構造単
位(U、。)の他の開始位置にある未掃査のノード(N
!。)に着目して、第6図已に示すように、上記ノード
(Nzo)に対するリンクを実記憶空間アドレスで表現
した逆参照ポインタと上記ノード(Nz。)のポインタ
にてリンクされている上記ノード(N、)に対するリン
クを実記憶空間アドレスで示した逆参照ポインタを有す
るノード(ntJ を上記作業領域(−A)に設けると
ともに、このノード(nz。)へのリンクを表現した間
接ポインタを上記実記憶空間(RM)上のノード(Nt
O)に設定する。Further, an unswept node (N
! . ), as shown in Figure 6, the above node linked by the dereference pointer expressing the link to the above node (Nzo) as a real storage space address and the pointer of the above node (Nz.). A node (ntJ) having a dereference pointer indicating a link to (N,) with a real storage space address is provided in the above work area (-A), and an indirect pointer expressing a link to this node (nz.) is set as above. Node (Nt) on real memory space (RM)
O).
そして、上記作業領域(−^)の上記ノード(nz。)
の逆参照ポインタによる上記実記憶空間(RM)上の上
記ノード(N++)へのリンクを該ノード(N++)に
対応する上記作業領域(HA)の上記ノード(n、、)
へのリンクに付は替えて、第6図Fに示すように、上記
実記憶空間上(RM)の上記ノード(N、)を上記作業
領域(紳A)の上記ノード(nl、)に完全に移動させ
ることにより、上記実記憶空間(RM)上の作業領域(
HA)への上記リスト構造単位(U、。)のリストアウ
ドを終了する。And the above node (nz.) in the above work area (-^)
The link to the node (N++) on the real storage space (RM) by the dereference pointer of the node (n, ,) in the work area (HA) corresponding to the node (N++)
As shown in FIG. 6F, instead of attaching a link to By moving the work area (
The restore of the list structure unit (U, .) to HA) is completed.
最後に、上記リスト構造単位(υ、。)のデータを上記
主記憶装置(3)による実記憶空間(RM)上の作業領
域(諭)から上記二次記憶装置(4)による仮想記憶空
間(IM)へデータ転送(Si1ap−out)するこ
とにより、上記リスト構造単位(U+O)を上記仮想記
憶空間(IM)へ第7図に示すようにリストアウドする
。Finally, the data in the list structure unit (υ, .) is transferred from the work area (reference) on the real memory space (RM) of the main memory (3) to the virtual memory space (2) of the secondary memory (4). By transferring data (Si1ap-out) to IM), the list structure unit (U+O) is restored to the virtual storage space (IM) as shown in FIG.
このように、間接ポインタを用いることにより上記リス
ト構造単位(υ、。)′の如き環状リスト構造も旨くリ
ストアウドすることができ、しかも、上記主記憶袋W(
3)による実記憶空間(RM)上でリストアウドしたリ
スト構造単位のデータを上記実記憶空間(RM)から上
記二次記憶装置(4)による仮想記憶空間(IM)への
データ転送(Swap−out)することにより、上記
仮想記憶空間(IM)に効率よく迅速にリストアウドす
ることができる。In this way, by using an indirect pointer, a circular list structure such as the list structure unit (υ, .)' can be successfully restored, and moreover, the main memory bag W(
Data transfer (Swap-out) of list structure unit data restored on the real memory space (RM) by 3) from the real memory space (RM) to the virtual memory space (IM) by the secondary storage device (4) ), it is possible to efficiently and quickly restore to the virtual memory space (IM).
ここで、上記実記憶空間(RM)上のノードに対するリ
ンクを実記憶空間アドレスにて表現し、また、上記仮想
記憶空間(IM)上のノードに対するリンクを仮想記憶
空間アドレスをそれぞれ各記憶空間内で表現して、それ
ぞれの記憶空間内でのリンクを直接表現した通常のポイ
ンタと、上記仮想記憶空間(IM)上のノードの仮想記
憶空間アドレスを表現した上記実記憶空間(RM)上の
ノード(N++)、(Nit)等の間接ポインタや、上
記実記憶空間(RM)上のノードに対するリンクを実記
憶空間アドレスで表現した上記仮想記憶空間(IM)上
のノード(nl。)、(nl)等の逆参照ポインタとは
、例えばそのポインタで指されているノードの種IFを
示すタグをポインタに付加しておくことにより、上記タ
グの内容にて識別される。Here, a link to a node on the above real memory space (RM) is expressed as a real memory space address, and a link to a node on the above virtual memory space (IM) is expressed as a virtual memory space address in each memory space. A normal pointer that directly represents a link within each storage space, and a node on the real memory space (RM) that represents the virtual memory space address of the node on the virtual memory space (IM). Indirect pointers such as (N++) and (Nit), and nodes (nl.) and (nl) on the virtual memory space (IM), which represent links to nodes on the real memory space (RM) as real memory space addresses, are expressed as real memory space addresses. A dereference pointer such as ) is identified by the contents of the tag, for example, by adding a tag indicating the type IF of the node pointed to by the pointer to the pointer.
次に、上記二次記憶装置(4)による仮想記憶空間(団
)から上記主記憶装置(3)による実記憶空間(RM)
へのリストインは、アクセスしようとするノードが上記
実記憶空間(R?り上になく間接ボンインクにて示され
る仮想記憶空間(IM)上のノードであった場合に、次
のように行われる。Next, from the virtual storage space (group) of the secondary storage device (4) to the real storage space (RM) of the main storage device (3)
List-in to is performed as follows when the node to be accessed is not on the above real storage space (R?) but on the virtual storage space (IM) indicated by indirect blank ink. .
例えば、第8図に示すように、上記実記憶空間(RM)
上の各ノード(Nl。)、(Nll)の間接ポインタに
てリンクされた上記仮想記憶空間(IM)上のノード(
nl−)、 (n++)+ (r++zL (nIs)
、 (nt−>、 (n−、)、(ngz)によるリス
ト構造単位(U!。)を上記仮想記憶空間(■旧から上
記実記憶空間(R?I)ヘリストインする場合について
説明すると、先ず、上記リスト構造単位(Uio)のデ
ータ上記実記憶空間(R1’l)上の作業領域(−八)
にデータ転送(Swap−in) L/、上記実記憶空
間(RM)上において、第9図A〜第9図りに示すよう
な手順で上記作業領域(HA)から上記リスト構造単位
(Ox。)のリストインの動作を行う。For example, as shown in FIG.
The nodes (Nl.) and (Nll) on the above virtual storage space (IM) linked by the indirect pointers of the above nodes (Nl.) and (Nll)
nl−), (n++)+ (r++zL (nIs)
, (nt->, (n-,), (ngz) into the list structure unit (U! , the data of the list structure unit (Uio), the work area (-8) on the real storage space (R1'l)
Data transfer (Swap-in) L/, on the real storage space (RM), the list structure unit (Ox.) is transferred from the work area (HA) to the list structure unit (Ox.) using the steps shown in FIGS. 9A to 9. Performs list-in operation.
すなわち、上記仮想記憶空間(IM)から上記実記憶空
間(RM)にデータ転送(Swap−in) 、された
第9図Aに示す如き上記作業領域(HA)のリスト構造
単位(Uz。)について、先ず、上記リスト構造単位(
Uオ。)を掃査し、第9図Bに示すように、上記リスト
構造単位(Lh。)を構成している各ノード(n++)
+(r++□)。That is, regarding the list structure unit (Uz.) of the work area (HA) as shown in FIG. 9A, which has undergone data transfer (Swap-in) from the virtual memory space (IM) to the real memory space (RM). , First, the above list structure unit (
Uo. ), and as shown in FIG. 9B, each node (n++) constituting the list structure unit (Lh.) is
+(r++□).
(nl−)、 (nz+)+ (nzz)に逆参照ポイ
ンタを設定して、上記ノード(n、)、 (nIs)+
(nlff)+ (n−5)、 (n−)に対応する
各ノード(Nll)、(Nlz)、(N+3)、(Nz
+)、(Tow)を上記実記憶空間(RM)上に設ける
。(nl-), (nz+)+ Set a dereference pointer to (nzz) and set the above nodes (n,), (nIs)+
(nlff)+ (n-5), each node corresponding to (n-) (Nll), (Nlz), (N+3), (Nz
+) and (Tow) are provided on the real storage space (RM).
次に、再度上記リスト構造単位(UZ。)を掃査し、第
9図Cに示すように、上記作業領域(目)の上記リスト
構造単位(UZ。)を構成している上記各ノード(n、
−)、 (r+++)、 (nIs)+ (n+3)、
(n、o)、 (nz+)、(nzz)の仮想記憶空間
アドレスで表現されているポインタを上記実記憶空間(
IiM)上の上記各ノード(Nll)。Next, the list structure unit (UZ.) is scanned again, and as shown in FIG. 9C, each of the above nodes ( n,
-), (r+++), (nIs)+ (n+3),
The pointer expressed by the virtual memory space addresses (n, o), (nz+), (nzz) is transferred to the above real memory space (
Each of the above nodes (Nll) on IiM).
(Nlz)、(N+3)、(lJz+)、(Nzz)に
リンクする実記憶空間アドレスによる逆参照ポインタに
付は替える。The dereference pointers are replaced by real storage space addresses linked to (Nlz), (N+3), (lJz+), and (Nzz).
そして、三度上記リスト構造単位(UZ。)を掃査して
、第7図りに示すように、上記作業領域(賀A)の上記
リスト構造単位(UtO)を構成している上記各ノード
(n+oL(n++)+(nIs)+(nIs)+(n
zoL(nz+)+(n=−)の内容を上記実記憶空間
(RM)上の各ノード(NIP)、 (Nll)l(N
lり、 (Nl3)、 (Nx。)、(N□)、(Nz
□)に移すことにより、上記リスト構造単位(U2゜)
を上記作業領域(−八)から上記実記憶空間(RM)に
全て移動し、上記二次記憶装置(4)による仮想記憶空
間(IM)から上記主記憶装置(3)による実記憶空間
(RM)への上記リスト構造単位(Uz。)のリストイ
ンを終了する。Then, by scanning the list structure unit (UZ.) three times, as shown in the seventh diagram, each of the above nodes ( n+oL(n++)+(nIs)+(nIs)+(n
The contents of zoL(nz+)+(n=-) are transferred to each node (NIP) on the real memory space (RM), (Nll)l(N
(Nl3), (Nx.), (N□), (Nz
By moving to □), the above list structural unit (U2゜)
from the work area (-8) to the real memory space (RM), and from the virtual memory space (IM) in the secondary storage device (4) to the real memory space (RM) in the main storage device (3). ) ends the list-in of the list structure unit (Uz.).
なお、上記仮想記憶空間(IM)から上記実記憶空間(
RM)へのリストインは、上述の実記憶空間(RM)か
ら仮想記憶空間(IM)へのリストアウドと同様な方法
で行うこともできる。Note that from the virtual memory space (IM) to the real memory space (
The list-in to the RM) can also be performed in the same manner as the above-mentioned restore from the real memory space (RM) to the virtual memory space (IM).
ここで、上記主記憶装置(3)による実記憶空間(RM
)を上記二次記憶装置(4)による仮想記憶空間(IM
)にて拡張して処理を行う際には、上記仮想記憶空間(
IM)上のリストアウドされたリスト構造単位のノード
から上記実記憶空間(RM)上のノードへの参照がしば
しばしば発生し、例えば、第10図に示すように、上記
仮想記憶空間(IM)上のリスト構造単位(υ、)のノ
ード(NA)から参照されている上記実記憶空間(RM
)上のノード(N、)が、上記実記憶空間(RM)上の
他のノードから参照されることなく、上記仮想記憶空間
(IM)上のリスト構造単位(UC)のノード(N、)
への間接ポインタとなることがある。Here, the real storage space (RM
) is stored in the virtual storage space (IM
), the above virtual storage space (
References often occur from nodes in the restored list structure unit on the IM) to nodes on the real memory space (RM), for example, as shown in FIG. The above real storage space (RM
) on the list structure unit (UC) on the virtual memory space (IM) without being referenced by other nodes on the real memory space (RM).
It may be an indirect pointer to.
このような場合には、上記実記憶空間(RM)上のノー
ド(Nl)に対する上記仮想記憶空間(IM)からの参
照を書き替えることにより、第11図に示すように、上
記間接ポインタを削除して、上記実記憶空間(RM)上
のフリーノードの数を増やすことが可能である。In such a case, by rewriting the reference from the virtual memory space (IM) to the node (Nl) on the real memory space (RM), the indirect pointer can be deleted as shown in Figure 11. Thus, it is possible to increase the number of free nodes on the real memory space (RM).
上述の如き間接ポインタを削除するための一連の操作は
、原理的には、各々の間接ポインタへの逆参照表を作成
して、リストアウドの際にリストアウドされたリスト構
造単位内の該当する間接ポインタへの参照を書き替える
ことで実現可能である。この操作では、仮想記憶空間内
のリスト構造を操作する動作を含んでいるので、アクセ
ス時間の長い上記仮想記憶空間へのアクセスが増加する
。In principle, the series of operations for deleting indirect pointers as described above is to create a dereference table for each indirect pointer, and when restoring, to delete the corresponding indirect pointer in the restored list structure unit. This can be achieved by rewriting the reference to . Since this operation includes the operation of manipulating the list structure in the virtual storage space, the number of accesses to the virtual storage space, which requires a long access time, increases.
そこで、このシステムでは、第12図Aに示すように、
仮想記憶空間(1?I)にリストアウドされた各リスト
構造単位を一括して管理するストラフチャ参照表(SR
T)と、上記仮想記憶空間(Il+)にリストアウドさ
れたリスト構造単位で外部ノードへの参照を管理する外
部参照表(XRT)とを実記憶空間(RM)上に設ける
とともに、第12図Bに示すように、上記仮想記憶空間
(I?I)から実記憶空間(RM)への弁型を管理する
逆参照表(DRT)を上記実記憶空間(RM)上に設け
て、上記仮想記憶空間にリストアウドされた各リスト構
造単位間の参照を一括して扱い、上記仮想記憶空間(1
?I)へのアクセスを減少させるようにしている。Therefore, in this system, as shown in Figure 12A,
A structure reference table (SR) collectively manages each list structure unit listed in the virtual storage space (1?I).
T) and an external reference table (XRT) that manages references to external nodes in list structure units restored in the virtual storage space (Il+) on the real storage space (RM), and As shown in FIG. References between each list structure unit listed in the space are handled collectively, and the above virtual storage space (1
? I).
上記ストラフチャ参照表(SRT)は、上記仮想記憶空
間(R)にリストアウドされた各リスト構造単位を特定
する情報srt、 idと、リスト構造単位のノードの
外部からの参照数ref、cと、上記外部参照表(XR
T)へのポインタxrtが格納されており、上記外部参
照表(XRT)の管理、検索等に用いられる。The structure reference table (SRT) includes information srt, id that specifies each list structure unit listed in the virtual storage space (R), the number of references from outside to the node of the list structure unit ref, c, and the above information. External reference table (XR
A pointer xrt to T) is stored, and is used for managing, searching, etc. of the external reference table (XRT).
また、上記外部参照表(XRT、)は、リストアウドさ
れたリスト構造単位毎に割り当てられ、対応するリスト
構造単位内で、外部を参照しているノードを特定する情
報ptr、idと、上記ノードが参照している外部のノ
ードを特定するポインタdatが格納される。さらに、
上記逆参照表(DRT)は、上記実記憶空間(IIM)
上のノードを参照している上記仮想記憶空間(IM)上
のノードをリスト構造単位で特定するデータptr、1
istと、上記上記実記憶空間(RM)上のノードを特
定するデータdst、idが格納される。In addition, the external reference table (XRT) is assigned to each restored list structure unit, and contains information ptr, id that specifies the node referencing the outside in the corresponding list structure unit, and information about the node A pointer dat that specifies the referenced external node is stored. moreover,
The above dereference table (DRT) is stored in the above real memory space (IIM).
Data ptr, 1 that identifies nodes on the virtual storage space (IM) that refer to the above nodes in list structure units;
ist, and data dst and id that specify the node on the real storage space (RM) are stored.
上記各参照表(SRT) 、 (XI?T) 、 (D
RT)のエントリは、例えば上記ストラフチャ参照表(
SRT)はリスト構造単位のストラフチャ番号で、また
、外部参照表(XRT)はリスト構造単位のストラフチ
ャ内アドレスで、そして、上記逆参照表(DRT)は実
記憶空間アドレスでハシシュすれば良く、各参照表(S
RT) 。The above reference tables (SRT), (XI?T), (D
For example, the entry for the above structure reference table (
SRT) is the structure number of the list structure unit, the external reference table (XRT) is the address within the structure of the list structure unit, and the above dereference table (DRT) is hashed with the real storage space address. Reference table (S
RT).
(XRT) 、 (DRT)の検索などを高速化するこ
とができる。なお、被参照ノードが実記憶空間に存在し
ない場合には、上記逆参照表(DRT)へのハツシュは
できないが、上記仮想記憶空間上のリスト構造単位のノ
ードからの逆参照ポインタを逆参照表(DRT)へのエ
ントリとすることができる。(XRT), (DRT) searches, etc. can be sped up. Note that if the referenced node does not exist in the real storage space, it cannot be hashed to the dereference table (DRT), but the dereference pointer from the node of the list structure unit in the virtual storage space can be hashed to the dereference table (DRT). (DRT).
ここで、上述の実施例では2分木のリスト構造データの
管理を行ったが、本発明に係るデータ管理方式において
取り扱うことのできるリスト構造データは、2分木のリ
スト構造データに限定されることなく、n分木構造のリ
スト構造データに拡張することができる。また、本発明
に係るデータ管理方式は、上述の実施例の如きマルチプ
ロセッサシステムのみに通用なものではなく、−船釣な
プロセッサシステムに適用することも勿論可能である。Here, although binary tree list structure data was managed in the above embodiment, list structure data that can be handled in the data management method according to the present invention is limited to binary tree list structure data. It is possible to expand the list structure data to an n-ary tree structure without any problems. Furthermore, the data management method according to the present invention is not only applicable to multiprocessor systems such as those in the above-described embodiments, but can of course be applied to processor systems such as boat fishing.
H発明の効果
本発明に係るデータ管理方式では、実記憶空間ではその
実記憶空間内のアドレろにてポインタを表し、仮想記憶
空間ではその仮想記憶空間内のアドレスと上記実記憶空
間へのアドレスにてポインタを表し、上記実記憶空間上
のノードから仮想記憶空間上のノードを間接参照するよ
うにして、ノード間がポインタでリンクされた構造のデ
ータを実記憶空間と仮想記憶空間とに亘って表現するこ
とによって、ポインタにて全記憶空間を表現する必要が
無いので、記憶容量を節約することができ実質的に記憶
容量を増加させることがきる。H Effects of the Invention In the data management system according to the present invention, in a real storage space, a pointer is represented by an address in the real storage space, and in a virtual storage space, a pointer is represented by an address in the virtual storage space and an address to the real storage space. represents a pointer, and the nodes in the virtual storage space are indirectly referenced from the nodes in the real storage space, so that data in a structure in which nodes are linked by pointers is transferred between the real storage space and the virtual storage space. By representing it, there is no need to represent the entire storage space with a pointer, so the storage capacity can be saved and the storage capacity can be substantially increased.
また、本発明に係るデータ管理方式では、上記ノード間
がポインタでリンクされた構造のデータをそのリンク情
報を用いたリスト構造単位で実記憶空間と仮想記憶空間
との間で移動させることにより、動的データを静的に区
分することなく動的データ構造をそのまま反映させた状
態で管理するので、仮想記憶空間のアクセス回数を減ら
してメモリアクセス効率を著しく向上させることができ
る。特に、ガーベジコレクションの実行効率を顕著に高
めることができ極めて有効である。Further, in the data management method according to the present invention, data in a structure in which the nodes are linked by pointers is moved between the real storage space and the virtual storage space in a list structure unit using the link information. Since dynamic data is managed without statically partitioning it while reflecting the dynamic data structure as it is, it is possible to reduce the number of accesses to the virtual storage space and significantly improve memory access efficiency. In particular, it is extremely effective because it can significantly improve the execution efficiency of garbage collection.
従って、本発明に係るデータ管理方式を適用することに
よって、人工知能、数式処理、自然言語処理等の記号処
理分野で基本的かつ不可欠なリスト構造データの仮想化
を効率良く実現することができるようになる。Therefore, by applying the data management method according to the present invention, it is possible to efficiently realize the virtualization of list-structured data, which is basic and essential in the field of symbol processing such as artificial intelligence, mathematical formula processing, and natural language processing. become.
第1図は本発明を適用したプロセッサシステムにおいて
扱うリスト構造のデータを実記憶空間と仮想記憶空間に
亘って表現したデータ例を示す模式図、第2図は本発明
を適用したマルチプロセッサシステムの構成を示すブロ
ック図、第3図は実記憶空間に表現したリスト構造のデ
ータの具体例を示す模式図、第4図は上記第3図に示し
たリスト構造のデータを実記憶空間と仮想記憶空間に亘
って表現した具体例を示す模式図、第5図は実記憶空間
から仮想記憶空間にリストアウドするリスト構造単位の
構成例を示す模式図、第6図A、第6図B、第6図C2
第6図り、第6図Eおよび第6図Fは上記第5図に示し
たリスト構造単位を実記憶空間から仮想記憶空間にリス
トアウドするための上記実記憶空間上でのリストアウド
動作の手順を説明するための各模式図、第7図は上記第
5図に示したリスト構造単位を実記憶空間から仮想記憶
空間にリストアウドした状態を示す模式図、第8図は仮
想記憶空間から実記憶空間にリストインするリスト構造
単位の構成例を示す模式図、第9図A、第9図B、第9
図Cおよび第9図りは上記第8図に示したリスト構造単
位を仮想記憶空間から実記憶空間にリストインするため
の上記実記憶空間上でのリストイン動作の手順を説明す
るための各模式図、第10図はリストアウドにより実記
憶空間上に間接ポインタが残存した状態のリスト構造を
示す模式図、第11図は上記第10図に示した間接ポイ
ンタを削除したリスト構造を示す模式図、第12図Aお
よび第12図Bは仮想記憶空間上にリストアウドされた
各リスト構造単位を一括管理するために設けられる各種
参照表の構成を示す各模式図である。
第13図は一般的なリスト構造のデータ例を示す模式図
、第14図はリスト構造のデータを記憶空間上に表現し
た模式図、第15図および第16図は従来の一般的な仮
想化にて拡張した記憶空間の構成例を示す各模式図であ
る。
(la)、(lb)〜(In) =プロセッサ(2a)
、 (2b)〜(2n)・・・・・・メモリコントロ
ーラ(3)・・・・・・・・・・・・・・・・・・主記
憶装置(3aL(3b)〜(3n)−・・−=(4)・
・・・・・・・・・・・・・・・・・(RM) ・・
・・・・・・・・・・・・・・・(IM) ・・・・
・・・・・・・・・・・・・バンクメモリ
二次記憶装置
実記憶空間
仮想記憶空間Figure 1 is a schematic diagram showing an example of list-structured data handled in a processor system to which the present invention is applied, expressed across real and virtual memory spaces, and Figure 2 is a diagram of a multiprocessor system to which the present invention is applied. A block diagram showing the configuration, Figure 3 is a schematic diagram showing a specific example of list-structured data expressed in real storage space, and Figure 4 shows how the list-structured data shown in Figure 3 above is expressed in real storage space and virtual memory. FIG. 5 is a schematic diagram showing a specific example of representation across space; FIG. 5 is a schematic diagram showing a configuration example of a list structure unit restored from real storage space to virtual storage space; FIGS. Figure C2
Figure 6, Figure 6 E, and Figure 6 F explain the procedure for restoring the list structure unit shown in Figure 5 above from the real storage space to the virtual storage space in the real storage space. Fig. 7 is a schematic diagram showing the list structure unit shown in Fig. 5 above restored from the real storage space to the virtual storage space, and Fig. 8 is a schematic diagram showing the list structure unit shown in Fig. 5 above restored from the real storage space to the real storage space. Schematic diagrams showing configuration examples of list structure units to be listed in, Figures 9A, 9B, 9
Figures C and 9 are schematic diagrams for explaining the list-in operation procedure on the real storage space for list-in the list structure unit shown in Figure 8 from the virtual storage space to the real storage space. 10 is a schematic diagram showing a list structure with indirect pointers remaining in the real storage space due to restore, and FIG. 11 is a schematic diagram showing a list structure in which indirect pointers shown in FIG. 10 have been deleted. FIGS. 12A and 12B are schematic diagrams showing the configurations of various reference tables provided for collectively managing each list structure unit restored on the virtual storage space. Figure 13 is a schematic diagram showing an example of general list-structured data, Figure 14 is a schematic diagram representing list-structured data in a storage space, and Figures 15 and 16 are conventional general virtualization diagrams. FIG. 3 is a schematic diagram showing an example of the structure of a storage space expanded in FIG. (la), (lb) ~ (In) = processor (2a)
, (2b) to (2n)... Memory controller (3)... Main storage device (3aL(3b) to (3n)-・・−=(4)・
・・・・・・・・・・・・・・・・・・(RM) ・・
・・・・・・・・・・・・・・・(IM) ・・・・
・・・・・・・・・・・・Bank memory Secondary storage device Real storage space Virtual storage space
Claims (1)
タを表し、仮想記憶空間ではその仮想記憶空間内のアド
レスと上記実記憶空間へのアドレスにてポインタを表し
、上記実記憶空間上のノードから仮想記憶空間上のノー
ドを間接参照するようにして、ノード間がポインタでリ
ンクされた構造のデータを実記憶空間と仮想記憶空間と
に亘って表現し、 上記ノード間がポインタでリンクされた構造のデータを
そのリンク情報を用いたリスト構造単位で実記憶空間と
仮想記憶空間との間で移動させることを特徴とするデー
タ管理方式。[Claims] In a real storage space, a pointer is represented by an address in the real storage space, and in a virtual storage space, a pointer is represented by an address in the virtual storage space and an address to the real storage space, and the pointer is represented by an address in the virtual storage space and an address to the real storage space. By indirectly referencing a node in the virtual storage space from a node in the space, data in a structure in which nodes are linked by pointers is expressed across the real storage space and virtual storage space, and the nodes are linked by pointers. A data management method characterized in that data in a structure linked by is moved between a real storage space and a virtual storage space in a list structure unit using the link information.
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1059390A JPH02263233A (en) | 1988-12-14 | 1989-03-10 | Data control system |
| PCT/JP1989/001249 WO1990007151A1 (en) | 1988-12-14 | 1989-12-13 | Data management system |
| DE68928782T DE68928782T2 (en) | 1988-12-14 | 1989-12-13 | DATA MANAGEMENT SYSTEM |
| KR1019900701710A KR950005525B1 (en) | 1988-12-14 | 1989-12-13 | Data management method |
| EP90900984A EP0417293B1 (en) | 1988-12-14 | 1989-12-13 | Data management system |
| US08/117,337 US6067607A (en) | 1988-12-14 | 1993-09-03 | Data control system for a computer's main memory for efficiently realizing virtualization of list structure data lying across a real memory space and a virtual memory space |
| US08/649,775 US5694599A (en) | 1988-12-14 | 1996-05-15 | Data control system for a computer's main memory for efficiently realizing virtualization of list structure data living across a real memory space and a virtual memory space |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63-315652 | 1988-12-14 | ||
| JP31565288 | 1988-12-14 | ||
| JP1059390A JPH02263233A (en) | 1988-12-14 | 1989-03-10 | Data control system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02263233A true JPH02263233A (en) | 1990-10-26 |
Family
ID=18067947
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1059390A Pending JPH02263233A (en) | 1988-12-14 | 1989-03-10 | Data control system |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPH02263233A (en) |
| KR (1) | KR950005525B1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6141477A (en) * | 1997-01-10 | 2000-10-31 | Nec Corporation | Semiconductor optical amplification element |
-
1989
- 1989-03-10 JP JP1059390A patent/JPH02263233A/en active Pending
- 1989-12-13 KR KR1019900701710A patent/KR950005525B1/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6141477A (en) * | 1997-01-10 | 2000-10-31 | Nec Corporation | Semiconductor optical amplification element |
Also Published As
| Publication number | Publication date |
|---|---|
| KR950005525B1 (en) | 1995-05-25 |
| KR910700498A (en) | 1991-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5241673A (en) | System for garbage collecting unused memory space represented by a digraph by assigning values of node identifiers to selected variables based upon predetermined conditions | |
| US5261088A (en) | Managing locality in space reuse in a shadow written B-tree via interior node free space list | |
| JP5762878B2 (en) | Memory system having a key-value store | |
| US8161244B2 (en) | Multiple cache directories | |
| TWI499909B (en) | Hierarchical immutable content-addressable memory processor | |
| CN104364775A (en) | Special memory access path with segment-offset addressing | |
| US20100223432A1 (en) | Memory sharing among computer programs | |
| US20170132071A1 (en) | Crash recovery using non-volatile memory | |
| CN110532201A (en) | A kind of metadata processing method and device | |
| CN111309310B (en) | JavaScript object persistence framework facing nonvolatile memory | |
| US4779191A (en) | Method and apparatus for expanding the address space of computers | |
| EP1537485B1 (en) | Reverse directory for facilitating accesses involving a lower-level cache | |
| CN109189994B (en) | CAM structure storage system for graph computation application | |
| EP0417293B1 (en) | Data management system | |
| JPH02263233A (en) | Data control system | |
| US6434675B2 (en) | Method and apparatus for updating data stored in plural storage means in an information processing system | |
| Albers et al. | Page migration with limited local memory capacity | |
| JP2606305B2 (en) | Data processing device | |
| CN113590582A (en) | Distributed graph database optimization method and device, electronic equipment and storage medium | |
| JP2015181043A (en) | MEMORY, DATA PROCESSING METHOD, AND MEMORY SYSTEM | |
| US20250335345A1 (en) | Efficient burst sort based on network-attached memory | |
| JP7654585B2 (en) | Database system and data management method | |
| CN110673952A (en) | A data processing method and device for high concurrent read applications | |
| JPS63261430A (en) | Information processing method and device | |
| Min et al. | ArcNeural: A Multi-Modal Database for the Gen-AI Era |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20030106 |