JPH0520353A - ベクトルデータ処理装置 - Google Patents

ベクトルデータ処理装置

Info

Publication number
JPH0520353A
JPH0520353A JP19596991A JP19596991A JPH0520353A JP H0520353 A JPH0520353 A JP H0520353A JP 19596991 A JP19596991 A JP 19596991A JP 19596991 A JP19596991 A JP 19596991A JP H0520353 A JPH0520353 A JP H0520353A
Authority
JP
Japan
Prior art keywords
data
register
vector
element number
maximum value
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
JP19596991A
Other languages
English (en)
Inventor
Shigenori Takegawa
茂則 竹川
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 JP19596991A priority Critical patent/JPH0520353A/ja
Publication of JPH0520353A publication Critical patent/JPH0520353A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ベクトルデータのうちから最大値及びその要
素番号を求めるための最大値命令を実行するとき、1命
令で処理可能なベクトル長を超えるベクトルデータに対
する処理を高速化する。 【構成】 前命令で算出された最大値レジスタ52,要
素番号レジスタ56,最大値要素番号レジスタ58の各
内容を、後続命令にもそのまま引続いて使用する。 【効果】 前命令の結果を命令終了時にスカラレジスタ
群に退避せず、後続命令にもそのまま使用するので、処
理が高速化される。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明はベクトルデータ処理装置に関し、
特にベクトルデータの最大(最小)値及びその要素番号
を求めるベクトルデータ処理装置に関するものである。
【0002】
【従来技術】従来のこの様なベクトルデータ処理装置は
図2に示すようになっている。すなわち、主記憶1と、
ベクトル演算部2と、スカラ演算部3とからなってお
り、ベクトル演算部2は演算器20,21と、第1〜第
4ベクトルレジスタ22〜25と、クロスバ回路26
と、ベクトル制御回路27とから構成されている。
【0003】スカラ演算部3はスカラ演算器30と、ス
カラレジスタ群31と、命令制御回路32とを有してい
る。
【0004】命令制御回路32は、ベクトル命令用のバ
ッファとスカラ命令用のバッファとを有し、主記憶1か
ら命令を読出すと、ベクトル命令とスカラ命令を夫々に
別々のバッファに格納し別々に命令を制御する。ベクト
ル命令をバッファに格納するときには、ベクトル長レジ
スタの内容も格納しベクトル命令発行時のベクトル長を
保存する様になっている。
【0005】また、命令制御回路32はスカラレジスタ
とベクトルレジスタとのビジー管理も行っているため、
ベクトル命令によってスカラレジスタが更新され、後続
のスカラ命令が、先行するベクトル命令によって更新さ
れたスカラレジスタを参照する場合には、スカラレジス
タが確定されるまで後続のスカラ命令の実行を待たせ
る。
【0006】スカラレジスタ群31は複数のスカラレジ
スタの集合であり、命令制御回路32によってスカラ演
算器30とクロスバ回路26へのスカラデータ読出し
と、スカラ演算器30とクロスバ回路26からのスカラ
データ書込みが制御される。
【0007】スカラ演算器30は、スカラレジスタ群3
1から入力されるスカラデータを命令制御回路32の制
御によって演算を行い、演算結果を主記憶1またはスカ
ラレジスタ群31に出力する。
【0008】ベクトル制御回路27は、命令制御回路3
2からの制御情報を入力としベクトル演算部2の各部を
制御する。
【0009】クロスバ回路26は、演算器20,21、
主記憶1、スカラレジスタ群31からのデータを、ベク
トル制御回路27の制御によって主記憶1、ベクトルレ
ジスタ22〜25やスカラレジスタ群31へ出力する。
【0010】第1ベクトルレジスタ22は、ベクトル制
御回路27の制御によってクロスバ回路26からのデー
タを格納し、また格納したベクトルデータを演算器20
に出力する。第2〜第4ベクトルレジスタ23〜25も
第1ベクトルレジスタ22と同様である。
【0011】演算器20は、第1及び第2ベクトルレジ
スタ22及び23からベクトルデータを順次入力し、ベ
クトル制御回路27の制御によって演算し、演算結果を
クロスバ26に出力する。演算器21も演算器20と同
様である。
【0012】次に、最大値命令について述べる。この最
大値命令はベクトル命令の一つであり、第1ベクトルレ
ジスタ22のベクトルデータの内の最大値と最大値要素
番号を求め、指定されたスカラレジスタに格納する命令
である。
【0013】図4は命令語の形式である。ビット0〜7
は命令コードであり、ビット10〜15はスカラレジス
タ番号(0〜63)を指定するコードである。指定され
たスカラレジスタに最大値が格納され、指定されたスカ
ラレジスタ番号+1のスカラレジスタに最大値要素番号
が格納される。要素番号とは、ベクトル長個のデータで
構成されるベクトルデータの各データを識別するための
もので、N個のデータからなるベクトルデータの場合
は、0〜N−1の値となる。最大値要素番号とは、最大
値の要素番号のことである。
【0014】この最大値命令を実行するときの各部の動
作を説明する。先ず、命令制御回路32が、最大値命令
を主記憶1から読出すと、ベクトル制御回路27に対し
ベクトル長、命令コード及び命令起動信号を出力し、最
大値及び最大値要素番号を指定スカラレジスタにセット
するまでスカラレジスタをビジー状態にする。そして、
後続の命令を処理する。
【0015】ベクトル制御回路27は命令制御回路32
から命令起動信号を入力すると、付随するベクトル長デ
ータ、命令コードをデコードし、各部へ制御信号を送出
する。
【0016】第1ベクトルレジスタ22はベクトル制御
回路27からの制御信号を入力すると、演算器20に対
して格納しているベクトルデータをベクトル長だけ順次
出力する。演算器20は第1ベクトルレジスタ22から
のベクトルデータを順次入力すると共に、ベクトル制御
回路27の制御によって最大値及び最大値要素番号を求
めクロスバ回路26に出力する。
【0017】図3は演算器20内の最大値演算を求める
部分の詳細ブロック図である。演算制御回路50はベク
トル制御回路27からの制御信号を入力とし、初期化信
号を信号線41を通してオアゲート54、セレクタ55
及び51に送出する。この初期化信号は第1ベクトルレ
ジスタ22から最初のデータが比較回路53に入力され
る1マシンクロックサイクル前に1となる。
【0018】また、演算制御回路50は実行処理信号を
信号線42を通してオアゲート54に出力する。この実
行処理信号は、第1ベクトルレジスタ22からのデータ
が比較回路53に入力されている間(ベクトル長の間)
1となる。さらに、演算制御回路50は処理終了信号を
信号線43を通してセレクタ59に出力する。この処理
終了信号が1となるのは、第1ベクトルレジスタ22か
らの最後のデータが比較回路53に入力されるタイミン
グである。
【0019】比較回路53は第1ベクトルレジスタ22
からのデータ(以下、データAと称す)と最大値レジス
タ52からのデータ(以下、データBと称す)とを入力
とし、データA≧データBのときデータ線44にデータ
Aを出力するとともに信号線45に1を出力し、データ
A<データBのときデータ線44にデータBを出力する
とともに信号線45に0を出力する。
【0020】オアゲート54は信号線42と信号線41
の論理和を信号線48に出力する。要素番号レジスタ5
6はセレクタ55からのデータを入力とし、このセレク
タのデータを格納する。インクリメント回路57は要素
番号レジスタ56のデータを入力とし、1を加算したデ
ータを出力する。
【0021】セレクタ55はインクリメント回路57か
らのデータと信号線41および0を入力とし、信号線4
1の値が0のときインクリメント回路57からのデータ
を出力し、信号線41の値が1のとき入力した0を出力
する。
【0022】最大値要素番号レジスタ58は要素番号レ
ジスタ56のデータと信号線47とを入力とし、信号線
45の値が1のとき要素番号レジスタ56からのデータ
を格納し、信号線45の値が0のとき格納しているデー
タをそのままホールドする。
【0023】セレクタ51はデータ線44とデータの取
り得る最小値及び信号線41を入力とし、信号線41の
値が1のとき最小値を、信号線41の値が0のときデー
タ線44の値を出力する。
【0024】最大値レジスタ52はセレクタ51からの
データと信号線48とを入力とし、信号線48が1のと
きセレクタ51からのデータを格納し、信号線48が0
のとき格納しているデータをそのままホールドする。
【0025】セレクタ59は最大値要素番号レジスタ5
8からのデータとデータ線44および信号線43とを入
力とし、信号線43が0のときデータ線44のデータ
を、信号線43が1のとき最大値要素番号レジスタ58
からのデータを夫々出力する。
【0026】クロスバ回路26は演算器20からの最大
値および最大値要素番号を入力すると、ベクトル制御回
路27の制御によってスカラレジスタ群31に出力す
る。
【0027】スカラレジスタ群31はクロスバ回路26
から最大値および最大値要素番号を入力すると、命令制
御回路27の制御によって命令語によって指定されたス
カラレジスタに、最大値および最大値要素番号を格納す
る。
【0028】このような従来のベクトルデータ処理装置
において、1つのベクトル命令で処理可能な要素数(以
下、MAXVL と称す)より多い要素数のデータの最大値を
求める場合について図6のフローチャートを参照しつつ
説明する。
【0029】第1ステップでは、スカラレジスタ(以
下、S0と記述する)にベクトルデータの格納されてい
る先頭アドレスを格納する。第2ステップでは、スカラ
レジスタ(以下、S1と記述する)に処理すべきベクト
ルデータのベクトル要素数を格納する。
【0030】第3ステップでは、スカラレジスタ(以
下、S2と記述する)に0を格納する。第4ステップで
は、スカラレジスタ(以下、S3と記述する)に処理す
べきベクトルデータの取り得る最小値を格納する。
【0031】第5ステップでは、スカラレジスタ(以
下、S4と記述する)に0を格納する。第6ステップで
は、S1とMAXVL とを比較する。第7ステップでは、第
6ステップで比較した結果がS1<MAXVL のときS1に
格納されているデータをS3に格納し、S1≧MAXVL の
ときMAXVL をS3に格納する。
【0032】第8ステップでは、S3に格納されている
データをベクトル長レジスタ(以下、VLR と記述する)
に格納する。VLR はベクトル命令の実行時に処理するベ
クトルデータの要素数を指定するレジスタである。
【0033】第9ステップでは、主記憶1に格納されて
いるベクトルデータの内、VLR で指定された要素数のデ
ータを第1ベクトルレジスタ22に格納する。第10ス
テップでは、最大値命令を実行し最大値をスカラレジス
タ(以下、S6と記述する)に、最大値要素番号をスカ
ラレジスタ(以下、S7と記述する)にそれぞれ格納す
る。
【0034】ここで、従来の最大値命令の動作を簡単に
説明する。演算制御回路50が出力する信号線41の初
期化信号は、継続ビット(図4のビット8が継続ビット
を示し、0は最大値命令が最初であることを示す)が0
なので、第1ベクトルレジスタ22からの最初のデータ
が比較回路53に入力される1マシンクロックサイクル
前に1となる。従って、要素番号レジスタ56と最大値
レシスタ52には夫々0と最小値とが格納される。
【0035】次に、第1ベクトルレジスタ22からデー
タが入力されると、最大値レジスタ52に格納されてい
るデータとを比較し、入力した二つのデータの内大きい
方を出力するとともに信号線45に0または1を出力す
る。
【0036】最大値レジスタ52は比較回路53で比較
が行われている間、信号線41,42が夫々0,1とな
るので、比較回路53の出力データを格納する。つま
り、最大値レジスタ52には、入力される第1ベクトル
レジスタ22からのベクトルデータと格納しているデー
タの内、大きい方が格納され、ベクトル長のデータがす
べて比較されるとベクトルデータの最大値が求まりホー
ルドされる。
【0037】同様に、要素番号レジスタ56も、0から
ベクトル長だけカウントアップされカウント値をホール
ドする。最大値要素番号レジスタ58には、信号線45
によって比較回路53が第1ベクトルレジスタ22の出
力データを出力するときに、要素番号レジスタ56から
のデータを入力するので、最大値レジスタ52に格納さ
れたデータの要素番号が格納される。
【0038】セレクタ59は、最後のデータが比較回路
53で比較されるまで比較回路53の出力データを出力
し、1マシンクロックサイクルの後最大値要素番号レジ
スタ58の格納データ(最大値要素番号)を出力する。
【0039】更に、図6を参照すると、第11ステップ
では、S1からS3を減算した値をS1に格納する。第
12ステップでは、S6とS4を比較する。比較結果が
S6≧S4の場合第ステップ13から第ステップ15を
とばして第16から実行し、比較した結果がS6<S4
の場合第13ステップから実行する。
【0040】第13ステップでは、S6をS4に格納す
る。第14ステップでは、S7をS2に格納する。第1
5ステップでは、S5とS2を加算した結果をS5に格
納する。第16ステップでは、S2とS3を加算した結
果をS2に格納する。第17ステップでは、S1を検査
し、S1≠0の場合第6ステップに戻って実行し、S1
=0の場合処理を終了する。
【0041】上記の様に実行することにより求める最大
値と最大値要素番号がそれぞれS4とS5に格納され
る。
【0042】上述した従来のベクトルデータ処理装置に
よるMAXVL より多い要素数をもったベクトルデータの最
大値および最大値要素番号を求める場合、MAXVL を処理
単位として実行し処理単位毎に、求めた最大値と前回ま
での最大値をスカラ演算部3で比較し、今回までの最大
値を求めるといった方法を取らなければならない。
【0043】この方法だと、本来ベクトル演算部2とス
カラ演算部3とが、並列に実行できるように構成されて
いるにもかかわらず、スカラレジスタの確定待のために
スカラ命令が処理待状態になり、性能低下の一要因にな
っている。
【0044】また、この方法ではスカラレジスタを多く
用いるため、ベクトル演算部2の数が多くなると、スカ
ラレジスタの空きが少なくなりソフトウェアが使いにく
くなり、ひいては性能の低下につながる。尚、最小値算
出命令の場合も同様である。
【0045】
【発明の目的】本発明の目的は、1命令で処理可能なベ
クトル長を越える最大値算出命令の処理を高速化するよ
うにしたベクトルデータ処理装置を提供することであ
る。
【0046】
【発明の構成】本発明によるベクトルデータ処理装置
は、ベクトルデータのうち最大(最小)値及びその要素
番号を算出する最大(最小)値算出命令に応答して、前
記ベクトルデータを順次要素番号順に入力してこれ等を
比較しつつ順次大(小)なるベクトルデータを出力する
比較手段と、前記比較手段の出力を格納する最大(最
小)値レジスタと、前記比較手段へ入力された要素数を
計数してその時の要素数を格納する要素数レジスタと、
前記最大(最小)値レジスタに格納されている現在のベ
クトルデータに対応する前記要素数レジスタ内の要素番
号を最大(最小)値要素番号として格納する最大(最
小)値要素番号レジスタと、前記最大(最小)値算出命
令に続く次の最大(最小)値算出命令の発生に応答し
て、前記最大(最小)値レジスタ、要素数レジスタ、最
大(最小)値要素番号レジスタの各内容を引続き用いて
残余のベクトルデータの最大(最小)値その要素番号を
算出するよう制御する手段とを含むことを特徴とする。
【0047】
【実施例】以下、図面を用いて本発明の実施例を詳細に
説明する。
【0048】本発明の基本構成は図2のブロックと同等
であるが、最大値命令のフォーマットは図5に示す形式
となっている。図4の従来フォーマットと異なるのは、
命令の継続を示す継続ビットがビット8により指定され
ていることであり、C=1のとき継続を示し、C=0の
とき新規を示す。
【0049】次に、最大値算出命令を実行するときの図
2の各部の動作を説明する。先ず、命令制御回路32が
最大値命令を主記憶1から読出すと、ベクトル制御回路
27に対してベクトル長、命令コード、継続ビット及び
命令起動信号を出力し、最大値及び最大値要素番号を指
定スカラレジスタにセットするまでスカラレジスタをビ
ジー状態にする。そして、後続命令を処理する。
【0050】ベクトル制御回路27は命令制御回路32
からの制御信号に応答して、演算器20に対して格納し
ているベクトルデータをベクトル長だけ要素番号順に出
力する。
【0051】演算器20は第1ベクトルレジスタ22か
らのベクトルデータを順次入力すると共に、ベクトル制
御回路27の制御によって最大値及び最大値要素番号を
求め、クロスバ回路26へ出力する。
【0052】図1は演算器20内の最大値演算を求める
部分の本発明の実施例に基づく詳細ブロック図であり、
図3と同等部分は同一符号にて示す。
【0053】演算制御回路50はベクトル制御回路から
の制御信号を入力とし、初期化信号を信号線41を通し
てオアゲート54、60,セレクタ55,51に送出す
る。この初期化信号は継続ビットCが0でかつ第1ベク
トルレジスタ22から最初のデータが比較回路53に入
力される1マシンクロックサイクル前に1となる。
【0054】また、演算制御回路50は実行処理信号を
信号線42を通してオアゲート54,60及びアンドゲ
ート61に出力する。この実行処理中信号は、第1ベク
トルレジスタ22からのデータが比較回路53に入力さ
れている間(ベクトル長の間)1となる。さらに、演算
制御回路50は処理終了信号を信号線43を通してセレ
クタ59に出力する。この処理終了信号が1となるの
は、第1ベクトルレジスタ22からの最後のデータが比
較回路53に入力されるタイミングである。
【0055】比較回路53は第1ベクトルレジスタから
のデータ(以下、データAと称す)と最大値レジスタ5
2からのデータ(以下、データBと称す)を入力とし、
データA≧データBのときデータ線44にデータAを出
力するとともに信号線45に1を出力し、データA<デ
ータBのときデータ線44にデータBを出力するととも
に信号線45に0を出力する。
【0056】オアゲート54は信号線42と信号線41
との論理和を信号線48に出力する。オアゲート60は
信号線42と信号線41との論理和を信号線46に出力
する。アンドゲート61は信号線42と信号線45との
論理和を信号線47に出力する。
【0057】要素番号レジスタ56はセレクタ55から
のデータと信号線46とを入力とし、信号線46が1の
ときセレクタのデータを格納し、信号線46が0のとき
格納しているデータをそのままホールドする。インクリ
メント回路57は要素番号レジスタ56のデータを入力
とし、1を加算したデータを出力する。
【0058】セレクタ55はインクリメント回路57か
らのデータと信号線41および0とを入力とし、信号線
41の値が0のときインクリメント回路57からのデー
タを出力し、信号線41の値が1のとき入力した0を出
力する。
【0059】最大値要素番号レジスタ58は要素番号レ
ジスタ56のデータと信号線47とを入力とし、信号線
47の値が1のとき要素番号レジスタ56からのデータ
を格納し、信号線47の値が0のとき格納しているデー
タをそのままホールドする。
【0060】セレクタ51はデータ線44とデータの取
り得る最小値及び信号線41を入力とし、信号線41の
値が1のとき最小値を、信号線41の値が0のときデー
タ線44の値を夫々出力する。
【0061】最大値レジスタ52はセレクタ51からの
データと信号線48とを入力とし、信号線48が1のと
きセレクタ51からのデータを格納し、信号線48が0
のとき格納しているデータをそのままホールドする。
【0062】セレクタ59は最大値要素番号レジスタ5
8からのデータとデータ線44および信号線43とを入
力とし、信号線43が0のときデータ線44のデータ
を、信号線43が1のとき最大値要素番号レジスタ58
からのデータを出力する。
【0063】クロスバ回路26は演算器20からの最大
値および最大値要素番号を入力すると、ベクトル制御回
路27の制御によってスカラレジスタ群31に出力す
る。このスカラレジスタ群31はクロスバ回路26から
最大値および最大値要素番号を入力すると、命令制御回
路32の制御によって命令語によって指定されたスカラ
レジスタに、最大値および最大値要素番号を格納する。
【0064】このようなベクトルデータ処理装置におい
て、1つのベクトル命令で処理可能な要素数(以下、MA
XVL と称す)より多い要素数のデータの最大値を求める
場合について図7のフローチャートを参照しつつ説明す
る。
【0065】第1ステップでは、スカラレジスタ(以
下、S0と記述する)にベクトルデータの格納されてい
る先頭アドレスを格納する。第2ステップでは、スカラ
レジスタ(以下、S1と記述する)に処理すべきベクト
ルデータのベクトル要素数を格納する。
【0066】第3ステップでは、スカラレジスタ(以
下、S2と記述する)に0を格納する。第4ステップで
は、S1とMAXVL とを比較する。第5ステップでは、第
4ステップで比較した結果がS1<MAXVL のときS1の
格納しているデータをS3に格納し、S1≧MAXVL のと
きMAXVL をS3に格納する。
【0067】第6ステップでは、S3に格納されている
データをVLR に格納する。VLR はベクトル命令の実行時
に処理するベクトルデータの要素数を指定するレジスタ
である。
【0068】第7ステップでは、主記憶1に格納されて
いるベクトルデータの内VIR で指定された要素数のデー
タを第1ベクトルレジスタ22に格納する。第8ステッ
プでは、継続なしの最大値命令を実行し最大値をスカラ
レジスタ(以下、S4と記述する)に、最大値要素番号
をスカラレジスタ(以下、S5と記述する)にそれぞれ
格納する。
【0069】ここで、継続なしの最大値命令の動作を簡
単に説明する。演算制御回路50が出力する信号線41
の初期化信号は、継続ビットが0なので、第1ベクトル
レジスタ22からの最初のデータが比較回路53に入力
される1マシンクロックサイクル前に1となる。従っ
て、要素番号レジスタ56と最大値レジスタ52とには
夫々0と最小値とが格納される。
【0070】次に、第1ベクトルレジスタ22からデー
タが入力されると、最大値レジスタ52に格納されてい
るデータとを比較し、入力した二つのデータの内大きい
方を出力するとともに信号線45に0または1を出力す
る。
【0071】最大値レジスタ52は比較回路53で比較
が行われている間、信号線41,42が夫々0,1とな
るので、比較回路53の出力データを格納する。つま
り、最大値レジスタ52には、入力される第1ベクトル
レジスタ22からのベクトルデータと格納しているデー
タの内大きい方が格納され、ベクトル長のデータがすべ
て比較されるとベクトルデータの最大値が求まりホール
ドされる。
【0072】同様に、要素番号レジスタ56も、0から
ベクトル長だけカウントアップされカウント値をホール
ドする。
【0073】最大値要素番号レジスタ58には、信号線
47によって比較回路53が第1ベクトルレジスタ22
の出力データを出力するときに、要素番号レジスタ56
からのデータを入力するので、最大値レジスタ52に格
納されたデータの要素番号が格納される。
【0074】セレクタ59は、最後のデータが比較回路
53で比較されるまで比較回路53の出力データを出力
し、1マシンクロックサイクルの後最大値要素番号レジ
スタ47の格納データ(最大値要素番号)を出力する。
【0075】第9ステップでは、S1からS3を減算し
た値をS1に格納する。第10ステップでは、S2とS
3を加算した結果をS2に格納する。第11ステップで
は、S1を検査し、S1≠0の場合第12ステップを実
行し、S1=0の場合処理を終了する。
【0076】第12ステップでは、S1とMAXVL とを比
較する。第13ステップでは、第12ステップで比較し
た結果がS1<MAXVL のときS1の格納しているデータ
をS3に格納し、S1≧MAXVL のときMAXVL をS3に格
納する。
【0077】第14ステップでは、S3に格納されてい
るデータをVLR に格納する。VLR はベクトル命令の実行
時に処理するベクトルデータの要素数を指定するレジス
タである。第15ステップでは、主記憶1に格納されて
いるベクトルデータの内VLRで指定された要素数のデー
タを第1ベクトルレジスタ22に格納する。
【0078】第16ステップでは、継続ありの最大値命
令を実行し最大値をスカラレジスタ(以下、S4と記述
する)に、最大値要素番号をスカラレジスタ(以下、S
5と記述する)に夫々格納する。そして、第9ステップ
を実行する。
【0079】ここで、継続ありの最大値命令の動作を簡
単に説明する。演算制御回路50が出力する信号線41
の初期化信号は、継続ビットが1なので0となる。従っ
て、継続なしの最大命令と異なり要素番号レジスタ50
と最大値レジスタ52には、初期値が格納されず、前回
の最大値命令の最後の値がそのまま初期値となって処理
される。最大値要素番号レジスタ58も同様に初期値と
なる。初期値の設定以外は、継続なしの最大値命令と同
様なので説明を省略する。
【0080】この様に行うことで、S4とS5とに最大
値と最大値要素番号を夫々求めることが出来る。
【0081】次に、最小値命令を実行する場合を説明す
る。最小値命令を実行する場合には、上述した最大値命
令を実行する場合に対して最大値を最小値に、最小値を
最大値に、「データA≧データB」を「データA≦デー
タB」に、「データA<データB」を「データA>デー
タB」に、「S6≧S4」を「S6≦S4」に「S6<
S4」を「S6>S4」にそれぞれ読換えて実現するこ
とが出来る。
【0082】なお、ここでは、命令語のビット8に継続
ビットを設けることにより継続を示すと説明したが、命
令コード自体をかえることによって継続を示すようにし
てもよい。
【0083】
【発明の効果】以上説明したように、本発明のベクトル
データ処理装置は、MAXVL を超えるベクトル長をもった
ベクトルデータでも最大値命令の継続ビットを操作する
ことにより、ベクトル演算部内で最大値と最大値要素番
号を求めることが可能となるため、スカラ演算部でスカ
ラレジスタを用いての最大値の演算処理が不要となる。
これにより、ベクトル演算部とスカラ演算部の並列処理
が可能となるので、後続のスカラ命令を実行することで
システム全体の性能を高速に出来る効果がある。
【0084】またスカラレジスタの使用個数も少なくて
済みソフトウェアの自由度が効くためにシステムの高速
化に寄与する。最小値の処理時も同様の効果がある。
【図面の簡単な説明】
【図1】本発明の実施例によるベクトルデータ最大(最
小)演算のための演算器の回路図である。
【図2】ベクトルデータ最大(最小)演算処理を行うベ
クトルデータ処理装置の概略ブロック図である。
【図3】従来のベクトルデータ最大(最小)演算処理の
ための演算器の回路図である。
【図4】従来の最大値命令語のフォーマットを示す図で
ある。
【図5】本発明による最大値命令語のフォーマットを示
す図である。
【図6】従来の最大値命令の処理フロー図である。
【図7】本発明の実施例の最大値命令の処理フロー図で
ある。
【符号の説明】
50 演算制御回路 52 最大値レジスタ 53 比較回路 54,60 オアゲート 56 要素番号レジスタ 57 インクリメント回路 58 最大値要素番号レジスタ 61 アンドゲート

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 ベクトルデータのうち最大(最小)値及
    びその要素番号を算出する最大(最小)値算出命令に応
    答して、前記ベクトルデータを順次要素番号順に入力し
    てこれ等を比較しつつ順次大(小)なるベクトルデータ
    を出力する比較手段と、前記比較手段の出力を格納する
    最大(最小)値レジスタと、前記比較手段へ入力された
    要素数を計数してその時の要素数を格納する要素数レジ
    スタと、前記最大(最小)値レジスタに格納されている
    現在のベクトルデータに対応する前記要素数レジスタ内
    の要素番号を最大(最小)値要素番号として格納する最
    大(最小)値要素番号レジスタと、前記最大(最小)値
    算出命令に続く次の最大(最小)値算出命令の発生に応
    答して、前記最大(最小)値レジスタ、要素数レジス
    タ、最大(最小)値要素番号レジスタの各内容を引続き
    用いて残余のベクトルデータの最大(最小)値その要素
    番号を算出するよう制御する手段とを含むことを特徴と
    するベクトルデータ処理装置。
