JPH01283661A - Inter-processor shared virtual memory control system - Google Patents

Inter-processor shared virtual memory control system

Info

Publication number
JPH01283661A
JPH01283661A JP63114077A JP11407788A JPH01283661A JP H01283661 A JPH01283661 A JP H01283661A JP 63114077 A JP63114077 A JP 63114077A JP 11407788 A JP11407788 A JP 11407788A JP H01283661 A JPH01283661 A JP H01283661A
Authority
JP
Japan
Prior art keywords
virtual memory
shared
processor
memory control
processors
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
JP63114077A
Other languages
Japanese (ja)
Inventor
Norihei Nakada
徳平 中田
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 JP63114077A priority Critical patent/JPH01283661A/en
Publication of JPH01283661A publication Critical patent/JPH01283661A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To decrease an overhead at the time of updating the virtual memory control information by dividing a virtual memory into plural areas and managing whether each area thereof is shared between processors or not. CONSTITUTION:A virtual memory is divided into plural areas, and inter- processor shared information 400 for showing whether each area thereof is shared between processors 110, 210 or not is prepared. At the time of updating the virtual memory control information 130, 230, each processor 110, 210 decides by the inter-processor shared information 400 whether the virtual memory area related to its virtual memory control information 130, 230 is shared with the other processor or not. When said area is shared with the other processor, its virtual memory control information 130, 230 is updated, while synchronizing with the other processor, and when said area is not shared, only the virtual memory control information of the own processor is updated. In such a way, an overhead caused by updating the virtual memory control information can be decreased.

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明はマルチプロセッサシステムを構成する複数のプ
ロセッサが仮想メモリを共有する場合のプロセッサ間共
有仮想メモリ制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an inter-processor shared virtual memory control method when a plurality of processors constituting a multiprocessor system share virtual memory.

〔従来の技術〕[Conventional technology]

従来、他のプロセッサと仮想メモリを共有し、この仮想
メモリ上でプログラムを実行するマルチプロセッサシス
テムにおいては、仮想メモリの全領域をすべてのプロセ
ッサ間で共有しており、成るプロセッサが、自身で保持
する仮想メモリ制御情報(セグメントまたはページが定
義されているか否か、実メモリ上に存在するか否か、実
メモリ上のどこに存在するか、どのプログラムからアク
セス可能か、書き込みは可能かといった情報)を更新す
る際、他のプロセッサが更新前の仮想メモリ制御情報を
取り込み、処理を行っている可能性があるため、他のプ
ロセッサと同期を取りながら、すべてのプロセッサが保
持する仮想メモリ1Iill ?all情報を更新する
ようにしていた。
Conventionally, in multiprocessor systems that share virtual memory with other processors and execute programs on this virtual memory, the entire area of virtual memory is shared among all processors, and each processor has its own memory. Virtual memory control information (information such as whether a segment or page is defined, whether it exists in real memory, where in real memory it exists, which programs can access it, and whether it can be written to) When updating the virtual memory control information before the update, other processors may be importing and processing the virtual memory control information before the update. I was trying to update all information.

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

上述した従来の方式では、仮想メモリ制御情報を更新す
る際、他のプロセッサと同期を取りながらすべてのプロ
セッサの仮想メモリ制御情報を更新しているので、仮想
メモリ制御情報を更新する頻度が高い場合、オーバーヘ
ッドが大きくなるという問題点があった。
In the conventional method described above, when updating virtual memory control information, the virtual memory control information of all processors is updated while synchronizing with other processors, so if the virtual memory control information is updated frequently. However, there was a problem in that the overhead was large.

本発明はこのような従来の問題点を解決したもので、そ
の目的は、仮想メモリを複数の領域に分割し、その領域
毎にプロセッサ間で共有されるか否かを管理することに
より、仮想メモリ制御情報を更新する際のオーバーヘッ
ドを小さくしたプロセンサ間共有仮想メモリ制御方式を
提供することにある。
The present invention solves these conventional problems, and its purpose is to divide virtual memory into multiple areas and manage whether each area is shared between processors. An object of the present invention is to provide a shared virtual memory control method between processors that reduces overhead when updating memory control information.

