JPS63253469A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS63253469A
JPS63253469A JP62086846A JP8684687A JPS63253469A JP S63253469 A JPS63253469 A JP S63253469A JP 62086846 A JP62086846 A JP 62086846A JP 8684687 A JP8684687 A JP 8684687A JP S63253469 A JPS63253469 A JP S63253469A
Authority
JP
Japan
Prior art keywords
vector
mode
control circuit
arithmetic
data
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.)
Granted
Application number
JP62086846A
Other languages
English (en)
Other versions
JP3070744B2 (ja
Inventor
Keiji Kojima
啓二 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62086846A priority Critical patent/JP3070744B2/ja
Priority to EP88105642A priority patent/EP0286125B1/en
Priority to DE88105642T priority patent/DE3882772T2/de
Priority to US07/179,987 priority patent/US5091848A/en
Publication of JPS63253469A publication Critical patent/JPS63253469A/ja
Application granted granted Critical
Publication of JP3070744B2 publication Critical patent/JP3070744B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル処理装置に係わり、特にソース処理な
どの記号処理に好適なベクトル処理装置に関する。
〔従来の技術〕
従来、ベクトル処理にもとづいてデータ列のソーティン
グを高速に行なう専用ハードウェアとして、特願昭58
−242007記載の装置が知られている。
この装置はそれまでベクトル化できなかったマージ・ソ
ート法のベクトル化を可能にしている。
〔発明が解決しようとする問題点〕
上記従来技術は、ソート対象となるデータ列に偏りがあ
る場合、例えば入力データ列がはじめから、はぼソート
済みである場合などに対する配慮がなされていなかった
。以下この問題を図を用いて簡単に説明する。
第10図(a)は、従来技術のベクトル処理装置でのソ
ート方法を模式的に示した図である。この図かられかる
ように従来は、ソート対象の入力データ列が2,5,7
,4,1,6,8,3である場合、まずこのデータ列を
中央から2つのベクトルX= (2,5,7,4)とY
= (1,6,8゜3)とに分割する。次に、X、Y内
のデータがランダムに並んでいることを前提に、XとY
の先頭から1つづつマージしていく、この結果2つづつ
はソート済みのデータ列1,2,5,6,7,8゜3.
4が出力される。そこで再びこのデータ列をベクトルX
= (1,2,5,6)とY= (7,8゜3.4)に
分割して今度は2つづつマージする。
この結果4つづつソート済みのデータ列1,2゜7.8
,3,4,5.6が出力され、再度分割マージを行なう
ことによって全体のソートが完了する。
この方式では、1回のマージ毎にソート済みのデータ列
の長さが1.2,4.・・・ど2倍づつに長くなる。従
って入力データ列の長さがNであるとすると、Qogz
N回のマージが必要になる。例えばこの例ではQogz
8  ==3回のマージが必要である。この方式は、入
力データ列はランダムに並んでいると仮定しているが、
実際の入力データ列では、何らかの偏りが存在する場合
も多い。例えば最初からほぼ昇順にデータが並んでいる
こともありうるが、この方式ではそのようなデータ列の
性質を活かせないという問題がある。
この問題に対して、ソフトウェア的には第10図(b)
に−例を示したようなデータ列に内存する特性を活かし
て効率を上げる方法が知られている。第10図(b)は
、第10図(a)に示したものと同−例でのソート手順
を示している。第10図(b)に示した方式では、最初
の入力データ列2,5,7,4.l、6,8.3に存在
する特性を利用する。すなわちこのデータ列のうち、2
.5.7は初めから昇順に並んでおり、7,4゜1は逆
に降順に並んでいる。また1次の1,6゜8は再び昇順
に、8,1は降順になっている。そこでこれら初めから
入力データ列に存在する昇順または降順データ列をマー
ジしていくことにより、少ないマージ回数でのソートが
可能となる。第10図(b)でいうと、入力データ列に
対し、その両端からみていくと、左端からは2,5.7
が昇順に並んでおり、右端からは3,8が昇順に並んで
いる。従ってこの両者をマージして2,3゜5.7.8
を出力する0次に左からは4,1.右からは6,1がそ
れぞれ降順に並んでいるので、両者をマージして6,4
.1を出力する。この出力結果2,3,5,7,8,6
,4.1に対し両端から上と同様のマージを行なうと、
今度は左端からは2,3,5,7,8が、右端からは1
,4゜6がそれぞれ昇順なのでこれをマージして出力す
ることにより全体のソート結果が得られる。この例では
2回のマージで全体がソートでき、第10図(a)の方
式に比べてマージ回数が少なくて済む。
しかし第10図(b)の方式は従来のベクトル処理装置
では効率の良いベクトル処理ができない。
その理由を以下説明する。第10図(b)に示した演算
では、入力データ列(ベクトル)が昇順・降順に並んで
いる部分列(部分ベクトル)から成っている。そして部
分ベクトル毎に異なった演算が要求される0例えば、昇
順に並んでいる部分ベクトルどうしのマージでは、値が
小さい順に出力することが、また降順に並んでいる部分
ベクトルどうしのマージでは大きい順に出力することが
要求される。そこで従来のベクトル処理装置ではまず、
入力ベクトルを走査して昇順・降順に並んだ部分ベクト
ルに分割し、次に昇順の部分ベクトルに対しては小さい
順に出力するベクトル型のマージ命令を、また降順の部
分ベクトルに対しては大きい順に出力するマージ命令を
それぞれ適用する必要がある。したがって走査と部分ベ
クトルへの分割のオーバヘッドが加わるとともに、ベク
トル長が短くなり、命令起動のオーバヘッドが増大する
ことになる。
〔問題点を解決するための手段〕 上記目的は、連続するベクトル要素の比較演算手段と比
較結果および演算結果に応じて更新される演算モードレ
ジスタと、各ベクトル要素に対して行なう演算の種類を
前記モードレジスタにより決定する手段とを設けること
により達成される。
〔作用〕
解決手段の作用を第10図(b)の例にもとづいて説明
する。入力データ列を1つのベクトル・オペランドとし
て両端から処理していくが、まず、相隣り合う連続ベク
トル要素間の大小比較を行ない、データが昇順または降
順に並んでいるかを調べる。例えば左端からは2〈5.
右端からは3〈8であり、ともに昇順であることがわか
る。また演算モードとしては′昇順マージモード1と1
降順マージモード′の2つがあ、す、それぞれに対応し
て例えば値10′と′1′を演算モードレジスタに設定
する。今、演算モードレジスタに初期値′0′が設定さ
れているとすると、演算は昇順マージモードで開始され
る。昇順マージモードでは値の小さい値に出力していく
ので、最初に12′が出力される。左からの次の連続2
要素の大小比較結果は5く7で依然昇順なので演算モー
ドは変化せず、13′が出力される。右からの次の連続
2要素の比較結果は8〉6であり降順に変化している。
すなわち右からの昇順部分ベクトルが尽きているので、
左からの昇順部分ベクトルの要素“5′を出力する。こ
の結果左からの連続2要素の比較結果は7〉4となりこ
ちらも降順となる。
そこで′7′と′8′のうち小さい方の17′を出力す
るとともに最初の昇順部分ベクトルが尿きたので演算モ
ードレジスタを′1′に更新し降順部分ベクトル列のマ
ージに移る。降順マージモードでは大きい順の出力を行
なうので、まず′8′が出力される。そして昇順部分ベ
クトル列の場合と同様に降順部分ベクトル列のマージを
行なう。
以下同様に昇順または降順の部分ベクトルが尽きたとき
にモードを更新し1次の部分ベクトル列のマージに移る
これによって、部分ベクトル列の区切り部分の検出をマ
ージと並行して行なうことができ、かつ各昇順・降順部
分ベクトルに対応して昇順モードのマージと降順モード
のマージを命令を再起動せずに連続して行なえるので効
率の良いパイプライン処理が可能となる。
〔実施例〕
以下、本発明の一実施例を図に従って説明する。
まず本発明の一実施例であるベクトル処理装置の構成と
動作の概略を第1図を用いて説明する。
主記憶装置111に格納されたベクトル命令は、データ
バス129から命令語レジスタ101に読出され、解読
回路102により解読される。解読の結果命令の種類が
判明すると、その旨が制御信号113によって演算制御
回路104に伝えられ命令の種類に対応した制御回路が
起動される。これと並行して命令が指定する汎用レジス
タの内容が汎用レジスタ群103よりデータバス114
と115を介して演算制御回路104中のオペランド制
御回路106とモード制御回路107に送られセットア
ツプされ、これら回路が初期化される。
初期化が終了すると演算制御回路104中のタイミング
制御回路105はオペランド・ベクトルの要素のフェッ
チならびにストア要求を必要に応じて制御信号131に
より主記憶装置111に送出する。これと並行してフェ
ッチアドレスおよびストアアドレスの更新指示もタイミ
ング制御回路105から制御信号118を介してアドレ
ス制御回路109に送られる。フェッチ要求を受は取っ
た主記憶装@111はアドレス制御回路109がらデー
タバス124を介して送られたフェッチアドレスに従っ
てベクトル要素を読み出す、読み出されたベクトル要素
はデータバス128を介して演算回路110に送られて
演算され、演算結果が制御信号126を通して演算制御
回路104中の次動作制御論理108に入力される1次
動作制御論理は演算結果と、オペランド制御回路106
がら制御信号121を介して入力される終了判定結果と
、モード制御回路107から制御信号122を介して入
力される演算種類を示すモード信号とを参照し1次に行
なうべき動作を決定する。次動作の指示は次動作制御論
理108からオペランド制御回路106とモード制御回
路107に制御信号120および123を介して送られ
、オペランドカウンタの更新、および演算モード指定レ
ジスタの更新がそれぞれ行なわれる。
本発明の特徴はこのように、各ベクトル要素に対する演
算が演算モードレジスタの内容に従って変化し、かつ演
算結果が演算モードレジスタの更新に反映される点にあ
る。これにより、一つのベクトルの処理中に演算結果に
応じて動的に演算の種類を切り替えることが可能になっ
ている0例えばマージソートの場合、ベクトル中で昇順
あるいは降順の部分ベクトルを捜しながら、昇順部分ベ
クトルについては小さい順のマージ出力、降順部分ベク
トルについては大きい順のマージ出力といったような演
算動作が可能となり、部分ベクトルへの分解オーバヘッ
ドおよびベクトル命令の起動オーバヘッドがない効率的
なベクトル演算が可能となる。
さてオペランド制御回路106が終了を検出すると、そ
の旨が制御信号116によりタイミング制御回路105
に伝えられ、フェッチ要求ならびにストア要求の送出を
止め命令が終了する。その後主記憶装置i!2111か
ら次の命令が取出され命令語レジスタ101にセットさ
れ処理が続行する。
以上、本発明の一実施例であるベクトル処理装置の構成
と動作の概略を述べた。
第1図に示したベクトル処理装置の詳細な動作の説明に
先立って、まず本実施例におけるベクトル命令の命令形
式について第2図を用いて説明する。第2図に示したよ
うにベクトル命令は32ビツトのビット列である。命令
の上位16ビツト201はベクトル命令の種類を表わす
、R1フィールド202は4ビツトの2進整数を表わし
O〜15の番号のつけられた16本の汎用レジスタ群1
03のうちのR1フィールドが示す番号をもった汎用レ
ジスタ204および204と連番のレジスタ205,2
06,207,208,209を指定する。同様にR2
フィールドはR2フィールドが示す番号をもった汎用レ
ジスタ210および210と連番のレジスタ211,2
12,213を指定する。
汎用レジスタ204,206,208はそれぞれ第1オ
ペランドベクトル(以下Op、1と略す)、第2オペラ
ンドベクトル(以下Op、2と略す)、第3オペランド
ベクトル(以下Op、3と略す)の先頭アドレスを表わ
す、また汎用レジスタ205゜207.209はそれぞ
れOP、1.Op、2.Op、3の要素数を表わす、汎
用レジスタ210,211゜212はそれぞれ演算中の
ベクトル要素を示すカウンタである。汎用レジスタ21
3は本発明の特徴部分の一つであり、演算モードを指定
する。第11図は、第10図(b)に示した例題に対す
る。
本実施例でのオペランド指定を模式的に示した図である
。以下第10図(b)の処理を行なうベクトル演算を多
モードマージ演算と呼ぶことにする。
第11図に示したように、OP、1としてはソートすべ
きデータ列をベクトルとしたものを、OP、2としては
Op、1を逆順に並べたものとする。具体的には、Op
、2の先頭要素アドレスをOp、1の最終要素アドレス
に等しく設定すれば、後述するようにOP、2のベクト
ル要素アドレス更新は現アドレスから4を減じている(
Op、1の方は4を加える)ので、OP、2としてはo
p、1を逆順に並べたことになる。したがってデータの
並べかえ等は不要である。ベクトル要素数205,20
7,209としでは、すべて18′を指定する。またベ
クトル要素カウンタ210,211,212の初期値と
してはいずれも′0′を設定しておけば良い、モードカ
ウンタ213の初期値も′0′としておく。
以上、命令形式について説明した。
次に本発明の一実施例である第1図に示したベクトル処
理装置の詳細な動作を第10図(b)および第11図に
示した多モードマージ演算が本実施例のベクトル処理装
置においてどう処理されるかを例として図に従って説明
する。具体的には処理の進行を示す第3図のタイム・チ
ャートの流れを、関係する各論理回路の構成図(第4図
〜第9図)を参照しながら追いかけることにする。
第3図は第11図のOp、1.Op、2を入力とした時
の第1図のベクトル処理装置の動作を示すタイム・チャ
ートである。第3図に示したように本ベクトル処理装置
ではCKoおよびCK xの2相のクロック信号を同期
用に用いている。
命令レジスタ101に読み出された第2図の形式のベク
トル命令が解読の結果多モードマージ命令であることが
判明すると、その旨を示す制御信号DEC(113)が
演算制御回路104中のタイミング制御回路105に送
られる。
タイミング制御回路105の構成を第4図に示す。
DEC信号を受は取ったタイミング制御回路105は各
回路の初期化を指示する制御信号1NiTを送出する。
これとともに多モードラージ命令の処理に入ったことを
示すホールドタイプのフリップフロップ401をセット
する。
第5図にオペランド制御回路106の構成を示す。
1NiT信号の指示によりオペランド制御回路106中
のオペランドカウンタOC1(501)。
Oc2 (502)、oc3(5o3)にそれぞれ汎用
レジスタ210,211,212の値、すなわち初期値
10 tがセットされる。OCI、OC2゜oC3はそ
れぞれOp、 1 、 Op−2s Op−3中の演算
要素を示すオペランドカウンタである。また要素数レジ
スタOLI (504)、OL2 (505)。
OL3 (506)もやはり1NiT信号の指示により
、それぞれ汎用レジスタ205,207゜209の値、
すなわち′8′が設定される。これでオペランド制御回
路106の初期化が完了した。
第6図はモード制御回路107の構成を示す図である。
1NiT信号の指示により、汎用レジスタ213に格納
されたモードカウンタの初期値がモードカウントレジス
タMCR(601)に初期設定される。これでモード制
御回路107の初期化が終了する。
第7図はアドレス制御回路109の構成を示す図である
。1NiT信号の指示により汎用レジスタ204,20
6,208に格納されたop、 1 。
Op、2.op、aの先頭アドレス(順にal、a2゜
a3とする)がアドレスレジスタOAI (701)。
oA2 (702)、OA3 (703) に−tzノ
ットれる。これでアドレス制御回路109の初期化が完
了する。
DEC信号113の1クロツク後にフェッチ要求信号F
REQ (131a)がタイミング制御回路105から
主記憶装置111に送出される。以後FREQ信号は演
算終了まで1クロツクおきに発行される。
最初のフェッチ要求信号(第3図の)を受けとった主記
憶装置111は、データバス124a。
124bを介して送られるアドレスレジスタOA1およ
びOA2の値をフェッチアドレスとしてデータを読み出
し、演算回路110に送る。
第8図に演算回路110の構成を示す、主記憶装置11
1から読み出されたOp、1とOP、2の先頭要素であ
る′2′と′3′は1NiT信号の1クロック遅れの制
御信号1NiT1によりワークレジスタWXNR(80
1) とWYNR(802)にそれぞれセットされる。
1NiT1信号のさらに1クロツク後に発行される制御
信号1NiT2によりアドレス制御回路109内(7)
OAI (701) とOA2 (702)の値がそれ
ぞれ+4.−4されて、次要素のアドレスとなる。この
アドレスが指すベクトル要素である′5′と′8!が第
2回目のフェッチ要求(第3図■)により読出され演算
回路110に送られる。送られたベクトル要素15′と
′8′はi N i T 2信号のさらに1クロツク後
に発行される1NiT3信号によりそれぞれWXNR。
WYNRにセットされる。これと同時にそれまでWXN
R,WYNRにあったデータ′2′と13′はそれぞれ
ワークレジスタWXCR(803)とWYCR(804
)L:転送される。WXNRとWXCR,WXCRとW
YCRおよびWYNRとWYCRの内容が比較演算器8
05,806゜807により比較され、比較結果CMP
I。
CMP2.CMP3が信号線126a、126b。
127cを介して次動作制御論理108に送られる。
第9図は次動作制御論理108の構成を示す真理値表で
ある。今、CMPlは2≦5.CMP2は2≦3.CM
P3は3≦8となっている。またオペランド制御回路1
06からのEND信号は。
OCl、oC2,OC3とも’O’ でかつOLl。
OL2.OL3が18′なので10′である。そしてモ
ードカウンタMCRの値もl OI なのでそノ最下位
ビット信号MODE (122) も’O’である。従
って第9図の真理値表における項番1の動作が選択され
、出方信号としテUP 1 、 OP2゜UP3.UP
MCがツレぞh (11、r□r。
11j 、a□p となる。これらの出方信号は信号線
120を介してタイミング制御回路105に送られ、こ
れらのディレィ信号、U P I D 、 UPIDD
UP2D、UP2DD、UP3D、UP3DD。
UPMCDDがオペランド制御回路106.モード制御
回路107およびアドレス制御回路109に送られ、各
レジスタの更新が行なわれる。第9図の項番1の動作指
示の場合、UPI信号とUP3信号が11′となるので
OP、1およびOp、3のベクトル要素カウンタoc1
およびOC3がUPIDD信号およびUP3DD信号に
よりカウントアツプ(+1)される、またUPLDおよ
びUP 3 DD倍信号よりアドレスレジスタOAIと
OA3がそれぞれ更新(+4)され、次のベクトル要素
を指す、一方、UP2信号は′o′となるノテ、Op、
2のベクトル要素カウンタOC2およびアドレスレジス
タOA2は更新されない。同様にUPMC信号もl O
l となるのでモードカウンタMCRも更新されない。
これは次のことを意味する。第9図の項番1から6まで
はMODEが′0′、すなわち昇順部分のベクトルのマ
ージを行なう場合であり1項番7から13まではMOD
Eが1′、すなわち降順部分ベクトルのマージを行なう
場合である。一方、MCRの初期値はt Otであり昇
順モードを指定していた。ここではCMP 1 。
CMP3の結果からデータは昇順になっていることがね
かるのでモードを変更する必要がない。
第3回目のフェッチ要求(第3図■)はこれら更新され
たアドレスに従って発行される。すなわちOAIは’a
1+8’ 、OA2は’a 2+4’となっている。従
って主記憶装置111からの読出しデータは7′と18
′となる。すなわちOp、2については2回目のフェッ
チ要求に対するものと同じベクトル要素が読み出される
。読み出したデータ′7′と8′はそれぞれ演算回路1
10に送られ、OP、1のベクトル要素′7′はUPI
DD= ’1’ なのでワークレジスタvXNRにセッ
トされるがOP、2のベクトル要素′8′はUP2DD
= ’O’ ゆえワークレジスタWYNRにはセットさ
れず、WYNRの内容は更新されない、同様にWXCR
にはWXNRのもとの値15′がセットされるが、WY
NRの内容は更新されない、ストアデータ用のワークレ
ジスタWZR(808)にはUPIDD= ’1’な(
7)テ1llXcR(IF)もとの値12′がセットさ
れる。
第3回目のフェッチ要求信号(第3図■)の1クロツク
後に最初のストア要求信号がタイミング制御回路105
から主記憶装置111に発せられる。
ストア要求は、OA3の内容をストアアドレスとして、
またWZRの内容をストアデータ(127)として行な
われる。従ってOp、3の第1要素としては12′がア
ドレス1a3′にストアされることになる。
ストアと並行して、すなわち第3回目のフェッチ要求(
第3図■)の1クロツク後に次の演算結果が次動作制御
論理108から出るが、今度はCMPIは15≦7’ 
、CMP2は’5>3’ 。
C:MP3は13≦8’ 、ENDは’O’ 、 MO
DEも0′なので項番2の動作すなわち昇順部分ベクト
ルどうしのマージでOp、2側の方が小さい場合の動作
が選択され、UPlが’O’ 、OP2が’1’ 、U
P3が’1’ 、UPMCが0′となる。この結果、O
AIとOClは更新されず。
OA2は−4されて1a2−8′に、oc2は+1され
て1′となり、OC3も+1されて2′となる。またW
YNRには4回目のフェッチ要求(第3図■)に対応し
たフェッチデータ′6′がセットされWYCRには8′
が入り、W Z Rニは13′がセットされ、OP、3
の第2要素としてストアされる。WXNR,WXCRの
内容は更新されない。
以下同様に動作が進められる。第4回目のフェッチ要求
(第3図■)に対応したフェッチデータニ対スル演算テ
ハ、CMPIが′5≦7’、CMP2が′5≦8’ 、
CMP3が’8>6’となる。
CMPlおよびCMP3の結果からOp、1側はまだ昇
順に並んでおりop、2側の昇順部分ベクトル列は尽き
たことがわかる。動作としては第9図の項番3が選択さ
れ、Op、1およびOp、3側のカウンタOCI、OC
3ならびにアドレスレジスタOA1.○A3.’7−り
17ジスタWXNR,vXCR。
WZR等が更新され、Op、1側のデータ′5′がOp
、3の次要素としてストアされる。
第5回目のフェッチ要求(第3図■)に対応してW X
 N Rニは’4’ 、WXCRには′7′が到着する
。演算の結果CMPIが’?>4’ 、 (JP2が′
7≦8’ 、CMP3が’8)6’となり、OP、1側
も昇順部分ベクトルが尽きたことがわかる。従って今度
は降順部分ベクトルのマージへと演算を切りかえる。具
体的′には第9図の項番5の動作が選択され、OP、1
およびop、3のカウンタならびにアドレスレジスタ、
ワークレジスタが更新され、○p、1側のデータ′7′
がOP、3要素としてストアされる。すでに述べたよう
に昇順部分ベクトルのマージが終了したので、降順部分
ベクトルのマージへと?寅算を切りかえるために、UP
MCを11′としてモードカウンタMCRを更新(+1
)する、この結果MODEは1へと変化する。
第6回目のフェッチ要求(第3図■)に対応してWXN
Rには’1’、、WXCRには14′がセットされる。
演算の結果CMPIが14≧1′。
CMP2が14≦8’ 、CMP3が18≧6′となり
、MODEは′1′になっているので降順部分ベクトル
列のマージを行なう、具体的には第9回の項番7の動作
が選択され、Op、2およびOp、3のカウンタOC2
,OC3ならびにアドレスレジスタOA2.OA3、ワ
ークレジスタWYNR。
WYCR,WZRがそれぞれ更新され、18′がストア
される(降順のマージなので大きい方が出力される)、
Op、1.OP、2両方とも降順のままなのでモードは
変化しない。
第7@目のフェッチ要求(第3図■)に対応してWYN
R4mは’1’ 、WYCRには16′がセットされる
。演算の結果CMPIが14≧1′。
CMP2が′4≦6’ 、CMP3が16≧1′となり
、前回と同じく第9図の項番7の動作が選択され、Op
、2およびOp、3(7)カウンタOC2゜OC3なら
びにアドレスレジスタOA2.OA3、ワークレジスタ
WYNR,WYCR,WZRがそれぞれ更新される。O
p、2側のデータである′6′がOp、3の次要素とし
てストアされる。
第8回目のフェッチ要求(第3図■)に対応してWYN
Rには’4’ 、WYCRには′1′がセットされる。
演算の結果CMP1が′4≧1′。
CMP2が’4)1’ 、CMP3が’1<4’となり
、○p、1側は依然降順であるがOp、2側の降順部分
ベクトルは尽きたことがわかる。そこで第9図項番9の
動作が選択され、OP、1およびOP、3のカウンタO
CI、OC3ならびにアドレスレジスタOAI、OA3
、ワークレジスタWXNR。
WXCR,WZRがそれぞれ更新され、Op、1側のデ
ータ14′がOP、3要素としてストアされる。
第9回目のフェッチ要求(第3図■)に対応しテW X
 N Rニは’6’ 、WXCRには′1′がセットさ
れる。演算の結果CMP1が’1<6’ 。
CMP2が′1≦1’ 、CMP3が’1(4’となる
が、今度はOC3が′7′となっているのでEND信号
が′1′となり、第9図の項番13の動作が選択される
。この結果Op、3側のカウンタOC3ならびにアドレ
スレジスタOA3、ワークレジスタWZRが更新され、
Op、2側のデータ′1′がOP、3要素としてストア
される。
END信号はタイミング制御回路105に伝えられ、多
モードマージ命令実行中であることを示    □すフ
リップフロップ401がリセットされフェッチ要求信号
FREQが止まり、さらに3クロック後ストア要求信号
5REQの送出が止まる。さらにEND信号の指示によ
り、オペランドカウンタOCI、OC2,0C3(71
最終状態の値14′。
13# 、171 と、モードカウンタMCRの最終状
態の値11′が、それぞれデータバス132a。
132b、132cおよび133を介して対応する汎用
レジスタ210,211,212,213に書き戻され
て多モードマージ命令の処理が完了する。
本実施例の動作説明では、モードカウンタの初期値を1
0′すなわち偶数から始めた。これは昇順部分ベクトル
から捜し始めることを意味するので、OP、3にも昇順
にデータが格納されはじめる。
モードカウンタの初期値を′1′などの奇数ではじめれ
ば○p、3には降順にデータが格納されていく。従って
モードカウンタの初期値を常に偶数として多モードマー
ジをくり返せば昇順のソート結果が、また常に奇数では
じめれば降順のソート結果が得られる。
〔発明の効果〕
以上説明した様に1本発明によれば、入力となるベクト
ルオペランドが、種々の性質をもつ複数の部分ベクトル
から成る場合に、各部分ベクトルの要素に対する演算と
、各部分ベクトルの区切り個所の検出と、各部分ベクト
ルの性質に応じた演算種類の変更とを並列に行なうこと
ができるので処理が高速化される。例えば多モードマー
ジ命令の場合、入力ベクトルオペランド中に自然に存在
する昇順および降順部分ベクトルを検出すると同時に昇
順部分ベクトルどうしの場合と、降順部分ベクトルどう
しの場合とで異なったモードのマージ動作をさせること
ができる。このため入力ベクトルオペランド中の昇順・
降順部分ベクトルを利用しない場合に比べてマージ回数
が減少する。実際のソート対象データにはほぼソート済
みであるなどの偏りがある場合も多い、特に入力があら
がじめソート済みの場合最も効果が大きく1本発明のベ
クトル処理装置では1回多モードマージ命令を動作させ
ればよいが、従来のベクトル処理装置ではQogxN回
のマージが必要である(要素数がNのとき)、また各マ
ージでのベクトル要素数をNとすることができ1部分ベ
クトルへの分解やベクトル命令起動のオーバヘッドもな
いため、1回のマージに要する時間は従来と変わらない
。従ってあらかじめソート済みの入力に対して本発明の
ベクトル処理装置はflogxN倍高速となる。
入力ベクトルに自然に存在する昇順・降順部分ベクトル
を利用する場合、ソートが完了したか否かを多モードマ
ージ命令実行後に知る必要がある。
部分ベクトルを利用しない第10図(a)のような方法
ではQogzN回のマージ後必ずソート済みとなるが、
第10図(b)の方法では1回のマージ後、既にソート
済みになっているかも知れない。
本発明ではモードの逆転回数をカウントしているので、
多モードマージ命令実行後のモードカウンタの値を調べ
、実行前と変化していなければ、入力全体が昇順あるい
は降順であることがわかる。
従って実行後ソート済みか否かを走査して調べることも
必要でなく、効率的である。
【図面の簡単な説明】
第1図は本発明の一実施例のベクトル処理装置の全体構
成図、第2図は命令形式を示す図、第3図は動作を示す
タイムチャート、第4図はタイミング制御回路の構成図
、第5図はオペランド制御回路の構成図、第6図はモー
ド制御回路の構成図、第7図はアドレス制御回路の構成
図、第8図は演算回路の構成図、第9図は次動作制御論
理の構成を示す真理値表、第10図はマージソートの手
法を示す図、第11図は多モードマージ命令の動作概要
を示す図である。 104・・・演算制御回路、105・・・タイミング制
御回路、1゛06・・・オペランド制御回路、107・
・・モード制御回路、108・・・次動作制御論理、1
o9・・・演算回路、601・・・モードカウントレジ
スタ。 代理人 弁理士 小川勝馬(>。 λ y l 図 第20 χ 3 図 FEE雫5upfig;L J’ii;L にfi;L
、 !ii;L JヒJii5’LSgf#     
    JTh n JTh r1!−しn JThn
urI      I−1J−1、rコ1.「コ。 df2        n       JThJmu
r3     !−−r1r11−1J−tJ−を−「
コーr1LJrNCr1 ENρ 第4 口 第 5 図 END y  乙 口 IDE ¥I 7 図 茅 g 図 5TE)ATA 舅 9 図 爾/ρ図 (α) (メン qり      /     234    6−  
 t     7J?第 11  目

Claims (1)

  1. 【特許請求の範囲】 1、一対のベクトルデータの各々からベクトル要素を対
    にして順次読み出し演算するベクトル処理装置において
    、読み出された各対のベクトル要素の一方と同一のベク
    トルデータに属する先に読み出されたベクトル要素と該
    一方のベクトル要素との間にあらかじめ定めた第1の演
    算を実行する第1の演算手段と、各対のベクトル要素に
    該第1の演算手段の演算結果に依存して定まる第2の演
    算を実行する第2の演算手段とを設けたことを特徴とす
    るベクトル処理装置。 2、第1の演算はベクトル要素間の大きさの比較演算で
    あることを特徴とする特許請求の範囲第1項記載のベク
    トル処理装置。 3、第2の演算は該第1の演算の結果の変化回数に依存
    して定まることを特徴とする特許請求の範囲第1項又は
    第2項記載のベクトル処理装置。
JP62086846A 1987-04-10 1987-04-10 ベクトル処理装置 Expired - Lifetime JP3070744B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62086846A JP3070744B2 (ja) 1987-04-10 1987-04-10 ベクトル処理装置
EP88105642A EP0286125B1 (en) 1987-04-10 1988-04-08 Vector processor suited for sorted vector data
DE88105642T DE3882772T2 (de) 1987-04-10 1988-04-08 Vektorprozessor angepasst zum Sortieren von Vektordaten.
US07/179,987 US5091848A (en) 1987-04-10 1988-04-11 Vector processor for merging vector elements in ascending order merging operation or descending order merging operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62086846A JP3070744B2 (ja) 1987-04-10 1987-04-10 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS63253469A true JPS63253469A (ja) 1988-10-20
JP3070744B2 JP3070744B2 (ja) 2000-07-31

Family

ID=13898175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62086846A Expired - Lifetime JP3070744B2 (ja) 1987-04-10 1987-04-10 ベクトル処理装置

Country Status (4)

Country Link
US (1) US5091848A (ja)
EP (1) EP0286125B1 (ja)
JP (1) JP3070744B2 (ja)
DE (1) DE3882772T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861145A (zh) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274835A (en) * 1988-12-20 1993-12-28 Matsushita Electric Industrial Co., Ltd. Merge device using FIFO buffers
JPH02289005A (ja) * 1989-03-17 1990-11-29 Matsushita Electric Ind Co Ltd 計数情報の整列処理方式
JP2771683B2 (ja) * 1990-07-17 1998-07-02 三菱電機株式会社 並列処理方式
AU4464596A (en) 1994-12-02 1996-06-19 Intel Corporation Microprocessor with packing operation of composite operands
US5887183A (en) * 1995-01-04 1999-03-23 International Business Machines Corporation Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5680338A (en) * 1995-01-04 1997-10-21 International Business Machines Corporation Method and system for vector processing utilizing selected vector elements
AUPR549901A0 (en) * 2001-06-06 2001-07-12 Vital Health Sciences Pty Ltd Topical formulation containing tocopheryl phosphates
AU1482102A (en) * 2000-11-14 2002-05-27 Tocovite Pty Ltd Complexes of phosphate derivatives
US8008345B2 (en) * 2001-07-27 2011-08-30 Vital Health Sciences Pty. Ltd. Dermal therapy using phosphate derivatives of electron transfer agents
CA2466536C (en) * 2001-12-13 2012-02-07 Vital Health Sciences Pty Ltd Transdermal transport of compounds
AU2002950713A0 (en) * 2002-08-09 2002-09-12 Vital Health Sciences Pty Ltd Carrier
US20060241085A1 (en) * 2003-01-17 2006-10-26 West Simon M Compounds having anti-proliferative properties
AU2003901815A0 (en) * 2003-04-15 2003-05-01 Vital Health Sciences Pty Ltd Phosphate derivatives
DK1720551T3 (da) * 2004-03-03 2011-05-16 Vital Health Sciences Pty Ltd Alkaloidformuleringer
BRPI0607999A2 (pt) * 2005-03-03 2009-10-27 Vital Health Sciences Pty Ltd método para o alìvio de sintomas, o tratamento ou a prevenção do cáncer, uso de uma quantidade eficaz de um ou mais derivados de fosfato de um ou mais hidróxi cromanos selecionados do grupo que consiste em 7:8-dimetil 6-hidróxi cromanos (delta), 8-metil 6-hidróxi cromanos (gama), e as misturas dos mesmos, conjuntamente com um veìculo ou um diluente apropriado, método para a indução da apoptose celular, método para aumentar a eficácia de um agente anticáncer, método para aumentar a eficácia do licopeno, formulação farmacêutica
ES2557475T3 (es) * 2005-06-17 2016-01-26 Vital Health Sciences Pty Ltd. Un portador que comprende uno o más derivados di- y/o monofosfato de agentes de transferencia de electrones
BRPI0621081A2 (pt) * 2005-12-23 2011-11-29 Vital Health Sciences Pty Ltd método de modulação de uma ou mais citocinas imuno-reguladoras, uso de um ou mais derivados de fosfato de um ou mais hidróxi cromanos ou complexos dos mesmos, método de inibição de uma resposta inflamatória e/ou de estimulação de uma resposta anti-inflamatória, método de tratamento e/ou de profilaxia de distúbios imunológicos, distúrbios inflamatórios e/ou distúrbios proliferativos celulares, agente imuno-modulador, agente anti-inflamatório ou agente anti-cáncer e um ou mais derivado de fosfato de um ou mais hidróxi cromanos ou complexos dos mesmos
US7536532B2 (en) * 2006-09-27 2009-05-19 International Business Machines Corporation Merge operations of data arrays based on SIMD instructions
US8504806B2 (en) * 2008-08-15 2013-08-06 Apple Inc. Instruction for comparing active vector elements to preceding active elements to determine value differences
EP2531047A4 (en) 2010-02-05 2014-03-19 Phosphagenics Ltd CARRIER WITH AN UNINUTRALIZED TOCOPHERYL PHOSPHATE
ES2829386T3 (es) 2010-03-30 2021-05-31 Phosphagenics Ltd Parche de administración transdérmica
EP2685992A4 (en) 2011-03-15 2014-09-10 Phosphagenics Ltd AMINO-QUINOLINES AS KINASE INHIBITORS
US11461096B2 (en) 2019-05-24 2022-10-04 Texas Instruments Incorporated Method and apparatus for vector sorting using vector permutation logic
US9355061B2 (en) 2014-01-28 2016-05-31 Arm Limited Data processing apparatus and method for performing scan operations
CA3007587C (en) 2015-12-09 2023-12-05 Phosphagenics Limited Pharmaceutical formulation
WO2018112512A1 (en) 2016-12-21 2018-06-28 Phosphagenics Limited Process
US11176084B2 (en) * 2017-11-09 2021-11-16 International Business Machines Corporation SIMD instruction sorting pre-sorted source register's data elements into a first ascending order destination register and a second descending destination register

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3418632A (en) * 1965-08-26 1968-12-24 Goodyear Aerospace Corp Means for merging sequences of data
US3428946A (en) * 1965-08-26 1969-02-18 Goodyear Aerospace Corp Means for merging data
US3587057A (en) * 1969-06-04 1971-06-22 Philip N Armstrong Data sorting system
US3775753A (en) * 1971-01-04 1973-11-27 Texas Instruments Inc Vector order computing system
US4295206A (en) * 1979-06-06 1981-10-13 Ncr Canada Ltd.-Ncr Canada Ltee Document sorting method
US4303989A (en) * 1979-07-17 1981-12-01 The Singer Company Digital data sorter external to a computer
US4410960A (en) * 1980-02-05 1983-10-18 Nippon Electric Co., Ltd. Sorting circuit for three or more inputs
US4628483A (en) * 1982-06-03 1986-12-09 Nelson Raymond J One level sorting network
JPH077385B2 (ja) * 1983-12-23 1995-01-30 株式会社日立製作所 データ処理装置
US4799152A (en) * 1984-10-12 1989-01-17 University Of Pittsburgh Pipeline feedback array sorter with multi-string sort array and merge tree array
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
CA1265623A (en) * 1987-06-11 1990-02-06 Eddy Lee Method of facilitating computer sorting

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861145A (zh) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112861145B (zh) * 2021-01-06 2023-12-12 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Also Published As

Publication number Publication date
DE3882772D1 (de) 1993-09-09
EP0286125B1 (en) 1993-08-04
EP0286125A2 (en) 1988-10-12
EP0286125A3 (en) 1989-03-15
DE3882772T2 (de) 1994-02-10
US5091848A (en) 1992-02-25
JP3070744B2 (ja) 2000-07-31

Similar Documents

Publication Publication Date Title
JPS63253469A (ja) ベクトル処理装置
JP2559399B2 (ja) 情報処理装置
JP3524057B2 (ja) ナンバの集合内で最小/最大値を探索するための方法及び回路
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US4779192A (en) Vector processor with a synchronously controlled operand fetch circuits
US5404555A (en) Macro instruction set computer architecture
WO1995009391A1 (fr) Appareil d'extraction de la valeur minimum/maximum
US5226135A (en) Method for sorting vector data on the basis of partial vectors and vector processor
JP2752634B2 (ja) ソート処理装置
JPH0786875B2 (ja) ベクトル処理装置
JPS6142031A (ja) ソ−ト処理装置
US6240540B1 (en) Cyclic redundancy check in a computer system
TWI443538B (zh) Multi - hierarchical parallel multi - character string alignment device
JPS63233470A (ja) データ処理装置
Apostolico et al. Parallel detection of all palindromes in a string
JPH0253811B2 (ja)
JPH01273132A (ja) マイクロプロセッサ
JPS63136168A (ja) ベクトル計算機
JPS6161412B2 (ja)
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
JPH08212055A (ja) ビット検索器並びに中央演算処理装置
JPS63240630A (ja) 命令コ−ド解釈装置
Alnuweiri Synchronous bus arbitration with constant logic per module
KR0157337B1 (ko) 디지탈신호 처리기의 멀티비트 가산기
JPH05100821A (ja) プライオリテイエンコーダ装置