JPS58146952A - 並列計算機方式 - Google Patents

並列計算機方式

Info

Publication number
JPS58146952A
JPS58146952A JP2890382A JP2890382A JPS58146952A JP S58146952 A JPS58146952 A JP S58146952A JP 2890382 A JP2890382 A JP 2890382A JP 2890382 A JP2890382 A JP 2890382A JP S58146952 A JPS58146952 A JP S58146952A
Authority
JP
Japan
Prior art keywords
instruction
distribution
program
instructions
buffer
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
JP2890382A
Other languages
English (en)
Inventor
Sadao Nakamura
中村 定雄
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Tokyo Shibaura Electric Co 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 Toshiba Corp, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Priority to JP2890382A priority Critical patent/JPS58146952A/ja
Publication of JPS58146952A publication Critical patent/JPS58146952A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の属する技術分野〕 本発明は並列計算方式の改良に関するものである。
〔発明の技術的背景とその問題点〕
従来知られて−る8図MD (8ingl* Inst
ructionMultlple Data) [並列
計算機の多くは、通常1個のCU (Control 
Unit)と複数個のPg(Pr□cessing引・
west)  を含み、CUはプログラムの全体を保持
し、そのプログラムはCU実行命令とPM夷実行令を含
み、CUはPM実行命令をすべてのFB!へ分配する。
更に各P1はモードレジスタを持ち、CUKよって分配
されたPI!命令の実行くよってこのモードレジスタに
値をセットでき、そしてこのモードレジスタの値に基づ
いてC’U&Cよ)分配されるP11命令の実行・不実
行t−腕制御ることがで龜る。
ζOような8図MDll計算機ではそれぞれのPEがプ
ログラムメモリを持つ必要がな論為、PMのハードウェ
ア量が減少し、すべてのPEが完全に同期して命令を実
行し、特にPB間のデータ通信は完全に同期して行われ
る為、ある種の並列プログラムは非常に効率的に実行で
きるが、しかし多くの並列プログラムにとってはたとえ
モードレジスタによっである穆変のPRの動作の自由度
を得てもまだまだPRの自由度が不足である。*にモー
ドレジスタは命令の実行・不実行を制御するだけであり
、それによる自由度は充分と言えず処理の効率を犠牲に
している。
他方、従来知られているMIMD (Multiple
 Inトtructi□n Multiple Dat
a) 1図並列計算機は通常、複数のPEを含み、個々
のFBが自身のプログラムメモリを持つ。これによって
PRの自由度が増加し、更にPR間通信の方法を工夫す
ればほとんどの並列プログラムが効率的に実行できる可
能性がある〇 しかし多くの場合PMごとにプログラムメ、りを持つの
は冗長であ)、またハードウェアのコストも大きくなる
。何故なら多くの並列アルゴリズムを実現する為にはす
べてのPMが同一の動作又はほとんど同一の動作を行え
ばよく、完全VcPI!ごとに異なったものを必要とす
る部分(場合)はそれ程多くはないからである。また多
くのプログラムは実大な量であシ、そのすべてがPRの
プログラムメモリに格納することはできない。このと自
、それぞれのPBがそのプログラムメモリ内の部分プロ
グラムの実行を終了するたびに新しい部分プログラムを
再ロードすることは手間がかか)、時間の浪費である。
特に上に述べたようなMIMD−■計算機の欠点はPB
の数が数百、数千から成る並列計算機の場合には致命的
となる。
〔発明の目的〕
本発明の目的は8図MDli計算機のもつハードウェア
の簡潔さを生かしたまま、よ)自由度の高い計算機シス
テムを提供することにある。本発明の他の目的はMIM
D型の計算機の持つ処理の柔軟性をよ〕少ないハードウ
ェア量で実現した計算機システムを提供することにある
〔発明の概要〕
本発明は1台のC’Uと複数台のPRよ構成る並列計算
機においてCUがプログラムの全体を保持し、プログラ
ムはPRへの命令分配に関する命令を含み、この分配命
令によって指定され72PRへCUの保持するプログラ
ムの部分を分配すること、及び各Flitは同期型のF
IFOとして構成された命令バッファを持ち、この命令
バッファECUよ)分配された命令列を書き込むと同時
にFIFOとしての命令バッファよシ命令を*b出すこ
と、及び各Piiへ分配される命令列にはpmの命令バ
ッファの大きさくよって制限された命令列の繰p返し実
行及び繰シ返し実行の多重ネスティングを含んでよく、
ま九各PRの命令バッファは通常のFIFO動作とは異
なった。このような−重又は多重の命令列の繰シ返し実
行が可能なように構成すること、以上機能を設けること
によ〕従来の8図MD[計算機及びMIMD [計算器
の欠点を解決している。
〔発明の実施例〕
m1図に本発明の一実施例を示す。図において、1はコ
ントロールユニット(CU) 、2はcUO持つプログ
ラムメモリ、3はデータバス、4はウェイト信号線、5
はアドレスイネーブル信号線、6はデータイネーブル信
号線、7はクロック信号線、Sはクロック発生源、9は
プロセシングニレメン)(PR)、10はPBの持つ同
期型のFIFOからなる命令バッファ、11は命令取り
込み許可7リツプツロツプ、12は相互接続ネットワー
クである0 CDIはプログラムの全体を格納するプログラムメモリ
2を持ち、このプログラムメモリ2より命令を取シ出し
て解読し、それがCU lの実行すべき命令ならばその
命令を実行する。cu 1の奥行すべき命令には分配制
御命令が含まれている。
この分配制御命令はこの命令とこれよシ後方にある分配
制御命令に挾まれたプログラムの部分をすべてのPl!
又は特定のグループに属す4P8又は特定のPI!へ分
配すること管指示するもので−あ−る。
CU 1は分配命令を実行したら次の分配命令を奥行す
るまで以後の命令列を指示されたPI!へ分配プログラ
ムの分配対象を指定する方法について説明する。CU分
配命令を実行するとデータ線3にアドレス情報を出力す
るとともに乎ドレスイネーブル信号線5をアクティブに
する。(IJ2図)このアドレス情報は第3図に示すよ
うなビット構成と意味を持ち、すべてのPR又は特定の
グループに鵬するPE又は特定のPB等を指定できる。
それぞれのPBはアドレスイネーブル信号5がアクティ
ブ罠なわかっクロック信号7立ち上がりで7’−夕線の
内容を見て、自身のPRがアクセスされたと判断したな
ら命令*b込み許可フリップフロップ11を七ッ卜する
第3図において、アドレス情報はその左端3ビツトの内
容によって以下(M)〜(g)等いずれかの分配先を指
定する。
(a)  ナベてのPliiへ分配。
(b)  P、〜P・はPg″番号つPI書号によって
指定されたpgのみに分配〇 (c)  P、〜P・はPIA番号。PR番号によって
指定されたPR以外のすべてのPEへ分配。
(d)  Ps〜P、はI’mマスク。PICマスクと
PIの持つP1番号との論理積の結果、OでないPIA
へ分配。
(@)  Ps〜P・はPIマスク。pmマスクとPI
の持つPM番号との論理積の結果、0であるpmへ分配
。 − (f)  P、〜P、はPEスティタス。PBの持つス
ティタスレジスタのPEスティタスが指定するビット位
置が1であるpmへ分配〇 −)その他。
CUのPRへの命令の分配は以下のように行われる。C
Ulはウェイト信号線4がアクティブならその間PBへ
の命令の分配を停止する。ウェイト信号i14がアクテ
ィブでないときCUlは分配すべき命令をデータバス3
に出力するとともにデータイネーブル信号線6をアクテ
ィブにする。命令蹴込許可7リツプ70ツブ11のセッ
トして^るすべてのPgはデータイネーブル信号線6が
アクティブかつクロック信号7の立ち上がシでデータバ
ス3上のデータをFIFOとして構成された命令バッフ
ァ10へ書き込む。このときFIFOl 1が溝状11
になったらその間そのPIF1ウェイト信号線4をアク
ティブにする。ウェイト信号線4はすべてのPIにわた
って結線和(Wi red−OR)  されている。第
4図は以上に述べた命令分配のタイ電ング図である。
PB8の命冷バッファについて説明する。第5図はPB
の命令バッファ10の構成図である。
命令バッファ22は入力ポインタ24、実行ポインタ2
5、ボトムポインタ26及び実行ポインタの退避用のセ
ーブレジスフ29を持ち、更に入力ポインタ24の出力
とボトムポインタ26の出力は比較器27に接続される
。比較器27は2つの入力が一致したときその出力28
をアクティブにする。クロック信号はこの図には示して
いないが@1図のクロック発生gi8からCU及びすべ
てのPMIiへ共通に与えられている。今考えているP
Bにおいて命令取9込み許可7リツプ70ツブ11はア
クティブになって−ると仮定する。データイネーブル信
号線6がアクティブになったとき、第6図に示すクロッ
クの立ち上が〕31でデータバス3上のデータを取)込
み、クロylノflJ11PテソOデータヲ入カポイン
タ24をアドレスとして命令バッファ22へ書1込むと
ともに、入カポインメ24をインクレメント(+1を加
算)する。入力ポインタ24t−インクレメントし九結
果、比較器27の出力28がアクティブになったなら、
ノ(ソフア22は溝状態なのでウェイト線4をアクティ
ブにしてCUの命令分配を停止させる。
バッファ22が空状態でなければクロックの後半におい
て実行ポインタ25をアドレスとして)(ラフアメモリ
22を読み出すとともに実行ポインタ25及びボトムポ
インタ26tともにインクリメントする。この結果、比
III器27の出力28がアクティブになったなら、)
(ソファ22は空状態であるのでその間以vkO命令の
順り出しt禁′止す1゛\ る・ バッファメモリ22よ)読み出した命令がループ命令以
外の命令ならばそれを実行し、それがループ命令である
なら実行ポインタ25の内容をセーブレジスタ29に退
避し、以後バッファメモリ22よりエンド命令を取り出
すまでバッファメモリ22からの命令のNRシ出しにお
いては実行ボイ/り25のみをデクリメントしボトムポ
インタ26は不変にする。バッファメモリ22からエン
ド命令を職ヤ出したとき、ループ終了条件が成立してい
るなら実行ポインタ25の内容をボトムボイ/り26に
移すことによって実行の終了した繰返し命令列を消却し
、実行ポイン/25及びボトムポインタ26をデクリメ
ントして次の命令を職)゛出す。バッファメモリ22か
もエンド命令を額)出したとき、ループ終了条件が成立
してbないならセーブレジスタ29の内容を奥行ポイン
タ25に移して指定された繰シ返し命令列の奥行を再び
行う。
上に述べたループ命令の奥行の方法によれば一重にネス
トしたループしか実現できないが、セー   ゛プレジ
スj129をスタックに置き換れば多重にネスト・した
ループを可能なように変更することができるのでその説
明は省略する。
〔発明の効果〕
以上述べたように本発明によればCUがプログラムの全
体を保持し、各PIiは比較的小さなノ(ラフアメモリ
を持てばよく、従ってP1!の)1−ト0ウェア量を減
少できる。そしてCU ij P Hの命令の奥行とオ
ーバーラツプして命令を分配できるので命令分配が効率
的に行え、更に各Pgへ分配する部分プログラムは通常
、多重のループを含ませるので、各PRに分配されたプ
ログラムが命令の実行によって消費されつくすまで時間
がかかり、従ってcUは各PIへの部分プログラムの分
配に時間的余裕が生じ、それ故PIごとに異なった命令
を分配しても効率の損失とはならないというよりなこと
が可能になる。
このような効果によって本発明を用いて経済的で効率的
な並列計算機が実現可能になる。
【図面の簡単な説明】
s1図は本発明の一実施例のブロック図、1s2図はア
ドレス情報の堆り込みタイミングを示した図、183図
はアドレス情報のビット構成とその意味の例を示した図
、第4図はCUが発した命令のPRによる取シ込みのタ
イミングを示した図、第5図はPMの命令バッファの図
、第6図は命令バッファのデータ入力とデータ出力のタ
イミングを示した図である・ laコントロールユニット−(CU) 、2uC’υの
持つプ四グラムメモリ、8はクロック発生源、3はデー
タバス、4はウェイト信号、5はアドレスイネーブル信
号、6はデータイネーブル信号、7はクロック信号、9
はプロセッシングニレメン)(PR)、10はPRの持
つ命令バッファ、11は命令*b込み軒可フリップフロ
ップ、12は相互接続ネットワークである。

