JPH0877142A - ベクトルプロセッサ - Google Patents
ベクトルプロセッサInfo
- Publication number
- JPH0877142A JPH0877142A JP20664294A JP20664294A JPH0877142A JP H0877142 A JPH0877142 A JP H0877142A JP 20664294 A JP20664294 A JP 20664294A JP 20664294 A JP20664294 A JP 20664294A JP H0877142 A JPH0877142 A JP H0877142A
- Authority
- JP
- Japan
- Prior art keywords
- data
- group
- value
- output
- comparator
- 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.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】 本発明はベクトルプロセッサに関し、或るベ
クトルに対し、その一部の要素をグループ単位として、
グループ毎に最大値、最小値、合計値等を求める処理が
できるようにして、高速処理を可能にすることを目的と
する。 【構成】 データ用レジスタ11、グループ値用レジス
タ12、カウンタ値用レジスタ13、データ比較器1
4、グループ値比較器15、セレクタ16、17、イン
クリメント回路18、OR回路19等を設け、グループ
値用レジスタ12はスカラレジスタSR2で指定された
グループ値を格納し、カウンタ値用レジスタ13、イン
クリメント回路18、セレクタ17はグループ毎に入力
データ数を計数し、グループ値比較器15はカウンタ値
用レジスタ13の値とグループ値用レジスタ12のグル
ープ値を比較し、データ比較器14は各グループ内での
ベクトルレジスタVR1からの入力データの比較を行う
ように構成する。
クトルに対し、その一部の要素をグループ単位として、
グループ毎に最大値、最小値、合計値等を求める処理が
できるようにして、高速処理を可能にすることを目的と
する。 【構成】 データ用レジスタ11、グループ値用レジス
タ12、カウンタ値用レジスタ13、データ比較器1
4、グループ値比較器15、セレクタ16、17、イン
クリメント回路18、OR回路19等を設け、グループ
値用レジスタ12はスカラレジスタSR2で指定された
グループ値を格納し、カウンタ値用レジスタ13、イン
クリメント回路18、セレクタ17はグループ毎に入力
データ数を計数し、グループ値比較器15はカウンタ値
用レジスタ13の値とグループ値用レジスタ12のグル
ープ値を比較し、データ比較器14は各グループ内での
ベクトルレジスタVR1からの入力データの比較を行う
ように構成する。
Description
【0001】
【産業上の利用分野】本発明は、科学技術計算処理やマ
ルチメディア処理等の分野において、ベクトル演算処理
を行う際に利用されるベクトルプロセッサに関する。
ルチメディア処理等の分野において、ベクトル演算処理
を行う際に利用されるベクトルプロセッサに関する。
【0002】特に、本発明に係るベクトルプロセッサ
は、ベクトル演算処理に必要なグループ最大値検索命令
処理回路、グループ最小値検索命令処理回路、グループ
合計値命令処理回路、グループ最大値インデックス検索
命令処理回路、グループ最大値インデックス検索命令処
理回路、グループ最小値インデックス検索命令処理回路
等の各ベクトル演算命令(グループ単位での演算処理が
可能な命令)の処理回路(命令実行回路)を実現するも
のである。
は、ベクトル演算処理に必要なグループ最大値検索命令
処理回路、グループ最小値検索命令処理回路、グループ
合計値命令処理回路、グループ最大値インデックス検索
命令処理回路、グループ最大値インデックス検索命令処
理回路、グループ最小値インデックス検索命令処理回路
等の各ベクトル演算命令(グループ単位での演算処理が
可能な命令)の処理回路(命令実行回路)を実現するも
のである。
【0003】
【従来の技術】一般に、科学技術計算処理やマルチメデ
ィア処理を高速に行うために、ベクトル演算を行うプロ
セッサをベクトルプロセッサという。ベクトル演算と
は、例えば、64要素の浮動小数点ベクトル2個を乗算
して、結果として64要素のベクトルを1個出力するよ
うなものである。
ィア処理を高速に行うために、ベクトル演算を行うプロ
セッサをベクトルプロセッサという。ベクトル演算と
は、例えば、64要素の浮動小数点ベクトル2個を乗算
して、結果として64要素のベクトルを1個出力するよ
うなものである。
【0004】ベクトル命令は、次のような1個分のルー
プに相当する。すなわち、ループの各イタレーション
(繰り返し)で、64要素の内の1要素分を乗算し、イ
ンデックスを更新し、そして、ループの先頭に戻り分岐
するループである。
プに相当する。すなわち、ループの各イタレーション
(繰り返し)で、64要素の内の1要素分を乗算し、イ
ンデックスを更新し、そして、ループの先頭に戻り分岐
するループである。
【0005】ベクトル命令には、算術演算命令、論理演
算命令、比較演算命令、比較命令、ロード/ストア命
令、変換命令、転送命令等、単純なループを1命令で処
理するベクトル命令(非マクロ命令)と、あるベクトル
から最大値や最小値を求めたり、各要素の合計値を求め
るようなループの中で、簡単な処理を行うマクロ命令
(ベクトルマクロ命令)がある。
算命令、比較演算命令、比較命令、ロード/ストア命
令、変換命令、転送命令等、単純なループを1命令で処
理するベクトル命令(非マクロ命令)と、あるベクトル
から最大値や最小値を求めたり、各要素の合計値を求め
るようなループの中で、簡単な処理を行うマクロ命令
(ベクトルマクロ命令)がある。
【0006】ベクトルプロセッサは、もともと科学技術
計算を高速に処理するために開発されたため、現在用意
されているマクロ命令は、科学技術計算で良く用いられ
るものが多い。
計算を高速に処理するために開発されたため、現在用意
されているマクロ命令は、科学技術計算で良く用いられ
るものが多い。
【0007】一方、昨今は、ベクトルプロセッサのクロ
ック数が100MHZ に近づき、膨大なデータを処理す
る画像処理をリアルタイムに行うことが可能になりつつ
ある。また、画像圧縮方式のMPEG(ISOの標準画
像圧縮方式)が広く受入れられていることもあり、画像
処理や音声処理など、いわゆるマルチメディア処理を高
速に行うプロセッサへのニーズが高まっている。
ック数が100MHZ に近づき、膨大なデータを処理す
る画像処理をリアルタイムに行うことが可能になりつつ
ある。また、画像圧縮方式のMPEG(ISOの標準画
像圧縮方式)が広く受入れられていることもあり、画像
処理や音声処理など、いわゆるマルチメディア処理を高
速に行うプロセッサへのニーズが高まっている。
【0008】しかし、クロック数だけではまだまだ不足
であり、プロセッサにマルチメディア処理を高速に行う
ための工夫が必要である。その1つとして、プロセッサ
に、マルチメディア処理を高速に行うための新たな命令
を用意する方法が考えられる。すなわち、従来のマクロ
命令はマルチメディア処理を高速に行わせるために用意
されたものではないからである。
であり、プロセッサにマルチメディア処理を高速に行う
ための工夫が必要である。その1つとして、プロセッサ
に、マルチメディア処理を高速に行うための新たな命令
を用意する方法が考えられる。すなわち、従来のマクロ
命令はマルチメディア処理を高速に行わせるために用意
されたものではないからである。
【0009】ところで、従来のマクロ命令には、最大値
や最小値を求める命令や、各要素の合計を求める命令が
ある。これらの命令は、あるベクトルの全要素(マスク
機能があれば、マスクされていない要素分)に対して処
理を行い、1つのスカラ値を出力する。
や最小値を求める命令や、各要素の合計を求める命令が
ある。これらの命令は、あるベクトルの全要素(マスク
機能があれば、マスクされていない要素分)に対して処
理を行い、1つのスカラ値を出力する。
【0010】しかし、画像処理には、例えば、画面中の
複数のある限られた領域内でそれぞれの領域に対して最
大値、最小値や合計値を求める処理も行われる。そこ
で、これらの処理に対応したマクロ命令を用意すること
が必要であるが、従来は用意されていなかった。
複数のある限られた領域内でそれぞれの領域に対して最
大値、最小値や合計値を求める処理も行われる。そこ
で、これらの処理に対応したマクロ命令を用意すること
が必要であるが、従来は用意されていなかった。
【0011】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 (1) :従来のベクトルマクロ命令には、或るベクトルに
対し、そのベクトルの全要素(マスク機能がある場合
は、マスクされていない要素分)に対して処理を行い、
1つのスカラ値を出力するものしかない。
のにおいては、次のような課題があった。 (1) :従来のベクトルマクロ命令には、或るベクトルに
対し、そのベクトルの全要素(マスク機能がある場合
は、マスクされていない要素分)に対して処理を行い、
1つのスカラ値を出力するものしかない。
【0012】しかし、例えば、画像処理の分野において
は、画面中の複数の或る限られた領域内で、それぞれの
領域に対して最大値、最小値、合計値を求める処理が必
要である。この処理を行うには、従来のベクトルマクロ
命令をそのまま用いることができず、通常命令の組み合
わせで実現することになる。
は、画面中の複数の或る限られた領域内で、それぞれの
領域に対して最大値、最小値、合計値を求める処理が必
要である。この処理を行うには、従来のベクトルマクロ
命令をそのまま用いることができず、通常命令の組み合
わせで実現することになる。
【0013】この場合、前記通常命令の組み合わせで実
現すると、処理が遅く、マルチメディア処理等の高速処
理には不適当である。 (2) :前記のように、従来のベクトルプロセッサでは、
ベクトルレジスタの要素全体での最大値、最小値等を求
めることは可能であるが、或るグループ毎の最大値、最
小値、合計値等を求めるベクトルマクロ命令はなかっ
た。
現すると、処理が遅く、マルチメディア処理等の高速処
理には不適当である。 (2) :前記のように、従来のベクトルプロセッサでは、
ベクトルレジスタの要素全体での最大値、最小値等を求
めることは可能であるが、或るグループ毎の最大値、最
小値、合計値等を求めるベクトルマクロ命令はなかっ
た。
【0014】従って、画像処理、音声処理など、マルチ
メディア処理を高速、かつ効率的に行うことはできなか
った。本発明は、前記従来の課題を解決し、ベクトルの
全要素に限らず、指定されたグループ単位で、最大値、
最小値、合計値、インデックス等を求める処理を可能に
することを目的としている。
メディア処理を高速、かつ効率的に行うことはできなか
った。本発明は、前記従来の課題を解決し、ベクトルの
全要素に限らず、指定されたグループ単位で、最大値、
最小値、合計値、インデックス等を求める処理を可能に
することを目的としている。
【0015】また、本発明は、画像処理、音声処理な
ど、マルチメディア処理を高速、かつ効率的に処理でき
るベクトルプロセッサを実現することを目的としてい
る。更に、本発明は、グループ単位で、最大値、最小
値、合計値、インデックス等を求める処理ができるベク
トルマクロ命令の実現を可能にして、ベクトルプロセッ
サの性能を向上させることを目的としている。
ど、マルチメディア処理を高速、かつ効率的に処理でき
るベクトルプロセッサを実現することを目的としてい
る。更に、本発明は、グループ単位で、最大値、最小
値、合計値、インデックス等を求める処理ができるベク
トルマクロ命令の実現を可能にして、ベクトルプロセッ
サの性能を向上させることを目的としている。
【0016】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明は前記の目的を達成するため、ベクト
ルプロセッサに、データ用レジスタ11、グループ値用
レジスタ12、カウンタ値用レジスタ13、データ比較
器14、グループ値比較器15、セレクタ16、17、
インクリメント回路18、OR回路19等を設けた。ま
た、このベクトルプロセッサには、前記データ用レジス
タ11のデータをベクトルレジスタVR2へ出力するデ
ータ出力手段(図示省略)を備えている。
図である。本発明は前記の目的を達成するため、ベクト
ルプロセッサに、データ用レジスタ11、グループ値用
レジスタ12、カウンタ値用レジスタ13、データ比較
器14、グループ値比較器15、セレクタ16、17、
インクリメント回路18、OR回路19等を設けた。ま
た、このベクトルプロセッサには、前記データ用レジス
タ11のデータをベクトルレジスタVR2へ出力するデ
ータ出力手段(図示省略)を備えている。
【0017】前記グループ値用レジスタ12は、1つの
ベクトルレジスタVR1に対し、1つのスカラ値、複数
のスカラ値、或いはベクトル値で指定された値(例え
ば、図1のスカラレジスタSR2で指定されたスカラ
値)を、グループ値として格納するグループ値格納手段
を構成している。
ベクトルレジスタVR1に対し、1つのスカラ値、複数
のスカラ値、或いはベクトル値で指定された値(例え
ば、図1のスカラレジスタSR2で指定されたスカラ
値)を、グループ値として格納するグループ値格納手段
を構成している。
【0018】カウンタ値用レジスタ13、インクリメン
ト回路18、セレクタ17は、グループ毎に、入力デー
タ(要素)数を計数する入力データ数計数手段を構成し
ている。
ト回路18、セレクタ17は、グループ毎に、入力デー
タ(要素)数を計数する入力データ数計数手段を構成し
ている。
【0019】グループ値比較器15は、カウンタ値用レ
ジスタ13の値と、グループ値用レジスタ12のグルー
プ値を比較して、両者が一致した時一致信号を出力する
ものである。
ジスタ13の値と、グループ値用レジスタ12のグルー
プ値を比較して、両者が一致した時一致信号を出力する
ものである。
【0020】データ比較器14は、各グループ内での入
力データの比較を行うものであり、入力データとデータ
用レジスタ11に格納されているデータとの比較を行
い、大きい方のデータを出力するものである。
力データの比較を行うものであり、入力データとデータ
用レジスタ11に格納されているデータとの比較を行
い、大きい方のデータを出力するものである。
【0021】セレクタ16は、入力データ側、及びデー
タ比較器14の出力側のいずれか一方を選択するもので
あり、データ処理開始時、及びグループ値比較器15か
ら一致信号が出力された時、入力データ側を選択し、そ
の他の時はデータ比較器14の出力側を選択するもので
ある。
タ比較器14の出力側のいずれか一方を選択するもので
あり、データ処理開始時、及びグループ値比較器15か
ら一致信号が出力された時、入力データ側を選択し、そ
の他の時はデータ比較器14の出力側を選択するもので
ある。
【0022】
【作用】前記構成に基づく本発明の作用を、図1に基づ
いて説明する。 (1) :1つのベクトルレジスタVR1に対し、スカラレ
ジスタSR2で指定された1つのスカラ値をグループ単
位として、グループ単位毎にデータ(要素)の最大値を
求め、その最大値をベクトルレジスタVR2の要素とし
て格納する処理は次の通りである。
いて説明する。 (1) :1つのベクトルレジスタVR1に対し、スカラレ
ジスタSR2で指定された1つのスカラ値をグループ単
位として、グループ単位毎にデータ(要素)の最大値を
求め、その最大値をベクトルレジスタVR2の要素とし
て格納する処理は次の通りである。
【0023】先ず、信号線21の命令開始信号がアサー
トされた時(例えば、ハイレベル1になると)、スカラ
レジスタSR2のグループ値(図1ではグループ値=
4)がグループ値用レジスタ12に格納される。
トされた時(例えば、ハイレベル1になると)、スカラ
レジスタSR2のグループ値(図1ではグループ値=
4)がグループ値用レジスタ12に格納される。
【0024】また、信号線21の命令開始信号がアサー
トされたことにより、セレクタ17が値1を選択し、セ
レクタ16が入力データを選択する。従って、カウンタ
値用レジスタ13には値1が格納され、データ用レジス
タ11にはベクトルレジスタVR1からの入力データ
(インデックス1の要素)が格納される。
トされたことにより、セレクタ17が値1を選択し、セ
レクタ16が入力データを選択する。従って、カウンタ
値用レジスタ13には値1が格納され、データ用レジス
タ11にはベクトルレジスタVR1からの入力データ
(インデックス1の要素)が格納される。
【0025】そして、前記グループ値用レジスタ12に
格納されたグループ値=4は命令の実行が終了するまで
保持され、カウンタ値用レジスタ13の値は、ベクトル
レジスタVR1からデータ(要素)が入力される度に、
インクリメント回路18によりインクリメント(+1)
される。この場合、セレクタ17では、信号線23がア
サートされた時は値1を選択するが、それ以外の時はイ
ンクリメント回路18の出力を選択する。
格納されたグループ値=4は命令の実行が終了するまで
保持され、カウンタ値用レジスタ13の値は、ベクトル
レジスタVR1からデータ(要素)が入力される度に、
インクリメント回路18によりインクリメント(+1)
される。この場合、セレクタ17では、信号線23がア
サートされた時は値1を選択するが、それ以外の時はイ
ンクリメント回路18の出力を選択する。
【0026】グループ値比較器15では、常にグループ
値用レジスタ12の値と、カウンタ値用レジスタ13の
グループ値が比較され、両者が等しくなると、信号線2
2に信号をアサート(一致信号を出力)する。
値用レジスタ12の値と、カウンタ値用レジスタ13の
グループ値が比較され、両者が等しくなると、信号線2
2に信号をアサート(一致信号を出力)する。
【0027】前記のように、信号線21、或いは信号線
22がアサートされると、信号線23がアサートされ、
セレクタ17が値1を選択し、カウンタ値用レジスタ1
3に値1を格納する。信号線23がアサートされない場
合は、カウンタ値用レジスタ13の値は、インクリメン
ト回路18によりインクリメントされる。
22がアサートされると、信号線23がアサートされ、
セレクタ17が値1を選択し、カウンタ値用レジスタ1
3に値1を格納する。信号線23がアサートされない場
合は、カウンタ値用レジスタ13の値は、インクリメン
ト回路18によりインクリメントされる。
【0028】一方、ベクトルレジスタVR1の最初の要
素は、入力データとしてセレクタ16を介してデータ用
レジスタ11に格納される。セレクタ16は、信号線2
3がアサートされている場合は、入力データを選択し、
それ以外の場合は、データ比較器14の出力側を選択す
る。
素は、入力データとしてセレクタ16を介してデータ用
レジスタ11に格納される。セレクタ16は、信号線2
3がアサートされている場合は、入力データを選択し、
それ以外の場合は、データ比較器14の出力側を選択す
る。
【0029】最初は、前記のように、信号線21がアサ
ートされ、信号線23がアサートされるので、セレクタ
16は入力データを選択する。入力データはデータ用レ
ジスタ11に格納され、データ比較器14で次の入力デ
ータと比較され、データ比較器14では、大きい方のデ
ータを選択して出力する。
ートされ、信号線23がアサートされるので、セレクタ
16は入力データを選択する。入力データはデータ用レ
ジスタ11に格納され、データ比較器14で次の入力デ
ータと比較され、データ比較器14では、大きい方のデ
ータを選択して出力する。
【0030】グループ内最大値は、データ比較器14に
おいてグループの最後のデータが比較された後に、デー
タ用レジスタ11に格納される。その後、データ用レジ
スタ11から出力された出力データは、データ出力手段
により、ベクトルレジスタVR2に格納される。
おいてグループの最後のデータが比較された後に、デー
タ用レジスタ11に格納される。その後、データ用レジ
スタ11から出力された出力データは、データ出力手段
により、ベクトルレジスタVR2に格納される。
【0031】以上の処理により、1つのベクトルレジス
タVR1に対し、スカラレジスタSR2で指定された1
つのスカラ値をグループ単位として、グループ単位毎に
データ(要素)の最大値を求め、その最大値をベクトル
レジスタVR2の要素として格納することができる。
タVR1に対し、スカラレジスタSR2で指定された1
つのスカラ値をグループ単位として、グループ単位毎に
データ(要素)の最大値を求め、その最大値をベクトル
レジスタVR2の要素として格納することができる。
【0032】前記の作用の外、図1の回路を基本回路と
し、回路の一部を変更することにより、次のような作用
がある。 (2) :1つのベクトルレジスタVR1に対し、スカラレ
ジスタSR2で複数のスカラ値を指定し、その複数のス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値をベクトルレジス
タVR2の要素として格納することができる。
し、回路の一部を変更することにより、次のような作用
がある。 (2) :1つのベクトルレジスタVR1に対し、スカラレ
ジスタSR2で複数のスカラ値を指定し、その複数のス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値をベクトルレジス
タVR2の要素として格納することができる。
【0033】(3) :1つのベクトルレジスタVR1に対
し、スカラレジスタの代わりに、ベクトルレジスタでベ
クトル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最大値を求め、
その最大値をベクトルレジスタVR2の要素として格納
することができる。
し、スカラレジスタの代わりに、ベクトルレジスタでベ
クトル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最大値を求め、
その最大値をベクトルレジスタVR2の要素として格納
することができる。
【0034】(4) 1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が確
定した後、前記最大値をベクトルレジスタVR2のグル
ープ単位の全要素として格納することができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が確
定した後、前記最大値をベクトルレジスタVR2のグル
ープ単位の全要素として格納することができる。
【0035】(5) :1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値をベ
クトルレジスタVR2の要素として格納することができ
る。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値をベ
クトルレジスタVR2の要素として格納することができ
る。
【0036】(6) :1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値をベ
クトルレジスタVR2の要素として格納することができ
る。
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値をベ
クトルレジスタVR2の要素として格納することができ
る。
【0037】(7) :1つのベクトルレジスタVR1に対
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最小値を求め、
その最小値をベクトルレジスタVR2の要素として格納
することができる。
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最小値を求め、
その最小値をベクトルレジスタVR2の要素として格納
することができる。
【0038】(8) :1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が確
定した後、前記最小値をベクトルレジスタVR2のグル
ープ単位の全要素として格納することができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が確
定した後、前記最小値をベクトルレジスタVR2のグル
ープ単位の全要素として格納することができる。
【0039】(9) :1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値をベ
クトルレジスタVR2の要素として格納することができ
る。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値をベ
クトルレジスタVR2の要素として格納することができ
る。
【0040】(10):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値をベ
クトルレジスタVR2の要素として格納することができ
る。
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値をベ
クトルレジスタVR2の要素として格納することができ
る。
【0041】(11):1つのベクトルレジスタVR1に対
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の合計値を求め、
その合計値をベクトルレジスタVR2の要素として格納
することができる。
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の合計値を求め、
その合計値をベクトルレジスタVR2の要素として格納
することができる。
【0042】(12):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値が確
定した後、ベクトルレジスタVR2のグループ単位の全
要素として格納することができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の合計値を求め、その合計値が確
定した後、ベクトルレジスタVR2のグループ単位の全
要素として格納することができる。
【0043】(13):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を検索し、その最大値が
格納されているインデックス(要素番号)をベクトルレ
ジスタVR2の要素として格納することができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を検索し、その最大値が
格納されているインデックス(要素番号)をベクトルレ
ジスタVR2の要素として格納することができる。
【0044】(14):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
【0045】(15):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
【0046】(16):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
し、スカラレジスタSR2で複数のスカラ値を指定し、
その複数のスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2の要素として格納することができる。
【0047】(17):1つのベクトルレジスタVR1に対
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最大値を求め、
その最大値が格納されているインデックス(要素番号)
をベクトルレジスタVR2の要素として格納することが
できる。
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最大値を求め、
その最大値が格納されているインデックス(要素番号)
をベクトルレジスタVR2の要素として格納することが
できる。
【0048】(18):1つのベクトルレジスタVR1に対
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最小値を求め、
その最小値が格納されているインデックス(要素番号)
をベクトルレジスタVR2の要素として格納することが
できる。
し、スカラレジスタではなく、ベクトルレジスタでベク
トル値を指定し、そのベクトル値をグループ単位とし
て、グループ単位毎にデータ(要素)の最小値を求め、
その最小値が格納されているインデックス(要素番号)
をベクトルレジスタVR2の要素として格納することが
できる。
【0049】(19):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2のグループ内の全要素として格納することが
できる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最大値を求め、その最大値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2のグループ内の全要素として格納することが
できる。
【0050】(20):1つのベクトルレジスタVR1に対
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2のグループ単位の全要素として格納すること
ができる。
し、スカラレジスタSR2で1つのスカラ値を指定し、
その1つのスカラ値をグループ単位として、グループ単
位毎にデータ(要素)の最小値を求め、その最小値が格
納されているインデックス(要素番号)をベクトルレジ
スタVR2のグループ単位の全要素として格納すること
ができる。
【0051】以上のようにして、ベクトルの全要素に限
らず、指定されたグループ単位で、最大値、最小値、合
計値、インデックス等を求める処理を可能にすることが
できる。また、画像処理、音声処理など、マルチメディ
ア処理を高速、かつ効率的に処理できるベクトルプロセ
ッサを実現することが可能である。
らず、指定されたグループ単位で、最大値、最小値、合
計値、インデックス等を求める処理を可能にすることが
できる。また、画像処理、音声処理など、マルチメディ
ア処理を高速、かつ効率的に処理できるベクトルプロセ
ッサを実現することが可能である。
【0052】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。以下の実施例では、グループ命令(ベクトルマク
ロ命令)の処理回路(命令実行回路)として、グループ
最大値検索命令処理回路、グループ最小値検索命令処理
回路、グループ合計値命令処理回路、グループ最大値イ
ンデックス検索命令処理回路、グループ最小値インデッ
クス検索命令処理回路の例について説明する。
する。以下の実施例では、グループ命令(ベクトルマク
ロ命令)の処理回路(命令実行回路)として、グループ
最大値検索命令処理回路、グループ最小値検索命令処理
回路、グループ合計値命令処理回路、グループ最大値イ
ンデックス検索命令処理回路、グループ最小値インデッ
クス検索命令処理回路の例について説明する。
【0053】(実施例1の説明)図2、図3は実施例1
を示した図であり、図2、図3中、SR2はスカラレジ
スタ、VR1、VR2はベクトルレジスタ、11はデー
タ用レジスタ、12はグループ値用レジスタ、13はカ
ウンタ値用レジスタ、14はデータ比較器、15はグル
ープ値比較器、16、17はセレクタ、18はインクリ
メント回路、19はOR回路、21、22、23、24
は信号線を示す。
を示した図であり、図2、図3中、SR2はスカラレジ
スタ、VR1、VR2はベクトルレジスタ、11はデー
タ用レジスタ、12はグループ値用レジスタ、13はカ
ウンタ値用レジスタ、14はデータ比較器、15はグル
ープ値比較器、16、17はセレクタ、18はインクリ
メント回路、19はOR回路、21、22、23、24
は信号線を示す。
【0054】§1:グループ最大値検索命令の説明・・
・図2参照 図2は実施例1のグループ最大値検索命令説明図であ
る。実施例1では、グループ命令(ベクトルマクロ命
令)として、グループ最大値検索命令を例にとり説明す
る。
・図2参照 図2は実施例1のグループ最大値検索命令説明図であ
る。実施例1では、グループ命令(ベクトルマクロ命
令)として、グループ最大値検索命令を例にとり説明す
る。
【0055】実施例1のグループ最大値検索命令は、1
つのベクトルレジスタVR1に対し、1つのスカラ値を
グループ単位として、グループ単位毎に最大値を求め、
その値をベクトルレジスタVR2に格納する命令であ
る。この場合、ベクトルレジスタVR1とベクトルレジ
スタVR2は同一レジスタでも構わない。
つのベクトルレジスタVR1に対し、1つのスカラ値を
グループ単位として、グループ単位毎に最大値を求め、
その値をベクトルレジスタVR2に格納する命令であ
る。この場合、ベクトルレジスタVR1とベクトルレジ
スタVR2は同一レジスタでも構わない。
【0056】具体的には次の通りである。グループ値
(グループ単位)は、スカラレジスタSR2に設定され
たスカラ値=4で指定される。すなわち、ベクトルレジ
スタVR1の各要素について、4個の要素を1つのグル
ープとして、各グループ内の最大値を求めるものであ
る。
(グループ単位)は、スカラレジスタSR2に設定され
たスカラ値=4で指定される。すなわち、ベクトルレジ
スタVR1の各要素について、4個の要素を1つのグル
ープとして、各グループ内の最大値を求めるものであ
る。
【0057】例えば、ベクトルレジスタVR1につい
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたスカラ値=4を1グループの要素数としてグループ
化し、各グループ単位で最大値(要素の最大値)を求め
る。
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたスカラ値=4を1グループの要素数としてグループ
化し、各グループ単位で最大値(要素の最大値)を求め
る。
【0058】§2:グループ内最大値を求める処理の説
明 前記グループ最大値検索命令により、各グループ内での
最大値を求める処理は、次の順序で行う。
明 前記グループ最大値検索命令により、各グループ内での
最大値を求める処理は、次の順序で行う。
【0059】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
【0060】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で大きい方の要素
=16とを比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス3の要素として格納する。
クス3の要素=8と、前記の比較結果で大きい方の要素
=16とを比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス3の要素として格納する。
【0061】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で大きい方の要
素=16とを比較し、大きい方の要素=16をベクトル
レジスタVR2のインデックス4の要素として格納す
る。
クス4の要素=12と、前記の比較結果で大きい方の要
素=16とを比較し、大きい方の要素=16をベクトル
レジスタVR2のインデックス4の要素として格納す
る。
【0062】以上の処理により、グループ1の最大値=
16がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2以降の各グループ
に対して、インデックスをインクリメントしながら前記
(1)〜(4)の処理と同じようにして処理を行い、各
グループ毎の最大値を求める。
16がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2以降の各グループ
に対して、インデックスをインクリメントしながら前記
(1)〜(4)の処理と同じようにして処理を行い、各
グループ毎の最大値を求める。
【0063】§3:グループ最大値検索命令処理回路の
説明・・・図3参照 図3は実施例1のグループ最大値検索命令処理回路であ
る。実施例1のグループ最大値検索命令処理回路には、
データ用レジスタ11、グループ値用レジスタ12、カ
ウンタ値用レジスタ13、データ比較器14、グループ
値比較器15、セレクタ16、17、インクリメント回
路18、OR回路19等を設ける。
説明・・・図3参照 図3は実施例1のグループ最大値検索命令処理回路であ
る。実施例1のグループ最大値検索命令処理回路には、
データ用レジスタ11、グループ値用レジスタ12、カ
ウンタ値用レジスタ13、データ比較器14、グループ
値比較器15、セレクタ16、17、インクリメント回
路18、OR回路19等を設ける。
【0064】また、信号線21の信号は制御装置(図示
省略)からのデータスタート信号DS(命令開始信号と
同じ)、信号線22の信号はグループ値比較器15によ
りアサートされる信号、信号線23の信号は信号線2
1、22の論理和信号、信号線24の信号はデータ用レ
ジスタ11の値を出力する信号である。
省略)からのデータスタート信号DS(命令開始信号と
同じ)、信号線22の信号はグループ値比較器15によ
りアサートされる信号、信号線23の信号は信号線2
1、22の論理和信号、信号線24の信号はデータ用レ
ジスタ11の値を出力する信号である。
【0065】前記各部の機能等は次の通りである。 (1) :データ用レジスタ11は、セレクタ16から出力
されたデータ(要素)を出力データとして格納するもの
である。なお、前記データ用レジスタ11のデータは、
ベクトルレジスタVR2の要素として格納される。
されたデータ(要素)を出力データとして格納するもの
である。なお、前記データ用レジスタ11のデータは、
ベクトルレジスタVR2の要素として格納される。
【0066】(2) :グループ値用レジスタ12は、スカ
ラレジスタSR2で指定されたグループ値(実施例1で
はグループ値=4)を格納するものである。 (3) :カウンタ値用レジスタ13は、初期値=1を格納
し、その後、インクリメント回路18により、順次イン
クリメントした値(カウンタ値)を格納するものであ
る。すなわち、カウンタ値用レジスタ13は、各グルー
プ内の処理済み要素数(入力データ数)の計数値を格納
するものである。
ラレジスタSR2で指定されたグループ値(実施例1で
はグループ値=4)を格納するものである。 (3) :カウンタ値用レジスタ13は、初期値=1を格納
し、その後、インクリメント回路18により、順次イン
クリメントした値(カウンタ値)を格納するものであ
る。すなわち、カウンタ値用レジスタ13は、各グルー
プ内の処理済み要素数(入力データ数)の計数値を格納
するものである。
【0067】(4) :データ比較器14は、グループ内の
各データ(要素)の比較を行うものであり、ベクトルレ
ジスタVR1からの入力データ(要素)と、データ用レ
ジスタ11のデータ(要素)を比較し、大きい方のデー
タを出力する。
各データ(要素)の比較を行うものであり、ベクトルレ
ジスタVR1からの入力データ(要素)と、データ用レ
ジスタ11のデータ(要素)を比較し、大きい方のデー
タを出力する。
【0068】(5) :グループ値比較器15は、グループ
値用レジスタ12のグループ値と、カウンタ値用レジス
タ13の値を比較し、両者が等しくなった時、信号線2
2をアサートするものである。
値用レジスタ12のグループ値と、カウンタ値用レジス
タ13の値を比較し、両者が等しくなった時、信号線2
2をアサートするものである。
【0069】(6) :セレクタ16は、信号線21、また
は22がアサートされた時入力データ側を選択し、それ
以外の時はデータ比較器14の出力側を選択するもので
ある。
は22がアサートされた時入力データ側を選択し、それ
以外の時はデータ比較器14の出力側を選択するもので
ある。
【0070】(7) :セレクタ17は、信号線21、また
は22がアサートされた時、値1を選択し、それ以外の
時は、インクリメント回路18の出力を選択するもので
ある。
は22がアサートされた時、値1を選択し、それ以外の
時は、インクリメント回路18の出力を選択するもので
ある。
【0071】(8) :インクリメント回路18は、カウン
タ値用レジスタ13の値をインクリメント(+1)する
ものである。 (9) :OR回路19は、信号線21、22の信号の論理
和を出力するものである。
タ値用レジスタ13の値をインクリメント(+1)する
ものである。 (9) :OR回路19は、信号線21、22の信号の論理
和を出力するものである。
【0072】§4:グループ最大値検索命令処理回路の
動作説明 前記グループ最大値検索命令処理回路の動作は次の通り
である。グループ最大値検索命令を実行する際、制御部
(図示省略)の制御によりグループ最大値検索命令処理
回路において命令の処理(命令の実行)が行われる。
動作説明 前記グループ最大値検索命令処理回路の動作は次の通り
である。グループ最大値検索命令を実行する際、制御部
(図示省略)の制御によりグループ最大値検索命令処理
回路において命令の処理(命令の実行)が行われる。
【0073】先ず、前記制御部により、信号線21のデ
ータスタート信号DSがアサートされた時に、スカラレ
ジスタSR2のグループ値(実施例1ではグループ値=
4)がグループ値用レジスタ12に格納される。
ータスタート信号DSがアサートされた時に、スカラレ
ジスタSR2のグループ値(実施例1ではグループ値=
4)がグループ値用レジスタ12に格納される。
【0074】また、信号線21のデータスタート信号D
Sがアサートされたことにより、セレクタ17が値1を
選択し、セレクタ16が入力データを選択する。従っ
て、カウンタ値用レジスタ13には値1が格納され、デ
ータ用レジスタ11にはベクトルレジスタVR1からの
入力データ(インデックス1の要素)が格納される。
Sがアサートされたことにより、セレクタ17が値1を
選択し、セレクタ16が入力データを選択する。従っ
て、カウンタ値用レジスタ13には値1が格納され、デ
ータ用レジスタ11にはベクトルレジスタVR1からの
入力データ(インデックス1の要素)が格納される。
【0075】そして、前記グループ値用レジスタ12に
格納されたグループ値は命令の実行が終了するまで保持
され、カウンタ値用レジスタ13の値は、ベクトルレジ
スタVR1からデータ(要素)が入力される度に、イン
クリメント回路18によりインクリメント(+1)され
る。この場合、セレクタ17では、信号線23がアサー
トされた時は値1を選択するが、それ以外の時はインク
リメント回路18の出力を選択する。
格納されたグループ値は命令の実行が終了するまで保持
され、カウンタ値用レジスタ13の値は、ベクトルレジ
スタVR1からデータ(要素)が入力される度に、イン
クリメント回路18によりインクリメント(+1)され
る。この場合、セレクタ17では、信号線23がアサー
トされた時は値1を選択するが、それ以外の時はインク
リメント回路18の出力を選択する。
【0076】グループ値比較器15では、常にグループ
値用レジスタ12のグループ値と、カウンタ値用レジス
タ13の値が比較され、両者が等しくなると、信号線2
2に信号をアサートする。
値用レジスタ12のグループ値と、カウンタ値用レジス
タ13の値が比較され、両者が等しくなると、信号線2
2に信号をアサートする。
【0077】信号線21、或いは信号線22がアサート
されると、信号線23がアサートされ、セレクタ17が
値1を選択し、カウンタ値用レジスタ13に値1を格納
する。信号線23がアサートされない場合は、カウンタ
値用レジスタ13の値は、インクリメント回路18によ
りインクリメントされる。
されると、信号線23がアサートされ、セレクタ17が
値1を選択し、カウンタ値用レジスタ13に値1を格納
する。信号線23がアサートされない場合は、カウンタ
値用レジスタ13の値は、インクリメント回路18によ
りインクリメントされる。
【0078】一方、ベクトルレジスタVR1の最初の要
素は、入力データとしてセレクタ16を介してデータ用
レジスタ11に格納される。セレクタ16は、信号線2
3がアサートされている場合は、入力データを選択し、
それ以外の場合は、データ比較器14の出力側(比較結
果)を選択する。
素は、入力データとしてセレクタ16を介してデータ用
レジスタ11に格納される。セレクタ16は、信号線2
3がアサートされている場合は、入力データを選択し、
それ以外の場合は、データ比較器14の出力側(比較結
果)を選択する。
【0079】最初は、信号線21がアサートされ、信号
線23がアサートされるので、セレクタ16は入力デー
タを選択する。入力データはデータ用レジスタ11に格
納され、データ比較器14で次の入力データと比較さ
れ、データ比較器14では大きい方のデータを出力す
る。
線23がアサートされるので、セレクタ16は入力デー
タを選択する。入力データはデータ用レジスタ11に格
納され、データ比較器14で次の入力データと比較さ
れ、データ比較器14では大きい方のデータを出力す
る。
【0080】グループ内最大値は、データ比較器14に
おいてグループの最後のデータが比較された後に、デー
タ用レジスタ11に格納される。その後、データ用レジ
スタ11から出力された出力データは、ベクトルレジス
タVR2に格納される。
おいてグループの最後のデータが比較された後に、デー
タ用レジスタ11に格納される。その後、データ用レジ
スタ11から出力された出力データは、ベクトルレジス
タVR2に格納される。
【0081】§5:グループ最大値検索命令処理回路の
具体例に基づく動作説明 以下、図3に示したグループ最大値検索命令処理回路の
動作を、図2の例に基づいて具体的に説明する。
具体例に基づく動作説明 以下、図3に示したグループ最大値検索命令処理回路の
動作を、図2の例に基づいて具体的に説明する。
【0082】(1) :グループ最大値検索命令の実行が開
始されると、信号線21がアサートされる(例えば、ハ
イレベル信号=1になる)。この時グループ値用レジス
タ12には、スカラレジスタSR2で指定されたグルー
プ値=4が格納される。
始されると、信号線21がアサートされる(例えば、ハ
イレベル信号=1になる)。この時グループ値用レジス
タ12には、スカラレジスタSR2で指定されたグルー
プ値=4が格納される。
【0083】また、信号線21がアサートされることに
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。この時セレクタ16が入力データを選択するので、
データ用レジスタ11にはベクトルレジスタVR1のイ
ンデックス(要素番号)1のデータ(要素)=16が格
納される。
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。この時セレクタ16が入力データを選択するので、
データ用レジスタ11にはベクトルレジスタVR1のイ
ンデックス(要素番号)1のデータ(要素)=16が格
納される。
【0084】この状態で、データ用レジスタ11からの
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ(要素)=4(入力データ)が入力すると、
入力したデータ=4はデータ比較器14に入力し、デー
タ用レジスタ11のデータ=16(インデックス1のデ
ータ)と比較される。この場合、データ16の方が大き
いので、データ比較器14ではデータ16を出力する。
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ(要素)=4(入力データ)が入力すると、
入力したデータ=4はデータ比較器14に入力し、デー
タ用レジスタ11のデータ=16(インデックス1のデ
ータ)と比較される。この場合、データ16の方が大き
いので、データ比較器14ではデータ16を出力する。
【0085】このため、データ用レジスタ11には、セ
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス2の要素として格納される。
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス2の要素として格納される。
【0086】また、ベクトルレジスタVR1からインデ
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
【0087】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=2が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=2が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
【0088】(3) :次に、ベクトルレジスタVR1から
インデックス3のデータ=8(入力データ)が入力する
と、入力したデータ=8はデータ比較器14に入力し、
データ用レジスタ11のデータ=16と比較される。こ
の場合、データ16の方が大きいので、データ比較器1
4ではデータ16を出力する。
インデックス3のデータ=8(入力データ)が入力する
と、入力したデータ=8はデータ比較器14に入力し、
データ用レジスタ11のデータ=16と比較される。こ
の場合、データ16の方が大きいので、データ比較器1
4ではデータ16を出力する。
【0089】このため、データ用レジスタ11には、セ
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス3の要素として格納される。
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス3の要素として格納される。
【0090】また、ベクトルレジスタVR1からインデ
ックス3のデータ=8(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=2はインクリメント回路
18によりインクリメントされて2+1=3となる。
ックス3のデータ=8(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=2はインクリメント回路
18によりインクリメントされて2+1=3となる。
【0091】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=3が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=3が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
【0092】(4) :次に、ベクトルレジスタVR1から
インデックス4のデータ=12(入力データ)が入力す
ると、入力したデータ=12はデータ比較器14に入力
し、データ用レジスタ11のデータ=16と比較され
る。この場合、データ16の方が大きいので、データ比
較器14ではデータ16を出力する。
インデックス4のデータ=12(入力データ)が入力す
ると、入力したデータ=12はデータ比較器14に入力
し、データ用レジスタ11のデータ=16と比較され
る。この場合、データ16の方が大きいので、データ比
較器14ではデータ16を出力する。
【0093】このため、データ用レジスタ11には、セ
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス4の要素として格納される。なお、こ
の時データ比較器14から出力されるデータ=16がグ
ループ内最大値となる。
レクタ16を介してデータ比較器14から出力されたデ
ータ16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス4の要素として格納される。なお、こ
の時データ比較器14から出力されるデータ=16がグ
ループ内最大値となる。
【0094】また、ベクトルレジスタVR1からインデ
ックス4のデータ=12(入力データ)が入力した時、
カウンタ値用レジスタ13の値=3はインクリメント回
路18によりインクリメントされて3+1=4となる。
ックス4のデータ=12(入力データ)が入力した時、
カウンタ値用レジスタ13の値=3はインクリメント回
路18によりインクリメントされて3+1=4となる。
【0095】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=4が比較され、両者が等しくなるの
で信号線22がアサートされ、信号線23もアサートさ
れる(例えば、ローレベル=1の状態)。
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=4が比較され、両者が等しくなるの
で信号線22がアサートされ、信号線23もアサートさ
れる(例えば、ローレベル=1の状態)。
【0096】(5) :前記のように、信号線23がアサー
トされると、セレクタ17が値1を選択し、カウンタ値
用レジスタ13に初期値として値1が格納される。また
この時、セレクタ16が入力データ側を選択する。
トされると、セレクタ17が値1を選択し、カウンタ値
用レジスタ13に初期値として値1が格納される。また
この時、セレクタ16が入力データ側を選択する。
【0097】この状態で、ベクトルレジスタVR1のイ
ンデックス5のデータ=6が入力すると、データ用レジ
スタ11には、セレクタ16を介してベクトルレジスタ
VR1のインデックス5のデータ=6が格納される。
ンデックス5のデータ=6が入力すると、データ用レジ
スタ11には、セレクタ16を介してベクトルレジスタ
VR1のインデックス5のデータ=6が格納される。
【0098】(6) :次に、ベクトルレジスタVR1から
インデックス6のデータ=24(入力データ)が入力す
ると、入力したデータ=24はデータ比較器14に入力
し、データ用レジスタ11のデータ=6(インデックス
5のデータ)と比較される。この場合、データ24の方
が大きいので、データ比較器14ではデータ24を出力
する。
インデックス6のデータ=24(入力データ)が入力す
ると、入力したデータ=24はデータ比較器14に入力
し、データ用レジスタ11のデータ=6(インデックス
5のデータ)と比較される。この場合、データ24の方
が大きいので、データ比較器14ではデータ24を出力
する。
【0099】このため、データ用レジスタ11には、セ
レクタ16を介してデータ比較器14から出力されたデ
ータ24が格納される。この状態で、データ用レジスタ
11からの出力データ=24は、ベクトルレジスタVR
1のインデックス6の要素として格納される。
レクタ16を介してデータ比較器14から出力されたデ
ータ24が格納される。この状態で、データ用レジスタ
11からの出力データ=24は、ベクトルレジスタVR
1のインデックス6の要素として格納される。
【0100】また、ベクトルレジスタVR1からインデ
ックス6のデータ=24(入力データ)が入力した時、
カウンタ値用レジスタ13の値=1はインクリメント回
路18によりインクリメントされて1+1=2となる。
ックス6のデータ=24(入力データ)が入力した時、
カウンタ値用レジスタ13の値=1はインクリメント回
路18によりインクリメントされて1+1=2となる。
【0101】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=2が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=2が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
【0102】(7) :次に、ベクトルレジスタVR1から
インデックス7のデータ=32(入力データ)が入力す
ると、入力したデータ=24はデータ比較器14に入力
し、データ用レジスタ11のデータ=24と比較され
る。この場合、データ32の方が大きいので、データ比
較器14ではデータ32を出力する。
インデックス7のデータ=32(入力データ)が入力す
ると、入力したデータ=24はデータ比較器14に入力
し、データ用レジスタ11のデータ=24と比較され
る。この場合、データ32の方が大きいので、データ比
較器14ではデータ32を出力する。
【0103】このため、データ用レジスタ11には、セ
レクタ16を介してデータ比較器14から出力されたデ
ータ32が格納される。この状態で、データ用レジスタ
11からの出力データ=32は、ベクトルレジスタVR
1のインデックス7の要素として格納される。
レクタ16を介してデータ比較器14から出力されたデ
ータ32が格納される。この状態で、データ用レジスタ
11からの出力データ=32は、ベクトルレジスタVR
1のインデックス7の要素として格納される。
【0104】また、ベクトルレジスタVR1からインデ
ックス7のデータ=32(入力データ)が入力した時、
カウンタ値用レジスタ13の値=2はインクリメント回
路18によりインクリメントされて2+1=3となる。
ックス7のデータ=32(入力データ)が入力した時、
カウンタ値用レジスタ13の値=2はインクリメント回
路18によりインクリメントされて2+1=3となる。
【0105】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=3が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
ープ値用レジスタ12のグループ値=4とカウンタ値用
レジスタ13の値=3が比較されるが、両者は等しくな
いので信号線22はアサートされず、信号線23もアサ
ートされない(例えば、ローレベル=0の状態)。
【0106】以降、前記と同様に動作して、図2に示し
たグループ最大値検索命令の処理を行う。 (実施例2の説明)図4、図5は実施例2を示した図で
あり、図4、図5中、図2、図3と同じものは、同一符
号で示してある。また、26は制御部を示す。
たグループ最大値検索命令の処理を行う。 (実施例2の説明)図4、図5は実施例2を示した図で
あり、図4、図5中、図2、図3と同じものは、同一符
号で示してある。また、26は制御部を示す。
【0107】§1:グループ最大値検索命令の説明・・
・図4参照 図4は実施例2のグループ最大値検索命令説明図であ
る。実施例1のグループ最大値検索命令との相違は、グ
ループ値を数種類用意している点(実施例1では1種類
であるが、実施例2では2種類)である。グループ値を
指定する方法は、スカラレジスタを数個用意しても良い
し、1つのスカラレジスタで数種類指定することも可能
である。
・図4参照 図4は実施例2のグループ最大値検索命令説明図であ
る。実施例1のグループ最大値検索命令との相違は、グ
ループ値を数種類用意している点(実施例1では1種類
であるが、実施例2では2種類)である。グループ値を
指定する方法は、スカラレジスタを数個用意しても良い
し、1つのスカラレジスタで数種類指定することも可能
である。
【0108】図4では、1つのスカラレジスタSR2に
2種類のグループ値(2、4)を指定している。この場
合のグループ値は、2→4→2→4→2・・・とサイク
リックに変化する。そして、そのグループ値に対応して
グループ内の最大値を求めていく。なお、各グループ内
の最大値を求める処理は実施例1と同じである。
2種類のグループ値(2、4)を指定している。この場
合のグループ値は、2→4→2→4→2・・・とサイク
リックに変化する。そして、そのグループ値に対応して
グループ内の最大値を求めていく。なお、各グループ内
の最大値を求める処理は実施例1と同じである。
【0109】§2:グループ内最大値を求める処理の説
明 具体的には次の通りである。先ず、ベクトルレジスタV
R1のインデックス1、2からなるグループでは、次の
ようにしてグループ内最大値を求める。
明 具体的には次の通りである。先ず、ベクトルレジスタV
R1のインデックス1、2からなるグループでは、次の
ようにしてグループ内最大値を求める。
【0110】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
以上の処理により、インデックス1、2からなる最初の
グループの最大値=16がベクトルレジスタVR2のイ
ンデックス2に格納される。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
以上の処理により、インデックス1、2からなる最初の
グループの最大値=16がベクトルレジスタVR2のイ
ンデックス2に格納される。
【0111】次に、ベクトルレジスタVR1のインデッ
クス3、4、5、6からなるグループでは、次のように
してグループ内最大値を求める。 (3) :ベクトルレジスタVR1のインデックス3の要素
=8を、ベクトルレジスタVR2のインデックス3の要
素として格納する。
クス3、4、5、6からなるグループでは、次のように
してグループ内最大値を求める。 (3) :ベクトルレジスタVR1のインデックス3の要素
=8を、ベクトルレジスタVR2のインデックス3の要
素として格納する。
【0112】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、ベクトルレジスタVR2のイン
デックス3の要素=8を比較し、大きい方の要素=12
をベクトルレジスタVR2のインデックス4の要素とし
て格納する。
クス4の要素=12と、ベクトルレジスタVR2のイン
デックス3の要素=8を比較し、大きい方の要素=12
をベクトルレジスタVR2のインデックス4の要素とし
て格納する。
【0113】(5) :ベクトルレジスタVR1のインデッ
クス5の要素=6と、前記の比較結果で大きい方の要素
=12を比較し、大きい方の要素=12をベクトルレジ
スタVR2のインデックス5の要素として格納する。
クス5の要素=6と、前記の比較結果で大きい方の要素
=12を比較し、大きい方の要素=12をベクトルレジ
スタVR2のインデックス5の要素として格納する。
【0114】(6) :ベクトルレジスタVR1のインデッ
クス6の要素=24と、前記の比較結果で大きい方の要
素=12を比較し、大きい方の要素=24をベクトルレ
ジスタVR2のインデックス6の要素として格納する。
クス6の要素=24と、前記の比較結果で大きい方の要
素=12を比較し、大きい方の要素=24をベクトルレ
ジスタVR2のインデックス6の要素として格納する。
【0115】以上の処理により、インデックス3、4、
5、6からなるグループの最大値=24がベクトルレジ
スタVR2のインデックス6に格納される。更に、ベク
トルレジスタVR1のインデックス7、8からなるグル
ープでは、次のようにしてグループ内最大値を求める。
5、6からなるグループの最大値=24がベクトルレジ
スタVR2のインデックス6に格納される。更に、ベク
トルレジスタVR1のインデックス7、8からなるグル
ープでは、次のようにしてグループ内最大値を求める。
【0116】(7) :ベクトルレジスタVR1のインデッ
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR2のインデックス7の要
素=32を比較し、大きい方の要素=32をベクトルレ
ジスタVR2のインデックス8の要素として格納する。
以上の処理により、インデックス7、8からなるグルー
プの最大値=32がベクトルレジスタVR2のインデッ
クス8に格納される。
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR2のインデックス7の要
素=32を比較し、大きい方の要素=32をベクトルレ
ジスタVR2のインデックス8の要素として格納する。
以上の処理により、インデックス7、8からなるグルー
プの最大値=32がベクトルレジスタVR2のインデッ
クス8に格納される。
【0117】以降、各グループに対して、インデックス
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の最大値を求める。 §3:グループ最大値検索命令処理回路の説明・・・図
5参照 図5は実施例2のグループ最大値検索命令処理回路であ
る。実施例2のグループ最大値検索命令処理回路は、図
2に示した実施例1の回路と実質的に同じ構成である。
ただし、グループ値比較器15により信号線22がアサ
ートされた時、この信号線22の信号により、制御部2
6に対して新たなグループ値を要求するように構成した
点が異なる。
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の最大値を求める。 §3:グループ最大値検索命令処理回路の説明・・・図
5参照 図5は実施例2のグループ最大値検索命令処理回路であ
る。実施例2のグループ最大値検索命令処理回路は、図
2に示した実施例1の回路と実質的に同じ構成である。
ただし、グループ値比較器15により信号線22がアサ
ートされた時、この信号線22の信号により、制御部2
6に対して新たなグループ値を要求するように構成した
点が異なる。
【0118】すなわち、実施例2の回路では、制御部2
6が前記新たなグループ値の要求を受けた時、制御部2
6がスカラレジスタSR2から、次の新たなグループ値
を読み出して、グループ値用レジスタ12に設定する。
6が前記新たなグループ値の要求を受けた時、制御部2
6がスカラレジスタSR2から、次の新たなグループ値
を読み出して、グループ値用レジスタ12に設定する。
【0119】§4:グループ最大値検索命令処理回路の
具体例に基づく動作説明・・・図4、図5参照 以下、図5に示したグループ最大値検索命令処理回路の
動作を、図4の例に基づいて具体的に説明する。
具体例に基づく動作説明・・・図4、図5参照 以下、図5に示したグループ最大値検索命令処理回路の
動作を、図4の例に基づいて具体的に説明する。
【0120】(1) :グループ最大値検索命令の実行が開
始されると、信号線21がアサートされる(例えば、ハ
イレベル信号=1になる)。この時グループ値用レジス
タ12には、スカラレジスタSR2に格納されているグ
ループ値=2が格納される。
始されると、信号線21がアサートされる(例えば、ハ
イレベル信号=1になる)。この時グループ値用レジス
タ12には、スカラレジスタSR2に格納されているグ
ループ値=2が格納される。
【0121】また、信号線21がアサートされることに
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。またこの時、セレクタ16が入力データを選択する
ので、データ用レジスタ11にはベクトルレジスタVR
1のインデックス1のデータ(要素)=16が格納され
る。
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。またこの時、セレクタ16が入力データを選択する
ので、データ用レジスタ11にはベクトルレジスタVR
1のインデックス1のデータ(要素)=16が格納され
る。
【0122】この状態で、データ用レジスタ11からの
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ=4(入力データ)が入力すると、入力した
データ=4はデータ比較器14に入力し、データ用レジ
スタ11のデータ=16と比較される。この場合、デー
タ=16の方が大きいので、データ比較器14ではデー
タ=16を出力する。
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ=4(入力データ)が入力すると、入力した
データ=4はデータ比較器14に入力し、データ用レジ
スタ11のデータ=16と比較される。この場合、デー
タ=16の方が大きいので、データ比較器14ではデー
タ=16を出力する。
【0123】このため、データ用レジスタ11にはセレ
クタ16を介してデータ比較器14から出力されたデー
タ=16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス2の要素として格納される。なお、こ
の時データ比較器14から出力されるデータ=16がグ
ループ内最大値となる。
クタ16を介してデータ比較器14から出力されたデー
タ=16が格納される。この状態で、データ用レジスタ
11からの出力データ=16は、ベクトルレジスタVR
1のインデックス2の要素として格納される。なお、こ
の時データ比較器14から出力されるデータ=16がグ
ループ内最大値となる。
【0124】また、ベクトルレジスタVR1からインデ
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
【0125】この時、グループ値比較器15では、グル
ープ値用レジスタ12のグループ値=2とカウンタ値用
レジスタ13の値=2が比較され、両者が等しくなるの
で信号線22がアサートされ、信号線23もアサートさ
れる(例えば、ローレベル=1の状態)。
ープ値用レジスタ12のグループ値=2とカウンタ値用
レジスタ13の値=2が比較され、両者が等しくなるの
で信号線22がアサートされ、信号線23もアサートさ
れる(例えば、ローレベル=1の状態)。
【0126】(3) :前記のように、信号線22がアサー
トされると、この信号により、制御部26に対して新た
なグループ値を要求する。制御部26では前記要求を受
けると、スカラレジスタSR2から次の新たなグループ
値=4を読み出し、グループ値用レジスタ12に格納す
る。
トされると、この信号により、制御部26に対して新た
なグループ値を要求する。制御部26では前記要求を受
けると、スカラレジスタSR2から次の新たなグループ
値=4を読み出し、グループ値用レジスタ12に格納す
る。
【0127】この時、信号線23がアサートされるの
で、セレクタ17が値1を選択し、カウンタ値用レジス
タ13に初期値として値1が格納される。また、セレク
タ16が入力データ側を選択する。
で、セレクタ17が値1を選択し、カウンタ値用レジス
タ13に初期値として値1が格納される。また、セレク
タ16が入力データ側を選択する。
【0128】この状態で、ベクトルレジスタVR1のイ
ンデックス3のデータ(要素)=8が入力すると、デー
タ用レジスタ11には、セレクタ16を介してベクトル
レジスタVR1のインデックス3のデータ(要素)=8
が格納される。
ンデックス3のデータ(要素)=8が入力すると、デー
タ用レジスタ11には、セレクタ16を介してベクトル
レジスタVR1のインデックス3のデータ(要素)=8
が格納される。
【0129】(4) :次に、ベクトルレジスタVR1から
インデックス4のデータ=12(入力データ)が入力す
ると、入力したデータ=12はデータ比較器14に入力
し、データ用レジスタ11のデータ=8と比較される。
この場合、データ=12の方が大きいので、データ比較
器14ではデータ=12を出力する。
インデックス4のデータ=12(入力データ)が入力す
ると、入力したデータ=12はデータ比較器14に入力
し、データ用レジスタ11のデータ=8と比較される。
この場合、データ=12の方が大きいので、データ比較
器14ではデータ=12を出力する。
【0130】このため、データ用レジスタ11にはセレ
クタ16を介してデータ比較器14から出力されたデー
タ=12が格納される。この状態で、データ用レジスタ
11からの出力データ=12は、ベクトルレジスタVR
1のインデックス4の要素として格納される。
クタ16を介してデータ比較器14から出力されたデー
タ=12が格納される。この状態で、データ用レジスタ
11からの出力データ=12は、ベクトルレジスタVR
1のインデックス4の要素として格納される。
【0131】また、ベクトルレジスタVR1からインデ
ックス4のデータ=12(入力データ)が入力した時、
カウンタ値用レジスタ13の値=1はインクリメント回
路18によりインクリメントされて1+1=2となる。
ックス4のデータ=12(入力データ)が入力した時、
カウンタ値用レジスタ13の値=1はインクリメント回
路18によりインクリメントされて1+1=2となる。
【0132】この時、グループ値比較器15では、グル
ープ値用レジスタ12の値=4とカウンタ値用レジスタ
13の値=2が比較されるが、両者は等しくないので信
号線22はアサートされず、信号線23もアサートされ
ない(例えば、ローレベル=0の状態)。以降同様に動
作する。
ープ値用レジスタ12の値=4とカウンタ値用レジスタ
13の値=2が比較されるが、両者は等しくないので信
号線22はアサートされず、信号線23もアサートされ
ない(例えば、ローレベル=0の状態)。以降同様に動
作する。
【0133】(実施例3の説明)図6は実施例3のグル
ープ最大値検索命令説明図である。図6中、図2〜図5
と同じものは、同一符号で示してある。また、VR3は
ベクトルレジスタである。
ープ最大値検索命令説明図である。図6中、図2〜図5
と同じものは、同一符号で示してある。また、VR3は
ベクトルレジスタである。
【0134】グループ値を指定するのに、実施例2では
スカラレジスタSR2で指定しているのに対して、実施
例3ではベクトルレジスタVR3で指定している点が異
なる。しかし、前記の点以外は実施例2と同じである。
この場合実施例3では、ベクトルレジスタVR3のベク
トル値によりグループ値を4→2→2→4・・・のよう
に指定する。
スカラレジスタSR2で指定しているのに対して、実施
例3ではベクトルレジスタVR3で指定している点が異
なる。しかし、前記の点以外は実施例2と同じである。
この場合実施例3では、ベクトルレジスタVR3のベク
トル値によりグループ値を4→2→2→4・・・のよう
に指定する。
【0135】グループ内最大値を求める処理は次の通り
である。図6において、先ず、ベクトルレジスタVR1
のインデックス1〜4からなるグループでは、次のよう
にしてグループ内最大値を求める。
である。図6において、先ず、ベクトルレジスタVR1
のインデックス1〜4からなるグループでは、次のよう
にしてグループ内最大値を求める。
【0136】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス2の要素として格納する。
【0137】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で大きい方の要素
=16を比較し、大きい方の要素=16をベクトルレジ
スタVR2のインデックス3の要素として格納する。
クス3の要素=8と、前記の比較結果で大きい方の要素
=16を比較し、大きい方の要素=16をベクトルレジ
スタVR2のインデックス3の要素として格納する。
【0138】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で大きい方の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス4の要素として格納する。
クス4の要素=12と、前記の比較結果で大きい方の要
素=16を比較し、大きい方の要素=16をベクトルレ
ジスタVR2のインデックス4の要素として格納する。
【0139】以上の処理により、インデックス1〜4か
らなる最初のグループの最大値=16がベクトルレジス
タVR2のインデックス4に格納される。以降同様にし
てグループ内最大値を求める。
らなる最初のグループの最大値=16がベクトルレジス
タVR2のインデックス4に格納される。以降同様にし
てグループ内最大値を求める。
【0140】なお、実施例3で使用するグループ最大値
検索命令処理回路は、実施例2と実質的に同じ(図5の
スカラレジスタSR2をベクトルレジスタVR3で置き
換えた回路)なので説明は省略する。ただし、グループ
値は、実施例2のようにスカラレジスタではなく、ベク
トルレジスタVR3のベクトル値により指定する。
検索命令処理回路は、実施例2と実質的に同じ(図5の
スカラレジスタSR2をベクトルレジスタVR3で置き
換えた回路)なので説明は省略する。ただし、グループ
値は、実施例2のようにスカラレジスタではなく、ベク
トルレジスタVR3のベクトル値により指定する。
【0141】(実施例4の説明)図7、図8は実施例4
を示した図であり、図7、図8中、図2〜図6と同じも
のは、同一符号で示してある。また、27はAND回路
を示す。
を示した図であり、図7、図8中、図2〜図6と同じも
のは、同一符号で示してある。また、27はAND回路
を示す。
【0142】§1:グループ最大値検索命令の説明・・
・図7参照 図7は実施例4のグループ最大値検索命令説明図であ
る。実施例1では、データ比較器14でデータの比較を
行う度に、ディストネーションとなるベクトルレジスタ
VR2へデータを格納したが、実施例4では、このよう
な処理をせず、グループ内最大値が確定した後に、まと
めてベクトルレジスタVR2の各インデックス(グルー
プ単位の全要素)に、同じグループ内最大値を格納する
例である。なお、グループ内最大値を求める処理は実施
例1と同じである。具体的には次の通りである。
・図7参照 図7は実施例4のグループ最大値検索命令説明図であ
る。実施例1では、データ比較器14でデータの比較を
行う度に、ディストネーションとなるベクトルレジスタ
VR2へデータを格納したが、実施例4では、このよう
な処理をせず、グループ内最大値が確定した後に、まと
めてベクトルレジスタVR2の各インデックス(グルー
プ単位の全要素)に、同じグループ内最大値を格納する
例である。なお、グループ内最大値を求める処理は実施
例1と同じである。具体的には次の通りである。
【0143】実施例4ではスカラレジスタSR2に格納
されたグループ値は4であるから、ベクトルレジスタV
R1の4個の要素毎にグループ内最大値を求める。例え
ば、図7において、ベクトルレジスタVR1のグループ
1では要素が16、4、8、12であるから、そのグル
ープ内最大値は16である。
されたグループ値は4であるから、ベクトルレジスタV
R1の4個の要素毎にグループ内最大値を求める。例え
ば、図7において、ベクトルレジスタVR1のグループ
1では要素が16、4、8、12であるから、そのグル
ープ内最大値は16である。
【0144】従って、グループ1の最大値=16が確定
した時点で、ディストネーションとなるベクトルレジス
タVR2の4個のインデックスに、グループ内最大値=
16を格納する。
した時点で、ディストネーションとなるベクトルレジス
タVR2の4個のインデックスに、グループ内最大値=
16を格納する。
【0145】また、ベクトルレジスタVR1のグループ
2では要素が6、24、32、4であるから、そのグル
ープ内最大値は32である。従って、グループ2の最大
値=32が確定した時点で、ディストネーションとなる
ベクトルレジスタVR2の4個のインデックスに、グル
ープ内最大値=32を格納する。以降同様にしてグルー
プ内最大値を求め、ベクトルレジスタVR2に格納す
る。
2では要素が6、24、32、4であるから、そのグル
ープ内最大値は32である。従って、グループ2の最大
値=32が確定した時点で、ディストネーションとなる
ベクトルレジスタVR2の4個のインデックスに、グル
ープ内最大値=32を格納する。以降同様にしてグルー
プ内最大値を求め、ベクトルレジスタVR2に格納す
る。
【0146】§2:グループ最大値検索命令処理回路の
説明・・・図8参照 図8は実施例4のグループ最大値検索命令処理回路であ
る。図8において、AND回路27以外の構成は実施例
1と同じである。実施例4では、前記の処理を実現する
ため、図2に示した実施例1の回路にAND回路27を
付加したものである。
説明・・・図8参照 図8は実施例4のグループ最大値検索命令処理回路であ
る。図8において、AND回路27以外の構成は実施例
1と同じである。実施例4では、前記の処理を実現する
ため、図2に示した実施例1の回路にAND回路27を
付加したものである。
【0147】すなわち、データ用レジスタ11の出力を
そのままベクトルレジスタVR2へ出力するのではな
く、AND回路27で、データ用レジスタ11の出力
と、信号線22の信号との論理積によりベクトルレジス
タVR2へ出力している。
そのままベクトルレジスタVR2へ出力するのではな
く、AND回路27で、データ用レジスタ11の出力
と、信号線22の信号との論理積によりベクトルレジス
タVR2へ出力している。
【0148】従って、グループ値比較器15により信号
線22がアサートされた時(グループ値が一致した
時)、AND回路27を介して、グループ値で指定され
た数だけ、データ用レジスタ11の値をベクトルレジス
タVR2へ出力する。このようにすれば、図7に示した
グループ最大値検索命令の処理が可能である。なお、グ
ループ内最大値を求める処理は、実施例1と同じなので
説明は省略する。
線22がアサートされた時(グループ値が一致した
時)、AND回路27を介して、グループ値で指定され
た数だけ、データ用レジスタ11の値をベクトルレジス
タVR2へ出力する。このようにすれば、図7に示した
グループ最大値検索命令の処理が可能である。なお、グ
ループ内最大値を求める処理は、実施例1と同じなので
説明は省略する。
【0149】(実施例5の説明)図9は実施例5のグル
ープ最小値検索命令説明図である。図9中、図2〜図8
と同じものは、同一符号で示してある。
ープ最小値検索命令説明図である。図9中、図2〜図8
と同じものは、同一符号で示してある。
【0150】§1:グループ最小値検索命令の説明・・
・図9参照 実施例5のグループ最小値検索命令は、1つのベクトル
レジスタVR1に対し、1つのスカラ値をグループ単位
として、グループ単位毎に最小値を求め、その値をベク
トルレジスタVR2に格納する命令である。この場合、
ベクトルレジスタVR1とベクトルレジスタVR2は同
一レジスタでも構わない。
・図9参照 実施例5のグループ最小値検索命令は、1つのベクトル
レジスタVR1に対し、1つのスカラ値をグループ単位
として、グループ単位毎に最小値を求め、その値をベク
トルレジスタVR2に格納する命令である。この場合、
ベクトルレジスタVR1とベクトルレジスタVR2は同
一レジスタでも構わない。
【0151】具体的には次の通りである。この例では、
スカラレジスタSR2に設定されたグループ値=4が、
ベクトルレジスタVR1のグループ内の要素数を示して
いる。すなわち、ベクトルレジスタVR1の各要素につ
いて、4個の要素を1つのグループとして、各グループ
内の最小値を求めるものである。
スカラレジスタSR2に設定されたグループ値=4が、
ベクトルレジスタVR1のグループ内の要素数を示して
いる。すなわち、ベクトルレジスタVR1の各要素につ
いて、4個の要素を1つのグループとして、各グループ
内の最小値を求めるものである。
【0152】例えば、ベクトルレジスタVR1につい
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたグループ値=4を1グループの要素数として、グル
ープ化し、各グループ単位で最小値(要素の最小値)を
求める。
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたグループ値=4を1グループの要素数として、グル
ープ化し、各グループ単位で最小値(要素の最小値)を
求める。
【0153】§2:グループ内最小値を求める処理の説
明 各グループ内での最小値を求める処理は、次の順序で行
う。 (1) :ベクトルレジスタVR1のインデックス1の要素
=16を、ベクトルレジスタVR2のインデックス1の
要素として格納する。
明 各グループ内での最小値を求める処理は、次の順序で行
う。 (1) :ベクトルレジスタVR1のインデックス1の要素
=16を、ベクトルレジスタVR2のインデックス1の
要素として格納する。
【0154】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR2のインデ
ックス1の要素=16を比較し、小さい方の要素=4を
ベクトルレジスタVR2のインデックス2の要素として
格納する。
クス2の要素=4と、ベクトルレジスタVR2のインデ
ックス1の要素=16を比較し、小さい方の要素=4を
ベクトルレジスタVR2のインデックス2の要素として
格納する。
【0155】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で小さい方の要素
=4を比較し、小さい方の要素=4をベクトルレジスタ
VR2のインデックス3の要素として格納する。
クス3の要素=8と、前記の比較結果で小さい方の要素
=4を比較し、小さい方の要素=4をベクトルレジスタ
VR2のインデックス3の要素として格納する。
【0156】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で小さい方の要
素=4を比較し、小さい方の要素=4をベクトルレジス
タVR2のインデックス4の要素として格納する。
クス4の要素=12と、前記の比較結果で小さい方の要
素=4を比較し、小さい方の要素=4をベクトルレジス
タVR2のインデックス4の要素として格納する。
【0157】以上の処理により、グループ1の最小値=
4がベクトルレジスタVR2のインデックス4の要素と
して格納される。以下、グループ2以降の各グループに
対して、インデックスをインクリメントしながら前記
(1)〜(4)の処理と同じようにして処理を行い、各
グループ毎の最小値を求める。
4がベクトルレジスタVR2のインデックス4の要素と
して格納される。以下、グループ2以降の各グループに
対して、インデックスをインクリメントしながら前記
(1)〜(4)の処理と同じようにして処理を行い、各
グループ毎の最小値を求める。
【0158】§3:グループ最小値検索命令処理回路の
説明 前記グループ最小値検索命令の処理を実現するため、グ
ループ最小値検索命令処理回路を使用するが、この回路
は、図2に示したグループ最大値検索命令処理回路にお
いて、データ比較器14の処理を変更するだけで実現で
きる。
説明 前記グループ最小値検索命令の処理を実現するため、グ
ループ最小値検索命令処理回路を使用するが、この回路
は、図2に示したグループ最大値検索命令処理回路にお
いて、データ比較器14の処理を変更するだけで実現で
きる。
【0159】この場合、前記データ比較器14では、入
力データと、データ用レジスタ11の値を比較し、小さ
い方のデータを出力するように構成する。このようにす
れば、前記実施例5の処理が可能となる。
力データと、データ用レジスタ11の値を比較し、小さ
い方のデータを出力するように構成する。このようにす
れば、前記実施例5の処理が可能となる。
【0160】(実施例6の説明)図10は実施例6のグ
ループ最小値検索命令説明図である。図10中、図2〜
図9と同じものは、同一符号で示してある。
ループ最小値検索命令説明図である。図10中、図2〜
図9と同じものは、同一符号で示してある。
【0161】§1:グループ最小値検索命令の説明・・
・図10参照 実施例6は、実施例2において、グループ内最小値を求
めるようにした例である。実施例6でも、1つのスカラ
レジスタSR2に2種類のグループ値(2、4)を指定
している。この場合のグループ値は、2→4→2→4→
2・・・とサイクリックに変化する。そして、そのグル
ープ値に対応してグループ内の最小値を求めていく。
・図10参照 実施例6は、実施例2において、グループ内最小値を求
めるようにした例である。実施例6でも、1つのスカラ
レジスタSR2に2種類のグループ値(2、4)を指定
している。この場合のグループ値は、2→4→2→4→
2・・・とサイクリックに変化する。そして、そのグル
ープ値に対応してグループ内の最小値を求めていく。
【0162】§2:グループ内最小値を求める処理の説
明 具体的には図示の通りである。先ず、ベクトルレジスタ
VR1のインデックス1、2からなるグループでは、次
のようにしてグループ内最小値を求める。
明 具体的には図示の通りである。先ず、ベクトルレジスタ
VR1のインデックス1、2からなるグループでは、次
のようにしてグループ内最小値を求める。
【0163】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス2の要素として格納する。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス2の要素として格納する。
【0164】以上の処理により、インデックス1、2か
らなる最初のグループの最小値=4がベクトルレジスタ
VR2のインデックス2に格納される。次に、ベクトル
レジスタVR1のインデックス3、4、5、6からなる
グループでは、次のようにしてグループ内最小値を求め
る。
らなる最初のグループの最小値=4がベクトルレジスタ
VR2のインデックス2に格納される。次に、ベクトル
レジスタVR1のインデックス3、4、5、6からなる
グループでは、次のようにしてグループ内最小値を求め
る。
【0165】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8を、ベクトルレジスタVR2のインデ
ックス3の要素として格納する。 (4) :ベクトルレジスタVR1のインデックス4の要素
=12と、ベクトルレジスタVR2のインデックス3の
要素=8を比較し、小さい方の要素=8をベクトルレジ
スタVR2のインデックス4の要素として格納する。
クス3の要素=8を、ベクトルレジスタVR2のインデ
ックス3の要素として格納する。 (4) :ベクトルレジスタVR1のインデックス4の要素
=12と、ベクトルレジスタVR2のインデックス3の
要素=8を比較し、小さい方の要素=8をベクトルレジ
スタVR2のインデックス4の要素として格納する。
【0166】(5) :ベクトルレジスタVR1のインデッ
クス5の要素=6と、前記比較結果で小さい方の要素=
8を比較し、小さい方の要素=6をベクトルレジスタV
R2のインデックス5の要素として格納する。
クス5の要素=6と、前記比較結果で小さい方の要素=
8を比較し、小さい方の要素=6をベクトルレジスタV
R2のインデックス5の要素として格納する。
【0167】(6) :ベクトルレジスタVR1のインデッ
クス6の要素=24と、前記比較結果で小さい方の要素
=6を比較し、小さい方の要素=6をベクトルレジスタ
VR2のインデックス6の要素として格納する。
クス6の要素=24と、前記比較結果で小さい方の要素
=6を比較し、小さい方の要素=6をベクトルレジスタ
VR2のインデックス6の要素として格納する。
【0168】以上の処理により、インデックス3、4、
5、6からなるグループの最小値=6がベクトルレジス
タVR2のインデックス6に格納される。更に、ベクト
ルレジスタVR1のインデックス7、8からなるグルー
プでは、次のようにしてグループ内最大値を求める。
5、6からなるグループの最小値=6がベクトルレジス
タVR2のインデックス6に格納される。更に、ベクト
ルレジスタVR1のインデックス7、8からなるグルー
プでは、次のようにしてグループ内最大値を求める。
【0169】(7) :ベクトルレジスタVR1のインデッ
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR2のインデックス7の要
素=32を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス8の要素として格納する。以
上の処理により、インデックス7、8からなるグループ
の最小値=4がベクトルレジスタVR2のインデックス
8に格納される。
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR2のインデックス7の要
素=32を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス8の要素として格納する。以
上の処理により、インデックス7、8からなるグループ
の最小値=4がベクトルレジスタVR2のインデックス
8に格納される。
【0170】以降、各グループに対して、インデックス
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の最小値を求める。 §3:グループ最小値検索命令処理回路の説明 前記処理を実現するためのグループ最小値検索命令処理
回路は、図5に示した実施例2のグループ最大値検索命
令処理回路において、データ比較器14の処理を変更す
れば実現できる。
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の最小値を求める。 §3:グループ最小値検索命令処理回路の説明 前記処理を実現するためのグループ最小値検索命令処理
回路は、図5に示した実施例2のグループ最大値検索命
令処理回路において、データ比較器14の処理を変更す
れば実現できる。
【0171】この場合、前記データ比較器14では、入
力データとデータ用レジスタ11の値の比較を行うが、
比較結果により小さい方のデータを出力すれば、前記実
施例6の処理を実現できる。
力データとデータ用レジスタ11の値の比較を行うが、
比較結果により小さい方のデータを出力すれば、前記実
施例6の処理を実現できる。
【0172】(実施例7の説明)図11は実施例7のグ
ループ最小値検索命令説明図である。図11中、図1〜
図10と同じものは、同一符号で示してある。実施例7
は、実施例3のグループ内最大値を、グループ内最小値
にした例であり、他の点は実施例3と同じである。この
場合、グループ値を指定するのに、ベクトルレジスタV
R3で指定しており、ベクトルレジスタVR3のベクト
ル値によりグループ値を4→2→2→4・・・のように
指定する。
ループ最小値検索命令説明図である。図11中、図1〜
図10と同じものは、同一符号で示してある。実施例7
は、実施例3のグループ内最大値を、グループ内最小値
にした例であり、他の点は実施例3と同じである。この
場合、グループ値を指定するのに、ベクトルレジスタV
R3で指定しており、ベクトルレジスタVR3のベクト
ル値によりグループ値を4→2→2→4・・・のように
指定する。
【0173】グループ内最小値を求める処理は次の通り
である。図11において、先ず、ベクトルレジスタVR
1のインデックス1〜4からなるグループでは、次のよ
うにしてグループ内最小値を求める。
である。図11において、先ず、ベクトルレジスタVR
1のインデックス1〜4からなるグループでは、次のよ
うにしてグループ内最小値を求める。
【0174】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス2の要素として格納する。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR2のインデックス1の要
素=16を比較し、小さい方の要素=4をベクトルレジ
スタVR2のインデックス2の要素として格納する。
【0175】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で小さい方の要素
=4と比較し、小さい方の要素=4をベクトルレジスタ
VR2のインデックス3の要素として格納する。
クス3の要素=8と、前記の比較結果で小さい方の要素
=4と比較し、小さい方の要素=4をベクトルレジスタ
VR2のインデックス3の要素として格納する。
【0176】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で小さい方の要
素=4を比較し、小さい方の要素=4をベクトルレジス
タVR2のインデックス4の要素として格納する。
クス4の要素=12と、前記の比較結果で小さい方の要
素=4を比較し、小さい方の要素=4をベクトルレジス
タVR2のインデックス4の要素として格納する。
【0177】以上の処理により、インデックス1〜4か
らなる最初のグループの最小値=4がベクトルレジスタ
VR2のインデックス4に格納される。以降同様にして
グループ内最大値を求める。
らなる最初のグループの最小値=4がベクトルレジスタ
VR2のインデックス4に格納される。以降同様にして
グループ内最大値を求める。
【0178】なお、実施例7で使用するグループ最小値
検索命令処理回路は、実施例2と実質的に同じである。
ただし、図5のスカラレジスタSR2をベクトルレジス
タVR3で置き換えると共に、データ比較器14の処理
を、入力データとデータ用レジスタ11の値を比較し、
小さい方のデータを出力するようにすれば良い。
検索命令処理回路は、実施例2と実質的に同じである。
ただし、図5のスカラレジスタSR2をベクトルレジス
タVR3で置き換えると共に、データ比較器14の処理
を、入力データとデータ用レジスタ11の値を比較し、
小さい方のデータを出力するようにすれば良い。
【0179】(実施例8の説明)図12は実施例8のグ
ループ最小値検索命令説明図である。図12中、図2〜
図11と同じものは、同一符号で示してある。
ループ最小値検索命令説明図である。図12中、図2〜
図11と同じものは、同一符号で示してある。
【0180】実施例8は、実施例4のグループ内最大値
を、グループ内最小値に変更した例であり、他の点は実
施例4と同じである。実施例8では、スカラレジスタS
R2に格納されたグループ値は4であるから、ベクトル
レジスタVR1の4個の要素毎にグループ内最小値を求
める。例えば、図12において、ベクトルレジスタVR
1のグループ1では要素が16、4、8、12であるか
ら、そのグループ内最小値は4である。従って、グルー
プ1の最小値=4が確定した時点で、ベクトルレジスタ
VR2の4個のインデックスに、グループ内最小値=4
を格納する。
を、グループ内最小値に変更した例であり、他の点は実
施例4と同じである。実施例8では、スカラレジスタS
R2に格納されたグループ値は4であるから、ベクトル
レジスタVR1の4個の要素毎にグループ内最小値を求
める。例えば、図12において、ベクトルレジスタVR
1のグループ1では要素が16、4、8、12であるか
ら、そのグループ内最小値は4である。従って、グルー
プ1の最小値=4が確定した時点で、ベクトルレジスタ
VR2の4個のインデックスに、グループ内最小値=4
を格納する。
【0181】また、ベクトルレジスタVR1のグループ
2では要素が6、24、32、4であるから、そのグル
ープ内最小値は4である。従って、グループ2の最小値
=4が確定した時点で、ベクトルレジスタVR2の4個
のインデックスに、グループ内最小値=4を格納する。
以降同様にしてグループ内最小値を求め、ベクトルレジ
スタVR2に格納する。
2では要素が6、24、32、4であるから、そのグル
ープ内最小値は4である。従って、グループ2の最小値
=4が確定した時点で、ベクトルレジスタVR2の4個
のインデックスに、グループ内最小値=4を格納する。
以降同様にしてグループ内最小値を求め、ベクトルレジ
スタVR2に格納する。
【0182】実施例8で使用するグループ最小値検索命
令処理回路は、図8に示した実施例4の回路と実質的に
同じである。ただし、データ比較器14の処理を変更す
る必要がある。この場合、データ比較器14の処理は、
入力データとデータ用レジスタ11の値を比較した際、
小さい方のデータを出力するように構成する。
令処理回路は、図8に示した実施例4の回路と実質的に
同じである。ただし、データ比較器14の処理を変更す
る必要がある。この場合、データ比較器14の処理は、
入力データとデータ用レジスタ11の値を比較した際、
小さい方のデータを出力するように構成する。
【0183】(実施例9の説明)図13、図14は実施
例9を示した図であり、図13、図14中、図2〜図1
2と同じものは同一符号で示してある。また、28は加
算器を示す。
例9を示した図であり、図13、図14中、図2〜図1
2と同じものは同一符号で示してある。また、28は加
算器を示す。
【0184】§1:グループ合計値命令の説明・・・図
13参照 図13はグループ合計値命令説明図である。実施例9の
グループ合計値命令は、1つのベクトルレジスタVR1
に対し、1つのスカラ値をグループ単位として、グルー
プ単位毎に合計値を求め、その値(グループ内合計値)
をベクトルレジスタVR2に格納する命令である。この
場合、ベクトルレジスタVR1とベクトルレジスタVR
2は同一レジスタでも構わない。
13参照 図13はグループ合計値命令説明図である。実施例9の
グループ合計値命令は、1つのベクトルレジスタVR1
に対し、1つのスカラ値をグループ単位として、グルー
プ単位毎に合計値を求め、その値(グループ内合計値)
をベクトルレジスタVR2に格納する命令である。この
場合、ベクトルレジスタVR1とベクトルレジスタVR
2は同一レジスタでも構わない。
【0185】具体的には次の通りである。この例では、
スカラレジスタSR2に設定されたグループ値=4が、
ベクトルレジスタVR1のグループ値(グループ内要素
数)を示している。すなわち、ベクトルレジスタVR1
の各要素について、4個の要素を1つのグループとし
て、各グループ内の合計値を求めるものである。
スカラレジスタSR2に設定されたグループ値=4が、
ベクトルレジスタVR1のグループ値(グループ内要素
数)を示している。すなわち、ベクトルレジスタVR1
の各要素について、4個の要素を1つのグループとし
て、各グループ内の合計値を求めるものである。
【0186】例えば、ベクトルレジスタVR1につい
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたグループ値=4を1グループの要素数として、グル
ープ化し、各グループ単位で合計値(要素の合計値)を
求める。
て、最初の4個の要素16、4、8、12がグループ1
であり、次の4個の要素6、24、32、4がグループ
2である。このように、スカラレジスタSR2に設定さ
れたグループ値=4を1グループの要素数として、グル
ープ化し、各グループ単位で合計値(要素の合計値)を
求める。
【0187】§2:グループ内合計値を求める処理の説
明 各グループ内での合計値を求める処理は、次の順序で行
う。 (1) :ベクトルレジスタVR1のインデックス1の要素
=16を、ベクトルレジスタVR2のインデックス1の
要素として格納する。
明 各グループ内での合計値を求める処理は、次の順序で行
う。 (1) :ベクトルレジスタVR1のインデックス1の要素
=16を、ベクトルレジスタVR2のインデックス1の
要素として格納する。
【0188】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16を加算し、その加算値=16+4
=20をベクトルレジスタVR2のインデックス2の要
素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16を加算し、その加算値=16+4
=20をベクトルレジスタVR2のインデックス2の要
素として格納する。
【0189】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の加算結果の値=20を加算
し、その合計値=20+8=28をベクトルレジスタV
R2のインデックス3の要素として格納する。
クス3の要素=8と、前記の加算結果の値=20を加算
し、その合計値=20+8=28をベクトルレジスタV
R2のインデックス3の要素として格納する。
【0190】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の加算結果の値=28を加
算し、その合計値=28+12=40をベクトルレジス
タVR2のインデックス4の要素として格納する。
クス4の要素=12と、前記の加算結果の値=28を加
算し、その合計値=28+12=40をベクトルレジス
タVR2のインデックス4の要素として格納する。
【0191】以上の処理により、グループ1の合計値=
40がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2以降の各グループ
に対して、インデックスをインクリメントしながら前記
(1) 〜(4) の処理と同じようにして処理を行い、各グル
ープ毎の最大値を求める。
40がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2以降の各グループ
に対して、インデックスをインクリメントしながら前記
(1) 〜(4) の処理と同じようにして処理を行い、各グル
ープ毎の最大値を求める。
【0192】§3:グループ合計値処理回路の説明・・
・図14参照 図14は実施例9のグループ合計値命令処理回路であ
る。実施例9のグループ合計値処理回路は、図3に示し
た実施例1の回路のデータ比較器14を、加算器28に
置き換えた例である。
・図14参照 図14は実施例9のグループ合計値命令処理回路であ
る。実施例9のグループ合計値処理回路は、図3に示し
た実施例1の回路のデータ比較器14を、加算器28に
置き換えた例である。
【0193】従って、グループ合計値命令処理回路に
は、データ用レジスタ11、グループ値用レジスタ1
2、カウンタ値用レジスタ13、加算器28、グループ
値比較器15、セレクタ16、17、インクリメント回
路18、OR回路19等を設ける。
は、データ用レジスタ11、グループ値用レジスタ1
2、カウンタ値用レジスタ13、加算器28、グループ
値比較器15、セレクタ16、17、インクリメント回
路18、OR回路19等を設ける。
【0194】前記加算器28は、入力データとデータ用
レジスタ11の値とを加算し、加算結果を出力するもの
である。なお、加算器28以外の構成は、前記実施例1
と同じなので説明は省略する。
レジスタ11の値とを加算し、加算結果を出力するもの
である。なお、加算器28以外の構成は、前記実施例1
と同じなので説明は省略する。
【0195】(実施例10の説明)図15、図16は実
施例10を示した図であり、図15、図16中、図2〜
図14と同じものは同一符号で示してある。
施例10を示した図であり、図15、図16中、図2〜
図14と同じものは同一符号で示してある。
【0196】§1:グループ合計値命令の説明・・・図
15参照 図15は実施例10のグループ合計値命令説明図であ
る。実施例10では、1つのスカラレジスタSR2に2
種類のグループ値(2、4)を指定している。この場合
のグループ値は、2→4→2→4→2・・・とサイクリ
ックに変化する。そして、そのグループ値に対応してグ
ループ内の合計値を求めていく。
15参照 図15は実施例10のグループ合計値命令説明図であ
る。実施例10では、1つのスカラレジスタSR2に2
種類のグループ値(2、4)を指定している。この場合
のグループ値は、2→4→2→4→2・・・とサイクリ
ックに変化する。そして、そのグループ値に対応してグ
ループ内の合計値を求めていく。
【0197】§2:グループ内合計値を求める処理の説
明 具体的には図示の通りである。先ず、ベクトルレジスタ
VR1のインデックス1、2からなるグループでは、次
のようにしてグループ内合計値を求める。
明 具体的には図示の通りである。先ず、ベクトルレジスタ
VR1のインデックス1、2からなるグループでは、次
のようにしてグループ内合計値を求める。
【0198】(1) :ベクトルレジスタVR1のインデッ
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR1のインデックス1の要
素=16を加算し、その加算値=20をベクトルレジス
タVR2のインデックス2の要素として格納する。
クス1の要素=16を、ベクトルレジスタVR2のイン
デックス1の要素として格納する。 (2) :ベクトルレジスタVR1のインデックス2の要素
=4と、ベクトルレジスタVR1のインデックス1の要
素=16を加算し、その加算値=20をベクトルレジス
タVR2のインデックス2の要素として格納する。
【0199】以上の処理により、インデックス1、2か
らなる最初のグループの合計値=20がベクトルレジス
タVR2のインデックス2に格納される。次に、ベクト
ルレジスタVR1のインデックス3、4、5、6からな
るグループでは、次のようにしてグループ内最大値を求
める。
らなる最初のグループの合計値=20がベクトルレジス
タVR2のインデックス2に格納される。次に、ベクト
ルレジスタVR1のインデックス3、4、5、6からな
るグループでは、次のようにしてグループ内最大値を求
める。
【0200】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8を、ベクトルレジスタVR2のインデ
ックス3の要素として格納する。 (4) :ベクトルレジスタVR1のインデックス4の要素
=12と、ベクトルレジスタVR1のインデックス3の
要素=8を加算し、その加算値=20をベクトルレジス
タVR2のインデックス4の要素として格納する。
クス3の要素=8を、ベクトルレジスタVR2のインデ
ックス3の要素として格納する。 (4) :ベクトルレジスタVR1のインデックス4の要素
=12と、ベクトルレジスタVR1のインデックス3の
要素=8を加算し、その加算値=20をベクトルレジス
タVR2のインデックス4の要素として格納する。
【0201】(5) :ベクトルレジスタVR1のインデッ
クス5の要素=6と、前記の加算値=20を加算し、そ
の加算値=26をベクトルレジスタVR2のインデック
ス5の要素として格納する。
クス5の要素=6と、前記の加算値=20を加算し、そ
の加算値=26をベクトルレジスタVR2のインデック
ス5の要素として格納する。
【0202】(6) :ベクトルレジスタVR1のインデッ
クス6の要素=24と、前記加算値=26を加算し、そ
の加算値=50をベクトルレジスタVR2のインデック
ス6の要素として格納する。
クス6の要素=24と、前記加算値=26を加算し、そ
の加算値=50をベクトルレジスタVR2のインデック
ス6の要素として格納する。
【0203】以上の処理により、インデックス3、4、
5、6からなるグループの合計値=50がベクトルレジ
スタVR2のインデックス6に格納される。更に、ベク
トルレジスタVR1のインデックス7、8からなるグル
ープでは、次のようにしてグループ内合計値を求める。
5、6からなるグループの合計値=50がベクトルレジ
スタVR2のインデックス6に格納される。更に、ベク
トルレジスタVR1のインデックス7、8からなるグル
ープでは、次のようにしてグループ内合計値を求める。
【0204】(7) :ベクトルレジスタVR1のインデッ
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR1のインデックス7の要
素=32を加算し、その加算値=36をベクトルレジス
タVR2のインデックス8の要素として格納する。以上
の処理により、インデックス7、8からなるグループの
合計値=36がベクトルレジスタVR2のインデックス
8に格納される。
クス7の要素=32を、ベクトルレジスタVR2のイン
デックス7の要素として格納する。 (8) :ベクトルレジスタVR1のインデックス8の要素
=4と、ベクトルレジスタVR1のインデックス7の要
素=32を加算し、その加算値=36をベクトルレジス
タVR2のインデックス8の要素として格納する。以上
の処理により、インデックス7、8からなるグループの
合計値=36がベクトルレジスタVR2のインデックス
8に格納される。
【0205】以降、各グループに対して、インデックス
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の合計値を求める。 §3:グループ合計値命令処理回路の説明・・・図16
参照 図16は実施例10のグループ合計値命令処理回路であ
る。このグループ合計値命令処理回路は、図15に示し
たグループ合計値命令を処理するための回路であり、図
5に示した実施例2の回路のデータ比較器14を加算器
28で置き換えたものである。
をインクリメントしながら前記処理と同じようにして処
理を行い、各グループ内の合計値を求める。 §3:グループ合計値命令処理回路の説明・・・図16
参照 図16は実施例10のグループ合計値命令処理回路であ
る。このグループ合計値命令処理回路は、図15に示し
たグループ合計値命令を処理するための回路であり、図
5に示した実施例2の回路のデータ比較器14を加算器
28で置き換えたものである。
【0206】図16に示した回路では、加算器28によ
り、入力データとデータ用レジスタ11の値を加算し、
その加算値をデータ用レジスタ11に格納する。そし
て、データ用レジスタ11の値を出力データとして、ベ
クトルレジスタVR2に格納するものである。なお、前
記加算器28以外の構成は、実施例2と同じなので、説
明は省略する。
り、入力データとデータ用レジスタ11の値を加算し、
その加算値をデータ用レジスタ11に格納する。そし
て、データ用レジスタ11の値を出力データとして、ベ
クトルレジスタVR2に格納するものである。なお、前
記加算器28以外の構成は、実施例2と同じなので、説
明は省略する。
【0207】§4:グループ合計値命令処理回路の具体
例に基づく動作説明・・・図15、図16参照 以下、図16に示したグループ合計値命令処理回路の動
作を、図15の例に基づいて具体的に説明する。
例に基づく動作説明・・・図15、図16参照 以下、図16に示したグループ合計値命令処理回路の動
作を、図15の例に基づいて具体的に説明する。
【0208】(1) :グループ合計値命令の実行が開始さ
れると、信号線21がアサートされる(例えば、ハイレ
ベル信号=1になる)。この時グループ値用レジスタ1
2には、スカラレジスタSR2に格納されているグルー
プ値=2が格納される。
れると、信号線21がアサートされる(例えば、ハイレ
ベル信号=1になる)。この時グループ値用レジスタ1
2には、スカラレジスタSR2に格納されているグルー
プ値=2が格納される。
【0209】また、信号線21がアサートされることに
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。またこの時、セレクタ16が入力データを選択する
ので、データ用レジスタ11にはベクトルレジスタVR
1のインデックス1のデータ(要素)=16が格納され
る。
より、信号線23がアサートされる(例えば、ハイレベ
ル=1になる)ので、セレクタ17が値1を選択し、カ
ウンタ値用レジスタ13に初期値として値1が格納され
る。またこの時、セレクタ16が入力データを選択する
ので、データ用レジスタ11にはベクトルレジスタVR
1のインデックス1のデータ(要素)=16が格納され
る。
【0210】この状態で、データ用レジスタ11からの
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ=4(入力データ)が入力すると、加算器2
8では、入力したデータ=4と、データ用レジスタ11
のデータ=16と加算される。この場合、データの加算
値は20となるので、加算器28ではデータ20を出力
する。
出力データ=16は、ベクトルレジスタVR1のインデ
ックス1の要素として格納される。 (2) :次に、ベクトルレジスタVR1からインデックス
2のデータ=4(入力データ)が入力すると、加算器2
8では、入力したデータ=4と、データ用レジスタ11
のデータ=16と加算される。この場合、データの加算
値は20となるので、加算器28ではデータ20を出力
する。
【0211】このため、データ用レジスタ11には、セ
レクタ16を介して加算器28から出力されたデータ2
0が格納される。この状態で、データ用レジスタ11か
らの出力データ=20は、ベクトルレジスタVR1のイ
ンデックス2の要素として格納される。
レクタ16を介して加算器28から出力されたデータ2
0が格納される。この状態で、データ用レジスタ11か
らの出力データ=20は、ベクトルレジスタVR1のイ
ンデックス2の要素として格納される。
【0212】また、ベクトルレジスタVR1からインデ
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
ックス2のデータ=4(入力データ)が入力した時、カ
ウンタ値用レジスタ13の値=1はインクリメント回路
18によりインクリメントされて1+1=2となる。
【0213】この時、グループ値比較器15では、グル
ープ値用レジスタ12の値=2とカウンタ値用レジスタ
13の値=2が比較され、両者が等しくなるので信号線
22がアサートされ、信号線23もアサートされる(例
えば、ローレベル=1の状態)。
ープ値用レジスタ12の値=2とカウンタ値用レジスタ
13の値=2が比較され、両者が等しくなるので信号線
22がアサートされ、信号線23もアサートされる(例
えば、ローレベル=1の状態)。
【0214】(3) :前記のように、信号線22がアサー
トされると、この信号により、制御部26に対して新た
なグループ値を要求する。制御部26では前記要求を受
けると、スカラレジスタSR2から次の新たなグループ
値=4を読み出し、グループ値用レジスタ12に格納す
る。
トされると、この信号により、制御部26に対して新た
なグループ値を要求する。制御部26では前記要求を受
けると、スカラレジスタSR2から次の新たなグループ
値=4を読み出し、グループ値用レジスタ12に格納す
る。
【0215】また、この時、信号線23がアサートされ
るので、セレクタ17が値1を選択し、カウンタ値用レ
ジスタ13に初期値として値1が格納される。更にこの
時、セレクタ16が入力データを選択する。
るので、セレクタ17が値1を選択し、カウンタ値用レ
ジスタ13に初期値として値1が格納される。更にこの
時、セレクタ16が入力データを選択する。
【0216】この状態で、ベクトルレジスタVR1のイ
ンデックス3のデータ(要素)=8が入力すると、デー
タ用レジスタ11には、セレクタ16を介してベクトル
レジスタVR1のインデックス3のデータ(要素)=8
が格納される。
ンデックス3のデータ(要素)=8が入力すると、デー
タ用レジスタ11には、セレクタ16を介してベクトル
レジスタVR1のインデックス3のデータ(要素)=8
が格納される。
【0217】(4) :次に、ベクトルレジスタVR1から
インデックス4のデータ=12(入力データ)が入力す
ると、加算器28では、入力したデータ=12とデータ
用レジスタ11のデータ=8と加算する。この場合、加
算した合計値は20なので、加算器28では、合計値=
20を出力する。
インデックス4のデータ=12(入力データ)が入力す
ると、加算器28では、入力したデータ=12とデータ
用レジスタ11のデータ=8と加算する。この場合、加
算した合計値は20なので、加算器28では、合計値=
20を出力する。
【0218】このため、データ用レジスタ11には、セ
レクタ16を介して加算器28から出力されたデータ2
0が格納される。この状態で、データ用レジスタ11か
らの出力データ=20は、ベクトルレジスタVR1のイ
ンデックス4の要素として格納される。
レクタ16を介して加算器28から出力されたデータ2
0が格納される。この状態で、データ用レジスタ11か
らの出力データ=20は、ベクトルレジスタVR1のイ
ンデックス4の要素として格納される。
【0219】また、ベクトルレジスタVR1からインデ
ックス4のデータ=12が入力した時、カウンタ値用レ
ジスタ13の値=1はインクリメント回路18によりイ
ンクリメントされて1+1=2となる。
ックス4のデータ=12が入力した時、カウンタ値用レ
ジスタ13の値=1はインクリメント回路18によりイ
ンクリメントされて1+1=2となる。
【0220】この時、グループ値比較器15では、グル
ープ値用レジスタ12の値=4とカウンタ値用レジスタ
13の値=2が比較されるが、両者は等しくないので信
号線22はアサートされず、信号線23もアサートされ
ない(例えば、ローレベル=0の状態)。以降同様に動
作する。
ープ値用レジスタ12の値=4とカウンタ値用レジスタ
13の値=2が比較されるが、両者は等しくないので信
号線22はアサートされず、信号線23もアサートされ
ない(例えば、ローレベル=0の状態)。以降同様に動
作する。
【0221】(実施例11の説明)図17は実施例11
のグループ合計値命令説明図である。図17中、図2〜
図16と同じものは同一符号で示してある。
のグループ合計値命令説明図である。図17中、図2〜
図16と同じものは同一符号で示してある。
【0222】実施例11のグループ合計値命令は、1つ
のベクトルレジスタVR1に対し、ベクトルレジスタV
R3のベクトル値でグループ値(4、2、2、4)を指
定する。この場合のグループ値は、4→2→2→4・・
・とサイクリックに変化する。そして、そのグループ値
に対応してグループ内の合計値を求めていく。
のベクトルレジスタVR1に対し、ベクトルレジスタV
R3のベクトル値でグループ値(4、2、2、4)を指
定する。この場合のグループ値は、4→2→2→4・・
・とサイクリックに変化する。そして、そのグループ値
に対応してグループ内の合計値を求めていく。
【0223】前記命令の処理を実現するためのグループ
合計値命令処理回路は、図16に示した回路のスカラレ
ジスタSR2をベクトルレジスタVR3で置き換えれば
実現できる。すなわち、図16に示した回路において、
制御部26が新たなグループ値の要求を受けた際、ベク
トルレジスタVR3からグループ値を取り出し、グルー
プ値用レジスタ12に設定する。それ以外は実施例10
と同じである。
合計値命令処理回路は、図16に示した回路のスカラレ
ジスタSR2をベクトルレジスタVR3で置き換えれば
実現できる。すなわち、図16に示した回路において、
制御部26が新たなグループ値の要求を受けた際、ベク
トルレジスタVR3からグループ値を取り出し、グルー
プ値用レジスタ12に設定する。それ以外は実施例10
と同じである。
【0224】(実施例12の説明)図18、図19は実
施例12を示した図であり、図18、19中、図2〜図
17と同じものは同一符号で示してある。
施例12を示した図であり、図18、19中、図2〜図
17と同じものは同一符号で示してある。
【0225】§1:グループ合計値命令の説明・・・図
18参照 図18は実施例12のグループ合計値命令説明図であ
る。実施例12では、グループ内合計値が確定した後
に、まとめてベクトルレジスタVR2の各インデックス
に、同じグループ内合計値を格納する例である。なお、
グループ内合計値を求める処理は実施例9(図13参
照)と同じである。具体的には次の通りである。
18参照 図18は実施例12のグループ合計値命令説明図であ
る。実施例12では、グループ内合計値が確定した後
に、まとめてベクトルレジスタVR2の各インデックス
に、同じグループ内合計値を格納する例である。なお、
グループ内合計値を求める処理は実施例9(図13参
照)と同じである。具体的には次の通りである。
【0226】実施例12ではスカラレジスタSR2に格
納されたグループ値は4であるから、ベクトルレジスタ
VR1の4個の要素毎にグループ内合計値を求める。例
えば、図18において、ベクトルレジスタVR1のグル
ープ1では要素が16、4、8、12であるから、その
グループ内合計値は40である。
納されたグループ値は4であるから、ベクトルレジスタ
VR1の4個の要素毎にグループ内合計値を求める。例
えば、図18において、ベクトルレジスタVR1のグル
ープ1では要素が16、4、8、12であるから、その
グループ内合計値は40である。
【0227】従って、グループ1の合計値=40が確定
した時点で、ベクトルレジスタVR2の4個のインデッ
クスに、グループ内合計値=40を格納する。また、ベ
クトルレジスタVR1のグループ2では要素が6、2
4、32、4であるから、そのグループ内合計値は66
である。
した時点で、ベクトルレジスタVR2の4個のインデッ
クスに、グループ内合計値=40を格納する。また、ベ
クトルレジスタVR1のグループ2では要素が6、2
4、32、4であるから、そのグループ内合計値は66
である。
【0228】従って、グループ1の合計値=66が確定
した時点で、ディストネーションとなるベクトルレジス
タVR2の4個のインデックスに、グループ内合計値=
66を格納する。以降同様にしてグループ内合計値を求
め、ベクトルレジスタVR2に格納する。
した時点で、ディストネーションとなるベクトルレジス
タVR2の4個のインデックスに、グループ内合計値=
66を格納する。以降同様にしてグループ内合計値を求
め、ベクトルレジスタVR2に格納する。
【0229】§2:グループ合計値検索命令処理回路の
説明・・・図19参照 図19は実施例12のグループ合計値命令処理回路であ
る。図19において、AND回路27以外の構成は実施
例9と同じである。実施例12では、前記の処理を実現
するため、図14に示した実施例9の回路にAND回路
27を付加したものである。
説明・・・図19参照 図19は実施例12のグループ合計値命令処理回路であ
る。図19において、AND回路27以外の構成は実施
例9と同じである。実施例12では、前記の処理を実現
するため、図14に示した実施例9の回路にAND回路
27を付加したものである。
【0230】すなわち、実施例19では、AND回路2
7により、信号線22の信号と、信号線24の信号との
論理積出力をベクトルレジスタVR2へ出力している
(この点は実施例8と同じ)。
7により、信号線22の信号と、信号線24の信号との
論理積出力をベクトルレジスタVR2へ出力している
(この点は実施例8と同じ)。
【0231】従って、グループ値比較器15により信号
線22がアサートされた時(グループ値が一致した
時)、AND回路27を介して、グループ値で指定され
た数だけ、データ用レジスタ11の値をベクトルレジス
タVR2へ出力する。このようにすれば、図18に示し
たグループ合計値命令の処理が可能である。なお、グル
ープ内合計値を求める処理は、実施例9と同じなので説
明は省略する。 (実施例13の説明)図20、図21は実施例13を示
した図であり、図20、図21中、図2〜図19と同じ
ものは、同一符号で示してある。また、30はセレク
タ、31はレジスタ、32はAND回路を示す。
線22がアサートされた時(グループ値が一致した
時)、AND回路27を介して、グループ値で指定され
た数だけ、データ用レジスタ11の値をベクトルレジス
タVR2へ出力する。このようにすれば、図18に示し
たグループ合計値命令の処理が可能である。なお、グル
ープ内合計値を求める処理は、実施例9と同じなので説
明は省略する。 (実施例13の説明)図20、図21は実施例13を示
した図であり、図20、図21中、図2〜図19と同じ
ものは、同一符号で示してある。また、30はセレク
タ、31はレジスタ、32はAND回路を示す。
【0232】§1:グループ最大値インデックス検索命
令の説明・・・図20参照 図20は実施例13のグループ最大値インデックス検索
命令説明図である。実施例1のグループ最大値検索命令
(図2参照)では、ベクトルレジスタVR1の各グルー
プ内最大値を求めて、その最大値をベクトルレジスタV
R2に格納したが、実施例13のグループ最大値インデ
ックス検索命令は、前記グループ内最大値の代わりに、
グループ内最大値のインデックスを求めて、そのインデ
ックスをベクトルレジスタVR2に格納する命令であ
る。
令の説明・・・図20参照 図20は実施例13のグループ最大値インデックス検索
命令説明図である。実施例1のグループ最大値検索命令
(図2参照)では、ベクトルレジスタVR1の各グルー
プ内最大値を求めて、その最大値をベクトルレジスタV
R2に格納したが、実施例13のグループ最大値インデ
ックス検索命令は、前記グループ内最大値の代わりに、
グループ内最大値のインデックスを求めて、そのインデ
ックスをベクトルレジスタVR2に格納する命令であ
る。
【0233】§2:グループ内最大値インデックス検索
処理の説明 各グループ内での最大値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
処理の説明 各グループ内での最大値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
【0234】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
【0235】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で大きい方の要素
=16と比較し、大きい方の要素=16のインデックス
1をベクトルレジスタVR2のインデックス3の要素と
して格納する。
クス3の要素=8と、前記の比較結果で大きい方の要素
=16と比較し、大きい方の要素=16のインデックス
1をベクトルレジスタVR2のインデックス3の要素と
して格納する。
【0236】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で大きい方の要
素=16と比較し、大きい方の要素=16のインデック
ス1をベクトルレジスタVR2のインデックス4の要素
として格納する。
クス4の要素=12と、前記の比較結果で大きい方の要
素=16と比較し、大きい方の要素=16のインデック
ス1をベクトルレジスタVR2のインデックス4の要素
として格納する。
【0237】以上の処理により、グループ1の最大値=
16のインデックス(グループ内最大値インデックス)
=1がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2についても同様に
処理を行う。
16のインデックス(グループ内最大値インデックス)
=1がベクトルレジスタVR2のインデックス4の要素
として格納される。以下、グループ2についても同様に
処理を行う。
【0238】§3:グループ最大値インデックス検索命
令処理回路の説明・・・図21参照 図21は実施例13のグループ最大値インデックス検索
命令処理回路である。実施例13のグループ最大値イン
デックス検索命令処理回路は、図3に示した実施例1の
グループ最大値検索命令処理回路に、セレクタ30、レ
ジスタ31、AND回路32を付加し、データ比較器1
4からAND回路32に対して、比較結果の信号(ハイ
レベル信号1、またはローレベル信号0)を出力するよ
うにしたものである。
令処理回路の説明・・・図21参照 図21は実施例13のグループ最大値インデックス検索
命令処理回路である。実施例13のグループ最大値イン
デックス検索命令処理回路は、図3に示した実施例1の
グループ最大値検索命令処理回路に、セレクタ30、レ
ジスタ31、AND回路32を付加し、データ比較器1
4からAND回路32に対して、比較結果の信号(ハイ
レベル信号1、またはローレベル信号0)を出力するよ
うにしたものである。
【0239】前記セレクタ30は、信号線23がアサー
トされた時b側(ベクトルレジスタVR1のインデック
ス入力側)を選択し、それ以外の時はa側(AND回路
出力側)を選択するものである。レジスタ31はセレク
タ30から出力されたインデックスを格納するものであ
る。
トされた時b側(ベクトルレジスタVR1のインデック
ス入力側)を選択し、それ以外の時はa側(AND回路
出力側)を選択するものである。レジスタ31はセレク
タ30から出力されたインデックスを格納するものであ
る。
【0240】AND回路32は、データ比較器14の出
力とベクトルレジスタVR1のインデックス(インデッ
クスの入力信号)との論理積を出力する回路である。な
お、データ比較器14は、ベクトルレジスタVR1の要
素を入力データとし、データ用レジスタ11の値と比較
処理を行い、大きい方のデータを出力するが、この場
合、AND回路32に対しては、比較結果が(入力デー
タ)≧(データ用レジスタ11の値)の時、ハイレベル
信号=1を出力し、(入力データ)<(データ用レジス
タ11の値)の時、ローレベル信号=0を出力する。前
記以外の構成は図3に示した実施例1の回路と同じなの
で説明は省略する。
力とベクトルレジスタVR1のインデックス(インデッ
クスの入力信号)との論理積を出力する回路である。な
お、データ比較器14は、ベクトルレジスタVR1の要
素を入力データとし、データ用レジスタ11の値と比較
処理を行い、大きい方のデータを出力するが、この場
合、AND回路32に対しては、比較結果が(入力デー
タ)≧(データ用レジスタ11の値)の時、ハイレベル
信号=1を出力し、(入力データ)<(データ用レジス
タ11の値)の時、ローレベル信号=0を出力する。前
記以外の構成は図3に示した実施例1の回路と同じなの
で説明は省略する。
【0241】§4:グループ最大値インデックス検索命
令処理回路の動作説明・・・図21参照 図21に示した回路において、グループ最大値を検索す
る処理は実施例1と同じなので説明は省略する。実施例
13では前記グループ最大値検索処理の過程で次のよう
に動作する。
令処理回路の動作説明・・・図21参照 図21に示した回路において、グループ最大値を検索す
る処理は実施例1と同じなので説明は省略する。実施例
13では前記グループ最大値検索処理の過程で次のよう
に動作する。
【0242】ベクトルレジスタVR1のインデックス
(要素番号)は、ベクトルレジスタVR1からの入力デ
ータ(要素の入力)と同期して入力し、AND回路32
に入力する。
(要素番号)は、ベクトルレジスタVR1からの入力デ
ータ(要素の入力)と同期して入力し、AND回路32
に入力する。
【0243】先ず、信号線23がアサートされた時、セ
レクタ30はb側を選択するので、この時、ベクトルレ
ジスタVR1のインデックスがセレクタ30を介してレ
ジスタ31に格納される。この処理により、各グループ
の最初のインデックスがベクトルレジスタVR2に格納
される。
レクタ30はb側を選択するので、この時、ベクトルレ
ジスタVR1のインデックスがセレクタ30を介してレ
ジスタ31に格納される。この処理により、各グループ
の最初のインデックスがベクトルレジスタVR2に格納
される。
【0244】その後、入力データ(要素)とインデック
スを順次入力し、データ比較器14で入力データとデー
タ用レジスタ11の値の比較が行われる。その結果、
(入力データ)≧(データ用レジスタ11の値)の時、
ハイレベル信号=1を出力し、(入力データ)<(デー
タ用レジスタ11の値)の時、ローレベル信号=0を出
力する。
スを順次入力し、データ比較器14で入力データとデー
タ用レジスタ11の値の比較が行われる。その結果、
(入力データ)≧(データ用レジスタ11の値)の時、
ハイレベル信号=1を出力し、(入力データ)<(デー
タ用レジスタ11の値)の時、ローレベル信号=0を出
力する。
【0245】そして、データ比較器14からローレベル
信号=0が出力されると、AND回路32はゲートを閉
じて、レジスタ31の値は変化しない。しかし、データ
比較器14からハイレベル信号=1が出力されると、A
ND回路32はゲートを開き、インデックスがAND回
路32を介してレジスタ31に格納される。
信号=0が出力されると、AND回路32はゲートを閉
じて、レジスタ31の値は変化しない。しかし、データ
比較器14からハイレベル信号=1が出力されると、A
ND回路32はゲートを開き、インデックスがAND回
路32を介してレジスタ31に格納される。
【0246】以上の処理により、前記実施例13のグル
ープ最大値インデックス検索命令の処理を行うことがで
きる。 (実施例14の説明)図22は実施例14のグループ最
小値インデックス検索命令説明図である。図22中、図
2〜図21と同じものは、同一符号で示してある。
ープ最大値インデックス検索命令の処理を行うことがで
きる。 (実施例14の説明)図22は実施例14のグループ最
小値インデックス検索命令説明図である。図22中、図
2〜図21と同じものは、同一符号で示してある。
【0247】§1:グループ最小値インデックス検索命
令の説明・・・図22参照 実施例5のグループ最小値検索命令(図9参照)では、
ベクトルレジスタVR1の各グループ内最小値を求め
て、その最小値をベクトルレジスタVR2に格納した
が、実施例14のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
令の説明・・・図22参照 実施例5のグループ最小値検索命令(図9参照)では、
ベクトルレジスタVR1の各グループ内最小値を求め
て、その最小値をベクトルレジスタVR2に格納した
が、実施例14のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
【0248】§2:グループ内最小値インデックス検索
処理の説明 各グループ内での最小値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
処理の説明 各グループ内での最小値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
【0249】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、小さい方の要素=4の
インデックス2をベクトルレジスタVR2のインデック
ス2の要素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、小さい方の要素=4の
インデックス2をベクトルレジスタVR2のインデック
ス2の要素として格納する。
【0250】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記の比較結果で小さい方の要素
=4と比較し、小さい方の要素=4のインデックス2を
ベクトルレジスタVR2のインデックス3の要素として
格納する。
クス3の要素=8と、前記の比較結果で小さい方の要素
=4と比較し、小さい方の要素=4のインデックス2を
ベクトルレジスタVR2のインデックス3の要素として
格納する。
【0251】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記の比較結果で小さい方の要
素=4と比較し、小さい方の要素=4のインデックス2
をベクトルレジスタVR2のインデックス4の要素とし
て格納する。
クス4の要素=12と、前記の比較結果で小さい方の要
素=4と比較し、小さい方の要素=4のインデックス2
をベクトルレジスタVR2のインデックス4の要素とし
て格納する。
【0252】以上の処理により、グループ1の最小値=
4のインデックス(グループ内最小値インデックス)=
2がベクトルレジスタVR2のインデックス4の要素と
して格納される。以下、グループ2についても同様に処
理を行う。
4のインデックス(グループ内最小値インデックス)=
2がベクトルレジスタVR2のインデックス4の要素と
して格納される。以下、グループ2についても同様に処
理を行う。
【0253】§3:グループ最小値インデックス検索命
令処理回路の説明 実施例14のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
21に示した回路において、データ比較器14を変更す
れば実現できる。
令処理回路の説明 実施例14のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
21に示した回路において、データ比較器14を変更す
れば実現できる。
【0254】この場合、データ比較器14は、ベクトル
レジスタVR1の要素を入力データとし、データ用レジ
スタ11の値と比較処理を行い、小さい方のデータを出
力するように構成する。そして、AND回路32に対し
ては、比較結果が(入力データ)≦(データ用レジスタ
11の値)の時、ハイレベル信号=1を出力し、(入力
データ)>(データ用レジスタ11の値)の時、ローレ
ベル信号=0を出力する。
レジスタVR1の要素を入力データとし、データ用レジ
スタ11の値と比較処理を行い、小さい方のデータを出
力するように構成する。そして、AND回路32に対し
ては、比較結果が(入力データ)≦(データ用レジスタ
11の値)の時、ハイレベル信号=1を出力し、(入力
データ)>(データ用レジスタ11の値)の時、ローレ
ベル信号=0を出力する。
【0255】前記以外の構成は図21に示した実施例1
3の回路と同じなので説明は省略する。 (実施例15の説明)図23、図24は実施例15を示
した図であり、図23、図24中、図2〜図12と同じ
ものは、同一符号で示してある。
3の回路と同じなので説明は省略する。 (実施例15の説明)図23、図24は実施例15を示
した図であり、図23、図24中、図2〜図12と同じ
ものは、同一符号で示してある。
【0256】§1:グループ最大値インデックス検索命
令の説明・・・図23参照 図23は実施例15のグループ最大値インデックス検索
命令説明図である。実施例2のグループ最大値検索命令
(図4参照)では、ベクトルレジスタVR1の各グルー
プ内最大値を求めて、その最大値をベクトルレジスタV
R2に格納したが、実施例15のグループ最大値インデ
ックス検索命令は、前記グループ内最大値の代わりに、
グループ内最大値のインデックスを求めて、そのインデ
ックスをベクトルレジスタVR2に格納する命令であ
る。
令の説明・・・図23参照 図23は実施例15のグループ最大値インデックス検索
命令説明図である。実施例2のグループ最大値検索命令
(図4参照)では、ベクトルレジスタVR1の各グルー
プ内最大値を求めて、その最大値をベクトルレジスタV
R2に格納したが、実施例15のグループ最大値インデ
ックス検索命令は、前記グループ内最大値の代わりに、
グループ内最大値のインデックスを求めて、そのインデ
ックスをベクトルレジスタVR2に格納する命令であ
る。
【0257】§2:グループ内最大値インデックス検索
処理の説明 各グループ内での最大値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
処理の説明 各グループ内での最大値インデックスを求める処理は次
の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
【0258】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
【0259】以上の処理により、最初のグループ(グル
ープ値=2)のグループ内最大値のインデックスがベク
トルレジスタVR2のインデックス2の要素として格納
される。
ープ値=2)のグループ内最大値のインデックスがベク
トルレジスタVR2のインデックス2の要素として格納
される。
【0260】以下、同様にしてグループ値=4のグルー
プ、グループ値=2のグループについてグループ内最大
値を検索し、そのインデックスをベクトルレジスタVR
2に格納する。
プ、グループ値=2のグループについてグループ内最大
値を検索し、そのインデックスをベクトルレジスタVR
2に格納する。
【0261】§3:グループ最大値インデックス検索命
令処理回路の説明 実施例15のグループ最大値インデックス検索命令の処
理を行うためのグループ最大値検索命令処理回路は、図
24に示した回路で実現できる。
令処理回路の説明 実施例15のグループ最大値インデックス検索命令の処
理を行うためのグループ最大値検索命令処理回路は、図
24に示した回路で実現できる。
【0262】この回路は、図21の回路(実施例13)
に、図5の回路(実施例2)を組み合わせた回路で実現
できる。すなわち、スカラレジスタSR2のグループ値
に従って、各グループの最大値を検索する処理は、実施
例2と同じである。
に、図5の回路(実施例2)を組み合わせた回路で実現
できる。すなわち、スカラレジスタSR2のグループ値
に従って、各グループの最大値を検索する処理は、実施
例2と同じである。
【0263】また、グループ内の最大値を検索した際、
そのインデックスを検索してベクトルレジスタVR2へ
格納する処理は、実施例13と同じである。 (実施例16の説明)図25は実施例16のグループ最
小値インデックス検索命令説明図である。図25中、図
2〜図24と同じものは、同一符号で示してある。
そのインデックスを検索してベクトルレジスタVR2へ
格納する処理は、実施例13と同じである。 (実施例16の説明)図25は実施例16のグループ最
小値インデックス検索命令説明図である。図25中、図
2〜図24と同じものは、同一符号で示してある。
【0264】§1:グループ最小値インデックス検索命
令の説明・・・図25参照 実施例6のグループ最小値検索命令(図10参照)で
は、ベクトルレジスタVR1の各グループ内最小値を求
めて、その最小値をベクトルレジスタVR2に格納した
が、実施例16のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
令の説明・・・図25参照 実施例6のグループ最小値検索命令(図10参照)で
は、ベクトルレジスタVR1の各グループ内最小値を求
めて、その最小値をベクトルレジスタVR2に格納した
が、実施例16のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
【0265】§2:グループ内最小値インデックス検索
処理の説明 各グループ内での最小値インデックスを求める処理は次
の通りである。 :ベクトルレジスタVR1のインデックス1をベクト
ルレジスタVR2のインデックス1の要素として格納す
る。
処理の説明 各グループ内での最小値インデックスを求める処理は次
の通りである。 :ベクトルレジスタVR1のインデックス1をベクト
ルレジスタVR2のインデックス1の要素として格納す
る。
【0266】:ベクトルレジスタVR1のインデック
ス2の要素=4と、ベクトルレジスタVR1のインデッ
クス1の要素=16と比較し、小さい方の要素=4のイ
ンデックス2をベクトルレジスタVR2のインデックス
2の要素として格納する。
ス2の要素=4と、ベクトルレジスタVR1のインデッ
クス1の要素=16と比較し、小さい方の要素=4のイ
ンデックス2をベクトルレジスタVR2のインデックス
2の要素として格納する。
【0267】以上の処理により、最初のグループ(グル
ープ値=2)のグループ内最小値のインデックスがベク
トルレジスタVR2のインデックス2の要素として格納
される。
ープ値=2)のグループ内最小値のインデックスがベク
トルレジスタVR2のインデックス2の要素として格納
される。
【0268】以下、同様にしてグループ値=4のグルー
プ、グループ値=2のグループについてグループ内最小
値を検索し、そのインデックスをベクトルレジスタVR
2に格納する。
プ、グループ値=2のグループについてグループ内最小
値を検索し、そのインデックスをベクトルレジスタVR
2に格納する。
【0269】§3:グループ最小値インデックス検索命
令処理回路の説明 実施例16のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
24(実施例15)に示した回路のデータ比較器14を
変更することで実現できる。
令処理回路の説明 実施例16のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
24(実施例15)に示した回路のデータ比較器14を
変更することで実現できる。
【0270】この場合、図24に示したデータ比較器1
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。
【0271】そして、AND回路32に対しては、比較
結果が(入力データ)≦(データ用レジスタ11の値)
の時、ハイレベル信号=1を出力し、(入力データ)>
(データ用レジスタ11の値)の時、ローレベル信号=
0を出力する。前記以外の構成は図21に示した実施例
13の回路と同じなので説明は省略する。
結果が(入力データ)≦(データ用レジスタ11の値)
の時、ハイレベル信号=1を出力し、(入力データ)>
(データ用レジスタ11の値)の時、ローレベル信号=
0を出力する。前記以外の構成は図21に示した実施例
13の回路と同じなので説明は省略する。
【0272】(実施例17の説明)図26は実施例17
のグループ最大値インデックス検索命令説明図である。
図26中、図2〜図25と同じものは、同一符号で示し
てある。
のグループ最大値インデックス検索命令説明図である。
図26中、図2〜図25と同じものは、同一符号で示し
てある。
【0273】§1:グループ最大値インデックス検索命
令の説明・・・図26参照 実施例3のグループ最大値検索命令(図6参照)では、
ベクトルレジスタVR1の各グループ内最大値を求め
て、その最大値をベクトルレジスタVR2に格納した
が、実施例17のグループ最大値インデックス検索命令
は、前記グループ内最大値の代わりに、グループ内最大
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
令の説明・・・図26参照 実施例3のグループ最大値検索命令(図6参照)では、
ベクトルレジスタVR1の各グループ内最大値を求め
て、その最大値をベクトルレジスタVR2に格納した
が、実施例17のグループ最大値インデックス検索命令
は、前記グループ内最大値の代わりに、グループ内最大
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
【0274】§2:グループ内最大値インデックス検索
処理の説明 各グループ内での最大値インデックスを検索する処理は
次の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
処理の説明 各グループ内での最大値インデックスを検索する処理は
次の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
【0275】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、大きい方の要素=16
のインデックス1をベクトルレジスタVR2のインデッ
クス2の要素として格納する。
【0276】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記比較結果で大きい方のデータ
=16と、ベクトルレジスタVR1のインデックス3の
要素=8と比較し、大きい方の要素=16のインデック
ス1をベクトルレジスタVR2のインデックス3の要素
として格納する。
クス3の要素=8と、前記比較結果で大きい方のデータ
=16と、ベクトルレジスタVR1のインデックス3の
要素=8と比較し、大きい方の要素=16のインデック
ス1をベクトルレジスタVR2のインデックス3の要素
として格納する。
【0277】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記比較結果で大きい方のデー
タ=16とを比較し、大きい方の要素=16のインデッ
クス1をベクトルレジスタVR2のインデックス4の要
素として格納する。
クス4の要素=12と、前記比較結果で大きい方のデー
タ=16とを比較し、大きい方の要素=16のインデッ
クス1をベクトルレジスタVR2のインデックス4の要
素として格納する。
【0278】以上の処理により、ベクトルレジスタVR
3で示されたグループ=4のグループに対する最大値イ
ンデックス検索処理を終了する。以降、グループ値=
2、2、4・・・の各グループについても同様に処理を
行う。
3で示されたグループ=4のグループに対する最大値イ
ンデックス検索処理を終了する。以降、グループ値=
2、2、4・・・の各グループについても同様に処理を
行う。
【0279】§3:グループ最大値インデックス検索命
令処理回路の説明 実施例17のグループ最大値インデックス検索命令の処
理を行うためのグループ最大値検索命令処理回路は、図
24に示した回路のスカラレジスタSR2を、ベクトル
レジスタVR3(図26参照)で置き換えることで実現
できる。
令処理回路の説明 実施例17のグループ最大値インデックス検索命令の処
理を行うためのグループ最大値検索命令処理回路は、図
24に示した回路のスカラレジスタSR2を、ベクトル
レジスタVR3(図26参照)で置き換えることで実現
できる。
【0280】(実施例18の説明)図27は実施例18
のグループ最小値インデックス検索命令説明図である。
図27中、図2〜図26と同じものは、同一符号で示し
てある。
のグループ最小値インデックス検索命令説明図である。
図27中、図2〜図26と同じものは、同一符号で示し
てある。
【0281】§1:グループ最小値インデックス検索命
令の説明・・・図27参照 実施例7のグループ最小値検索命令(図11参照)で
は、ベクトルレジスタVR1の各グループ内最小値を求
めて、その最小値をベクトルレジスタVR2に格納した
が、実施例18のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
令の説明・・・図27参照 実施例7のグループ最小値検索命令(図11参照)で
は、ベクトルレジスタVR1の各グループ内最小値を求
めて、その最小値をベクトルレジスタVR2に格納した
が、実施例18のグループ最小値インデックス検索命令
は、前記グループ内最小値の代わりに、グループ内最小
値のインデックスを求めて、そのインデックスをベクト
ルレジスタVR2に格納する命令である。
【0282】§2:グループ内最小値インデックス検索
処理の説明 各グループ内での最小値インデックスを検索する処理は
次の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
処理の説明 各グループ内での最小値インデックスを検索する処理は
次の通りである。 (1) :ベクトルレジスタVR1のインデックス1をベク
トルレジスタVR2のインデックス1の要素として格納
する。
【0283】(2) :ベクトルレジスタVR1のインデッ
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、小さい方の要素=4の
インデックス2をベクトルレジスタVR2のインデック
ス2の要素として格納する。
クス2の要素=4と、ベクトルレジスタVR1のインデ
ックス1の要素=16と比較し、小さい方の要素=4の
インデックス2をベクトルレジスタVR2のインデック
ス2の要素として格納する。
【0284】(3) :ベクトルレジスタVR1のインデッ
クス3の要素=8と、前記比較結果で小さい方のデータ
=4を比較し、小さい方の要素=4のインデックス2を
ベクトルレジスタVR2のインデックス3の要素として
格納する。
クス3の要素=8と、前記比較結果で小さい方のデータ
=4を比較し、小さい方の要素=4のインデックス2を
ベクトルレジスタVR2のインデックス3の要素として
格納する。
【0285】(4) :ベクトルレジスタVR1のインデッ
クス4の要素=12と、前記比較結果で小さい方のデー
タ=4とを比較し、小さい方の要素=4のインデックス
2をベクトルレジスタVR2のインデックス4の要素と
して格納する。
クス4の要素=12と、前記比較結果で小さい方のデー
タ=4とを比較し、小さい方の要素=4のインデックス
2をベクトルレジスタVR2のインデックス4の要素と
して格納する。
【0286】以上の処理により、ベクトルレジスタVR
3で示されたグループ値=4のグループ(最初のグルー
プ)に対する最小値インデックス検索処理を終了する。
以降、グループ値=2、2、4・・・の各グループにつ
いても同様に処理を行う。
3で示されたグループ値=4のグループ(最初のグルー
プ)に対する最小値インデックス検索処理を終了する。
以降、グループ値=2、2、4・・・の各グループにつ
いても同様に処理を行う。
【0287】§3:グループ最小値インデックス検索命
令処理回路の説明 実施例18のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
24に示した回路のスカラレジスタSR2を、ベクトル
レジスタVR3(図26参照)で置き換え、データ比較
器14を、最小値の比較を行うように変更することで実
現できる。
令処理回路の説明 実施例18のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
24に示した回路のスカラレジスタSR2を、ベクトル
レジスタVR3(図26参照)で置き換え、データ比較
器14を、最小値の比較を行うように変更することで実
現できる。
【0288】この場合、図24に示したデータ比較器1
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。そして、AN
D回路32に対しては、比較結果が(入力データ)≦
(データ用レジスタ11の値)の時、ハイレベル信号=
1を出力し、(入力データ)>(データ用レジスタ11
の値)の時、ローレベル信号=0を出力する。前記以外
の構成は図24と同じなので説明は省略する。
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。そして、AN
D回路32に対しては、比較結果が(入力データ)≦
(データ用レジスタ11の値)の時、ハイレベル信号=
1を出力し、(入力データ)>(データ用レジスタ11
の値)の時、ローレベル信号=0を出力する。前記以外
の構成は図24と同じなので説明は省略する。
【0289】(実施例19の説明)図28、図29は実
施例19を示した図であり、図28、図29中、図2〜
図27と同じものは、同一符号で示してある。
施例19を示した図であり、図28、図29中、図2〜
図27と同じものは、同一符号で示してある。
【0290】§1:グループ最大値インデックス検索命
令の説明・・・図28参照 図28は実施例19のグループ最大値インデックス検索
命令説明図である。実施例4のグループ最大値検索命令
(図8参照)では、ベクトルレジスタVR1の各グルー
プ内最大値が確定した後、まとめてベクトルレジスタV
R2の各インデックスに、同じグループ内最大値を格納
したが、実施例18のグループ最大値インデックス検索
命令は、前記グループ内最大値の代わりに、グループ内
最大値のインデックスを検索して、そのインデックスを
ベクトルレジスタVR2に格納する命令である。
令の説明・・・図28参照 図28は実施例19のグループ最大値インデックス検索
命令説明図である。実施例4のグループ最大値検索命令
(図8参照)では、ベクトルレジスタVR1の各グルー
プ内最大値が確定した後、まとめてベクトルレジスタV
R2の各インデックスに、同じグループ内最大値を格納
したが、実施例18のグループ最大値インデックス検索
命令は、前記グループ内最大値の代わりに、グループ内
最大値のインデックスを検索して、そのインデックスを
ベクトルレジスタVR2に格納する命令である。
【0291】§2:グループ内最大値インデックス検索
処理の説明 各グループ内での最大値インデックスを検索する処理は
次の通りである。 :ベクトルレジスタVR1のインデックス1をベクト
ルレジスタVR2のインデックス1の要素として格納す
る。
処理の説明 各グループ内での最大値インデックスを検索する処理は
次の通りである。 :ベクトルレジスタVR1のインデックス1をベクト
ルレジスタVR2のインデックス1の要素として格納す
る。
【0292】:ベクトルレジスタVR1のインデック
ス2の要素=4と、ベクトルレジスタVR1のインデッ
クス1の要素=16を比較し、大きい方の要素=16の
インデックス1をベクトルレジスタVR2のインデック
ス2の要素として格納する。
ス2の要素=4と、ベクトルレジスタVR1のインデッ
クス1の要素=16を比較し、大きい方の要素=16の
インデックス1をベクトルレジスタVR2のインデック
ス2の要素として格納する。
【0293】:ベクトルレジスタVR1のインデック
ス3の要素=8と、前記比較結果で大きい方のデータ=
16を比較し、大きい方の要素=16のインデックス1
をベクトルレジスタVR2のインデックス3の要素とし
て格納する。
ス3の要素=8と、前記比較結果で大きい方のデータ=
16を比較し、大きい方の要素=16のインデックス1
をベクトルレジスタVR2のインデックス3の要素とし
て格納する。
【0294】:ベクトルレジスタVR1のインデック
ス4の要素=12と、前記比較結果で大きい方のデータ
=16を比較し、大きい方の要素=16のインデックス
1をベクトルレジスタVR2のインデックス4の要素と
して格納する。
ス4の要素=12と、前記比較結果で大きい方のデータ
=16を比較し、大きい方の要素=16のインデックス
1をベクトルレジスタVR2のインデックス4の要素と
して格納する。
【0295】以上の処理により、スカラレジスタSR2
で示されたグループ値=4のグループ(最初のグルー
プ)に対する最大値インデックス検索処理を終了する。
以降、各グループについても同様に処理を行う。
で示されたグループ値=4のグループ(最初のグルー
プ)に対する最大値インデックス検索処理を終了する。
以降、各グループについても同様に処理を行う。
【0296】§3:グループ最大値インデックス検索命
令処理回路の説明・・・図29参照 図29は実施例19のグループ最大値インデックス検索
命令処理回路である。実施例19のグループ最大値イン
デックス検索命令の処理を行うためのグループ最大値検
索命令処理回路は、図21に示した回路(実施例13)
に、AND回路27を付加することで実現できる。
令処理回路の説明・・・図29参照 図29は実施例19のグループ最大値インデックス検索
命令処理回路である。実施例19のグループ最大値イン
デックス検索命令の処理を行うためのグループ最大値検
索命令処理回路は、図21に示した回路(実施例13)
に、AND回路27を付加することで実現できる。
【0297】この場合、AND回路27(実施例8、実
施例12のAND回路27参照)は、信号線22がアサ
ートされた時、レジスタ31の値(インデックス)をベ
クトルレジスタVR2へ出力するものである。前記以外
の構成は図21と同じなので説明は省略する。
施例12のAND回路27参照)は、信号線22がアサ
ートされた時、レジスタ31の値(インデックス)をベ
クトルレジスタVR2へ出力するものである。前記以外
の構成は図21と同じなので説明は省略する。
【0298】(実施例20の説明)図30は実施例20
のグループ最小値インデックス検索命令説明図である。
図30中、図2〜図29と同じものは、同一符号で示し
てある。
のグループ最小値インデックス検索命令説明図である。
図30中、図2〜図29と同じものは、同一符号で示し
てある。
【0299】§1:グループ最小値インデックス検索命
令の説明・・・図30参照 実施例8のグループ最小値検索命令(図12参照)で
は、ベクトルレジスタVR1の各グループ内最小値が確
定した後、まとめてベクトルレジスタVR2の各インデ
ックスに、同じグループ内最小値を格納したが、実施例
30のグループ最小値インデックス検索命令は、前記グ
ループ内最小値の代わりに、グループ内最小値のインデ
ックスを求めて、そのインデックスをベクトルレジスタ
VR2に格納する命令である。
令の説明・・・図30参照 実施例8のグループ最小値検索命令(図12参照)で
は、ベクトルレジスタVR1の各グループ内最小値が確
定した後、まとめてベクトルレジスタVR2の各インデ
ックスに、同じグループ内最小値を格納したが、実施例
30のグループ最小値インデックス検索命令は、前記グ
ループ内最小値の代わりに、グループ内最小値のインデ
ックスを求めて、そのインデックスをベクトルレジスタ
VR2に格納する命令である。
【0300】§2:グループ最小値インデックス検索命
令処理回路の説明 実施例20のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
29に示した回路のデータ比較器14を変更することで
実現できる。
令処理回路の説明 実施例20のグループ最小値インデックス検索命令の処
理を行うためのグループ最小値検索命令処理回路は、図
29に示した回路のデータ比較器14を変更することで
実現できる。
【0301】この場合、図29に示したデータ比較器1
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。そして、AN
D回路32に対しては、比較結果が(入力データ)≦
(データ用レジスタ11の値)の時、ハイレベル信号=
1を出力し、(入力データ)>(データ用レジスタ11
の値)の時、ローレベル信号=0を出力する。前記以外
の構成は図29と同じなので説明は省略する。
4は、ベクトルレジスタVR1の要素を入力データと
し、データ用レジスタ11の値と比較処理を行い、小さ
い方のデータを出力するように構成する。そして、AN
D回路32に対しては、比較結果が(入力データ)≦
(データ用レジスタ11の値)の時、ハイレベル信号=
1を出力し、(入力データ)>(データ用レジスタ11
の値)の時、ローレベル信号=0を出力する。前記以外
の構成は図29と同じなので説明は省略する。
【0302】(他の実施例)以上実施例について説明し
たが、本発明は次のようにしても実施可能である。すな
わち、各実施例において、ベクトルレジスタVR1、V
R2は異なったベクトルレジスタで実現しても良いし、
1つのベクトルレジスタで実現しても良い。
たが、本発明は次のようにしても実施可能である。すな
わち、各実施例において、ベクトルレジスタVR1、V
R2は異なったベクトルレジスタで実現しても良いし、
1つのベクトルレジスタで実現しても良い。
【0303】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1) :或るベクトルに対し、そのベクトルの全要素だけ
でなく、ベクトルの要素の内、一部の要素を対象とした
グループ単位で最大値、最小値、合計値等を求める処理
が、1つの命令の実行により高速、かつ効率的に可能と
なる。
のような効果がある。 (1) :或るベクトルに対し、そのベクトルの全要素だけ
でなく、ベクトルの要素の内、一部の要素を対象とした
グループ単位で最大値、最小値、合計値等を求める処理
が、1つの命令の実行により高速、かつ効率的に可能と
なる。
【0304】(2) :前記の理由により、画像処理、音声
処理など、マルチメディア処理を高速で行うことができ
る。 (3) :ベクトルマクロ命令として、グループ最大値検索
命令、グループ最小値検索命令、グループ合計値命令、
グループ最大値インデックス検索命令、グループ最小値
インデックス検索命令など、各種のグループ命令を用意
することが可能になる。従って、例えば、マルチメディ
ア処理等に適したベクトルプロセッサが実現できる。
処理など、マルチメディア処理を高速で行うことができ
る。 (3) :ベクトルマクロ命令として、グループ最大値検索
命令、グループ最小値検索命令、グループ合計値命令、
グループ最大値インデックス検索命令、グループ最小値
インデックス検索命令など、各種のグループ命令を用意
することが可能になる。従って、例えば、マルチメディ
ア処理等に適したベクトルプロセッサが実現できる。
【0305】(4) :ベクトルプロセッサの処理が高速化
でき、ベクトルデータの処理性能が向上する。
でき、ベクトルデータの処理性能が向上する。
【図1】本発明の原理説明図である。
【図2】実施例1のグループ最大値検索命令説明図であ
る。
る。
【図3】実施例1のグループ最大値検索命令処理回路で
ある。
ある。
【図4】実施例2のグループ最大値検索命令説明図であ
る。
る。
【図5】実施例2のグループ最大値検索命令処理回路で
ある。
ある。
【図6】実施例3のグループ最大値検索命令説明図であ
る。
る。
【図7】実施例4のグループ最大値検索命令説明図であ
る。
る。
【図8】実施例4のグループ最大値検索命令処理回路で
ある。
ある。
【図9】実施例5のグループ最小値検索命令説明図であ
る。
る。
【図10】実施例6のグループ最小値検索命令説明図で
ある。
ある。
【図11】実施例7のグループ最小値検索命令説明図で
ある。
ある。
【図12】実施例8のグループ最小値検索命令説明図で
ある。
ある。
【図13】実施例9のグループ合計値命令説明図であ
る。
る。
【図14】実施例9のグループ合計値命令処理回路であ
る。
る。
【図15】実施例10のグループ合計値命令説明図であ
る。
る。
【図16】実施例10のグループ合計値命令処理回路で
ある。
ある。
【図17】実施例11のグループ合計値命令説明図であ
る。
る。
【図18】実施例12のグループ合計値命令説明図であ
る。
る。
【図19】実施例12のグループ合計値命令処理回路で
ある。
ある。
【図20】実施例13のグループ最大値インデックス検
索命令説明図である。
索命令説明図である。
【図21】実施例13のグループ最大値インデックス検
索命令処理回路である。
索命令処理回路である。
【図22】実施例14のグループ最小値インデックス検
索命令説明図である。
索命令説明図である。
【図23】実施例15のグループ最大値インデックス検
索命令説明図である。
索命令説明図である。
【図24】実施例15のグループ最大値インデックス検
索命令処理回路である。
索命令処理回路である。
【図25】実施例16のグループ最小値インデックス検
索命令説明図である。
索命令説明図である。
【図26】実施例17のグループ最大値インデックス検
索命令説明図である。
索命令説明図である。
【図27】実施例18のグループ最小値インデックス検
索命令説明図である。
索命令説明図である。
【図28】実施例19のグループ最大値インデックス検
索命令説明図である。
索命令説明図である。
【図29】実施例19のグループ最大値インデックス検
索命令処理回路である。
索命令処理回路である。
【図30】実施例20のグループ最小値インデックス検
索命令説明図である。
索命令説明図である。
VR1、VR2 ベクトルレジスタ SR2 スカラレジスタ 11 データ用レジスタ 12 グループ値用レジスタ 13 カウンタ値用レジスタ 14 データ比較器 15 グループ値比較器 16、17 セレクタ 18 インクリメント回路 19 OR回路 21、22、23 信号線
Claims (20)
- 【請求項1】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された1つのスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ値比
較器から一致信号が出力された時入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項2】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された複数のスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記複数のスカラ値の内、いずれか1つのスカラ値をグ
ループ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを、出力データとして格納す
る出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 グループ値比較器から一致信号が出力された時、前記ス
カラ値に従って、グループ値格納手段のグループ値を更
新するグループ値更新手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項3】 1つのベクトルレジスタ(VR1)に対
し、ベクトルレジスタ(VR3)で指定されたベクトル
値をグループ単位として、グループ単位毎にデータ(要
素)の最大値を求め、その最大値をベクトルレジスタ
(VR2)の要素として格納するベクトルプロセッサで
あって、 前記ベクトル値の内、いずれか1つの値(要素)をグル
ープ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 グループ値比較器から一致信号が出力された時、前記ベ
クトル値に従って、グループ値格納手段のグループ値を
更新するグループ値更新手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項4】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された1つのスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値が確定した後、前
記最大値をベクトルレジスタ(VR2)のグループ単位
の全要素として格納するベクトルプロセッサであって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記グループ値比較器から一致信号が出力され、グルー
プ内の最大値が確定した後、出力データ格納手段のデー
タを、ベクトルレジスタ(VR2)へ出力するデータ出
力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項5】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された1つのスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項6】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された複数のスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記複数のスカラ値の内、いずれか1つのスカラ値をグ
ループ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器の出力側のいずれか一
方を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 前記グループ値比較器から一致信号が出力された時、前
記スカラ値に従って、グループ値格納手段のグループ値
を更新するグループ値更新手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項7】 1つのベクトルレジスタ(VR1)に対
し、ベクトルレジスタ(VR3)で指定されたベクトル
値をグループ単位として、グループ単位毎にデータ(要
素)の最小値を求め、その最小値をベクトルレジスタ
(VR2)の要素として格納するベクトルプロセッサで
あって、 前記ベクトル値の内、いずれか1つの値(要素)をグル
ープ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 前記グループ値比較器から一致信号が出力された時、前
記ベクトル値に従って、グループ値格納手段のグループ
値を更新するグループ値更新手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項8】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された1つのスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値が確定した後、前
記最小値をベクトルレジスタ(VR2)のグループ単位
の全要素として格納するベクトルプロセッサであって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれかを選
択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記グループ値比較器から一致信号が出力され、グルー
プ内の最小値が確定した後、出力データ格納手段のデー
タをベクトルレジスタ(VR2)へ出力するデータ出力
手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項9】 1つのベクトルレジスタ(VR1)に対
し、スカラレジスタ(SR2)で指定された1つのスカ
ラ値をグループ単位として、グループ単位毎にデータ
(要素)の合計値を求め、その合計値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの加算を行うデータ加算器
と、 入力データ側、及びデータ加算器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ加算器出力側を選択する機能を
有し、 前記データ加算器は、入力データと出力データ格納手段
に格納されているデータとの加算を行い、加算データを
出力する機能を有することを特徴としたベクトルプロセ
ッサ。 - 【請求項10】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された複数のス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の合計値を求め、その合計値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記複数のスカラ値の内、いずれか1つのスカラ値をグ
ループ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの加算を行うデータ加算器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 前記グループ値比較器から一致信号が出力された時、前
記スカラ値に従って、グループ値格納手段のグループ値
を更新するグループ値更新手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ加算器の出力側を選択する機能
を有し、 前記データ加算器は、入力データと出力データ格納手段
に格納されているデータとの加算を行い、加算結果のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項11】 1つのベクトルレジスタ(VR1)に
対し、ベクトルレジスタ(VR3)で指定されたベクト
ル値をグループ単位として、グループ単位毎にデータ
(要素)の合計値を求め、その合計値をベクトルレジス
タ(VR2)の要素として格納するベクトルプロセッサ
であって、 前記ベクトル値の内、いずれか1つの値(要素)をグル
ープ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの加算を行うデータ加算器
と、 入力データ側、及びデータ加算器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記出力データ格納手段のデータをベクトルレジスタ
(VR2)へ出力するデータ出力手段と、 前記グループ値比較器から一致信号が出力された時、前
記ベクトル値に従って、グループ値格納手段のグループ
値を更新するグループ値更新手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ加算器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの加算を行い、加算結果のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項12】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された1つのス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の合計値を求め、その合計値が確定した後、ベ
クトルレジスタ(VR2)のグループ単位の全要素とし
て格納するベクトルプロセッサであって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの加算を行うデータ加算器
と、 入力データ側、及びデータ加算器出力側のいずれか一方
を選択するセレクタと、 セレクタで選択したデータを出力データとして格納する
出力データ格納手段と、 前記グループ値比較器から一致信号が出力され、グルー
プ内の合計値が確定した後、出力データ格納手段のデー
タをベクトルレジスタ(VR2)へ出力するデータ出力
手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ加算器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの加算を行い、加算結果のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項13】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された1つのス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較器の比較結果を基に、大きい方のデータ
(要素)のインデックスを求めるインデックス検索手段
と、 前記インデックス検索手段で求めたインデックスを、ベ
クトルレジスタ(VR2)へ出力するインデックス出力
手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項14】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された1つのス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較器の比較結果を基に、小さい方のデータ
(要素)のインデックスを求めるインデックス検索手段
と、 前記インデックス検索手段で求めたインデックスをベク
トルレジスタ(VR2)へ出力するインデックス出力手
段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項15】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された複数のス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記スカラ値の内、いずれか1つのスカラ値をグループ
値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 前記グループ値比較器から一致信号が出力された時、前
記スカラ値に従って、グループ値格納手段のグループ値
を更新するグループ値更新手段と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、大きい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記インデックス検索手段で求めたインデックスをベク
トルレジスタ(VR2)へ出力するインデックス出力手
段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項16】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された複数のス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記スカラ値の内、いずれか1つのスカラ値をグループ
値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 前記グループ値比較器から一致信号が出力された時、前
記スカラ値に従って、グループ値格納手段のグループ値
を更新するグループ値更新手段と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、小さい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記インデックス検索手段で求めたインデックスをベク
トルレジスタ(VR2)へ出力するインデックス出力手
段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項17】 1つのベクトルレジスタ(VR1)に
対し、ベクトルレジスタ(VR3)で指定されたベクト
ル値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記ベクトル値の内、いずれか1つの値(要素)をグル
ープ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 前記グループ値比較器から一致信号が出力された時、前
記ベクトル値に従って、グループ値格納手段のグループ
値を更新するグループ値更新手段と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、大きい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記インデックス検索手段で求めたインデックスをベク
トルレジスタ(VR2)へ出力するインデックス出力手
段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項18】 1つのベクトルレジスタ(VR1)に
対し、ベクトルレジスタ(VR3)で指定されたベクト
ル値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)の要素として格納するベクトルプロセッサであっ
て、 前記ベクトル値の内、いずれか1つの値(要素)をグル
ープ値として格納するグループ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 前記グループ値比較器から一致信号が出力された時、前
記ベクトル値に従って、グループ値格納手段のグループ
値を更新するグループ値更新手段と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、小さい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記インデックス検索手段で求めたインデックスをベク
トルレジスタ(VR2)へ出力するインデックス出力手
段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項19】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された1つのス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最大値を求め、その最大値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)のグループ内の全要素として格納するベクトルプロ
セッサであって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、大きい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記グループ値比較器から一致信号が出力され、グルー
プ内の最大値が確定した後、前記インデックス検索手段
で求めたインデックスを、ベクトルレジスタ(VR2)
へ出力するインデックス出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、大きい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。 - 【請求項20】 1つのベクトルレジスタ(VR1)に
対し、スカラレジスタ(SR2)で指定された1つのス
カラ値をグループ単位として、グループ単位毎にデータ
(要素)の最小値を求め、その最小値が格納されている
インデックス(要素番号)をベクトルレジスタ(VR
2)のグループ単位の全要素として格納するベクトルプ
ロセッサであって、 前記1つのスカラ値をグループ値として格納するグルー
プ値格納手段と、 グループ毎に、入力データ(要素)数を計数する入力デ
ータ数計数手段と、 入力データ数計数手段の計数値と、グループ値格納手段
のグループ値を比較して、両者が一致した時一致信号を
出力するグループ値比較器と、 各グループ内での入力データの比較を行うデータ比較器
と、 入力データ側、及びデータ比較器出力側のいずれか一方
を選択するセレクタと、 前記セレクタで選択したデータを格納するデータ格納手
段と、 前記データ比較手段の比較結果を基に、小さい方のデー
タ(要素)のインデックスを求めるインデックス検索手
段と、 前記グループ値比較器から一致信号が出力され、グルー
プ内の最小値が確定した後、前記インデックス検索手段
で求めたインデックスを、ベクトルレジスタ(VR2)
へ出力するインデックス出力手段を備えると共に、 前記セレクタは、データ処理開始時、及びグループ比較
手段から一致信号が出力された時、入力データ側を選択
し、その他の時はデータ比較器出力側を選択する機能を
有し、 前記データ比較器は、入力データと出力データ格納手段
に格納されているデータとの比較を行い、小さい方のデ
ータを出力する機能を有することを特徴としたベクトル
プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20664294A JPH0877142A (ja) | 1994-08-31 | 1994-08-31 | ベクトルプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20664294A JPH0877142A (ja) | 1994-08-31 | 1994-08-31 | ベクトルプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0877142A true JPH0877142A (ja) | 1996-03-22 |
Family
ID=16526738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20664294A Withdrawn JPH0877142A (ja) | 1994-08-31 | 1994-08-31 | ベクトルプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0877142A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010087144A1 (ja) * | 2009-02-02 | 2010-08-05 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
JP2023085414A (ja) * | 2017-04-03 | 2023-06-20 | グーグル エルエルシー | ベクトル縮小プロセッサ |
-
1994
- 1994-08-31 JP JP20664294A patent/JPH0877142A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010087144A1 (ja) * | 2009-02-02 | 2010-08-05 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
JP5500652B2 (ja) * | 2009-02-02 | 2014-05-21 | 日本電気株式会社 | 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法 |
JP2023085414A (ja) * | 2017-04-03 | 2023-06-20 | グーグル エルエルシー | ベクトル縮小プロセッサ |
US11940946B2 (en) | 2017-04-03 | 2024-03-26 | Google Llc | Vector reduction processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063825B (zh) | 卷积神经网络加速装置 | |
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
EP2972968B1 (en) | Vector processing engines having programmable data path configurations for providing multi-mode vector processing, and related vector processors, systems, and methods | |
US5696913A (en) | Unique processor identifier in a multi-processing system having plural memories with a unified address space corresponding to each processor | |
EP0127508A2 (en) | Full floating point vector processor | |
US5081573A (en) | Parallel processing system | |
JP2021508125A (ja) | 行列乗算器 | |
JPS6363945B2 (ja) | ||
US20140280420A1 (en) | Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods | |
JP3188467B2 (ja) | 最小値・最大値検索装置 | |
US20140280407A1 (en) | Vector processing carry-save accumulators employing redundant carry-save format to reduce carry propagation, and related vector processors, systems, and methods | |
WO2021232422A1 (zh) | 神经网络的运算装置及其控制方法 | |
JP7292297B2 (ja) | 確率的丸めロジック | |
US5081608A (en) | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields | |
Flegel et al. | A Fritz John approach to first order optimality conditions for mathematical programs with equilibrium constraints | |
JPS61210478A (ja) | ベクトル処理装置 | |
JPH021059A (ja) | 連想検索システム | |
US4933839A (en) | Vector processor | |
JPH0877142A (ja) | ベクトルプロセッサ | |
JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
US20130262819A1 (en) | Single cycle compare and select operations | |
CN116151321A (zh) | 半导体装置 | |
US5826098A (en) | Data processing system which converts received data packet into extended packet with prescribed field for accumulation process | |
KR20220054220A (ko) | 탑케이 연산을 위한 방법 및 시스템 | |
JPH024944B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20011106 |