JP2000259609A - データ処理プロセッサおよびシステム - Google Patents

データ処理プロセッサおよびシステム

Info

Publication number
JP2000259609A
JP2000259609A JP11066025A JP6602599A JP2000259609A JP 2000259609 A JP2000259609 A JP 2000259609A JP 11066025 A JP11066025 A JP 11066025A JP 6602599 A JP6602599 A JP 6602599A JP 2000259609 A JP2000259609 A JP 2000259609A
Authority
JP
Japan
Prior art keywords
data
register
vector
unit
memory
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
JP11066025A
Other languages
English (en)
Inventor
Yuichiro Morita
雄一朗 守田
Makoto Fujita
良 藤田
Eiki Kamata
栄樹 釜田
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 JP11066025A priority Critical patent/JP2000259609A/ja
Priority to EP00102283A priority patent/EP1035479A3/en
Priority to CA002299567A priority patent/CA2299567A1/en
Priority to KR1020000012293A priority patent/KR20010006787A/ko
Publication of JP2000259609A publication Critical patent/JP2000259609A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/8053Vector processors
    • G06F15/8092Array of vector units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】高速で、高率よく処理するデータ処理システム
を提供する。 【解決手段】複数のデータを格納する領域と、領域毎に
データが格納されたか否かを示す情報を格納する領域と
を有するレジスタと、演算命令に従ってデータの演算を
実行する演算部と、演算命令とレジスタに記憶された情
報に基づいて、レジスタから演算すべきデータを読み出
して演算部へ送る制御部によってデータ処理プロセッサ
を構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、順序付けされた一
次元配列であるベクトルデータを処理するベクトル処理
プロセッサおよびシステムに関する。
【0002】
【従来の技術】多くの科学技術計算処理では、ベクトル
データのそれぞれ連続する要素について同一の演算を繰
り返し実行する処理、いわゆるベクトル処理が大部分を
占めている。このため科学技術計算処理を処理対象とす
るスーパーコンピュータは、このベクトル処理を専用の
ハードウェア機構でパイプライン化して高速に実行する
ベクトル処理プロセッサを有している。基本的なベクト
ル処理プロセッサは、ベクトルデータの複数の要素を格
納するベクトルレジスタと、ベクトルロード命令に応答
してベクトルデータのそれぞれ連続する要素をメモリか
らベクトルレジスタに連続的にロードするベクトルロー
ド機能と、ベクトルストア命令に応答してベクトルデー
タのそれぞれ連続する要素をベクトルレジスタからメモ
リに連続的にストアするベクトルストア機能と、ベクト
ル演算命令に応答してベクトルレジスタに格納されたベ
クトルデータのそれぞれ連続する要素について同一の演
算を繰り返し実行するベクトル演算機能とを有してお
り、これらの機能を用いてベクトルデータのロード,演
算,ストアをそれぞれパイプライン的に高速に実行す
る。
【0003】ベクトル処理プロセッサはさらに、連鎖実
行機能、いわゆるチェイニング機能によって、あるベク
トル演算命令とその演算結果に対する別のベクトル演算
命令とを並列に実行することにより、ベクトル処理のさ
らなる高速化を実現している。チェイニングとは、ある
ベクトル演算命令の演算結果が後続のベクトル演算命令
の被演算データである場合に、先行命令の完了を待つこ
となく、最初の要素の演算結果が得られた直後から後続
の命令を実行することにより、ベクトルデータの各要素
に対する演算を連鎖的に実行するものである。しかしな
がら、このチェイニング機能では後続の命令の実行タイ
ミングが最初の要素の演算結果が得られた時点でしか決
まらないため、先行命令の実行結果が連続して得られる
ことが保証されている場合にのみ使用でき、データ読み
出しタイミングが保証されないメモリアクセスを伴うベ
クトルロード命令には使用できなかった。
【0004】このようなチェイニングの問題点を解決
し、ベクトル処理の一層の高速化を実現するために、後
続の命令の実行タイミングを各要素毎に判定してチェイ
ニングを動的に行う新たなチェイニングが提案されてい
る。この動的なチェイニングによれば、ベクトルロード
命令やベクトル演算命令を実行中、どの要素までロード
または演算が完了したかをポインタやフラグによって逐
次明示し、このポインタまたはフラグを参照して後続の
ベクトル演算命令またはベクトルストア命令の実行タイ
ミングを各要素毎に判定して動的に実行するので、ベク
トルロード命令を実行中にメモリアクセス競合などによ
ってロード遅延が不規則に生じる場合でもチェイニング
が可能になり、ベクトル処理のさらなる高速化を実現で
きる。なお、この種の装置として関連するものには例え
ば特許第1448566号,同2577865号,特開平8−202687号
などが挙げられる。
【0005】
【発明が解決しようとする課題】上述した動的なチェイ
ニングは、メモリアクセス競合などによってベクトルデ
ータのある要素のロード遅延が生じた場合、後続のベク
トル演算命令やベクトルストア命令をこの要素の処理の
直前で一時的に停止させ、同要素のロード完了後に再開
させることにより、データ読み出しタイミングが保証さ
れないメモリアクセスを伴うベクトルロード命令のチェ
イニングを可能にした。しかしながら、ロード遅延によ
って後続のベクトル演算命令やベクトルストア命令が停
止してしまう点がベクトル処理プロセッサおよびシステ
ムのさらなる高速化の障害となることは明白である。
【0006】本発明の目的は、従来技術の問題点を克服
し、ベクトル処理命令の動的なチェイニングにおいてロ
ード遅延によって生じる処理停止時間を低減し、ベクト
ル処理のさらなる高速化を実現するベクトル処理プロセ
ッサおよびシステムを提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
のデータ処理システムは、データ処理プロセッサ,メモ
リ部又は、データ処理プロセッサ,スイッチ部,メモリ
部とを有し、それぞれ次のような特徴を有している。
【0008】データ処理プロセッサは、演算処理を高速
に実行するために複数のデータを格納する領域と領域毎
にデータが格納されたか否かを示す情報を格納する領域
とを有するレジスタを有している。また、このレジスタ
にデータを格納するため、レジスタに格納するデータを
読み込むためのアドレス情報を出力するデータ入力部を
有している。このアドレス情報には、少なくともメモリ
のアドレス,個々のデータを識別する識別情報,送信元
のプロセッサを示す識別情報、あるいはこれらを意味す
る情報が含まれる。
【0009】また、レジスタに記憶された任意のデータ
について演算を行うようにするため、演算命令とレジス
タに記憶された情報に基づいてレジスタから演算すべき
データを読み出して演算部へ送る制御部を有している。
【0010】また、任意に演算結果を外部へ出力するた
めに、複数のデータを格納する領域と領域毎に格納され
たデータが演算結果であるか否かを示す情報を格納する
領域とを有するレジスタ、レジスタに記憶された情報に
基づいてレジスタに格納された演算結果を読み出してア
ドレス情報とともに出力するデータ出力部とを有してい
る。
【0011】スイッチ部(調停部)は、1つ又は複数の
プロセッサと1つ又は複数のメモリとの間での高率よく
アクセスを実行するためにメモリの状態とプロセッサか
らのアドレス情報に基づいて、このアドレス情報を転送
すべきタイミングを決定する。これは、転送可能なメモ
リへ転送すべきアドレス情報を転送することによって実
現する。
【0012】また、複数のプロセッサと複数のメモリと
の間で高率よくアクセスを実行するために、プロセッサ
からメモリへアドレス情報を転送するアドレス情報転送
部とメモリからプロセッサへデータを転送するデータ転
送部とを有している。
【0013】メモリ部は、他のメモリとの間で高率よく
アクセスがされるように、アクセス情報を受け入れるこ
とができるか否かの情報を出力する。また、データを出
力するときにアクセス情報に含まれる情報をデータに付
加して出力する。
【0014】また、上記目的を達成するためのデータ処
理システムにおいて、データ処理プロセッサは返送先情
報とアドレスとを出力し、メモリはアドレスに基づいて
読み出したデータと返送先情報とを出力することで高速
にデータ処理を実行することができる。
【0015】更に、1つ又は複数のメモリと1つ又はプ
ロセッサとの間に接続され、プロセッサから出力された
アドレス情報とメモリから出力される信号に基づいて、
メモリへアドレス情報を出力するタイミングを決定する
スイッチ部によってデータ処理システムを構成すること
によりデータ処理の高率を向上させることができる。ま
た、ベクトルを構成する複数のデータについて同一の演
算を繰り返し実行する複数のベクトル処理プロセッサ
と、実行すべき命令がベクトル処理命令の場合に、いず
れかのベクトル処理プロセッサを選択し、選択されたベ
クトル処理プロセッサにベクトル処理命令を転送するプ
ロセッサとを有するデータ処理システムを構成すること
により、処理を分散させることができるので高率よく処
理を行うことができる。
【0016】また、複数のデータ処理装置が接続されて
構成されるデータ処理システムであって、それぞれのデ
ータ処理装置は、データ処理装置間のデータの転送を行
う通信部と、データを格納するメモリと、メモリから読
み出したデータの演算を行うプロセッサとを有し、プロ
セッサは、処理すべきデータに対する返送先情報をアド
レスとともに出力し、メモリはアドレスに基づいて読み
出したデータと返送先情報とを出力するデータ処理シス
テムを構成することによって、効率の良い大規模なデー
タ処理システムを構成することができる。
【0017】
【発明の実施の形態】以下、本発明にかかる実施例につ
いて図面を参照して説明する。
【0018】図8に、本発明にかかるデータ処理システ
ムの第1の構成図を示す。
【0019】このデータ処理システムは、プログラムの
命令解読とスカラ命令を実行するスカラ処理部6と、ベ
クトル処理を実行するベクトル処理部1と、データを格
納するメモリ部8と、スカラ処理部6およびベクトル処
理部1をメモリ部8と接続するスイッチ部7とを有して
構成される。本実施例では、ベクトルを構成する要素で
あるデータの集合をベクトルデータとして以下説明す
る。このスカラ処理部6,ベクトル処理部1,メモリ格
納部8,スイッチ部7は、それぞれ別々の半導体集積回
路で構成されたものであっても良いが、1つの半導体集
積回路で構成すればデータを転送するための信号線を多
くとることができ、チップ間でのデータ転送のためのド
ライバを不要とすることができるのでより高速で、高率
の良いデータ処理システムを構成することができる。
【0020】更に、スカラ処理部6,ベクトル処理部1
を1つの半導体集積回路で、またスカラ処理部6,ベク
トル処理部1,スイッチ部7とを1つの半導体集積回路
で構成すると、メモリ部8の構成を自由に変えることが
可能となる。つまり、メモリ部8の容量を自由に変える
ことができるのでより汎用性が高くなる。
【0021】スカラ処理部6は、プログラムの命令を解
読してそれがスカラ命令であれば本命令を実行し、ベク
トル命令であればベクトル処理部1にこのベクトル命令
61を送信する。
【0022】ベクトル処理部1は、スカラ処理部6から
受信したベクトル命令61を解読する命令解読回路2
と、ベクトルデータのそれぞれ連続する要素ついて同一
の演算を繰り返し実行する演算ユニット10と、演算ユ
ニット10に供給するベクトルデータや演算ユニット1
0が出力する演算結果を一時的に格納するレジスタを複
数備えるレジスタ機構20と、メモリ部8からベクトル
データを読み出してレジスタ機構20のレジスタに書き
込むロードユニットVLU1(30)およびVLU2(4
0)と、レジスタ機構20のレジスタからベクトルデー
タを読み出してメモリ部8に書き込むストアユニットV
SU(50)とを有して構成される。
【0023】命令解読回路2は、スカラ処理部6からベ
クトル命令61を受信すると、同命令コードとオペラン
ドを解読して同命令を実行するように演算ユニット1
0,レジスタ機構20,ロードユニットVLU1(30)
およびVLU2(40),ストアユニットVSU(50)に
指令を出す。
【0024】演算ユニット10は、命令解読回路2から
ベクトル演算命令実行の指令を受けると、同ベクトル演
算命令のオペランドで指定されたレジスタ機構20の1
つまたは複数のレジスタからベクトルデータを要素毎に
読み出し、そしてベクトル演算命令の命令コードで指定
された演算を要素毎にパイプライン的に施し、その演算
結果をベクトル演算命令のオペランドで指定されたレジ
スタ機構20のレジスタに要素毎に書き込む。
【0025】レジスタ機構20は、最大n個の要素から
なるベクトルデータを格納可能なレジスタを複数有して
おり、演算対象のベクトルデータや演算結果のベクトル
データを一時的に格納する。
【0026】ロードユニットVLU1(30)およびVL
U2(40)はそれぞれ、命令解読回路2からロード命令
実行の指令を受けると、ロード命令のオペランドで指定
されたメモリ部8の領域にあるベクトルデータを読み出
し、そしてロード命令のオペランドで指定されたレジス
タ機構20のレジスタに書き込む。このロードでは、ベ
クトルデータのリード要求を要素単位で個別にメモリ部
8に送信し、そして読み出した各要素のデータをレジス
タ機構20のレジスタに書き込む動作を全ての要素に対
して繰り返し実行する。本実施例ではVLU1(30)と
VLU2(40)によって2つのベクトルロード命令を同
時に実行することができるが、さらにロードユニットの
数を増やして、より多くのベクトルロード命令を同時に
実行するようにしても良いし、逆にロードユニットを1
つだけにして、ベクトルロード命令を1つずつ実行する
代りに回路規模を減らすようにしても良い。
【0027】ストアユニットVSU(50)は、命令解読
回路2からベクトルストア命令実行の指令を受けると、
ベクトルストア命令のオペランドで指定されたレジスタ
機構20のレジスタに格納されているベクトルデータを
読み出し、そしてベクトルストア命令のオペランドで指
定されたメモリ部8の領域に書き戻す。ストアユニット
によるベクトルデータのストアでは、レジスタ機構20
のレジスタからベクトルデータを要素毎に読み出して各
要素のライト要求をそれぞれメモリ部8に送信し、そし
て各要素をメモリ部8に書き込む。本実施例ではストア
ユニットVSU(50)によって1つのベクトルストア命
令を実行することができるが、さらにストアユニットの
数を増やして、複数のベクトルストア命令を同時に実行
するようにしてもよい。
【0028】メモリ部8は、複数のメモリモジュール
(MM0,MM1,…,MMJ−1)80を有してインタリ
ーブを実現する。各メモリモジュールは各々独立にライ
ト要求,リード要求を受信してメモリアクセスを実行す
る。これにより、あるメモリモジュールがアクセス中で
あっても他のメモリモジュールへのアクセスは実行可能
になる。
【0029】スイッチ部7は、スカラ処理部6およびベ
クトル処理部1のVLU1(30),VLU2(40),V
SU(50)からメモリ部8の各メモリモジュール80へ
のアクセス経路を確立する。スイッチ部7は、スカラ処
理部6,ベクトル処理部1のVLU1(30),VLU2
(40),VSU(50)がそれぞれ出力するメモリアクセ
ス要求62,31,41,51をアクセス先のメモリモ
ジュール80に送信し(81−0,81−1,81−
2,…,81−j−1)、各メモリモジュール80がそ
れぞれ出力するリードデータ82−0,82−1,82
−2,…,82−j−1をアクセス元のスカラ処理部
6,ベクトル処理部1のVLU1(30),VLU2(4
0)に送信する(63,32,42)。
【0030】図1に、本発明にかかるレジスタ機構20
と演算ユニット10の詳細構成を示す。
【0031】レジスタ機構20は、複数のレジスタから
なるレジスタファイル200を有しており、各レジスタ
はベクトルデータの要素をn個まで記憶可能である。本
図ではレジスタを(VE(i,0),VE(i,1),VE
(i,2),…,VE(i,j),…,VE(i,n−1))の
ように表記しており、VE(i,j)は要素を示し、括弧
内のiはレジスタ番号、jは要素番号を示している。レ
ジスタファイル200の各レジスタの個々の要素はレジ
スタ番号と要素番号でアドレスされ(以下、要素アドレ
スと呼ぶ)、3つのライトポート201,202,20
6から各々独立にベクトルデータを要素単位で書き込む
ことが可能であり、さらに、3つのリードポート20
3,204,205から各々独立にベクトルデータを要
素単位で読み出すことが可能である。
【0032】ライトポート201は、ロードユニットV
LU1(30)からレジスタライトコマンド/要素アドレ
ス310とデータ320を受信すると、同要素アドレス
で指定されたレジスタの要素にデータを書き込む。ライ
トポート202も同様に、ロードユニットVLU2(4
0)からレジスタライトコマンド/要素アドレス410
とデータ420を受信すると、同要素アドレスで指定さ
れたレジスタの要素にデータを書き込む。ライトポート
206も同様に、演算ユニット10からレジスタライト
コマンド/要素アドレス1020とデータ103を受信
すると、同要素アドレスで指定されたレジスタの要素に
データを書き込む。
【0033】また、リードポート204および205
は、演算ユニット10からレジスタリードコマンド/要
素番号124を受信すると、同要素番号と、図示してい
ないが命令解読回路2が指示する演算対象のレジスタ番
号とでそれぞれ指定されたレジスタの要素からデータを
読み出し、演算ユニット10に読み出したデータ20
8,209を出力する。リードポート203は、ストア
ユニット(VSU)50からのレジスタリードコマンド/
要素アドレス510を受信すると、同要素アドレスで指
定されたレジスタの要素からデータを読み出し、ストア
ユニット(VSU)50に読み出したデータ207を出
力する。
【0034】レジスタ機構20はさらに、レジスタファ
イル200の各レジスタの各要素毎にデータが書き込ま
れたことを示すライト完了フラグ220と、ライト完了
フラグ220のセット/リセットを実行するフラグ制御
回路221と、ライト完了フラグ220のセット/リセ
ット状態を参照するためのフラグ参照回路222とを有
している。
【0035】ライト完了フラグ220はレジスタファイ
ル200の各レジスタの各要素にそれぞれ対応する1ビ
ットのフラグであり、各フラグのセット状態は論理値
1,リセット状態は論理値0である。本図ではライト完
了フラグをW(i,j)のように表記しており、括弧内の
iは対応するレジスタのレジスタ番号、jは対応する要
素の要素番号を示している。
【0036】フラグ制御回路221は、命令解読回路2
の指令信号3に従い、ベクトル命令実行においてベクト
ルデータが書き込まれるレジスタ、例えば、データロー
ド命令におけるロード・データの格納先レジスタや演算
命令における演算結果の格納先レジスタ、の全ての要素
に対応するライト完了フラグ220を予めリセットす
る。そして、演算ユニット10,ロードユニットVLU
1(30),VLU2(40)のそれぞれからレジスタライ
トコマンド/要素アドレス102,310,410を受
信すると、同要素アドレスで指定されたレジスタの要素
に対応するライト完了フラグ220をセットする。すな
わち、演算ユニット10,ロードユニットVLU1(3
0),VLU2(40)がレジスタファイル200のある
レジスタの要素にデータを書き込むと、同要素に対応す
るライト完了フラグ220がセットされることになる。
【0037】フラグ参照回路222は、命令解読回路2
の指令信号3に従い、ベクトル命令実行においてベクト
ルデータが読み出されるレジスタ、例えば、ベクトルス
トア命令におけるストア対象のレジスタやベクトル演算
命令における演算対象のレジスタの全ての要素に対応す
るライト完了フラグ220の値を演算ユニット10やス
トアユニット(VSU)50に常時出力する。実行するベ
クトル命令がベクトル演算命令でかつオペランドで指定
された演算対象のレジスタが1つであれば、同レジスタ
の全ての要素に対応するライト完了フラグ220の値を
ライト完了フラグ値224として演算ユニット10に出
力し、実行するベクトル命令が演算命令でかつオペラン
ドで指定された演算対象のレジスタが2つであれば、2
つのレジスタの全ての要素に対応するライト完了フラグ
220の値をそれぞれライト完了フラグ値224,22
5として演算ユニット10に出力し、実行するベクトル
命令がストア命令であれば、同レジスタの全ての要素に
対応するライト完了フラグ220の値をライト完了フラ
グ値223としてストアユニット(VSU)50に出力す
る。
【0038】演算ユニット10は、1つまたは2つのベ
クトルデータを要素毎にパイプライン的に演算してその
結果をベクトルデータとして出力する演算パイプライン
100と、レジスタ機構20から演算パイプライン100
へのベクトルデータの供給を制御するリード同期回路1
20と、演算パイプライン100にベクトルデータの各
要素が供給された時に同時にそれらの要素アドレスが入
力され、入力された要素アドレスを演算に要する時間だ
け遅延させて演算結果の出力と同時に出力する遅延回路
101とを有して構成される。
【0039】ベクトル演算パイプライン100は、整数
演算,浮動小数点演算,論理演算などの各種演算を実行
する1または複数の演算パイプラインを有し、レジスタ
ファイル200から供給されるベクトルデータの演算と
レジスタファイル200への演算結果の書き込みを複数
のステージに分割して要素単位でパイプライン的に実行
する。2つ以上のベクトルデータに対する演算、例えば
2つのベクトルデータの和算などは、各ベクトルの要素
番号が同一である要素同士の演算をそれぞれ独立に実行
する。演算パイプライン100は、命令解読回路2の指
令信号3に従い、レジスタファイル200から供給され
る1つまたは2つのベクトルデータ208,209に命令コ
ードで指定された演算を要素毎に施し、演算で決まるパ
イプライン・ステージ数だけ経過後にその演算結果10
3を要素毎に出力する。
【0040】リード同期回路120は、命令解読回路2
の指令信号3に従い、オペランドで指定されたレジスタ
ファイル200のレジスタ上のベクトルデータを要素単
位で読み出して演算パイプライン100に供給する制御
を実行する。オペランドで指定された演算対象のレジス
タが1つであれば、ライト完了フラグ値224を参照し
て書き込みが完了した要素から1つずつ選択し、同要素
の読み出し要求コマンドおよびアドレス124をレジス
タ機構20のリードポート204に送信する動作を、全
要素の読み出しが完了するまで繰り返し実行する。ま
た、演算対象のレジスタが2つであれば、ライト完了フ
ラグ値224および225を参照して両レジスタの同一
要素番号のいずれも書き込みが完了した要素から1組ず
つ選択し、同要素のレジスタリードコマンド/要素番号
124をレジスタ機構20のリードポート204および
205に出力する動作を、全要素の読み出しが完了する
まで繰り返し実行する。リードポート204および20
5は、リード同期回路120からレジスタリードコマン
ド/要素番号124を受信すると、それぞれ命令解読回
路2から指示された演算対象のレジスタから同要素番号
124で指定された要素のデータ208,209を読み
出して演算パイプライン100に供給する。これによ
り、演算対象のベクトルデータの各要素はそれらの要素
番号の順番に関係なく、同一要素番号の要素が全てレジ
スタファイルに格納されて演算可能な状態になったもの
から順次演算パイプライン100に供給されることにな
る。
【0041】遅延回路101は、リード同期回路120
がリードポート204,205に送信した要素番号12
4、即ち演算パイプライン100に供給された要素デー
タの要素番号と、図示していないが命令解読回路2が指
示する演算結果格納先のレジスタ番号とからなる要素ア
ドレスが入力され、そして演算に要する時間と同じ時間
だけ同要素番号を遅延させてレジスタライトコマンドと
ともに出力する(102)。このため、演算パイプライン1
00が演算結果103を出力するとともに、遅延回路1
01が演算結果の格納先である要素アドレスとレジスタ
ライトコマンド102を出力することになる。なお、遅
延回路101による要素アドレス102の出力遅延時間
を演算時間よりも一定時間だけ短くし、演算結果よりも
先行してレジスタライトコマンド/要素アドレス102
を出力するようにして、レジスタファイル200への演
算結果の書き込み時間を短縮してもよい。
【0042】以上のレジスタ機構20と演算ユニット1
0では、演算パイプラインに供給されるベクトルデータ
が1または2としているが、3つ以上のベクトルデータ
に対するベクトル演算、例えば2つのベクトルデータの
積算およびその演算結果と第3のベクトルデータとの和
算を同時に実行する3ベクトルデータの積和演算などを
実行できるように、レジスタファイル200にリードポ
ートをさらに追加し、フラグ参照回路222からリード
同期回路120へのライト完了フラグ値の出力数をさら
に増やし、リード同期回路120が3つ以上の演算対象
ベクトルレジスタのライト完了フラグ値を参照してレジ
スタリードコマンド/要素番号124をレジスタファイ
ル200の3つ以上のリードポートに出力するようにし
て、ベクトル演算パイプライン100に3つ以上のベク
トルデータを供給できるようにしてもよい。
【0043】図2に、本発明にかかるリード同期回路1
20の詳細構成を示す。リード同期回路120は、演算
対象のレジスタの各要素毎に書き込みが完了してかつ読
み出しが未完了であるかを判定する論理積回路121
と、書き込みが完了してかつ読み出しが未完了である要
素の中から1つを選択してその要素番号を出力する要素
番号選択回路122と、レジスタから読み出して演算パ
イプライン100に供給したことを要素毎に示すリード
完了フラグ123とを有して構成される。
【0044】論理積回路121は、命令解読回路2の指
令信号3に従い、演算対象のレジスタが1つであれば、
各要素毎にライト完了フラグ値224とリード完了フラ
グ123の論理反転値125との論理積の値を出力し、
演算対象のレジスタが2つであれば、各要素毎にライト
完了フラグ値224および225と、リード完了フラグ
123の論理反転値125との論理積の値を出力する。
これにより、演算対象のレジスタの各要素毎に、要素番
号が同一である全ての要素の書き込みが完了してかつ読
み出しが未完了である場合は1が出力され、それ以外の
場合には0が出力される。
【0045】要素番号選択回路122は、論理積回路1
21の各要素毎の出力を受信して、同出力値が1である
要素、すなわち、要素番号が同一である全ての要素が書
き込みが完了してかつ読み出しが未完了である要素の中
から最小の要素番号を選択し、その要素のレジスタリー
ドコマンド/要素番号124を出力する。
【0046】リード完了フラグ123は、命令解読回路
2の指令信号3に従い、ベクトル演算の開始前に要素番
号0から命令で指定された処理対象の要素数と同数のフ
ラグをリセットし、残りのフラグをセットする。そし
て、要素番号選択回路122がレジスタリードコマンド
/要素番号124を出力する毎に、その要素番号に対応
するフラグをセットする。このため、読み出しが完了し
た要素は要素番号選択回路122における選択候補から
逐次はずされ、最終的に全ての演算対象要素が読み出さ
れてリード完了フラグ123が全てセットされると、要
素番号選択回路122からの読み出し要求コマンドおよ
び要素番号124の出力は終了する。なお、リード完了
フラグ123が全てセットされた時点は演算対象のベク
トルレジスタのデータが全て演算パイプライン100に
供給された時点であり、同レジスタを解放することがで
き、また、同時点から演算によって決まる演算時間が経
過した時点でベクトル演算が完了することになる。した
がって、図示はしていないが、リード完了フラグ123
が全てセットされた時点、あるいはそれから演算時間が
経過した時点にリード同期回路120が命令解読回路2
またはスカラ処理部6にベクトル演算命令の実行完了を
通知するようにしてもよい。
【0047】以上のリード同期回路120によれば、演
算対象のレジスタに要素が書き込まれて同一要素番号の
全ての要素の書き込み完了フラグがセットされると、直
ちにそれらの要素を演算パイプライン100に供給され
るので、演算対象のベクトルデータの各要素はそれらの
要素番号の順番に関係なく、同一要素番号の要素が全て
レジスタファイルに格納されて演算可能な状態になった
ものから順次演算パイプライン100に供給されること
になる。
【0048】図3に、本発明にかかるロードユニットV
LU1(30)の詳細構成を示す。なお、ロードユニット
VLU2(40)も同じ構成である。
【0049】ロードユニットVLU1(30)は、ロード
元のメモリの先頭アドレスと、ストライド値と、要素数
と、ロード先のベクトルレジスタ番号をそれぞれ記憶す
るメモリアドレスバッファ(adr)303,ストライド値
バッファ(std)304,要素数バッファ(num)305,レ
ジスタ番号バッファ(reg)306と、メモリへのデータ
リードを制御するメモリリード制御回路302と、レジ
スタへのデータライトを制御するレジスタライト制御回
路301と、メモリから読み出したデータを一時的に格
納するデータバッファ308と、同データのロード先で
ある要素番号を一時的に格納する要素番号バッファ30
7とを有して構成される。
【0050】ロードユニットVLU1(30)は、命令解
読回路2の指令信号3に従ってベクトルロード命令を実
行する。ロードユニットVLU1(30)は、指令信号3
で指示されたロード対象のベクトルデータが記憶されて
いるメモリ上の先頭アドレスと、ストライド値と、要素
数と、ロード先のレジスタ番号をそれぞれメモリアドレ
スバッファ303,ストライド値バッファ304,要素
数バッファ305,レジスタ番号バッファ306に記憶
し、そしてメモリリード制御回路302を起動する。
【0051】メモリリード制御回路302はメモリに対
してベクトルデータの読み出しを要素単位で実行する。
メモリリード制御回路302は、メモリアドレスバッフ
ァ303の値、すなわちベクトルデータの先頭アドレス
をリードアドレスとしたメモリリードコマンド31を出
力し、続いて同リードアドレスにストライド値バッファ
304の値を加算した値をリードアドレスとしたメモリ
リードコマンド31を出力し、続いて同リードアドレス
にストライド値バッファ304の値をさらに加算した値
をリードアドレスとしたメモリリードコマンド31を出
力する、という動作を要素数バッファ305の値と同一
回数だけ繰り返し実行してベクトルデータの各要素の読
み出しをメモリに要求する。メモリリード制御回路30
2はさらに、0,1,2,…と連続した番号を各々のメ
モリリードコマンドに出力順に付加してこれを各メモリ
リードコマンドに対応するリードデータの格納先要素番
号とし、さらにメモリリード要求元がロードユニットV
LU1(30)であることを明示する同一のアクセス元番
号を各々のメモリリードコマンドに付加する。メモリは
このメモリリードコマンドを受信すると、リードアドレ
スで指定されたデータを読み出し、これにメモリリード
コマンドの要素番号とアクセス元番号を付加してロード
ユニットVLU1(30)に返送する。メモリリード制御
回路302は受信したリードデータ32のアクセス元番
号をチェックして、自己のメモリリードコマンドに対す
るリードデータであると判定された場合、そのデータと
要素番号をそれぞれデータバッファ308と要素番号バ
ッファ307に格納し、レジスタライト制御回路301
にデータ受信信号309を送信してリードデータのレジ
スタへの書き込みを指示する。
【0052】レジスタライト制御回路301はレジスタ
ファイル200のレジスタに対してメモリから読み出し
たベクトルデータの書き込みを要素単位で実行する。レ
ジスタライト制御回路301は、メモリリード制御回路
302からデータ受信信号309を受信すると、レジス
タ番号バッファ306が示すロード先のレジスタ番号と
要素番号バッファ307に格納された要素番号からを要
素アドレスとするレジスタライトコマンド310を出力
するとともに、データバッファ308に格納されたデー
タ320をレジスタファイル200のライトポート20
1に出力する。
【0053】このように、ロードユニットVLU1(3
0)において、メモリからベクトルデータを要素単位で
読み出す時にそれらのメモリリードコマンドに要素番号
を付加してメモリに送信し、メモリが読み出したデータ
にその要素番号を付加してロードユニットVLU1(3
0)に返送するようにすれば、ロードユニットVLU1(30)
によるメモリリード要求の順番とメモリによるリードデ
ータ返送の順番が一致しなくても、ロードユニットVL
U1(30)はメモリから返送されたリードデータをレジ
スタの正しい要素番号に書き込むことができる。
【0054】図4に、本発明にかかるストアユニットV
SU(50)の詳細構成を示す。
【0055】ストアユニットVSU(50)は、ストア先
であるメモリの先頭アドレスと、ストライド値と、要素
数と、ストア元のベクトルレジスタ番号をそれぞれ記憶
するメモリアドレスバッファ(adr)503,ストライド
値バッファ(std)504,要素数バッファ(num)505,
レジスタ番号バッファ(reg)506と、メモリへのデー
タライトを制御するメモリライト制御回路502と、レ
ジスタからのデータリードを制御するレジスタリード制
御回路501と、リード同期回路520と、レジスタか
ら読み出したデータを一時的に格納するデータバッファ
508とを有して構成される。
【0056】ストアユニットVSU(50)は命令解読回
路2の指令信号3に従ってベクトルストア命令を実行す
る。ストアユニットVSU(50)は、指令信号3で指定
されたメモリ上のストア先頭アドレスと、ストライド値
と、要素数と、ストア対象のレジスタ番号をそれぞれメ
モリアドレスバッファ503,ストライド値バッファ5
04,要素数バッファ505,レジスタ番号バッファ5
06に記憶し、そしてリード同期回路520,レジスタ
リード制御回路501,メモリライト制御回路502を
起動する。
【0057】リード同期回路520は図2で説明した演
算パイプライン100のリード同期回路120と同様の
構成であるが、常に1つのレジスタのライト完了フラグ
のみを参照する点だけがリード同期回路120と異な
り、図5のような構成となる。リード同期回路520
は、ベクトルストアの開始前にリード完了フラグ523
の要素番号0から命令で指定された処理対象の要素数と
同数のフラグをリセットし、残りのフラグをセットす
る。そして、要素番号選択回路522によってライト完
了フラグ値223とリード完了フラグ523を参照して
書き込み完了かつ読み出し未完了の要素を1つ選択し、
その要素番号524をレジスタリード制御回路501に
出力するとともに、その要素番号に対応するリード完了
フラグ523をセットする。このため、読み出しが完了
した要素は要素番号選択回路522における選択候補か
ら逐次はずされ、最終的に全ての演算対象要素が読み出
されてリード完了フラグ523が全てセットされると、
要素番号選択回路522からの読み出し要求コマンドお
よび要素番号524の出力は終了する。なお、リード完
了フラグ523が全てセットされた時点はストア対象の
レジスタのデータが全てストアユニットVSU(50)に
供給された時点であり、同レジスタを解放することがで
きる。したがって、図示はしていないが、リード完了フ
ラグ523が全てセットされた時点、あるいはそれから
演算時間が経過した時点にリード同期回路520が命令
解読回路2またはスカラ処理部6にベクトルストア命令
の実行完了を通知するようにしてもよい。
【0058】レジスタリード制御回路501は、リード
同期回路520による要素番号524の出力に応答して、
指定されたレジスタの該当要素の読み出しを実行する。
レジスタリード制御回路501は、リード同期回路52
0から要素番号524を受信すると、レジスタ番号バッ
ファ506の値、すなわちストア対象のレジスタ番号と
要素番号524で生成される要素アドレスおよびレジス
タリードコマンド510をレジスタファイル200のリー
ドポート203に出力する。そしてリードポート203
から返送されたデータをデータバッファ508に格納
し、メモリライト制御回路502にデータ受信信号50
9を送信してデータの着信を通知する。
【0059】メモリライト制御回路502はメモリに対
してベクトルデータの書き込みを要素単位で実行する。
メモリライト制御回路502は、レジスタリード制御回
路501からの最初のデータ受信信号509を受信する
と、メモリアドレスバッファ503の値、すなわちベク
トルデータの先頭アドレスをライトアドレスとしたメモ
リライトコマンド51−1とデータバッファ508に格
納されたデータ51−2を出力し、次のデータ受信信号
509を受信すると、同ライトアドレスにストライド値
バッファ504の値を加算した値をライトアドレスとし
たメモリライトコマンド51−1とデータバッファ50
8に格納されたデータ51−2を出力し、さらに次のデ
ータ受信信号509を受信すると、同ライトアドレスに
ストライド値バッファ504の値をさらに加算した値を
ライトアドレスとしたメモリライトコマンド51−1と
データバッファ508に格納されたデータ51−2を出
力する、という動作を要素数バッファ505の値と同一
回数だけ繰り返し実行してベクトルデータの各要素の書
き込みをメモリに要求する。このように、ストアユニッ
トVSU(50)において、ストア対象のレジスタからベ
クトルデータを要素単位で読み出す時に、それらのライ
ト完了フラグをリード同期回路520でチェックし、書
き込み完了フラグがセットされると直ちにその要素をレ
ジスタから読み出してメモリにストアするので、演算ユ
ニット10の演算パイプライン100が演算結果をレジス
タに要素単位に書き込むと、直ちにそれらの演算結果を
メモリにストアでき、しかも、ストアする順番は要素番
号に拘束されることはない。図6に、本発明にかかるメ
モリ部8のメモリモジュール(MM0,MM1,…,MM
J−1)80の詳細構成を示す。
【0060】メモリモジュール80は、スイッチ部7か
ら受信したメモリリード/ライトコマンド,アクセス先
のアドレス,ライトデータ,要素番号,アクセス元番号
の組81−0を1つまたは複数格納するアクセス要求バ
ッファ802と、リードデータ,要素番号,アクセス元
番号の組を1つまたは複数格納するアクセス返送バッフ
ァ805と、1つまたは複数のメモリバンク801と、
メモリバンクへのアクセスを制御するバンク制御回路8
03と、リードデータの返送を制御するデータ返送制御
回路804で構成される。
【0061】メモリモジュール80はアクセス要求バッ
ファ802にスイッチ部7から受信したメモリリード/
ライトコマンドおよびアクセス先アドレス8021,要
素番号とアクセス元番号8022,ライトデータ802
3をそのアクセスが完了するまで一時的に格納し、アク
セス要求バッファ802の空き数が一定数以下になった
ときに、バッファの空き数が再び一定数を越えるように
なるまでスイッチ部7に対してビジー信号806を出力
する。
【0062】メモリバンク801はそれぞれ、一度に1
つのメモリアクセスしか実行できない。このため同一の
メモリバンクに対して複数のメモリアクセスを実行しよ
うとした場合、逐次実行することになる。一方、異なる
メモリバンクに対して複数のメモリアクセスを実行しよ
うとした場合、それらは同時に実行可能である。そこ
で、バンク制御回路803は、アクセス要求バッファ8
02に格納されたメモリアクセス要求の中から、メモリ
アクセスが実行されていないメモリバンク801に対す
るものを選択して同バンクにメモリリード/ライトコマ
ンドおよびアクセス先アドレス8031と、ライトアク
セスであればライトデータ8033を送信する。このメ
モリアクセス要求の選択はアクセス要求バッファ802
に格納した順序に拘束されないが、選択可能なメモリア
クセス要求が複数存在する場合はバッファに格納した順
序に選択するのが好ましい。なお、メモリアクセス要求
がリードアクセスであれば、アクセス返送バッファ80
5に空きがあることも実行条件に加わる。リードアクセ
スを実行する際は、予めアクセス返送バッファ805の
空きを1つ確保しておき、メモリバンク801から読み
出したリードデータ8011をこのアクセス返送バッフ
ァ805に格納するとともに、アクセス要求バッファ8
02に格納されていた同リードアクセスの要素番号およ
びアクセス元番号8032もアクセス返送バッファ80
5に格納する。
【0063】データ返送制御回路804は、アクセス返
送バッファ805に格納されたリードデータに要素番号
とアクセス元番号を付加して出力する(82−0)。デ
ータ返送制御回路804は基本的にアクセス返送バッフ
ァ720に格納された順番にリードデータを返送する
が、例えば、返送先の各ユニットが返送データを受信で
きるか否かを示す状態信号線を返送先の各ユニットとの
間に追加し、返送データを受信できるユニットに対して
優先的に返送するようにしてもよい。
【0064】図7に、本発明にかかるスイッチ部7の詳
細構成を示す。
【0065】スイッチ部7は、スカラ処理部6とベクト
ル処理部1がそれぞれ出力するメモリアクセス要求をメ
モリ部8のアクセス先のメモリモジュール80に転送す
るアクセス要求転送ユニット71と、メモリ部8の各メ
モリモジュール80がそれぞれ出力するリードデータを
返送先のスカラ処理部6やベクトル処理部1に転送する
リードデータ転送ユニット75の2つに大別できる。
【0066】アクセス要求転送ユニット71は、スカラ
処理部6,ベクトル処理部1のロードユニットVLU1
(30),VLU2(40),ストアユニットVSU(50)
の各々から受信したメモリリード/ライトコマンド,ア
クセス先アドレス,ライトデータ,要素番号,アクセス
元番号の組62,31,41,51をそれぞれ1つまた
は複数格納するアクセス要求バッファ713,714,
715,716と、転送経路を形成するクロスバスイッ
チ711と、クロスバスイッチ711を制御する調停回
路710とを有して構成される。
【0067】クロスバスイッチ711は、4入力×J出
力(Jはメモリ部8のメモリモジュール数)で、任意の
入出力間を接続できる。なお、各入出力はアクセス要求
のメモリリード/ライトコマンド,アクセス先のアドレ
ス,ライトデータ,要素番号,アクセス元番号を全て転
送できるものである。なお、ライトデータ用の信号線と
要素番号およびアクセス元番号用の信号線を共通にし
て、メモリライトコマンドを転送する際はライトデータ
を送信し、メモリリードコマンドを転送する際は要素番
号およびアクセス元番号を送信するようにして、信号線
を削減してもよい。
【0068】調停回路710は、アクセス要求バッファ
713,714,715,716に格納された各アクセ
ス要求のアクセス先アドレス717と各メモリモジュー
ルのビジー信号806をチェックし、同一メモリモジュ
ールへのアクセス要求が他になくかつ同モジュールのビ
ジー信号806が出力されていないアクセス要求は、直
ちにクロスバスイッチ710を操作して転送経路を形成
してアクセス先のメモリモジュールに転送し、同一メモ
リモジュールへのアクセス要求が他に有りかつ同モジュ
ールのビジー信号806が出力されていないアクセス要
求は、所定の調停条件に従って1つのアクセス要求を選
択し、クロスバスイッチ710を操作して転送経路を形
成してアクセス先のメモリモジュールに転送する。
【0069】リードデータ転送ユニット75は、アクセ
ス要求転送ユニット71に類似した構成であり、メモリ
部8の各メモリモジュール80の各々から受信したリー
ドデータ,要素番号,アクセス元番号の組82−0,8
2−1,82−2,…,82−j−1を1つまたは複数
格納するアクセス返送バッファ753−0,753−
1,753−2,…,753−j−1と、転送経路を形
成するクロスバスイッチ751と、クロスバスイッチ7
51を制御する調停回路750とを有して構成される。
クロスバスイッチ751は、J入力×4出力(Jはメモ
リ部8のメモリモジュール数)で、任意の入出力間を接
続できる。なお、各入出力はリードデータ,要素番号,
アクセス元番号を全て転送できるものである。
【0070】調停回路750は、アクセス要求バッファ
753−0,753−1,753−2,…,753−j
−1に格納された各リードデータのアクセス元番号75
7をチェックし、同一アクセス元へ返送すべきリードデ
ータが他にない場合は、直ちにクロスバスイッチ751
を操作して転送経路を形成してアクセス元のスカラ処理
部6,ベクトル処理部1のロードユニットVLU1(3
0),VLU2(40)のいずれかに転送し、同一アクセ
ス元へ返送すべきリードデータが他に有る場合は、所定
の調停条件に従って1つのリードデータを選択し、クロ
スバスイッチ751を操作して転送経路を形成してアクセ
ス元のスカラ処理部6,ベクトル処理部1のロードユニ
ットVLU1(30),VLU2(40)のいずれかに転送
する。
【0071】このように、スイッチ部7を用いれば、メ
モリ部8へのアクセス要求送信とメモリ部8からのリー
ドデータ返送をそれぞれアクセス要求転送ユニット71
とリードデータ転送ユニット75によって独立に実行す
るので、アクセス要求転送とリードデータ返送が互いに
干渉することがなく、さらに、アクセス要求転送ユニッ
ト71とリードデータ転送ユニット75はそれぞれ、ア
クセス元であるスカラ処理部6,ベクトル処理部1のロ
ードユニットVLU1(30),VLU2(40)と、アク
セス先であるメモリ部8の複数のメモリモジュール間
を、アクセス元とアクセス先が異なる限り同時にアクセ
スを実行できるので、メモリアクセスをより効率良く実
行できる。
【0072】更に、メモリ部8とスイッチ部7とを1つ
の半導体集積回路で構成することにより、スカラ処理部
6又はベクトル処理部1からのアクセスに対して高速に
データを読み出すことが可能となる。また、メモリ80
の数が多い場合にメモリ部8だけで1つの半導体集積回
路を構成するよりも、スイッチ部7とメモリ部8で1つ
の半導体集積回路を構成した方が端子数を削減すること
ができ、回路規模を小さくすることができる。
【0073】図18に、本発明にかかるデータ処理シス
テムによるベクトル処理のタイムチャート例を示す。
【0074】本ベクトル処理は、まずロードユニットV
LU1(30)とVLU2(40)によってそれぞれ16要
素のベクトルデータAとベクトルデータBをメモリ部8
からロードし、次に演算ユニット10によって2つのの
ベクトルデータの演算を実行し、最後に演算結果をスト
アユニットVSU(50)によってメモリ部8にストアす
るという処理である。本タイムチャート例では、ベクト
ル処理システムの第2の構成を前提とし、説明簡略化の
ために、ベクトル演算のパイプライン段数を4単位サイ
クルとし、メモリ部8のメモリモジュール数は8モジュ
ールで各メモリモジュールのバンク数は1バンク、すな
わちメモリ部8の総バンク数を8バンクとし、各バンク
アクセスは4単位サイクルを要するものとして説明す
る。
【0075】ロードユニットVLU1(30)とVLU2
(40)はそれぞれのベクトルロード命令に従って単位サ
イクル毎に要素1から要素16までのデータリード要求
コマンドを要素番号の順番でメモリ部8に同時に出力す
る。ロードユニットVLU1(30)がロードするベクト
ルデータの各要素はメモリ部8のバンク0から1バンク
置に格納され、ロードユニットVLU2(40)がロード
するベクトルデータの各要素はメモリ部8のバンク4か
ら3バンク置に格納されているものとすると、2つのロ
ードユニットによるデータリードはいくつかのバンクで
アクセス競合を起こしてしまう。本例では、例えばベク
トルデータAの要素3とベクトルデータBの要素3のリ
ードがバンク2で競合してベクトルデータBの要素3の
リードが4単位サイクル遅れ、ベクトルAの要素6がベ
クトルBの要素4と競合してベクトルAの要素6のリー
ドが2単位サイクル遅れており、この他にも多数のアク
セス競合が生じていくつかの要素のロードが遅れてしま
う。しかしながら、本実施例によれば、ロードユニット
VLU1(30),VLU2(40)はデータリード要求コ
マンドにそのリードデータの返送先を示すアクセス元番
号と要素番号を付加してメモリ部8の各メモリモジュー
ルに出力し、各メモリモジュールはリードデータにこの
アクセス元番号と要素番号を付加してロードユニットV
LU1(30),VLU2(40)に返送するので、アクセ
ス競合によってロードが遅れてしまう要素を追い越して
後続の要素をロードすることができる。これにより、本
例において、ベクトルデータBの要素3のロードを追い
越して要素4および要素5のロードを実行し、また、ベ
クトルAの要素6のロードを追い越して要素7のロード
を実行する等、要素番号の順番に拘束されることなくベ
クトルデータのロードを効率良く実行できる。
【0076】このように、ロードユニットVLU1(3
0)とVLU2(40)はそれぞれベクトルデータAおよ
びベクトルデータBの各要素を要素番号の順番とは異な
る順番でレジスタにロードするが、これらのベクトル演
算を実行する演算ユニット10もまた、各要素のロード
が完了する毎に要素番号の順番とは異なる順番で演算を
実行する。ベクトルデータAおよびベクトルデータBの
それぞれの要素がレジスタに書き込まれる毎に、対応す
るライト完了フラグがセットされるが、演算ユニット1
0は、リード同期回路120によってこれらのライト完
了フラグを参照して、両ベクトルデータの同一要素番号
の要素が両方ともレジスタに書き込まれた直後にそれら
の要素を演算パイプライン100に供給するとともに、
遅延回路101に入力し、そして一定時間後に遅延回路
101が出力するレジスタの要素番号に演算パイプライ
ン100が出力する演算結果を書き込む。本例におい
て、単位サイクル8で要素3よりも先に両者のロードが
完了した要素4を次の単位サイクル9で演算パイプライ
ン100に供給し、単位サイクル11で遅れて両者のロ
ードが完了した要素3を次の単位サイクル12で演算パ
イプライン110に供給する等、ロードユニットVLU
1(30)とVLU2(40)によって要素番号の順番とは
異なる順番でレジスタにロードされた各要素の演算を、
要素番号の順番に拘束されることなく効率良く実行でき
る。
【0077】これらのように、ロードユニットVLU1
(30)とVLU2(40)はそれぞれベクトルデータAお
よびベクトルデータBの各要素を要素番号の順番とは異
なる順番で効率良くレジスタにロードし、さらに、演算
ユニット100も両ベクトルデータの各要素の演算を要
素番号の順番とは異なる順番で効率良く実行している
が、この演算結果をメモリ部8にストアするストアユニ
ットVSU(50)もまた、各要素の演算が完了する毎に
要素番号の順番とは異なる順番でストアを実行する。両
ベクトルデータの各要素の演算結果がレジスタに書き込
まれる毎に、対応するライト完了フラグがセットされる
が、ストアユニットVSU(50)は、リード同期回路5
20によってこれらのライト完了フラグを参照して、各
要素の演算結果がレジスタに書き込まれた直後にそれら
の演算結果をメモリ部8にストアする。これにより、演
算パイプライン100によって要素番号の順番とは異な
る順番で出力された各要素の演算結果を、要素番号の順
番に拘束されることなく効率良くメモリ部にストアでき
る。
【0078】以上のように、ベクトルデータのロード,
演算,ストアを、単に要素毎に連鎖処理するだけではな
く、それぞれを要素番号の順番とは異なる順番で実行可
能にすることにより、メモリ部8でアクセス競合が生じ
ても一連のベクトル処理を効率良く実行できる。比較の
ために、図18のタイムチャート例と同様の設定で、ベ
クトルデータのロード,演算,ストアをそれぞれを要素
番号の順番で実行する従来方式を想定した場合のタイム
チャート例を図19に示す。両者のタイムチャート例を
比較すると、図19の従来方式によるベクトル処理では
メモリアクセス競合による処理の停止時間が12単位サ
イクルであるのに対し、図18の本発明によるベクトル
処理では4単位サイクルに削減されている。
【0079】図9に、本発明にかかるレジスタ機構20
と演算ユニット10の第2の詳細構成を示す。
【0080】本図のレジスタ機構20と演算ユニット1
0は図1で説明したものと基本的に同じであるが、演算
ユニット10が2つの演算パイプライン100−1,1
00−2と、それぞれの演算パイプラインに対応する遅
延回路101−1,101−2とリード同期回路120
−1,120−2とを有し、さらにレジスタ機構20の
レジスタファイル200が、2つの演算パイプライン1
00−1,100−2にそれぞれ対応するリードポート
204−1,204−2および205−1,205−2
と、ライトポート206−1,206−2とを有してい
る点が異なる。本図の演算ユニット10−1と100−
2はそれぞれ独立にベクトル演算を実行できるので、2
つのベクトル演算命令を同時に実行することが可能にな
り、さらには、あるベクトル演算とその演算結果に対す
る別のベクトル演算を連鎖的に並列に実行することが可
能になる。本実施例では演算ユニット10に2つのベク
トル演算パイプラインを備えたが、さらに3つ以上のベ
クトル演算パイプラインを備えて3つ以上のベクトル演
算命令を同時に実行できるようにしてもよい。
【0081】図10に、本発明にかかるレジスタ機構2
0と演算ユニット10の第3の詳細構成を示す。
【0082】本図のレジスタ機構20と演算ユニット1
0は図1で説明したものと基本的に同じであるが、演算
ユニット10が2つの演算パイプライン100−1,1
00−2と、それぞれの演算パイプラインに対応する遅
延回路101−1,101−2と、両方の演算パイプラ
インへのデータ供給を制御するリード同期回路120−
3とを有し、さらにレジスタ機構20のレジスタファイ
ル200が、2つの演算パイプライン100−1,10
0−2にそれぞれ対応するリードポート204−1,2
04−2および205−1,205−2と、ライトポー
ト206−1,206−2とを有している点が異なる。
本図の演算ユニット10−1と100−2は同一のベク
トル演算を実行でき、リード同期回路120−3は演算
対象のベクトルデータの要素を2つの演算パイプライン
に分配するので、図1のベクトル演算ユニット10では
単位時間に1つの要素を処理するのに比べて本図の演算
ユニット10では単位時間に2つの要素を処理できるの
で、ベクトル演算命令の実行時間を半分に短縮すること
が可能になる。本実施例では演算ユニット10に2つの
ベクトル演算パイプラインを備えたが、さらに3つ以上
のベクトル演算パイプラインを備えてベクトル演算命令
の実行時間をさらに短縮するようにしてもよい。
【0083】図11に、図10の演算ユニット10のリ
ード同期回路120−3の構成図を示す。
【0084】リード同期回路120−3は図2で説明し
たリード同期回路120と基本的に同じであるが、要素
番号選択回路122−3が2つの要素のレジスタリード
コマンドおよび要素番号124を出力する点が異なる。
要素番号選択回路122−3は、論理積回路121の各
要素毎の出力を受信し、この出力値が1である要素、す
なわち、要素番号が同一である全ての要素が書き込みが
完了してかつ読み出しが未完了である要素が1つであれ
ば、その要素番号124をレジスタリードコマンドとと
もに出力し、出力値が1である要素が2つ以上あれば、
その中から最小の要素番号と最小から2番目の要素を選
択してそれらの要素番号124,126をそれぞれレジ
スタリードコマンドとともに出力する。これにより、図
10に示した2つのベクトル演算パイプライン100−
1,100−2で1つのベクトル演算命令を実行する場
合に、2つのベクトル演算パイプラインに演算対象のベ
クトルデータの要素を同時に供給できる。
【0085】図12に、本発明にかかる演算ユニット1
0の第4の詳細構成を示す。
【0086】本図の演算ユニット10は図1で説明した
ものと基本的に同じであるが、遅延回路101の代りに
FIFOキュー130を用いている点が異なる。FIF
Oキュー130は、リード同期回路120が出力する、
演算パイプライン100に供給した要素データの要素番
号124を順次記憶し、そして演算パイプライン100の
演算結果出力にあわせて、記憶した要素番号を記憶した
順番に出力する。これにより、ベクトル演算の所要時間
を考慮することなく、演算結果に対応する要素番号を出
力することができる。なお、本実施例では図1の演算ユ
ニット10の遅延回路101をFIFOキューに置き換
えているが、同様にして、図9および図10で説明した
演算ユニット10の遅延回路をそれぞれFIFOキュー
に置き換えても同様の効果が得られる。
【0087】図13に、本発明にかかるロードユニット
(VLU)30の第2の構成図を示す。
【0088】本図のロードユニット(VLU)30は図3
説明したものと基本的に同じであるが、メモリから読み
出したデータの書き込み先を示すレジスタファイル20
0の要素アドレスを一時的に格納する要素アドレスバッ
ファ330を追加した点が異なる。要素アドレスバッフ
ァ330は、複数の要素アドレスを格納することがで
き、各要素アドレス格納位置にユニークな格納番号が付
いている。メモリリード制御回路302はメモリリード
コマンド31に格納先要素番号を付加して出力する代わ
りに、その格納先要素番号とレジスタ番号バッファ30
6が示すロード先のベクトルレジスタ番号から要素アド
レスを生成して要素アドレスバッファ330に格納し、そ
の格納番号をメモリリードコマンド31に付加して出力
する。そしてレジスタライト制御回路301は、受信し
たリードデータ32の格納番号が示す要素アドレスバッ
ファ330上の要素アドレスを取り出してレジスタライ
トコマンド310を出力するとともに、データバッファ
308に格納されたデータ320をレジスタファイル2
00のライトポート201に出力する。本実施例によれ
ば、あるベクトルロード命令の実行において、メモリリ
ード制御回路302が最後の要素のメモリリードコマン
ドを出力した時点で、同ロード命令からメモリアドレス
バッファ303,ストライド値バッファ304,要素数
バッファ305,レジスタ番号バッファ306、およびメモ
リリード制御回路302を解放できるので、直ちに次の
ベクトルロード命令を実行することができる。また、図
示はしていないが、同時点に命令解読回路2またはスカ
ラ処理部6にベクトルロード命令の実行完了を通知する
ようにしてもよい。
【0089】図14に、本発明にかかるデータ処理シス
テムの第2の構成図を示す。
【0090】このデータ処理システムは、図1で説明し
たデータ処理システムと基本的に同じであるが、スイッ
チ部7の代りにメモリバス9を用いて回路規模を削減す
る点が異なる。
【0091】メモリバス9は、スカラ処理部6およびベ
クトル処理部1からメモリ部8へのアクセス用信号線9
1と、メモリ部8からスカラ処理部6またはベクトル処
理部1へのリードデータ返送用信号線92と、メモリバ
スのアクセスを調停するアクセス調停部93からなる。
【0092】スカラ処理部6およびベクトル処理部1の
VLU1(30),VLU2(40),VSU(50)はそれ
ぞれ、メモリ部8にアクセスする際にアクセス要求をア
クセス用信号線91に出力し、そしてアクセス調停部9
3によってこれらのアクセス要求の中から予め定めた優
先順位に従って1つの要求を選択して複数の信号線から
構成されたメモリバス9によるアクセスを許可する。ま
た、メモリ部8の各メモリモジュール80はそれぞれ、
スカラ処理部6またはベクトル処理部1にリードデータ
を返送する際に返送要求をリードデータ返送用信号線9
2に出力し、そしてアクセス調停部93によってこれら
のアクセス要求および返送要求の中から予め定めた優先
順位に従って1つの要求を選択し、メモリバス9による
アクセスを許可する。
【0093】本実施例ではスカラ処理部6およびベクト
ル処理部1からメモリ部8へのアクセス用信号線91と
メモリ部8からスカラ処理部6またはベクトル処理部1
へのリードデータ返送用信号線92とを独立に設けてメ
モリアクセス要求とリードデータ返送を同時に実行でき
るようにしているが、メモリアクセス性能上の余裕があ
るならば、アクセス用信号線91とリードデータ返送用
信号線92とを共通化してさらに回路規模を削減できる
ようにしてもよい。
【0094】また、スカラ処理部6,ベクトル処理部
1,アクセス調停部93,メモリ部8をそれぞれ別々の
半導体集積回路で構成してもよいが、1つの半導体集積
回路で構成すると、データを出力するためのドライバ等
が不要となり、高速で回路規模が小さいデータ処理シス
テムを構成することができる。
【0095】また、スカラ処理部6,ベクトル処理部1
を1つの半導体集積回路で、またはスカラ処理部6,ベ
クトル処理部1,アクセス調停部93を1つの半導体集
積回路で構成すると、メモリ部8の容量を自由に変える
ことが可能となり、汎用性が高くなる。
【0096】図15に、本発明にかかるデータ処理シス
テムの第3の構成図を示す。
【0097】このデータ処理システムは、図1で説明し
たベクトル処理システムのメモリ部8を内部メモリ部8
−1と外部メモリ部8−2に階層化し、スカラ処理部6
とベクトル処理部1と内部メモリ部8−1を同一の半導
体チップまたはモジュール基板1000に内蔵した点が
異なる。内部メモリ部8−1と外部メモリ部8−2はメ
モリ部8と同様の構成であり、内部メモリ用のスイッチ
部7−1と外部メモリ用のスイッチ部7−2はスイッチ
部7と同様の構成である。また、内部メモリ用スイッチ
部7−1と外部メモリ用スイッチ部7−2を接続するブ
リッジ部1010は、スカラ処理部6およびベクトル処理部
1から外部メモリ部8−2へのアクセス要求とリードデ
ータ返送を中継するものである。本システムによれば、
スカラ処理部6およびベクトル処理部1から内部メモリ
用スイッチ部7−1へのアクセスはチップ内部またはモ
ジュール内部で実行されるので、メモリの一部ではある
が、高速なアクセスを実行できる。また、ブリッジ部1
010に内部メモリ部8−1と外部メモリ部8−2との
間のダイナミック・メモリ・アクセス機能、いわゆるD
MA機能を持たせて、スカラ処理部からの指令64によ
り内部メモリ部8−1と外部メモリ部8−2との間の連
続データ転送を実行させるようにしてもよい。
【0098】図16に、本発明にかかるデータ処理シス
テムの第4の構成図を示す。
【0099】このデータ処理システムは、図1で説明し
たデータ処理システムと基本的に同じであるが、ベクト
ル処理部を複数備える点が異なる。複数のベクトル処理
1−1,1−2,…,1−vはそれぞれ、スカラ処理部
から各々に送信される複数のベクトル命令61−1,6
1−2,…,61−vを同時に処理することができ、さ
らなるベクトル処理の高速化を実現できる。
【0100】図17に、本発明にかかるデータ処理シス
テムの構成図を示す。
【0101】このデータ処理システムは、図15で説明
したデータ処理システム2000に外部との通信機能を
有する通信部2020を付加したものを複数備え、この
データ処理システム2000と同一構成のデータ処理シ
ステム2100,2200,2300とを通信網300
0で接続している。各データ処理システムの通信部20
20は、スカラ処理部からの通信命令65に従ってメモ
リ部8からデータを読み出してそれを他のデータ処理シ
ステムに送信したり、スカラ処理部からの通信命令65
に従って他のデータ処理システムにそのメモリ部のデー
タ読み出しを要求したり、他のデータ処理システムから
受信したデータ読み出し要求に従ってメモリ部8からデ
ータを読み出してそれを要求元のデータ処理システムに
送信したりする。これにより複数のデータ処理システム
で協調しながらデータ処理を実行できるので、さらなる
ベクトル処理の高速化を実現できる。
【0102】
【発明の効果】本発明によれば、高速に演算処理を行う
データ処理システムを提供することができる。
【図面の簡単な説明】
【図1】ベクトルレジスタ機構とベクトル演算ユニット
の詳細構成を示した図である。
【図2】ベクトル演算ユニットのリード同期回路の構成
を示した図である。
【図3】ベクトルロードユニットの構成を示した図であ
る。
【図4】ベクトルストアユニットの構成を示した図であ
る。
【図5】ベクトルストアユニットのリード同期回路の構
成を示した図である。
【図6】メモリモジュールの構成を示した図である。
【図7】スイッチ部の構成を示した図である。
【図8】データ処理システムの第1の構成を示した図で
ある。
【図9】ベクトルレジスタ機構とベクトル演算ユニット
の第2の構成を示した図である。
【図10】ベクトルレジスタ機構とベクトル演算ユニッ
トの第3の構成を示した図である。
【図11】第3のベクトル演算ユニットのリード同期回
路の構成を示した図である。
【図12】ベクトルレジスタ機構とベクトル演算ユニッ
トの第4の構成を示した図である。
【図13】ベクトルロードユニットの第2の構成を示し
た図である。
【図14】データ処理システムの第2の構成を示した図
である。
【図15】データ処理システムの第3の構成を示した図
である。
【図16】データ処理システムの第4の構成を示した図
である。
【図17】データ処理システム群の構成を示した図であ
る。
【図18】データ処理システムによるベクトル処理のタ
イムチャートを示した図である。
【図19】従来方式のベクトル処理システムによるベク
トル処理のタイムチャートを示したものである。
【符号の説明】
10…演算ユニット、20…レジスタ機構、30…ロー
ドユニット(VLU1)、40…ロードユニット(VLU
2)、50…ストアユニット(VSU)、100…演算
パイプライン、101…遅延回路、120…リード同期
回路、200…レジスタファイル、201,202,2
06…ライトポート、203,204,205…リード
ポート、220…ライト完了フラグ、221…フラグ制
御回路、222…フラグ参照回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 釜田 栄樹 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 Fターム(参考) 5B056 AA04 BB32 FF03 FF05 FF07 FF10 FF16 HH00

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】複数のデータを格納する領域と、上記領域
    毎にデータが格納されたか否かを示す情報を格納する領
    域とを有するレジスタと、 演算命令に従ってデータの演算を実行する演算部と、 演算命令と上記レジスタに記憶された上記情報に基づい
    て、上記レジスタから演算すべきデータを読み出して上
    記演算部へ送る制御部とを有するデータ処理プロセッ
    サ。
  2. 【請求項2】演算命令に従ってデータの演算を実行する
    演算部と、 複数のデータを格納する領域と、上記領域毎に格納され
    たデータが演算結果であるか否かを示す情報を格納する
    領域とを有するレジスタと、 上記レジスタに記憶された上記情報に基づいて、上記レ
    ジスタに格納された演算結果読み出して、アドレス情報
    とともに出力するデータ出力部とを有するデータ処理プ
    ロセッサ。
  3. 【請求項3】複数のデータを格納する領域と、上記領域
    毎にデータが格納されたか否かを示す情報を格納する領
    域とを有するレジスタと、 演算命令に従ってデータの演算を実行する演算部と、 演算命令と上記レジスタに記憶された上記情報に基づい
    て、上記レジスタから演算すべきデータを読み出して上
    記演算部へ送る制御部と、 上記レジスタに格納するデータを読み込むためのアドレ
    ス情報を出力するデータ入力部とを有するデータ処理プ
    ロセッサ。
  4. 【請求項4】請求項3において、 上記アドレス情報は、読み込むべき上記データが格納さ
    れているアドレスと読み込むべきデータに付される識別
    情報であるデータ処理プロセッサ。
  5. 【請求項5】データを格納するメモリと、 上記メモリからデータを読み出し、処理を行う少なくと
    も1つのプロセッサとを有するデータ処理システムであ
    って、 上記プロセッサは返送先情報をアドレスとともに出力
    し、上記メモリは上記アドレスに基づいて読み出したデ
    ータと上記返送先情報とを出力するデータ処理システ
    ム。
  6. 【請求項6】請求項5のデータ処理システムにおいて、 上記返送先情報は、処理すべきデータに割り当てられた
    識別情報であるデータ処理システム。
  7. 【請求項7】請求項5のデータ処理システムにおいて、 上記返送先情報は、上記プロセッサに割り当てられた識
    別情報であるデータ処理システム。
  8. 【請求項8】請求項6のデータ処理システムにおいて、 上記プロセッサは、複数のデータを格納するレジスタ
    と、上記レジスタに格納されたそれぞれのデータについ
    て同じ演算を実行する処理部とを有し、上記識別情報に
    基づいて上記メモリから読み出されたデータを上記レジ
    スタに格納し、上記識別情報に基づいて上記レジスタに
    格納されたデータを処理するデータ処理システム。
  9. 【請求項9】データを格納するとともに新たなアドレス
    情報を受け付けられるか否かを示す信号を出力する複数
    のメモリと、 上記メモリにアドレス情報を出力し、上記アドレスによ
    って上記メモリから読み出されたデータの処理を行う少
    なくとも1つのプロセッサと、 複数の上記メモリと上記プロセッサとの間に接続され、
    上記プロセッサから出力されたアドレス情報と上記メモ
    リから出力された上記信号に基づいて、上記メモリへ上
    記アドレス情報を出力するタイミングを決定するスイッ
    チ部とを有するデータ処理システム。
  10. 【請求項10】請求項9のデータ処理システムにおい
    て、 上記スイッチ部は上記プロセッサから上記メモリへアド
    レス情報を転送するアドレス情報転送部と、上記メモリ
    から上記プロセッサへデータを転送するデータ転送部と
    を有するデータ処理システム。
  11. 【請求項11】請求項9のデータ処理システムにおい
    て、 それぞれの上記メモリは、上記スイッチ部を介して送ら
    れてくるアドレス情報を複数記憶する記憶部を有し、上
    記記憶部に記憶されたアドレス情報が所定値以下の場合
    に、新たなアドレス情報を受け付けられることを示す信
    号を出力し、上記スイッチ部は上記信号に基づいて上記
    プロセッサのアドレス情報を上記メモリへ転送するデー
    タ処理システム。
  12. 【請求項12】ベクトルを構成する複数のデータについ
    て同一の演算を繰り返し実行する複数のベクトル処理プ
    ロセッサと、 実行すべき命令がベクトル処理命令の場合に、いずれか
    の上記ベクトル処理プロセッサを選択し、選択されたベ
    クトル処理プロセッサに上記ベクトル処理命令を転送す
    るプロセッサとを有するデータ処理システム。
  13. 【請求項13】複数のデータ処理装置が接続されて構成
    されるデータ処理システムであって、 それぞれのデータ処理装置は、データ処理装置間のデー
    タの転送を行う通信部と、データを格納するメモリと、
    上記メモリから読み出したデータの演算を行うプロセッ
    サとを有し、上記プロセッサは、処理すべきデータに対
    する返送先情報をアドレスとともに出力し、上記メモリ
    は上記アドレスに基づいて読み出したデータと上記返送
    先情報とを出力するデータ処理システム。
  14. 【請求項14】請求項13のデータ処理システムにおい
    て、 上記返送先情報は、処理すべきデータに割り当てられた
    固有の識別情報であるデータ処理システム。
  15. 【請求項15】請求項13のデータ処理システムにおい
    て、 上記返送先情報は、上記プロセッサに割り当てられた固
    有の識別情報であるデータ処理システム。
  16. 【請求項16】請求項13のデータ処理システムにおい
    て、 上記プロセッサは、複数のデータを格納するレジスタ
    と、上記レジスタに格納されたそれぞれのデータについ
    て同じ演算を実行する処理部とを有し、上記識別情報に
    基づいて上記メモリから読み出されたデータを上記レジ
    スタに格納し、上記識別情報に基づいて上記レジスタに
    格納されたデータを処理するデータ処理システム。