Claims (2)

    【特許請求の範囲】
  1. (1)  コントロールユニット(以下CU ) ト1
    11a個のプロセッシングエレメント(以下FM)から
    成る並列処理計算機にお込て、C”Uはプログラムの全
    体を保持し、プログラムはPEへの命令分配に関する情
    報を含み、CUは前記プログラムの実行時に、前記PE
    への命令分配に関する情報による分配対象P8の指定に
    基づいて、前記CUの保持するプ′ログラムの部分をす
    べてのPI又は特定のグループに楓するPR又は特定の
    PHへ分配でき、各PBは同期型のFIFO(Firs
    t In First 0ut)メモリとして構成され
    た命令ノ(ソファを持ち、CUから分配される命令は各
    PEの持つ前記命令)くソファに書き込まれ、この時す
    べてのPR(2)FIFOトL、てノ命令バッファの1
    つでも満(full)状態になればその間CUはすべて
    のPRへの命令の分配を中止し、谷Pgは)”Ili’
    0としての前記命令ノ(ソファが空(empty)状態
    ならばその間前記命令バッファからの命令の取り出しを
    中止し、そして前記FIFOとしての命令バッファが空
    状態でなければ前記FIFOとしての命令バッファよ抄
    命令を堆り出して実行することを特徴とする並列計算機
    方式。
  2. (2)各PHへ分配されるプログラムは命令バッファの
    大きさによって制限された、繰り返しの始まりの情報(
    以下ループ命令)と終わりの情報(以下エンド命令)と
    によって指定される命令列の繰夛返し奥行及び命令列の
    繰り返し実行の多重ネスティングを含み、PBは一番外
    側のループ命令の実行以後は前記命令バッファよシデー
    タを消却せずに堆り出すことによって命令列の繰り返し
    実行を可能とし、エンド命令の実行かつ繰少返し終了条
    件の成立によって命令列の縁り返し実行が終了し、かつ
    前記命令列を含むよプ大きなls)返し命令列が存在し
    ないとき、即ち一番外側の繰)返しが終了し友と龜、こ
    の繰り返し命令列の全体を蛸令バッファより消却し、以
    恢頗令バッファは通常の動作に戻ることを特徴とする特
    許請求の魂111g1項記載の並列計算機方式。
