JPH03252856A - プログラムの処理方式 - Google Patents

プログラムの処理方式

Info

Publication number
JPH03252856A
JPH03252856A JP2051094A JP5109490A JPH03252856A JP H03252856 A JPH03252856 A JP H03252856A JP 2051094 A JP2051094 A JP 2051094A JP 5109490 A JP5109490 A JP 5109490A JP H03252856 A JPH03252856 A JP H03252856A
Authority
JP
Japan
Prior art keywords
program
processor
page
processors
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2051094A
Other languages
English (en)
Inventor
Takuji Kawada
卓嗣 川田
Takahide Oogami
貴英 大上
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2051094A priority Critical patent/JPH03252856A/ja
Publication of JPH03252856A publication Critical patent/JPH03252856A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、一つのプログラムをシステムに複数接続さ
れたプロセッサで並列に実行するプログラムの処理方式
に関するものである。
〔従来の技術〕
(1)従来の技術の構成の説明 第4図は、例えば「音波講座 情報科学−16オペレー
テイング・システムの機能と構成」(1983年)の第
6章”主記憶装置の管理”93”ベージング″(pp、
212−223)に示されたベージングによるアドレス
変換方式である。ベージングは仮想記憶を実現するため
の一手段である。仮想記憶を用いると実際に搭載されて
いるメモリの容量にかかわらず、仮想空間として、プロ
セッサが論理的にアドレス可能な最大の(アドレスレジ
スタが32ビツトのプロセッサであれば4Gバイトの)
メモリ空間が存在するかのように扱うことができる。ま
た、1つのプロセンサ上に複数の仮想メモリ空間を設定
し、それぞれの仮想メモリ空間に各ユーザプログラムを
設定することが可能である。図において、lはベージン
グを用いた仮想記憶で用いられる仮想アドレスのフォー
マットであり、2のページ番号と、3のページ内ロケー
ションに分けられる。4のページ枠は実記憶装置の主記
憶上に置かれる一定の大きさのメモリ領域である。5の
ページ表は、仮想空間を管理するために使用される。ペ
ージ表5の個々の要素は、仮想アドレスのページ番号2
によってインデックスされ、主記憶上の対応するページ
枠4のページ枠番号6とページ枠4の有無を表すページ
フォールトピント7の対からなる。DBR8はページ表
5のアドレス10と大きさ9を示すためのCPUのレジ
スタである。
ベージングを用いた仮想記憶では、ページ番号2の例え
ばpからページ表5に格納されたページ枠の番号6の例
えばpfを知り、ページ枠4の中での位置を仮想アドレ
ス1のページ内ロケーション3の例えばlによって指定
することで仮想アドレス1を主記憶上の実アドレスに変
換する。アドレス変換の過程でページフォールトピント
7が“1”の場合はページフォールト割り込みが発生す
る。
第5図は、例えばベージングによる仮想メモリ管理機構
を持つプロセッサ16と、ディスク装置から2次記憶装
置11とで構成されたシステムのプログラムの実行環境
を示している。11はシステムのユーザプログラムを大
量に記憶する2次記憶装置である。12a〜12cはユ
ーザプログラムのオブジェクトモジュールであり、これ
らはプログラムローダによって2次記憶装置11からプ
ロセッサ16内の仮想空間にロードされ、プロセッサ1
6により実行される。プロセッサ16内にはユーザプロ
グラムが実行される複数の仮想空間13a〜13cと主
記憶17とが設けられ、主記憶17には空きページ枠1
5が形成されている。
また、2次記憶装211内の14は、主記憶上に乗り切
れない又は載せる必要性のないページの内容を区分けし
て記憶するスワップスペースである。
プログラムのロードは、ユーザプログラムを2次記憶装
置llからプロセッサ16の仮想空間に読み込み、主記
憶17上のページ枠に収まらないページについては2次
記憶装置内のスワップスペース14に書き込むことで行
われる。スワップスペース14に書き込んだページにつ
いてページ表5のページフォールトビットを1にしてお
くと、実行時にそのページにアクセスが行われた場合は
、プロセッサ16の主記憶17上に該当ページがないの
で、ページフォールト割り込みが発生する。
ページフォールト割り込みに応じてシステムを管理する
オペレーティングシステムが2次記憶装置11のスワッ
プスペース14から目指すページを主記憶17上のペー
ジ枠に読み込む。
図で、例えばユーザプログラム12aが主記憶17上に
存在しないページa2にアクセスすると、ページフォー
ルト割り込みが発生する。オペレーティングシステムは
主記憶17から空きページ枠15を捜し、そこに2次記
憶装置11のスワップスペース14からページa3の内
容14aを読み込み、そのページ枠15をページ表5に
登録する。
空きページ枠15がない場合は、ユーザプログラム12
aに割り当てられているページ枠4の内から1のページ
枠4を選んでその内容を2次記憶装置llのスワップス
ペース14に書き込み、その後、空けたページ枠15に
2次記憶装置11からページa2の内容を読み込む。こ
のように必要に応じて2次記憶装置11からスワップス
ペースページbS+  aZ等を読み込む操作はデマン
ドベージングとして知られている。
〔発明が解決しようとする課題〕
以上のような処理を、例えば第3図のようなローカルメ
モリを持った複数のプロセッサからなるシステムで行う
ことを考える0図で、16a〜16fはシステムに複数
存在するプロセッサであり、17a〜17fはプロセッ
サ毎に存在する前記主記憶17にあるローカルメモリで
ある。11はこのシステムの2次記憶装置である。シス
テムの各プロセッサ16a〜16fは互いにプロセッサ
間通信機構を使って通信を行うものとする。このような
構成のシステムで、複数のプロセッサ16a〜16fを
用いて1つのプログラムを小プログラムに分割し、各小
プログラムをそれぞれのプロセンサ16a−16fに並
列に実行させる場合、従来例では起動時に、全てのプロ
セッサ16a−16fが不要なページも含めて2次記憶
装置11からオブジェクトモジュール12a〜12dを
ロードする必要がある。また、全てのプロセッサ16a
〜16fが同時に2次記憶装置11からのオブジェクト
モジュール12a〜12cのロードを行う時には、通常
比較的低速で一度に一つのプロセッサとの人出力しか行
えない一般的なディスク装置の2次記憶装置の入出力待
ち時間は、重なって大きなオーバヘッドとなる。
また、実行時にプロセッサ16a〜16fが各々2次記
憶装置tllとデマンドページングの処理を行う場合に
も、2次記憶装置11の入出力待ち時間の重なり時間が
長くかかるという問題があった。
この発明は、このような問題点を解決するためになされ
たもので、各プロセッサには分担分のページのみをロー
ドするようにして、複数のプロセッサでプログラムを並
列に起動する際のオーバヘッドを小さくすることを目的
とする。
〔課題を解決するための手段〕
この発明においては、第1図、第2図において、プロセ
ッサ16a〜16cのうち1のプロセッサ16aに2次
記憶装211からプログラムの全ページをロードしくス
テップsl)、他のプロセッサ16b〜16cに仮想空
間13f、13gを初期化しくステップSイ)、1のプ
ロセッサ16aから他のプロセッサ16b、16cに、
通信機構を用いて該プログラムの実行開始アドレスを転
送して実行状態としくステップS、)、実行上必要にな
ったプログラムのページを各地のプロセッサ16b、1
6cに1のプロセッサ16aから転送しくステップS+
o)、全プロセッサ162〜16cがプログラムを分担
して並列に処理する(ステップ513)ようにした。
〔作用〕
この発明では、1のプロセッサ16aにプログラムを2
次記憶装置11から全ページロードし、プログラムを実
行する他のプロセンサ16b。
16cには、必要な時に必要な分のページのみを1のプ
ロセッサ16aから通信機構を介して転送する。そして
各プロセッサ16a−16cは並列して分担したページ
単位のプログラムを処理するので、高速処理が実現でき
、プログラム起動時のオーバヘッドを小さくすることが
できる。
〔実施例〕
以下、この発明の実施例を図について説明する。
第1図は、プロセッサ間通信機構としてメツセージを用
いるシステムでの、本発明に基づくプログラムローダの
実行環境を示しており、11はプログラムが格納されて
いる2次記憶装置、16aは2次記憶装置11と接続さ
れる特定のプロセッサ、16b、16Cはプロセッサ1
6aと接続されメツセージを使って通信するプロセンサ
である。
18a−18cは、各プロセッサ16a〜16c上で最
初に実行される基本ソフトウェアであるプログラムロー
ダである。各プログラムローダ18a〜18cはそれぞ
れ2次記憶装置ローダ19a〜19cとページフォール
トサーバ20a〜20cのページフォールトハンドラ2
1a〜21cの3つの部分からなる。
特定プロセッサ16a内には独立した2個の仮想空間1
3d、13eが、その他のプロセッサ16b、16Cに
は1個の仮想空間13f。
13gがそれぞれ設定されている。プロセッサ16a〜
16Cは主記憶をそれぞれ備えている〈図示しない)。
第2図は、プログラムローダ18aが例えば他の2つの
プロセッサに、プログラムを並列にロードする過程を示
している。以下、第1図を参照しながら、プログラムロ
ーダの動作の流れについて説明する。全てのプロセッサ
162〜16cはステップS0で待機状態にあり、まず
、ステップS、で特定プロセッサ16aの2次記憶装置
2次記憶装置ローダ19aが2次記憶装filがらユザ
プログラムのオブジェクトモジュールA〜Iを一方の仮
想空間13dに全て読み込む、この時ユーザプログラム
のページは全て当該プロセッサ16a内の主記憶上のペ
ージ枠に割り付け、2次記憶装置11のディスクのスワ
ップスペース上には置かない。次に、ステップS2でそ
のユーザプログラムを実行する自己を含め全てのプロセ
ッサ16a〜16cのプログラムローダ(第1図の例で
はプロセッサ16a自身とプロセッサ16b。
16cのプログラムローダ)にプログラムの実行開始を
要求するメツセージmを発行する。そしてプログラムロ
ーダ18aはステップS8のメツセージ待ち状態になる
。このメツセージmは、ユーザプログラムに関する情報
として実行開始アドレスを含んでいる。ステップS3で
このメツセージmを受は取ったプロセッサ16a−16
cの各プログラムローダ18a−18cは、ユーザプロ
グラムを実行するために仮想空間13e〜13gを初期
化する。この時点ではそれらの仮想空間13e〜13g
を管理するページ表の、全てのベジフォールトビットは
1であり、仮想空間13e〜13gに割り付けられてい
るページ枠は今だ存在しない(ステップS、)。
次にステップSSで各プログラムローダ18a〜18c
は、受は取ったメツセージmに格納さたユーザプログラ
ムの実行開始アドレスから処理実行を開始する。。ステ
ップS6で仮想空間13e〜13fを管理するページ表
でページフォールトピントが1のページ枠に対するアク
セスは、ペーフォールト割り込みを発生する。最初のペ
ージフォールト割り込みは、最初に各プロセッサ16a
〜16cがユーザプログラムの実行開始アドレスからユ
ーザプログラムを読もうとした時点で発生する。
例えば、プロセッサ16bの仮想空間13fでページフ
ォールトが1の場合、割り込みによっ・てユーザプログ
ラムの実行は進行できないので中断し、プロセッサ16
bのプログラムローダ18bのページフォールトハンド
ラ21bが起動される。
ステップS7でページフォールトハンドラ21bは主記
憶上で空のページ枠を用意し、そのユーザプログラムの
オリジナルが存在するプロセッサ16aのページフォー
ルトサーバ20aにページの転送を要求する〔ページ転
送要求メツセージ〕rを発行する。そして当該ページフ
ォールトハンドラ21bはメツセージ待ち状態ステップ
S、になる。メーセージrを受は取ったプロセッサ16
aのページフォールトサーバ20aは、ステップS10
でユーザプログラムのオリジナルを保持する仮想空間1
3dから、〔ページ転送要求メツセージ〕 rで指定さ
れたページ枠の内容を〔ページ転送メツセージ〕qを使
って、要求を出したプロセッサ16b又は16cに転送
する。そして当該ページフォールトサーバ20aはステ
ップs1□のメツセージ待ち状態となる。各ページフォ
ールトハンドラ21a〜21cとステップSllで〔ペ
ージ転送メツセージ〕qで転送されたページの内容をあ
らかしめ用意しておいた空のページ枠に読み込み、ステ
ップSI3でそのページ枠を対応するページ表に登録す
る。また対応するページフォールトサーバは0にする。
従って、それ以後そのべ〜ジ粋に対して仮想空間13e
〜13gは自由にアクセスできる。特定プロセッサ16
aはステップSl!の待ちからステップSIOに戻り、
また実行プロセッサ16a〜16cはステップSI3か
ら次の実行のためステップS6に戻り、以降、プログラ
ムがデータ領域にアクセスする場合や、プロセッサが新
しいページ枠からプログラムを読もうとした場合に発生
するページフォールトは、同様に処理され、ユーザプロ
グラムを各プロセッサ16a〜16cで分担して並列し
て実行し、高速に処理できる。
特定プロセッサ16に対して実行プロセッサ16a〜1
6cは自己が分担して処理する小プログラムについて実
行進行に伴い必要なページの転送要求、受信、処理実行
を上記フローチャートに従って実行する。即ち第1図で
各仮想空間138〜13gの内容は処理分担に応したも
のとなっており、必ずしも同一ではない。
この実施例ではメツセージによるプロセッサ間通信機構
を持ったシステムの例を示したがプロセンサ間の通信機
構として共有メモリを使用するシステムの場合でも同様
の効果が得られる。
〔発明の効果〕
以上説明してきたように、この発明によれば、通信機構
を介して互いに接続された複数のプロセッサと、プログ
ラムを記憶した2次記憶装置とを備え、複数のプロセッ
サが2次記憶装置から前記プログラムを読み出して該プ
ログラムを並列に処理するシステムにおいて、 プロセッサのうち1のプロセッサに2次記憶装置からプ
ログラムの全ページをロードし、他のプロセッサに仮想
空間を初期化し、前記1のプロセッサから他のプロセッ
サに通信機構を用いて該プログラムの実行開始アドレス
を転送して実行状態とし、実行上必要になったプログラ
ムのページを多他のプロセッサに1のプロセンサから転
送し、全プロセッサがプログラムを分担して並列に処理
するようにして、プロセッサ間通信機構を使って実行時
にオンデマンドベージングを行うため、全てのプロセッ
サが同等に2次記憶装置にアクセスする方式に比ベプロ
グラムの起動時、実行時のオーバーヘッドが小さくなる
【図面の簡単な説明】
第1図は、本発明によるプログラムローダが2次記憶装
置から読み込んだプログラムを2つのプロセンサで並列
に実行する様子を示す図、第2図は、本発明によるプロ
グラムローダがプログラムをページ単位に分割して並列
に実行する過程を示す図であり、第3図は、ローカルメ
モリを持つ複数のプロセンサからなるシステムの構成国
であり、第4図は、ページングによるアドレス変換の一
例を示す図、第5図はベージングによる仮想記憶を用い
た単一プロセッサシステムにおける従来のプログラムロ
ーダの実行の様子を示す図である。 1・・・仮想アドレス、2・・・ページ番号、3・・・
ページ内ロケーション、4・・・ページ枠、5・・・ペ
ージ表、6・・・ページ枠の番号、7・・・ページフォ
ールトビット、8・・・フォーマント、9・・・ページ
表の大きさ、10・・・アドレス、11・・・2次記憶
装置、12・・・オブジェクトモジュール、13・・・
仮想空間、14・・・スワンプスペース、15・・・空
きページ枠、16・・・プロセッサ、17・・・ロカル
メモリ、18・・・プログラムローダ、19・・・2次
記憶装置ローダ、20・・・ページフォールトサーバ、
21・・・ページフォールトハンドラ。

