JPH05181817A - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JPH05181817A
JPH05181817A JP3098615A JP9861591A JPH05181817A JP H05181817 A JPH05181817 A JP H05181817A JP 3098615 A JP3098615 A JP 3098615A JP 9861591 A JP9861591 A JP 9861591A JP H05181817 A JPH05181817 A JP H05181817A
Authority
JP
Japan
Prior art keywords
packet
type ring
pipeline type
processing means
processing
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
Application number
JP3098615A
Other languages
English (en)
Other versions
JP3083582B2 (ja
Inventor
Atsuhiro Suzuki
篤浩 鈴木
Yoshio Yoshioka
良雄 吉岡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP03098615A priority Critical patent/JP3083582B2/ja
Publication of JPH05181817A publication Critical patent/JPH05181817A/ja
Application granted granted Critical
Publication of JP3083582B2 publication Critical patent/JP3083582B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【構成】 複数のシフトレジスタをリング状に接続した
1層のパイプライン型リングバスを複数層設けるととも
に(10,20,30)、パイプライン型リングバス上
を流れるパケットを取り込んで処理する処理手段を各層
の各シフトレジスタに対して設け(211〜214,2
21〜224,231〜234)、さらに、各層の少な
くとも一つの処理手段に対してパケットの授受を行なう
パケット制御手段102を設け、処理手段にその属する
層の上の層の処理手段の出力を自層のパイプライン型リ
ングバスに取り込む手段381,380,311を付与
した。 【効果】 パイプライン型リングバスに複数のPEを接
続した構造を一つの層とし、各層を順次接続することに
より、パケット制御装置を介することなく一つのパイプ
ライン型リングバスから他のパイプライン型リングバス
にパケットが流れるため、パケット制御装置の負担が軽
減され、その結果、パケット制御装置はより多くのデー
タ・パケットを高速パケット処理装置に流すことがで
き、多くのタスクが効率よく並列に多重処理できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速に情報処理を行な
うための並列処理装置に係り、特に大量のデータを繰返
し処理する科学技術計算に好適なデータフロー型並列処
理装置および複数の処理手段間のネットワークに関す
る。
【0002】
【従来の技術】超並列計算機の複数の処理手段(以降、
単位処理要素;PE:Processing Elementと呼ぶ)を接
続する方式としてバス型、リングバス型、ハイパーキュ
ーブ型、ツリー型、格子型、スター型、網結合型等が知
られている。
【0003】リングバス型に関しての改良は、「Loop S
tructured Computerについて」,情報処理・計算機アー
キテクチャ研究会資料,56−1、および、「Loop Str
uctured Computerのトラヒック特性」,電子情報通信学
会論文誌’89/3 Vol.J72-D-I No.3,第149
頁〜第156頁、および、「Loop Structured Computer
の特性解析」,並列処理シンポジウムJSPP’89
第321頁〜第328頁で知られている。
【0004】図8は上記論文中に開示されたLoop Struc
tured Computer(以降LSCと呼ぶ)を示している。図
8中、710,720,730,740は単位処理要素
(PE)、711,721,731,741はシフトレ
ジスタ、750は複数のPE内のシフトレジスタの入出
力を順次接続して構成されたパイプライン型リングバス
である。特に、ホスト計算機との間でパケットの交換を
行なう制御部を構成するPE710をCU(Control Un
it)と呼ぶ。PE720,730,740は、記憶装置
と直接接続されていないため、PE710とパケットを
転送しあって記憶装置へアクセスする。パイプライン型
リングバス750上には、空パケット、データパケッ
ト、結果パケットが詰まっており、各PEはパイプライ
ン型リングバス710上を流れる自PE宛のデータパケ
ットおよび結果パケットを、空パケットまたは他PE宛
の結果パケットと交換する。各PEの処理は、自PE宛
のデータパケットを処理し、他PE宛の結果パケットを
作り出すことによって進行して行く。従来の技術による
LSCの処理方式には以下に述べる3種類がある。
【0005】(1)最初に各PEの処理機能を固定して
から処理データをパイプライン的に流す方式。
【0006】(2)処理機能と処理データをともに持つ
処理パケットをパイプライン的に流す方式。
【0007】(3)上記(1),(2)が混在する処理
方式。
【0008】パイプライン型リングバスを、CUを介し
て複数接続する処理形態も前記論文により知られてい
る。
【0009】
【発明が解決しようとする課題】上記従来技術において
は、処理性能を向上させようとして一つのパイプライン
型リングバスにPEを増やしていくとパイプライン型リ
ングバスの輪が大きくなり、目的のPEにパケットが届
くまでの転送時間が長くなるという問題点があった。同
様に、処理性能の向上を目的としてPEを増やしていく
とパイプライン型リングバスを流れるデータパケットや
結果パケットのトラヒック量が増してPE内の結果パケ
ットがパイプライン型リングバスに出力できない事態が
生じ、その結果、PE内に自PE宛パケットを取り込む
こともできなくなるために、処理がデットロックすると
いう問題点があった。また、他のパイプライン型リング
バスとは独立なパイプライン型リングバスをCUを介し
て接続していく方式もあるが、CUには、パイプライン
型リングバス間をまたぐPE間のパケットの振り分け処
理に大きな負担がかかるため、パイプライン型リングバ
ス間のパケット転送時間が長くなりシステム性能が著し
く低下するという問題点があった。
【0010】本発明の目的は、多重プログラミング環境
に対応できるPE数を確保するために上記パイプライン
型リングバスのデータパケットおよび結果パケットのト
ラヒック量を容易に最適化することが可能であるネット
ワーク形態と処理方式とを提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明による並列処理装置は、複数のシフトレジス
タをリング状に接続した1層のパイプライン型リングバ
スを複数層設けるとともに、前記パイプライン型リング
バス上を流れるパケットを取り込んで処理する処理手段
を各層の各シフトレジスタに対して設け、さらに、各層
の少なくとも一つの処理手段に対してパケットの授受を
行なうパケット制御手段を設け、前記処理手段に、その
属する層の上の層の処理手段の出力を自層のパイプライ
ン型リングバスに取り込む機能を付与したものである。
【0012】前記パケットは、例えば、各処理手段に割
当てる機能を指定する機能情報を含むプログラム・パケ
ットと、該プログラム・パケットにより指定された機能
に基づき処理されるデータを含むデータ・パケットから
なる。
【0013】各処理手段は、好ましくは、前記パイプラ
イン型リングバス上を流れるパケットが自処理手段宛の
パケットであるか否かを判定する手段と、該手段の出力
に応じてそのパケットを取り込むか否かを切り換える手
段とを有する。この場合、各処理手段は、前記パイプラ
イン型リングバスからパケットを取り込む際、そのパケ
ットに代えて、上の層の処理手段からのパケットまたは
空パケットを当該パイプライン型リングバス上に乗せる
手段を有することが望ましい。
【0014】前記判定する手段には他の層の処理手段に
割当てられたパケットを検知する機能も付与し、該検知
時にそのパケットを下層のパイプライン型リングバスへ
スルーパスする経路を設けるようにしてもよい。
【0015】各処理手段は、前記パイプライン型リング
バス上に流れるパケットが空パケットであるか否かを判
定する手段と、該手段の出力に応じて、上の層の処理手
段からのパケットを当該パイプライン型リングバス上に
乗せるか否かを切り換える手段とを有してもよい。
【0016】前記パケット制御手段は、好ましくは、第
1の演算を指定する第1のパケットと、該第1の演算の
結果を利用して行なう第2の演算を指定する第2のパケ
ットとを別個の処理手段に割当てる際、前記第1のパケ
ットを割当てる処理手段の層より下の層の処理手段に前
記第2のパケットを割当てるマッピング管理機能を有す
る。
【0017】本発明のその他の構成、および作用効果は
以下の記載により明らかとなろう。
【0018】
【作用】本発明は、それぞれ複数の処理手段からなる複
数の層を有し、パケット制御手段が各層の少なくとも一
つの処理手段にパケットを流すことが可能であり、ま
た、処理手段は上下のパイプライン型リングバスに接続
していることからパイプライン型リングバス間のパケッ
ト転送に処理手段を利用可能となるため、各層のパイプ
ライン型リングバスのデータパケットや結果パケットの
トラヒック量を最適な状態とすることができる。
【0019】
【実施例】以下、本発明の実施例について詳細に説明す
る。
【0020】まず、図1に、本発明による並列処理装置
の全体構成の一例を示す。図1中、101はホスト計算
機、102はパケット制御装置、103は高速パケット
処理装置、104は記憶装置である。ホスト計算機10
1とパケット制御装置102とは、記憶装置104を共
有している。ホスト計算機101とパケット制御装置1
02との間には、ホスト計算機101がパケット制御装
置102に起動を指示する信号と、パケット制御装置1
02がホスト計算機101に処理を終了したことを知ら
せる信号とが授受されいる。高速パケット処理装置10
3は、複数のデータパスとパケット出力要求信号とでパ
ケット制御装置102に接続されている。ホスト計算機
101とパケット制御装置102との間のデータ転送、
およびパケット制御装置102と高速パケット処理装置
103との間のデータ転送は、全てパケットにより行わ
れる。図1のパケット制御装置102と高速パケット処
理装置103の第1列のPE(後述)とが従来のCUに
相当する。パケットの形式にはCU用、PE用にそれぞ
れ二つあり、一つは高級言語等で記述されたプログラム
をホスト計算機101内でコンパイルし記憶装置104
に格納したCUプログラム・パケットおよびCUデータ
・パケット形式、そして、もう一つは記憶装置104に
格納してあるCUプログラム・パケットおよびCUデー
タ・パケットをパケット制御装置102が高速パケット
処理装置103に流すために変換したPEプログラム・
パケットおよびPEデータ・パケット形式である。後者
のパケット形式の構成については後に詳述する。以下、
処理の流れの概略を説明する。
【0021】ホスト計算機101は、パケット制御装置
102に対してパケット処理実行を指示する。この指示
に応じて、パケット制御装置102は記憶装置104に
格納してあるCUプログラム・パケットを読みだし高速
パケット処理装置103に流すためのPEプログラム・
パケットに変換した後、該PEプログラム・パケットを
高速パケット処理装置103にパイプライン的に流し始
める。高速パケット処理装置103内部では、PEプロ
グラム・パケットの内容に従いマッピングが行なわれ
る。ここで、マッピングとは、演算機能を指定する各プ
ログラム・パケットを特定のPEに割当てる処理をい
う。プログラムパケットを受け取ったPEは割当て完了
報告を当該プログラムパケットに付加してパケット制御
装置102へ返送する。パケット制御装置102は、割
当て完了報告をカウントして全てのマッピングが終了し
たことを認識する。その時点で、パケット制御装置10
2は、記憶装置104に格納されているCUデータ・パ
ケットを読みだして高速パケット処理装置103に流す
PEデータ・パケットに変換し、該PEデータ・パケッ
トを高速パケット処理装置103にパイプライン的に流
す。全てのデータ・パケットの処理が終了した時点で、
パケット制御装置102はホスト計算機101に対して
終了報告を行い、同時に高速パケット処理装置103の
当該プログラムのマッピングの解除を行うためにプログ
ラム消去パケットを流し、当該プログラムの処理が終了
する。以上が本装置の処理の大まかな流れである。
【0022】次に、高速パケット処理装置103内部の
動作を説明する。図2は、3行4列の高速パケット処理
装置(トーラス型高速パケット処理装置という)103
の構成の一例を、パケット制御装置102および記憶装
置104とともに示している。211,212,21
3,214,221,222,223,224,23
1,232,233,234は、それぞれPEである。
図2中、それぞれパイプライン型リングバス10,2
0,30で接続している一つの行を層と呼び、PE
(1,1),PE(1,2),PE(1,3),PE
(1,4)を第1層、PE(2,1),PE(2,
2),PE(2,3),PE(2,4)を第2層、PE
(3,1),PE(3,2),PE(3,3),PE
(3,4)を第3層と呼ぶ。各層の第1列のPE(1,
1),PE(2,1),PE(3,1)は、それぞれパ
ケット制御装置102と接続されている。さらにこれら
のPEは、パケット制御装置102に対するパケットと
り込み要求信号を送出する機能を有する。PE(1,
1),PE(2,1),PE(3,1)を除く全てのP
Eは、上層のパイプライン型リングバスからパケットを
取り込み、パケットを処理し、下層のパイプライン型リ
ングバスへ処理済みのパケットを送り出すこと、およ
び、上層のパイプライン型リングバスからパケットを取
り込み、下層のパイプライン型リングバスへパケットを
スルーすることが可能である。PE(1,1),PE
(2,1),PE(3,1)の上下の接続バスはパケッ
ト制御装置102に接続されており、当該接続バスを通
してパケット制御装置102とのパケットの交換が行わ
れる。
【0023】尚、m行n列のトーラス型高速パケット処
理装置にも拡張することができる。また、第3層から第
1層への接続バスを除去した非トーラス型の実施例も考
えられる。この場合、第3層から第1層へのパケットの
転送はパケット制御装置102を介して行なうことにな
る。
【0024】図3に、PEの一構成例を示す。図3中、
301,302,303はシフトレジスタを構成するラ
ッチ、310は空パケット判定回路、320は処理パケ
ット判定回路、311,321,322は選択回路、3
23はスルーパス、330は空パケット生成器、340
は処理待ちパケットキュー、341は演算入力ラッチ
A、342は演算入力ラッチB、350は機能決定情報
レジスタ、360は演算・処理部、370はデータ・パ
ケット生成回路、380は出力待ちパケットキュー、3
72はパケット送出要求信号である。パケット送出要求
信号372は、図2の第1列のPE211,221,2
31にのみ必要とされる信号であるが、各PEを同一構
成とするためにはすべてのPEに設けておいてよい。ま
た、300はラッチ301へつながるパイプライン型リ
ングバス入力端子、304はラッチ303の出力を受け
るパイプライン型リングバス出力端子である。隣接する
PE間で、相互にパイプライン型リングバス入力端子3
00とパイプライン型リングバス出力端子304とを接
続することにより、パイプライン型リングバスが構成さ
れる。371はPEデータ・パケット出力端子、381
はPEプログラム/データ・パケット入力端子である。
図2で上下に隣接するPE間で、相互にPEデータ・パ
ケット出力端子371とPEプログラム/データ・パケ
ット入力端子381とをカスケード接続することによ
り、同列のPEがリング状に接続される。つまり、PE
内部のパイプライン型リングバスから取り出した(パケ
ット交換した)データ・パケットが、そのPE内の処理
待ちパケットキュー340から演算・処理部360に渡
り、演算結果はデータ・パケット生成回路370でデー
タ・パケットとなり、PEデータ・パケット出力端子3
71から隣接する下層のPEの出力待ちパケットキュー
380にキューイングされ、下層のパイプライン型リン
グバスへと転送(パケット交換)されるようになってい
る。なお、一つのPE内の出力待ちパケットキュー38
0を同一PE内のデータ・パケット生成回路370の後
段に設けてもよいが、図3のようにパイプライン型リン
グバスをPE内部に取り込んだ構造とすることにより、
出力待ちパケットキュー380とパイプライン型リング
バスとの間の物理的距離、および処理待ちパケットキュ
ー340とパイプライン型リングバスとの間の物理的距
離を短くし、パイプライン型リングバスの高速化を図る
ことができる。
【0025】図4および図5はPEプログラム/データ
・パケット形式の一実施例を示している。400,42
0はタスク番号(TN)、401,421はパケット番
号(PN)である。402,422は、そのパケットが
割当てられるPEを指定する処理先PEアドレス(LN
PE)である。403は、プログラム・パケットの機能
を示す演算コード(FC)、404は発火条件(E
C)、405は出力データ型(DT)、424は後述す
るRTデータの型(DT)、406は演算結果を出力す
る個数(OC)、407,408,409,410は出
力先PEアドレス(LNPE)である。また、423は
コンディションコード(CC)、425はCUがデータ
管理するためのデータのシリアル番号(DN)、426
は演算データおよび結果データ(RT)を示している。
出力先PEアドレス407,408,409,410に
は、演算器の複数の入力ポートのいずれ(A側またはB
側)へ出力されるかを示す情報も含まれている。発火条
件404の左のビットが‘1’のとき演算入力Aが揃
い、右のビットが‘1’のとき演算入力Bが揃っている
ことを意味する。演算コード403が‘DATA’かつ
発火条件404が‘10’の時、407フィールドおよ
び408フィールドが演算入力Aの定数として、また、
演算コード403が‘DATA’かつ発火条件404が
‘01’の時、409フィールドおよび410フィール
ドが演算入力Bの定数となる。空パケットはタスク番号
400,420が‘0’であるときであり、また、プロ
グラム消去パケットはPEデータ・パケットのタスク番
号420が‘0’以外であり、かつパケット番号421
が‘0’であるときである。コンディションコード42
3が‘0’以外の場合、そのPEデータ・パケットの演
算入力データ426に演算エラーがあることを示してい
る。出力データ型406は、出力データが実数であるか
整数であるかを、それぞれ‘F’,‘I’で示す。
【0026】図6は、PEの動作を説明するためのプロ
グラムの一例である。同図(a)は高級言語FORTR
ANで記述した1次元配列の乗算と加算を行うプログラ
ム、同図(b)は同図(a)のプログラムをホスト計算
機がコンパイルして得られたCUパケットに対してさら
にパケット制御装置102が変換処理を行なって得られ
たPEプログラム・パケットを示している。同図(c)
は同図(a)のPEプログラム・パケットに対応するP
Eデータ・パケットを示している。
【0027】図6(b)において、PEプログラム・パ
ケット501は、タスク番号が‘1’でパケット番号が
‘1’、演算コードが乗算‘*’(この場合、A(i)
*B(i))であり、演算結果を実数としてPEアドレ
ス‘23’の演算器入力A側に出力するパケットを表
し、PEアドレス‘12’にマッピングされることを示
している。パケット502は、タスク番号が‘1’でパ
ケット番号が‘2’、演算コードが乗算‘*’(この場
合、パケット501の計算結果*S)であり、演算結果
を実数としてPEアドレス34の演算器入力A側に出力
するパケットを表し、PEアドレス‘23’にマッピン
グされることを示している。パケット503は、タスク
番号が‘1’でパケット番号が‘3’であり、PEアド
レス‘23’の演算器のA側に格納する定数SをPEア
ドレス23にマッピングすること表している。パケット
504は、タスク番号が‘1’でパケット番号が
‘4’、演算コードが加算‘+’(この場合、パケット
502の計算結果+C(i))であり、演算結果を実数
としてPEアドレス11の演算器入力A側に出力するパ
ケットを表し、PEアドレス‘34’にマッピングされ
ることを示している。パケット505は、タスク番号が
‘1’、パケット番号が‘5’で、演算器のB側入力に
パケット504の演算結果が送られて来たとき、それを
パケット制御装置102に転送するパケットを表し、P
Eアドレス11にマッピングされることを示している。
【0028】図6(c)において、パケット510は、
タスク番号が‘1’、パケット番号が‘6’、転送先P
Eアドレスが‘12’のA側であり、PE内演算器入力
A側のRTデータの型が実数であることを表している。
パケット511は、タスク番号が‘1’でパケット番号
が‘7’、転送先PEアドレスが‘12’のB側であ
り、PE内演算器入力B側のRTデータの型が実数であ
ることを表している。パケット512は、タスク番号が
‘1’でパケット番号が‘8’、転送先PEアドレスが
‘34’のB側であり、PE内演算器入力B側のRTデ
ータの型が実数であることを表している。510,51
1,512の形式のPEデータ・パケットが、A
(1),B(1),C(1)からA(100),B(1
00),C(100)まで、パケット制御装置102に
より生成される。最後に、プログラム消去パケット51
3が生成される。
【0029】図7は、図6(b)に示したPEプログラ
ム・パケット群を高速パケット処理装置103にマッピ
ングした状態を示している。すなわち、PEプログラム
・パケット501,502,503,504,505
は、それぞれPEアドレス‘12’,‘23’,‘2
3’,‘34’,‘11’に割当てられている。パケッ
ト制御装置102は、各パケットを、通常その割当て先
のPEの属する層の第1列のPEを介してパイプライン
型リングバスに流すが、当該層の第1列のPEの出力待
ちパケットキュー380が込み合っている等の場合、他
の層から流すことも可能である。パケット処理装置10
2から流されるPEデータパケットは主に実線上を流れ
る。また、PE内処理待ちパケットキュー340が満杯
で取り込まれなかったパケットは点線で示されるパイプ
ライン型リングバスをPE内処理待ちキューが空くまで
回り続ける。
【0030】図3のPEの構成、図4のPEプログラム
・パケット形式、および図9のフローチャートを参照
し、具体的なマッピングの動作について説明する。
【0031】(1)まず、パケット制御装置102は記
憶装置104からCUプログラム・パケットを読みだ
し、これをPEプログラム・パケットに変換した後(S
1)、処理先PEアドレス402に従い、パケット制御
装置102と接続されているPEの一つへそのPEプロ
グラム・パケットを転送する(S2)。
【0032】(2)このPEプログラム・パケットは、
当該PEの出力待ちパケットキュー380に格納され
る。
【0033】(3)空パケット判定回路310は、パイ
プライン型リングバスを常に監視しており(S3)、タ
スク番号が‘0’、つまり空パケットであることを検知
した場合、セレクタ311をパイプライン型リングバス
の流れから出力待ちパケットキュー380の出力へ切り
替え(S15)、出力待ちパケットキュー380に格納
してあるPEプログラム・パケットをパイプライン型リ
ングバスに乗せる。出力待ちパケットキュー380が空
の場合(S14)、セレクタ311の切り替えは起こら
ない。
【0034】(4)処理パケット判定回路320は、パ
イプライン型リングバスを常に監視しており(S4)、
PEアドレスが機能決定情報レジスタ350に格納され
ているPEアドレスと等しい場合、セレクタ321をパ
イプライン型リングバスの流れから処理待ちパケットキ
ュー340の方へ、また、セレクタ322をパイプライ
ン型リングバスの流れから空パケット生成器330の方
へ同時に切り替え(S8)、処理待ちパケットキュー3
40に当該PEプログラム・パケットを格納すると同時
に、パイプライン型リングバスに空パケットを乗せる。
なお、機能決定情報レジスタ350のPEアドレスフィ
ールドには、そのPEのPEアドレスをシステム立ち上
げ時等に格納し、あるいは固定的に設定しておく。空パ
ケットをパイプライン型リングバスに乗せる際、出力待
ちパケットキュー380にパケットがあれば(S9)、
セレクタ311をパイプライン型リングバスの流れから
出力待ちパケットキュー380の方に切り替え(S1
2)、空パケットの代わりに当該パケットキュー380
内のパケットをパイプライン型リングバスに乗せる。処
理パケット判定回路320は、パイプライン型リングバ
ス上を流れるパケット(ラッチ301にラッチされたも
の)の割当て先PEの層が自層と異なるか否かも判定す
る(S5)。異なると判定された場合には、セレクタ3
21を自層のパイプライン型リングバスの流れからスル
ーパス323の方へ切り替え(S7)、下層の出力待ち
パケットキュー380を介して下層のパイプライン型リ
ングバスへ当該パケットを流し込む。
【0035】(5)上記処理(4)で処理待ちパケット
キュー340に格納したPEプログラム・パケットの演
算コード403が‘DATA’以外ならば(S10)、
そのPEプログラム・パケットを機能決定情報レジスタ
350に格納する(S11)。演算コード403が‘D
ATA’であれば、このPEプログラム・パケットの発
火条件404に従い、定数を演算入力ラッチA341ま
たは演算入力ラッチB342に格納する(S13)。
【0036】(6)パケット制御装置102の制御下
で、CUプログラム・パケットがなくなるまで(S
6)、上記(1)〜(5)の処理が並列に繰返され、全
てのプログラム・パケットが各層の各PEに割り当てら
れる。
【0037】以上がマッピング動作である。次に、図3
のPEの構成、図4のPEプログラム・パケット形式、
および図10のフローチャートを参照し、具体的なマッ
ピングの動作について説明する。
【0038】(1)パケット制御装置102は、記憶装
置104からCUデータ・パケットを読みだし、これを
PEデータ・パケットに変換した後(S21)、処理先
PEアドレス422に従い、パケット制御装置102と
接続しているPEの一つへそのPEデータ・パケットを
転送する(S22)。
【0039】(2)このPEデータ・パケットは当該P
Eの出力待ちパケットキュー380に格納される。
【0040】(3)空パケット判定回路310は、パイ
プライン型リングバスを常に監視しており(S23)、
タスク番号が‘0’、つまり空パケットであることを検
知した場合、セレクタ311をパイプライン型リングバ
スの流れから出力待ちパケットキュー380の出力へ切
り替え(S39)、出力待ちパケットキュー380に格
納してあるPEデータ・パケットをパイプライン型リン
グバスに乗せる。出力待ちパケットキュー380が空の
場合(S38)、セレクタ311の切り替えは起こらな
い。
【0041】(4)処理パケット判定回路320はパイ
プライン型リングバスを常に監視しており(S24)、
PEアドレスが機能決定情報レジスタ350に格納され
ているPEアドレスと等しい場合、セレクタ321をパ
イプライン型リングバスの流れから処理待ちパケットキ
ュー340の方へ、また、セレクタ322をパイプライ
ン型リングバスの流れから空パケット生成器330の方
へ同時に切り替え(S25)、処理待ちパケットキュー
340にそのPEプログラム・パケットを格納すると同
時に、パイプライン型リングバスに空パケットを乗せ
る。この時、出力待ちパケットキュー380にパケット
があれば(S26)、セレクタ311をパイプライン型
リングバスの流れから出力待ちパケットキュー380の
方に切り替え(S35)、当該パケットキュー380内
のパケットをパイプライン型リングバスに乗せる。処理
パケット判定回路320は、割当て先PEの属する層が
自層と異なる場合には(S36)、セレクタ321を自
層のパイプライン型リングバスの流れからスルーパス3
23の方へ切り替え(S37)、下層の出力待ちパケッ
トキュー380を介して下層のパイプライン型リングバ
スへそのパケットを流し込む。
【0042】(5)上記処理(4)で処理待ちパケット
キュー340に格納したPEデータ・パケットのパケッ
ト番号421が‘0’のとき(S27)、機能決定情報
レジスタ350を初期状態にする(S34)。PEデー
タ・パケットのコンディション・コード423が‘0’
であれば(S29)、演算・処理部360の、PEアド
レス422で指定された演算入力側にRTデータ426
を流しこむ。コンディション・コード423が‘0’以
外、つまり前の処理で演算エラーがあったときには、そ
のコンディション・コード423に定められた例外処理
を行う(S33)。なお、機能決定情報レジスタ350
内の発火条件の‘0’ビットは、演算データが所定の入
力側に取り込まれたとき‘1’へ変えられる。
【0043】(6)機能決定情報レジスタ350内の発
火条件が‘11’となった場合(S28)、つまり、演
算データが揃った場合、そのPEデータ・パケットは演
算・処理部360で処理され(S30)、演算結果をデ
ータ・パケット生成回路370に送出して、PEデータ
・パケットを生成する(S31)。
【0044】(7)データ・パケット生成回路370
は、機能決定情報レジスタ350の演算結果を出力する
個数406と、出力先PEアドレス407,408,4
09,410とに従い、出力する個数分のPEデータ・
パケットを生成する。これらのPEデータ・パケットは
下層のPEの出力待ちパケットキュー380に格納され
る。
【0045】(8)上記(3)〜(7)の動作が全PE
で並列におこなわれる。但し、機能決定情報レジスタ3
50の演算コード403がOUT機能であるPEでは、
機能決定情報レジスタ350内の発火条件が‘11’の
場合、データ・パケット生成回路370はパケット制御
装置102に対してパケット送出要求372を送出する
と共に該データ・パケット生成回路370が生成したP
Eデータ・パケットをパケット制御装置102に流し込
む。そして、パケット制御装置102は記憶装置104
に当該結果を格納する。
【0046】(9)パケット制御装置102の制御下
で、CUデータ・パケットがなくなるまで(S32)、
上記(1)〜(8)までの処理が並列に繰返され、パケ
ット制御装置102は、全ての処理済みデータ・パケッ
トを受け取った時点でプログラム消去パケット513を
流し、当該プログラムで使用していたPEを他のタスク
のために開放する。
【0047】
【発明の効果】本発明によれば、パイプライン型リング
バスに複数のPEを接続した構造を一つの層とし、PE
を介して層間接続を行なうことにより、パケット制御装
置を介することなく一つのパイプライン型リングバスか
ら他のパイプライン型リングバスにパケットが流れるた
め、パケット制御装置の負担が軽減され、その結果、パ
ケット制御装置はより多くのデータ・パケットを高速パ
ケット処理装置に流すことができ、多くのタスクが効率
よく並列に多重処理できる。
【0048】さらに、データ・パケットはPEの上層の
パイプライン型リングバスから入り、PE内演算器で処
理され、PEの下層のパイプライン型リングバスへと流
れていくため、PE内の結果パケットがパイプライン型
リングバスに出力できずにデットロックするおそれも軽
減される。
【0049】層間のスルーパスを設けることにより、層
違いのパケットを迅速に目的の層へ転送することができ
る。勿論、各層のPEとCUが接続することで、連続し
た層のPEを割り当てられない場合でも、CUを介して
目的の層にデータを流し込むことができ、パケット制御
装置(およびPE)の利用効率を高めることが容易であ
る。
【0050】また、パイプライン型リングバスの一部を
構成するレジスタをPEに内蔵させることにより、パイ
プライン型リングバスと出力待ちパケットキューとの
間、および、パイプライン型リングバスと処理待ちパケ
ットキューとの間、の物理的距離が短くなるために、パ
イプライン型リングバスの高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の一構成例を示すブロック図。
【図2】本発明による3行4列のトーラス型高速パケッ
ト処理装置の一実施例の構成を示すブロック図。
【図3】図2の単位処理要素(PE)の一構成例を示す
ブロック図。
【図4】実施例の装置に使用されるPEプログラム・パ
ケット形式の一例の説明図。
【図5】実施例の装置に使用されるPEデータ・パケッ
ト形式の一例の説明図。
【図6】実施例のPE動作を説明するためのプログラム
例の説明図。
【図7】実施例におけるプログラム・マッピング例の説
明図。
【図8】従来の高速パケット処理装置の構成のブロック
図。
【図9】実施例におけるプログラム・マッピングのフロ
ーチャート。
【図10】実施例における演算処理のフローチャート。
【符号の説明】 101…ホスト計算機、102…パケット制御装置、1
03…高速パケット処理装置、104…記憶装置、21
1,212,213,214,221,222,22
3,224,231,232,233,234…単位処
理要素、300…パイプライン型リングバス入力端子、
301,302,303…ラッチ、304…パイプライ
ン型リングバス出力端子、310…空パケット判定回
路、311,321,322…セレクタ、320…処理
パケット判定回路、323…スルーパス、330…空パ
ケット生成器、340…処理待ちパケットキュー、34
1…演算入力ラッチA、342…演算入力ラッチB、3
50…機能決定情報レジスタ、360…演算・処理部、
370…データ・パケット生成回路、371…PEデー
タ・パケット出力端子、372…パケット送出要求、3
80…出力待ちパケットキュー、381…PEプログラ
ム/データ・パケット入力端子、400,420…タス
ク番号、401,421…パケット番号、402,42
2…処理先PEアドレス、403…演算コード、404
…発火条件、405…出力データ型、406…出力個
数、407,408,409,410…出力先PEアド
レスおよび演算器入力ポート指定、423…コンディシ
ョン・コード、424…RTデータ型、425…データ
番号、426…演算データおよび結果データ、501,
502,503,504,、505…PEプログラム・
パケット、510,511,512…PEデータ・パケ
ット、513…プログラム消去パケット、710…制御
部、720,730,740…処理要素、711,71
2,713,714…シフトレジスタ。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】複数のシフトレジスタをリング状に接続し
    た1層のパイプライン型リングバスを複数層設けるとと
    もに、 前記パイプライン型リングバス上を流れるパケットを取
    り込んで処理する処理手段を各層の各シフトレジスタに
    対して設け、 さらに、各層の少なくとも一つの処理手段に対してパケ
    ットの授受を行なうパケット制御手段を設け、 前記処理手段に、その属する層の上の層の処理手段の出
    力を自層のパイプライン型リングバスに取り込む機能を
    付与したことを特徴とする並列処理装置。
  2. 【請求項2】前記パケットは、各処理手段に割当てる機
    能を指定する機能情報を含むプログラム・パケットと、
    該プログラム・パケットにより指定された機能に基づき
    処理されるデータを含むデータ・パケットからなること
    を特徴とする請求項1記載の並列処理装置。
  3. 【請求項3】各処理手段は、前記パイプライン型リング
    バス上を流れるパケットが自処理手段宛のパケットであ
    るか否かを判定する手段と、該手段の出力に応じてその
    パケットを取り込むか否かを切り換える手段とを有する
    ことを特徴とする請求項1または2記載の並列処理装
    置。
  4. 【請求項4】各処理手段は、前記パイプライン型リング
    バスからパケットを取り込む際、そのパケットに代え
    て、上の層の処理手段からのパケットまたは空パケット
    を当該パイプライン型リングバス上に乗せる手段を有す
    ることを特徴とする請求項3記載の並列処理装置。
  5. 【請求項5】前記判定する手段は、他の層の処理手段に
    割当てられたパケットを検知する機能も有し、更に該検
    知時にそのパケットを下層のパイプライン型リングバス
    へスルーパスする経路を設けたことを特徴とする請求項
    3記載の並列処理装置。
  6. 【請求項6】各処理手段は、前記パイプライン型リング
    バス上に流れるパケットが空パケットであるか否かを判
    定する手段と、該手段の出力に応じて、上の層の処理手
    段からのパケットを当該パイプライン型リングバス上に
    乗せるか否かを切り換える手段と有することを特徴とす
    る請求項1または4記載の並列処理装置。
  7. 【請求項7】前記パケット制御手段は、第1の演算を指
    定する第1のパケットと、該第1の演算の結果を利用し
    て行なう第2の演算を指定する第2のパケットとを別個
    の処理手段に割当てる際、前記第1のパケットを割当て
    る処理手段の層より下の層の処理手段に前記第2のパケ
    ットを割当てるマッピング管理機能を有することを特徴
    とする請求項1記載の並列処理装置。
  8. 【請求項8】m行n列に配置したm×n個の処理手段
    と、 各行ごとに前記処理手段に1対1に接続されたn個のシ
    フトレジスタをリング状に接続して構成したm個のパイ
    プライン型リングバスと、 第i行の処理手段の結果を、第i+1行の処理手段が接
    続されたパイプライン型リングバスに転送する転送手段
    と、 各行のパイプライン型リングバスに、被処理パケットを
    乗せる機能と各行のパイプライン型リングバスから処理
    済みのパケットを受ける機能とを有するパケット制御手
    段と、 を備えたことを特徴とする並列処理装置。
  9. 【請求項9】前記転送手段は、第m行の処理手段の結果
    を、第1行の処理手段が接続されたパイプライン型リン
    グバスに転送することを特徴とする請求項8記載の並列
    処理装置。
  10. 【請求項10】前記転送手段による転送は、同列の処理
    手段の間で行なうことを特徴とする請求項8または9記
    載の並列処理装置。
  11. 【請求項11】各処理手段は、前記パイプライン型リン
    グバスの一部を構成するシフトレジスタと、該シフトレ
    ジスタから取り込んだパケットを格納する第1のパケッ
    トキューと、上の層の処理手段から前記シフトレジスタ
    に取り込むべきパケットを格納する第2のパケットキュ
    ーとを備えたことを特徴とする請求項1または8記載の
    並列処理装置。
JP03098615A 1991-04-30 1991-04-30 並列処理装置 Expired - Lifetime JP3083582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03098615A JP3083582B2 (ja) 1991-04-30 1991-04-30 並列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03098615A JP3083582B2 (ja) 1991-04-30 1991-04-30 並列処理装置

Publications (2)

Publication Number Publication Date
JPH05181817A true JPH05181817A (ja) 1993-07-23
JP3083582B2 JP3083582B2 (ja) 2000-09-04

Family

ID=14224482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03098615A Expired - Lifetime JP3083582B2 (ja) 1991-04-30 1991-04-30 並列処理装置

Country Status (1)

Country Link
JP (1) JP3083582B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920145B2 (en) 2000-01-12 2005-07-19 Fujitsu Limited Packet switch device and scheduling control method
US7415600B2 (en) 2004-03-29 2008-08-19 Kabushiki Kaisha Toshiba Microprocessor that carries out context switching by shifting context information stored in a ringed shift register
JP2010522402A (ja) * 2007-03-23 2010-07-01 クゥアルコム・インコーポレイテッド マルチプロセッサシステムのための命令通信技術
EP3073378A1 (en) 2015-03-25 2016-09-28 Renesas Electronics Corporation Processing apparatus and control method thereof
WO2016199481A1 (ja) * 2015-06-12 2016-12-15 オリンパス株式会社 画像処理装置および画像処理方法
WO2016199477A1 (ja) * 2015-06-12 2016-12-15 オリンパス株式会社 画像処理装置および画像処理方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5590849B2 (ja) 2009-10-08 2014-09-17 キヤノン株式会社 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、その制御装置、およびその制御方法、プログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920145B2 (en) 2000-01-12 2005-07-19 Fujitsu Limited Packet switch device and scheduling control method
US7415600B2 (en) 2004-03-29 2008-08-19 Kabushiki Kaisha Toshiba Microprocessor that carries out context switching by shifting context information stored in a ringed shift register
JP2010522402A (ja) * 2007-03-23 2010-07-01 クゥアルコム・インコーポレイテッド マルチプロセッサシステムのための命令通信技術
EP3073378A1 (en) 2015-03-25 2016-09-28 Renesas Electronics Corporation Processing apparatus and control method thereof
KR20160115680A (ko) 2015-03-25 2016-10-06 르네사스 일렉트로닉스 가부시키가이샤 처리 장치 및 처리 장치의 제어 방법
US10452587B2 (en) 2015-03-25 2019-10-22 Renesas Electronics Coproration Processing apparatus and control method thereof
WO2016199477A1 (ja) * 2015-06-12 2016-12-15 オリンパス株式会社 画像処理装置および画像処理方法
JP2017004386A (ja) * 2015-06-12 2017-01-05 オリンパス株式会社 画像処理装置および画像処理方法
JP2017004387A (ja) * 2015-06-12 2017-01-05 オリンパス株式会社 画像処理装置および画像処理方法
CN107636631A (zh) * 2015-06-12 2018-01-26 奥林巴斯株式会社 图像处理装置和图像处理方法
US10241721B2 (en) 2015-06-12 2019-03-26 Olympus Corporation Image processing device and image processing method
US10453166B2 (en) 2015-06-12 2019-10-22 Olympus Corporation Image processing device and image processing method
WO2016199481A1 (ja) * 2015-06-12 2016-12-15 オリンパス株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP3083582B2 (ja) 2000-09-04

Similar Documents

Publication Publication Date Title
US20210406010A1 (en) Processor and control method for processor
US4833468A (en) Layered network
US4621359A (en) Load balancing for packet switching nodes
EP0460599B1 (en) Massively parallel processor including queue-based message delivery system
US4837676A (en) MIMD instruction flow computer architecture
US4873626A (en) Parallel processing system with processor array having memory system included in system memory
EP0138451B1 (en) Vector data processing system for indirect address instructions
US5418970A (en) Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
USRE38650E1 (en) System for performing deadlock free message transfer in cyclic multi-hop digital computer network using a number of buffers based on predetermined diameter
Siegel et al. Using the augmented data manipulator network in PASM
EP0601029A1 (en) Input/output arrangement for massively parallel computer system
JPH07271764A (ja) 計算機プロセッサ及びシステム
WO2005024644A2 (en) Integrated data processing circuit with a plurality of programmable processors
US5297255A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPH05181817A (ja) 並列処理装置
JP2753240B2 (ja) 並列プロセッサ
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
EP0199757B1 (en) Instruction flow computer
JPS58149556A (ja) 並列処理装置
JPS6134629A (ja) グラフマネジャー
US5765014A (en) Electronic computer system and processor element for processing in a data driven manner using reverse polish notation
Siegel et al. Parallel memory system for a partitionable SIMD/MIMD machine
Juang et al. Resource sharing interconnection networks in multiprocessors
Ramamoorthy et al. An optimal algorithm for scheduling requests on interleaved memories for a pipelined processor
JP3704367B2 (ja) スイッチ回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 11

EXPY Cancellation because of completion of term