(課題を解決するための手段〕 本発明は上記の目的を達成するために、複数のプロセッ
サ間で実メモリおよび仮想メモリを共有し、その共有し
た実メモリおよび仮想メモリ上でプログラムを実行する
マルチプロセッサシステムにおいて、仮想メモリを複数
の領域に分割し、その領域毎にプロセッサ間で共有され
るか否かを示すプロセッサ間共有情報を持ち、各プロセ
ッサは、仮想メモリ制御情報を更新する際、その仮想メ
モリ制御情報にかかる仮想メモリ領域がプロセッサ間で
共有されているか否かを前記プロセッサ間共有情報によ
り判定し、プロセッサ間で共有されている場合は、共有
しているプロセッサと同期を取りながら共有している全
プロセッサの仮想メモリ制御情報を更新し、共有されて
いない場合は、自プロセッサの仮想メモリ制御情報だけ
を更新するように構成される。
(Means for Solving the Problems) In order to achieve the above object, the present invention provides a multiprocessor system that shares real memory and virtual memory among multiple processors and executes programs on the shared real memory and virtual memory. In a processor system, virtual memory is divided into multiple areas, and each area has inter-processor sharing information indicating whether or not it is shared between processors.When updating virtual memory control information, each processor Determine whether or not the virtual memory area related to the virtual memory control information is shared between processors based on the inter-processor sharing information, and if it is shared between processors, share it while synchronizing with the sharing processor. If the virtual memory control information is not shared, only the virtual memory control information of the own processor is updated.

〔作用〕[Effect]

本発明のプロセッサ間共有仮想メモリ制御方式において
は、仮想メモリが複数の領域に分割され、その領域毎に
プロセッサ間で共有されるか否かを示すプロセッサ間共
有情報が用意され、各プロセッサは仮想メモリ制御情報
を更新する際、その仮想メモリ制御情報にかかる仮想メ
モリ領域が他のプロセッサと共有されているか否かをプ
ロセッサ間共有情報により判定し、他のプロセッサと共
有されている場合は、その他のプロセッサと同期を取り
ながら、その仮想メモリ制御情報を更新し、共有されて
いない場合には自プロセッサの仮想メモリ制御情報だけ
を更新する。
In the inter-processor shared virtual memory control method of the present invention, virtual memory is divided into a plurality of areas, inter-processor shared information indicating whether or not to be shared between processors is prepared for each area, and each processor When updating memory control information, it is determined whether the virtual memory area related to the virtual memory control information is shared with other processors based on inter-processor sharing information, and if it is shared with other processors, other The virtual memory control information is updated while synchronizing with the other processor, and if the virtual memory control information is not shared, only the virtual memory control information of the own processor is updated.

C実施例〕 次に、本発明の実施例について図面を参照して詳細に説
明する。
C Embodiment] Next, an embodiment of the present invention will be described in detail with reference to the drawings.

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

同図において、110はプロセッサ、100はプロセッ
サ110上で動作する仮想メモリ制御機構、120はプ
ロセッサ110に内蔵されているプロセッサ間通信制御
袋!、130はプロセッサ110の仮想メモリ制御情報
であり、これは各々プロセッサ110の仮想メモリを構
成する第1セグメント、第2セグメント第3セグメント
第4セグメントに対応する制御情報131,132,1
33.134で構成されている。また、210はマルチ
プロセッサシステムを構成する別のプロセッサ、200
はプロセッサ210上で動作する仮想メモリ制御機構、
220はプロセッサ210に内蔵されているプロセッサ
間通信制御装置、230はプロセッサ210の仮想メモ
リ制御情報であり、これは各々プロセッサ210の仮想
メモリを構成する第1セグメント、第2セグメント第3
セグメント、第4セグメントに対応する制御情報231
.232,233,234で構成されている。更に、3
00はプロセッサ110,210で共有される共有実メ
モリ、301,302,303.304は共有実メモリ
300を構成する領域、400はプロセッサ110,2
10から共に参照可能なプロセッサ間共有情報であり、
これは各々プロセッサ110,210の第1セグメント
第2セグメント、第3セグメント、第4セグメントに対
応したプロセッサ間共有情報である。このプロセッサ間
共有情報400では、0が非共有を、1が共有を示す、
すなわち、本実施例では、プロセッサ110.210の
仮想メモリは4つのセグメントに分割され、各々の第1
セグメントと第4セグメントは非共有セグメント、各々
の第2セグメントと第3セグメントは共有セグメントと
なっている。
In the figure, 110 is a processor, 100 is a virtual memory control mechanism operating on the processor 110, and 120 is an inter-processor communication control bag built into the processor 110! , 130 is virtual memory control information of the processor 110, which includes control information 131, 132, 1 corresponding to the first segment, second segment, third segment, fourth segment, respectively, which constitute the virtual memory of the processor 110.
It is composed of 33.134. Further, 210 is another processor configuring the multiprocessor system, and 200
is a virtual memory control mechanism running on the processor 210;
220 is an inter-processor communication control device built in the processor 210, and 230 is virtual memory control information of the processor 210, which includes the first segment, the second segment, the third segment, and the third segment that constitute the virtual memory of the processor 210, respectively.
Control information 231 corresponding to the segment and the fourth segment
.. It is composed of 232, 233, and 234. Furthermore, 3
00 is a shared real memory shared by the processors 110 and 210, 301, 302, 303, and 304 are areas forming the shared real memory 300, and 400 is a shared real memory shared by the processors 110 and 2
It is inter-processor shared information that can be referenced together from 10 to 10,
This is inter-processor shared information corresponding to the first segment, second segment, third segment, and fourth segment of the processors 110 and 210, respectively. In this inter-processor sharing information 400, 0 indicates non-sharing, 1 indicates sharing,
That is, in this embodiment, the virtual memory of processor 110.210 is divided into four segments, each with a
The segment and the fourth segment are non-shared segments, and the second and third segments are shared segments.

第2図はプロセッサ間で共有された仮想メモリのセグメ
ントにかかる制御情報を更新する際の動作説明図、第3
図はプロセッサ間で共有されていない仮想メモリのセグ
メントにかかる制御情報を更新する際の動作説明図、第
4図は仮想メモリ制御機構100,200の動作を示す
フローチャートであり、以下各図を参照して本実施例の
動作を説明する。
Figure 2 is an explanatory diagram of the operation when updating control information related to a segment of virtual memory shared between processors;
The figure is an explanatory diagram of the operation when updating control information related to a segment of virtual memory that is not shared between processors, and FIG. 4 is a flowchart showing the operation of the virtual memory control mechanism 100, 200. Please refer to each figure below. The operation of this embodiment will now be explained.

先ず、プロセッサ間で共有されている仮想メモリのセグ
メントにかかる制御情報を更新する際の動作を、プロセ
ッサ110が共有実メモリ300の領域303に存在す
る他のプロセッサと共有の第2セグメントを、図示しな
い二次記憶に退避する場合を例にして説明する(第2図
および第4図参照)。
First, the operation when updating control information related to a segment of virtual memory shared between processors is shown in FIG. The following is an example of a case in which data is saved to secondary storage where data is not stored (see FIGS. 2 and 4).

プロセッサ110の仮想メモリ制御機構100は、共有
実メモリ300の負荷が高くなり第2セグメントを二次
記憶側に退避すべきと判断すると、ステップS1におい
てプロセッサ閲兵有情1400上の第2セグメントに対
応するプロセッサ間共有情報402を参照する(■)、
この場合、プロセッサ間共有情報402には1が格納さ
れているため、仮想メモリ制御機構100はステップS
2において、自己の第2セグメントは他のプロセッサ間
で共有されていると判断し、次のような処理を行う。
When the virtual memory control mechanism 100 of the processor 110 determines that the load on the shared real memory 300 becomes high and that the second segment should be saved to the secondary storage side, the virtual memory control mechanism 100 of the processor 110 saves the second segment to the secondary storage side in step S1. Refer to inter-processor shared information 402 (■),
In this case, since 1 is stored in the inter-processor shared information 402, the virtual memory control mechanism 100 performs step S
2, it is determined that its second segment is shared among other processors, and the following processing is performed.