Claims (1)

  1. 【特許請求の範囲】 通信機構を介して互いに接続された複数のプロセッサと
    、プログラムを記憶した2次記憶装置とを備え、前記複
    数のプロセッサが前記2次記憶装置から前記プログラム
    を読み出し該プログラムを並列に処理するシステムにお
    いて、 前記プロセッサのうち1のプロセッサに前記2次記憶装
    置から前記プログラムの全ページをロードし、前記他の
    プロセッサに仮想空間を初期化し、前記1のプロセッサ
    から他のプロセッサに、前記通信機構を用いて該プログ
    ラムの実行開始アドレスを転送して実行状態とし、実行
    上必要になった前記プログラムのページを各他のプロセ
    ッサに1のプロセッサから転送し、全プロセッサが前記
    プログラムを分担して並列に処理するようにしたことを
    特徴とするプログラム処理方式。
JP2051094A 1990-03-02 1990-03-02 プログラムの処理方式 Pending JPH03252856A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2051094A JPH03252856A (ja) 1990-03-02 1990-03-02 プログラムの処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2051094A JPH03252856A (ja) 1990-03-02 1990-03-02 プログラムの処理方式

Publications (1)

Publication Number Publication Date
JPH03252856A true JPH03252856A (ja) 1991-11-12

Family

