JP2731740B2 - 通信レジスタ付並列計算機 - Google Patents

通信レジスタ付並列計算機

Info

Publication number
JP2731740B2
JP2731740B2 JP7033620A JP3362095A JP2731740B2 JP 2731740 B2 JP2731740 B2 JP 2731740B2 JP 7033620 A JP7033620 A JP 7033620A JP 3362095 A JP3362095 A JP 3362095A JP 2731740 B2 JP2731740 B2 JP 2731740B2
Authority
JP
Japan
Prior art keywords
register
access
vector
communication
address
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 - Lifetime
Application number
JP7033620A
Other languages
English (en)
Other versions
JPH08235135A (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 JP7033620A priority Critical patent/JP2731740B2/ja
Publication of JPH08235135A publication Critical patent/JPH08235135A/ja
Application granted granted Critical
Publication of JP2731740B2 publication Critical patent/JP2731740B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本願発明は、通信レジスタ付並列
計算機に関する。
【0002】
【従来の技術】複数個の演算プロセッサより構成される
並列計算機においては、主記憶装置と比較してアクセス
タイムが高速である記憶装置、または主記憶装置と比較
してアクセスループットが大きい記憶装置、または双方
の利点を兼ねそろえた記憶装置を持たせることにより、
各プロセッサ間の同期制御、排他制御、並びに通信制御
の為の共有変数を、この記憶装置に割り当て、各演算プ
ロセッサはこの記憶装置にアクセスすることにより、上
記制御の処理時間を低減させることができる。例えば、
2個の演算プロセッサ間で、共有変数へのリード/ライ
ト処理を介して通信を行う場合、アクセスタイムの速い
通信レジスタを介するほうが、主記憶装置を介するよ
り、通信処理は高速に実行できる。このような記憶装置
を以下、通信レジスタと呼ぶことにする。
【0003】これら同期制御、排他制御、通信制御は、
並列計算機で実行する並列処理において、並列実行が十
分になされない所であり、高並列になるに従い、これら
制御の全体の性能に及ぼす影響は非常に大きくなる。従
って、これら制御の処理時間を低減することを目的とす
る通信レジスタ構成が、並列計算機の性能向上に及ぼす
効果は非常に大きいものである。
【0004】従来の通信レジスタ付並列計算機は、通信
レジスタアクセス命令として、複数個のワードより構成
される通信レジスタに対し、一つのワードをリードアク
セス、もしくはライトアクセスするスカラアクセス命令
のみを処理するような、演算プロセッサ及び通信レジス
タ装置で構成されている。
【0005】
【発明が解決しようとする課題】上述した従来の通信レ
ジスタ付並列計算機では、一つの通信レジスタアクセス
命令で一つのワードしかアクセスできないが、複数個の
通信レジスタのワードに対し、同時にアクセスしたいケ
ースが多々ある。例えば、異なる演算プロセッサ間の通
信においては、いくつかのデータをまとめて送付したい
場合である。この場合、従来の構成では、通信レジスタ
の複数個のワードに対し、複数回のスカラアクセスを繰
り返し実行しなければならず、通信レジスタアクセスの
高速実行の恩恵を十分に得ることはできないという問題
点がある。例えば、2個の演算プロセッサ間の通信制御
において、複数個のワードより構成される共有変数を転
送したい場合、前述した通り複数回の通信レジスタアク
セス命令を実行する必要がある。
【0006】
【課題を解決するための手段】本発明の並列計算機は、
複数の演算プロセッサと、主記憶装置と、前記演算プロ
セッサ間の同期制御,排他制御及び通信制御の高速実行
を目的とする複数アドレスの通信レジスタ装置と、これ
ら各装置を結合する相互結合網とから構成される通信レ
ジスタ付並列計算機において、前記通信レジスタ装置
は、前記主記憶装置より高速なメモリと、前記各演算レ
ジスタから前記相互結合網を介して入力するリクエスト
内のコードフィールドを解読して、アクセスがスカラタ
イプかベクトルタイプか、及びストアアクセスかロード
アクセスかを判断し、またストア命令の場合には前記リ
クエスト内のデータフィールドのデータを書き込みデー
タとしてバッファリングするリクエストパケット制御部
と、前記解読の結果がスカラストアアクセスなら前記メ
モリの一つのワードへの書き込み、ベクトルストアアク
セスなら複数ワードへの連続書き込み、スカラロードア
クセスなら一つのワードからの読み出し、ベクトルロー
ドアクセスなら複数ワードからの連続読み出しのための
各制御を行う通信レジスタ制御部と、前記スカラロード
アクセス又はベクトルロードアクセスの場合に前記メモ
リからの読み出しデータを前記相互結合網に送出するた
めのリプライデータを生成するリプライパケット制御部
とを有することを特徴とする。
【0007】
【実施例】以下、本願発明の実施例を図を用いて説明す
る。図2は本発明が適用される通信レジスタ装置を持つ
並列計算機の構成を示している。10、11、…、1n
は、各演算プロセッサ、2は主記憶装置、3は通信レジ
スタ装置、4は演算プロセッサ10〜1n、主記憶装置
2および通信レジスタ装置3を接続する相互結合網を示
す。
【0008】各演算プロセッサが主記憶アクセス、もし
くは通信レジスタアクセスを行う場合、リクエストを相
互結合網4に対して送出し、相互結合網4は複数個の演
算プロセッサから送られて来る複数個のリクエストを競
合調停し、リクエストが要求する主記憶装置2、もしく
は通信レジスタ装置3へルーティングする。主記憶装置
2、通信レジスタ装置3に到着したリクエストは、各装
置内でリードアクセス処理、もしくはライトアクセス処
理が実行される。リードアクセスの場合は、再度、相互
結合網4を会して当該演算プロセッサにリードデータが
返却される。
【0009】演算プロセッサ10〜1nのそれぞれは、
スカラ演算とベクトル演算の両方実行することができ
る。そのために、これらの各演算プロセッサは、スカラ
演算およびベクトル演算が可能な演算器、スカラレジス
タ、ベクトルレジスタおよびプロセッサ制御部より構成
される。
【0010】演算プロセッサの命令セットとしては、ス
カラ命令とベクトル命令を備えている。ベクトル命令に
は、ベクトル演算命令、ベクトル主記憶アクセス命令、
ベクトル通信レジスタアクセス命令を含んでいる。ベク
トル演算命令とは、ベクトルレジスタ上の複数個のワー
ド上のデータに対し同一種の演算を処理するものであ
る。また、ベクトル主記憶アクセス命令とは、ベクトル
レジスタ番号、ベースアドレス、要素間のアドレスディ
スタンスをオペランドで指定し、ベクトルレングスレジ
スタで示された要素数分、ロード命令ならば、主記憶か
ら指定のベクトルレジスタへデータを転送し、ストア命
令ならば、指定のベクトルレジスタから主記憶へデータ
を転送するものである。
【0011】ベクトル通信レジスタアクセス命令は、ベ
クトル主記憶アクセス命令と同様に、ベクトルレジスタ
番号、ベースアドレス、要素間アドレスディスタンスを
オペランドで指定する。ここで、ベースアドレスとは、
ベクトル転送を行う先頭のエレメントがアクセスする通
信レジスタワードのアドレスを示している。。ディスタ
ンスとは、ベクトル転送を行うエレメントのアクセスす
る通信レジスタワードのアドレスの差分を示している。
従って、ディスタンスが1ならばベースアドレスで示さ
れた通信レジスタワードから、連続してベクトルアクセ
スされることになる。
【0012】図3は、相互結合網4を流れるリクエスト
のフォーマットを示している。リクエストは、アクセス
先が主記憶装置2なのか通信レジスタ3なのかを示すア
クセス種別フィールド201、アクセスがロードなのか
ストアなのか等を示すコードフィールド202、アクセ
スするワードのアドレス番地を示すアドレスフィールド
203、およびデータフィールド204より構成され
る。ロードアクセスの場合は、リブライとして読みだし
データが相互結合網4を逆向きに流れることになる。ベ
クトル主記憶アクセス命令、およびベクトル通信レジス
タアクセス命令の場合には、アドレスフィールドのフォ
ーマットとして、ベースアドレス210、ディスタンス
211、ベクトル長212のフィールドが拡張され用意
される。また、データフィールド204もベクトル長分
のデータが格納できるよう拡張される。
【0013】図1は、通信レジスタ装置3の構成を示
す。本通信レジスタ装置3は、複数個のワードより構成
される通信レジスタと、通信レジスタアクセスを制御す
る制御部より構成される。通信レジスタ0番池から連続
的にアドレス番号が振られている。演算プロセッサから
の通信レジスタアクセスでは、この通信レジスタアドレ
スを指定することにより、アクセスする通信レジスタの
ワードを決めることが出来る。
【0014】複数個のワードより構成される通信レジス
タはRAM301で構成する。また、このRAMをアク
セスする為に、ライトレジスタ302、アドレスレジス
タ303、リードレジスタ304、ライトイネーブル3
05、リードイネーブル306がRAM周辺制御部とし
て用意される。RAMにアクセスしない場合は、ライト
イネーブル305、リードイネーブル306共“0”値
にする。
【0015】RAM301に対してライトを行う場合、
ライトイネーブル305を“1”値にし、ライトするワ
ードのアドレスをアドレスレジスタ303に入れ、ライ
トをするデータをライトレジスタ302に入れる。次の
タイミングで、ライトレジスタ302の値はアドレスレ
ジスタ303で指定されたワードに対しライトされる。
【0016】RAM301に対してリードを行う場合、
リードイネーブル306を“1”値にし、リードするワ
ードのアドレスをアドレスレジスタ303に入れる。次
のタイミングでアドレスレジスタ303で指定されたワ
ードの値は、リードレジスタ304へ入れられる。
【0017】また、ベクトルアクセス用制御ロジックと
して、ディスタンスレジスタ321、アドレス加算器3
23、ベクトル長レジスタ322、ベクトル長減算器3
24が設けられている。
【0018】これら、RAM周辺部のレジスタの制御
は、通信レジスタ制御部310で制御する。
【0019】リクエストパケット制御部311は、相互
結合網4より到着するリクエストに対する処理を行う。
相互結合網4よりリクエストを受け取ったならば、コー
ドフィールド202をデコードし、アクセスがスカラア
クセスタイプなのか、ベクトルアクセスタイプなのかを
判断する。また合わせて、ロードアクセスなのかストア
アクセスなのかも判断する。このデコード結果は通信レ
ジスタ制御部310に送られる。また、ベクトルアクセ
スでのタイミング合わせのため、データフィールド20
4内の複数個のデータを一時的にバッファリングするた
めのバッファを持っている。
【0020】リプライパケット制御部312は、リード
レジスタ304内のデータをリプライのデータフィール
ド204として構成し、相互結合網4に対するリプライ
を生成する。
【0021】次に、各通信レジスタアクセスにおける、
通信レジスタ装置3内での処理について述べるが、リプ
ライパケット制御部312の機能として明記している以
外の機能のすべては通信レジスタ310が実行する。
【0022】スカラストアアクセスならば、アドレスフ
ィールド203で示されたアドレスの通信レジスタのワ
ードに対し、データフィールド204内のデータを書き
込む制御となる。即ち、書き込むタイミングにおいて、
アドレスフィールド203内の通信レジスタアドレスを
アドレスレジスタ303に入れる。また、データフィー
ルド204内の書き込みデータをライトレジスタ302
に入れる。同時にライトイネーブル305を“1”値に
することにより、次のタイミングでスカラストアアクセ
スが完了する。
【0023】また、ベクトルストアアクセスならば、ア
ドレスフィールド303内のベースアドレス210をB
とし、ディスタンス211をD、ベクトル長212をL
としたとき、通信レジスタワードのB、B+D、B+2
D、…、B+(L−I)Dアドレスの合計L個のワード
に対し、データファイル204のL個のデータを各々書
き込む制御となる。この時の処理方法は次の通りにな
る。アドレスフィールド203内のベースアドレス21
0をアドレスレジスタ303に入れ、ディスタンス21
1をディスタンスレジスタ321に、ベクトル長212
をベクトル長レジスタ322に入れる。ベクトルストア
アクセスが開始されたならば、ライトイネーブル305
を“1”値にすると共に、ライトベクトルデータの第1
要素目をライトレジスタ302に入れる。アドレスレジ
スタ303には、ベースアドレス210が入っている
為、ベースアドレス210で示されたワードに対し、ベ
クトルデータの第1要素めはライトされる。
【0024】次のタイミングにおいて、アドレスレジス
タ303には、現在のアドレスレジスタ303のアドレ
ス値にディスタンスレジスタ321で示された値分が加
算され、この加算値が格納される。このときの加算処理
にアドレス加算器323を用いる。また、ベクトル長レ
ジスタ322には、現在のベクトル長レジスタ322の
値に、−1ディクリメントされた値が書き込まれる。こ
のディクリメント処理にはベクトル長減算器324が用
いられる。従って、アドレスレジスタ303の値はB+
D、となり、ベクトル長レジスタの値はL−1となる。
この時、ライトレジスタ302には、ベクトルデータの
第2要素が格納され、また、ライトイネーブル305の
値は“1”値が保持される。よって、第2要素はアドレ
スB+Dのワードに対しライトされる。
【0025】以下、第3要素、第4要素…第(VL−
1)要素まで、この処理を繰り返す。ベクトルアクセス
の処理の終了は、ベクトル長レジスタ322に書き込ま
れるベクトル長減算器324の出力値で判定する。即
ち、この出力値が非0値ならば、まだベクトルストアは
継続中であり、ライトイネーブル305も“1”値を保
持するようにする。しかし、出力値が0値ならば、ベク
トルデータの最終要素が書き込まれたことを意味するの
で、ライトイネーブル305を“0”値にすると共に、
ベクトルアクセスを終了する。
【0026】一方、スカラロードアクセスならば、アド
レスフィールド203で示されたアドレスの通信レジス
タのワードの値を読みだし、これを、リプライのデータ
とし、相互結合網4に送出する制御となる。即ち、読み
出すタイミングにおいて、アドレスフィールド203内
の通信レジスタアドレスをアドレスレジスタ303に入
れ、同時にリードイネーブル306を“1”値にする。
次のタイミングで読み出されたデータがリードレジスタ
304に書き込まれる。このリードレジスタ304の保
持したデータに対し、リプライパケット制御部312
は、リプライを構成し相互結合網4に送出する。
【0027】また、ベクトルロードアクセスならば、ス
トアと同様に、通信レジスタワードのB、B+D、B+
2D…B+(L−1)Dアドレスの合計L個のワードに
対し各々の値を読みだし、これらをリプライのデータフ
ィールド204として構成し、相互結合網4にリプライ
を送出する制御になる。この時の制御方法は、ベクトル
ストアアクセスと同様に、連続してアドレスレジスタ3
03の値を加算処理しながら、リードアクセスを繰り返
す。この時リードイネーブル306は“1”値を保持す
る。また、アクセス終了判定も、ベクトルストアアクセ
スと同じになる。読み出された複数個のベクトルデータ
はリプライパケット制御部312において、複数個のデ
ータより構成されるデータフィールド204として構成
され、相互結合網4に送出される。
【0028】
【発明の効果】本発明によれば、複数ワードに対する通
信レジスタ命令が、1つのベクトル通信レジスタアクセ
ス命令に置き換えることができるので、実行プログラム
の命令数を減らすことができ、実行時にロードされる主
記憶内での実行プログラムの量、もしくは非実行時での
実行プログラム量を減らすことができる。また、従来の
プログラムにおいては、複数個のスカラ通信レジスタア
クセス命令と、所定の回数アクセスしたか否かを判定す
る分岐命令よりループ構成されていた命令群が、1つの
命令に置き換えられるので、コンパイラの負荷も低減さ
れる。
【0029】また、演算プロセッサにおいては、ループ
構成の命令群が1つのベクトル命令に置き換えられる
為、命令フェッチ、命令デコード、命令実行、結果ライ
ト等で構成される処理において、不必要なオーバヘッド
が生じる可能性が小さくなる。
【0030】さらには、相互結合網、通信レジスタ装置
においても、ベクトル通信レジスタアクセスを高速に実
行処理する構成をとることができ、性能向上に寄与する
ことができる。
【図面の簡単な説明】
【図1】本発明における通信レジスタ装置の構成例を示
す図である。
【図2】本発明が適用される通信レジスタ付並列計算機
の構成例を示す図である。
【図3】本発明は本発明で用いられる相互結合網を流れ
るリクエストのフォーマットを示す図である。
【符号の説明】
10,11,12…1n 演算プロセッサ 2 主記憶装置 3 通信レジスタ装置 4 相互結合網 301 RAM 302 ライトレジスタ 303 アドレスレジスタ 304 リードレジスタ 305 ライトイネーブル 306 リードイネーブル 310 通信レジスタ制御部 311 リクエストパケット制御部 312 リプライパケット制御部 320 ベースアドレスレジスタ 321 ディスタンスレジスタ 322 ベクトル長レジスタ 323 アドレス加算器 324 ベクトル長減算器

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の演算プロセッサと、主記憶装置と、
    前記演算プロセッサ間の同期制御,排他制御及び通信制
    御の高速実行を目的とする複数アドレスの通信レジスタ
    装置と、これら各装置を結合する相互結合網とから構成
    される通信レジスタ付並列計算機において、前記通信レ
    ジスタ装置は、 前記主記憶装置より高速なメモリと、 前記各演算レジスタから前記相互結合網を介して入力す
    るリクエスト内のコードフィールドを解読して、アクセ
    スがスカラタイプかベクトルタイプか、及びストアアク
    セスかロードアクセスかを判断し、またストア命令の場
    合には前記リクエスト内のデータフィールドのデータを
    書き込みデータとしてバッファリングするリクエストパ
    ケット制御部と、 前記解読の結果がスカラストアアクセスなら前記メモリ
    の一つのワードへの書き込み、ベクトルストアアクセス
    なら複数ワードへの連続書き込み、スカラロードアクセ
    スなら一つのワードからの読み出し、ベクトルロードア
    クセスなら複数ワードからの連続読み出しのための各制
    御を行う通信レジスタ制御部と、 前記スカラロードアクセス又はベクトルロードアクセス
    の場合に前記メモリからの読み出しデータを前記相互結
    合網に送出するためのリプライデータを生成するリプラ
    イパケット制御部とを有することを特徴とする通信レジ
    スタ付並列計算機。
  2. 【請求項2】ベクトルタイプアクセスのアドレス間隔で
    あるディスタンスを保持するディスタンスレジスタと、
    ベクトル長を保持するベクトル長レジスタと、前記メモ
    リのアクセスアドレスを保持するアドレスレジスタと、
    前記ベクトルタイプアクセス時に1アクセスごとに前記
    アドレスレジスタの保持内容に前記ディスタンスレジス
    タの保持内容を加算するアドレス加算器と、前記1アク
    セスごとに前記ベクトル長レジスタの保持内容を1減算
    するベクトル長減算器とを前記通信レジスタ装置に設け
    たことを特徴とする請求項1記載の通信レジスタ付並列
    計算機。
JP7033620A 1995-02-22 1995-02-22 通信レジスタ付並列計算機 Expired - Lifetime JP2731740B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7033620A JP2731740B2 (ja) 1995-02-22 1995-02-22 通信レジスタ付並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7033620A JP2731740B2 (ja) 1995-02-22 1995-02-22 通信レジスタ付並列計算機

Publications (2)

Publication Number Publication Date
JPH08235135A JPH08235135A (ja) 1996-09-13
JP2731740B2 true JP2731740B2 (ja) 1998-03-25

Family

ID=12391500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7033620A Expired - Lifetime JP2731740B2 (ja) 1995-02-22 1995-02-22 通信レジスタ付並列計算機

Country Status (1)

Country Link
JP (1) JP2731740B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461558B (zh) * 2021-12-03 2024-04-16 杭州加速科技有限公司 一种提高ate设备通信效率的通信方法、装置及测试机系统

Also Published As

Publication number Publication date
JPH08235135A (ja) 1996-09-13

Similar Documents

Publication Publication Date Title
US6829697B1 (en) Multiple logical interfaces to a shared coprocessor resource
JP2761506B2 (ja) 主記憶制御装置
JPH0463430B2 (ja)
US4967338A (en) Loosely coupled pipeline processor
JP2001209549A (ja) 文脈切換えを実施する装置とその方法
US4677547A (en) Vector processor
US5237702A (en) System for prefetching vector data based on the status of the vector registers
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JP2731740B2 (ja) 通信レジスタ付並列計算機
JP2861560B2 (ja) データ処理装置
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP2781742B2 (ja) 並列計算機
JPH04205448A (ja) 情報処理装置
JPH07110769A (ja) Vliw型計算機
JPS60241136A (ja) デ−タ処理装置
JPH059818B2 (ja)
JP2504535B2 (ja) バスユニットの構成方法
JPS59158442A (ja) 命令読出し制御方法
JPS6235694B2 (ja)
JPS6031646A (ja) デ−タ処理装置
JP2001022581A (ja) データ処理装置及びコンピュータ読み取り可能な記憶媒体
JPH02197961A (ja) 情報処理装置
JPH0266629A (ja) データ処理方式
JPH09212488A (ja) ベクトル処理装置用アクセス制御装置
JPH0769800B2 (ja) データ処理装置

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: 19971125