先ず、ステップS3において、プロセッサ間通信制御装
置120に対し、処理を一時停止せよというメツセージ
をプロセッサ210へ通知するように指令する(■)、
これに応答してプロセッサ間通信制御装置120はプロ
セッサ210に処理を一時停止せよというメツセージを
通知する(■)。
First, in step S3, the inter-processor communication control device 120 is instructed to notify the processor 210 of a message to temporarily stop processing (■);
In response, the interprocessor communication control device 120 notifies the processor 210 of a message to temporarily stop processing (■).

プロセッサ210内のプロセッサ間通信制御装置220
はこれを受は取ると、プロセッサ210上で動作してい
る仮想メモリ制御機構200に処理を一時停止せよとい
うメソセージを伝える(■)。
Inter-processor communication control device 220 in processor 210
When it receives this, it sends a message to the virtual memory control mechanism 200 running on the processor 210 to temporarily stop processing (■).

これにより仮想メモリ制御機構200は処理を一時停止
することになる。
This causes the virtual memory control mechanism 200 to temporarily stop processing.

次に仮想メモリ制御機構100は、ステップS4におい
て、第2セグメントをメモリ不在にせよというメツセー
ジをプロセッサ間通信制御装置120.220を介して
仮想メモリ制御機構200へ伝える(■、■、■)、こ
のメツセージを受は取った仮想メモリ制御機構200は
プロセッサ210内の第2セグメントの制御情報232
をメモリ不在の状態に変更する(■)。
Next, in step S4, the virtual memory control mechanism 100 transmits a message to the virtual memory control mechanism 200 via the interprocessor communication control device 120, 220 to make the second segment free of memory (■, ■, ■); The virtual memory control mechanism 200 that received this message uses the control information 232 of the second segment in the processor 210.
Change the state to out of memory (■).

次に仮想メモリ制御機構100は、ステップS5におい
て、プロセッサ110内の第2セグメントの制御情報1
32をメモリ不在の状態に変更する(■)。
Next, in step S5, the virtual memory control mechanism 100 controls the control information 1 of the second segment in the processor 110.
32 is changed to the state of no memory (■).

次に、仮想メモリ制御機構100は、ステップS6にお
いて、仮想メモリ制御機構200に対し、プロセッサ間
通信制御装置120,220を介して一時停止を解き処
理を再開せよというメソセージを伝える ([株]、■
、0)、これにより、仮想メモリ制御機構200は処理
を再開することになる。
Next, in step S6, the virtual memory control mechanism 100 transmits a message to the virtual memory control mechanism 200 via the inter-processor communication control devices 120 and 220 to cancel the suspension and resume processing. ■
, 0), this causes the virtual memory control mechanism 200 to resume processing.

以上の処理により、システム上でプロセッサ110.2
10で共有される第2セグメントはメモリ不在となり、
二次記憶へ退避するためのIloを開始することができ
るようになる。
With the above processing, processor 110.2 is installed on the system.
The second segment shared by 10 will be out of memory,
It becomes possible to start Ilo for saving to secondary storage.

次に、プロセッサ間で共有されていない仮想メモリ領域
にかかる制御情報を更新する際の動作を、プロセッサ1
10が共有実メモリ300の領域302に他のプロセッ
サと非共有の自己の第1セグメントを二次記憶からロー
ドする場合を例にして説明する(第3図および第4図参
照)。
Next, we will explain how each processor updates the control information related to the virtual memory area that is not shared between processors.
10 loads its own first segment, which is not shared with other processors, into area 302 of shared real memory 300 from secondary storage (see FIGS. 3 and 4).

