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

ベクトル処理装置

Info

Publication number
JP2720427B2
JP2720427B2 JP14021188A JP14021188A JP2720427B2 JP 2720427 B2 JP2720427 B2 JP 2720427B2 JP 14021188 A JP14021188 A JP 14021188A JP 14021188 A JP14021188 A JP 14021188A JP 2720427 B2 JP2720427 B2 JP 2720427B2
Authority
JP
Japan
Prior art keywords
vector
processing
register
contents
content
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
JP14021188A
Other languages
English (en)
Other versions
JPH01309174A (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 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)

Description

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

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】処理を開始するベクトル要素番号を指定す
    る第1のレジスタと、処理を終了するベクトル要素番号
    を指定する第2のレジスタとを有し、該第1および第2
    のレジスタの内容に対して、プログラムから命令および
    割込みを介してアクセスが可能なベクトル処理装置にお
    いて、 上記第1のレジスタの内容の写しを格納する第1の写し
    レジスタないし第4の写しレジスタと、 該第1の写しレジスタの内容と上記第2のレジスタの内
    容とを比較する比較器と、 該比較器による比較の結果、上記第1の写しレジスタの
    内容が上記第2のレジスタの内容より小さい時、上記第
    2の写しレジスタの内容で示すベクトル要素の読み出し
    を行い、その後上記第3の写しレジスタの内容で示すベ
    クトル要素に対して演算を行い、その後上記第4の写し
    レジスタの内容で示すベクトル要素に対して上記演算の
    結果を格納するとともに、上記比較器による比較の結
    果、上記第1の写しレジスタの内容が上記第2のレジス
    タの内容に等しいかそれより大きい時、上記第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 JPH01309174A (ja) 1989-12-13
JP2720427B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120023308A1 (en) * 2009-02-02 2012-01-26 Renesas Electronics Corporation Parallel comparison/selection operation apparatus, processor, and parallel comparison/selection operation method

Also Published As

Publication number Publication date
JPH01309174A (ja) 1989-12-13

Similar Documents

Publication Publication Date Title
US20090180473A1 (en) method and system for decreasing routing latency for switching platforms with variable configuration
US5713044A (en) System for creating new group of chain descriptors by updating link value of last descriptor of group and rereading link value of the updating descriptor
JPH0348537B2 (ja)
JP2720427B2 (ja) ベクトル処理装置
JP2503984B2 (ja) 情報処理装置
JP2552738B2 (ja) データ処理装置
JP3014605B2 (ja) ファジィ・コンピュータ
JP3055139B2 (ja) マイクロプログラム制御方式
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JPS6240736B2 (ja)
JPS6242301B2 (ja)
JPH0736819A (ja) Dmaデータ転送装置
JPS62163142A (ja) コンピユ−タプログラムを修正するための装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JP3271713B2 (ja) マイクロ命令制御装置
JP2844624B2 (ja) データ処理装置
JP2553756B2 (ja) 情報処理装置
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPH04358227A (ja) マイクロプロセッサ
US20020147935A1 (en) Timer circuit
JPH1124941A (ja) 命令実行制御方法ならびに装置
JPS6149695B2 (ja)
JPS5896346A (ja) 階層型演算方式
JP2000010908A (ja) Dmaコントローラ
JPS60142450A (ja) 記憶システム