JP2890382A 1982-02-26 1982-02-26 並列計算機方式 Pending JPS58146952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2890382A JPS58146952A (ja) 1982-02-26 1982-02-26 並列計算機方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2890382A JPS58146952A (ja) 1982-02-26 1982-02-26 並列計算機方式

Publications (1)

Publication Number Publication Date
JPS58146952A true JPS58146952A (ja) 1983-09-01

Family

ID=12261363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2890382A Pending JPS58146952A (ja) 1982-02-26 1982-02-26 並列計算機方式

Country Status (1)

Country Link
JP (1) JPS58146952A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987005419A1 (fr) * 1986-02-26 1987-09-11 Hitachi, Ltd. Ordinateur de traitement en simultane
JPH01102644A (ja) * 1987-09-30 1989-04-20 Internatl Business Mach Corp <Ibm> パイプライン式処理装置
JPH01133138A (ja) * 1987-11-19 1989-05-25 Hitachi Ltd 並列計算機及びその制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987005419A1 (fr) * 1986-02-26 1987-09-11 Hitachi, Ltd. Ordinateur de traitement en simultane
JPH01102644A (ja) * 1987-09-30 1989-04-20 Internatl Business Mach Corp <Ibm> パイプライン式処理装置
JPH01133138A (ja) * 1987-11-19 1989-05-25 Hitachi Ltd 並列計算機及びその制御方法