プロセッサ110の仮想メモリ制御機構100は、第1
セグメントを二次記憶から共有実メモリ300の領域3
02ヘロードした後、ステップS1において、プロセッ
サ間共有情報400上の自己の第1セグメントに対応す
るプロセッサ量弁有情!11401を参照する([相]
)、この場合、プロセッサ間共有情報401にはOが格
納されているため、仮想メモリ制御機構100は、ステ
ップS2において、自己の第1セグメントはプロセッサ
間で共有されていないと判断し、ステップS7において
、プロセッサ110内の第1セグメントの制御情報13
1が共有実メモリ300に存在することを示す状態にし
且つ共有実メモリ300上の存在場所をセットする([
相])、プロセッサ110中の第1セグメントは他のプ
ロセッサ210と共有されていないため、仮想メモリ制
御機構200に対し第1セグメントの制御情報の更新情
報の通知や同期制御は行わない。
The virtual memory control mechanism 100 of the processor 110 has a first
The segment is transferred from the secondary storage to area 3 of the shared real memory 300.
02, in step S1, the processor amount valve existing! corresponding to the first segment of the self on the inter-processor shared information 400 is loaded. Refer to 11401 ([phase]
), in this case, since O is stored in the inter-processor sharing information 401, the virtual memory control mechanism 100 determines in step S2 that its first segment is not shared among processors, and in step S7 In the first segment control information 13 in the processor 110
1 exists in the shared real memory 300, and sets the location on the shared real memory 300 ([
Since the first segment in the processor 110 is not shared with other processors 210, the virtual memory control mechanism 200 is not notified of updated control information of the first segment or synchronized.

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

以上説明したように、本発明では、仮想メモリを複数の
領域に分割し、それぞれの領域毎にプロセッサ間で共有
するか否かの情報をプロセッサ間共有情報として持たせ
ることで、必要な領域のみをプロセッサ間で共有できる
ようにし、他のプロセッサと共有されるIFi想メ子メ
モリ域にかかる仮想メモリ制御情報を更新するときのみ
他のプロセッサと同期を取りながら共有している全プロ
セッサの仮想メモリ制御情報を更新するようにしたので
、仮想メモリ制御情報の更新によるオーバーヘッドを減
少させることができる。
As explained above, in the present invention, virtual memory is divided into multiple areas, and information on whether or not to share between processors is provided for each area as inter-processor sharing information, so that only the necessary area can be used. The virtual memory of all processors that is shared while being synchronized with other processors only when updating the virtual memory control information related to the IFi memory area that is shared with other processors. Since the control information is updated, the overhead caused by updating the virtual memory control information can be reduced.

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

第1図は本発明の一実施例のブロック図、第2図はプロ
セッサ間で共有された仮想メモリのセグメントにかかる
制御情報を更新する際の動作説明図、 第3図はプロセッサ間で共有されていない仮想メモリの
セグメントにかかる制御情報を更新する際の動作説明図
および、 第4図は仮想メモリ制御機構100,200の動作を示
すフローチャートである。 図において、 100.200・・・仮想メモリ制御機構110.21
0・・・プロセッサ 120.220・・・プロセッサ間通信制御装置130
.230・・・プロセッサ110,210の仮想メモリ
制御情報 300・・・共有実メモリ 400・・・プロセッサ間共有情報
Fig. 1 is a block diagram of an embodiment of the present invention, Fig. 2 is an explanatory diagram of the operation when updating control information related to a segment of virtual memory shared between processors, and Fig. 3 is a block diagram of an embodiment of the present invention. FIG. 4 is a flowchart showing the operation of the virtual memory control mechanism 100, 200. In the figure, 100.200...virtual memory control mechanism 110.21
0...Processor 120.220...Inter-processor communication control device 130
.. 230... Virtual memory control information of processors 110, 210 300... Shared real memory 400... Inter-processor shared information

Claims (1)

【特許請求の範囲】 複数のプロセッサ間で実メモリおよび仮想メモリを共有
し、その共有した実メモリおよび仮想メモリ上でプログ
ラムを実行するマルチプロセッサシステムにおいて、 仮想メモリを複数の領域に分割し、その領域毎にプロセ
ッサ間で共有されるか否かを示すプロセッサ間共有情報
を持ち、 各プロセッサは、仮想メモリ制御情報を更新する際、そ
の仮想メモリ制御情報にかかる仮想メモリ領域がプロセ
ッサ間で共有されているか否かを前記プロセッサ間共有
情報により判定し、プロセッサ間で共有されている場合
は、共有しているプロセッサと同期を取りながら共有し
ている全プロセッサの仮想メモリ制御情報を更新し、共
有されていない場合は、自プロセッサの仮想メモリ制御
情報だけを更新することを特徴とするプロセッサ間共有
仮想メモリ制御方式。
[Claims] In a multiprocessor system in which real memory and virtual memory are shared among multiple processors and programs are executed on the shared real memory and virtual memory, the virtual memory is divided into multiple areas and the Each area has inter-processor sharing information indicating whether it is shared between processors, and when each processor updates virtual memory control information, the virtual memory area related to the virtual memory control information is shared between processors. If it is shared between processors, the virtual memory control information of all shared processors is updated in synchronization with the shared processors, and shared An inter-processor shared virtual memory control method characterized by updating only the virtual memory control information of its own processor if it has not been updated.
JP63114077A 1988-05-11 1988-05-11 Inter-processor shared virtual memory control system Pending JPH01283661A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63114077A JPH01283661A (en) 1988-05-11 1988-05-11 Inter-processor shared virtual memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63114077A JPH01283661A (en) 1988-05-11 1988-05-11 Inter-processor shared virtual memory control system

Publications (1)

Publication Number Publication Date
JPH01283661A true JPH01283661A (en) 1989-11-15

Family

ID=14628477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63114077A Pending JPH01283661A (en) 1988-05-11 1988-05-11 Inter-processor shared virtual memory control system

Country Status (1)

Country Link
JP (1) JPH01283661A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09504452A (en) * 1993-10-08 1997-05-06 ファイアーフライ アクティエ ボラーグ Equipment for avoiding fire hazard from particles burning in flames with or without flames
US7937553B2 (en) 2007-04-25 2011-05-03 Hitachi, Ltd. Controlling virtual memory in a storage controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09504452A (en) * 1993-10-08 1997-05-06 ファイアーフライ アクティエ ボラーグ Equipment for avoiding fire hazard from particles burning in flames with or without flames
US7937553B2 (en) 2007-04-25 2011-05-03 Hitachi, Ltd. Controlling virtual memory in a storage controller

Similar Documents

Publication Publication Date Title
JP3483877B2 (en) Data processing method and data processing system in processor
US5127098A (en) Method and apparatus for the context switching of devices
US6832298B2 (en) Server system operation control method
JPH04348451A (en) Parallel computer
KR20010052972A (en) Synchronization of processor in a fault toferant multi-processor system
JPH01283661A (en) Inter-processor shared virtual memory control system
JPH07302220A (en) Updating and reference management system and reference timing control system for shared memory
JPH07141302A (en) Load distribution method for parallel computer
JPH0448352A (en) File decentralization system
KR100294314B1 (en) Data processing system and method and communication system with such system
JPS6327733B2 (en)
CN117234607B (en) Multi-core system, dynamic module loading method, medium and processor chip thereof
JPH03177960A (en) Inter-processor memory exclusive control system
JP2664197B2 (en) Synchronization assurance processing method for duplicated volumes
JPH0425963A (en) Online processor installation system for multi-processor system
JPH04148363A (en) Multi-computer system
JPH04326453A (en) Multi-processor system
JPH01248207A (en) Numerical controller
JP3709050B2 (en) Data update system
JPH03182945A (en) Transfer system for data in main storage
JPH0782443B2 (en) Task management method for operating system
JPH0573518A (en) Memory mapped cpu system
JPH0329049A (en) Multiprocessor system
JPH0830469A (en) Thread control method
JPH03278134A (en) Shadow process generating system