JPH0812661B2 - 命令処理順序制御システム - Google Patents

命令処理順序制御システム

Info

Publication number
JPH0812661B2
JPH0812661B2 JP8280989A JP8280989A JPH0812661B2 JP H0812661 B2 JPH0812661 B2 JP H0812661B2 JP 8280989 A JP8280989 A JP 8280989A JP 8280989 A JP8280989 A JP 8280989A JP H0812661 B2 JPH0812661 B2 JP H0812661B2
Authority
JP
Japan
Prior art keywords
instruction
vector
main memory
store
load
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
JP8280989A
Other languages
English (en)
Other versions
JPH0228765A (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.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP8280989A priority Critical patent/JPH0812661B2/ja
Publication of JPH0228765A publication Critical patent/JPH0228765A/ja
Publication of JPH0812661B2 publication Critical patent/JPH0812661B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル計算機において、プログラムで指
定された命令実行順序によらず命令を発行,実行する命
令処理順序制御システムに関する。
〔従来の技術〕
命令処理の高速化のため、命令処理順序を動的に決定
しプログラムで指定された順序によらず演算部および主
記憶処理部に命令投入を行うシステムがスカラ処理用計
算機で用いられている。この詳細は、IBM社から1967年
1月発行された刊行物「IBM Journal of Research & D
evelo−pment」第11巻,第1号の第8頁−第24頁にD.W.
Anderson et,al.により「The IBM System 1360 Model 9
1:Machine Philosophy and Instruction−Handl−ing」
で記載された論文およびIEEEから1984年発行された刊行
物「11th Annual International Sy−mposium on Compu
ter」の第110頁−第118頁にS.Weiss et,alにより「INST
RUCTION ISSUE LOGIC FOR PIPELINED SUPERCOMPUTERS」
の題で示された論文を参照できる。
これら命令処理順序制御を行う計算機では、命令の入
出力オペランドやメモリ・アドレスの衝突を検出し、ま
た演算器や主記憶処理装置の使用状況を判定しプログラ
ムで指定された順序によらず演算部や主記憶処理部への
命令投入を決定する手段を有している。このような計算
機での命令投入方式は、スカラ計算機のみならずベクト
ル計算機にも適用可能である。しかし、ベクトル計算機
では複数のメモリ参照ベクトル命令を、プログラムで指
定された順序と逆順にして主記憶処理部に投入してもよ
いかの判定が困難である。即ち、プログラムで実行する
ことが指定されているベクトルストア命令のストア開始
起点アドレスをbase1、該ベクトルストア命令がストア
するベクトルの要素間距離をdist1、該ベクトルストア
命令がストアするベクトル長のlen1(1en1≧1)とし、
該ベクトルストア命令より後で実行することがプログラ
ムで指定されているベクトルロード命令のロード開始起
点アドレスをbase2、該ベクトルロード命令がロードす
るベクトルの要素間距離をdist2、該ベクトルロード命
令がロードするベクトル長をlen2(1en2≧1)とする
と、該ベクトルストア命令によってストアされるアドレ
スの集合である{base1,base1+dist1×1,base1+dist1
×2,…,base1+dist1×(len1−1)}と該ベクトルロ
ード命令によってロードされるアドレスの集合である
{base2,base2+dist2×1,base2+dist2×2,…,base2+
dist2×(len2−1)}との交わりの集合が空である場
合のみ、該ベクトルロード命令は該ベクトルストア命令
に先行して主記憶参照をおこなってもよいと判定され
る。しかし、任意のbase1,dist1,len1(len1≧1),bas
e2,dist2,len2(len2≧1)の組合せに対して判定を短
時間で下すのは困難である。
そこで単純に判定可能な場合として、先行するベクト
ルストア命令で指定されたストア開始起点アドレスbase
1から該ベクトルストア命令の最終ストアアドレスであ
るbase1×dist1×(len1−1)までの間をアドレス集合
要素とする{add1:base1≦add1≦(base1×dist1×(le
n1−1))}と、後続するベクトルロード命令で指定さ
れたロード開始起点アドレスbase2から該ベクトルロー
ド命令の最終ストアアドレスであるbase2+(len2−
1)×dist2までの間をアドレス集合要素とする{add2:
base2≦add2≦(base2×dist2×(len2−1))}との
交わりの集合が空であるならば主記憶参照に関して追い
越しても構わないとする、アドレス範囲の重複を判定す
る方法が提案されている。
〔発明が解決しようとする課題〕
この方法では、比較的簡単に実現できる反面、追越し
可能かどうかを正しく判定できるbase1,dist1,len1(le
n1≧1),base2,dist2,len2(len2≧1)の組合せも限
定される。即ち、プログラムで実行することが指定され
ているベクトルストア命令のストア開始起点アドレスを
base1、該ベクトルストア命令がストアするベクトルの
要素間距離をdist1、該ベクトルストア命令がストアす
るベクトル長をlen1(len1≧1)、該ベクトルストア命
令でストアされる最終ベクトル要素のアドレスをlast1
とし、該ベクトルストア命令より後で実行することがプ
ログラムで指定されているベクトルロード命令のロード
開始起点アドレスをbase2、該ベクトルロード命令がロ
ードするベクトルの要素間距離をdist2、該ベクトルロ
ード命令がロードするベクトル長をlen2(len2≧1)、
該ベクトルロード命令でロードされる最終ベクトル要素
のアドレスをlast2とした場合、前述したアドレス範囲
と重複を判定する方法では、base1,last1,base2,last2
のアドレスの順序関係24通りのなかで、高々8通り、 (base1≦last1≦base2≦last2) (base1≦last1≦last2≦base2) (last1≦base1≦base2≦last2) (last1≦base1≦last2≦base2) (base2≦last2≦base1≦last1) (last2≦bast2≦base1≦last1) (base2≦last2≦last1≦base1) (last2≦base2≦last1≦base1) の場合しか正しく判定できないという欠点を有してい
る。
本発明の目的は、上述した欠点を除去し、主記憶参照
に関し命令の順序を追い越してもかまわないとする判定
を、より多くのbase1,dist1,len1,base2,dist2,len2の
組合せに対して短時間で行えることようにした命令処理
順序制御システムを提供することにある。
〔課題を解決するための手段〕
本発明の一態様に従ったシステムは、ベクトル演算器
および主記憶処理装置へ投入する命令群を保持する第1
の手段と、実行中の命令により使用されているベクトル
レジスタ、演算器、主記憶装置の状態を保持する第2の
手段と、該第1の手段により保持されている命令群から
該第2の手段により保持されている各種資源の状態に基
づきプログラムで指定された命令投入順序によらずベク
トル演算器および主記憶処理装置に投入する命令を決定
する第3の手段を備え、該第1の手段により保持されて
いる命令群中のベクトルストア命令と、該ベクトルスト
ア命令よりも後から命令投入することをプログラムで指
定された該第1の手段により保持されている命令群中の
ベクトルロード命令に関し、該ベクトルストア命令で指
定されたベクトル要素間距離の大きさと該ベクトルロー
ド命令で指定されたベクトル要素間距離の大きさが等し
く、かつ、該ベクトルストア命令で指定されたストア開
始起点アドレスと該ベクトルロード命令で指定されたロ
ード命令で指定されたロード開始起点アドレスが等しく
なく、かつ、該ベクトルストア命令で指定されたストア
開始起点アドレスと該ベクトルロード命令で指定された
ロード命令で指定されたロード開始起点アドレスの差の
大きさが該ベクトルロード命令で指定されたベクトル要
素間距離の大きさよりも小さい場合に、該ベクトルロー
ド命令を該ベクトルストア命令に先行してベクトル演算
器および主記憶処理装置に投入する手段を含んで構成さ
れる。
〔実施例〕
次に本発明の一実施例について図面を参照して詳細に
説明する。
第1図を参照すると、本発明の一実施例は、プログラ
ムを記憶するプログラム保持部1,このプログラム保持部
1からの複数の命令1および2を投入待機のため格納す
る命令格納部2,複数のベクトルレジスタと1個以上の演
算器からなるベクトル演算器部5,主記憶装置へのアクセ
スを制御する主記憶参照処理部6,実行中の命令により使
用されている前記ベクトルレジスタ,演算器および主記
憶装置の状態を保持する状態保持部3,および前記命令格
納部2からの命令および前記状態保持部3からの各種資
源の状態に基づきプログラムで指定された命令投入順序
によらず前記ベクトル演算器5および主記憶参照処理部
6に投入する命令を決定する命令処理順決定部4を含
む。
命令格納部2は、空きが生ずる度、プログラムで指定
された順序に従い、後続命令を格納する。命令格納部2
は、例えば、「命令1」と「命令2」との2個の命令を
保持し、プログラムで指定された順序上先行する命令が
「命令1」に、後続する命令が「命令2」に保持するよ
うに保たれる。
命令処理順決定部4は、主記憶参照論理競合チェック
部9,レジスタ参照論理競合チェック部8および命令投入
決定部7を含む。
第2図を参照すると、主記憶参照の論理競合チェック
部9は、命令1のベクトルアクセス開始起点アドレス
(base1)を格納するレジスタ21と、命令2のベクトル
アクセス開始起点のアドレス(base2)を格納するレジ
スタ22と、命令1のベクトルアクセスする要素間距離
(dist1)を格納するレジスタ23と、命令2のベクトル
アクセスする要素間距離(dist2)を格納するレジスタ2
4と、減算回路25と、絶対値回路26と、絶対値回路27
と、絶対値回路28と、不等号関係が成立するかどうかを
判定する比較器29と、大なり関係が成立するかどうかを
判定する比較器30と、等号関係が成立するかどうかを判
定する比較器31と入力論理積32から構成される。
第7図を参照すると、レジスタ参照論理競合チェック
部8は、先行命令である命令1の書込レジスタ番号71と
後続命令である命令2の書込レジスタ番号74とを比較
し、不一致のとき信号を出力する比較回路77,先行命令
である命令1の書込レジスタ番号71と後続命令である命
令2の第2の読出レジスタ番号76とを比較し不一致のと
き信号を出力する比較回路78,先行命令である命令1の
書込レジスタ番号71と後続命令である命令2の第1の読
出レジスタ番号75とを比較し不一致のとき信号を出力す
る比較回路79,先行命令である命令1の第1の読出レジ
スタ番号72と後続命令である命令2の書込レジスタ番号
74とを比較する比較回路80,先行命令である命令1の第
2の読出レジスタ番号73と後続命令である命令2の書込
レジスタ番号74とを比較する比較回路81,およびこれら
比較回路77−81からの出力の論理積をとるアンドゲート
82を含む。
「命令追越しが可能」であるためには、基本的に次の
3条件を全て満足しなければならない。
第1に、先行命令の実行結果を格納するレジスタの内
容を後続命令が読出してはならない。
第2に、先行命令の読出対象となるレジスタに対し、
後続命令が書込動作を行なってはならない。
第3に、先行命令および後続命令の書込レジスタが同
一レジスタであってはならない。
第7図に示すレズシタ参照論理競合チェック部8はこ
れら3つの条件を示す回路の一例であり、アンドゲート
82の出力が論理“0"ならば追越禁止を示し、“1"ならば
追越可能を示す。
このチェック部8の構成は、先行命令の読出レズシタ
の内容を予めコピーすることで第2の条件を取り除くこ
とが可能である。すなわち、後続命令の追越し実行に先
立って、先行命令が読出すレジスタの内容をバッファリ
ングする。この場合、先行命令が読出すはずであったレ
ジスタに後続命令が書込を行なったとしても、予めバッ
ファリングしておいた値を先行命令の読出レジスタの値
として用いることにより、先行命令を正しく実行させる
ことができる。
次に命令投入決定部7について詳細に説明する。
第8図を参照すると、命令投入決定部7の主要部の1
つである命令投入可否信号生成回路は、先行命令と後続
命令のそれぞれに対して構成される。各回路は、命令コ
ードを解読するデコーダ83,書込レジスタ番号を解読す
るデコーダ84,第1の読出レジスタ番号を解読するデコ
ーダ85,第2の読出レジスタ番号を解読するデコーダ86,
これらデコード83−86の解読結果と第1図の状態保持部
3から線14を介してビジーか否かを示す状態信号との論
理積をとるアンドゲート群87−101およびこれらアンド
ゲート群87−101の出力の論理和をとるオアゲート102を
含む。
この命令投入可否信号生成回路は、1つの命令に対し
て投入(実行)可能かどうかを判定する回路である。状
態保持部3から線14を介してビジーか否かを示す信号
は、主記憶アクセスパス,加算器,乗算器,およびレジ
スタ(VR0〜VR3)に対するもののみである。しかしこの
信号の種類はこれに限定されず、ベクトル演算器部5お
よび主記憶参照処理部6の構成に依存する。ここでは、
説明の便宜上、最低限必要とされるチェック信号が示さ
れている。
デコーダ83は、命令コードの値に対応して、以下の第
1表のような出力信号を生成する。
また、デコーダ84−86は、レジスタ番号の値に対応し
て、第2表に示す出力信号を生成する。
次に、第4図に示すプログラム例を用いて作用を説明
する。
第4図を参照すると、「VLOAD」はベクトルロードの
命令コード、「VADD」はベクトル加算の命令コード、
「VSTORE」はベクトルストアの命令コード、「VMULT」
はベクトル乗算の命令コードを示している。また、「VR
0」から「VR3」は命令オペランドのベクトルレジスタを
示し、各々のベクトルレジスタは256個のベクトル要素
を格納できるものとする。(a,b,c)の3つ組で示した
命令オペランドは、ベクトルロード/ストア命令の主記
憶オペランドランドを示し、aはベクトルアクセスする
開始起点アドレス、bはベクトル要素間距離、cはベク
トル長を示す。例えば第1番目の命令「VLOAD VR0←(b
ase,5,256)」は、baseをメモリの開始起点アドレス、
ベクトル要素間距離5、ベクトル長256のベクトル要素
を、ベクトルレジスタVR0にロードする命令であること
を示している。
次に第4図で示したプログラムの主記憶参照に関する
順序性を第5図を用いて説明する。第5A図は第4図の1
番目の命令と2番目の主記憶アクセス命令が参照するメ
モリアドレスを示している。1番目の命令も2番目の命
令もベクトルロードであり、かつ、ベクトルレジスタの
競合もないため、この場合、プログラムで与えられた順
序に従い実行される。次に、1番目の命令と2番目の命
令が実行開始されると、3番目のベクトル加算命令がベ
クトル・レジスタV0とV1に被演算対象にロードされるの
に同期して実行に移されるが、該加算命令の実行結果を
主記憶装置に書き込む4番目のベクトルストア命令は、
該加算命令の演算結果がVR0に書き込み開始されるまで
実行に移れない。一方、5番目のベクトルロード命令は
第5B図に示すように、4番目のベクトルストア命令がス
トアした結果をロードするのではないため、4番目のベ
クトルストア命令に先行して実行を開始することが可能
である。
本発明はこの4番目のベクトルストア命令を5番目の
ベクトルロード命令が主記憶参照に関して追い越しても
かまわないことを判定するものであり、本発明を用いれ
ば、4番目のベクトルストア命令と5番目のベクトルロ
ード命令のベクトル要素間距離の大きさが等しく(いず
れも|5|)、かつ、4番目のベクトルストア命令のスト
ア開始起点アドレス(base)と5番目のベクトルロード
命令のロード開始起点アドレス(base+2)が等しくな
く、かつ、該ベクトルストア命令のストア開始起点アド
レスと該ベクトルロード命令のロード開始起点アドレス
の差の大きさ(|base1+2−base1|すなわち2)が4番
目のベクトルストア命令の要素間距離の大きさ(|5|す
なわち5)よりも小さいため、追越し可能と判定するこ
とができる。
これに基づいて、命令投入決定部7について詳細に説
明する。
以下、実際の命令に対応して説明する。
・VLOAD VR0←(base,dist,len)命令コードはVLOAD
であり、現在主記憶アクセスパスがBUSYであれば命令投
入することは出来ない。また、書込レジスタ番号はVR0
であり、現在VR0が読みだしBUSYであれば本命令を投入
することは出来ない。
・VSTORE VR1→(base,dist,len)命令コードはVSTOR
Eであり、現在主記憶アクセスパスがBUSYであれば命令
投入することは出来ない。また、読出レジスタ番号はVR
1であり、現在VR1が書込BUSYであれば本命令を投入する
ことは出来ない。
・VMULT VR2←VR0,VR1 命令コードはVMULTであり、現在乗算器がBUSYであれば
命令投入することは出来ない。また、書込レジスタ番号
はVR2であり、現在VR2が読出BUSYであれば本命令を投入
することは出来ない。さらに、読出レジスタはVR0及びV
R1であり、何れのレジスタが現在書込ビジーであっても
本命令を投入することは出来ない。
以上の3例に対し、第8図の生成回路では、これから
投入しようとする命令が使用する予定のハードウェア資
源を既に投入された実行中の命令が使用しているかどう
かをチェックするための回路である。
第1図を参照すると、命令投入部7の最終的な判定
は、線16を介して与えられる主記憶参照論理競合チェッ
ク部9の判定結果と、線15を介して与えられるレジスタ
参照論理競合チェック部8の判定結果と、先行/後続命
令に対応して設けられた第8図の生成回路の判定結果を
総合して行う。
これらの関係は第3表に示される。
次に本発明の一実施例の動作を説明する前に命令の実
行状態と各種ビジー信号との関係について第9図および
第10図を参照して詳細に説明する。
まず、命令の実行状態について説明する。
第9図を参照すると、VLOAD,VADD,VMULT,およびVSTOR
E等の命令の実行状態は平行四辺形で示されている。こ
の図形の意味を第10図を用いて説明する。
ベクトル演算においては主記憶参照/演算等の処理を
パイプライン方式で処理する。このため、ベクトルの第
1要素、第2要素、第3要素、…は互いにパイプライン
的に同時に処理されていく。平行四辺形における斜辺
が、この各1要素に対する処理の時間的な経過を示して
いる。平行四辺形の横辺は、順次、ベクトルの新しい要
素の処理が進んでいくことを示している。
各ベクトル要素に対する処理をベクトルロードを例と
して説明すれば、アドレス生成、主記憶アクセス、ベク
トルレジスタへの読出データの格納である。
各ベクトル要素に対する処理をベクトル演算(VADD,V
MULT)を例として説明すれば、ベクトルレジスタからの
読出、演算、ベクトルレジスタへの演算結果の格納であ
る。
次に、各種ビジー信号の状態変化を説明する。
第9図を参照すると、実線で示されたビジー信号は、
ビジー信号のオン状態を示す。ビジー信号上の番号は、
実行中の命令のどの命令によりビジー状態となっている
かを示す。
例として、1番目の命令(VLOAD VR0←(base,5,25
6))について説明する。本命令が実行待機キューから
取り出され実際の実行が開始されると、主記憶アクセス
パスとVR0への書き込みがビジーとなる。ビジーが解除
される時期は、主記憶アクセスパスビジーとVR0書き込
みビジーでは異なる。主記憶アクセスパスについては後
続するVLOAD/VSTORE命令が主記憶アクセスパスを利用可
能となる直前までであり、VR0レジスタ書き込みビジー
については、後続してVR0を読みだそうとする命令が実
際に読出可能となる直前までである。
このビジー信号の種類とビジー信号が解除されるタイ
ミングの設定はペクトル演算器部、主記憶処理部の構成
方法によって異なるが、本実施例では各ベクトルレジス
タに対する読出しは、複数の命令からの読出要求に対し
て同時処理可能であることを仮定している。
次に本発明の一実施例の動作について第4図のプログ
ラム例を用い、第1図、第2図、第6図および第9図を
参照して詳細に説明しよう。
第1図,第2図,第6図および第9図を参照すると、
先ず、初期状態(第9図の時刻t0)での実行待機キュー
2の状態は、命令1としてプログラムの1番目のベクト
ルロード命令、命令2としてプログラムの2番目のベク
トルロード命令がセットされる(第6図(a)の状
態)。レジスタ参照の論理競合チェック部8はプログラ
ム上先行する命令1が書き込みレジスタをプログラム上
後続する命令2が読み出し参照を行わず、かつ命令2が
書き込み参照を行うレジスタを命令1が読み出し参照し
ないため、追越し可能であることを命令投入決定部7に
通知する。主記憶参照の論理競合チェック部9は第2図
の回路に従い、命令1の主記憶参照開始起点アドレスba
se1と命令2の主記憶参照開始起点アドレスbase2が等し
くなく、かつ、命令1のベクトル参照要素間距離の大き
さと命令2の主記憶参照要素間距離の大きさが等しくな
く、かつ、命令1の主記憶参照開始起点アドレスbase1
と命令2の主記憶参照開始起点アドレスbase2の差の大
きさが命令1のベクトル参照要素間距離の大きさより小
さいために追越し可能であることを命令投入決定部7に
通知する。命令投入決定部7は状態保持部3からの信号
により実行中の命令が使用しているレジスタ及び演算器
及び主記憶処理部と、命令1が競合しないこと、命令2
も競合しないことを判定する。従って、命令1も命令2
も投入可能であり、かつ、命令1と命令2の間にも論理
的な順序関係がないと判定されたため、命令1の番目の
命令であるベクトルロード命令を投入する(第9図時刻
t1)。
次に、次状態での実行待機キュー2の状態は、命令1
としてプログラムの2番目のベクトルロード命令、命令
2としてプログラムの3番目のベクトル加算命令がセッ
トされる。(第6図(b)の状態)。レジスタ参照の論
理競合チェック部8はプログラム上先行する命令1が書
き込むレジスタをプログラム上後続する命令2が読みだ
し参照を行うため、追越し不能であることを命令投入決
定部7に通知する。主記憶参照の論理競合チェック部9
は命令3が主記憶参照を行わないため判定を行わない。
命令投入決定部7は、レジスタの論理競合チェック部8
からの信号により命令1と命令2の間の追越しは認めら
れないため、状態保持部3からの信号に従い主記憶参照
処理部6が次命令の処理可能となるタイミングで命令1
の2番目の命令であるベクトルロード命令を投入する
(第9図の時刻t2)。
次に、次状態での実行待機キュー2の状態は、命令1
としてプログラムの3番目のベクトル加算命令、命令2
としてプログラムの4番目のベクトルストア命令がセッ
トされる(第6図(c)の状態)。レジスタ参照の論理
競合チェック部8はプログラム上先行する命令1が書き
込むレジスタをプログラム上後続する命令2が読みだし
参照を行うため、追越し不能であることを命令投入決定
部7に通知する。主記憶参照の論理競合チェック部9は
命令1が主記憶参照を行なわないため判定を行わない。
命令投入決定部7は、レジスタの論理競合チェック部8
からの信号により命令1と命令2の間の追越しは認めら
れないため、状態保持部3からの信号でベクトルレジス
タVR0とVR1が読みだし可能となるタイミングで命令1の
3番目の命令であるベクトル加算命令を投入する(第9
図の時刻t3)。
次に、次状態での実行待機キュー2の状態は、命令1
としてプログラムの4番目のベクトルストア命令、命令
2としてプログラムの5番目のベクトルロード命令がセ
ットされる(第6図(d)の状態)。レジスタ参照の論
理競合チェック部8はプログラム上先行する命令1が書
き込むレジスタをプログラム上後続する命令2が読みだ
し参照を行わず、かつ命令2が書き込み参照を行うレジ
スタを命令1が読みだし参照しないため、追越し可能で
あることを命令投入決定部7に通知する。主記憶参照の
論理競合チェック部9は第2図の回路に従い、命令1の
主記憶参照開始起点アドレスbase1と命令2の主記憶参
照開始起点アドレスbase2が等しくなく、かつ、命令1
のベクトル参照要素間距離の大きさと命令2の主記憶参
照要素間距離の大きさが等しくなく、かつ、命令1の主
記憶参照開始起点のアドレスbase1と命令2の主記憶参
照開始起点アドレスbase2の差の大きさが命令1のベク
トル参照要素間距離の大きさより小さいため追越し可能
であることを命令投入決定部7に通知する。命令投入決
定部7は、状態保持部3からの信号により命令1のベク
トルストア命令は前状態で投入した3番目のベクトル加
算命令の処理結果がベクトルレジスタVR0に書き込み開
始されるまで投入できず、かつ、命令2は命令1を追越
し可能であるため、命令2の5番目のベクトルロード命
令を投入する(第9図の時刻t4)。
次に、次状態での実行待機キュー2の状態は、命令1
としてプログラムの4番目のベクトルストア命令、命令
2としてプログラムの6番目のベクトルロード命令がセ
ットされる(第6図(e)の状態)。この時点では先に
実行投入した3番目のベクトル加算命令の演算結果はベ
クトルレジスタVR0に書き込み開始されているものとし
よう。レジスタ参照の論理競合チェック部8はプログラ
ム上先行する命令1が書き込むレジスタをプログラム上
後続する命令2が読みだし参照を行わず、かつ命令2が
書き込み参照を行うレジスタを命令1が読みだし参照し
ないため、追越し可能であることを命令投入決定部7に
通知する。主記憶参照の論理競合チェック部9は第2図
の回路に従い、命令1の主記憶参照開始起点アドレスba
se1と命令2の主記憶参照開始起点アドレスbase2が等し
くなく、かつ、命令1のベクトル参照要素間距離の大き
さと命令2の主記憶参照要素間距離の大きさが等しくな
く、かつ、命令1の主記憶参照開始起点のアドレスbase
1と命令2の主記憶参照開始起点アドレスbase2の差と大
きさが命令1のベクトル参照要素間距離の大きさより小
さいため追越し可能であることを命令投入決定部7に通
知する。命令投入決定部7は、状態保持部3からの信号
により実行中の命令が使用しているレジスタ及び演算器
及び主記憶処理部と、命令1が競合しないことと、命令
2も競合しないことを判定する。従って命令1も命令2
も投入可能であり、かつ、命令1と命令2の間にも論理
的な順序関係がないと判定されたため、命令1の4番目
の命令であるベクトルストア命令投入する(第9図の時
刻t5)。
以降も同様な手順を経て実行待機キュー2の状態は第
6図(f)、第6図(g)と状態を変えていく。
本実施例は上記に説明したように、はすかい関係にあ
る2個のベクトル主記憶参照関係の論理的追越し可能性
を判定するものであるが、命令待機キュー2のエントリ
数を3以上にすることも可能である。さらに、本実施例
ではベクトル・ストア命令をベクトル・ロード命令が追
越す動作例を示したが、ベクトル・ストア命令間、ベク
トル・ロード命令間、ベクトル・ロード命令をベクトル
・ストア命令が追越す場合などにも適用できる。
また、主記憶参照の論理競合チェック部9において、
先行するベクトルストア命令で指定されたストア開始起
点アドレスbase1から該ベクトルストア命令の最終スト
アアドレスであるbase1×dist1×(len1−1)までの間
をアドレス集合要素とする{add1:base1≦add1≧(base
1×dist1×(len1−1))}と、後続するベクトルロー
ド命令で指定されたロード開始起点アドレスbase2から
該ベクトルロード命令の最終ストアアドレスであるbase
2+len2−1)×dist2までの間をアドレス集合要素とす
る{add2:base2≦add2≧(base2×dist2×(len2−
1))}との交わりの集合が空であるならば主記憶参照
に関して追越しても構わないと判定する回路を併設する
ことにより、アドレスのはすかい関係と重複関係の両方
の判定を行うことも可能である。
アドレスの重複関係を判定する場合の主記憶参照の論
理競合チェック部9の他の1例を第3図を参照して詳細
に説明する。
第3図を参照すると、主記憶参照の論理競合チェック
部9の他の例は、命令1のベクトルアクセスする開始起
点アドレス(base1)を格納するレジスタ33と、命令1
のベクトルアクセスするベクトル長(len1)を格納する
レジスタ34と、命令1のベクトルアクセスする要素間距
離(dist1)を格納するレジスタ35と、命令2のベクト
ルアクセスする開始起点アドレス(base2)を格納する
レジスタ36と、命令2のベクトルアクセスするベクトル
長(len2)を格納するレジスタ37と、命令2のベクトル
アクセスする要素間距離(dist2)を格納するレジスタ3
8と、加算器39と、乗算器40と、加算器41と、加算器42
と、乗算器43と、加算器44と、2×2のスイッチング回
路45と、レジスタ46〜49と、大なり関係が成立するかど
うかを判定する比較器50と、小なり関係が成立するかど
うかを判定する比較器51と、大なり関係が成立するかど
うかを判定する比較器52と、小なり関係が成立するかど
うかを判定する比較器53と、論理和回路54と、論理積回
路55と、論理和回路56と、はすかい関係の判定回路57
と、論理和回路58から構成される。
はすかい関係の判定回路57は第2図の回路と同じもの
である。また、2×2のスイッチング回路45は、命令1
のベクトルアクセスする要素間距離(dist1)を格納す
るレジスタ35の符号部が負数を示す場合にクロス状態に
接続し、命令1のベクトルアクセスする要素間距離(di
st1)を格納するレジスタ35の符号部が正数を示す場合
に交わらない状態に接続する。
本発明には、ベクトルストア命令と該ベクトルロード
命令にプログラム上で後続する該ベクトルストア命令と
ベクトル要素間距離が等しいベクトルロード命令が参照
する主記憶上のアドレスが、互いにはすかいになってお
り、かつ、該ベクトルストア命令と該ベクトルロード命
令がアクセスする開始起点アドレスが、該ベクトルスト
アのベクトル要素間距離の大きさ以上に離れていない場
合に、主記憶参照に関して追越し可能かどうかを正しく
判定する効果を有している。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図; 第2図および第3図は、第1図の主記憶参照論理競合チ
ェック部9の一例を示す図; 第4図は本発明の作用を説明するためのプログラム例を
示す図; 第5A図および第5B図は、ベクトルロード/ストア命令の
主記憶参照を示す図; 第6A図から第6G図は第1図の命令格納部2の命令格納状
態を示す図; 第7図は、レジスタ参照論理競合チェック部8の詳細な
構成を示す図; 第8図は、命令投入決定部7の一部の詳細な構成を示す
図; 第9図は、命令の実行状態および命令の実行に伴って変
化する各種ビジー信号の状態を示す図;および第10図は
命令の実行状態を示す図である。 図において、1……プログラム保持部、2……命令格納
部、3……状態保持部、4……命令処理順決定部、5…
…ベクトル演算器部、6……主記憶参照処理部、7……
命令投入決定部、8……レジスタ参照論理競合チェック
部、9……主記憶参照論理競合チェック部。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】1個以上のパイプライン化された演算器と
    複数のベクトルレジスタと該演算器と該ベクトルレジス
    タを結合するネットワークから構成されたベクトル演算
    器と、ベクトルを単位とするロード/ストアを主記憶装
    置の該ベクトルレジスタとの間で行う主記憶処理装置を
    備えるベクトル処理装置において、 ベクトル演算器および主記憶処理装置へ投入する命令群
    を保持する第1の手段と、 実行中の命令により使用されているベクトルレジスタ、
    演算器、主記憶装置の状態を保持する第2の手段と、 該第1の手段により保持されている命令群から該第2の
    手段により保持されている各種資源の状態に基づきプロ
    グラムで指定された命令投入順序によらずベクトル演算
    器および主記憶処理装置に投入する命令を決定する第3
    の手段を備え、 この第3の手段は、該第1の手段により保持されている
    命令群中のベクトルストア命令と、該ベクトルストア命
    令よりも後から命令投入することをプログラムで指定さ
    れた該第1の手段により保持されている命令群中のベク
    トルロード命令に関し、該ベクトルストア命令で指定さ
    れたベクトル要素間距離の大きさと該ベクトルロード命
    令で指定されたベクトル要素間距離の大きさが等しく、
    かつ、該ベクトルストア命令で指定されたストア開始起
    点アドレスと該ベクトルロード命令で指定されたロード
    命令で指定されたロード開始起点アドレスが等しくな
    く、かつ、該ベクトルストア命令で指定されたストア開
    始起点アドレスと該ベクトルロード命令で指定されたロ
    ード命令で指定されたロード開始起点アドレスの差の大
    きさが該ベクトルロード命令で指定されたベクトル要素
    間距離の大きさよりも小さい場合に、該ベクトルロード
    命令を該ベクトルストア命令に先行してベクトル演算器
    および主記憶処理装置へ投入する手段を持つことを特徴
    とする命令処理順序制御システム。
  2. 【請求項2】1個以上のパイプライン化された演算器と
    複数のベクトルレジスタと該演算器と該ベクトルレジス
    タを結合するネットワークから構成されたベクトル演算
    器と、ベクトルを単位とするロード/ストアを主記憶装
    置と該ベクトルレジスタとの間で行う主記憶処理装置を
    備えるベクトル処理装置において、 ベクトル演算器および主記憶処理装置へ投入する命令群
    を保持する第1の手段と、 実行中の命令により使用されているベクトルレジスタ、
    演算器、主記憶装置の状態を保持する第2の手段と、 該第1の手段により保持されている命令群から該第2の
    手段により保持されている各種資源の状態に基できプロ
    グラムで指定された命令投入順序によらずベクトル演算
    器および主記憶処理装置に投入する命令を決定する第3
    の手段を備え、 前記第3の手段は、該第1の手段により保持されている
    命令群中のベクトルストア命令と、該ベクトルストア命
    令よりも後から命令投入することをプログラムで指定さ
    れた該第1の手段により保持されている命令群中のベク
    トルロード命令に関し、該ベクトルストア命令によりス
    トアされるストア開始起点アドレスから該ベクトルスト
    ア命令によりストアされる最終ストア・アドレスまでの
    連続するアドレス区間と該ベクトルロード命令によりロ
    ードされるロード開始起点アドレスから該ベクトルロー
    ド命令によりロードされる最終ロード・アドレスまでの
    連続するアドレス区間とが交わらない場合にも、該ベク
    トルロード命令を該ベクトルストア命令に先行してベク
    トル演算器および主記憶処理装置に投入する手段を持つ
    ことを特徴とする請求項1記載の命令処理順序制御シス
    テム。
