JPH09106346A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JPH09106346A
JPH09106346A JP28940795A JP28940795A JPH09106346A JP H09106346 A JPH09106346 A JP H09106346A JP 28940795 A JP28940795 A JP 28940795A JP 28940795 A JP28940795 A JP 28940795A JP H09106346 A JPH09106346 A JP H09106346A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
code
designation
instruction execution
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
JP28940795A
Other languages
English (en)
Inventor
Atsushi Kawai
淳 河井
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP28940795A priority Critical patent/JPH09106346A/ja
Publication of JPH09106346A publication Critical patent/JPH09106346A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【解決手段】 命令生成装置3には複数の実命令コード
生成部K1〜Knが設けられる。命令コード1は、演算
の内容を指定する動作指定5と、演算対象のデータアド
レスを示すソース1指定6及びソース2指定7と、処理
結果を格納するアドレスを示すデスティネーション指定
8とを含む。1番目の命令実行部へはこの命令コード1
のままの内容で実命令コード31が供給される。また、
2番目の命令実行部へはソース1指定6とソース2指定
7がオペランドアドレスに対し“1”を加算したものを
生成して別の実命令コードを得る。命令コード生成パラ
メータ20は、このアドレス変換を制御する。 【効果】 入力する命令コードは命令コード生成パラメ
ータを含む程度の内容でよく、全ての命令実行部へ予め
生成した別々の命令コードを供給する場合に比べ、命令
コードが簡素化できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の命令実行部
を備え、命令コードに従って複数の命令を同時に平行し
て実行する並列計算機に関する。
【0002】
【従来の技術】演算処理の高速化を図るために、並列計
算機では命令実行部を複数設け、同時に複数の命令コー
ドを供給して並列処理させている。この並列計算機には
SIMD型命令処理装置(Single Instruction Multipl
e Data stream 型命令装置)と、MIMD型命令処理装
置(Multiple Instruction Multiple Data stream 型命
令装置)とが知られている。SIMD型命令処理装置
は、1つの共通する命令コードを全ての命令実行部に供
給し、これらを同時に実行する構成になっている。演算
処理の対象となるデータであるオペランドは各命令実行
部毎に設けられたレジスタに格納されている。そして、
命令コードにはオペランドアドレスが含められ、全ての
命令実行部は、それぞれ個別に設けられたレジスタの同
一のアドレスから別個のオペランドを読み出して命令を
実行する。この方式をこの明細書では同一命令コード方
式と呼ぶことにする。
【0003】一方、MIMD型命令処理装置は、複数の
命令実行部に対し複数の独立した命令コードを同時に供
給する。これらの命令実行部はオペランドを格納したレ
ジスタファイルを共有する。各命令コードは、それぞれ
別々のオペランドアドレスを表示し、これによって各命
令実行部は個々に独立の命令を実行する。このMIMD
型命令処理装置の実行方式を本発明においてはレジスタ
ファイル共有方式と呼ぶことにする。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来の並列計算機には次のような解決すべき課題があ
った。同一命令コード方式では、複数の命令実行部に対
し1つの命令コードを供給することから命令コードの内
容が単純化され、命令コードを供給する部分の回路が簡
単になるという利点がある。しかしながら、命令コード
が全く同一のオペランドアドレスを含むものであるた
め、レジスタファイルを共有することができない。即
ち、各命令実行部は、それぞれ同一のマッピングを施し
た別々のレジスタを採用する。従って、ある命令実行部
の処理結果を別の命令実行部で使用する場合、データ通
信のための特別な回路等が必要となる。
【0005】一方、レジスタファイル共有方式は、レジ
スタファイルの共有によって各命令実行部の処理結果を
相互に利用することが容易になる。しかしながら、全て
の命令実行部に対し別々の命令コードを与えるために、
命令コード自身の容量は大きくなり、命令コードを読み
出すための命令メモリや命令コード読み出し部分の回路
規模が大きくなってしまうといった問題があった。
【0006】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉命令実行の対象となるオペランドを格納した
レジスタファイルを共有し、それぞれ並行して所定の命
令を実行する複数の命令実行部と、これらの命令実行部
に対して命令コードを供給する命令生成装置とを備え、
命令コードには、少なくともレジスタファイル中のオペ
ランドアドレスを含み、命令生成装置は、入力した1語
の命令コードと、その命令コード中に含まれる命令コー
ド生成パラメータとにより、入力した命令コード中に含
まれるオペランドアドレスに、各命令実行部固有の変換
処理をして、複数の命令実行部に対して供給するそれぞ
れ別々の命令コードを生成する。
【0007】〈説明〉命令実行部は、命令コードにより
指定されたレジスタファイルのオペランドアドレスから
オペランドを読み出して、その命令処理結果をレジスタ
ファイルの別のアドレスに格納する。命令実行の対象と
なるオペランドのレジスタファイルへの格納アドレス
が、オペランドアドレスである。実行する命令の内容
は、命令コード中の「動作指定」というオペレータによ
り指定される。複数の命令実行部がレジスタファイルを
共有するから、各命令実行部にはそれぞれ任意の別々の
オペランドアドレスを含む命令コードを供給しなければ
ならない。
【0008】1語の命令コードは1つの動作指定と1組
のオペランドアドレスとから構成される。各命令実行部
固有の変換処理をするのは、同一のオペランドアドレス
をもとに、命令実行部ごとに異なるオペランドアドレス
を生成するためである。命令コード生成パラメータは、
この変換処理をするかしないかを表示するフラグを供給
する。これにより、複数の命令実行部に命令コードを供
給するための命令コード容量を小さくし、命令コード読
み出しのための回路規模を大きくしないで、レジスタフ
ァイルを共有した並列計算機が実現する。
【0009】〈構成2〉命令実行の対象となるオペラン
ドを格納したレジスタファイルを共有し、それぞれ並行
して所定の命令を実行する複数の命令実行部と、これら
の命令実行部に対して命令コードを供給する命令生成装
置とを備え、命令コードには、少なくともレジスタファ
イル中のオペランドアドレスを含み、命令生成装置は、
入力した1語の命令コードと、その命令コードとは別に
用意された命令コード生成パラメータとにより、入力し
た命令コード中に含まれるオペランドアドレスに、各命
令実行部固有の変換処理をして、複数の命令実行部に対
して供給するそれぞれ別々の命令コードを生成する。
【0010】〈説明〉命令コード生成パラメータを、命
令生成装置に入力する命令コード中に含めておけば、そ
の命令コードのみで、上記の命令コード生成制御ができ
る。一方、命令コードとは別に命令コードパラメータを
供給するようにすれば、プログラムを構成する命令コー
ドは従来のままでよいという利点がある。
【0011】〈構成3〉命令生成装置に順に入力する命
令コード群が、複数の命令実行部のうちの1つで実行さ
れる単一命令コードと2つ以上の複数の命令実行部で実
行される並列命令コードの混在するものである場合に、
命令生成装置は、命令コード生成パラメータにより、単
一命令コードが入力したときは、1つの命令実行部に供
給する命令コード中の動作指定を有効にし、他の命令実
行部に供給する命令コード中の動作指定を無効にするこ
とが好ましい。
【0012】〈説明〉並列計算機を構成する複数の命令
実行部のうち1つだけに特定の命令を実行させたいとき
は、オペランドアドレスの変換処理は不要である。しか
し複数の命令実行部に同一の命令コードが入力すれば同
一のオペランドアドレスに対するアクセスが競合する。
そこで、1つの命令実行部を除き、その動作指定を無効
として、このアクセス競合を防止した。この構成によ
り、複数の命令実行部のうちの1つで実行される命令コ
ードと2つ以上の複数の命令実行部で実行される命令コ
ードの混在するプログラムを実行できる。
【0013】〈構成4〉命令コード生成パラメータは、
複数の命令実行部に供給される各命令コード中の、動作
指定がそれぞれ有効か無効かを表示するフラグと、オペ
ランドアドレスを変換処理するか否かを表示するフラグ
とを含むことが好ましい。
【0014】〈説明〉このような構成にすることによ
り、単一命令コードと並列命令コードとが混在するプロ
グラムを、この命令コード生成パラメータの切り換えに
より処理することができる。
【0015】〈構成5〉並列命令コードが命令生成装置
に入力したとき、命令コード生成パラメータは、2以上
の命令実行部に供給される各命令コード中の動作指定を
有効とし、その他の命令実行部に供給される各命令コー
ド中の動作指定を無効とする表示を行うフラグを含むこ
とが好ましい。
【0016】〈説明〉並列命令コードが入力したとき
は、複数の命令実行部のうち2以上の命令実行部に対
し、同一の動作指定を行って処理させる。このとき命令
を実行する命令実行部は全部でなくてもよい。従って、
命令コード生成パラメータにより命令を実行しない命令
実行部への命令コードの動作指定を無効にする。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例1〉図1は、本発明の並列計算機の主要部ブロ
ック図である。本発明の並列計算機は、図に示すような
構成の命令コード1を命令生成装置3に供給することに
よって複数の実命令コードを生成し、図示しない命令供
給部へ供給することによって並列計算を実行するもので
ある。なお、この図の各部の具体的な構成を説明する前
に、まず先に説明した同一命令コード方式とレジスタフ
ァイル共有方式、即ちSIMD型命令処理装置とMIM
D型命令処理装置の具体的な構成を予め説明しておく。
【0018】図2は、同一命令コード方式例を示す具体
的なブロック図である。この並列計算機は、命令メモリ
40と、命令レジスタ41と、複数の命令実行部J1〜
Jn及びレジスタファイルR1〜Rnを備えている。命
令メモリ40は命令実行部J1〜Jnで実行される命令
コード列を格納するメモリである。即ち、ここには所定
のプログラムを構成する複数の命令コードが格納されて
いる。命令レジスタ41は、命令メモリ40から命令実
行サイクル時間毎に読み出された命令コードを一時的に
格納し、全ての命令実行部J1〜Jnに同一の命令コー
ドを供給するためのメモリである。各命令実行部J1〜
Jnは、それぞれ同一のアドレスマッピングを施したレ
ジスタファイルR1〜Rnを備えている。そして、これ
らのレジスタファイルR1〜Rnには、それぞれ任意の
オペランドが格納されている。従って、命令実行部J1
〜Jnは同一の命令の供給を受け、自分専用のレジスタ
ファイルR1〜Rnよりオペランドを読み出して所定の
処理を実行する。その結果は、それぞれレジスタファイ
ルR1〜Rnに格納される。なお、これらのレジスタフ
ァイルR1〜Rnは、命令実行部J1〜Jnと3つのポ
ートにより接続されている。これらのポートは、それぞ
れ独立にオペランドの読み出しを行う2個の読み出しポ
ートと、動作結果を格納するための書込みポートとを備
えている。
【0019】図3には、レジスタファイル共有方式例ブ
ロック図を示す。この例では、複数の命令実行部J1〜
Jnに対し、それぞれ1個ずつ命令レジスタL1〜Ln
が接続されている。そして、これらの命令レジスタL1
〜Lnに対し命令メモリ43から同時に別々の命令コー
ドが供給されるように構成されている。各命令実行部J
1〜Jnは、1つのレジスタファイル50を共有してい
る。この方式では、命令メモリ43にはn語の命令コー
ドが格納され、これらが同時に命令レジスタL1〜Ln
に供給される。
【0020】図4には、命令コードフォーマット説明図
を示す。上記のような並列計算機に使用される命令コー
ドは、一般にこの図に示すように動作指定5、ソース1
指定6、ソース2指定7及びデスティネーション指定8
とから構成される。動作指定5は命令実行部における演
算の内容を示す。ソース1指定6とソース2指定7と
は、レジスタファイル50に格納されたオペランドのオ
ペランドアドレスを示している。また、デスティネーシ
ョン指定8は、レジスタファイル50の演算結果を格納
すべき結果格納アドレスを示している。なお、このよう
な命令コードの構成は同一命令コード方式もレジスタフ
ァイル共有方式も変わらない。本発明では、レジスタフ
ァイルを共有することの利点を生かすために図3に示す
方式と同様の構成を採用すると共に命令コードの供給部
分を簡素化するべく図1に示すような構成にした。
【0021】図5に、本発明の並列計算機全体のブロッ
ク図を示す。この図に示すように、本発明の並列計算機
には、命令メモリ40と、命令レジスタ41と、命令生
成装置3及び実命令レジスタP1〜Pnと、命令実行部
J1〜Jnと、レジスタファイル50及びプログラムカ
ウンタ46とが設けられている。命令メモリ40は、命
令実行部J1〜Jnで実行される命令コードを格納して
いる。即ち、これは従来と同様の構成の命令コード群を
格納するプログラム用のメモリである。命令レジスタ4
1はこの命令メモリ40から1語ずつ命令コードを読み
出すメモリである。命令生成装置3は、図1に示したよ
うな構成とされ、命令レジスタ41に格納された1語の
命令コードから、この例ではn語の命令コードを生成し
出力する装置である。実命令レジスタP1〜Pnは、そ
れぞれ命令実行部J1〜Jnの実行する命令コードを一
時的に保持するためのメモリである。命令実行部J1〜
Jnやレジスタファイル50等は従来の装置と変わると
ころはない。プログラムカウンタ46は命令メモリ40
からの命令コード読み出しタイミングを制御するカウン
タである。なお、レジスタファイル50は従来のレジス
タファイル共有方式の場合と同様、複数の命令実行部J
1〜Jnに対し、それぞれ2つの読み出しポートと1つ
の書込みポートの3つのポートを用意し、全体として2
×n個の読出しポートとn個の書込みポートを備えるメ
モリから構成される。
【0022】図6には、本発明の並列計算機により使用
される命令コードの具体例を図示した。図の(a)に示
す命令コードは、図1に示した具体例1による命令コー
ドで、(b)に示した命令コード生成パラメータは、後
で説明する別の具体例により使用されるものを示したも
のである。(a)において、この命令コードは、動作指
定5と、ソース1指定6と、ソース2指定7と、デステ
ィネーション指定8とを備えている。これらの命令コー
ドの主要部の構成やその役割等は従来のものと全く同一
である。即ち、動作指定5は命令実行部での動作の内容
を指定するもので、ソース1指定6とソース2指定7は
オペランドアドレスを示し、デスティネーション指定8
は動作結果を格納するためのアドレスを示す。
【0023】ここで、本発明においては、この命令コー
ドにマスク指定11、Fix12,13,14が含まれ
ている。そして、これらを総称して命令コード生成パラ
メータ20と称している。この命令コード生成パラメー
タ20の作用を図1を参照しながら詳細に説明する。図
1において、命令生成装置3は図に示すように命令実行
部の数nと同一の数の実命令コード生成部K1〜Knに
より構成されている。そして、これらの実命令コード生
成部K1〜Knには、それぞれ定数発生回路21、セレ
クタ22、他の定数発生回路23、加算器24、セレク
タ25、他の加算器26及びセレクタ27、他の加算器
28及びセレクタ29が設けられている。セレクタ22
には命令コード1の動作指定5が入力し、このセレクタ
22のもう一方の入力端子には定数発生回路21の出力
側が接続されている。そして、このセレクタ22は命令
コード1の中に含まれているマスク指定11によって制
御される。このマスク指定11は、実命令コード生成部
K1〜Knのそれぞれに対して動作指定5で指定される
演算を実際に行うかどうかを指定するnビットのフラグ
から構成される。このマスク指定11のフラグの値が
“0”の場合には、セレクタ22が動作指定5を選択し
て実命令コード31として出力する。また、マスク指定
11のフラグが“1”の時には、演算を実行しない旨の
NOP(Non Operation )の命令が定数発生回路21に
格納されており、これがセレクタ22により選択されて
実命令コード31の動作指定32となる。
【0024】即ち、セレクタ22を用いることによって
該当する命令実行部に対し命令コード1の動作指定5に
示された命令を実行させるか、あるいは何もしないよう
にするかをマスク指定11によって制御する。従って、
何もしないという内容の動作指定32を受けた命令実行
部は動作せず、動作指定が有効な実命令コードを受けた
命令実行部のみが動作を実行する。一方、2以上の命令
実行部に対しこの命令コード1に含まれる動作指定5の
動作を同時に実行させる場合には、マスク指定11がセ
レクタ22を制御して、複数の命令実行部に対し同一の
動作指定を含む実命令コード31を供給する。
【0025】このようにして、いわゆるスカラ計算命令
とベクタ計算命令とが混在するようなプログラムを円滑
に実行することができる。一方、ソース1指定6は命令
生成装置3の加算器24に入力される。この加算器24
の他の端子には定数発生回路23の出力側が接続されて
いる。この定数発生回路23には命令実行部番号−1の
値が格納されている。これは実命令コード生成部K1〜
Kn毎に固有の値になるように設定したもので、必ずし
もこの演算により求めなければならないものではない。
全ての実命令コード生成部K1〜Knにセットされた定
数発生回路23の内容が異なるようにすればよい。
【0026】ここで、命令コード1のソース1指定6に
は図示したように1ビットのFix12が付加されてい
る。このFix12は、加算器24の出力とソース1指
定6の出力を受け入れるセレクタ25の選択を制御する
ようにしている。即ち、例えばFix12の値が“0”
のときには、セレクタ25が加算器24の出力を実命令
コード31のソース1指定33とする。一方、Fix1
2が“1”のときにはセレクタ25はソース1指定6の
出力をそのまま実命令コード31のソース1指定33と
する。
【0027】従って、Fix12は、全ての実命令コー
ド生成部K1〜Knに入力しているので、Fix12の
値が“1”のときには全ての命令実行部に対するソース
1指定33が同一の内容となる。加算器24は、定数発
生回路23の出力とソース1指定6とを加算してセレク
タ25に向け出力する。従って、加算器24の出力が選
択されたときは、全ての実命令コード生成部K1〜Kn
に対し別々の異なるオペランドアドレスが実命令コード
31のソース1指定33として出力されることになる。
【0028】次に、ソース2指定7を処理する加算器2
6やセレクタ27についても全く同様である。このセレ
クタ27の選択は、Fix13により制御される。デス
ティネーション指定8についても同様で、加算器28と
セレクタ29によって選択され、その選択制御はFix
14により実行される。なお、加算器24,26,28
に入力する定数は同一の実命令コード生成部では同一の
値に選定されている。
【0029】以上のように、例えば実命令コード生成部
の数が全部で8個あり、命令実行部も全部で8個あると
したした場合に、最初の実命令コード生成部K1の定数
発生回路23には“0”という値が格納される。従っ
て、例えば命令コード1のソース1指定6が“0”、ソ
ース2指定7が“8”、デスティネーション指定8が
“16”とすれば、実命令コード31では全く同様にソ
ース1指定33は“0”、ソース2指定34は“8”、
デスティネーション指定35は“16”となる。一方、
実命令コード生成部K8ではソース1指定6に“8−
1”が加算されるから、ソース1指定33は“7”、ソ
ース2指定34は“15”、デスティネーション指定3
5は“23”となって実命令コード31が生成される。
【0030】〈動作〉以上の構成の並列計算機は全体と
して次のように動作する。まず、図5に示すプログラム
カウンタ46が順に一定のカウント値を出力すると、命
令メモリ40からはこれに対応するアドレスから命令コ
ードが読み出され、命令レジスタ41に格納される。一
方、分岐命令が実行された場合にはプログラムカウンタ
46の値が分岐先命令アドレスに更新され、命令メモリ
40からは該当するアドレスより命令コードが読み出さ
れる。このような命令の読出し制御等は従来の装置と全
く同様である。
【0031】ここで、始めにその命令コードが命令実行
部J1でのみ命令を実行し、他の命令実行部J2〜Jn
では処理をしないスカラ計算命令であったとする。この
場合には、図1に示した実命令コード生成部K1から出
力される実命令コード31には、命令生成装置3に入力
した命令コード1の動作指定5とソース1指定6、ソー
ス2指定7、デスティネーション指定8がそのままセレ
クタ22,25,27,29を通じてコピーされる。そ
して、この実命令コード31が図5に示す命令実行部J
1に対して出力される。
【0032】このときのマスク指定11は実命令コード
生成部K1に対するフラグが“0”で、その他は“1”
となっている。従って、他の実命令コード生成部K2〜
Knから出力される実命令コード31の動作指定32
は、全て無効となり、図5に示す命令実行部J2〜Jn
はこのとき動作をしない。従って、実命令コード31の
ソース1指定33、ソース2指定34、デスティネーシ
ョン指定35等は無視される。
【0033】次に、図5に示す全ての命令実行部J1〜
Jnにおいて、それぞれ同一の動作指定であって、別々
のオペランドアドレスにおけるオペランドの処理を実行
する場合を説明する。これはベクタ計算命令であって、
図1に示す命令コード1のマスク指定11は同時に並列
処理を行うべき命令実行部に対し、そのフラグを“0”
にする。また、ソース1指定6、ソース2指定7、デス
ティネーション指定8に付加されたFix12,Fix
13,Fix14をいずれも“0”とする。
【0034】これによって、各実命令コード生成部K1
〜Knにおいては、いずれもセレクタ22が入力した命
令コード1に含まれる動作指定5をそのまま出力して実
命令コード31の動作指定32とする。一方、該当する
実命令コード生成部のセレクタ25,27,29は、そ
れぞれ加算器24,26,28の出力を受け入れて実命
令コード31のソース1指定33、ソース2指定34、
デスティネーション指定35とする。これによって、そ
れぞれ同一のオペレーションアドレスから別個のオペレ
ーションアドレスが生成されて実命令コード31とな
る。従って、各命令実行部J1〜Jnは、図5に示す共
有するレジスタファイル50をアクセスして、それぞれ
別々のオペランドアドレスからオペランドを読み出し、
同一の動作指定に従って一定の命令を実行する。
【0035】〈具体例2〉上記の具体例1では、命令生
成装置3に入力する命令コード1に命令コード生成パラ
メータ20が含まれていた。従って、図5に示す命令メ
モリ40にはそのような構成の命令コードから成るプロ
グラムを格納することになる。よって、本発明を実施す
るためには、本発明の実施に適する命令コードから成る
プログラムを作成しなければならない。ところが、本具
体例2の場合には、図6(b)に示すように、図6
(a)に示す命令コード1の命令コード生成パラメータ
20の部分だけを取り出して、これを別に格納するよう
にする。
【0036】図7には、この具体例2を実施した装置主
要部のブロック図を示す。図に示す命令生成装置3の部
分は、図1に示す具体例1のものと全く同一である。こ
の具体例2では、この図に示すように、従来の装置に使
用されたものと全く同一の構成の命令コード10とこれ
とは別に用意した命令コード生成パラメータ20とを命
令生成装置3に供給する構成としている。即ち、図6
(b)に示すように、この装置にこの具体例2に使用す
る命令コード生成パラメータ20がマスク指定11とソ
ース1指定用のFix12と、ソース2指定用のFix
13と、デスティネーション指定用のFix14とから
構成される。
【0037】この具体例を実施するために、装置の全体
構成は図8に示すようになる。この例では、命令メモリ
40、命令レジスタ41の構成は、従来装置のものと全
く同様で、従来装置と全く同様の命令コードが順番に読
み出され、命令生成装置3に供給される。命令生成装置
3以下の構成は、図5に示した構成を全て含んでいる。
そして、本具体例では図5に示した構成の装置に新たに
命令パラメータ表61と命令パラメータレジスタ62と
が追加されている。命令パラメータ表61には命令メモ
リ40に格納されたプログラムを構成する各命令コード
の1つ1つに対応させる命令コード生成パラメータがそ
の命令コードと同一の順で格納されている。従って、プ
ログラムカウンタ46の出力するアドレス信号によっ
て、対応する命令コードと命令コード生成パラメータと
が同時に命令レジスタ41あるいは命令パラメータレジ
スタ62に読み出される。そして、これらが同時に命令
生成装置3に供給されて図1に示した装置と同様の処理
が実行される。装置のその他の動作はいずれも具体例1
と全く同様である。
【0038】上記いずれの具体例においても、1語の命
令コードから命令コード生成パラメータを使用すること
によって、複数の命令実行部に対しそれぞれ別々の命令
コードを生成し供給することができる。これによって、
命令コード自体の複雑化を防止し、命令コード容量の増
大や命令コード読出し部分の回路規模の増大を解消でき
る。また、レジスタファイルを共有することにより、デ
ータ通信等のための処理や回路を必要とせず、回路規模
の増大や処理時間の増加を防止できる。更に、データの
一致性を保障するための命令実行部間の処理の待ち合わ
せ等も不要となる。
【0039】また、具体例2によれば、並列命令実行部
を持たない通常の単一命令実行部を持つ命令処理装置
や、任意の数の命令実行部を持つ命令処理装置で共通に
命令コードを与えることが可能になる利点を有してい
る。
【図面の簡単な説明】
【図1】本発明の並列計算機の主要部ブロック図であ
る。
【図2】同一命令コード方式例ブロック図である。
【図3】レジスタファイル共有方式例ブロック図であ
る。
【図4】命令コードフォーマット説明図である。
【図5】本発明の並列計算機全体のブロック図である。
【図6】(a)は具体例1による命令コード、(b)は
具体例2による命令コード生成パラメータである。
【図7】別の具体例の主要部ブロック図である。
【図8】本発明の別の具体例全体のブロック図である。
【符号の説明】
1 命令コード 3 命令生成装置 5 動作指定 6 ソース1指定 7 ソース2指定 8 デスティネーション指定 11 マスク指定 12,13,14 Fix 20 命令コード生成パラメータ 31 実命令コード

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 命令実行の対象となるオペランドを格納
    したレジスタファイルを共有し、 それぞれ並行して所定の命令を実行する複数の命令実行
    部と、 これらの命令実行部に対して命令コードを供給する命令
    生成装置とを備え、 前記命令コードには、少なくとも前記レジスタファイル
    中のオペランドアドレスを含み、 前記命令生成装置は、 入力した1語の命令コードと、この命令コード中に含ま
    れる命令コード生成パラメータとにより、入力した命令
    コード中に含まれるオペランドアドレスに、各命令実行
    部固有の変換処理をして、前記複数の命令実行部に対し
    て供給するそれぞれ別々の命令コードを生成することを
    特徴とする並列計算機。
  2. 【請求項2】 命令実行の対象となるオペランドを格納
    したレジスタファイルを共有し、 それぞれ並行して所定の命令を実行する複数の命令実行
    部と、 これらの命令実行部に対して命令コードを供給する命令
    生成装置とを備え、 前記命令コードには、少なくとも前記レジスタファイル
    中のオペランドアドレスを含み、 前記命令生成装置は、 入力した1語の命令コードと、この命令コードとは別に
    用意された命令コード生成パラメータとにより、入力し
    た命令コード中に含まれるオペランドアドレスに、各命
    令実行部固有の変換処理をして、前記複数の命令実行部
    に対して供給するそれぞれ別々の命令コードを生成する
    ことを特徴とする並列計算機。
  3. 【請求項3】 請求項1または2において、 前記命令生成装置に順に入力する命令コード群が、複数
    の命令実行部のうちの1つで実行される単一命令コード
    と2つ以上の複数の命令実行部で実行される並列命令コ
    ードとが混在する場合に、 前記命令生成装置は、 前記命令コード生成パラメータにより、前記単一命令コ
    ードが入力したときは、1つの命令実行部に供給する命
    令コード中の動作指定を有効にし、他の命令実行部に供
    給する命令コード中の動作指定を無効にすることを特徴
    とする並列計算機。
  4. 【請求項4】 請求項3において、 前記命令コード生成パラメータは、 複数の命令実行部に供給される各命令コード中の、動作
    指定がそれぞれ有効か無効かを表示するフラグと、前記
    オペランドアドレスの変換処理をするかしないかを表示
    するフラグとを含むことを特徴とする並列計算機。
  5. 【請求項5】 請求項3において、 前記並列命令コードが命令生成装置に入力したとき、前
    記命令コード生成パラメータは、 2以上の命令実行部に供給される各命令コード中の動作
    指定を有効とし、その他の命令実行部に供給される各命
    令コード中の動作指定を無効とする表示を行うフラグを
    含むことを特徴とする並列計算機。