ID=12877231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2051094A Pending JPH03252856A (ja) 1990-03-02 1990-03-02 プログラムの処理方式

Country Status (1)

Country Link
JP (1) JPH03252856A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168213A (ja) * 1992-09-04 1994-06-14 Internatl Business Mach Corp <Ibm> システム間チャネルページング機構
JPH0844687A (ja) * 1994-07-29 1996-02-16 Nec Corp メモリサーバを利用した仮想メモリ管理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06168213A (ja) * 1992-09-04 1994-06-14 Internatl Business Mach Corp <Ibm> システム間チャネルページング機構
JPH0844687A (ja) * 1994-07-29 1996-02-16 Nec Corp メモリサーバを利用した仮想メモリ管理方式

Similar Documents

Publication Publication Date Title
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
US20040268044A1 (en) Multiprocessor system with dynamic cache coherency regions
JPH04246745A (ja) 情報処理装置及びその方法
US5727179A (en) Memory access method using intermediate addresses
JP3169624B2 (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JPH03252856A (ja) プログラムの処理方式
TW202119215A (zh) 共用代碼之系統與代碼共用方法
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JPS6136845A (ja) シングルチツプマイクロコンピユ−タ
JPS63244152A (ja) 拡張記憶装置アクセス制御装置
CN217588059U (zh) 处理器系统
JPH04104358A (ja) マイクロコンピュータ装置
JPH0522939B2 (ja)
JP2517859B2 (ja) 並列プロセス管理方法
EP0437928B1 (en) Memory management in a multi-processor system
JPH04291642A (ja) キャッシュ制御方式
JPH0240760A (ja) 情報処理装置
JPH10507548A (ja) データ処理システムおよび方法およびこのようなシステムとの通信システム
JPH03256127A (ja) マイクロプロセッサシステム
CN116745754A (zh) 一种访问远端资源的系统及方法
JP2002259209A (ja) 演算処理システム
JPH03164962A (ja) メモリ制御方式
JPH11306077A (ja) メモリ管理方法
JPH07175661A (ja) ユーザプログラムロード方式