JPH01310444A - 並列演算処理装置 - Google Patents
並列演算処理装置Info
- Publication number
- JPH01310444A JPH01310444A JP14089388A JP14089388A JPH01310444A JP H01310444 A JPH01310444 A JP H01310444A JP 14089388 A JP14089388 A JP 14089388A JP 14089388 A JP14089388 A JP 14089388A JP H01310444 A JPH01310444 A JP H01310444A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- output
- destination address
- program counter
- flag
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、並列演算処理装置に関する。
従来の並列演算処理装置においては、複数の演Ω器の並
列演算動作の実行中に、複数の演算器間で互に分岐条件
が巽なって生ずる場合、これにこれに応動することがで
きなかった。 よって、本発明は、複数の演算器の並列演算動作の実行
中に、複数の演算器間で互に分岐条件が異なって生ずる
場合でも、これに応動することができる新規な並列演算
処理装置を1!!案ぜんとするものである。
列演算動作の実行中に、複数の演算器間で互に分岐条件
が巽なって生ずる場合、これにこれに応動することがで
きなかった。 よって、本発明は、複数の演算器の並列演算動作の実行
中に、複数の演算器間で互に分岐条件が異なって生ずる
場合でも、これに応動することができる新規な並列演算
処理装置を1!!案ぜんとするものである。
【実施例1]
次に、第1図〜第7図を伴って、本発明による並列演算
処理装置の実施例を述べよう。 第1図〜第7図に示す本発明による並列演算処理装置に
おいて、従来の並列演算処理装置の場合と同様に、プロ
グラムカウンタ1と、あのプログラムカウンタ1から出
力されるアドレス出力にもとずき、それが得られる毎に
、順次予定のアドレス及び命令を出力するプログラムメ
モリ2と、そのプログラムメモリ2から出力される命令
にもとずく演算動作をそれぞれ実行する複数n個(以下
、簡単のため、n=4として述べる)の演算器P 〜P
4とを有する。 しかして1.演算器P 〜P4において、次に述べる処
理が行われるように次のとおり構成される。 以下、簡単のため、プログラムメモリ2から第8図に示
すように[A]、CB]・・・・・・・・・[K]の一
連の処理のための、アドレス<A>、くB〉・・・・・
・・・・<K>と、命令A、B・・・・・・・・・Kと
が出力されるとともに、条件分岐用アドレス<3r−Q
>、< B r −1> =・・−・−・・・< B
r −4> (!:、条件分岐命令Br−1>・・・・
・・・・・Br−4とが出力されるものとする。 また、演算器P1が、第9図に示すように、[A]、[
B]、[C]及び[D]の処理を順次行い、演算器P2
が[△]、[B]、[F]及び[HFの処理を順次行い
、演算器P3及びF4が、ともに[A]、[I]及び[
K]の処理を順次行うものとする。 ■ まず、プルグラムカウンターからアドレス<A>が
出力される。 このとき、停止フラグメモリHM、I−IM2、HM3
及びHM 4に記憶されている停止フラグHF ’、
HF 、HF3及びl−I F 4が、ともに2値表
示で「0」である。また、終了フラグメモリEM 、
EM 、EM3及びEM に記憶されている終了フラ
グEF、EF2、EF3及びEF4も、ともに2値表示
で「0」である。 このため、クロックパルス発生回路3からのクロックパ
ルスCLが、ゲート回路H01,11G、HO3及び1
−IO2を通って、演算器P 、P 、P 及び
F4に供給されているので、演算器P −F4の全て
が[AI]の処理を順次行う。このとき、プログラムカ
ウンターは、「1」 「1」ずつインクリメントされて
いる。 ■ 以上のように動作し、プログラムカウンタ1の出力
内容が、条件分岐コマンドBr−0を出力すれば、演算
器P −F4の全てが、自身が分岐条件を満足するか
否かを判断し、もし、分岐条件を満足すれば、停止フラ
グF、を「1」で出力し、満足しなければ停止フ臂 ラグF、を「0」で出ツノする。 このため、演算器P1及びF2が停止フラグF1及びF
2をrOJで出力し、演算器P3及びP が停止フラグ
「3及びF4を「1」で出力する。これら停止フラグF
、F2、F 及びF4はそれぞれ停止フラグメモリHM
、HM 、HM 及び8M4にオア回路0R1
、OR2、OR及びOR4を通じて供給される。 一方、停止フラグメモリHM、HM2、1−(M3及び
トIM4の出力がグー1−回路HG1、トIG2、l−
1G3及びHO2に供給される。 このため、演算器P1及びF2は演算動作を継続して行
う状態になるが、演Ω器P3及びF4が演算動作を停止
す゛る状態になる。 −力、条件分岐命令Br−0が明記している分岐先アド
レス<1>が、分岐先アドレス記憶用レジスタR及びR
4にラッチされる。 ■ 次に、プログラムカウンターの内容が「1」たけイ
ンクリメントするため、アドレス〈B〉を出力しよって
、演算器P1及びF2においてのみ、[B]の処理が順
次実行される。 ■ このように演算器P 及びF2が[B]の処理を順
次実行し終ってから、プログラムカウンタ1から条件分
岐命令<3r−i>が出力されれば、演算器P 及びF
2が、自身が条件分岐命令[Br−1]を満足するか否
かを判断する。この場合、演算器P1は分岐条件を満足
しない−ので、停止フラグF1を「1」で出力しないが
、演算器P2は、分岐条件を満足するので、停止フラグ
F2を「1」で出力する。 このため、演算器P2にクロックパルスCLが供給され
なくなり、演n器P2が停止状態になる。 また、このどき、上述した場合と同様に、分岐先アドレ
ス記憶用レジスタR2に、分岐先アドレス<l”>がラ
ッチされる。また、これと同時に、プログラムカウンタ
1の内容が「1」だけインクリメントされる。 このため、演算器P1のみが、[C]の処理を順次実行
する。 ■ 次に、プログラムカウンタ1から、条件分岐命令<
3r−2>が出力されれば、演算器P1が、自身が条件
分岐命令Br−2に明記される分岐条件を満足するか否
かを判断する。 この場合、演算器P1は分岐条件を満足しないので、停
止フラグF1を「1」で出力せず、従って、演算器P1
は停止状態にならない。 また、プログラムカウンタ1の内容が、「1」だけイン
クリメントされ、演算器P1が[D]の処理を実行する
。 以上のように動作してから、プログラムメモリ2から、
命令りに明記している命令が出力されるので、それが終
了検出3D1で検出され、それが、終了フラグメモリE
M1に記憶される。 このため、停止フラグメモリHM1が、ゲート回路EG
、を通じて、リセットされる。 このとき、排他的論理和回路EX2の出力にもとずぎ、
ゲート回路RG2及びRG’を通じて演算器P2に対応
する分岐先アドレスレジスタR2が選択され、それから
の分岐先アドレス<F>がプルグラムカウンターに、書
込まれ、またこれと同時に、一致回路CI2によって、
ゲート回路RG’からの分岐先アドレスくF〉と、分岐
先アドレス記憶用レジスタR2からの分岐先アドレスく
F〉との一致をとり、その出力によって、停止フラグメ
モリHM2をリセットする。 この場合、排他的論理和回路EX1〜EX4、ゲート回
路RG 〜RG4及びRG’は、優先回路を構成して
いる。また、一致回路CI −C14は、分岐先アド
レスのビット数に応じた数の排他的論理和回路REXと
、アンド回路AUとで構成されている。 停止フラグメモリHM2がリセットされるため、演算器
P2において、[F]の処理を開始する。 ■ 続いて、プログラムカウンターから条件分岐命令<
3r−3>が出力されるので、演算器P2が、分岐条件
を満足するか否かを判断する。この場合、演算器P2は
分岐条件を満足するので、停止フラグメモリHM2がセ
ットされ、分岐先アドレス記憶用レジスタR2に、分岐
命令<3r−3>に明記された分岐先アドレスくH〉が
ラッチされる。 ■ 次に、上述した優先回路によって、演算器P に対
応する分岐先アドレスレジスタR2が選択され、分岐先
アドレス〈H〉が、プログラムカウンターに書込まれる
。 このとき、停止フラグメモリHM2が停止フラグを「1
」で記憶した状態になり、演算器P2のみが動作状態に
なる。 ■ 続いて、P14算器P2が[1→]の処理を順次実
行し、それが終了すれば、終了フラグメモリEM、2が
終了フラグを「1」で記憶しlζ状態になる。 このため、プログラムカウンターに、分岐先アドレス<
I>が書込まれ、一方、上述した一致回路CI3及びC
I4からの出力によって、停止フラグメモリHM 及
びHM4がリセットされ、演算器P3及びP4において
、[11の処理が順次実行される。 ■ このようにして、演算器P 及びP4において[1
]の処理が順次実行され、プログラムカウンタ1から条
件分岐命令<3r−4>が出力され、演95器P 及び
P4が、自身が分岐条件を満足するか否かを判断する。 この場合、演算器P 及びP4が分岐条件を満足するの
で、停止フラグメモリP3及びP4における停止フラグ
がとしに「1」になり、分岐先アドレス記憶用レジスタ
P3及びP4に、分岐先アドレス<K>がラッチされる
。 また、上述した優先回路によって、分岐先アドレス記憶
用レジスタR3が選択され、分岐先アドレス<K>が、
プログラムカウンタ1に書込まれ、一方、上述した一致
回路CI3及びC14からの出力により、停止フラグメ
モ’J HM 3及び11M4がリセットされ、このた
め、演鼻器P3及びP4において、[K]の処理が順次
実行される。 [株] 次に、エンド命令が検出されれば、終了フラグ
メモリEM3及び1M4がセットされ、ともに終了フラ
グを「1」で記憶した状態になり、また、停止フラグメ
モリHM1〜l−IM4がリセットされ、終了フラグメ
モリEM1〜EM4、及び分岐先アドレス記憶用レジス
タR1〜R4がリセットされ、ジャンプ先アドレスがプ
ログラムカウンタ1に書込まれ、原状部に戻る。 上述したどころから明らかなように、本発明による並列
演算処理装置によれば、複数の演算器P1〜P4による
並列演算動作の実行中に、複数の演算器P 〜P4間で
、互に異なる条件分岐が生じても、それを容易に実行さ
せることができる。 【実施例2】 第3図は、本発明の並列演算器の条件分岐制御方式を用
いたシーケンサの第2の実施例を示す回路構成図である
。 本実施例では、分岐条件を満足して、その時点で停止状
態となった演算器を示すフラグ群と分岐先アドレスを組
みにして分岐先記憶部に占き込む。 そして、先に実行していたルーチンの終了を検出すると
、前記分岐先記憶部よりフラグ群と分岐先アドレスを読
み出し、そのフラグ群と分岐先アドレスを書き込んだ時
点で停止状態になった演算器13を作動状態とし、分岐
先アドレスより処理を開始する。 なお、実施例1と異なり、分岐先記憶部はPEと1対1
に対応する必要はな(、本実施例ではF I F O(
Fast In La5t Out : #liから書
き込んだデータを先に読み出す)構造を持ったスタック
18としている。 以下、実施例1と同様に、第2図Aのプロセサで第2図
Bに示す条件分岐処理を行う場合について説明する。 第4図に11.ALT−FLAG 、停止フラグ、スタ
ック18、及びプログラムカウンタ19の状態を示す。 ここで、11八LT−FLAGは、HALT FLAG
REGISTERに書き込まれており、演瞠器停止回
路12を通して演算器13を停止状態にするフラグであ
り、停止フラグは、停止フラグ記憶部15に書き込まれ
ており、分岐条件を満足して停止状態となった演算器を
示すフラグである。 また、実施例1と同様に、IIALT−FLAGと停止
フラグは、演算器13中のPE01PE1、PE2、P
E3に対応するフラグ4つを組にして、それぞれIIA
LT−CODE 、停止コードと呼ぶ。 まず、 ■ プログラムカウンタ19にルーチンAの先頭アドレ
ス〈A〉が書き込まれる。このとき、II A L T
−COD Eは“oooo” 、スタックポインタ1
7は、アドレス0を指し、スタックの内容は停止コード
“0000” 、分岐先アドレスはドントケアとなって
いる。 従って、P’E O〜PEaとも全てルーチンAを実行
する。 このとき、プログラムカウンタ19は、くA〉から7づ
つインクリメントされる。 ■ プログラムカウンタ19が<3rQ>になると、P
EO〜3の各演算器で条件分岐命令に記された条件をテ
ストし、ステータスを出力する。 ステータスがOのとき未分岐、1のとき分岐するとする
と、停止状態ではないPEのステータスにより、分岐命
令検出部2°1では、次の3つの処理のいずれかを実行
する。 1 全PEのステータスがO プログラムカウンタ19をインクリメ ントする。 2 全PEのステータスが1 プログラムカウンタ19の内容を条件 分岐命令に明記された分岐先アドレスとして、分岐先に
ジャンプする。 3 ステータスにOと1が存在 ■ スタックポインタ17を1インクリメンi〜し、停
止状態ではなく、かたうステータスが1のPEのみ、停
止フラグを1、残りはOとしてスタック18中の停止フ
ラグ記憶部15に書き込む。 同時に分岐先アドレスを分岐先アドレス記憶部16に書
き込む。 また、ステータスが1のPEを新たに停止状態であった
PEを示ずHALT−FLAGのORを取り、11八L
T FLAG IIEGISTIER11に書き込む。 ■ その後、プログラムカウンタ19を1インクリメン
トして、ステータスOを出力したPEのみ処理を実行す
る。 クリメン1〜して、ステータスOを出力したPEのみ処
理を実行する。 すなわち、第2図Bの例では、PEOとPE1はステー
タスO,PE2と、PE3はステータス1を出力するの
で、分岐命令検出部21は]1^Lj−CODEを’0
011”とすると同時に、スタックポインタ17のアド
レスを1とし、停止コード’0011”と条件分岐命令
BrOに明記された分岐先アドレス<1>をそれぞれ停
止フラグ記憶部15と分岐先アドレス記憶部16に出き
込む。 ■ 次に、プログラムカウンタ19を1インクリメント
し、ルーチンBの処理が開始される。 このとき、PEOとPEIは作動状態である。ルーチン
Bが終了し、プログラムカウンタ19が<Br1>にな
ると、PEOとPE1で条件分岐命令に記された条件を
テストし、その結果、PEOはステータス0、PE1は
ステータス1を出力するので、分岐命令検出部21は前
回同様に11八LT−CODEを“0111”とすると
同時に、スタックポインタ17のアドレスを2とし、停
止コード゛’0100”と条件分岐命令Br1に明記さ
れた分岐先アドレスくF〉をそれぞれ停止フラグ記憶部
15と分岐先アドレス記憶部16に書き込む。 ■ 次に、プログラムカウンタ19を1インクリメント
し、ルーチンCの処理の実行が開始される。 このとき、PEOのみが動作状態である。 ■ プログラムカウンタ19が<3r2>になるど、P
EOで条件分岐命令に記された条件をテス+=1、、イ
の結果、ステータス0が出力されるので、分岐命令検出
部21はプログラムカウンタ19を1インクリメントし
、ル−チンDの処理が開始される。 ■ ルーチンDo最後には条件分岐ルーチンの終了を示
す命令が明記されているので、エンド命令検出部14で
はその命令を検出し、スタックの状態に応じて次の2つ
の処理のいずれかを実行する。 1 スタックされたデータ無 全PEが条件分岐処理を終了したこと を意味し、HALT FLAG I?EGISTER1
1をリピッ1〜し、エンド命令中に明記されたアドレス
にジャンプして新たに処理の実行を開始する。 2 スタックされたデータ有 スタック18から停止フラグを読み出 しそれを反転して新たにHALT−FLAGとし、+1
ALT FLAG REGISTER11に出き込む。 同時にスタック18から分岐先アドレスを読み出してプ
ログラムカウンタ19に占ぎ込み、分岐先アドレスから
処理を開始する。スタックポインタ17はコデクリメン
トする。 すなわち、今の場合、スタックポインタ17のアドレス
が2であるので、停止コード″0100”を反転した’
1oit”が新たな11八LT−FLAGとなってHA
L丁FLAG IIEGISTEItに古き込まれると
同時に、分岐先アドレス<F>がプログラムカウンタ1
9に書き込まれ、ル−チンFの処理が開始される。 このときPE1のみ0作動状態である。 プログラムカウンタ19が<Br3>になると、PE1
で条件分岐命令に記された条件をテストし、その結果、
ステータス1が出力されるので、分岐命令検出部21は
プログラムカウンタ19の内容を条件分岐命令に明記さ
れた分岐先アドレスくト1〉とし、ルーチント1の処理
が開始される。 ルーチン1」の241には条件分岐ルーチンの終了を示
す命令が明記されているので、エンド命令検出部14で
はその命令を検出し、スタックポインタ17を調べると
そのアドレスが1であるので、前回同様に、停止コード
” 0011” ヲ反転した”1100”が新たな11
八LT−FLAGとなり、分岐先アドレス<(>がプロ
グラムカウンタ19に占ぎ込まれ、ル−チンIの処理が
開始される。 このときPE2とPE3が作動状態である。 プログラムカウンタ19が<3r4>になると、PE2
とPE3で条件分岐命令に記された条件をテストし、そ
の結果、PE2、PESともステータス1が出力される
ので、分岐命令検出部21はプログラムカウンタ19の
内容を条件分岐命令に明記された分岐先アドレス<K>
とし、ルーチンKが実行される。 ルーチンにの最後には条件分岐ルーチンの終了を示す命
令が明記されているので、エンド命令検出部14ではそ
の命令を検出し、スタックポインタ17のアドレスを調
べる。 ■ その結果、今回は、スタックにデータが存在しない
ので、IIALT FLAG ItEGIST「R11
をリセットし、エンド命令中に明記されたアドレスにジ
ャンプして新たに処理の実行を開始する。
処理装置の実施例を述べよう。 第1図〜第7図に示す本発明による並列演算処理装置に
おいて、従来の並列演算処理装置の場合と同様に、プロ
グラムカウンタ1と、あのプログラムカウンタ1から出
力されるアドレス出力にもとずき、それが得られる毎に
、順次予定のアドレス及び命令を出力するプログラムメ
モリ2と、そのプログラムメモリ2から出力される命令
にもとずく演算動作をそれぞれ実行する複数n個(以下
、簡単のため、n=4として述べる)の演算器P 〜P
4とを有する。 しかして1.演算器P 〜P4において、次に述べる処
理が行われるように次のとおり構成される。 以下、簡単のため、プログラムメモリ2から第8図に示
すように[A]、CB]・・・・・・・・・[K]の一
連の処理のための、アドレス<A>、くB〉・・・・・
・・・・<K>と、命令A、B・・・・・・・・・Kと
が出力されるとともに、条件分岐用アドレス<3r−Q
>、< B r −1> =・・−・−・・・< B
r −4> (!:、条件分岐命令Br−1>・・・・
・・・・・Br−4とが出力されるものとする。 また、演算器P1が、第9図に示すように、[A]、[
B]、[C]及び[D]の処理を順次行い、演算器P2
が[△]、[B]、[F]及び[HFの処理を順次行い
、演算器P3及びF4が、ともに[A]、[I]及び[
K]の処理を順次行うものとする。 ■ まず、プルグラムカウンターからアドレス<A>が
出力される。 このとき、停止フラグメモリHM、I−IM2、HM3
及びHM 4に記憶されている停止フラグHF ’、
HF 、HF3及びl−I F 4が、ともに2値表
示で「0」である。また、終了フラグメモリEM 、
EM 、EM3及びEM に記憶されている終了フラ
グEF、EF2、EF3及びEF4も、ともに2値表示
で「0」である。 このため、クロックパルス発生回路3からのクロックパ
ルスCLが、ゲート回路H01,11G、HO3及び1
−IO2を通って、演算器P 、P 、P 及び
F4に供給されているので、演算器P −F4の全て
が[AI]の処理を順次行う。このとき、プログラムカ
ウンターは、「1」 「1」ずつインクリメントされて
いる。 ■ 以上のように動作し、プログラムカウンタ1の出力
内容が、条件分岐コマンドBr−0を出力すれば、演算
器P −F4の全てが、自身が分岐条件を満足するか
否かを判断し、もし、分岐条件を満足すれば、停止フラ
グF、を「1」で出力し、満足しなければ停止フ臂 ラグF、を「0」で出ツノする。 このため、演算器P1及びF2が停止フラグF1及びF
2をrOJで出力し、演算器P3及びP が停止フラグ
「3及びF4を「1」で出力する。これら停止フラグF
、F2、F 及びF4はそれぞれ停止フラグメモリHM
、HM 、HM 及び8M4にオア回路0R1
、OR2、OR及びOR4を通じて供給される。 一方、停止フラグメモリHM、HM2、1−(M3及び
トIM4の出力がグー1−回路HG1、トIG2、l−
1G3及びHO2に供給される。 このため、演算器P1及びF2は演算動作を継続して行
う状態になるが、演Ω器P3及びF4が演算動作を停止
す゛る状態になる。 −力、条件分岐命令Br−0が明記している分岐先アド
レス<1>が、分岐先アドレス記憶用レジスタR及びR
4にラッチされる。 ■ 次に、プログラムカウンターの内容が「1」たけイ
ンクリメントするため、アドレス〈B〉を出力しよって
、演算器P1及びF2においてのみ、[B]の処理が順
次実行される。 ■ このように演算器P 及びF2が[B]の処理を順
次実行し終ってから、プログラムカウンタ1から条件分
岐命令<3r−i>が出力されれば、演算器P 及びF
2が、自身が条件分岐命令[Br−1]を満足するか否
かを判断する。この場合、演算器P1は分岐条件を満足
しない−ので、停止フラグF1を「1」で出力しないが
、演算器P2は、分岐条件を満足するので、停止フラグ
F2を「1」で出力する。 このため、演算器P2にクロックパルスCLが供給され
なくなり、演n器P2が停止状態になる。 また、このどき、上述した場合と同様に、分岐先アドレ
ス記憶用レジスタR2に、分岐先アドレス<l”>がラ
ッチされる。また、これと同時に、プログラムカウンタ
1の内容が「1」だけインクリメントされる。 このため、演算器P1のみが、[C]の処理を順次実行
する。 ■ 次に、プログラムカウンタ1から、条件分岐命令<
3r−2>が出力されれば、演算器P1が、自身が条件
分岐命令Br−2に明記される分岐条件を満足するか否
かを判断する。 この場合、演算器P1は分岐条件を満足しないので、停
止フラグF1を「1」で出力せず、従って、演算器P1
は停止状態にならない。 また、プログラムカウンタ1の内容が、「1」だけイン
クリメントされ、演算器P1が[D]の処理を実行する
。 以上のように動作してから、プログラムメモリ2から、
命令りに明記している命令が出力されるので、それが終
了検出3D1で検出され、それが、終了フラグメモリE
M1に記憶される。 このため、停止フラグメモリHM1が、ゲート回路EG
、を通じて、リセットされる。 このとき、排他的論理和回路EX2の出力にもとずぎ、
ゲート回路RG2及びRG’を通じて演算器P2に対応
する分岐先アドレスレジスタR2が選択され、それから
の分岐先アドレス<F>がプルグラムカウンターに、書
込まれ、またこれと同時に、一致回路CI2によって、
ゲート回路RG’からの分岐先アドレスくF〉と、分岐
先アドレス記憶用レジスタR2からの分岐先アドレスく
F〉との一致をとり、その出力によって、停止フラグメ
モリHM2をリセットする。 この場合、排他的論理和回路EX1〜EX4、ゲート回
路RG 〜RG4及びRG’は、優先回路を構成して
いる。また、一致回路CI −C14は、分岐先アド
レスのビット数に応じた数の排他的論理和回路REXと
、アンド回路AUとで構成されている。 停止フラグメモリHM2がリセットされるため、演算器
P2において、[F]の処理を開始する。 ■ 続いて、プログラムカウンターから条件分岐命令<
3r−3>が出力されるので、演算器P2が、分岐条件
を満足するか否かを判断する。この場合、演算器P2は
分岐条件を満足するので、停止フラグメモリHM2がセ
ットされ、分岐先アドレス記憶用レジスタR2に、分岐
命令<3r−3>に明記された分岐先アドレスくH〉が
ラッチされる。 ■ 次に、上述した優先回路によって、演算器P に対
応する分岐先アドレスレジスタR2が選択され、分岐先
アドレス〈H〉が、プログラムカウンターに書込まれる
。 このとき、停止フラグメモリHM2が停止フラグを「1
」で記憶した状態になり、演算器P2のみが動作状態に
なる。 ■ 続いて、P14算器P2が[1→]の処理を順次実
行し、それが終了すれば、終了フラグメモリEM、2が
終了フラグを「1」で記憶しlζ状態になる。 このため、プログラムカウンターに、分岐先アドレス<
I>が書込まれ、一方、上述した一致回路CI3及びC
I4からの出力によって、停止フラグメモリHM 及
びHM4がリセットされ、演算器P3及びP4において
、[11の処理が順次実行される。 ■ このようにして、演算器P 及びP4において[1
]の処理が順次実行され、プログラムカウンタ1から条
件分岐命令<3r−4>が出力され、演95器P 及び
P4が、自身が分岐条件を満足するか否かを判断する。 この場合、演算器P 及びP4が分岐条件を満足するの
で、停止フラグメモリP3及びP4における停止フラグ
がとしに「1」になり、分岐先アドレス記憶用レジスタ
P3及びP4に、分岐先アドレス<K>がラッチされる
。 また、上述した優先回路によって、分岐先アドレス記憶
用レジスタR3が選択され、分岐先アドレス<K>が、
プログラムカウンタ1に書込まれ、一方、上述した一致
回路CI3及びC14からの出力により、停止フラグメ
モ’J HM 3及び11M4がリセットされ、このた
め、演鼻器P3及びP4において、[K]の処理が順次
実行される。 [株] 次に、エンド命令が検出されれば、終了フラグ
メモリEM3及び1M4がセットされ、ともに終了フラ
グを「1」で記憶した状態になり、また、停止フラグメ
モリHM1〜l−IM4がリセットされ、終了フラグメ
モリEM1〜EM4、及び分岐先アドレス記憶用レジス
タR1〜R4がリセットされ、ジャンプ先アドレスがプ
ログラムカウンタ1に書込まれ、原状部に戻る。 上述したどころから明らかなように、本発明による並列
演算処理装置によれば、複数の演算器P1〜P4による
並列演算動作の実行中に、複数の演算器P 〜P4間で
、互に異なる条件分岐が生じても、それを容易に実行さ
せることができる。 【実施例2】 第3図は、本発明の並列演算器の条件分岐制御方式を用
いたシーケンサの第2の実施例を示す回路構成図である
。 本実施例では、分岐条件を満足して、その時点で停止状
態となった演算器を示すフラグ群と分岐先アドレスを組
みにして分岐先記憶部に占き込む。 そして、先に実行していたルーチンの終了を検出すると
、前記分岐先記憶部よりフラグ群と分岐先アドレスを読
み出し、そのフラグ群と分岐先アドレスを書き込んだ時
点で停止状態になった演算器13を作動状態とし、分岐
先アドレスより処理を開始する。 なお、実施例1と異なり、分岐先記憶部はPEと1対1
に対応する必要はな(、本実施例ではF I F O(
Fast In La5t Out : #liから書
き込んだデータを先に読み出す)構造を持ったスタック
18としている。 以下、実施例1と同様に、第2図Aのプロセサで第2図
Bに示す条件分岐処理を行う場合について説明する。 第4図に11.ALT−FLAG 、停止フラグ、スタ
ック18、及びプログラムカウンタ19の状態を示す。 ここで、11八LT−FLAGは、HALT FLAG
REGISTERに書き込まれており、演瞠器停止回
路12を通して演算器13を停止状態にするフラグであ
り、停止フラグは、停止フラグ記憶部15に書き込まれ
ており、分岐条件を満足して停止状態となった演算器を
示すフラグである。 また、実施例1と同様に、IIALT−FLAGと停止
フラグは、演算器13中のPE01PE1、PE2、P
E3に対応するフラグ4つを組にして、それぞれIIA
LT−CODE 、停止コードと呼ぶ。 まず、 ■ プログラムカウンタ19にルーチンAの先頭アドレ
ス〈A〉が書き込まれる。このとき、II A L T
−COD Eは“oooo” 、スタックポインタ1
7は、アドレス0を指し、スタックの内容は停止コード
“0000” 、分岐先アドレスはドントケアとなって
いる。 従って、P’E O〜PEaとも全てルーチンAを実行
する。 このとき、プログラムカウンタ19は、くA〉から7づ
つインクリメントされる。 ■ プログラムカウンタ19が<3rQ>になると、P
EO〜3の各演算器で条件分岐命令に記された条件をテ
ストし、ステータスを出力する。 ステータスがOのとき未分岐、1のとき分岐するとする
と、停止状態ではないPEのステータスにより、分岐命
令検出部2°1では、次の3つの処理のいずれかを実行
する。 1 全PEのステータスがO プログラムカウンタ19をインクリメ ントする。 2 全PEのステータスが1 プログラムカウンタ19の内容を条件 分岐命令に明記された分岐先アドレスとして、分岐先に
ジャンプする。 3 ステータスにOと1が存在 ■ スタックポインタ17を1インクリメンi〜し、停
止状態ではなく、かたうステータスが1のPEのみ、停
止フラグを1、残りはOとしてスタック18中の停止フ
ラグ記憶部15に書き込む。 同時に分岐先アドレスを分岐先アドレス記憶部16に書
き込む。 また、ステータスが1のPEを新たに停止状態であった
PEを示ずHALT−FLAGのORを取り、11八L
T FLAG IIEGISTIER11に書き込む。 ■ その後、プログラムカウンタ19を1インクリメン
トして、ステータスOを出力したPEのみ処理を実行す
る。 クリメン1〜して、ステータスOを出力したPEのみ処
理を実行する。 すなわち、第2図Bの例では、PEOとPE1はステー
タスO,PE2と、PE3はステータス1を出力するの
で、分岐命令検出部21は]1^Lj−CODEを’0
011”とすると同時に、スタックポインタ17のアド
レスを1とし、停止コード’0011”と条件分岐命令
BrOに明記された分岐先アドレス<1>をそれぞれ停
止フラグ記憶部15と分岐先アドレス記憶部16に出き
込む。 ■ 次に、プログラムカウンタ19を1インクリメント
し、ルーチンBの処理が開始される。 このとき、PEOとPEIは作動状態である。ルーチン
Bが終了し、プログラムカウンタ19が<Br1>にな
ると、PEOとPE1で条件分岐命令に記された条件を
テストし、その結果、PEOはステータス0、PE1は
ステータス1を出力するので、分岐命令検出部21は前
回同様に11八LT−CODEを“0111”とすると
同時に、スタックポインタ17のアドレスを2とし、停
止コード゛’0100”と条件分岐命令Br1に明記さ
れた分岐先アドレスくF〉をそれぞれ停止フラグ記憶部
15と分岐先アドレス記憶部16に書き込む。 ■ 次に、プログラムカウンタ19を1インクリメント
し、ルーチンCの処理の実行が開始される。 このとき、PEOのみが動作状態である。 ■ プログラムカウンタ19が<3r2>になるど、P
EOで条件分岐命令に記された条件をテス+=1、、イ
の結果、ステータス0が出力されるので、分岐命令検出
部21はプログラムカウンタ19を1インクリメントし
、ル−チンDの処理が開始される。 ■ ルーチンDo最後には条件分岐ルーチンの終了を示
す命令が明記されているので、エンド命令検出部14で
はその命令を検出し、スタックの状態に応じて次の2つ
の処理のいずれかを実行する。 1 スタックされたデータ無 全PEが条件分岐処理を終了したこと を意味し、HALT FLAG I?EGISTER1
1をリピッ1〜し、エンド命令中に明記されたアドレス
にジャンプして新たに処理の実行を開始する。 2 スタックされたデータ有 スタック18から停止フラグを読み出 しそれを反転して新たにHALT−FLAGとし、+1
ALT FLAG REGISTER11に出き込む。 同時にスタック18から分岐先アドレスを読み出してプ
ログラムカウンタ19に占ぎ込み、分岐先アドレスから
処理を開始する。スタックポインタ17はコデクリメン
トする。 すなわち、今の場合、スタックポインタ17のアドレス
が2であるので、停止コード″0100”を反転した’
1oit”が新たな11八LT−FLAGとなってHA
L丁FLAG IIEGISTEItに古き込まれると
同時に、分岐先アドレス<F>がプログラムカウンタ1
9に書き込まれ、ル−チンFの処理が開始される。 このときPE1のみ0作動状態である。 プログラムカウンタ19が<Br3>になると、PE1
で条件分岐命令に記された条件をテストし、その結果、
ステータス1が出力されるので、分岐命令検出部21は
プログラムカウンタ19の内容を条件分岐命令に明記さ
れた分岐先アドレスくト1〉とし、ルーチント1の処理
が開始される。 ルーチン1」の241には条件分岐ルーチンの終了を示
す命令が明記されているので、エンド命令検出部14で
はその命令を検出し、スタックポインタ17を調べると
そのアドレスが1であるので、前回同様に、停止コード
” 0011” ヲ反転した”1100”が新たな11
八LT−FLAGとなり、分岐先アドレス<(>がプロ
グラムカウンタ19に占ぎ込まれ、ル−チンIの処理が
開始される。 このときPE2とPE3が作動状態である。 プログラムカウンタ19が<3r4>になると、PE2
とPE3で条件分岐命令に記された条件をテストし、そ
の結果、PE2、PESともステータス1が出力される
ので、分岐命令検出部21はプログラムカウンタ19の
内容を条件分岐命令に明記された分岐先アドレス<K>
とし、ルーチンKが実行される。 ルーチンにの最後には条件分岐ルーチンの終了を示す命
令が明記されているので、エンド命令検出部14ではそ
の命令を検出し、スタックポインタ17のアドレスを調
べる。 ■ その結果、今回は、スタックにデータが存在しない
ので、IIALT FLAG ItEGIST「R11
をリセットし、エンド命令中に明記されたアドレスにジ
ャンプして新たに処理の実行を開始する。
第1図から第9図は、本発明による並列演算処理装置の
第1の実施例の説明に供する図である。 第10図〜第11図は、本発明による並列演算処理装置
の第2の実施例の説明に供する図である。 出願人 日本電信電話株式会社
第1の実施例の説明に供する図である。 第10図〜第11図は、本発明による並列演算処理装置
の第2の実施例の説明に供する図である。 出願人 日本電信電話株式会社
Claims (1)
- 【特許請求の範囲】 コマンドアドレス発生用カウンタと、 上記コマンドアドレス発生用カウンタから出力されるコ
マンドアドレス発生用カウント出力にもとずき、それが
得られる毎に、順次予定のコマンドを出力するコマンド
発生回路と、 上記コマンド発生回路から出力されるコマンドにもとず
き、それが出力される毎に、そのコマにもとずく演算動
作をそれぞれ実行する複数n個の演算器P_1、P_2
………P_nとを有する並列演算処理装置において、 演算器P_i(i=1、2………n)が、上記プログラ
ムカウンタからの出力にもとずき上記プログラムメモリ
から出力される条件分岐命令に明記された分岐条件を満
足するか否かを判断し、それに応じて上記演算器P_i
を動作状態または停止状態にさせる手段を有することを
特徴とする並列演算処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63140893A JP2719676B2 (ja) | 1988-06-08 | 1988-06-08 | 並列演算処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63140893A JP2719676B2 (ja) | 1988-06-08 | 1988-06-08 | 並列演算処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01310444A true JPH01310444A (ja) | 1989-12-14 |
| JP2719676B2 JP2719676B2 (ja) | 1998-02-25 |
Family
ID=15279239
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63140893A Expired - Fee Related JP2719676B2 (ja) | 1988-06-08 | 1988-06-08 | 並列演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2719676B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998033115A1 (en) * | 1997-01-24 | 1998-07-30 | Mitsubishi Denki Kabushiki Kaisha | A data processor |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61246868A (ja) * | 1985-04-24 | 1986-11-04 | Fujitsu Ltd | 同期制御方法 |
| JPS63106859A (ja) * | 1986-10-23 | 1988-05-11 | Sharp Corp | 多重プロセツサ装置 |
-
1988
- 1988-06-08 JP JP63140893A patent/JP2719676B2/ja not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61246868A (ja) * | 1985-04-24 | 1986-11-04 | Fujitsu Ltd | 同期制御方法 |
| JPS63106859A (ja) * | 1986-10-23 | 1988-05-11 | Sharp Corp | 多重プロセツサ装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998033115A1 (en) * | 1997-01-24 | 1998-07-30 | Mitsubishi Denki Kabushiki Kaisha | A data processor |
| US6484253B1 (en) | 1997-01-24 | 2002-11-19 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2719676B2 (ja) | 1998-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS5886648A (ja) | トレ−ス装置 | |
| JPH03286332A (ja) | デジタルデータ処理装置 | |
| US4754424A (en) | Information processing unit having data generating means for generating immediate data | |
| JPH01310444A (ja) | 並列演算処理装置 | |
| JP3211423B2 (ja) | 分岐命令実行方法および分岐命令実行装置 | |
| JPS5826584B2 (ja) | デ−タ処理装置 | |
| JPH04359323A (ja) | マイクロコンピュータ | |
| JPH0831033B2 (ja) | データ処理装置 | |
| JP2824484B2 (ja) | パイプライン処理計算機 | |
| JPS6052449B2 (ja) | 割込み処理方式 | |
| JPH02127731A (ja) | 演算レジスタのバイパスチェック方式 | |
| JP2764947B2 (ja) | 命令制御方式 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH0727473B2 (ja) | データフロープログラムのデバッグ装置 | |
| JP3523407B2 (ja) | 情報処理装置 | |
| JPS6326416B2 (ja) | ||
| JPS6086625A (ja) | デ−タ処理装置 | |
| JPS61123937A (ja) | データ処理装置のデータ駆動型制御方式 | |
| JPS6146857B2 (ja) | ||
| JPH11161491A (ja) | 汎用プロセッサ | |
| JPH01121950A (ja) | トレース機能付マイクロプロセッサ | |
| JPH0727474B2 (ja) | データフロープログラムのデバッグ装置 | |
| JPH07191875A (ja) | デバッガー | |
| JPH0535896B2 (ja) | ||
| JPS622329A (ja) | 演算例外命令アドレス割出装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |