JP2766217B2 - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JP2766217B2
JP2766217B2 JP7113321A JP11332195A JP2766217B2 JP 2766217 B2 JP2766217 B2 JP 2766217B2 JP 7113321 A JP7113321 A JP 7113321A JP 11332195 A JP11332195 A JP 11332195A JP 2766217 B2 JP2766217 B2 JP 2766217B2
Authority
JP
Japan
Prior art keywords
communication
communication register
register
registers
positive integer
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.)
Expired - Fee Related
Application number
JP7113321A
Other languages
English (en)
Other versions
JPH0863440A (ja
Inventor
恵子 櫻田
憲行 安藤
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP7113321A priority Critical patent/JP2766217B2/ja
Priority to CA002151673A priority patent/CA2151673C/en
Priority to US08/489,721 priority patent/US5805917A/en
Publication of JPH0863440A publication Critical patent/JPH0863440A/ja
Application granted granted Critical
Publication of JP2766217B2 publication Critical patent/JP2766217B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は並列処理装置に関し、特
に複数の演算処理装置間で同期排他制御を行うための通
信レジスタを含む並列処理装置に関する。
【0002】
【従来の技術】複数の演算処理装置、主記憶装置、およ
びこれらを結合する相互結合網より構成される並列処理
装置においては、上記複数の演算処理装置の各々がアク
セス可能であり、主記憶装置に比べアクセスタイムが高
速、もしくはアクセススループットが高い、もしくは両
方の特徴を有するように構成されたレジスタ(以下、
「通信レジスタ」という)を設ける並列処理装置があ
る。
【0003】この通信レジスタは、入出力装置と演算処
理装置間の通信の制御および入出力装置間、演算処理装
置間の制御、複数個の演算処理装置間の同期制御等に利
用される。
【0004】複数個の演算処理装置で並列処理を行う場
合には処理実行の途中で必ず複数個の演算処理装置間で
の同期制御、もしくは、排他制御が必要となる。
【0005】通常、この同期/排他制御は配列処理での
性能に多大な影響を与えるが、通信レジスタを用いて同
期/排他制御を行うことにより、同期/排他制御のオー
バヘッドを小さくすることができる。
【0006】同期制御とは、複数個の演算処理装置間で
命令処理での歩調合わせを行うための処理であり、具体
的には、ポスト/ウエイト処理やバリア同期処理を示
す。
【0007】また排他制御とは、プログラム中のある一
連の操作処理に対し、その操作処理を同一時刻に実行で
きるのが複数個の演算処理装置の中で唯一、一つの演算
処理装置である場合に、一つの演算処理装置のみに処理
を行わせる制御方法である。唯一、一つの演算処理装置
のみ実行が許されるプログラム中の操作処理区間をクリ
テカルセクションという。
【0008】排他制御を行う方法はいくつか考えられる
が、その内の一つに、テストアンドセット命令とストア
命令を用いた排他制御がある。これは、リード/ライト
アクセス対象が通信レジスタであるテストアンドセット
命令、ストア命令を用いた排他制御処理である。以下
に、複数の演算処理装置が共有する主記憶上の変数に対
して、複数の演算処理装置がアクセスする際の排他制御
を上記の方法を用いて行う場合の例を示す。
【0009】この例では、排他制御を行うクリティカル
セクション内の処理として共有変数をプラス1する処理
を示している。すなわち、複数個の演算処理装置でこの
排他制御が終了すると、この共有変数の値は演算処理装
置分だけインクリメントされている。仮に、この排他制
御を行わずに共有変数アクセスし、プラス1する処理を
行うとすると、処理終了時の共有変数の値は不定とな
る。本例においては、この共有変数として、通信レジス
タの1番地のワードを用いている。なお、CRは通信レ
ジスタを、S0およびS1はそれぞれスカラレジスタの
第0番および第1番を指す。
【0010】通信レジスタを共有変数として用いること
は、共有変数アクセスタイムの短縮というメリットをい
かすことができる。
【0011】排他制御の一例 001 loop1:TSCR S0,CR(#0) 002 BNE S0,loop1 003 LCR S1,CR(#1) 004 ADD S1,S1,1 005 SCR S1,CR(#1) 006 SCR S0,CR(#0) まず、個々の命令について説明する。
【0012】001行の”TSCR S0,CR(#
0)”はCR(#0)の値をスカラレジスタS0に読み
出し、そして、CR(#0)が0であつたら、CR(#
0)を1に変える。
【0013】002行の”BNE S0,loop1”
はスカラレジスタS0の値が0値であったならば、00
3行目以降の命令処理に進みみS0の値が0値以外の値
ならば、loop1と名付けられた001行目に戻ると
いうブランチ命令である。
【0014】003行”LCR S1,CR(#1)”
は通信レジスタ(CR)の1番地のワードを読み出し、
その値をスカラレジスタS1に書き込むという通信レジ
スタに対するロード命令である。
【0015】004行の”ADD S1,S1,1”は
スカラレジスタS1の値に1を加え、再びS1に書き戻
すという加算命令である。
【0016】005行の”SCR S1,CR(#
1)”はスカラレジスタS1の値をCR(#1)に書き
込むという通信レジスタに対するストア命令である。
【0017】006行の”SCR S0,CR(#
0)”はスカラレジスタS0の値をCR(#0)に書き
込むという通信レジスタに対するストア命令である。
【0018】つまり、この例では、他の演算処理装置が
クリティカルセクションに入っていることによってロッ
クビットが”1”である場合には、各演算処理装置はロ
ックビットが”0”になるまで繰り返し通信レジスタに
アクセスしてロックビットをチェックし、ロックビット
が”0”になったときにロックビットを”1”に変えて
ロックしてからクリティカルセクションでの処理をはじ
める。
【0019】このようにしてロック獲得操作が終わる
と、ロックを獲得した演算処理装置はCR(#1)のカ
ウンタに1を加える。こういう処理を繰り返し、カウン
タの値が全ての演算処理装置の数を示した時点で通信レ
ジスタを用いた同期制御が終了する。
【0020】ここで、ロックビットとはCR上の特定の
領域である(上記の例ではCR(#0))。各演算処理
装置はロックビットにアクセスし、ロックビットが”
0”であった場合にアクセスした演算処理装置のみがク
リティカルセクションに入ることを許される。そこで、
クリティカルセクションに入ることを許された演算処理
装置は他の演算処理装置がクリティカルセクションに入
らないようにロックビットを”1”に変える。この動作
をロックするという。また、上記のようにロックビット
にアクセスし、ロックビットが”0”であるかどうかを
チェックし、”0”である場合にロックしてクリティカ
ルセクションに入ることをロックを獲得するという。
【0021】上記のテストアンドセット命令を用いた操
作を行うことにより、ロックを獲得できない演算処理装
置はクリティカルセクションに入ることが許されないた
め、クリティカルセクションは排他的になり、1つの演
算処理装置のみが処理を行うことができる。
【0022】図6を参照すると、従来技術では、1つの
並列処理装置に対し、通信レジスタ部3には通信レジス
タモジュール4は1つしか存在せず、通信レジスタ部3
と相互結合網9とを結ぶ一本のバスにより相互結合網9
に接続している。このような構成では、通信レジスタ部
3にアクセスできる演算処理装置は同一時刻に一個と限
られることになる。
【0023】また、通常1つのタスクに対し、図7に示
したようなXワードの連続したアドレスを有する通信レ
ジスタが割り当てられる。このXワードをまとめて通信
レジスタセットという。
【0024】複数個の演算処理装置が並列処理を行う場
合で、1つのタスクにおいて、その複数個の演算処理装
置に対して同期/排他制御を行う際には、この1セット
の通信レジスタを用いることになる。また、異なるタス
クには異なるセットの通信レジスタが割り当てられる。
従来の通信レジスタモジュールが1個しかない構成で
は、この複数個のセットは全て一つの通信レジスタモジ
ュールに入ることになる。
【0025】
【発明が解決しようとする課題】一般に、通信レジスタ
を用いた同期/排他制御においては、通信レジスタに、
複数の演算処理装置からのアクセスが集中する傾向があ
り、これが、並列処理機能を低下させる要因の一つとな
る。
【0026】例えば、上記の排他制御の例では、ロック
が取れた演算処理装置以外の演算処理装置が行う、ロッ
クを取ろうとする001〜002行の処理(これをスピ
ンロックという)により、通信レジスタに対するアクセ
スが頻繁に行われる。そのため、ロックが取れ、クリテ
カルセクションでの処理を実行しようとする演算処理装
置が行う共有変数(CR(#1))に対するアクセスが
妨害されてしまう。
【0027】また、複数のタスクに対する同期制御を行
う場合には1つの通信レジスタモジュールに複数のロッ
クビット、複数のカウンタが存在しているため、通信レ
ジスタモジュールに対してアクセスが集中し、相互結合
網上で激しい競合が起きてしまう。
【0028】このように、上述の従来技術では、並列処
理装置全体に深刻な能率低下を引き起こしていた。
【0029】本発明の目的は、複数の通信レジスタモジ
ュールを設け、通信レジスタモジュールへのアクセスを
分散させ、ロックビットとカウンタとを異なる通信レジ
スタモジュールに設置することにより相互結合網上での
競合を格段に緩和できる並列処理装置を提供することに
ある。
【0030】
【課題を解決するための手段】上記課題を解決するため
に本発明の並列処理装置は、複数の通信レジスタからな
る通信レジスタ部と主記憶装置と複数の演算処理装置と
を有し、さらに前記主記憶装置と前記演算処理装置と前
記通信レジスタ部とを相互に接続する相互結合網を有し
前記複数の演算処理装置で動作するタスクは連続するア
ドレスを有する複数の通信レジスタよりなる通信レジス
タセットを使用する並列処理装置において、前記通信レ
ジスタ部は前記通信レジスタを等分に組分けした複数の
通信レジスタモジュールより構成され、同一の通信レジ
スタセットに属する通信レジスタは同一の通信レジスタ
モジュールに属するように割り当てられる。
【0031】本発明の他の並列処理装置は、複数の通信
レジスタからなる通信レジスタ部と主記憶装置と複数の
演算処理装置とを有し、さらに前記主記憶装置と前記演
算処理装置と前記通信レジスタ部とを相互に接続する相
互結合網を有し前記複数の演算処理装置で動作するタス
クは連続するアドレスを有する複数の通信レジスタより
なる通信レジスタセットを使用する並列処理装置におい
て、前記通信レジスタ部は前記通信レジスタを等分に組
分けした複数の通信レジスタモジュールより構成され、
同一の通信レジスタセットに属する通信レジスタは各通
信レジスタモジュールに分散して割り当てられる。
【0032】本発明の他の並列処理装置は、M*N個
(M及びNは0を含まない正の整数)の通信レジスタか
らなる通信レジスタ部と主記憶装置と複数の演算処理装
置とを有し、さらに前記主記憶装置と前記演算処理装置
と前記通信レジスタ部とを相互に接続する相互結合網を
有し前記複数の演算処理装置で動作するタスクは連続す
るアドレスを有するW個(Wは正の整数かつNの約数)
の通信レジスタよりなる通信レジスタセットを使用する
並列処理装置において、前記通信レジスタ部は前記複数
個の通信レジスタをN個ずつ等分に組分けしたM個の通
信レジスタモジュールより構成され、前記通信レジスタ
モジュールはそれぞれ固有の接続パスにより独立に前記
相互結合網に接続され、m番目(mは0を含まない正の
整数)の通信レジスタモジュールにあるp番目(pは0
を含まない正の整数)の通信レジスタのアドレスA(A
は0を含む正の整数)はA=N*(m−1)+p−1に
より与えられ、前記相互結合網は互いに相異なる前記通
信レジスタモジュールへの複数の同時アクセス要求は独
立かつ同時に接続する。
【0033】本発明の他の並列処理装置は、M*N個
(M及びNは0を含まない正の整数)の通信レジスタか
らなる通信レジスタ部と主記憶装置と複数の演算処理装
置とを有し、さらに前記主記憶装置と前記演算処理装置
と前記通信レジスタ部とを相互に接続する相互結合網を
有し前記複数の演算処理装置で動作するタスクは連続す
るアドレスを有するW個(Wは正の整数かつMの約数)
の通信レジスタよりなる通信レジスタセットを使用する
並列処理装置において、前記通信レジスタ部は前記複数
個の通信レジスタをN個ずつ等分に組分けしたM個の通
信レジスタモジュールより構成され、前記通信レジスタ
モジュールはそれぞれ固有の接続パスにより独立に前記
相互結合網に接続され、m番目(mは0を含まない正の
整数)の通信レジスタモジュールにあるp番目(pは0
を含まない正の整数)の通信レジスタのアドレスA(A
は0を含む正の整数)はA=M*(p−1)+m−1に
より与えられ、前記相互結合網は互いに相異なる前記通
信レジスタモジュールへの複数の同時アクセス要求は独
立かつ同時に接続する。
【0034】本発明の他の並列処理装置は、M*N個
(M及びNは0を含まない正の整数)の通信レジスタか
らなる通信レジスタ部と主記憶装置と複数の演算処理装
置とを有し、さらに前記主記憶装置と前記演算処理装置
と前記通信レジスタ部とを相互に接続する相互結合網を
有し前記複数の演算処理装置で動作するタスクは連続す
るアドレスを有するW個(Wは0を含まない正の整数か
つNの約数)の通信レジスタよりなる通信レジスタセッ
トを使用する並列処理装置において、前記通信レジスタ
部は前記複数個の通信レジスタをN個ずつ等分に組分け
したM個の通信レジスタモジュールより構成され、前記
通信レジスタモジュールはそれぞれ固有の接続パスによ
り独立に前記相互結合網に接続され、m番目(mは0を
含まない正の整数)の通信レジスタモジュールにあるp
番目(pは0を含まない正の整数)の通信レジスタのア
ドレスA(Aは0を含む正の整数)はp=α*W+β+
1(α、βは0を含む正の整数、β<W)としたときに
A=α*W*M+(m−1)*W+βにより与えられ、
前記相互結合網は互いに相異なる前記通信レジスタモジ
ュールへの複数の同時アクセス要求は独立かつ同時に接
続する。
【0035】本発明の他の並列処理装置は、M*N個
(M及びNは0を含まない正の整数)の通信レジスタか
らなる通信レジスタ部と主記憶装置と複数の演算処理装
置とを有し、さらに前記主記憶装置と前記演算処理装置
と前記通信レジスタ部とを相互に接続する相互結合網を
有し前記複数の演算処理装置で動作するタスクは連続す
るアドレスを有するW個(Wは正の整数かつMの約数)
の通信レジスタよりなる通信レジスタセットを使用する
並列処理装置において、前記通信レジスタ部は前記複数
個の通信レジスタをN個ずつ等分に組分けしたM個の通
信レジスタモジュールより構成され、前記通信レジスタ
モジュールはそれぞれ固有の接続パスにより独立に前記
相互結合網に接続され、m番目(mは0を含まない正の
整数)の通信レジスタモジュールにあるp番目(pは0
を含まない正の整数)の通信レジスタのアドレスA(A
は0を含む正の整数)はp=γ*M+δ+1(γ、δは
0を含む正の整数、δ<M)としたときにm<δ+1の
場合にはA=M*p+m−(δ+1)、m≧δ+1の場
合にはA=M*(p−1)*m−(δ+1)により与え
られ、前記相互結合網は互いに相異なる前記通信レジス
タモジュールへの複数の同時アクセス要求は独立かつ同
時に接続する。
【0036】
【実施例】次に本発明の並列処理装置の一実施例につい
て図面を参照して詳細に説明する。
【0037】図1を参照すると、本発明の並列処理装置
は、主記憶装置2と、演算処理装置1を複数個と、同期
/排他制御に使用される通信レジスタ5を複数個有する
通信レジスタ部3と、これらを相互に接続する相互結合
網9とから構成されている。通信レジスタ部3は、複数
の通信レジスタを等分に組分けした複数のレジスタモジ
ュール4から構成されている。また、各通信レジスタモ
ジュール4は、それぞれ固有の接続パス10により独立
に相互結合網9に接続されている。この相互結合網9
は、互いに相異なる通信レジスタモジュール4への複数
の同時アクセス要求を独立かつ同時に接続する。
【0038】この装置で動作するタスクは、連続するア
ドレスを有する複数の通信レジスタよりなる通信レジス
タセットを使用する。そして、このタスクの通信レジス
タへの割り付け方によって、以下の各実施例が実現され
る。
【0039】なお以下の説明では、通信レジスタモジュ
ールの数は32台とし、通信レジスタモジュール1台は
256ワードでビット幅は32ビット、さらに、1セッ
トは32ワードで通信レジスタのアドレス順にセット番
号が付与されているものとする。また、以下の説明では
通信レジスタを同期に使用する場合について述べ、前述
の同期制御を例にして説明する。
【0040】また、図7に示すように、同期をとる際の
ロックビットは各セットの0ワード目に、同期ポイント
に達した演算処理装置をカウントするカウンタは1ワー
ド目にそれぞれ設けられ、1つのタスクに対し1つのセ
ットで同期をとるための処理が行われるものとする。
【0041】次に、本発明の並列処理装置の第1の実施
例について説明する。
【0042】図2を参照すると、本発明の第1の実施例
である並列処理装置では、通信レジスタに対して通信レ
ジスタモジュールの番号順にアドレスを付与している。
【0043】通信レジスタモジュールの数をM、1つの
通信レジスタセットのワード数(すなわち、レジスタ
数)をW、1つの通信レジスタモジュールのワード数を
N(NはWの倍数でなければならない)とするとm番目
の通信レジスタモジュールのp番目の通信レジスタのア
ドレスAは以下の式で表される。ここで、M,W,m及
びpは全て0を含まない正の整数である。
【0044】A=N*(m−1)+p−1 このようにアドレス付けすれば、図7の通信レジスタセ
ットの1セット分が同一の通信レジスタモジュールに割
り付けられることになる。従って、アクセス競合が発生
し得るタスクの通信レジスタセット同士を異なる通信レ
ジスタモジュールに割り当てるようにすれば、タスク間
のアクセス競合が解消される。
【0045】このように、本発明の第1の実施例である
並列処理装置によれば、通信レジスタセットの1セット
分を同一の通信レジスタモジュールに割り付けることに
より、タスク間のアクセスの分散を容易にすることがで
きる。
【0046】次に、本発明の並列処理装置の第2の実施
例について説明する。
【0047】図3を参照すると、本発明の第2の実施例
である並列処理装置では、通信レジスタに対してワード
順、通信レジスタモジュールの番号順にアドレスを付与
する。
【0048】通信レジスタモジュールの数をM、1つの
通信レジスタセット内のワード数(レジスタ数)をW
(WはMの約数でなければならない)とするとm番目の
通信レジスタモジュールのp番目の通信レジスタのアド
レスは以下の式で表される。ここで、M,W,m及びp
は全て0を含まない正の整数である。
【0049】A=M*(p−1)+m−1 このようにアドレス付けすれば、アクセスする頻度の高
いロックビットが他のカウンタ等とは異なる通信レジス
タモジュール上に存在することになるため、ロックされ
ているかどうかをチェックするための通信レジスタアク
セスとロックが取れた演算処理装置の通信レジスタアク
セスが同時に行える。そこで、同一タスクのロックが取
れた演算処理装置の通信レジスタアクセスは、ロック待
ちの演算処理装置のスピンロックによる妨害を受けな
い。
【0050】このように、本発明の第2の実施例である
並列処理装置によれば、レジスタセット内の各ワードを
各通信レジスタモジュールにまたがって分散して割り付
けることにより、ロックビットのアクセスを他のアクセ
スと競合しないようにすることができる。
【0051】次に、本発明の並列処理装置の第3の実施
例について説明する。
【0052】図4を参照すると、本発明の第3の実施例
である並列処理装置では、通信レジスタに対しセット単
位でワード順、通信レジスタモジュールの番号順にアド
レスを付与する。
【0053】通信レジスタモジュールの数をM、1つの
通信レジスタセット内のワード数(レジスタ数)をW
(1つの通信レジスタモジュールにある通信レジスタの
数をNとすればNはWの倍数でなければならない)とす
るとm番目の通信レジスタモジュールのp番目の通信レ
ジスタのアドレスAは以下の式で表される。ここで、
M,W,m及びpは全て0を含まない正の整数である。
【0054】A=α*W*M+(m−1)*W+β 但し、p=α*W+β+1において、α及びβは0を含
む正の整数であり、かつ、β<Wが成り立つものとす
る。
【0055】このようにアドレス付けすれば、各タスク
が連続した番号の通信レジスタセットに割り付けられる
という制約条件がある場合に、各タスクの通信レジスタ
セットを異なる通信レジスタモジュールに分散させるこ
とができる。
【0056】このように、本発明の第3の実施例である
並列処理装置によれば、連続した番号の通信レジスタセ
ットに各タスクが割り付けられる場合に、タスク間のア
クセス競合を解消することができる。
【0057】次に、本発明の並列処理装置の第4の実施
例について説明する。
【0058】図5を参照すると、本発明の第4の実施例
である並列処理装置では、通信レジスタに対して基本的
にはワード順、通信レジスタモジュールの番号順にアド
レスを付与する。しかも、1つのセット内の最若番アド
レスは通信レジスタモジュール番号0に固定ではなく、
セット番号0内の最若番アドレスは通信レジスタモジュ
ール番号0、セット番号1内の最若番アドレスは通信レ
ジスタモジュール番号1というようにセット内の最若番
アドレスはセット番号と同じ番号の通信レジスタモジュ
ールに割り付けられる。
【0059】通信レジスタモジュールの数をM、1つの
通信レジスタセット内のワード数(レジスタ数)をWと
するとm番目の通信レジスタモジュールのp番目の通信
レジスタのアドレスAは以下の式で表される。ここで、
M,W,m及びpは全て0を含まない正の整数である。
また、p=γ*M+δ+1とすると(γ、δは0を含む
正の整数、δ<M)、 m<δ+1の場合; A=M*p+m−(δ+1) m≧δ+1の場合; A=M*(p−1)+m−(δ+1) このようにアドレス付けすれば、アクセス頻度の高いロ
ックビットが他のカウンタ等とは異なる通信レジスタモ
ジュール上に存在することになるため、同一タスクでロ
ックが取れた演算処理装置の通信レジスタアクセスが、
ロック待ちの演算処理装置のスピンロックによる妨害を
受けなくなる。また、ロックビット等のアクセス頻度が
高いと思われるワードが各通信レジスタモジュールに分
散しているため、異なるタスク間の干渉を解消できる。
【0060】このように、本発明の第4の実施例である
並列処理装置によれば、各タスクの通レジスタセット内
のロックビットが他のタスクの通信レジスタセット内の
ロックビットと互いに異なるように割り付けられるた
め、第2の実施例と比べてさらにタスク間の干渉を解消
することができる。
【0061】
【発明の効果】以上の説明で明らかなように、本発明に
よると、複数の通信レジスタモジュールを設けることに
より、通信レジスタセット同士または通信レジスタ内の
ロックビットとカウンタを異なる通信レジスタモジュー
ルに設置することができる。従って、ロックを確保しよ
うとする複数の演算処理装置からのアクセスが、ロック
を確保した演算処理装置の行うカウンタへのアクセスを
妨害することがなくなる。また、同時に複数の通信レジ
スタモジュールに同時にアクセスできるため、通信レジ
スタモジュールに対するアクセスを分散させることがで
き、相互結合網上での競合を解消できるという効果があ
る。
【図面の簡単な説明】
【図1】本発明の並列処理装置の一実施例の構成を示す
ブロック図である。
【図2】本発明の第1の実施例の並列処理装置の構成を
示す図である。
【図3】本発明の第2の実施例の並列処理装置の構成を
示す図である。
【図4】本発明の第3の実施例の並列処理装置の構成を
示す図である。
【図5】本発明の第4の実施例の並列処理装置の構成を
示す図である。
【図6】従来の並列処理装置の構成を示す図である。
【図7】通信レジスタセットの構成を示す図である。
【符号の説明】
1 演算処理装置 2 主記憶装置 3 通信レジスタ部 4 通信レジスタモジュール 5 通信レジスタ 6 セット番号 7 アドレス 8 通信レジスタモジュール番号 9 相互結合網 10 接続パス
フロントページの続き (56)参考文献 長島重夫、田中義一共著「スーパーコ ンピュータ」オーム社 平成4年11月20 日 P71−P72 シドニー・ファーンバック著、長島重 夫訳「スーパーコンピュータ」パーソナ ルメディア 1988.4.1 P37−P74 (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 340 G06F 15/16 380

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の通信レジスタからなる通信レジス
    タ部と主記憶装置と複数の演算処理装置とを有し、さら
    に前記主記憶装置と前記演算処理装置と前記通信レジス
    タ部とを相互に接続する相互結合網を有し前記複数の演
    算処理装置で動作するタスクは連続するアドレスを有す
    る複数の通信レジスタよりなる通信レジスタセットを使
    用する並列処理装置において、 前記通信レジスタ部は前記通信レジスタを等分に組分け
    した複数の通信レジスタモジュールより構成され、 同一の通信レジスタセットに属する通信レジスタは同一
    の通信レジスタモジュールに属するように割り当てら
    前記通信レジスタモジュールは前記通信レジスタセット
    を複数個含む ことを特徴とする並列処理装置。
  2. 【請求項2】 複数の通信レジスタからなる通信レジス
    タ部と主記憶装置と複数の演算処理装置とを有し、さら
    に前記主記憶装置と前記演算処理装置と前記通信レジス
    タ部とを相互に接続する相互結合網を有し前記複数の演
    算処理装置で動作するタスクは連続するアドレスを有す
    る複数の通信レジスタよりなる通信レジスタセットを使
    用する並列処理装置において、 前記通信レジスタ部は前記通信レジスタを等分に組分け
    した複数の通信レジスタモジュールより構成され、 同一の通信レジスタセットに属する通信レジスタは各通
    信レジスタモジュールに分散して割り当てられ 前記通信レジスタモジュールは互いに異なる前記通信レ
    ジスタセットに属する前記通信レジスタを複数個含む
    とを特徴とする並列処理装置。
  3. 【請求項3】 M*N個(M及びNは0を含まない正の
    整数)の通信レジスタからなる通信レジスタ部と主記憶
    装置と複数の演算処理装置とを有し、さらに前記主記憶
    装置と前記演算処理装置と前記通信レジスタ部とを相互
    に接続する相互結合網を有し前記複数の演算処理装置で
    動作するタスクは連続するアドレスを有するW個(Wは
    正の整数かつNの約数)の通信レジスタよりなる通信レ
    ジスタセットを使用する並列処理装置において、 前記通信レジスタ部は前記複数個の通信レジスタをN個
    ずつ等分に組分けしたM個の通信レジスタモジュールよ
    り構成され、 前記通信レジスタモジュールはそれぞれ固有の接続パス
    により独立に前記相互結合網に接続され、 m番目(mは0を含まない正の整数)の通信レジスタモ
    ジュールにあるp番目(pは0を含まない正の整数)の
    通信レジスタのアドレスA(Aは0を含む正の整数)は
    A=N*(m−1)+p−1により与えられ、 前記相互結合網は互いに相異なる前記通信レジスタモジ
    ュールへの複数の同時アクセス要求は独立かつ同時に接
    し、 前記通信レジスタモジュールは前記通信レジスタセット
    を複数個含む ことを特徴とする並列処理装置。
  4. 【請求項4】 M*N個(M及びNは0を含まない正の
    整数)の通信レジスタからなる通信レジスタ部と主記憶
    装置と複数の演算処理装置とを有し、さらに前記主記憶
    装置と前記演算処理装置と前記通信レジスタ部とを相互
    に接続する相互結合網を有し前記複数の演算処理装置で
    動作するタスクは連続するアドレスを有するW個(Wは
    正の整数かつMの約数)の通信レジスタよりなる通信レ
    ジスタセットを使用する並列処理装置において、 前記通信レジスタ部は前記複数個の通信レジスタをN個
    ずつ等分に組分けしたM個の通信レジスタモジュールよ
    り構成され、 前記通信レジスタモジュールはそれぞれ固有の接続パス
    により独立に前記相互結合網に接続され、 m番目(mは0を含まない正の整数)の通信レジスタモ
    ジュールにあるp番目(pは0を含まない正の整数)の
    通信レジスタのアドレスA(Aは0を含む正の整数)は
    A=M*(p−1)+m−1により与えられ、 前記相互結合網は互いに相異なる前記通信レジスタモジ
    ュールへの複数の同時アクセス要求は独立かつ同時に接
    し、 前記通信レジスタモジュールは互いに異なる前記通信レ
    ジスタセットに属する前記通信レジスタを複数個含む
    とを特徴とする並列処理装置。
  5. 【請求項5】 M*N個(M及びNは0を含まない正の
    整数)の通信レジスタからなる通信レジスタ部と主記憶
    装置と複数の演算処理装置とを有し、さらに前記主記憶
    装置と前記演算処理装置と前記通信レジスタ部とを相互
    に接続する相互結合網を有し前記複数の演算処理装置で
    動作するタスクは連続するアドレスを有するW個(Wは
    0を含まない正の整数かつNの約数)の通信レジスタよ
    りなる通信レジスタセットを使用する並列処理装置にお
    いて、 前記通信レジスタ部は前記複数個の通信レジスタをN個
    ずつ等分に組分けしたM個の通信レジスタモジュールよ
    り構成され、 前記通信レジスタモジュールはそれぞれ固有の接続パス
    により独立に前記相互結合網に接続され、 m番目(mは0を含まない正の整数)の通信レジスタモ
    ジュールにあるp番目(pは0を含まない正の整数)の
    通信レジスタのアドレスA(Aは0を含む正の整数)は
    p=α*W+β+1(α、βは0を含む正の整数、β<
    W)としたときにA=α*W*M+(m−1)*W+β
    により与えられ、 前記相互結合網は互いに相異なる前記通信レジスタモジ
    ュールへの複数の同時アクセス要求は独立かつ同時に接
    し、 前記通信レジスタモジュールは前記通信レジスタセット
    を複数個含む ことを特徴とする並列処理装置。
  6. 【請求項6】 M*N個(M及びNは0を含まない正の
    整数)の通信レジスタからなる通信レジスタ部と主記憶
    装置と複数の演算処理装置とを有し、さらに前記主記憶
    装置と前記演算処理装置と前記通信レジスタ部とを相互
    に接続する相互結合網を有し前記複数の演算処理装置で
    動作するタスクは連続するアドレスを有するW個(Wは
    正の整数かつMの約数)の通信レジスタよりなる通信レ
    ジスタセットを使用する並列処理装置において、 前記通信レジスタ部は前記複数個の通信レジスタをN個
    ずつ等分に組分けしたM個の通信レジスタモジュールよ
    り構成され、 前記通信レジスタモジュールはそれぞれ固有の接続パス
    により独立に前記相互結合網に接続され、 m番目(mは0を含まない正の整数)の通信レジスタモ
    ジュールにあるp番目(pは0を含まない正の整数)の
    通信レジスタのアドレスA(Aは0を含む正の整数)は
    p=γ*M+δ+1(γ、δは0を含む正の整数、δ<
    M)としたときにm<δ+1の場合にはA=M*p+m
    −(δ+1)、m≧δ+1の場合にはA=M*(p−
    1)*m−(δ+1)により与えられ、 前記相互結合網は互いに相異なる前記通信レジスタモジ
    ュールへの複数の同時アクセス要求は独立かつ同時に接
    し、 前記通信レジスタモジュールは互いに異なる前記通信レ
    ジスタセットに属する前記通信レジスタを複数個含む
    とを特徴とする並列処理装置。
JP7113321A 1994-06-14 1995-05-11 並列処理装置 Expired - Fee Related JP2766217B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7113321A JP2766217B2 (ja) 1994-06-14 1995-05-11 並列処理装置
CA002151673A CA2151673C (en) 1994-06-14 1995-06-13 Parallel processing system with a plurality of communication register modules
US08/489,721 US5805917A (en) 1994-06-14 1995-06-13 Parallel processing system with a plurality of communication register modules

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-131733 1994-06-14
JP13173394 1994-06-14
JP7113321A JP2766217B2 (ja) 1994-06-14 1995-05-11 並列処理装置

Publications (2)

Publication Number Publication Date
JPH0863440A JPH0863440A (ja) 1996-03-08
JP2766217B2 true JP2766217B2 (ja) 1998-06-18

Family

ID=26452319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7113321A Expired - Fee Related JP2766217B2 (ja) 1994-06-14 1995-05-11 並列処理装置

Country Status (3)

Country Link
US (1) US5805917A (ja)
JP (1) JP2766217B2 (ja)
CA (1) CA2151673C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772268B1 (en) * 2000-12-22 2004-08-03 Nortel Networks Ltd Centralized look up engine architecture and interface
US7493417B2 (en) * 2002-12-12 2009-02-17 International Business Machines Corporation Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system
US7359932B2 (en) * 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
US7360067B2 (en) * 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network
US7356568B2 (en) * 2002-12-12 2008-04-08 International Business Machines Corporation Method, processing unit and data processing system for microprocessor communication in a multi-processor system
US7162573B2 (en) * 2003-06-25 2007-01-09 Intel Corporation Communication registers for processing elements

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
US4901230A (en) * 1983-04-25 1990-02-13 Cray Research, Inc. Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
SE451219B (sv) * 1986-03-05 1987-09-14 Stiftelsen Inst Mikrovags Dataanordning fremst avsedd for exekvering av program i form av soktred, s k or parallel execution
US5165039A (en) * 1986-03-28 1992-11-17 Texas Instruments Incorporated Register file for bit slice processor with simultaneous accessing of plural memory array cells
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US5168573A (en) * 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US4918600A (en) * 1988-08-01 1990-04-17 Board Of Regents, University Of Texas System Dynamic address mapping for conflict-free vector access
JP3068138B2 (ja) * 1989-04-06 2000-07-24 甲府日本電気株式会社 ベクトル演算処理装置
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
JP2743608B2 (ja) * 1991-03-27 1998-04-22 日本電気株式会社 共有レジスタ制御方式
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
JPH0784851A (ja) * 1993-09-13 1995-03-31 Toshiba Corp 共有データ管理方法
JPH07114498A (ja) * 1993-10-15 1995-05-02 Toshiba Corp マイクロプロセッサ
US5450313A (en) * 1994-03-24 1995-09-12 Xerox Corporation Generating local addresses and communication sets for data-parallel programs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
シドニー・ファーンバック著、長島重夫訳「スーパーコンピュータ」パーソナルメディア 1988.4.1 P37−P74
長島重夫、田中義一共著「スーパーコンピュータ」オーム社 平成4年11月20日 P71−P72

Also Published As

Publication number Publication date
CA2151673A1 (en) 1995-12-15
US5805917A (en) 1998-09-08
CA2151673C (en) 2000-01-11
JPH0863440A (ja) 1996-03-08

Similar Documents

Publication Publication Date Title
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
Cheung A simulation study of the CRAY X-MP memory system
US5832290A (en) Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US4918600A (en) Dynamic address mapping for conflict-free vector access
US6381686B1 (en) Parallel processor comprising multiple sub-banks to which access requests are bypassed from a request queue when corresponding page faults are generated
US6092136A (en) Multi-processor central processing unit
US20070136560A1 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
JP2766217B2 (ja) 並列処理装置
EP0570164B1 (en) Interleaved memory system
JPH033262B2 (ja)
EP0589662B1 (en) Digital signal processing system
JP3982634B2 (ja) トーラス区画化を容易にするために並列コンピュータのプロセッサを相互接続する方法およびシステム
EP1481319B1 (en) Method and apparatus for parallel access to multiple memory modules
US7284113B2 (en) Synchronous periodical orthogonal data converter
US5261056A (en) N-port wide bandwidth cross-link register
EP0211613A2 (en) Scientific processor vector file organization
Kitai et al. Distributed storage control unit for the Hitachi S-3800 multivector supercomputer
EP0136218A2 (en) Multiple port pipelined processor
WO1996005551A1 (en) Method and system for storing data in a memory device
Honda et al. A warp-synchronous implementation for multiple-length multiplication on the GPU
Peiron et al. Synchronized access to streams in simd vector multiprocessors
EP0359192B1 (en) Vector processors and vector register control
KR940009703B1 (ko) 다중 프로세서 시스템의 버스 중재 장치
JPH0456352B2 (ja)
WO1996005598A1 (en) Method and system for storing data blocks in a memory device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980303

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080403

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090403

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100403

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees