JPS59220843A - 動的プログラム・ロ−ド方式 - Google Patents

動的プログラム・ロ−ド方式

Info

Publication number
JPS59220843A
JPS59220843A JP58093743A JP9374383A JPS59220843A JP S59220843 A JPS59220843 A JP S59220843A JP 58093743 A JP58093743 A JP 58093743A JP 9374383 A JP9374383 A JP 9374383A JP S59220843 A JPS59220843 A JP S59220843A
Authority
JP
Japan
Prior art keywords
program
token
page
program memory
logical page
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
JP58093743A
Other languages
English (en)
Inventor
Hideho Masuzawa
増沢 秀穂
Akihiro Itashiki
板敷 晃弘
Takeshi Sato
健 佐藤
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 JP58093743A priority Critical patent/JPS59220843A/ja
Publication of JPS59220843A publication Critical patent/JPS59220843A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、データフロー・マシンにおいて、外部記憶装
置上に存在するプログラムのページ本体をプロセッサ・
エレメントのプログラム・メモリに動的にロードできる
ようになった動的プログラム・ロード方式に関するもの
である。
〔従来技術と問題点〕
データフロー・マシンは、複数のプロセッサ・エレメン
トおよび通信ネットワークを有しておシ、各プロセッサ
・エレメントはプログラム・・メモリ、命令取出部、オ
ペランド・メモリ、命令発火検査部および命令実行部な
どを有している。従来技術においては、プログラム・メ
モリには1個のプログラムを完全な形で格納しているの
で、大きなプログラムをプログラム・メモリに格納しよ
うとすると、プログラム・メモリの容量を大きくしなく
てはならない。
〔発明の目的〕
本発明は、上記の考察に基づくものであって、外部記憶
装置上に存在するプログラムの論理ページ本体を必要に
応じてプログラム・メモリにロードし、これによυプロ
グラム・メモリを有効に使用できると共にプログラム・
メモリの容量より大きいプログラムを実行可能とした動
的6ブ買グラム・ロード方式を提供することを目的とし
ている。
〔発明の構成〕
そしてそのため、本発明の動的プログラム・ロード方式
は、プログラムの論理空間及びプロセッサ・エレメント
のプログラム・メモリを同じ大きさのページに分割し、
当該ページをローディング時の単位とするデータフロー
・マシンにおける動的プログラム・ロード方式であって
、プロセッサ・エレメントは、プログラム・メモリの各
ページが何れのプログラム論理空間の何れの論理ページ
に割当てるかを管理する割当表と待トークン表とを有し
、更に、結果トークンが自己のプロセッサ・エレメント
で実行すべきものであり且つその行先論理ページ・アド
レスが上記割当表に登録されていない場合には、その論
理ページに対してプログラム・メモリの物理ページを割
当て、その割当てを特定できるようにしてその行先論理
ページ・アドレスを上記割当表に登録し、その結果トー
クンを上記待トークン表に登録し、ホスト計算機に対し
てその論理ページ本体の転送を要求し、上記ホスト計算
機から論理ページ本体が送られて来たときその論理ペー
ジ本体を上記プログラム・メモリにローディングし、ロ
ーディング終了後に上記待トークン表からローディング
された論理ページ本体に対応する結果トークンを取出し
て所定の機能ユニットに送るようにすることを特徴とす
るものである。
〔発明の実施例〕
以下、本発明を図面を参照しつつ説明する。
第1図は本発明におけるプログラムの論理空間、プログ
ラム・メモリ、割当表および待トークン表の関係を示す
図、第2図は本発明が適用されるデータフロー・マシン
の概要を示す図、第3図は本発明で用いられる゛プロセ
ッサ・エレメントの1例を示す図、第4図はプログラム
の1例を示す図である。
第1図において、1はソース形式のプログラムA、2は
コンパイラ、3はプログラム論理空間、4は割当表、5
は待トークン表、6はプログラム・メモリをそれぞれ示
している0 ソース形式のプログラムAはコンパイラ2によってロー
ド形式のプログラムAに変換され、プログラム論理空間
3に格納される。プログラム論理空間3はDASD上に
確保されているもの、である。
プログラム論理空間3は、複数の論理ページに分割され
ている。プログラム・メモリ6はプロセッサ・エレメン
ト内に存在するものであシ、複数の物理ページに分割さ
れている0プログラム論理空間3の論理ページの大きさ
とプログラム・メモリ6の物理ページの大きさとは同じ
である。割当表4は、複数のエントリを有しており、各
エントリにはプログラム名、論理ページ名、ページ要求
フラグ、待トークン表へのポインタ及びエントリの有効
/無効を示すバリッド・′フラグなどが書込まれる。割
当表4の各エントリはプログラム・メモリ6の物理ペー
ジと1対1の晶なしておシ、割△ 当表4の第i番のエントリはプログラム・メモリ6の第
i番の物理ページと1対1に対応している。
待トークン表5は複数のエントリを有しておシ、待トー
クン表5の各エントリには、エントリの有効/無効を示
すバリッド・ビット、待トークンおよびリンク・ポイン
タが記入される。図示の例では、プログラム・メモリ6
の第0番の物理ページにはプログラムAの論理ページへ
の本体が格納され且つ有効であるので割当表4の第0番
のエンド 。
りのプログラム名記入欄にはPROGAと記入され、論
理ページ名記入欄にはα4と記入され、ページ要求フラ
グは0とされ、バリッド・ピットは1とされている。0
のページ要求フラグはページ要求を行っていないことを
示している。プログラム・メモリ6の第2番の物理ペー
ジにはプログラムAの論理ページα1の本体が格納され
てお)且っ有効であるので、割当表4の第2番目エント
リには、PROGA% (Zl、0のページ要求フラグ
および1のバリッド・ビットが記入されている。
次に、結果トークンの行先アドレスで指定される論理ペ
ージの本体が既にプログラム・メモリ6に格納されてい
る場合と、まだ格納されていない場合とに分けて、動作
を説明する。
結果トークンの行先アドレスの論理ページ(PROGA
のα1)が既に登録されている場合には、下記のような
動作が行われる。
1、 割当表4のプログラム名および論理ページ名がそ
れぞれPROGAお上びα1であるエントリを見付ける
。この場合、そのエントリは割当表4の第2番目のエン
トリである。そこでプログラムAの論理ページα1の本
体を格納しているプログラム・メモリ6の物理ページ・
アドレスは 64  X  2=128 となる。なお、プログラム・メモリ6の物理ページの容
量は64としている。
2.1で求めた128をプログラム・メモリ6の物理ペ
ージ・アドレスとして使用する。
結果トークンの行先アドレスの論理ページ(PROGA
のα2)本体が未だプログラム・メモリ6に格納されて
いない場合には下記のような動作が行われる。
1、 割当表4のプログラム名および論理ページ名がそ
れぞれPROGAおよびa2であるエントリを捜す。
2−I  PROGA、α、が登録されていない場合 
  “(イ)空いているエントリ(バリッド・フラグ=
0で示される)を選択し、選択されたエントリにPRO
GA、α2を登録し、その結果トークンを待トークン表
5の適当な空きエントリ(W月に登録する。なお、バリ
ッド・フラグが0のエントリが割当表4に存在しない場
合には、バリッド・フラグが1である複数のエントリの
中から1個のエントリを選択する。
このとき割当表4の選択されたエントリ(第を番目のエ
ントリ)の待トークン表へのポインタにWjを入れる。
また、割当表4の第り番目のエントリのページ要求フラ
グをIKして、ホスト計算機に対してページ要求(P(
イ)銑のα2本体をプログラム・メモリ6の第を番目の
物理ページにロードすることの要求)を行うO (ロ) α2本体のプログラム・メモリ6へのローディ
ングが終了したら割当表4の第り番目のエントリに記入
されている待トークン表へのポインタWjを用いて待ト
ークン表5を参照し、待トークンを取出し、そのトーク
ンの物理アドレスとして64×tを使用する。また、ペ
ージ要求フラグを0にする。
2−2  PROGA、α2が登録されているが、ペー
ジ要求フラグが1の場合 (イ)待トークン表5の適当な空きエントリ(Wk )
にその結果トークンを登録する。そして、割当表4のP
ROGA、α2が登録されているエントリ(第り番目)
の待トークン表へのポインタを使って待トークン表5を
参照し、リンク・ポインタでつながれている最後のエン
トリのリング・ポインタとしてWkを登録する。
(ロ) 2−1の(ロ)と同様な、処理を行う。
第2図は本発明が適用されるデータフローマシンの概要
を示す図、第3図は本発明で使用されるプロセッサ・エ
レメントの1例を示す図、第4図ハフロクラムの1例を
示す図である。
第2図および第3図において、7はネットワーク、8−
0ないし8− nはプロセッサ・エレメント、ciハy
hxt4−Hi:機、10 tj: DASD 、 1
1 ハ命令取出部、12は命令発火検査部、13はオペ
ランド・メモリ、14は命令実行部、15はアドレス変
換部をそれぞれ示している。
・第2図において、プロセッサ・エレメント8−i(L
=0.1.・・・・・・n)はネットワーク7を介して
他のプロセッサ・エレメントから送られて来るトークン
を受信すると、このトークンに従って処理を行い、結果
トークンを作成する。結果トークンが自分のプロセッサ
・エレメントtを指定している場合には、この結果トー
クンに従って処理を行い、結果トークンが他のプロセッ
サ・エレメントを指定している場合には〜、その結果ト
ークンをネットワーク7に送る。ネットワーク7は、受
信したトークンを見て、該当するプロセッサ・エレメン
トにそのトークンを送る。また、プロセ°ツサ・ニレメ
ン)s−iは、自己で実行すべきプログラムのページが
必要となった時には、ページ要求をホスト計算機9に送
る。ホスト計算機9は、ページ要求を受信すると、該当
するプログラムのページの本体をDASDl 0から読
出し、これをページ要求を発したプロセッサ・ニレメン
)s−iに送る。
第4図において、↓はアーク、Oは演算ノードを示して
いる。各アークには名前が付加されており、アークの名
前はページ内のアドレスを示しているものと考えてよい
。斜線の演算ノードによって演算が行われたとすると、
その結果トークンは、という形になる。なお、PEiは
トークンを実行すべきプロセッサ・エレメントの名前、
PAはプログラムAを示している。結果トークンのプロ
グラム名、論理ページ名およびアーク名が行先アドレス
を構成している。
第3図に示すように、プロセッサ・エレメント8−iは
、プログラム・メモリ6、命令取出部11、命令発光検
査部12、オペランド・メモリ13、命令実行部14お
よびアドレス変換部15を有している。
アドレス変換部15は命令取出部11にトークンを送る
。このトークンは、例えば、 なる形をしている。PRY (PA tt2)は、プロ
グラムAの論理ページα2が格納されているプログラム
・メモリ6の物理ページ・アドレスを示している。
命令取出部11は、受取ったトークンに従ってプログラ
ム・メモリ6をリードし、該当する命令を取出し、これ
にオペランド(VALUE)を付加して命令発火検査部
12に送る。命令発火検査部12に送られてくるトーク
ンは、第4図のプログラムを実行するものとすると、 という形になる。×は乗算の命令コードを示し、第1番
目の2はオペランド数を示し、第2番目の2はオペラン
ドが第2番目(演算ノードの右側)のものであるととを
示している。命令発光検査部12は、上記のよりなトー
クンを受取ると、オペランド・メモリ13を調べ、この
乗算に必要な2個のオペランドが揃っている場合には、
という形のトークンを命令実行部14に送り、乗算に必
要な2個のオペランドが揃っていない場合には受取った
トークンをオペランド・メモリ13に格納する。命令実
行部14は上記のトークンを受取ると、乗算を行い、 なる形のトークンをアドレス変換部15に送る。
アドレス変換部15は、第1図に示した割当表4および
待トークン表5を有している。そして、アドレス変換部
15は、トークンを受取ると、そのプロセッサ・エレメ
ント塩が自己のプロセッサ・エレメントを指定している
か否かを調べ、指定している場合には割当表4を参照す
る。第1図の例ではプログラムAの論理ページα3の本
体がプログラム・メモリ6に格納されていないので、ア
ドレス変換部15は、受取ったトークンを待トークン表
5に格納し、ページ要求を発行する。このべ一ジ要求は という形のものである。PGはページ要求であることを
示すコマンドであシ、PELはページ要求発行元のプロ
セッサ・エレメントの名前を示す。ホスト計算機9は、
ページ要求を受取ると、プログラムAの論理ページα3
のデータをDASDI Oよシ読出し、そのページ内の
エントリ毎に順次にページ要求発行元のプロセッサ・ニ
レメン)8−iに送る。プログラムAのデータを送るト
ークンは、という形をしている。プロセッサ・エレメン
ト8−iは、プログラムAの論理ページα、の本体をプ
ログラム・メモリ6に格納した後に、 を命令取出部11に送る。なお、アドレス変換部15は
、論理ページ内のエントリ・デーlを受取ると、これを
命令取出部11に渡し、命令取出部11は、この論理ペ
ージ内のエントリ・データをプログラム・メモリ6に格
納する。
〔発明の効果〕
以上の説明から明らかなように、本発明によれは、プロ
グラムの実行中に論理ページをプログラム・メモリにロ
ーディングできるので、プログラム・メモリZ有効に使
用することが出来ること及びプログラム・メモリの容量
より大きいプログラムが実行可能となること等の効果が
得られる。
【図面の簡単な説明】
第1図は本発明におけるプログラムの論理空間、プログ
ラム・メモリ、割当表および待トークン表の関係を示す
図、第2図は本発明が適用されるデータフロー・マシン
の概要を示す図、第3図は本発明で用いられるプロセッ
サ・エレメントの1例を示す図、第4図はプログラムの
1例を示す図である。 1・・・ソース形式のプログラムA、2・・・コンパイ
ラ、3・・・プログラム論理空間、4・・・割当表、5
・・・待トークン表、6・・・プログラム・メモリ、7
・・・ネットワーク、8−0ないし8−ル・・・プロセ
ッサ・エレメント、9・・・ホスト計算機、10・・・
DASD。 11・・・命令取出部、12・・・命令発火検査部、1
3・・・オペランド・メモリ、14・・・命令実行部、
15・・・アドレス変換部。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部 す2図 す3図 才4図