JP8280989A 1988-04-01 1989-03-31 命令処理順序制御システム Expired - Lifetime JPH0812661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8280989A JPH0812661B2 (ja) 1988-04-01 1989-03-31 命令処理順序制御システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8151988 1988-04-01
JP63-81519 1988-04-01
JP8280989A JPH0812661B2 (ja) 1988-04-01 1989-03-31 命令処理順序制御システム

Publications (2)

Publication Number Publication Date
JPH0228765A JPH0228765A (ja) 1990-01-30
JPH0812661B2 true JPH0812661B2 (ja) 1996-02-07

Family

ID=26422538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8280989A Expired - Lifetime JPH0812661B2 (ja) 1988-04-01 1989-03-31 命令処理順序制御システム

Country Status (1)

Country Link
JP (1) JPH0812661B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156112A (ja) * 2014-02-20 2015-08-27 日本電気株式会社 ベクトルプロセッサ、情報処理装置および追い越し制御方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205088A (ja) * 2009-03-04 2010-09-16 Nec Computertechno Ltd ベクトル処理装置、及びベクトル処理方法
GB2549737B (en) 2016-04-26 2019-05-08 Advanced Risc Mach Ltd An apparatus and method for managing address collisions when performing vector operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156112A (ja) * 2014-02-20 2015-08-27 日本電気株式会社 ベクトルプロセッサ、情報処理装置および追い越し制御方法

