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

ベクトル処理装置

Info

Publication number
JPH01309174A
JPH01309174A JP14021188A JP14021188A JPH01309174A JP H01309174 A JPH01309174 A JP H01309174A JP 14021188 A JP14021188 A JP 14021188A JP 14021188 A JP14021188 A JP 14021188A JP H01309174 A JPH01309174 A JP H01309174A
Authority
JP
Japan
Prior art keywords
vector
processing
contents
register
vector element
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
JP14021188A
Other languages
English (en)
Other versions
JP2720427B2 (ja
Inventor
Osamu Onodera
修 小野寺
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 JP14021188A priority Critical patent/JP2720427B2/ja
Publication of JPH01309174A publication Critical patent/JPH01309174A/ja
Application granted granted Critical
Publication of JP2720427B2 publication Critical patent/JP2720427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル処理装置に関し、特にパイプライン
処理を行うことにより、性能を向上させることが可能な
ベクトル処理装置に関するものである。
〔従来の技術〕
プログラム命令では、通常1命令が1つのデータを対象
として演算しているのに対し、ベクトル命令は複数のデ
ータ(これをベクトル要素と呼ぶ)を演算の対象とする
。このようなベクトル演算を行う情報処理装置は、ベク
トル処理装置と呼ばれている。
ベクトル処理装置のベクトル処理では、処理の対象とな
るベクトルオペランドは通常複数のベクトル要素から構
成される。この複数のベクトル要素からなるベクトルを
処理する場合、ベクトル処理とは異なるシステムの内部
環境によりベクトル処理を中断させたいときがある。例
えば、外部的な割り込み要因、または内部的な割り込み
要因がある場合である。このような場合には、複数のベ
クトル要素のベクトル処理をいくつかに分割して行う必
要がある。すなわち、分割して処理を行えば、1つの分
割部分で中断されても、他の部分では何等影響を受けな
いからである。ただ、中断された部分では、複数のベク
トル要素の途中の要素からベクトル処理を再開する必要
がある。このため、処理を開始するベクトル要素番号を
指定するパラメータが必要となる。また、ベクトル処理
においては、どのベクトル要素まで処理したならば、処
理を終了させるかというパラメータも必要である。
このように、通常、ベクトル処理においては、処理を開
始するベクトル要素番号を指定するパラメータと、処理
を終了させるベクトル要素を指定するパラメータとが必
要となる。このような一般的な仕様については1例えば
、IBM社発行の刊行物[r113M  System
/370  Vector  0perationsJ
l (S A22−7125−0 )に記載されている
。この中で、ベクトル処理については、ベクトル割込み
インデクス(Vector  I nterrupti
on  I ndex:VIX)およびベクトルカウン
ト(Vector  Count:VCT)として詳述
されている。
上記刊行物に記載されている仕様では、ベクトル割込み
インデクスとして、16ビツトの幅のパラメータを与え
て、処理を開始するベクトル要素番号を指定する。また
、ベクトルカウントとして、16ビツトの幅のパラメー
タを与えて、処理を終了させるベクトル要素番号を指定
する。従って、各ベクトル要素は、ベクトル割込みイン
デクスで指定された番号のベクトル要素からベクトル処
理が開始され、ベクトル割込みインデクスの値を増加さ
せながらベクトル処理を実行し、ベクトル割込みインデ
クスの値がベクトルカウントの値に等しくなった時点で
ベクトル処理を終了するという手順をたどっていた。
〔発明が解決しようとする課題〕
上記の仕様では、種々の問題が生じている。これを、図
面を用いて説明する。
第4図は、ベクトル処理手順の一例を示すフローチャー
トである。第4図には、ベクトル要素の処理されるべき
範囲を示すためのベクトル割込みインデクス(以下、V
IXと略記す)と、ベクトルカウント(以下、VCTと
略記す)とを用いた実行されるベクトル処理の手順が示
されている。
先ず、処理の開始に際して、VIXの内容で示される番
号のベクトル要素が読み出される(ステップ101)。
この読み出されるベクトル要素はソースオペランドであ
り、演算のタイプにより1つないしそれ以上の数がある
。そして、このベクトル要素が格納されている場所は、
レジスタ内であっても、また記憶装置内であってもよい
。次に、先に読み出されたベクトル要素に対するベクト
ル演算が行われる(ステップ102)、次に、演算され
た結果を、vIXの内容で示されるベクトル要素ロケー
ションに格納する(ステップ103)。次に、VIXの
内容に′1′が加えられて、vrxの内容が更新される
(ステップ104)。次に、更新後のVIXの内容と予
めプログラムからパラメータとして設定されているVC
Tの内容とが比較される(ステップ105)。比較の結
果、VIXの内容がVCTの内容より小さい場合には、
処理は最初(ステップ101)に戻り、次のベクトル要
素の処理を行う。また、VIXの内容がVCTの内容に
等しいか、大きい場合には、ベクトル処理の完了とみな
して処理を終了する。
第4図のベクトル処理を実行すると、1つのベクトル要
素当り5つのステップによる処理手順が必要となる。す
なわち、1つのベクトル要素の読み出しステップ(ステ
ップ1o1)、および結果の書き込みステップ(ステッ
プ103)として、更新前のVIXの内容を用いる必要
があり、また処理の完了の判定(ステップ105)には
更新後のVIXの内容を用いる必要がある。
第5図は、第4図の処理手順を実行した場合の動作タイ
ムチャートである。
第5図に示すように、VIXの更新前の内容がステップ
101とステップ103で使用されるため、ステップ1
04で初めてVIXの内容を更新することができ、次の
ベクトル要素の処理を行うか否かの判定はステップ10
5となる。つまり、ベクトル要素1個当りの一連の処理
にステップ101からステップ105の5ステツプを要
し、各ベクトル要素間の処理の関係は逐次処理にせざる
を得す、並列に処理できない。
ところで、ベクトル処理は、一般にベクトル要素処理の
高速化を目的として採用されるものであって、上述した
ように、逐次処理しかできないのであれば、ベクトル処
理の性能を充分に発揮することは不可能であり、これは
性能上大きな問題である。
上記処理をできれば並列処理にしたいという課題がある
本発明の目的は、このような従来の課題を解決し、ベク
トル処理が中断された場合の再開を高速に行うことがで
き、性能を向上させることが可能なベクトル処理装置を
提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のベクトル処理装置は
、処理を開始するベクトル要素番号を指定する第1のレ
ジスタと、処理を終了するベクトル要素番号を指定する
第2のレジスタとを有し、該第1および第2のレジスタ
の内容に対して、プログラム命令および割込みによりア
クセスするベクトル処理装置において、上記第1のレジ
スタの内容の写しを格納する複数個の写しレジスタと、
該写しレジスタの1つの内容と上記第2のレジスタの内
容とを比較する比較器と、該比較器による比較の結果、
上記写しレジスタの内容が上記第2のレジスタの内容と
等しいか大きいとき、上記写しレジスタの他の1つの内
容で示すベクトル要素の読み出しを行い、次のサイクル
で上記写しレジスタの他の1つの内容で示すベクトル要
素に対して演算を行い、次のサイクルで上記写しレジス
タの他の1つの内容で示すベクトル要素に対して上記演
算の結果を格納する制御装置と、各写しレジスタの処理
が終了すると同時に、該写しレジスタの内容をそれぞれ
更新する工ないし複数個の加算器とを具備することに特
徴がある。
〔作  用〕
本発明においては、ベクトル要素処理手順の各ステップ
に対応する要素カウンタ(以下、ECTRと略記す)を
各々独立に設けて、ベクトル要素番号の指定のパイプラ
イン化を図ることにより、複数のベクトル要素の処理を
各ステップ単位にオーバラップさせて処理する。いわゆ
るベクトル要素処理のパイプライン制御を図るもので、
1つのベクトル要素当りのベクトル処理時間を見掛は上
短縮させることにより、効率よくベクトル処理を行う。
すなわち、本発明では、処理を開始するベクトル要素番
号を指定するVIXと、処理を終了させるベクトル要素
番号を指定するVCTとを基本として、VIXの内容の
写しを保持するハードウェアレジスタである要素カウン
タ(ECTR)を複数個設け、VIXの内容をこれら複
数個のECTRに予め転送しておく。そして、これら複
数個のECTRはそれぞれ独立して値を保持するととも
に、値を更新する機能を備え、ベクトル処理に先立ち、
VIXの内容を複数個のECTRに転送し、さらにベク
トル要素群を処理するに際して、VIXの値をベクトル
要素の処理の都度更新をせずに、代替えとして複数のE
CTRをそれぞれ独立に更新させ、処理すべきベクトル
要素の番号は複数のECTRにより指定し、その後、ベ
クトル要素処理の終了の検出を、複数のECTRのうち
の1つの内容とVCTの内容とを比較することにより行
い、バク1〜ル終了に際して更新する必要があるVIX
には複数個のECTRの1つを選択して、その内容をセ
ットする機能を備える。これによって、効率のよいベク
トル処理を実行する。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示すベクトル処理装置の
ブロック構成図である。
第1図において、制御装置401はベクトル処理全体を
制御する制御装置であり、ベクトル要素読み出し、演算
、結果の格納の各動作を制御する。
そのために、信号線451.455.456.457お
よび462を介してVCT (ベクトルカウント)40
2、およびVIX (ベクトル割込みイクデクス)40
3、ECTRB4O5、ECTRC406、ECTRD
407、および比較器412に接続されている。
VIXの写しを保持する複数のECTRには、ベクトル
要素の処理に先立ち、予めVIXの内容がセットされる
。その後、ベクトル要素の処理に伴って、複数のECT
Rはそれぞれ、第4図に示した各ステップに1対1で対
応付けられる。各ステップに対応したECTRは、対応
するステップの処理が終了すると同時に更新され、次の
ベクトル要素番号を指定するように制御される。複数の
ECTRの内容を、それぞれ対応するステップ終了と同
時に更新することにより、ベクトル要素の番号指定にお
けるパイプライン化を図る。
VCT402は、終了すべきベクトル要素番号を保持す
るレジスタであり、信号線451および452を介して
それぞれ制御装置401、および比較器412に接続さ
れている。
VIX403は、開始すべきベクトル要素番号を保持す
るレジスタであり、信号線451および453を介して
、それぞれ制御袋[401、ECTRA404.ECT
RB4O5、ECTRC406、およびECTRD40
7に接続されている。
ECTRA404は、VIX403の写しを持ち、かつ
後述する第2図のECTRAとVCTとの比較処理(ス
テップ302)で使用するベクトル要素番号を保持する
レジスタである。ECTRA404は、信号線453.
454および458を介して、それぞれV I X40
3.加算器408、および制御装置401と接続されて
いる。
ECTRB4O5は、VIX403(7)写しを持ち、
かつ後述する第2図のECTRBで示すベクトルの要素
の読み出し処理(ステップ303)で使用するベクトル
要素番号を保持するレジスタである。そして、ECTR
B4O5は、信号線43.455、および459を介し
て、それぞれVIX403、加算器409、および制御
装置401に接続されている。
ECTRC406は、v工X403の写しを持ち、かつ
後述する第2図のベクトル演算(ステップ304)で使
用するベクトル要素番号を保持するレジスタである。そ
して、ECTRC406は、信号線453.456およ
び460を介して、それぞれVIX403、加算器41
0、および制御装置401に接続されている。
ECTRD407は、V I X403(7)写しを持
ち、かつ後述の第2図における演算結果の格納処理(ス
テップ3o5)で使用するベクトル要素番号を保持する
レジスタである。そして、ECTRD407は、信号線
453,457、および461を介してそれぞれVIX
403.加算器411および制御装置401に接続され
ている。
比較器412は、ECTRA404(7)値がVCT4
02の値より大きいかまたは等しいがを検出する比較回
路であって、信号線452.454、および462を介
してそれぞれVCT402、ECTRA404および制
御装置401に接続されている。
加算器408は、ECTRA404の内容に1′を加え
るための加算器であり、信号線454、および458を
介してECTRA404に接続されている。
加算器409は、ECTRB4O5の内容に1′を加え
る加算器であり、信号線455、および456を介して
ECTRB4O5に接続されている。
加算器410は、ECTRC406の内容に1′を加え
るための加算器であり、信号線456、および460を
介してECTRC406に接続されている。
加算器411は、ECTRD407の内容に1′を加え
るための加算器であり、信号線457および461を介
してECTRB4O7に接続されている。
加算器408〜411の機能は、1′の加算であると述
べたが、この機能が減算であってもよく、また′1′以
外の数であってもよい。
第2図は、第1図の動作フローチャートである。
第1図および第2図により1本実施例のベクトル処理を
詳述する。
ベクトル処理を開始するに際して、制御装置401は、
処理を終了するベクトル要素番号をパラメータとして予
めVCT402に信号a451を介して設定した後、次
に処理を開始するベクトル要素番号をパラメータとして
予めV I X403に信号線451を介して設定する
以上の予備動作が終了したならば、初めて第2図のベク
トル処理を開始する。
先ず、ベクトル処理の開始に際して、VIX403から
各ステップを制御するECTRの設定を行う(ステップ
301)。具体的には、VIX4o3の内容を、信号線
453を介してECTRA404、  ECTRB4O
5、ECTRC406、およびECTRB4O7にそれ
ぞれ転送してセットする。次に、ECTRA404(7
)内容がVCT402の内容よりも小さいか否かを判定
しくステップ302)、同時にECTRA404の内容
に1′を加算する。
具体的には、信号線452を介して送られて来たVCT
402の内容と、信号線454を介して送られて来た変
更前のECTRA404の内容を比較器412を用いて
比較する。ECTRA404の更新前の内容がVCT4
02の内容に等しいか、あるいは大きい場合(つまり、
処理するベクトル要素が無い場合)、比較器412は信
号線462を介して制御装置401にステップ303は
起動せず、その代りにステップ306を起動するように
指示する。また、ECTRA404の更新前の内容がV
CT402の内容より小さい場合(つまり、処理すべき
ベクトル要素がある場合)、比較器412は信号線46
2を介して制御装置4o1に対してステップ306は起
動せずに、ステップ303を起動するように指示し、か
つ加算器408を用いてECTRA404の内容に1′
を加算して、次のサイクルでステップ302を再び実行
させるように指示する。
ステップ302の大小判定の結果、ECTRA404の
内容の方が大きいか等しければ、処理開始の要素番号が
既に処理終了の要素番号に等しいか、あるいは処理終了
の要素番号より大きいことになるノテ、ECTRA40
4(7)内容をVIX403に格納しくステップ306
)処理を終了する。
また、判定結果が小さければ、更新前のECTRB4O
5の内容で示す番号のベクトル要素の読み出しを行って
演算の準備を行うと同時に、ECTRB4O5の内容を
更新する(ステップ303)。
具体的には、更新前のECTRB4O5の内容を信号線
455を介して制御装置401に送り、指定された番号
のベクトル要素をソースオペランドとして読み出すこと
を指示するとともに、加算器409を用いてECTRB
4O5の内容に11′を加算する。そして、ステップ3
04を起動するように指示する。
次に、ステップ303で読み出された更新前のECTR
C406の内容で示される番号のベクトル要素に対して
演算を行い、かつ同時にECTR0406の内容に1′
を加算する(ステップ304)。
具体的には、更新前のECTRC406の内容を信号線
456を介して制御装置4.01に送り。
送られた番号のベクトル要素の演算を指示するとともに
、加算器410を用いてECTRC406の内容に1′
を加算し、さらにステップ306を起動するように指示
する。
次に、ステップ304で演算された結果を、更新前のE
CTRB4O7の内容で示される番号のベクトル要素ロ
ケーションに格納する(ステップ305)。そして、ス
テップ302に戻り、次の値の判定処理に移る。
具体的には、更新前のECTRB4O7の内容を信号線
457を介して制御装置401に送り、送られた番号の
ベクトル要素ロケーションにステツブ304で演算され
た結果を格納するように指示するとともに、加算器41
1を用いてECTRA404の内容に1′を加算する。
以上の動作により、ステップ302からステップ305
までの処理がそれぞれオーバラップして動作するので、
いわゆる4段のパイプライン処理を構成することになる
ステップ302の判定の結果、ECTRA404の内容
がVCT402の内容と等しいか、大きイトキ、ECT
RA404(7)内容をVIX403に格納する(ステ
ップ306)。、すなわち、所定のベクトル演算を完了
した時に、VIX403を処理したべりI−ル要素分だ
け更新する最後の処理である。
具体的には、ECTRA404の内容を信号線454を
介してVIX403に転送し、これをセットする。この
ステップでは、オーバラップ処理は行わない。
第3図は、本発明の一実施例を示す動作タイムチャート
である。
第3図の例では、処理されるベクトル要素数が5個の場
合を示しており、パイプラインが効力を示すサイクル5
および6では4つのベクトル要素が同時に各ステップ独
立に処理されている。すなわち、■〜■は第1番目のベ
クトル要素から第6番目のベクトル要素に対する処理を
示しており、■の処理を1〜5サイクルで行うと同時に
、■の処理を3〜6サイクルで行っている。また、■の
処理を4〜7サイクル、■の処理を5〜8サイクル、■
の処理を6〜9サイクルでそれぞれ行っている。また、
■の処理はステップ302で大小比較の結果、ECTR
A404(7)内容がVCT402の内容と等しいか、
大きかったため、8〜1゜サイクルは何も処理せずに(
ダミーステージ)、サイクル11でステップ306の処
理を行って一連のパイプライン処理を完了している。
なお、本実施例において、ECTRA404〜ECTR
D407の内容の更新のため、各々加算器408〜41
1を独立に設けているが、他の実施例として、これらの
加算器408〜411を設けずに、ECTRA404に
のみ1個の加算器408を設けて、E CT RB 4
.05〜ECTRD407の内容の加算は、ECTRA
404の内容のデイレイをラッチしていくようにしても
よい。
〔発明の効果〕
以上説明したように、本発明によれば、ベクトル要素の
各処理を複数のステップに分けて、各ステップをオーバ
ラップして実行することにより、いわゆるパイプライン
処理が実現できるので、ベクトル処理の性能を格段に向
上させることが可能である6
【図面の簡単な説明】
第1図は本発明の一実施例を示すベクトル処理装置のブ
ロック図、第2図は第1図の処理の動作フローチャート
、第3図は本発明のベクトル処理の動作タイムチャート
、第4図は従来のベクトル処理手順の一例を示す動作フ
ローチャート、第5図は第4図の動作タイムチャー1−
である。 401:制御装置、402:ベクトルカウント回路(V
CT)、403:ベクトル割込みインデックX(VIX
)、404〜407:要素カウンタ(ECTRA−EC
TRD)、408〜411:加算器、412:比較器。 特許出願人 株式会社 日立製作所

Claims (1)

    【特許請求の範囲】
  1. 1、処理を開始するベクトル要素番号を指定する第1の
    レジスタと、処理を終了するベクトル要素番号を指定す
    る第2のレジスタとを有し、該第1および第2のレジス
    タの内容に対して、プログラム命令および割込みにより
    アクセスするベクトル処理装置において、上記第1のレ
    ジスタの内容の写しを格納する複数個の写しレジスタと
    、該写しレジスタの1つの内容と上記第2のレジスタの
    内容とを比較する比較器と、該比較器による比較の結果
    、上記写しレジスタの内容が上記第2のレジスタの内容
    と等しいか大きいとき、上記写しレジスタの他の1つの
    内容で示すベクトル要素の読み出しを行い、次のサイク
    ルで上記写しレジスタの他の1つの内容で示すベクトル
    要素に対して演算を行い、次のサイクルで上記写しレジ
    スタの他の1つの内容で示すベクトル要素に対して上記
    演算の結果を格納する制御装置と、各写しレジスタの処
    理が終了すると同時に、該写しレジスタの内容をそれぞ
    れ更新する1ないし複数個の加算器とを具備することを
    特徴とするベクトル処理装置。
JP14021188A 1988-06-07 1988-06-07 ベクトル処理装置 Expired - Lifetime JP2720427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14021188A JP2720427B2 (ja) 1988-06-07 1988-06-07 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14021188A JP2720427B2 (ja) 1988-06-07 1988-06-07 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH01309174A true JPH01309174A (ja) 1989-12-13
JP2720427B2 JP2720427B2 (ja) 1998-03-04

Family

ID=15263504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14021188A Expired - Lifetime JP2720427B2 (ja) 1988-06-07 1988-06-07 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JP2720427B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087144A1 (ja) * 2009-02-02 2010-08-05 日本電気株式会社 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087144A1 (ja) * 2009-02-02 2010-08-05 日本電気株式会社 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法
JP5500652B2 (ja) * 2009-02-02 2014-05-21 日本電気株式会社 並列比較選択演算装置、プロセッサ及び並列比較選択演算方法

Also Published As

Publication number Publication date
JP2720427B2 (ja) 1998-03-04

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
JP4657455B2 (ja) データプロセッサ
JPH0463430B2 (ja)
JPH0736848A (ja) 情報処理装置および処理方法
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JPH01309174A (ja) ベクトル処理装置
KR100188374B1 (ko) 연산처리장치
JP2503984B2 (ja) 情報処理装置
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JPH0222418B2 (ja)
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JPS63316133A (ja) 演算処理装置
JPS59218569A (ja) マイクロ・コンピユ−タ
JPS61173345A (ja) 計算機システム
JP2583614B2 (ja) ベクトル演算装置
JP2883488B2 (ja) 命令処理装置
JP2777387B2 (ja) 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置
JP2982129B2 (ja) マイクロプログラム制御装置
JP2883489B2 (ja) 命令処理装置
JP2844624B2 (ja) データ処理装置
JP2002366370A (ja) 情報処理装置
JPS6226727B2 (ja)
JPH0531170B2 (ja)
JPS5846444A (ja) 電子計算機
JPH04293159A (ja) ベクトルデータ処理装置