Claims (1)

    【特許請求の範囲】
  1. プログラムの論理空間及びプロセッサ・エレメントのプ
    ログラム・メモリを同じ大きさのページに分割し、当該
    ページをローディング時の単位とするデータフロー・マ
    シンにおける動的プログラム・ロード方式であって、プ
    ロセッサ・エレメントは、プログラム・メモリの各ペー
    ジが何れのプログラム論理空間の何れの論理ページに割
    当てる−かを管理する割当表と待トークン表とを有し、
    更に、結果トークyが自己のプロセッサ・エレメントで
    実行すべきものであシ且つその行先論理ページ・アドレ
    スが上記割当表に登録されていない場合には、その論理
    ページに対してプログラム・メモリの物理ページを割当
    て、tの割当てを特定できるようにしてその行先論理ペ
    ージ・アドレスを上記割当表に登録し、その結果トーク
    ンを上記待トークン表に登録し、ホスト計算機に対して
    その論理ページ本体の転送を要求し、上記ホスト計算機
    から論理ページ本体が送られて来たときその論理ページ
    本体を上記プログラム・メモリにローディングし、ロー
    ディング終了後に上記待トークン表からローティングさ
    れた論理ページ本体に対応する結果トークンを取出して
    所定の機能ユニットに送るよう構成されていることを特
    徴とする動的プログラム・ロード方式。
