JPH04127366A - リストベクトル処理装置 - Google Patents

リストベクトル処理装置

Info

Publication number
JPH04127366A
JPH04127366A JP24959990A JP24959990A JPH04127366A JP H04127366 A JPH04127366 A JP H04127366A JP 24959990 A JP24959990 A JP 24959990A JP 24959990 A JP24959990 A JP 24959990A JP H04127366 A JPH04127366 A JP H04127366A
Authority
JP
Japan
Prior art keywords
address
register
data
vector
line
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
JP24959990A
Other languages
English (en)
Other versions
JP2716254B2 (ja
Inventor
Itaru Okano
格 岡野
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2249599A priority Critical patent/JP2716254B2/ja
Publication of JPH04127366A publication Critical patent/JPH04127366A/ja
Application granted granted Critical
Publication of JP2716254B2 publication Critical patent/JP2716254B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明はリストベクトル処理装置に関し、特にリストベ
クトルをベクトルレジスタ上で扱う技術に関するもので
ある。
従来技術 従来、この種のリストベクトル処理装置において、主記
憶装置上に有るリストデータを処理する場合、先ず主記
憶装置上のアドレスを含むアドレスポインタをベクトル
レジスタ上に作り、このアドレスの指す主記憶装置上の
データをベクトルギヤザー命令でベクトルレジスタに読
込んだ後で、ベクトル演算処理を行ない、その結果をベ
クトルギヤザー命令で主記憶装置に書戻すという処理を
行っている。
アドレスポインタを含むベクトルレジスタvO(1);
  (Iは要素番号)と表現し、主記憶装置上のデータ
を読込むベクトルレジスタをVl  (J); (Jは
要素番号)と表現し、主記憶装置上のデータをMM (
A);  (Aはアドレス)と表現すると、前述の動作
は、 Vl  (1) −MM (VO(+))(■は0〜ベ
クトル要素数−1) Vl  (1)に対して演算処理 (lはO〜ベクトル要素数−1) MM  (VO(+))−Vl(1) (Iはθ〜ベクトル要要素−−1 となる。この処理では、V 0(1)の指すアドレスが
ユニークであるという前提条件が必要である。
例えば、FORTRANで N (A (1) ) −N (A (1) +B (
1)という処理を行う場合に、A (j) −A (k
)(j<k)なるデータか存在すると、要素jの処理結
果を要素にの処理に反映させなければならないが、N 
(J)がベクトルレジスタ上の異なる要素に読出される
と、上記のような結果は得られず、この場合はスカシで
処理しなければならないという欠点がある。
発明の目的 本発明の目的は、リストヘクトルのアドレスポインタが
主記憶装置上の重複したアドレスを指しているときにも
、スカシ処理の必要性をなくしてベクトル処理のスピー
ドアップ化を図るようにしたリストベクトル処理装置を
提供することである。
発明の構成 本発明によれば、主記憶装置と、複数個のベクトルレジ
スタと、前記主記憶装置の内容を前記ベクトルレジスタ
にロード制御する手段と、前記ベクトルレジスタの内容
を前記主記憶装置にストア制御する手段と、前記ベクト
ルレジスタの内容をアドレスとして前記主記憶装置をア
クセス制御する手段とを含むリストベクトル処理装置で
あって、前記複数個のベクトルレジスタの一つである第
1のベクトルレジスタの各要素は、前記主記憶装置上の
アドレスのほか前記複数個のベクトルレジスタの任意の
一要素を指定するためのレジスタアドレスを格納してお
り、前記第1のベクトルレジスタの各要素を順次読出し
て各要素の前記主記憶装置上のアドレスと外部からの供
給アドレスとを比較し、最初に一致が検出されたときそ
のときの要素のレジスタアドレスを保持手段に保持して
おき、2回目以降に一致が検出されたとき前記保持手段
の保持内容をそのときの要素のレジスタアドレス領域に
書込むようにしたことを特徴とするリストベクトル処理
装置が得られる。
実施例 次に、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例のブロック図である。
10は主記憶装置、11〜15はベクトルレジスタ、1
6〜17はベクトル演算回路、18〜19はアドレスレ
ジスタ、20〜31は選択回路である。
先ず最初に、ベクトルレジスタに格納されている主記憶
装置上のアドレスの指すデータを読出す手順について説
明するが、その前にアドレスポインタ及びデータの形式
について述べる。
第2図はベクトルレジスタ及び主記憶装置上のアドレス
ポインタ及びデータの形式を示す。第2図(a)に示し
た形式のアドレスポインタは、主記憶装置上の論理アド
レス(LA)、ベクトルレジスタの任意の1要素を指定
するレジスタアドレス(RA)及びアドレスの属性を示
す情報を含む。アドレスの属性はR^有効ビットとベク
トルレジスタ上のアドレス重複ビットとを含むが、主記
憶装置上からデータを読出す前にはレジスタアドレスと
アドレス属性はいずれも無効である。
主記憶装置上のデータは第2図(b)のようにデータの
他にメモリ不在ビットを持っている。メモリ不在ビット
は主記憶装置からベクトルレジスタ上にデータを読出し
たあとにセットされ、主記憶装置上の同一アドレスのデ
ータを2力所以上のベクトルレジスタに読出したことを
判断できるようになっている。
第1図に戻って、ベクトルレジスタ11にセットされた
アドレスポインタに従って主記憶装置10上のデータを
ベクトルレジスタ15に読出す場合について説明する。
ベクトルレジスタ11〜14は夫々複数の要素からなり
、図示しない回路によって指定された要素をデータ線5
0〜53を通じて読出す。ベクトルレジスタ11は要素
番号“0”から順番にデータを読出し、データ線50を
通して選択回路26にデータを供給する。
選択回路26はデータ線50,66、 アドレス線71
を入力とし、図示しない制御回路によってこれ等入力の
うちいずれかをデータ線54に出力するが、この時はデ
ータ線50の入力をデータ線54を通じてベクトル演算
回路16に出力するように制御される。
ベクトル演算回路16はデータ線54とデータ線55を
入力として演算を行ない、結果をデータ線58に出力す
るか、この時はデータ線54の入力をデータ線58にそ
のまま出力し、データ線55の人力は無視する。
選択回路30はデータ線58〜60を入力とし、図示し
ない制御回路によって、いずれかの入力をデータ線61
に出力するが、この時はデータ線58の人力をデータ線
61を通して出力するように制御される。
主記憶装置10はアドレスレジスタ18からアドレス線
62を通して人力されるアドレスに対して読出しまたは
書込みを行なう。選択回路30の出力はデータ線6]を
通してアドレスレジスタ18にセットされる。このデー
タか主記憶装置10のアト1/スとなって、図示しない
回路によって主記憶装W10からデータを読出し、その
後主記憶装置10の同しアドレスに対してデータを書込
む。
この時の書込みデータはデータ線63から選択回路31
に入力される。
選択回路31はデータ線61とデータ線63を入力とし
、そのどちらか一方をデータ線64がら主記憶装置10
に対して出力するか、この時はデータ線63の入力をデ
ータ線64を通して出力するように制御される。
データ線63から入力されるデータとは、メモリ不在ビ
ットに1をセットした任意のデータで、通常はメモリ不
在ビット以外はオール“0”が入力される。主記憶装置
10から読出されたデータはデータ線65を通して選択
回路25に出力される。
選択回路25はデータ線65及びデータ線58〜59を
入力し、これ等入力のいずれか1つをデータ線72から
出力するが、この時はデータ線65の入力を選択し、デ
ータ線72からベクトルレジスタ15に対して出力する
よう制御される。
ベクトルレジスタ15はアドレスレジスタ19からアド
レス線7]を通して入力されるアドレスに対して読出し
または書込みを行う。アドレスレジスタ19の初期値は
ソフトウェアによって指定され、アドレス線74から選
択回路24に入力される。
選択回路24はデータ線58〜60及びアドレス線73
〜74を入力し、これ等入力のいずれか1つをアドレス
線70から出力するが、この時はアドレス線74の入力
を選択し、アドレス線70からアドレスレジスタ19に
対して出力するよう制御される。アドレスレジスタ19
はアドレス線70から入力したアドレスを一旦格納し、
アドレス線71から出力する。
+1加算回路32はアドレスl171から入力しタアト
レスに“1”を加算してアドレス線73に出力する。
次に、選択回路24はアドレスレジスタ19が連続する
アドレスを次々とベクトルレジスタ15に指示できるよ
う、アドレス線73の入力を選択するように制御される
。この時、アドレス線70からは、アドレスレジスタ1
9の持つ値に“1”を加算した値が出力されるため、ア
ドレスレジスタ19は初期値に対して次々に“11を加
算した値をとる。
ベクトルレジスタ15では、最初にソフトウェアで考え
られた初期値で示されるアドレスからの連続領域に、デ
ータ線72から入力されるデータを図示しない制御回路
の制御により書込んでいく。
以上の動作により、ベクトルレジスタ11にセットされ
たアドレスポインタに従って主記憶装置10上のデータ
をベクトルレジスタ15に読出すことができる。もしも
、ベクトルレジスタ11に同一のアドレスを持つ要素が
2つ以上存在する場合、後から読出したデータにはメモ
リ不在ビットがセットされており、以前に同一のアドレ
スに対して読出しを行なったことが容易に判断できる。
次に、アドレスポインタを格納するベクトルレジスタ1
1に主記憶装置10から読出したデータのあるレジスタ
アドレスをセットする手順について説明する。主記憶装
置10からの読出しデータは、連続するレジスタアドレ
スに格納されているものとする。
レジスタアドレスの初期値はソフトウェアによって与え
られ、アドレス線74を通して選択回路24に入力され
る。選択回路24は、アドレス線74の入力を選択し、
アドレス線70からアドレスレジスタ19に対して出力
するよう制御される。
アドレスレジスタ]9はアドレス線70から入力したア
ドレスを一旦格納してアドレス線71から出力する。
一方、ベクトルレジスタ11は要素番号“0”から順番
にデータを読出し、データ線50を通じて選択回路26
にデータを供給する。選択回路26はデータ線50の入
力をデータ線54を通じてベクトル演算回路16に出力
するように制御される。
選択回路27はデータ線51,67、アドレス線71を
入力とし、図示しない制御回路によってこれ等入力のい
ずれかの入力をデータ線55に出力するが、この時はア
ドレス線71の入力をデータ線55を通じてベクトル演
算回路16に出力するように制御される。
ベクトル演算回路16はデータ線54がら入力されるア
ドレスポインタ中のレジスタアドレス領域をデータ線5
5から入力されるレジスタアドレスに差換える動作を行
なう。また、この時同時に、アドレスポインタ中のRA
有効ビットをセットし、アドレス重複ビットをリセット
する。
ベクトル演算回路16から出力されたデータはデータ&
9!58を通して選択回路2oに入力される。
選択回路20はデータ線58〜60.65を入力とし、
これ等入力のいずれか1つのデータを選択してデータ線
66から出力するが、この時はデータ線58の人力を選
択してデータ線66に出力するように制御される。
ベクトルレジスタ11は先程説明した要素番号“Ooか
らのデータの読出しと並行して、選択回路20からデー
タ線66を通して入力されるデ夕を図示しない制御回路
により要素番号“0”から順番に書込んでいく。
以上が最初の1要素の処理であるが、2要素目以降は選
択回路24の動作が多少異なる以外は最初の1要素と同
じである。
すなわち、選択回路24はアドレスレジスタ19が連続
するアドレスを指示するようにアドレス線73の入力を
選択するように制御される。アドレス線73には、+1
加算回路32によりアドレスレジスタ19の値+1が出
力されているため、アドレスレジスタ19は初期値に対
して次々に“1″を加算した値をとる。よって、ベクト
ル演算回路16には、選択回路26.27を通してベク
トルレジスタ11の次の要素とアドレスレジスタ19の
次の値か供給される。
以上の動作により、ベクトルレジスタ11の各要素中の
レジスタアドレス領域に、連続したレジスタアドレスを
セットすることができる。
しかしながら、ここでセットしたレジスタアドレスは主
記憶装置上のアドレスの重複を考慮していないため、必
ずしも正しいレジスタアドレスではない。以前に説明し
たように、主記憶装置上で同一のアドレスをもつデータ
にはメモリ不在ビットに“1″が立っているため、これ
を手がかりにして重複のあるアドレスをサーチする。
先ず最初に、メモリ不在ビットに“1′か立っているデ
ータについてマスクデータを作成する。
すなわち、メモリ不在ビットか“1”であればマスクデ
ータも“1”とする。この動作については、既に公知の
技術のため、ここではこれ以上説明を加えない。
次に、この動作によって作成されたマスクデータ中の“
1′の立っている要素数をカウントする。
もしも“1′の立っている要素数が“0”であれば、主
記憶装置上のアドレス重複は無いため、処理はこれで終
了する。以上の動作についても、既に公知の技術である
ため、これ以上の説明は加えない。
次に、生成されたマスクデータを使って、アドレスポイ
ンタを格納しであるベクトルレジスタ11にベクトルコ
ンプレス処理を加える。ずなわち、マスクデータに“1
”の立っている要素番号に対応するベクトルレジスタ1
1の要素を別のベクトルレジスタ、例えばベクトルレジ
スタ12の0番目の要素から詰めて格納する。この動作
についても、既に公知の技術であるため、これ以上の説
明は加えない。
この後、ベクトルレジスタ12の内容をスカシレジスタ
に読出して、重複しているアドレスの内容を調べる。こ
こで3つ以上のアドレスか重複している場合には、スカ
ラレンスタに同一のアドレスが2つ以上読込まれる場合
もあるか、一般に、リストベクトル処理でアドレスか重
複するようなケースは稀であるため、スカシでの処理は
全体の処理時間と比較して無視し得る稈小さい。
次に、主記憶装置上のアドレスか重複している要素につ
いて、正しいレジスタアドレスをセットし直す手順につ
いて説明する。今までの説明により、主記憶装置上の重
複しているアドレスをスカシレジスタ上に得た。従って
、この重複しているアドレスを持つ要素をサーチして、
そのレジスタアドレスを書換える処理を行なう。
まず最初にアドレスポインタを格納しであるベクトルレ
ジスタ1]の各要素を図示しない制御回路の制御により
、要素番号のO番目から順番にデータ線50を通じて選
択回路26に出力する。選択回路26はデータ線500
Å力をデータ線54を通してベクトル演算回路16に出
力するよう制御される。
一方、比較対象となるアドレスは、アドレス線74を通
して選択回路24に入力される。選択回路24は、アド
レス線74を選択し、アドレス線70を通してアドレス
レジスタ1つに出力する。
アドレスレジスタ19はアドレス線70を通して入力し
たアドレスを一旦格納し、アドレス線7]を通して選択
回路27に出力する。選択回路27はアドレス線71を
選択し、データ線55を通してベクトル演算回路16に
出力する。
第3図は第1図のベクトル演算回路16のうち説明に必
要な部分のみを抜出した回路図である。
101〜105はレジスタ、106はアドレス比較器、
107.109は選択回路、108はアンドゲートであ
る。
データ線54から入力されたアドレスポインタはレジス
タ101に、またデータ線55から人力された比較アド
レスはレジスタ102に夫々−旦格納される。次に、レ
ジスタ101及び102の中の主記憶装置上のアドレス
を格納した部分が、夫々データ線122,123を通し
て比較器106に入力される。
比較器106では、データ線122,123を通して人
力されたデータを比較し、一致していれば制御線124
に′1”を出力する。レジスタ105はこの処理が始ま
った時には値“O”を保持しているが、比較器10Gか
制御線124に“1”を出力するとこのデータ“〕”を
入力し、処理が終了するまで値“コ゛を保持する。
次に、レジスタ101の中のレジスタアドレスを格納し
た部分がデータ線121を通してレジスタ1゜4に入力
される。レジスタ104はレジスタ105の値カ“0”
の時はデータ線+21から人力されるデータを常時書込
んでいるか、レジスタ105の値が°1”となり、制御
線125に“1″が出力されると、現在の値を保持する
よう制御される。
すなわち、レジスタ104に保持されるのは、主記憶装
置上のアドレスが最初に一致した時のレジスタアドレス
である。このアドレス一致が起こる時までは、レジスタ
1.01の内容はデータ線120〜122を通してレジ
スタ103にセットされる(選択回路107,109は
データ線121,120を選択する)が、主記憶装置上
のアドレスが2度目に一致した時には動作が異なる・ レジスタ105に値“1#がセットされた状態、すなわ
ち以前に1度以上アドレスの一致が検出された後で再び
比較器106が制御線124に値“l”を出力すると、
アンドゲート10gの入力である制御線124〜125
がともに値“1′となり、制御線128に値″1′を出
力する。
選択回路107,109は、制御$ij!128の値が
“0”の時には、データ線121,120のデータを選
択し、データ線127.130に出力するが、制御線1
28の値が“1′の時には、データ線126,129の
データを選択してデータ線127,130に出力する。
データ線129には、RA有効、アドレス重複有の各ビ
ットに“1″がセットされている。すなわち、二度目以
降のアドレス一致を検出すると、レジスタアドレスを一
度目のアドレス−数種出時のレジスタアドレスに差換え
、アドレス重複有ビットのセットという動作をする。
レジスタ103にセットされたアドレスポインタはデー
タ線58を通して第1図の選択回路20に入力される。
選択回路20は、データ線58を選択し、データ線66
を通してベクトルレジスタ11に出力する。ベクトルレ
ジスタ11では、データ線66を通して入力したデータ
を図示しない制御回路の制御により要素番号“0”から
順番に書込んでいく。
以上の動作をベクトルレジスタ11の全要素について行
なうことにより、重複しているアドレス1つ分のレジス
タアドレス書換えが完了する。従って、重複しているア
ドレスが複数個ある場合は、その個数分たけ上記の動作
を繰返す必要がある。
次に、リストベクトルを使ってデータを読出す手順につ
いて説明する。ベクトルレジスタ11には、前に説明し
たアドレスポインタが格納されているものとする。アド
レスポインタの指すデータがベクトルレジスタ上にある
場合は、ベクトルレジスタからデータを読出し、ベクト
ルレジスタ上に無い場合は、主記憶袋W10からデータ
を読出し、ベクトル演算回路17に読出したデータを供
給する。
先ず最初に、ベクトルレジスタ11の要素番号“0“か
ら順番にデータを読出し、データ線50を通して選択回
路26にデータを供給する。選択回路26はデータ線5
0の人力を選択し、データ線54を通してベクトル演算
回路16に出力するよう制御される。
ベクトル演算回路16はデータ線54とデータ線55を
入力として演算を行ない、結果をデータ線58に出力す
る。この時、データ線54から入力したデータのRA有
効ビットが“1”であれば、データ線58にレジスタア
ドレスを出力するとともに、図示しない制御回路によっ
てベクトルレジスタの読出しを指示する。データ線55
0入力は無視する。
データ線58に出力されたレジスタアドレスは選択回路
24及びアドレス線70を通してアドレスレジスタ19
に出力される。アドレスレジスタ19はアドレス線70
からデータを入力し、−旦格納した後、アドレス線71
にレジスタの内容を出力する。
ベクトルレジスタ15はアドレス線71からアドレスを
入力するとともに、図示しない制御回路によって読出し
モードに設定され、指定されたアドレスの内容をデータ
線60を通して出力する。
選択回路22はデータ線58〜60.65を入力し、こ
れ等入力のいずれか1つを選択してデータ線68に出力
するか、この時はデータ線60の入力を選択し、データ
線68を通して選択回路28に出力する。
選択回路28はデータ線52.68、アドレス線71を
入力し、これ等入力のいずれか1つを選択してデータ線
56に出力するが、この時はデータ線68の入力を選択
し、データ線56を通してベクトル演算回路]7に出力
する。
次に、データ線54からベクトル演算回路16に入力し
たアドレスポインタのRA有効ビットが“0”の時は、
データ線58に主記憶装置上のアドレスを出力するとと
もに、図示しない制御回路によって主記憶装置の読出し
を指示する。データ線58に出力されたアドレスは選択
回路30及びデータ線61を通してアドレスレジスタ1
8に出力される。アドレスレジスタ18はデータ線61
から入力したデータを一旦格納し、アドレス線62を通
して主記憶装置10に出力する。
主記憶装置10はアドレス線62を通してアドレスを入
力するとともに、図示しない制御回路によって読出しモ
ートに設定され、指定されたアドレスの内容をデータ線
65に出力する。選択回路22はデータ線65の入力を
選択し、データ線68を通して選択回路28に出力する
選択回路28はデータ線68の人力を選択し、データ線
56を通してベクトル演算回路17に出力する。
次に、演算結果をリストベクトルを使って格納する手順
について説明する。ベクトルレジスタ11に格納された
アドレスポインタに従ってベクトル演算回路17の出力
を格納するものとする。
ベクトルレジスタ11の要素番号“0”から順番にデー
タを読出し、データ線50を通して選択回路26にデー
タを供給する。選択回路26はデータ線50の入力を選
択し、データ線54を通してベクトル演算回路16に出
力するよう制御される。
ベクトル演算回路]6はデータ線54とデータ線55を
入力として演算を行ない、結果をデータ線58に出力す
る。この時、データ線54から入力したデータのRA有
効ビットか“1”であれば、データ線58にレジスタア
ドレスを出力するとともに、図示しない制御回路によっ
てベクトルレジスタの書込みを指示する。データ線55
の入力は無視する。
データ線58に出力されたレジスタアドレスは選択回路
24に入力される。選択回路24はデータ線58の入力
を選択し、アドレス線70を通してアドレスレジスタ1
9に出力する。アドレスレジスタ19はアドレス線70
からデータを入力し、−旦格納した後、アドレス線71
にレジスタの内容を出力する。ベクトル演算回路17に
よって演算された結果はデータ線59から出力される。
選択回路25はデータ線59を選択し、データ線72を
通してベクトルレジスタ15に出力する。
ベクトルレジスタ〕5ては、アドレス線71からアドレ
スを入力し、データ線72からデータを入力するととも
に、図示しない制御回路により書込みモードに設定され
、指示されたアドレスにデータ線72から入力したデー
タを書込む。
次に、データ線54からベクトル演算回路16に入力し
たアドレスポインタのRA有効ビットが“0°の時は、
データ線58に主記憶装置上のアドレスを出力するとと
もに、図示しない制御回路によって、主記憶装置の書込
みを指示する。
データ線58に出力されたアドレスは選択回路30に入
力される。選択回路30はデータl1j58の入力を選
択し、データ線61を通してアドレスレジスタ18に出
力する。アドレスレジスタ18はデータ線61から入力
したデータを一旦格納し、アドレス線62を通して主記
憶装置10に出力する。
ベクトル演算回路17によって演算された結果はデータ
線59から出力される。選択回路3oはデータ線59の
入力を選択し、データ線61を通して選択回路31に出
力する。選択回路31はデータ線610入力を選択し、
データ線64を通して主記憶装置]0に出力する。
主記憶装置10はアドレス線62を通してアドレスを入
力し、データ線64を通してデータを入力するとともに
、図示しない制御回路によって書込みモードに設定され
、指定されたアドレスにデータ線64のデータを書込む
以上説明した実施例は、リストベクトルをベクトルレジ
スタまたは主記憶装置上から読出し、演算を行ない、再
びリストベクトルでベクトルレジスタ、または主記憶装
置に書戻すというものであったが、連続するリストベク
トルで同一のレジスタアドレス、又は主記憶装置上のア
ドレスを指している場合でも、前の演算の結果が後のリ
ストベクトルの読出しに反映されるよう、1回の書込み
が完了した後でなければ次の要素を読出すことかできず
、パイプライン演算器の利点を十分に生かすことができ
ないという欠点がある。
前にも説明したように、リストベクトルの独立した要素
間での゛アビ12重複は稀であるため、このことを利用
して高速化が図れる。すなわち、アドレスポインタを読
出した際に、アドレスに重複があるかどうかを示すビッ
トをチエツクし、アドレスの重複があれば一旦読出しを
中止し、現在パイプライン内で動作中のデータを全てベ
クトルレジスタ、または主記憶装置に書込み終った後、
読出しを再開すれば良い。
但し、現在アドレスポインタを読出しているベクトルレ
ジスタにチエイニングでデータを書込む場合は、全ての
ベクトルレジスタの読出しを止めて、パイプライン内の
データをアドレスポインタの格納されているベクトルレ
ジスタに全て書込んでも、読出し中のアドレスポインタ
が破壊されず、うまく再開できるようにチエイニングの
間隔を制御する必要がある。ここでは、その詳細につい
ては特に説明しない。
次に、ベクトルレジスタ上に読出しであるリストベクト
ルのデータを主記憶装置に書戻す手順について説明する
。ベクトルレジスタ11にはアドレスポインタが格納さ
れ、そのアドレスポインタの指すデータがベクトルレジ
スタ15に格納されているものとする。
ベクトルレジスタ11は要素番号“0°から順番にデー
タを読出し、データ線50を通して選択回路26にデー
タを出力する。選択回路26はデータ線50の入力をデ
ータ線54を通してベクトル演算回路16に出力するよ
うに制御される。
ベクトル演算回路16はデータ線54.55を入力とし
て演算を行ない、結果をデータ線58に出力するが、こ
の時はデータ線54から入力されるデータのRA有効ビ
ットをチエツクし、“0゛であればその要素については
何もしない。RA有効ビットが“1”の場合は、データ
線58に主記憶装置アドレスを出力する。データ線55
の入力は無視する。
データ線58に出力されたアドレスは選択回路30に入
力される。選択回路30はデータ線58の入力を選択し
、データ線61を通してアドレスレジスタ18に出力す
る。アドレスレジスタ18はデータ線61から入力した
データを一旦格納し、アドレス線62を通して主記憶装
置10に出力する。
次に、ベクトル演算回路16は同し要素のレジスタアド
レスをデータ線58に出力するとともに、図示しない制
御回路によってベクトルレジスタ15に読出しを指示す
る。
データ線58に出力されたレジスタアドレスは選択回路
24に入力される。選択回路24はブタ線58の入力を
選択し、アドレス線70を通してアドレスレジスタ19
に出力する。アドレスレジスタ19はアドレス線70か
らデータを入力し、−旦格納した後アドレス線71にレ
ジスタの内容を出力する。
ベクトルレジスタ15はアドレス線71からアドレスを
入力するとともに、図示しない制御回路によって読出し
モードに設定され、指定されたアドレスの内容をデータ
線60を通して出力する。
選択回路30はデータ線60の入力を選択し、データ線
61を通して選択回路31に出力する。選択回路31は
データ線61の入力を選択し、データ線64を通して主
記憶装置10に出力する。
主記憶装置10はアドレス線62からアドレスを入力し
、データ線64からデータを入力するとともに、図示し
ない制御回路によって書込みモトに設定され、指定され
たアドレスにデータ線64から入力したデータを書込む
以上の動作によりベクトルレジスタ15の内容を主記憶
装置10に書込むことができるが、アドレスポインタを
格納しであるベクトルレジスタ11をそのまま使用する
ためには、アドレスポインタ中のRA有効ビットを“O
”に書換える必要かある。また、ベクトルレジスタ15
中の使用しなくなった領域も他の目的に使用することが
できるようになる。
ベクトルレジスタ11は要素番号“0′から順番にデー
タを読出し、データ線50を通して選択回路26にデー
タを出力する。選択回路26はデータ線50の入力をデ
ータ線54を通してベクトル演算回路16に出力するよ
うに制御される。
ベクトル演算回路16はデータ線5’4.55を入力と
して演算を行ない、結果をデータ線58に出力するが、
この時はデータ線54から入力されるデータのRA有効
ビットを“0”に書換え、データ線58に出力する。選
択回路20はデータ線58の入力を選択し、データ線6
6を通してベクトルレジスタ11に出力するよう制御さ
れる。
ベクトルレジスタ11はデータ線66からデータを入力
し、図示しない制御回路により要素番号“0“から順番
にデータを書込んでいくよう制御される。
次回にベクトルレジスタ11を使ってリストベクトルの
アクセスを行なう時には、RA有効ビットが“0”にな
っているため、主記憶装置上から再度データを自動的に
持ってくるように制御される。
次に、アドレスポインタを書換えた場合の処理について
説明する。アドレスポインタを格納したベクトルレジス
タに変更が生した場合は、不要になったデータをベクト
ルレジスタから主記憶装置に書戻し、新たに必要になっ
たデータを主記憶装置からベクトルレジスタに読出す必
要がある。ベクトルレジスタ11に元のアドレスポイン
タ、ベクトルレジスタ12に新しいアドレスポインタか
あるものとする。
ベクトルレジスタ11..12は要素番号“0”から順
番にデータを読出し、データ線50.51を通して夫々
選択回路26.27にデータを供給する。選択回路26
.27はデータ線50.51の人力を夫々選択し、デー
タ線54.55を通してベクトル演算回路16に出力す
るように制御される。
ベクトル演算回路16はデータ線54.55を入力とし
て演算を行ない、結果をデータ線58に出力するが、こ
の時はデータ線54.55から入力するデータの主記憶
装置アドレス領域を比較し、不一致であるか、あるいは
アドレスの属性情報がアドレスの重複有を示している時
に“1′のマスクデータを生成する。上記以外のケース
では“O”のマスクデータを生成する。
第4図にヘクトル演算回路16の一部のブロック図を示
す。第4図において201〜202はレジスタ、203
はマスクレジスタ、204はマスクレジスタへの書込み
ポインタ、205はマスクレジスタからの読出しポイン
タ、206は比較器、207はオアゲート、208〜2
09は+1加算器である。
データ線54,5.5から入力されたデータは−Hレジ
スタ201,202に格納される。レジスタ201゜2
02中の主記憶装置アドレス領域は夫々データ線221
.222を通して比較器206に入力される。
比較器206はデータ線221,222から人力したデ
ータを比較し、データが完全に一致していれば、“0”
 それ以外のケースでは1°を制御線223に出力する