JP11066025A 1999-03-12 1999-03-12 データ処理プロセッサおよびシステム Pending JP2000259609A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP11066025A JP2000259609A (ja) 1999-03-12 1999-03-12 データ処理プロセッサおよびシステム
EP00102283A EP1035479A3 (en) 1999-03-12 2000-02-17 System for processing vector data
CA002299567A CA2299567A1 (en) 1999-03-12 2000-02-24 Data processor and data processing system
KR1020000012293A KR20010006787A (ko) 1999-03-12 2000-03-11 데이터 처리 프로세서 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11066025A JP2000259609A (ja) 1999-03-12 1999-03-12 データ処理プロセッサおよびシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006058832A Division JP2006196015A (ja) 2006-03-06 2006-03-06 データ処理プロセッサおよびシステム

Publications (1)

Publication Number Publication Date
JP2000259609A true JP2000259609A (ja) 2000-09-22

Family

ID=13303979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11066025A Pending JP2000259609A (ja) 1999-03-12 1999-03-12 データ処理プロセッサおよびシステム

Country Status (4)

Country Link
EP (1) EP1035479A3 (ja)
JP (1) JP2000259609A (ja)
KR (1) KR20010006787A (ja)
CA (1) CA2299567A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252133A (ja) * 2008-04-10 2009-10-29 Nec Computertechno Ltd ベクトル処理装置及びベクトル処理方法
JP2016062387A (ja) * 2014-09-19 2016-04-25 日本電気株式会社 情報処理装置、及び、情報処理方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3988144B2 (ja) 2004-02-23 2007-10-10 日本電気株式会社 ベクトル処理装置、及び、追い越し制御回路
WO2008007038A1 (en) * 2006-07-11 2008-01-17 Arm Limited Data dependency scoreboarding
EP2352082B1 (en) * 2008-10-14 2018-11-28 National University Corporation Nara Institute of Science and Technology Data processing device for performing a plurality of calculation processes in parallel
CN106991077A (zh) * 2016-01-20 2017-07-28 南京艾溪信息科技有限公司 一种矩阵计算装置
US10762164B2 (en) 2016-01-20 2020-09-01 Cambricon Technologies Corporation Limited Vector and matrix computing device
CN117032089B (zh) * 2023-08-23 2024-01-30 杭州峰景科技有限公司 基于物联网的焊机控制指令处理方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261113A (en) * 1988-01-25 1993-11-09 Digital Equipment Corporation Apparatus and method for single operand register array for vector and scalar data processing operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252133A (ja) * 2008-04-10 2009-10-29 Nec Computertechno Ltd ベクトル処理装置及びベクトル処理方法
JP2016062387A (ja) * 2014-09-19 2016-04-25 日本電気株式会社 情報処理装置、及び、情報処理方法

