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

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

Info

Publication number
JPH0228765A
JPH0228765A JP8280989A JP8280989A JPH0228765A JP H0228765 A JPH0228765 A JP H0228765A JP 8280989 A JP8280989 A JP 8280989A JP 8280989 A JP8280989 A JP 8280989A JP H0228765 A JPH0228765 A JP H0228765A
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.)
Granted
Application number
JP8280989A
Other languages
English (en)
Other versions
JPH0812661B2 (ja
Inventor
Naoki Nishi
直樹 西
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)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル計算機において、プログラムで指定
された命令実行順序によらず命令を発行、実行する命令
処理順序制御システムに関する。
〔従来の技術〕
命令処理の高速化のため、命令処理順序を動的に決定し
プログラムで指定された順序によらず演算部および主記
憶処理部に命令投入を行うシステムがスカシ処理用計算
機で用いられている。この詳細は、IBM社から196
7年1月発行された刊行物r I BM Journa
l of Re5earch & Devel。
りmen tJ第11巻、第1号の第8頁−第24頁に
り。
W、Anderson et、al、に・よりrThe
 IBM System 1360Model 91:
Machine Ph1losophy and In
struction−HandlingJで記載された
論文およびIEEEから1984年発行された刊行物F
ilth Annual International
 Sy−mposium on ComputerJの
第110頁−第118頁にS、Weiss et、al
によりrlNsTRUcTION  l5SUELOG
ICFORPIPELINED SUPERCOMPU
TER3Jの題で示された論文を参照できる。
これら命令処理順序制御を行う計算機では、命令の入出
力オペランドやメモリ・アドレスの衝突を検出し、また
演算器や主記憶処理装置の使用状況を判定しプログラム
で指定された順序によらず演算部や主記憶処理部への命
令投入を決定する手段を有している。このような計算機
での命令投入方式は、スカラ計算機のみならずベクトル
計算機にも適用可能である。しがし、ベクトル計算機で
は複数のメモリ参照ベクトル命令を、プログラムで指定
された順序と逆順にして主記憶処理部に投入してもよい
かの判定が困難である。即ち、プログラムで実行するこ
とが指定されているベクトルストア命令のストア開始起
点アドレスをbase■、該ベクトルストア命令がスト
アするベクトルの要素間距離をdistl、該ベクトル
ストア命令がストアするベクトル長の1enl (1e
i1)とし、該ベクトルストア命令より後で実行するこ
とかプログラムで指定されているベクトルロード命令の
ロード開始起点アドレスをbase2、該ベクトルロー
ド命令がロードするベクトルの要素間距離をc]1st
2、該ベクトルロード命] 今がロードするベクトル長を、Jen2 (len2≧
1)とすると、該ベクトルストア命令によってストアさ
れるアドレスの集合である(basel。
basel+distlX1.basel+distl
X2.−、 bas e 1+d i s t LX 
(l enl−1))と該ベクトルロート命令によって
ロートされるアドレスの集合である(base2.ba
se2十dist2X1.base2+dist2X2
゜base2+dist2X (1en2−1))との
交わりの集合が空である場合のみ、該ベクトルロート命
令は該ベクトルストア命令に先行して主記憶参照をおこ
なってもよいと判定される。しかし、任意のbasel
、distl、1enl (lenl≧1)、base
2.dist2,1en2 (len2≧1)の組合せ
に対して判定を短時間で下すのは困難である。
そこで単純に判定可能な場合として、先行するベクトル
ストア命令で指定されたストア開始起点アドレスbas
elから該ベクトルストア命令の最終ストアアドレスで
あるbaselXdistlX (lenl−1)まで
の間をアドレス集合要素とする(addl:basel
≦addl≦(baselXdistlX (lenl
−1)))と、後続するベクトルロート命令で指定され
たロード開始起点アドレスbase2から該ベクトルス
トア命令の最終ストアアドレスであるbase2十(1
en2−])Xdist2までの間をアドレス集合要素
とする(add2:base2≦add2≦(base
2Xdist2X(len2−1)))との交わりの集
合が空であるならば主記憶参照に関して追い越しても構
わないとする、アドレス範囲の重複を判定する方法が提
案されている。
〔発明が解決しようとする課題〕
この方法では、比較的簡単に実現できる反面、追越し可
能かどうかを正しく判定できるbasel、distl
、1enl (lenl≧1)、base2、dist
2,1en2 (len2≧1)の組合せも限定される
。即ち、プログラムで実行することが指定されているベ
クトルストア命令のストア開始起点アドレスをbase
L該ベクトルストア命令がストアするベクトルの要素間
距離をdistl、該ベクトルストア命令がストアする
ベクトル長を1enl  (lenl≧1)、該ベクト
ルストア命令でストアされる最終ベクトル要素のアドレ
スを1astlとし、該ベクトルストア命令より後で実
行することがプログラムで指定されているベクトルロー
ド命令のロード開始起点アドレスをbase2、該ベク
トルロード命令がロードするベクトルの要素間距離をd
1st2、該ベクトルロード命令がロードするベクトル
長を1 en2(len2≧1)、該ベクトルロード命
令でロードされる最終ベクトル要素のアドレスを1as
t2とした場合、前述したアドレス範囲と重複を判定す
る方法では、basel、1astl、base2,1
ast2のアドレスの順序関係24通りのなかで、高々
8通り (basel≦1astl≦base2≦1ast2)
(basel≦1astl≦Ba5t2≦base2)
(lastl≦basel≦base2≦1ast2)
(lastl≦basel≦1ast2≦base2)
(base2≦1ast2≦basel≦1astl)
(last2≦bast2≦basel≦1astl)
(base2≦1ast2≦1astl≦basel)
(last2≦base2≦1astl≦basel)
の場合しか正しく判定できないという欠点を有している
本発明の目的は、上述した欠点を除去し、主記憶参照に
関し命令の順序を追い越してもかまわないとする判定を
、より多くのbasel、distl、1enl、ba
se2.dist2,1en2の組合せに対して短時間
で行えることようにした命令処理順序制御システムを提
供することにある。
〔課題を解決するための手段〕
本発明の一態様に従ったシステムは、ベクトル演算器お
よび主記憶処理装置へ投入する命令群を保持する第1の
手段と、実行中の命令により使用されているベクトルレ
ジスタ、演算器、主記憶装置0 置の状態を保持する第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のベクトルアクセス開始起点アドレス(b
asel)を格納するレジスタ21と、命令2のベクト
ルアクセス開始起点のアドレス(b a s e 2)
を格納するレジスタ22と、命令1のベクトルアクセス
する要素間距離(distl)を格納するレジスタ23
と、命令2のベクトルアクセスする要素間距離(d i
 s t 2)を格納するレジスタ24と、減算回路2