オアゲート207は制御線220からレジスタ201の
アドレス重複有ビットを入力し、制御線223から比較
器206の出力を入力し、少なくともどちらか一方の入
力が値“1”を示す時、制御線224に“1”を出力す
る。2つの入力がともに“0”の時には、制御線224
に“0”を出力する。
マスクレジスタ203は制御線224から入力したデー
タをアドレス線226か指すアドレスに書込み、アドレ
ス線228か指すアドレスの内容を制御線225に出力
する。書込みは図示し、ない制御回路により制御される
書込みポインタ204は図示しない制御回路により初期
化され、マスクレジスタ203の書込みアドレスを制御
する。ポインタの内容はアドレス線226を通して+1
加算回路208に入ツノされ、+1された値がアドレス
線227から再度書込みポインタ204に入力される。
読出しポインタ205は図示しない制御回路により初期
化され、マスクレジスタ203の読出しアドレスを制御
する。ポインタの内容はアドレス線228を通して+1
加算回路209に入力され、+1された値がアドレス線
229から再度読出しポインタ205に入力される。マ
スクレジスタの出力である制御線225は各ベクトル演
算回路に分配され、図示しない制御回路によって演算の
実行を制御する。
次に、このマスクデータを使用して、ベクトルレジスタ
上に読出しである不要になったリストベクトルのデータ
をマスク付きで主記憶装置に書戻す。すなわち、前述し
たリストベクトルデータの退避を、マスクデータの対応
するビットが“1゜の時だけ実行し、それ以外の時には
何もしないように制御する。詳細は、前述の実施例を参
照のこと。
この際、アドレスの重複有ビットが“1°の要素はアド
レスの変更が無くても一旦主記憶装置に書戻されるが、
この後のデータ読出して再度ベクトルレジスタ上に読出
される。
次に、ベクトルレジスタから主記憶装置にデータを退避
した要素について、対応するアドレスポインタ中のRA
有効ビットをマスク付きて“0”に書換える。すなわち
、前述したRA有効ビットの書換えを、マスクデータの
対応するビットが“1”の時だけ実行し、それ以外の時
は何もしないように制御する。詳細は前述の実施例を参
照のこと。
次に、前述したマスクデータを使用して、変更になった
アドレスポインタの指すデータをベクトルレジスタ上に
読込む手順について説明する。ベクトルレジスタから主
記憶装置にデータを退避した後のレジスタアドレスは、
どのアドレスポインタからも指されていないはず(複数
のアドレスポインタから重複して指されているデータは
主記憶装置に退避されている)なので、この領域に変更
になったアドレスポインタの指すデータを読込む。
先ず、ベクトルレジスタ12に格納されている新しいア
ドレスポインタを使って、マスク付きて主記憶装置上の
データを読出し、メモリ不在ビットをセットする。すな
わち、前述したリストベクトルデータの読出しを、マス
クデータの対応するビットが“1“の時だけ実行し、そ
れ以外の時は何もしないように制御する。詳細は前述の
実施例を参照のこと。
次に、アドレスポインタを格納するベクトルレジスタに
、主記憶装置から読出したデータのあるレジスタアドレ
スをセットする。次に、ベクトルレジスタに読出したデ
ータのメモリ不在ビットをチエツクし、“1“が立って
いる要素に対応してマスクデータ“1”を生成する。次
に、前述のマスクデータ中の“1ゝの立っている要素数
をカウントし、“0”であればこれて処理を終了する。
次に、前述のマスクデータを使用して、アドレスポイン
タの格納されているベクトルレジスタにベクトルコンプ
レス処理を加える。次に、ベクトルコンプレスて集めた
データをスカラレジスタに読出ス。次に、スカシレジス
タ上に得た、重複したアドレスを持つ要素をサーチし、
そのレジスタアドレスを書き換える処理を行なう。
以上の動作は全て前述の実施例と同じなので説明を省略
する。
発明の詳細 な説明したように、本発明はリストベクトルのアドレス
ポインタが主記憶装置上の重複したアドレスを指してい
る時にもベクトルレジスタ上のデータをユニークにし、
このベクトルレジスタを間接アクセスすることによって
、従来スカラ処理せざるを得なかった部分をベクトル化
できるようになり、処理スピードが飛躍的に高まるとい
う効果がある。
また、リストベクトルのアドレスポインタが変更された
場合にも、ベクトルレジスタ上のデータを全て主記憶装
置に退避して再読出しするという処理をする必要がなく
、柔軟性の高いリストベクトル処理を行なえるという効
果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図はアドレ
スポインタ及びデータの各形式を示す図、第3図はベク
トル演算回路の一部分の回路例を示す図、第4図はベク
トル演算回路の他の部分の回路例を示す図である。 主要部分の符号の説明 10・・・・・・主記憶装置 11〜15・・・・・ヘクトルレジスタ16〜17・・
・・・・ベクトル演算回路18.19・・・・アドレス
レジスタ