Also Published As

Publication number Publication date
JPH0228765A (ja) 1990-01-30

Similar Documents

Publication Publication Date Title
US5349692A (en) Instruction handling sequence control system for simultaneous execution of vector instructions
US5075840A (en) Tightly coupled multiprocessor instruction synchronization
US4507728A (en) Data processing system for parallel processing of different instructions
JP5573134B2 (ja) ベクトル型計算機及びベクトル型計算機の命令制御方法
JPH0766329B2 (ja) 情報処理装置
JPH0243212B2 (ja)
US4967350A (en) Pipelined vector processor for executing recursive instructions
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
EP0363889A1 (en) Vector processor using buffer for preparing vector data
US5907693A (en) Autonomously cycling data processing architecture
JP2632074B2 (ja) データフロー型情報処理装置
JPH0812661B2 (ja) 命令処理順序制御システム
JP2920968B2 (ja) 命令処理順序制御方式
JP2503984B2 (ja) 情報処理装置
EP0314342B1 (en) Parallel pipelined computer processor
JPH07110769A (ja) Vliw型計算機
JP3441847B2 (ja) データメモリを有するプロセッサ
JP2594140B2 (ja) データ駆動型データ処理装置
JPH0644389A (ja) データ駆動型情報処理装置
JPH06139071A (ja) 並列計算機
JPH0812662B2 (ja) 命令処理順序制御方式
JPS61143850A (ja) 処理装置
JPH03218524A (ja) 命令処理装置
JPS61194566A (ja) ベクトルデ−タ参照制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 13

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

Year of fee payment: 14

Free format text: PAYMENT UNTIL: 20100207

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 14