5と、絶対値口路26と、絶対値回路27と、絶対値回
路28と、不等号関係が成立するかどうかを判定する比
較器29と、大なり関係が成立するかどうかを判定する
比較器30と、等量関係が成立するかどうかを判定する
比較器31と入力論理積32から構成される。
第7図を参照すると、レジスタ参照論理競合チエツク部
8は、先行命令である命令1の書込レジスタ番号71と
後続命令である命令2の書込レジスタ番号74とを比較
し、不一致のとき信号を出力する比較回路77、先行命
令である命令1の書込レジスタ番号71と後続命令であ
る命令2の第2の読出レジスタ番号76とを比較し不一
致のとき信号を出力する比較回路78.先行命令である
命令lの書込レジスタ番号71と後続命令である命令2
の第1の読出レジスタ番号75とを比較し不一致のとき
信号を出力する比較回路79.先行命令である命令1の
第1の読出レジスタ番号72と後続命令である命令2の
書込レジスタ番号74とを比較する比較回路80.先行
命令である命令L′14X− ■の第2の読出レジスタ番号73と後続命令である命令
2の書込レジスタ番号74とを比較する比較回路81.
およびこれら比較回路??−81からの出力の論理積を
とるアンドゲート82を含む。
「命令追越しが可能」であるためには、基本的に次の3
条件を全て満足しなければならない。
第1に、先行命令の実行結果を格納するレジスタの内容
を後続命令が読出してはならない。
第2に、先行命令の読出対象となるレジスタに対し、後
続命令が書込動作を行なってはならない。
第3に、先行命令および後続命令の書込レジスタが同一
レジスタであってはならない。
第7図に示すレズシタ参照論理競合チエツク部8はこれ
ら3つの条件を示す回路の一例であり、アンドゲート8
2の出力が論理″0″″ならば追越禁止を示し、′1″
”ならば追越可能を示す。
このチエツク部8の構成は、先行命令の読出レズシタの
内容を予めコピーすることで第2の条件を取り除くこと
が可能である。すなわち、後続命令の追越し実行に先立
って、先行命令が読出すレジスタの内容をバッファリン
クする。この場合、先行命令が読出すはすであったレジ
スタに後続命令が書込を行なったとしても、予めバッフ
ァリングしておいた値を先行命令の読出レジスタの値と
して用いることにより、先行命令を正しく実行させるこ
とができる。
次に命令投入決定部γについて詳細に説明する。
第8図を参照すると、命令投入決定部7の主要部の1つ
である命令投入可否信号生成回路は、先行命令と後続命
令のそれぞれに対して構成される。
各回路は、命令コードを解読するデコーダ83゜書込レ
ジスタ番号を解読するデコーダ84.第1の読出レジス
タ番号を解読するデコーダ85.第2の読出レジスタ番
号を解読するデコーダ86゜これらデコード83−86
の解読結果と第1図の状態保持部3から線14を介して
ビジーか否かを示す状態信号との論理積をとるアンドゲ
ート群87−101およびこれらアンドゲート群871
01の出力の論理和をとるオアゲー)102を含む。
この命令投入可否信号生成回路は、1つの命令に対して
投入(実行)可能かどうかを判定する回路である。状態
保持部3から線14を介してビジーか否かを示す信号は
、主記憶アクセスパス。
加算器2乗算器、およびレジスタ(VRO〜VR3)に
対するもののみである。しかしこの信号の種類はこれに
限定されず、ベクトル演算器部5および主記憶参照処理
部6の構成に依存する。ここでは、説明の便宜上、最低
限必要とされるチエツク信号が示されている。
デコーダ83は、命令コードの値に対応して、以下の第
1表のような出力信号を生成する。
第1表 また、デコーダ84−86は、レジスタ番号の値に対応
して、第2表に示す出力信号を生成する。
第2表 次に、第4図に示すプログラム例を用いて作用を説明す
る。
第4図を参照すると、rVLOADJはベクトルロード
の命令コード、「■ADD」はベクトル加算の命令コー
ド、rVsTOREJはベクトルストアの命令コード、
rVMULTjはベクトル乗算の命令コードを示してい
る。また、rVROJからrVR3Jは命令オペランド
のベクトルレジスタを示し、各々のベクトルレジスタは
256個のベクトル要素を格納できるものとする。(a
、b。
C)の3つ組で示した命令オペランドは、ベクトルコー
ド/ストア命令の主記憶オペランドランドを示し、aは
ベクトルアクセスする開始起点アドレ←(b a s 
e、 5,256)Jは、baseをメモリの開始起点
アドレス、ベクトル要素間距離5、ベクトル長256の
ベクトル要素を、ベクトルレジスタVROにロードする
命令であることを示している。
次に第4図で示したプログラムの主記憶参照に関する順
序性を第5図を用いて説明する。第5A図は第4図の1
番目の命令と2番目の主記憶アクセス命令が参照するメ
モリアドレスを示している。
1番目の命令も2番目の命令もベクトルロードであり、
かつ、ベクトルレジスタの競合もないため、この場合、
プログラムで与えられた順序に従い実行される。次に、
1番目の命令と2番目の命令が実行開始されると、3番
目のベクトル加算命令がベクトル・レジスタvOと■1
に被演算対象にロードされるのに同期して実行に移され
るが、該加算命令の実行結果を主記憶装置に書き込む4
番目のベクトルストア命令は、該加算命令の演算結果が
VROに書き込み開始されるまで実行に移れない。一方
、5番目のベクトルロード命令は第5B図に示すように
、4番目のベクトルストア命令がストアした結果をロー
ドするのではないため、4番目のベクトルストア命令に
先行して実行を開始することが可能である。
本発明はこの4番目のベクトルストア命令を5番目のベ
クトルロード命令が主記憶参照に関して追い越してもか
まわないことを判定するものであり、本発明を用いれば
、4番目のベクトルストア命令と5番目のベクトルロー
ド命令のベクトル要素間距離の大きさが等しく (いず
れも151)、かつ、4番目のベクトルストア命令のス
トア開始起点アドレス(b a s e)と5番目のベ
クトルロード命令のロード開始起点アドレス(base
十2)が等しくなく、かつ、該ベクトルストア命令のス
トア開始起点アドレスと該ベクトルロード命令のロード
開始起点アドレスの差の大きさ(lbasel+2−b
asel lすなわち2)が4番目のベクトルストア命
令の要素間距離の大きさ(15すなわち5)よりも小さ
いため、追越し可能と判定することができる。
これに基づいて、命令投入決定部7について詳細に説明
する。
以下、実際の命令に対応して説明する。
・VLOAD  VRO←(base、dist、1e
n)命令コードはVLOADであり、現在主記憶アクセ
スパスがBUSYであれば命令投入することは出来ない
。また、書込レジスタ番号9VROであり、現在VRO
が読みだしBUSYであれば本命令を投入することは出
来ない。
・VSTORE  VRI−+ (bas e、 d 
i s t、 1 en)命令コードはVSTOREで
あり、現在主記憶アクセスパスがBUSYであれば命令
投入することは出来ない。また、読出レジスタ番号はV
RIであり、現在VRIが書込BUSYであれば本命令
を投入することは出来ない。
・VMULT  VB2 ←VRO,VRI命令コード
はVMULTであり、現在乗算器がBUSYであれば命
令投入することは出来ない。
また、書込レジスタ番号はVB2であり、現在VR2が
読出BUSYであれば本命令を投入することは出来ない
。さらに、読出レジスタはVRO及びVRIであり、何
れのレジスタが現在書込ビジーであっても本命令を投入
することは出来ない。
以上の3例に対し、第8図の生成回路では、これから投
入しようとする命令が使用する予定のハードウェア資源
を既に投入された実行中の命令が使用しているかどうか
をチエツクするための回路である。
第1図を参照すると、命令投入部7の最終的な判定は、
線16を介して与えられる主記憶参照論理競合チエツク
部9の判定結果と、線15を介して与えられるレジスタ
参照論理競合チエツク部8の判定結果と、先行/後続命
令に対応して設けられた第8図の生成回路の判定結果を
総合して行う。
これらの関係は第3表に示される。
Σ22− 次に本発明の一実施例の動作を説明する前に命令の実行
状態と各種ビジー信号との関係について第9図および第
10図を参照して詳細に説明する。
まず、命令の実行状態について説明する。
第9図を参照すると、VLOAD、VADD。
VMU L T 、およびVSTORE等の命令の実行
状態は平行四辺形で示されている。この図形の意味を第
10図を用いて説明する。
ベクトル演算においては主記憶参照/演算等の処理をパ
イプライン方式で処理する。このため、ベクトルの第1
要素、第2要素、第3要素、・・・は互いにパイプライ
ン的に同時に処理されていく。
平行四辺形における斜辺が、この各1要素に対する処理
の時間的な経過を示している。平行四辺形の横辺は、順
次、ベクトルの新しい要素の処理が進んでいくことを示
している。
各ベクトル要素に対する処理をベクトルロードを例とし
て説明すれば、アドレス生成、主記憶アクセス、ベクト
ルレジスタへの読出データの格納である。
各ベクトル要素に対する処理をベクトル演算(VADD
、VMULT) を例トシテ説明スレば、ベクトルレジ
スタからの読出、演算、ベクトルレジスタへの演算結果
の格納である。
次に、各種ビジー信号の状態変化を説明する。
第9図を参照すると、実線で示されたビジー信号は、ビ
ジー信号のオン状態を示す。ビジー信号上の番号は、実
行中の命令のどの命令によりビジー状態となっているか
を示す。
例として、1番目の命令ffLOAD  VRO←(b
ase、5,256))について説明する。
本命令が実行待機キューから取り出され実際の実行が開
始されると、主記憶アクセスパスとVROへの書き込み
がビジーとなる。ビジーが解除される時期は、主記憶ア
クセスパスビジーとVRO書き込みビジーでは異なる。
主記憶アクセスパスについては後続するVLOAD/V
STORE命令が主記憶アクセスパスを利用可能となる
直前までであり、VROレジスタ書き込みビジーについ
ては、後続してVROを読みだそうとする命令が実際に
読出可能となる直前までである。
このビジー信号の種類とビジー信号が解除されるタイミ
ングの設定はベクトル演算器部、主記憶処理部の構成方
法によって異なるが、本実施例では各ベクトルレジスタ
に対する読出しは、複数の命令からの読出要求に対して
同時処理可能であることを仮定している。
次に本発明の一実施例の動作について第4図のプログラ
ム例を用い、第1図、第2図、第6図および第9図を参
照して詳細に説明しよう。
第1図、第2図、第6図および第9図を参照すると、先
ず、初期状態(第9図の時刻t。)での実行待機キュー
2の状態は、命令1としてプログラムの1番目のベクト
ルロード命令、命令2としてプログラムの2香りのベク
トルロード命令がセットされる(第6図(a)の状態)
。レジスタ参照の論理競合チエツク部8はプログラム上
先行する命令1が書キ込みレジスタをプログラム上後続
する命令2が読み出し参照を行わず、かつ命令2が書き
込み参照を行うレジスタを命令1が読み出し参照しない
ため、追越し可能であることを命令投入決定部7に通知
する。主記憶参照の論理競合チエツク部9は第2図の回
路に従い、命令1の主記憶参照開始起点アドレスbas
elと命令2の主記憶参照開始起点アドレスbase2
が等しくなく、かつ、命令1のベクトル参照要素間距離
の大きさと命令2の主記憶参照要素間距離の大きさが等
しくなく、かつ、命令1の主記憶参照開始起点アドレス
baselと命令2の主記憶参照開始起点アドレスba
se2の差の大きさが命令1のベクトル参照要素間距離
の大きさより小さいために追越し可能であることを命令
投入決定部7に通知する。
命令投入決定部7は状態保持部3からの信号により実行
中の命令が使用しているレジスタ及び演算器及び主記憶
処理部と、命令1が競合しないこと、命令2も競合しな
いことを判定する。従って、命令1も命令2も投入可能
であり、かつ、命令1と命令2の間にも論理的な順序関
係がないと判定されたため、命令1の番目の命令である
ベクトルロード命令を投入する(第9図時刻1+)。
次に、次状態での実行待機キュー2の状態は、命令1と
してプログラムの2番目のベクトルロード命令、命令2
としてプログラムの3番目のベクトル加算命令がセット
される。(第6図(b)の状態)。レジスタ参照の論理
競合チエツク部8はプログラム上先行する命令1が書き
込むレジスタをフログラム上後続する命令2が読みだし
参照を行うため、追越し不能であることを命令投入決定
部7に通知する。主記憶参照の論理競合チェク部9は命
令3が主記憶参照を行わないため判定を行わない。命令
投入決定部7は、レジスタの論理競合チエツク部8から
の信号により命令1と命令2の間の追越しは認められな
いため、状態保持部3からの信号に従い主記憶参照処理
部6が次命令の処理可能となるタイミングで命令102
番目の命令であるベクトルロード命令を投入する(第9
図の時刻t2)。
次に、次状態での実行待機キュー2の状態は、命令1と
してプログラムの3番目のベクトル加算命令、命令2と
してプログラムの4番目のベクトルストア命令がセット
される(第6図(C)の状態)。レジスタ参照の論理競
合チエツク部8はプログラム上先行する命令1が書き込
むレジスタをプログラム上後続する命令2が読みだし参
照を行うため、追越し不能であることを命令投入決定部
7に通知する。主記憶参照の論理競合チエツク部9は命
令1が主記憶参照を行なわないため判定を行わない。命
令投入決定部7は、レジスタの論理競合チエツク部8か
らの信号により命令1と命令2の間の追越しは認められ
ないため、状態保持部3からの信号でベクトルレジスタ
VROとVRIが読みだし可能となるタイムンダで命令
1の3番目の命令であるベクトル加算命令を投入する(
第9図の時刻t3)。
次に、次状態での実行待機キュー2の状態は、命令1と
してプログラムの4番目のベクトルストア命令、命令2
としてプログラムの5番目のベクトルロード命令がセッ
トされる(第6図(d)の状態)。レジスタ参照の論理
競合チエツク部8はプログラム上先行する命令1が書き
込むレジスタなプログラム上後続する命令2が読みだし
参照を行わず、かつ命令2が書き込み参照を行うレジス
タを命令1が読みだし参照しないため、追越し可能であ
ることを命令投入決定部7に通知する。主記憶参照の論
理競合チエツク部9は第2図の回路に従い、命令1の主
記憶参照開始起点アドレスbase”lと命令2の主記
憶参照開始起点アドレスbase2が等しくなく、かつ
、命令1のベクトル参照要素間距離の大きさと命令2の
主記憶参照要素間距離の大きさが等しくなく、かつ、命
令1の主記憶器′照開始起点のアドレスbaselと命
令2の主記憶参照開始起点アドレスbase2の差の大
きさが命令1のベクトル参照要素□間距離の大きさより
小さいため追越し可能であることを命令投入決定部7に
通知する。命令投入決定部7は、状態保持部3からの信
号により命令1のベクトルストア命令は前状態で投入し
た3番目のベクトル加算命令の処理結果がベクトルレジ
スタVROに書キ込み開始されるまで投入できず、かつ
、命令2は命令1を追越し可能であるため、命令2の5
番目のベクトルロード命令を投入する(第9図の時刻t
4)。
次に、次状態での実行待機キュー2の状態は、命令1と
してプログラムの4番目のベクトルストア命令、命令2
としてプログラムの6番目のベクトルロード命令がセッ
トされる(第6図(e)の状態)。この時点では先に実
行投入した3番目のベクトル加算命令の演算結果はベク
トルレジスタVROに書き込み開始されているものとし
よう。
レジスタ参照の論理競合チエツク部8はプログラム上先
行する命令1が書き込むレジスタをプログラム上後続す
る命令2が読みだし参照を行わず、かつ命令2が書き込
み参照を行うレジスタを命令1が読みだし参照しないた
め、追越し可能であることを命令投入決定部7に通知す
る。主記憶参照の論理競合チエツク部9は第2図の回路
に従い、命令1の主記憶参照開始起点アドレスbas 
e 1と命令2の主記憶参照開始起点アドレスbase
2が等しくなく、かつ、命令1のベクトル参照要素間距
離の大きさと命令2の主記憶参照要素間距離の大きさが
等しくなく、かつ、命令1の主記憶参照開始起点アドレ
スbaselと命令2の主記憶参照開始起点アドレスb
ase2の差と大きさが命令1のベクトル参照要素間距
離の大きさより小さいため追越し可能であることを命令
投入決定部7に通知する。命令投入決定部7ば、状態保
持部3からの信号により実行中の命令が使用しているレ
ジスタ及び演算器及び主記憶処理部と、命令1が競合し
ないことと、命令2も競合しないことを判定する。従っ
て命令1も命令2も投入可能であり、かつ、命令1と命
令2の間にも論理的な順序関係がないと判定されたため
、命令1の4番目の命令であるベクトルストア命令投入
する(第9図の時刻t5)。
以降も同様な手順を経て実行待機キュー2の状態は第6
図(f)、第6図(g)と状態を変えていく。
本実施例は上記に説明したように、はすかい関係にある
2個のベクトル主記憶参照関係の論理的追越し可能性を
判定するものであるが、命令待機キュー2のエントリ数
を3以上にすることも可能である。さらに、本実施例で
はベクトル・ストア命令をベクトル・ロード命令が追越
す動作例を示したが、ベクトル・ストア命令間、ベクト
ル・ロード命令間、ベクトル・ロード命令をベクトル・
ストア命令が追越す場合などにも適用できる。
また、主記憶参照の論理競合チエツク部9において、先
行するベクトルストア命令で指定されたストア開始起点
アドレスbaselから該ベクトルストア命令の最終ス
トアアドレスであるbaseIXdistlX (le
nl−1)までの間をアドレス集合要素とする(add
l :base1≦addl≧(bas e IXd 
i s t LX (1en 1−1)))と、後続す
るベクトル四−F命令で指定されたロード開始起点アド
レスbase2から該ベクトルロード命令の最終ストア
アドレスであるbase2十1en2−1)Xdist
2までの間をアドレス集合要素とする(add2:ba
se2≦add2≧(base2Xdist2X(le
n2−1)))との交わりの集合が空であるならば主記
憶参照に関して追越しても構わないと判定する回路を併
設するこ七により、アドレスのはすかい関係と重複関係
の両方の判定を行うことも可能である。
アドレスの重複関係を判定する場合の主記憶参照の論理
競合チエツク部9の他の1例を第3図を参照して詳細に
説明する。
第3図を参照すると、主記憶参照の論理競合チエツク部
9の他の例は、命令1のベクトルアクセスする開始起点
アドレス(basel)を格納するレジスタ33と、命
令1のベクトルアクセスするベクトル長(lenl)を
格納するレジスタ34と、命令1のベクトルアクセスす
る要素間距離(distl)を格納するレジスタ35と
、命令2のベクトルアクセスする開始起点アドレス(b
 a s e 2)を格納するレジスタ36と、命令2