Claims (2)

    【特許請求の範囲】
  1. (1)主記憶装置と、複数個のベクトルレジスタと、前
    記主記憶装置の内容を前記ベクトルレジスタにロード制
    御する手段と、前記ベクトルレジスタの内容を前記主記
    憶装置にストア制御する手段と、前記ベクトルレジスタ
    の内容をアドレスとして前記主記憶装置をアクセス制御
    する手段とを含むリストベクトル処理装置であって、前
    記複数個のベクトルレジスタの一つである第1のベクト
    ルレジスタの各要素は、前記主記憶装置上のアドレスの
    ほか前記複数個のベクトルレジスタの任意の一要素を指
    定するためのレジスタアドレスを格納しており、前記第
    1のベクトルレジスタの各要素を順次読出して各要素の
    前記主記憶装置上のアドレスと外部からの供給アドレス
    とを比較し、最初に一致が検出されたときそのときの要
    素のレジスタアドレスを保持手段に保持しておき、2回
    目以降に一致が検出されたとき前記保持手段の保持内容
    をそのときの要素のレジスタアドレス領域に書込むよう
    にしたことを特徴とするリストベクトル処理装置。
  2. (2)前記第1のベクトルレジスタの各要素は、更に自
    要素のレジスタアドレスの有効無効を示す有効情報をも
    含み、前記2回目以降に一致が検出されたときの要素の
    前記有効情報に有効を示す情報をセットし、前記有効情
    報が無効を示すとき各要素に格納されたアドレスが指す
    前記主記憶装置上のデータを読出し、有効を示すとき各
    要素に格納されたレジスタアドレスによりベクトルレジ
    スタのデータを読出すようにしたことを特徴とする請求
    項1記載のリストベクトル処理装置。