JP19596991A 1991-07-10 1991-07-10 ベクトルデータ処理装置 Pending JPH0520353A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19596991A JPH0520353A (ja) 1991-07-10 1991-07-10 ベクトルデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19596991A JPH0520353A (ja) 1991-07-10 1991-07-10 ベクトルデータ処理装置

Publications (1)

Publication Number Publication Date
JPH0520353A true JPH0520353A (ja) 1993-01-29

Family

ID=16350008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19596991A Pending JPH0520353A (ja) 1991-07-10 1991-07-10 ベクトルデータ処理装置

Country Status (1)

Country Link
JP (1) JPH0520353A (ja)

Similar Documents

Publication Publication Date Title
JP3188467B2 (ja) 最小値・最大値検索装置
EP0438961A2 (en) Hardware data string operation controller
JPS59128670A (ja) ベクトル処理装置
EP0173040B1 (en) Vector processing system
JPH03286332A (ja) デジタルデータ処理装置
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JPH0520353A (ja) ベクトルデータ処理装置
EP0542318A2 (en) Digital processor and method for controlling the same
JP2812610B2 (ja) パイプライン制御方式
EP1132813A2 (en) Computer with high-speed context switching
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2654451B2 (ja) データ出力方法
US7200739B2 (en) Generation of modified command sequence from original command by feeding back for subsequent modification based on decode control signal
JPH07110769A (ja) Vliw型計算機
JPS6230455B2 (ja)
JPH0816392A (ja) コンピュータシステム、コンピュータシステム動作方法、及びコンピュータ命令シーケンス実行方法
JP2583614B2 (ja) ベクトル演算装置
JPS60105050A (ja) パイプライン制御方式
JPH0721154A (ja) ベクトル処理装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH0271327A (ja) ソート処理装置
JPH01284926A (ja) 演算装置の命令読出方式
JPS62256135A (ja) 翻訳テスト命令処理方式
JPH0756734A (ja) マイクロプロセッサ及びその制御方法
JPH0477349B2 (ja)