のベクトルアクセスするベクトル長(len2)を格納
するレジスタ37と、命令2のベクトルアクセスする要
素間距離(d i s t 2)を格納するレジスタ3
8と、加算器39と、乗算器4゜と、加算器41と、加
算器42と、乗算器43と、加算器44と、2×2のス
イッチング回路45と、レジスタ46〜49と、犬なり
関係が成立するかどうかを判定する比較器50と、小な
り関係が成立するかどうかを判定する比較器51と、大
なり関係が成立するかどうかを判定する比較器52と、
小なり関係が成立するかどうかを判定する比較器53と
、論理和回路54と、論理積回路55と、論理和回路5
6と、はすかい関係の判定回路57と、論理和回路58
から構成される。
はすかい関係の判定回路57は第2図の回路と同じもの
である。また、2×2のスイッチング回路45は、命令
1のベクトルアクセスする要素間距離(d i s t
 1)を格納するレジスタ35の符号部が負数を示す場
合にクロス状態に接続し、命令1のベクトルアクセスす
る要素間距離(distl)を格納するレジスタ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・・・・・・主記憶参照論理競合チ
エツク部。 代理人 弁理士  内 原   晋 ニさ 心4 へ 守く 心く へ 25各日

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
JP63-81519 1988-04-01
JP8151988 1988-04-01
JP8280989A JPH0812661B2 (ja) 1988-04-01 1989-03-31 命令処理順序制御システム

