JPH0562389B2 - - Google Patents

Info

Publication number
JPH0562389B2
JPH0562389B2 JP10454684A JP10454684A JPH0562389B2 JP H0562389 B2 JPH0562389 B2 JP H0562389B2 JP 10454684 A JP10454684 A JP 10454684A JP 10454684 A JP10454684 A JP 10454684A JP H0562389 B2 JPH0562389 B2 JP H0562389B2
Authority
JP
Japan
Prior art keywords
vector
register
control
arithmetic unit
elements
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
JP10454684A
Other languages
English (en)
Other versions
JPS60250474A (ja
Inventor
Shigeo Nagashima
Yasuhiro Inagami
Akio Yajima
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 JP10454684A priority Critical patent/JPS60250474A/ja
Publication of JPS60250474A publication Critical patent/JPS60250474A/ja
Publication of JPH0562389B2 publication Critical patent/JPH0562389B2/ja
Granted 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図では区分内のベクトル要素
の和)を任意の区分を設定して行なうような処理
は、従来のベクトルプロセツサではベクトル処理
できなかつた。このような処理を行なう場合に
は、汎用計算機で行なうように、1命令ずつ遂次
的に実行することになるので高速処理は望めな
い。第1図に示すような処理は、例えば区分ごと
の小計を求めるような処理に必須となるものであ
る。
〔発明の目的〕
本発明の目的とするところは、ベクトルプロセ
ツサにおいて、第1図に示すような処理をベクト
ル処理として実現する方法を示すことである。具
体的には第2図に示すように、入力とするデータ
ベクトルの他に、それと対となる制御ベクトルを
用いて、制御ベクトル中の先頭または特定のパタ
ン(この場合“1”)を含む要素の次の要素から、
次の特定パタンで示される部分、または最後まで
を1区分とし、この区分内のベクトル要素の和を
求める動作を制御ベクトルの特定パタンがあらわ
れるごとにくりえすようなベクトル処理を実現す
ることである。第2図に示す結果ベクトルは、後
に、制御ベクトルと対にして、特定パタンに対応
するベクトル要素を抽出すれば、必要なデータを
得ることができる。
〔発明の実施例〕
以下、本発明と実施例を参照して詳細に説明す
る。第3図は本発明の実施例を示したものであ
る。第3図において、レジスタR1は命令レジス
タで、4つのフイールドに分割されている。OP
フイールドは命令コードを示し、線l1によつ
て、演算制御ユニツトC1に送られ、命令実行を
制御する。iフイールドは、結果ベクトルを格納
するベクトルレジスタ番号を指定し、線l2によ
つて分配器D1に入力され、D1内にて、線l1
2から入力される結果ベクトルを、ベクトルレジ
スタVo〜Vn−1のいずれかのレジスタに格納す
るかの制御に利用される。jフイールドは、制御
ベクトルが格納されているベクトルレジスタ番号
を指定し、線l3によつてセレクタS2に入力さ
れ、ベクトルレジスタVo〜Jn−1中のいずれの
レジスタを選択するかに使用する。選択された内
容は線l5にのせられる。Rフイールドは、デー
タベクトルが格納されているベクトルレジスタ番
号を指定し、線l4によつてセレクタS3に入力
され、ベクトルレジスタVo〜Vn−1の中のいず
れのレジスタを選択するかに使用する。選択され
た内容は線l6にのせられる。レジスタR3は、
制御ベクトルの1ベクトル要素を保持するレジス
タ、レジスタR4は特定パタンを保持するレジス
タ、比較器C3は、入力された制御ベクトル要素
が特定パタンかどうかを比較する比較器、レジス
タR6はその比較結果を保持するレジスタであ
る。また、レジスタR2は演算対象となるデータ
ベクトルの1ベクトル要素を保持するレジスタ、
演算器C2は目的とする演算を実行する演算器、
レジスタR5は演算の中間結果を保持するレジス
タ、線l9はベクトルレジスタに結果を格納する
ために演算結果をのせるデータ線、セレクタS3
は比較器3Cの比較結果にもとづいて、レジスタ
R5の中間結果を演算器の一方の入力とするか、
初期値(この場合は‘0')とするかを選択するセ
レクタである。
次に動作を詳細に説明する。命令レジスタR1
に、本動作の実行を指定する命令が入力されると
OP,i,j,kの各フイールドの内容はそれぞ
れ、演算制御ユニツトC1、分配器D1、セレク
タS1,S2に送られる。分酸合D1、セレクタ
S1,S2は、それぞれi,j,kで指示された
ように分配ルートおよび選択ルートを設定する。
次に、演算制御ユニツトは、線l13により、必
要なベクトルレジスタに読み出し、書込み指示を
送出し、適なタイミングで、j,kで指定された
ベクトルレジスタから1ベクトル要素ずつの順次
読出し、およびiで指定されたベクトルレジスタ
へ結果の書込みを指示する。本動作は、通常のベ
クトルプロセツサと同様であるので、動作の詳細
な説明は省略する。
さて、レジスタR3に制御ベクトルのベクトル
要素が入力されると、レジスタR4中に格納され
ている特定パタンと比較器C3で比較され、結果
が線l8にのせられる。そしてその結果はレジス
タR6に格納される。
演算されるデータベクトルのベクトル要素は、
レジスタR2に入力される。この出力は演算器C
2に入る。以下ではまだ比較器C3での比較結
果、比較は成立しなかつたとして説明を進める。
従つて、セレクタS3は、線l8の指示にもとづ
き、レジスタR5の出力(線l9上にある)をセ
レクトして、線l10にのせる。よつて、演算器
C2のもう一方の入力には、レジスタR5の出力
が入力されることになる。この動作をデータベク
トルのベクトル要素ごとにくりかえすと、ベクト
ル要素間の演算がつぎつぎと行なわれ、かつレジ
スタR5に保持される中間結果が線l9、分配器
D1を介して、指定されたベクトルレジスタVo
〜Vn−1の1つに格納されていく。
上記の動作は、制御ベクトルのベクトル要素と
して特定パタンが出現するまで、一般のベクトル
処理と同様に、次々とベクトル要素をベクトルレ
ジスタから読出し、処理を継続する。
さて、制御ベクトルのベクトル要素に特定パタ
ンが出現すると、比較器C3の出力は比較成立と
なり、レジスタR6には比較成立を示す情報が格
納される。そして線l8を介して、セレクタS3
に伝えられる。セレクタS3で、その指示にもと
づき、初期値(この場合には‘0')をセレクトし
て、線l10にのせる。従つて、以後は、あらた
に初期値と、次のベクトル要素との演算から開始
されることになり、それまでのベクトル要素間の
演算結果には無関係となる。
以上の動作を、ベクトルレジスタに格納可能な
ベクトル長だけ繰返し、本命令の処理を終了す
る。
本実施例の説明の他にもいろいろな変形例が考
えられる。
たとえば、制御ベクトルの特定パタンは、固定
でもよいし、命令によつて変更できるようにして
もよい。命令によつて変更可能とするときには、
レジスタR4は必要であるが、固定のときには、
信号線“1”または“0”にすればよいので、レ
ジスタR4は必ずしも必要ではない。
制御ベクトルの特定パタンとの比較は、等し
い/等しくないの他に、大小その他の比較でもよ
い。また、比較器ではなく、特定パタンの検出回
路を用いてもよい。
さらに、制御ベクトルとして、本実施例に示し
たベクトルレジスタ中のデータを使用するのでは
なく、ベクトルマスクレジスタ(このレジスタは
マスク付ベクトル演算に使用され、ベクトルプロ
セツサに一般的なレジスタである)中のベクトル
マスクを利用してもよい。このときにはベクトル
マスクレジスタの内容に従つて、セレクタS3の
選択制御が行なわれることになる。上記の場合に
は、また、特定パタン時にのみ、結果をベクトル
レジスタに格納するようにしてもよい(マスク付
ベクトル演算と同様となる)。
本実施例では、ベクトルデータはベクトルレジ
スタ中にあるとして説明したが、主記憶上のベク
トルデータおよび制御ベクトルを読出して同様の
処理を行なうことももちろん可能である。この場
合には、結果も主記憶に格納される。
また本実施例での、演算は単に加算にとどまる
ことなく、任意の演算、たとえば論理演算
(AND,OR等)であつてもよい。
〔発明の効果〕
本実施例で示したように、本発明によつてベク
トルデータを複数の区分に分割し、区分内のベク
トル要素間の演算処理をベクトル処理として高速
処理することがきる。
【図面の簡単な説明】
第1図は、本発明で行なう処理の一例を示した
図、第2図は、本発明で行なうベクトル処理の一
例を示した図、第3図は、本発明の実施例を示す
図である。 R1は命令レジスタ、R2はデータベクトルの
ベクトル要素を保持するレジスタ、R3は制御ベ
クトルのベクトル要素を保持するレジスタ、R4
は特定パタンを保持するレジスタ、R5は、中間
結果を保持するレジスタ。Vo〜Vn−1…ベクト
ルレジスタ、C2…演算器、C3…比較器。

Claims (1)

  1. 【特許請求の範囲】 1 順次入力される複数のベクトル要素の総和を
    求めるパイプライン演算器と、 演算を受けるべき複数のベクトル要素を順次そ
    のパイプライン演算器に供給する第1の手段と、 上記パイプライン演算器を制御する第2の手段
    と、 上記複数のベクトル要素を複数の群に区切るた
    めの制御ベクトルの各要素を、それに対応する演
    算を受けるべきベクトル要素がそのパイプライン
    演算器に供給されるのに同期して、上記制御手段
    に供給する第3の手段とを有し、 該制御ベクトルの各要素は、その要素が上記複
    数の群の区切りに位置するベクトル要素に対応す
    る要素のときに特定の値を有し、 該第2の手段は、該パイプライン演算器がそれ
    ぞれの群の総和を出力するように、上記特定の値
    を有する複数の制御ベクトル要素に応答して該パ
    イプライン演算器を制御するベクトルプロセツ
    サ。 2 該パイプライン演算器は、該第1の手段から
    供給されたベクトル要素とその出力とを加算する
    加算器からなり、 該第2の手段は、該特定の値を有する複数の制
    御ベクトル要素の各々に応答して、その演算器の
    現在の出力をその加算器に入力するのを禁止する
    手段からなる請求項1記載のベクトルプロセツ
    サ。
JP10454684A 1984-05-25 1984-05-25 ベクトルプロセツサ Granted JPS60250474A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS60250474A JPS60250474A (ja) 1985-12-11
JPH0562389B2 true JPH0562389B2 (ja) 1993-09-08

Family

ID=14383476

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS60250474A (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US4740893A (en) Method for reducing the time for switching between programs
US6463520B1 (en) Processor for executing instruction codes of two different lengths and device for inputting the instruction codes
JPS61160176A (ja) ベクトル処理装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
US4734877A (en) Vector processing system
JPH03286332A (ja) デジタルデータ処理装置
US4933839A (en) Vector processor
JPH06202866A (ja) 情報処理装置
EP0164418B1 (en) Microprogram control system
JPH07101385B2 (ja) 情報処理装置
JPH0562389B2 (ja)
JP2553200B2 (ja) 情報処理装置
JP2503984B2 (ja) 情報処理装置
JP2793357B2 (ja) 並列演算装置
KR970006413B1 (ko) 퍼지 컴퓨터
JP2812610B2 (ja) パイプライン制御方式
JPS58200349A (ja) マイクロプログラム制御装置
JP2583614B2 (ja) ベクトル演算装置
JPS63141131A (ja) パイプライン制御方式
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH01309174A (ja) ベクトル処理装置
JPH0348365A (ja) 例外処理方式
JPH0218732B2 (ja)
JPS62295138A (ja) アドレス生成方式