JP28940795A 1995-10-11 1995-10-11 並列計算機 Pending JPH09106346A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28940795A JPH09106346A (ja) 1995-10-11 1995-10-11 並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28940795A JPH09106346A (ja) 1995-10-11 1995-10-11 並列計算機

Publications (1)

Publication Number Publication Date
JPH09106346A true JPH09106346A (ja) 1997-04-22

Family

ID=17742846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28940795A Pending JPH09106346A (ja) 1995-10-11 1995-10-11 並列計算機

Country Status (1)

Country Link
JP (1) JPH09106346A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515856A (ja) * 2000-12-07 2004-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタル信号処理装置
JP2010067278A (ja) * 1999-01-28 2010-03-25 Altera Corp プロセッサでの条件付き実行をサポートする装置及びその方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067278A (ja) * 1999-01-28 2010-03-25 Altera Corp プロセッサでの条件付き実行をサポートする装置及びその方法
JP2004515856A (ja) * 2000-12-07 2004-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタル信号処理装置

Similar Documents

Publication Publication Date Title
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
EP2336879B1 (en) Methods and apparatus for dynamically merging an array controller with an array processing element
Kuehn et al. The Horizon supercomputing system: architecture and software
US6446190B1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
EP0723220A2 (en) Parallel processing system amd method using surrogate instructions
JP2002536738A (ja) 間接vliwプロセッサにおける実行時間並列処理のための動的vliwサブ命令選択システム
JPH08241291A (ja) プロセッサ
JP4996654B2 (ja) プロセッサ
JPS619760A (ja) ベクトル処理システム
JPH05508495A (ja) 多重プロセッサ用大域レジスタ
KR100288170B1 (ko) 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기
JPH09294069A (ja) プログラマブルlsiおよびその演算方法
JPH06250837A (ja) スケジューリング処理方式
JPH03286332A (ja) デジタルデータ処理装置
EP0227900B1 (en) Three address instruction data processing apparatus
JPH09106346A (ja) 並列計算機
JPH1165840A (ja) 演算処理装置およびその方法
JP2003005954A (ja) データ処理装置およびその制御方法
JPH04149658A (ja) 情報処理装置
JPH04123230A (ja) データ処理装置
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
JP3601758B2 (ja) 情報処理装置及びその処理方法
JPH06309349A (ja) プログラム制御のプロセッサ
JP3607548B2 (ja) ベクトル演算装置
JP3389261B2 (ja) データ駆動型情報処理装置