Publications (2)

Publication Number Publication Date
JPH0228765A true JPH0228765A (ja) 1990-01-30
JPH0812661B2 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 (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 ベクトル処理装置、及びベクトル処理方法
US11132196B2 (en) 2016-04-26 2021-09-28 Arm Limited Apparatus and method for managing address collisions when performing vector operations

Families Citing this family (1)

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

Cited By (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 ベクトル処理装置、及びベクトル処理方法
US11132196B2 (en) 2016-04-26 2021-09-28 Arm Limited Apparatus and method for managing address collisions when performing vector operations

Also Published As

Publication number Publication date
JPH0812661B2 (ja) 1996-02-07

Similar Documents

Publication Publication Date Title
EP0340453B1 (en) Instruction handling sequence control system
EP0437044B1 (en) Data processing system with instruction tag apparatus
US4745547A (en) Vector processing
JPH02227769A (ja) データ処理システム
CA1098214A (en) Data processing system with an enhanced instruction pipeline control
JP2620511B2 (ja) データ・プロセッサ
JPH04336378A (ja) 情報処理装置
JPH06105460B2 (ja) マルチプロセッサのプロセッサ切換え装置
US4677549A (en) Pipelined data processor system having increased processing speed
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JP2632074B2 (ja) データフロー型情報処理装置
JPH10222367A (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JPH0228765A (ja) 命令処理順序制御システム
KR100206350B1 (ko) 중앙처리장치
JP2920968B2 (ja) 命令処理順序制御方式
EP0314342B1 (en) Parallel pipelined computer processor
JPH05108345A (ja) 分岐命令処理装置
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH0247726A (ja) 情報処理装置
JP2731740B2 (ja) 通信レジスタ付並列計算機
JP2702137B2 (ja) ベクトル演算命令の処理方法
JPS61143850A (ja) 処理装置
JP2506591B2 (ja) 補助処理装置
JPH0279122A (ja) 浮動小数点演算機構
JPH02291074A (ja) 命令処理順序制御方式

Legal Events

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

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 14