Similar Documents

Publication Publication Date Title
US11928512B2 (en) Quiesce reconfigurable data processor
Rumbaugh A data flow multiprocessor
US4507728A (en) Data processing system for parallel processing of different instructions
US5511212A (en) Multi-clock SIMD computer and instruction-cache-enhancement thereof
EP0623875B1 (en) Multi-processor computer system having process-independent communication register addressing
JP3101560B2 (ja) プロセッサ
US4745544A (en) Master/slave sequencing processor with forced I/O
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US5036453A (en) Master/slave sequencing processor
US5226131A (en) Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer
US3651482A (en) Interlocking data subprocessors
EP0059810B1 (en) Microprogrammed digital data processing system employing multiphase subroutine control for concurrently executing tasks
US4493019A (en) Pipelined microprogrammed digital data processor employing microinstruction tasking
US6665700B1 (en) Distributed-memory multiprocessor system utilizing plural multiprocessors with virtual storage space
US4956800A (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JPS58146952A (ja) 並列計算機方式
Liu et al. Lock-free scheduling of logical processes in parallel simulation
Hong et al. The design of the SACLIB/PACLIB kernels
US20240220325A1 (en) Computer System with Reconfigurable Processors
Flynn Microprogramming—another look at internal computer control
US20230084298A1 (en) Processing Device Using Variable Stride Pattern
EP0075632A1 (en) Microprogrammed digital data processing system employing tasking at a microinstruction level
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
CA1173970A (en) Pipelined microprogrammed digital data processor employing microinstruction tasking
JPH0782452B2 (ja) 演算処理装置