Also Published As

Publication number Publication date
EP1035479A2 (en) 2000-09-13
EP1035479A3 (en) 2004-11-24
KR20010006787A (ko) 2001-01-26
CA2299567A1 (en) 2000-09-12

Similar Documents

Publication Publication Date Title
US5165023A (en) Parallel processing system with processor array and network communications system for transmitting messages of variable length
US4891787A (en) Parallel processing system with processor array having SIMD/MIMD instruction processing
US5263169A (en) Bus arbitration and resource management for concurrent vector signal processor architecture
US4873626A (en) Parallel processing system with processor array having memory system included in system memory
US5056000A (en) Synchronized parallel processing with shared memory
US6587906B2 (en) Parallel multi-threaded processing
US5418970A (en) Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
US5887183A (en) Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5872987A (en) Massively parallel computer including auxiliary vector processor
US6757761B1 (en) Multi-processor architecture for parallel signal and image processing
WO2001048619A2 (en) Distributed memory control and bandwidth optimization
JPH0754502B2 (ja) 先読み優先調停システム及び方法
JP5285915B2 (ja) マイクロプロセッサアーキテクチャ
US20080320240A1 (en) Method and arrangements for memory access
EP2132645B1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
WO2004099995A2 (en) Hierarchical memory access via pipelining
US5530889A (en) Hierarchical structure processor having at least one sub-sequencer for executing basic instructions of a macro instruction
JP2000259609A (ja) データ処理プロセッサおよびシステム
US7404048B2 (en) Inter-cluster communication module using the memory access network
US7788466B2 (en) Integrated circuit with a plurality of communicating digital signal processors
JP2006196015A (ja) データ処理プロセッサおよびシステム
WO2022063269A1 (en) Method and apparatus for configurable hardware accelerator
GB2364867A (en) Controlling access to a slave unit by a plurality of master units over plural buses using a slave interface
JP2781742B2 (ja) 並列計算機
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060413

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060419

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060512