JPH0623979B2 - ベクトルプロセツサ - Google Patents

ベクトルプロセツサ

Info

Publication number
JPH0623979B2
JPH0623979B2 JP59104547A JP10454784A JPH0623979B2 JP H0623979 B2 JPH0623979 B2 JP H0623979B2 JP 59104547 A JP59104547 A JP 59104547A JP 10454784 A JP10454784 A JP 10454784A JP H0623979 B2 JPH0623979 B2 JP H0623979B2
Authority
JP
Japan
Prior art keywords
vector
register
elements
processing
registers
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.)
Expired - Lifetime
Application number
JP59104547A
Other languages
English (en)
Other versions
JPS60250475A (ja
Inventor
泰弘 稲上
重夫 長島
章夫 矢島
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 JP59104547A priority Critical patent/JPH0623979B2/ja
Publication of JPS60250475A publication Critical patent/JPS60250475A/ja
Publication of JPH0623979B2 publication Critical patent/JPH0623979B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、プログラム制御のデイジタル計算機特にベク
トル演算を高速に実行するのに適したデイジタル計算機
(以下これをベクトルプロセツサとよぶ)に関する。
〔発明の背景〕
科学技術計算に頻繁に現われる大型行列計算などの高速
処理用にベクトルプロセツサが考案されている。
ベクトルプロセツサでは、次のFORTRAN文で示すような
処理を高速にベクトル処理することができる。
DO 10 I=1,N 10A(I)=B(I)+C(I) すなわち、(B(I)、I=1,N)をベクトルB、
(C(I)、I=1,N)をベクトルCとし、各ベクト
ルの要素(B(I),C(I)等)ごとに両者を加算
し、結果をベクトルAとして格納する。このように、ベ
クトル要素間の演算を、ベクトルプロセツサはベクトル
処理手法を用いて高速に処理することができる。ベクト
ル処理手法では、ベクトル間の演算を、第1図に示す如
く、要素番号の対応する要素同志で行うのが基本であ
り、1個のベクトルの中のいくつかの要素の間で演算を
したり、あるいは2個のベクトル中の要素番号が対応し
ない要素の間で演算を行うことを考えていないのが普通
である。ベクトルプロセツサでは、ベクトル同志の演算
を、要素番号の対応する要素同志で行うことに着目し
て、演算をパイプラインで処理して高速化をはかつてい
る。
しかし、第2図に示すように、1個のベクトルにおい
て、同じ値をもつ要素が連続する場合に、その最初の要
素に対応する位置に“1”が立ち、それ以外の位置は
“0”となるような制御ベクトルを生成する処理におい
ては、隣接する要素間で値の比較が必要となり、上述の
1個のベクトルの中のいくつかの要素間では演算しない
というベクトル処理手法の基本からはずれる。このた
め、第2図に示すような処理は、従来のベクトル処理す
ることはできず、汎用計算機で行うように、1要素ずつ
逐次的に処理することになるので、高速処理は望めな
い。
第2図に示すような処理は、例えば、画像処理などにお
いて、ベクトルの各要素に対応して記憶されている画素
データについて、ある形状の連続する長さや形状の変化
する場所を認識するなどの処理において必須となるもの
である。
〔発明の目的〕
本発明の目的とするところは、ベクトルプロセツサにお
いて、第2図に示すような処理をベクトル処理として実
現する方法を示すことである。
〔発明の概要〕
第2図に示したような処理をベクトル処理で実現するに
は、基本的には第3図に示すような機能を実現すればよ
い。すなわち、対象とするベクトルAをN個の要素
,A,A,……,Aから成るとしたとき、隣
接する要素を巡回的に比較し、以下の手順に従つて、N
個の要素M,M,M,……,Mから成るベクト
ルMを生成すればよい。ここで、ベクトルMの各要素M
,M,……Mはそれぞれ1ビツト幅のデータであ
る。
手順1:Mを1とする。
手順2:ベクトルAの隣接する2つの要素 A1−1とAとを比較し、等しいときにはM=0と
し、等しくないときにはM=1とする。
手順3:手順2の処理をiを2からNまで繰り返す。
本発明においては、以下手順1から手順3に示した処理
を高速にベクトル処理することを特徴とする。
〔発明の実施例〕
以下、実施例を用いて本発明の詳細を説明する。
第4図は本発明の一実施例を示した説明図である。
この実施例によるベクトルプロセッサは、従来周知のよ
うに、ベクトルデータを保持する複数のベクトルレジス
タと、これらのベクトルレジスタの内、命令で指定され
た一つまたは二つのベクトルレジスタに保持されたベク
トルデータに対して演算をパイプライン的に実行するパ
イプライン演算器を有する。さらに、複数のベクトルマ
スクレジスタを有し、それらは、ベクトルデータの各要
素に対して、その演算器による演算を実行するか否かを
指示する要素からなる制御ベクトルを保持するのに使用
される。
以下の実施例では、説明の簡単化のために、上記演算器
とその演算器による演算をベクトルマスクレジスタによ
り制御する回路部分とその動作の説明を省略し、本発明
の特徴である、制御ベクトルの生成に関する部分のみを
説明する。
第4図において、命令レジスタγ1は命令を格納してお
くものである。ベクトルレジスタγ2は複数個の要素か
ら成るベクトルデータを格納するメモリであり、第4図
の実施例では、このようなベクトルレジスタが複数個あ
り、それぞれに番号が付けられている。ベクトルマスク
レジスタγ3は、データ幅が1ビツトの複数個の要素か
ら成る制御ベクトルを格納するメモリであり、第4図の
実施例では、このようなベクトルマスクレジスタが複数
個あり、それぞれに番号が付けられている。セレクタS
1は、制御線l1の指示に従つて、複数個あるベクトル
レジスタの中から1個を選択して、そこに格納されてい
るベクトルデータを次々と読み出して、データ線l3に
送る回路である。分配器d1は、制御線l2の指示に従
つて、データ線l5から送られてくる1ビツト幅のデー
タを、複数個あるベクトルマスクレジスタのいずれか1
個に格納する回路である。レジスタγ4,γ5は、それ
ぞれベクトルデータの1要素分を保持することができる
レジスタである。比較回路C1は、レジスタγ4とレジ
スタγ5の内容を比較し、両者が等しければ“0”、等
しくなければ“1”を出力し、レジスタγ6にセツトす
る回路である。データ線l4は、レジスタγ5の出力を
レジスタγ4に送るものである。
第4図において、命令レジスタγ1のOPフイールドは
命令コード、R1フイールドは読出し元ベクトルレジス
タ番号、Mフイールドは格納先ベクトルマスクレジスタ
番号を保持する。R1フイールドの出力は、制御線l1
を介してセレクタS1に接続され、ベクトルレジスタγ
2の中のいずれのレジスタを読出しに指定するかを指定
する。Mフイールドは制御線l2を介して分配器d1に
接続され、ベクトルマスクレジスタγ3の中のいずれの
レジスタに格納するかを指定する。
命令レジスタγ1に第3図に示した機能を行う命令が格
納されると、OPフイールドの内容が命令解読ユニツト
(本発明の本質にかかわらないので図示されていない)
に送られて、解読され、実行を開始する。そしてR1フ
イールドで指定されるベクトルレジスタγ2の中の1つ
のレジスタの内容がセレクタS1で選択されてデータ線
l3にのせられる。データ線l3には、ベクトルレジス
タγ2の中の選択されたレジスタ中の要素が、要素番号
が小さい順に次々と同期して読出されてくる。レジスタ
γ5に、セレクタS1を介し、データ線l3にのせられ
た最初のベクトル要素がセツトされると、次のサイクル
において、レジスタγ6に“1”がセツトされ、レジス
タγ5の内容はデータ線l4を介してレジスタγ4にセ
ツトされる。これと同時に、レジスタγ5には、データ
線l3を介して送られたきた第2番目の要素がセツトさ
れる。次のサイクルでは、レジスタγ4とγ5の内容、
すなわち第1番目の要素と第2番目の要素とを比較回路
C1にて比較し、等しければ“0”、等しくなければ
“1”がレジスタγ6にセツトされる。これと同時に、
レジスタγ5の内容はデータ線l4を介してレジスタγ
4にセツトされ、レジスタγ5には第3番目の要素がセ
ツトされる。また、前のサイクルでレジスタγ6にセツ
トされていた値は、データ線l5にのせられ、分配器d
1を介して、命令レジスタγ1のMフイールドで指定さ
れるベクトルマスクレジスタの第1番目の要素に格納さ
れる。
次のサイクルでは、レジスタγ4とγ5に格納されてい
る内容、すなわち第2番目の要素と第3番目の要素とを
比較器C1で比較し、結果をレジスタγ6にセツトす
る。それと同時に、レジスタγ5の内容のデータ線l4
を介してレジスタγ4にセツトされ、レジスタγ5には
第4番目の要素がセツトされ、また、前のサイクルでレ
ジスタγ6にセツトされていた第1番目の要素と第2番
目の要素との比較結果が、データ線l5および分配器d
1を介して、指定されたベクトルマスクレジスタの第2
番目の要素に格納される。
以下、この処理が繰り返され、ベクトルレジスタから最
後のベクトル要素(第N番目とする)が読出され、セレ
クタS1、データ線l3を介してレジスタγ5にセツト
されたときには、レジスタγ4には、第(N−1)番目
の要素がセツトされ、レジスタγ6には、第(N−2)
番目の要素と第(N−1)番目の要素との比較結果がセ
ツトされる。また、ベクトルマスクレジスタの第(N−
2)番目の要素に、ベクトルレジスタの第(N−3)番
目の要素と第(N−2)番目の要素との比較結果が格納
される。
次のサイクルでは、レジスタγ4とγ5の内容、すなわ
ち第(N−1)番目の要素と第N番目の要素とが比較回
路C1を用いて比較され、結果がレジスタγ6にセツト
される。これと同時に、前のサイクルでレジスタγ6に
セツトされていた第(N−2)番目の要素と第(N−
1)番目の要素との比較結果がベクトルマスクレジスタ
の第(N−1)番目の要素に格納されている。
そして、次のサイクルにおいて、レジスタγ6にセツト
されていた、第(N−1)番目の要素と第N番目の要素
との比較結果が、データ線l5および分配器d1を介し
て選択されたベクトルマスクレジスタの第N番目の要素
に格納し、本命令の処理を終了する。
以上示した処理の結果、命令レジスタγ1のMフイール
ドで指定されたベクトルマスクレジスタには、命令レジ
スタγ1のR1フイールドで指定されたベクトルレジス
タに対応して、ベクトルレジスタに同じ値をもつ要素が
連続する場合に、その最初に要素に対応するベクトルマ
スクレジスタの位置には“1”、それ以外のベクトルマ
スクレジスタの要素は“0”となり、第2図に示した処
理をベクトル処理にて実現している。
〔発明の効果〕
本発明によれば、ベクトルデータ中に同じ値をもつ要素
が連続して、1個のかたまりをなし、ベクトルデータ中
にそのようなかたまりが何個か存在するとき、そのかた
まりの最初の要素に対応する位置が“1”、それ以外の
位置が“0”となるような制御ベクトルを生成する処理
を、ベクトル処理にて高速に実行することができる。
【図面の簡単な説明】
第1図は、一般的なベクトル処理の一例を説明する図、
第2図は、本発明で行う、従来ベクトル処理できなかつ
た処理の一例を示す図、第3図は、第2図の処理に必要
な演算を説明する図、第4図は、本発明の一実施例を示
す構成図である。 γ1…命令レジスタ、γ2…ベクトルレジスタ、γ3…
ベクトルマスクレジスタ、γ4〜γ6…レジスタ、S1
…セレクタ、d1…分配器、C1…比較回路、l1〜l
2…制御線、l3〜l5…データ線。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】比較器と、 複数のベクトル要素を上記比較器に一方のオペランドと
    して順次供給する第1の手段と、 それぞれの要素がその比較器に供給されるのに同期し
    て、それぞれの要素より一つ前にその比較器に供給され
    た先行するベクトル要素をその比較器に他方のオペラン
    ドとして供給する第2の手段と、 上記比較器から順次出力される、入力されたそれぞれの
    対のオペランドが等しいか否かを示す信号を、上記ベク
    トルデータに対する比較結果を表わすベクトルの要素と
    して記憶する手段とを有するベクトルプロセッサ。
JP59104547A 1984-05-25 1984-05-25 ベクトルプロセツサ Expired - Lifetime JPH0623979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59104547A JPH0623979B2 (ja) 1984-05-25 1984-05-25 ベクトルプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59104547A JPH0623979B2 (ja) 1984-05-25 1984-05-25 ベクトルプロセツサ

Publications (2)

Publication Number Publication Date
JPS60250475A JPS60250475A (ja) 1985-12-11
JPH0623979B2 true JPH0623979B2 (ja) 1994-03-30

Family

ID=14383502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59104547A Expired - Lifetime JPH0623979B2 (ja) 1984-05-25 1984-05-25 ベクトルプロセツサ

Country Status (1)

Country Link
JP (1) JPH0623979B2 (ja)

Also Published As

Publication number Publication date
JPS60250475A (ja) 1985-12-11

Similar Documents

Publication Publication Date Title
US4641275A (en) Vector processor having pair process mode and single process mode
US4658355A (en) Pipeline arithmetic apparatus
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
US4954947A (en) Instruction processor for processing branch instruction at high speed
US4085450A (en) Performance invarient execution unit for non-communicative instructions
EP0173040B1 (en) Vector processing system
JPS6141027B2 (ja)
JPH03286332A (ja) デジタルデータ処理装置
EP0169030A2 (en) Data processing circuit for calculating either a total sum or a total product of a series of data at a high speed
JPS59114677A (ja) ベクトル処理装置
JPH0623979B2 (ja) ベクトルプロセツサ
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
JPH0640337B2 (ja) パイプライン演算装置
JP2885197B2 (ja) 演算処理装置及び演算処理方法
JP2667810B2 (ja) ベクトル処理装置
JP2989830B2 (ja) ベクトル処理方法
JPH0222417B2 (ja)
JP2654062B2 (ja) 情報処理装置
CN115809094A (zh) 一种实现一条指令对多组并行处理的数据处理方法
JP2989829B2 (ja) ベクトル処理方法
JPH11328148A (ja) 並列プロセッサ
JPH04184535A (ja) 並列演算装置
JPH04330519A (ja) 乗算回路
JP2003330914A (ja) ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム
JPH07120254B2 (ja) シフタ