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

リストベクトル処理装置

Info

Publication number
JPH04127367A
JPH04127367A JP24960090A JP24960090A JPH04127367A JP H04127367 A JPH04127367 A JP H04127367A JP 24960090 A JP24960090 A JP 24960090A JP 24960090 A JP24960090 A JP 24960090A JP H04127367 A JPH04127367 A JP H04127367A
Authority
JP
Japan
Prior art keywords
address
vector
register
data
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
JP24960090A
Other languages
English (en)
Other versions
JP2798492B2 (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 JP24960090A priority Critical patent/JP2798492B2/ja
Publication of JPH04127367A publication Critical patent/JPH04127367A/ja
Application granted granted Critical
Publication of JP2798492B2 publication Critical patent/JP2798492B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

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

Claims (2)

    【特許請求の範囲】
  1. (1)主記憶装置と、複数個のベクトルレジスタと、前
    記主記憶装置の内容を前記ベクトルレジスタにロード制
    御する手段と、前記ベクトルレジスタの内容を前記主記
    憶装置にストア制御する手段と、前記ベクトルレジスタ
    の内容をアドレスとして前記主記憶装置をアクセス制御
    する手段と、前記ベクトルレジスタの各の要素に対応し
    た複数ビットを有し対応要素の有効/無効情報を格納す
    るベクトルマスクレジスタとを含むリストベクトル処理
    装置であって、前記複数個のベクトルレジスタの一つで
    ある第1のベクトルレジスタの各要素は、前記主記憶装
    置上のアドレス及び前記複数個のベクトルレジスタの任
    意の一要素を指定するためのレジスタアドレスの他前記
    主記憶装置上のアドレスが要素間で重複していることを
    示す重複情報を格納しており、また第2のベクトルレジ
    スタの各要素は前記主記憶装置上のアドレスを格納して
    おり、前記第1及び第2のベクトルレジスタの各対応要
    素のうち主記憶上のアドレスを順次読出しつつ比較し、
    この比較結果が不一致を示すか前記重複情報が重複を示
    すとき前記ベクトルマスクレジスタの対応ビットを有効
    とするようにしたことを特徴とするリストベクトル処理
    装置。
  2. (2)前記主記憶装置上のデータはアクセス単位毎にメ
    モリ不在情報を有し、前記第1のベクトルレジスタの各
    要素に格納されるアドレスが指す前記主記憶装置上のデ
    ータを読出しつつ次の要素の読出しを始める前に前記主
    記憶装置上の同一アドレスにメモリ不在情報がセットさ
    れたデータ書込み、前記ベクトルマスクレジスタの対応
    するビットが有効を示すときに前記主記憶装置から読出
    されたデータを前記第2のベクトルレジスタに書込むよ
    うにしたことを特徴とする請求項第1記載のリストベク
    トル処理装置。
JP24960090A 1990-09-19 1990-09-19 リストベクトル処理装置 Expired - Lifetime JP2798492B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH04127367A true JPH04127367A (ja) 1992-04-28
JP2798492B2 JP2798492B2 (ja) 1998-09-17

Family

ID=17195433

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2798492B2 (ja)

Also Published As

Publication number Publication date
JP2798492B2 (ja) 1998-09-17

Similar Documents

Publication Publication Date Title
JPS619760A (ja) ベクトル処理システム
JPH0414385B2 (ja)
JPH04127367A (ja) リストベクトル処理装置
JP2716254B2 (ja) リストベクトル処理装置
JPS59114677A (ja) ベクトル処理装置
JPH0222418B2 (ja)
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
JPH01255933A (ja) 掃出し制御方式
JP2583614B2 (ja) ベクトル演算装置
JP3341847B2 (ja) データ処理装置
JPS63261430A (ja) 情報処理方式および装置
JPS5972545A (ja) マイクロプログラム制御システム
JPS63284673A (ja) 情報処理装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH0364903B2 (ja)
JPS5875250A (ja) デジタル情報処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPH04245333A (ja) 情報処理装置
JPH0546581B2 (ja)
JPH0578052B2 (ja)
JPH03266120A (ja) 命令デコード制御方式
JPH02155036A (ja) データ処理装置
JPS62184561A (ja) 入出力バツフア制御装置
JPH03158943A (ja) バッファ記憶・転送方式
JPH05100954A (ja) キヤツシユバツフア処理制御方式