JP2249599A 1990-09-19 1990-09-19 リストベクトル処理装置 Expired - Lifetime JP2716254B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2249599A JP2716254B2 (ja) 1990-09-19 1990-09-19 リストベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2249599A JP2716254B2 (ja) 1990-09-19 1990-09-19 リストベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH04127366A true JPH04127366A (ja) 1992-04-28
JP2716254B2 JP2716254B2 (ja) 1998-02-18

Family

ID=17195418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2249599A Expired - Lifetime JP2716254B2 (ja) 1990-09-19 1990-09-19 リストベクトル処理装置

Country Status (1)

Country Link
JP (1) JP2716254B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166840A1 (ja) * 2020-02-17 2021-08-26 日本電気株式会社 記録媒体、コンパイル装置、処理システム及びコンパイル方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166840A1 (ja) * 2020-02-17 2021-08-26 日本電気株式会社 記録媒体、コンパイル装置、処理システム及びコンパイル方法

Also Published As

Publication number Publication date
JP2716254B2 (ja) 1998-02-18

Similar Documents

Publication Publication Date Title
JPS59111569A (ja) ベクトル処理装置
JPH04127366A (ja) リストベクトル処理装置
JPS59114677A (ja) ベクトル処理装置
JP2798492B2 (ja) リストベクトル処理装置
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPS6211736B2 (ja)
JPH0222418B2 (ja)
JP3490191B2 (ja) 計算機
JP3278441B2 (ja) ベクトル処理装置
JP3341847B2 (ja) データ処理装置
JPS5875250A (ja) デジタル情報処理装置
JPS63284673A (ja) 情報処理装置
JPH04245333A (ja) 情報処理装置
JP2583614B2 (ja) ベクトル演算装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH0364903B2 (ja)
JPS6014335A (ja) 情報処理装置
JPS638694A (ja) ビツトマツプデイスプレイのラスタ演算制御方式
JPS6028014B2 (ja) マイクロプロセツサ
JPH0823820B2 (ja) アドレス・オーバラップ・チェック処理装置
JPS59173874A (ja) ベクトル処理装置
JPH0540622A (ja) デジタル信号処理装置
JPS61249140A (ja) マイクロプログラム制御装置
JPS6243775A (ja) ベクトル演算装置
JPH04181328A (ja) 情報処理装置