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

リストベクトル処理装置

Info

Publication number
JP2716254B2
JP2716254B2 JP2249599A JP24959990A JP2716254B2 JP 2716254 B2 JP2716254 B2 JP 2716254B2 JP 2249599 A JP2249599 A JP 2249599A JP 24959990 A JP24959990 A JP 24959990A JP 2716254 B2 JP2716254 B2 JP 2716254B2
Authority
JP
Japan
Prior art keywords
address
data
register
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.)
Expired - Lifetime
Application number
JP2249599A
Other languages
English (en)
Other versions
JPH04127366A (ja
Inventor
格 岡野
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
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

Description

【発明の詳細な説明】 技術分野 本発明はリストベクトル処理装置に関し、特にリスト
ベクトルをベクトルレジスタ上で扱う技術に関するもの
である。
従来技術 従来、この種のリストベクトル処理装置において、主
記憶装置上に有るリストデータを処理する場合、先ず主
記憶装置上のアドレスを含むアドレスポインタをベクト
ルレジスタ上に作り、このアドレスを指す主記憶装置上
のデータをベクトルギャザー命令でベクトルレジスタに
読込んだ後で、ベクトル演算処理を行ない、その結果を
ベクトルスキャッタ命令で主記憶装置に書戻すという処
理を行っている。
アドレスポインタを含むベクトルレジスタV0(I);
(Iは要素番号)と表現し、主記憶装置上のデータを読
込むベクトルレジスタをV1(J);(Jは要素番号)と
表現し、主記憶装置上のデータをMM(A);(Aはアド
レス)と表現すると、前述の動作は、 V1(I)←MM(V0(I)) (Iは0〜ベクトル要素数−1) V1(I)に対して演算処理 (Iは0〜ベクトル要素数−1) MM(V0(I))←(V1(I)) (Iは0〜ベクトル要素数−1) となる。この処理では、V0(I)の指すアドレスがユニ
ークであるという前提条件が必要である。
例えば、FORTRANで N(A(I))=N(A(I)+B(I) という処理を行う場合に、A(j)=A(k)(j<
k)なるデータが存在すると、要素jの処理結果を要素
kの処理に反映させなければならないが、N(J)がベ
クトルレジスタ上の異なる要素に読出されると、上記の
ような結果は得られず、この場合はスカラで処理しなけ
ればならないという欠点がある。
発明の目的 本発明の目的は、リストベクトルのアドレスポインタ
が主記憶装置上の重複したアドレスを指しているときに
も、スカラ処理の必要性をなくしてベクトル処理のスピ
ードアップ化を図るようにしたリストベクトル処理装置
を提供することである。
発明の構成 本発明によれば、主記憶装置と、複数個のベクトルレ
ジスタと、前記主記憶装置の内容を前記ベクトルレジス
タにロード制御する手段と、前記ベクトルレジスタの内
容を前記主記憶装置にストア制御する手段と、前記ベク
トルレジスタの内容をアドレスとして前記主記憶装置を
アクセス制御する手段とを含むリストベクトル処理装置
であって、前記複数個のベクトルレジスタの一つである
第1のベクトルレジスタの各要素は、前記主記憶装置上
のアドレスのほか前記複数個のベクトルレジスタの任意
の一要素を指定するためのレジスタアドレスを格納して
おり、前記第1のベクトルレジスタの各要素を順次読出
して各要素の前記主記憶装置上のアドレスと外部からの
供給アドレスとを比較し、最初に一致が検出されたとき
そのときの要素のレジスタアドレスを保持手段に保持し
ており、2回目以降に一致が検出されたとき前記保持手
段の保持内容をそのときの要素のレジスタアドレス領域
に書込むようにしたことを特徴とするリストベクトル処
理装置が得られる。
実施例 次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の一実施例のブロック図である。10は
主記憶装置、11〜15はベクトルレジスタ、16〜17はベク
トル演算回路、18〜19はアドレスレジスタ、20〜31は選
択回路である。
先ず最初に、ベクトルレジスタに格納されている主記
憶装置上のアドレスの指すデータを読出す手順について
説明するが、その前にアドレスポインタ及びデータの形
式について述べる。
第2図はベクトルレジスタ及び主記憶装置上のアドレ
スポインタ及びデータの形式を示す。第2図(a)に示
した形式のアドレスポインタは、主記憶装置上の論理ア
ドレス(LA)、ベクトルレジスタの任意の1要素を指定
するレジスタアドレス(RA)及びアドレスの属性を示す
情報を含む。アドレスの属性はRA有効ビットとベクトル
レジスタ上のアドレス重複ビットとを含むが、主記憶装
置上からデータを読出す前にはレジスタアドレスとアド
レス属性はいずれも無効である。
主記憶装置上のデータは第2図(b)のようにデータ
の他にメモリ不在ビットを持っている。メモリ不在ビッ
トは主記憶装置からベクトルレジスタ上にデータを読出
したあとにセットされ、主記憶装置上の同一アドレスの
データを2カ所以上のベクトルレジスタに読出したこと
を判断できるようになっている。
第1図に戻って、ベクトルレジスタ11にセットされた
アドレスポインタに従って主記憶装置10上のデータをベ
クトルレジスタ15に読出す場合について説明する。
ベクトルレジスタ11〜14は夫々複数の要素からなり、
図示しない回路によって指定された要素をデータ線50〜
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をセットした任意のデータで、通常はメモリ不
在ビット以外はオール“0"が入力される。主記憶装置10
から読出されたデータはデータ線65を通して選択回路25
に出力される。
選択回路25はデータ線65及びデータ線58〜59を入力
し、これ等入力のいずれか1つをデータ線72から出力す
るが、この時はデータ線65の入力を選択し、データ線72
からベクトルレジスタ15に対して出力するよう制御され
る。
ベクトルレジスタ15はアドレスレジスタ19からアドレ
ス線71を通して入力されるアドレスに対して読出しまた
は書込みを行う。アドレスレジスタ19の初期値はソフト
ウェアによって指定され、アドレス線74から選択回路24
に入力される。
選択回路24はデータ線58〜60及びアドレス線73〜74を
入力し、これ等入力のいずれか1つをアドレス線70から
出力する、この時はアドレス線74の入力を選択し、アド
レス線70からアドレスレジスタ19に対して出力するよう
に制御される。アドレスレジスタ19はアドレス線70から
入力したアドレスを一旦格納し、アドレス線71から出力
する。
+1加算回路32はアドレス線71から入力したアドレス
に“1"を加算してアドレス線73に出力する。
次に、選択回路24はアドレスレジスタ19が連続するア
ドレスを次々とベクトルレジスタ15に指示できるよう、
アドレス線73の入力を選択するように制御される。この
時、アドレス線70からは、アドレスレジスタ19の持つ値
に“1"を加算した値が出力されるため、アドレスレジス
タ19は初期値に対して次々に“1"を加算した値をとる。
ベクトルレジスタ15では、初期にソフトウェアで考え
られた初期値で示されるアドレスからの連続領域に、デ
ータ線72から入力されるデータを図示しない制御回路の
制御により書込んでいく。
以上の動作により、ベクトルレジスタ11にセットされ
たアドレスポインタに従って主記憶装置10上のデータを
ベクトルレジスタ15に読出すことができる。もしも、ベ
クトルレジスタ11に同一のアドレスを持つ要素が2つ以
上存在する場合、後から読出したデータにはメモリ不存
ビットがセットされており、以前に同一のアドレスに対
して読出しを行なったことが容易に判断できる。
次に、アドレスポインタを格納するベクトルレジスタ
11に主記憶装置10から読出したデータのあるレジスタア
ドレスをセットする手順について説明する。主記憶装置
10からの読出しデータは、連続するレジスタアドレスに
格納されているものとする。
レジスタアドレスの初期値はソフトウェアによって与
えられ、アドレス線74を通じて選択回路24に入力され
る。選択回路24は、アドレス線74の入力を選択し、アド
レス線70からアドレスレジスタ19に対して出力するよう
制御される。アドレスレジスタ19はアドレス線70から入
力したアドレスを一旦格納してアドレス線71から出力す
る。
一方、ベクトルレジスタ11は要素番号“0"から順番に
データを読出し、データ線50を通じて選択回路26にデー
タを供給する。選択回路26はデータ線50の入力をデータ
線54を通じてベクトル演算回路16に出力するように制御
される。
選択回路27はデータ線51,67,アドレス線71を入力と
し、図示しない制御回路によってこれ等入力のいずれか
の入力をデータ線55に出力するが、この時はアドレス線
71の入力をデータ線55を通じてベクトル演算回路16に出
力するように制御される。
ベクトル演算回路16はデータ線54から入力されるアド
レスポインタ中のレジスタアドレス領域をデータ線55か
ら入力されるレジスタアドレスに差換える動作を行な
う。また、この時同時に、アドレスポインタ中のRA有効
ビットをセットし、アドレス重複ビットをリセットす
る。
ベクトル演算回路16から出力されたデータはデータ線
58を通して選択回路20に入力される。選択回路20はデー
タ線58〜60,65を入力とし、これ等入力のいずれか1つ
のデータを選択してデータ線66から出力するが、この時
はデータ線58の入力を選択してデータ線66に出力するよ
うに制御される。
ベクトルレジスタ11は先程説明した要素番号“0"から
のデータの読出しと並行して、選択回路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"
の立っている要素番号に対応するベクトルレジスタ11の
要素を別のベクトルレジスタ、例えばベクトルレジスタ
12の0番目の要素から詰めて格納する。この動作につい
ても、既に公知の技術であるため、これ以上の説明は加
えない。
この後、ベクトルレジスタ12の内容をスカラレジスタ
に読出して、重複しているアドレスの内容を調べる。こ
こで3つ以上のアドレスが重複している場合には、スカ
ラレジスタに同一のアドレスが2つ以上読込まれる場合
もあるが、一般に、リストベクトル処理でアドレスが重
複するようなケースは稀であるため、スカラでの処理は
全体の処理時間と比較して無視し得る程小さい。
次に、主記憶装置上のアドレスが重複している要素に
ついて、正しいレジスタアドレスをセットし直す手順に
ついて説明する。今までの説明により、主記憶装置上の
重複しているアドレスをスカラレジスタ上に得た。従っ
て、この重複しているアドレスを持つ要素をサーチし
て、そのレジスタアドレスを書換える処理を行なう。
まず最初にアドレスポインタを格納してあるベクトル
レジスタ11の各要素を図示しない制御回路の制御によ
り、要素番号の0番目から順番にデータ線50を通じて選
択回路26に出力する。選択回路26はデータ線50の入力を
データ線54を通してベクトル演算回路16に出力するよう
制御される。
一方、比較対象となるアドレスは、アドレス線74を通
して選択回路24に入力される。選択回路24は、アドレス
線74を選択し、アドレス線70を通してアドレスレジスタ
19に出力する。アドレスレジスタ19はアドレス線70を通
して入力したアドレスを一旦格納し、アドレス線71を通
して選択回路27に出力する。選択回路27はアドレス線71
を選択し、データ線55を通してベクトル演算回路16に出
力する。
第3図は第1図のベクトル演算回路16のうち説明に必
要な部分のみを抜出した回路図である。101〜105はレジ
スタ、106はアドレス比較器、107,109は選択回路、108
はアンドゲートである。
データ線54から入力されたアドレスポインタはレジス
タ101に、またデータ線55から入力された比較アドレス
はレジスタ102に夫々一旦格納される。次に、レジスタ1
01及び102の中の主記憶装置上のアドレスを格納した部
分が、夫々データ線122,123を通して比較器106に入力さ
れる。
比較器106では、データ線122,123を通して入力された
データを比較し、一致していれば制御線124に“1"を出
力する。レジスタ105はこの処理が始まった時には値
“0"を保持しているが、比較器106が制御線124に“1"を
出力するとこのデータ“1"を入力し、処理が終了するま
で値“1"を保持する。
次に、レジスタ101の中のレジスタアドレスを格納し
た部分がデータ線121を通してレジスタ104に入力され
る。レジスタ104はレジスタ105の値が“0"の時はデータ
線121から入力されるデータを常時書込んでいるが、レ
ジスタ105の値が“1"となり、制御線125に“1"が出力さ
れると、現在の値を保持するよう制御される。
すなわち、レジスタ104に保持されるのは、主記憶装
置上のアドレスが最初に一致した時のレジスタアドレス
である。このアドレス一致が起こる時まで、レジスタ10
1の内容はデータ線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"の時には、データ線1
26,129のデータを選択してデータ線127,130に出力す
る。データ線129には、RA有効、アドレス重複有の各ビ
ットに“1"がセットされている。すなわち、二度目以降
のアドレス一致を検出すると、レジスタアドレスを一度
目のアドレス一致検出時のレジスタアドレスに差換え、
アドレス重複有ビットのセットという動作をする。
レジスタ103にセットされたアドレスポインタはデー
タ線58を通して第1図の選択回路20に入力される。選択
回路20は、データ線58を選択し、データ線66を通してベ
クトルレジスタ11に出力する。ベクトルレジスタ11で
は、データ線66を通して入力したデータを図示しない制
御回路の制御により要素番号“0"から順番に書き込んで
いく。
以上の動作をベクトルレジスタ11の全要素について行
なうことにより、重複しているアドレスの1つ分のレジ
スタアドレス書換えが完了する。従って、重複している
アドレスが複数個ある場合は、その個数分だけ上記の動
作を繰返す必要がある。
次に、リストベクトルを使ってデータを読出す手順に
ついて説明する。ベクトルレジスタ11には、前に説明し
たアドレスポインタが格納されているものとする。アド
レスポインタの指すデータがベクトルレジスタ上にある
場合は、ベクトルレジスタからデータを読出し、ベクト
ルレジスタ上に無い場合は、主記憶装置10からデータを
読出し、ベクトル演算回路17に読出したデータを供給す
る。
先ず最初に、ベクトルレジスタ11の要素番号“0"から
順番にデータを読出し、データ線50を通して選択回路26
にデータを供給する。選択回路26はデータ線50の入力を
選択し、データ線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を通してアドレスレジスタ18に出力される。
アドレスレジスタ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に出力するよう制御
される。
ベクトル演算回路16はデータ線54とデータ線55を入力
として演算を行ない、結果をデータ線58に出力する。こ
の時、データ線54から入力したデータのRA有効ビットが
“1"であれば、データ線58にレジスタアドレスを出力す
るとともに、図示しない制御回路によってベクトルレジ
スタの書込みを指示する。データ線55の入力は無視す
る。
データ線58に出力されたレジスタアドレスは選択回路
24に入力される。選択回路24はデータ線58の入力を選択
し、アドレス線70を通してアドレスレジスタ19に出力す
る。アドレスレジスタ19はアドレス線70からデータを入
力し、一旦格納した後、アドレス線71にレジスタの内容
を出力する。ベクトル演算回路17によって演算された結
果はデータ線59から出力される。選択回路25はデータ線
59を選択し、データ線72を通してベクトルレジスタ15に
出力する。
ベクトルレジスタ15では、アドレス線71からアドレス
を入力し、データ線72からデータを入力するとともに、
図示しない制御回路により書込みモードに設定され、指
示されたアドレスにデータ線72から入力したデータを書
込む。
次に、データ線54からベクトル演算回路16に入力した
アドレスポインタのRA有効ビットが“0"の時は、データ
線58に主記憶装置上のアドレスを出力するとともに、図
示しない制御回路によって、主記憶装置の書込みを指示
する。
データ線58に出力されたアドレスは選択回路30に入力
される。選択回路30はデータ線58の入力を選択し、デー
タ線61を通してアドレスレジスタ18に出力する。アドレ
スレジスタ18はデータ線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を通してアドレスレジスタ19に出力す
る。アドレスレジスタ19はアドレス線70からデータを入
力し、一旦格納した後アドレス線71にレジスタの内容を
出力する。
ベクトルレジスタ15はアドレス線71からアドレスを入
力するとともに、図示しない制御回路によって読出しモ
ードに設定され、指定されたアドレスの内容をデータ線
60を通して出力する。選択回路30はデータ線60の入力を
選択し、データ線61を通して選択回路31に出力する。選
択回路31はデータ線61の入力を選択し、データ線64を通
して主記憶装置10に出力する。
主記憶装置10はアドレス線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を通してベクトルレジ
スタ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"のマ
スクデータを生成する。上記以外のケースでは“0"のマ
スクデータを生成する。
第4図にベクトル演算回路16の一部のブロック図を示
す。第4図において201〜202はレジスタ、203はマスク
レジスタ、204はマスクレジスタへの書込みポインタ、2
05はマスクレジスタからの読出しポインタ、206は比較
器、207はオアゲート、208〜209は+1加算器である。
データ線54,55から入力されたデータは一旦レジスタ2
01,202に格納される。レジスタ201,202中の主記憶装置
アドレス領域は夫々データ線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)

    (57)【特許請求の範囲】
  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 JPH04127366A (ja) 1992-04-28
JP2716254B2 true 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)