JP58093743A 1983-05-27 1983-05-27 動的プログラム・ロ−ド方式 Pending JPS59220843A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58093743A JPS59220843A (ja) 1983-05-27 1983-05-27 動的プログラム・ロ−ド方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58093743A JPS59220843A (ja) 1983-05-27 1983-05-27 動的プログラム・ロ−ド方式

Publications (1)

Publication Number Publication Date
JPS59220843A true JPS59220843A (ja) 1984-12-12

Family

ID=14090893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58093743A Pending JPS59220843A (ja) 1983-05-27 1983-05-27 動的プログラム・ロ−ド方式

Country Status (1)

Country Link
JP (1) JPS59220843A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297042A (ja) * 1985-10-23 1987-05-06 Masahiro Sowa 並列処理計算機および並列処理方法
JPH01108641A (ja) * 1987-10-20 1989-04-25 Sharp Corp 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297042A (ja) * 1985-10-23 1987-05-06 Masahiro Sowa 並列処理計算機および並列処理方法
JPH01108641A (ja) * 1987-10-20 1989-04-25 Sharp Corp 情報処理装置

Similar Documents

Publication Publication Date Title
US4218743A (en) Address translation apparatus
KR0122529B1 (ko) 슈퍼스칼라 프로세서 시스템에서 복수의 명령어를 단일 사이클 동안 디스패치하기 위한 방법 및 장치
US4361868A (en) Device for increasing the length of a logic computer address
US3647348A (en) Hardware-oriented paging control system
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
US4320456A (en) Control apparatus for virtual address translation unit
JPS60176143A (ja) プログラム呼び出し装置
JP2774862B2 (ja) Dma制御装置および情報処理装置
JPH0644245B2 (ja) ストアバッファ装置
JPS5837883A (ja) メモリ・アドレシング装置
US6279098B1 (en) Method of and apparatus for serial dynamic system partitioning
US5212776A (en) Computer system comprising a main bus and an additional communication means directly connected between processor and main memory
JPS59220843A (ja) 動的プログラム・ロ−ド方式
JPH04354038A (ja) アドレス変換レジスタ制御方式
JPH0581939B2 (ja)
EP1020801A2 (en) Dynamic slot allocation and tracking of multiple memory requests
US5506980A (en) Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory
JPS59106075A (ja) デ−タ処理システム
EP0294499B1 (en) Control scheme for segmented buffers based on a shared reference count
JP3453761B2 (ja) アドレス変換方式
JPS58164080A (ja) 領域管理処理方式
CN115237605B (zh) Cpu与gpu间的数据传输方法及计算机设备
JPS58137047A (ja) コンピユ−タの省略命令制御装置
JPS6016661B2 (ja) 主メモリ割付方式
JPH055134B2 (ja)