Families Citing this family (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
JPH04127366A (ja) 1992-04-28

Similar Documents

Publication Publication Date Title
US5307471A (en) Memory controller for sub-memory unit such as disk drives
JP2716254B2 (ja) リストベクトル処理装置
JP3281211B2 (ja) 同期式メモリを有する情報処理装置および同期式メモリ
JP2798492B2 (ja) リストベクトル処理装置
JPH0877143A (ja) ベクトルデータ処理装置
JP3145545B2 (ja) メモリアクセス装置
JP3190847B2 (ja) データ転送制御装置
JP3132566B2 (ja) 命令先行制御装置
JPH0520350A (ja) ベクトル処理装置
JPS6240736B2 (ja)
JP2524376B2 (ja) 命令フェッチ方式
JP3009168B2 (ja) データ処理装置
JPH03100751A (ja) 入出力処理装置
JPS6214919B2 (ja)
JPH0823820B2 (ja) アドレス・オーバラップ・チェック処理装置
JPS63239521A (ja) 磁気テ−プ装置のデ−タ処理方式
JP2842024B2 (ja) レジスタファイル回路
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH04125747A (ja) キャッシュメモリ制御装置
JP2864548B2 (ja) 命令キャッシュ装置
JP2506591B2 (ja) 補助処理装置
JP2735400B2 (ja) 非同期入出力制御方式
JPH0364903B2 (ja)
JPS60178540A (ja) 情報処理装置におけるバイパス制御方式
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040119

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110206

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20120206

LAPS Cancellation because of no payment of annual fees