JP2544770B2 - ベクトル演算命令発行制御方式 - Google Patents

ベクトル演算命令発行制御方式

Info

Publication number
JP2544770B2
JP2544770B2 JP63050758A JP5075888A JP2544770B2 JP 2544770 B2 JP2544770 B2 JP 2544770B2 JP 63050758 A JP63050758 A JP 63050758A JP 5075888 A JP5075888 A JP 5075888A JP 2544770 B2 JP2544770 B2 JP 2544770B2
Authority
JP
Japan
Prior art keywords
vector
operation instruction
instruction
vector operation
issued
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
JP63050758A
Other languages
English (en)
Other versions
JPH01224872A (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
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Nippon Electric Co 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, Nippon Electric Co Ltd filed Critical NEC Computertechno Ltd
Priority to JP63050758A priority Critical patent/JP2544770B2/ja
Publication of JPH01224872A publication Critical patent/JPH01224872A/ja
Application granted granted Critical
Publication of JP2544770B2 publication Critical patent/JP2544770B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル処理装置のベクトル演算命令発行制
御方式に関し、特に同一演算器内にパイプライン段数の
異なる複数の演算機能が含まれるベクトル演算器に対し
て、ベクトル演算命令の起動をかけるベクトル演算命令
発行制御方式に関するものである。
〔従来の技術〕
ベクトルレジスタに保持されたベクトルデータを連続
的にベクトル演算器に供給し、所謂パイプライン方式の
演算によってベクトル演算を高速に実行するベクトル処
理装置において、一つの演算器内にパイプライン段数
(以下、単に段数と称す)の異なる複数の演算機能を持
たせ、同一のベクトル演算器を複数種類の演算で共用す
ることは従来より行なわれている。
第8図はそのようなベクトル演算器の動作説明図であ
る。同図(i)においてベクトル演算器40は、段数の異
なる複数種類の演算機能を有し、起動時には外部から指
定された種類の演算機能を遂行する。今、ベクトル要素
数(VL)を「5」とし、ベクトル演算器40に段数6の演
算機能を使用するベクトル演算命令(以下、ベクトル演
算命令αと称す)を実行させる場合と、段数3の演算機
能を使用するベクトル演算命令(以下、ベクトル演算命
令βと称す)を実行させる場合とを考える。
第8図(ii)はベクトル演算器40に対しベクトル演算
命令αが発行されたときの概略タイムチャートである。
ベクトル演算命令αが発行されると、ベクトル演算器40
にはベクトルレジスタ群41に保持されたベクトルデータ
の第1要素e1から第5要素e5までが連続的に供給され、
各要素はベクトル演算器40内の6段のステージS1〜S6を
通ることにより所定の演算が施され、結果が再びベクト
ルレジスタ群41に格納される。ここで、第1要素e1から
第5要素e5までがベクトルレジスタ群41から読出されて
ベクトル演算器40に入力完了するまでがベクトルレジス
タ読出し中(R)となり、ベクトルレジスタ群41から第
1要素e1を読出してから第5要素e5の演算結果がベクト
ルレジスタ群41に書込まれるまでの期間がベクトルレジ
スタ書込み中(W)となる。
第8図(iii)はベクトル演算器40に対しベクトル演
算命令βが発行されたときの概略タイムチャートであ
る。ベクトル演算命令βの実行がベクトル演算器40の前
記6段のステージS1〜S6のうち例えば第1ステージS1,
第5ステージS5,第6ステージS6を兼用して行なわれる
とすると、ベクトル演算命令βが発行され、ベクトルレ
ジスタ群41からベクトル演算器40に連続的に供給された
ベクトルデータは第1ステージS1,第5ステージS5,第6
ステージS6を通ることにより所定の演算が施され、結果
が再びベクトルレジスタ41に格納されることになる。ベ
クトル演算命令βの場合、ベクトルレジスタ読出し中
(R)の期間はベクトル要素数(VL)が同じであればベ
クトル演算命令αと同じであるが、段数が3段と少ない
ので、ベクトルレジスタ書込み中(W)の期間はベクト
ル演算命令αに比べて短くなる。
ところで、先行するベクトル演算命令が書込みを行な
うベクトルレジスタと後続のベクトル演算命令が読出し
を行なうベクトルレジスタとが一致する場合は、そのよ
うなベクトル演算命令は互いにベクトルレジスタ干渉が
あると言うが、このようなベクトルレジスタ干渉のある
ベクトル演算命令の場合は、先行するベクトル演算命令
によるベクトルレジスタの書込みが終了した後でなけれ
ば、後続のベクトル演算命令を発行することはできな
い。しかし、ベクトルレジスタ干渉のないベクトル演算
命令の場合は、ベクトル演算器内でデータの重なりが生
じない範囲での後続のベクトル演算命令の発行タイミン
グを早めることができる。この場合、上述したように、
同一演算器内に段数の異なる複数の演算機能の持つベク
トル演算器では、段数の長い演算機能を使用するベクト
ル演算命令の実行時と段数の短い演算機能を使用するベ
クトル演算命令の実行時とではベクトル書込み中の期間
つまりはベクトル演算器内にデータが留まる期間が相違
するので、先行するベクトル演算命令とベクトルレジス
タ干渉の起きないベクトル演算命令を連続して発行する
場合、先行するベクトル演算命令と後続のベクトル演算
命令との段数を考慮して発行タイミングを決定する必要
がある。このようなベクトル演算命令発行のタイミング
制御は、従来、以下のようにして行なわれている。
先ず、段数が同じベクトル演算命令を連続して発行す
る場合、及び先行の命令より、段数の長い演算機能を使
用するベクトル演算命令を後続の命令として発行する場
合、先行するベクトル演算命令のベクトルレジスタ読出
し中期間が終了次第、後続のベクトル演算命令を発行す
る。このために、ベクトルレジスタ読出し中を示すフラ
グを設け、このフラグにより後続のベクトル演算命令の
発行を制御する。第9図(i),(ii),(iii)はそ
のときのタイムチャートを示す。
一方、先行の命令より短い段数の演算機能を使用する
ベクトル演算命令を発行する場合、上記のベクトルレジ
スタ読出し中フラグで発行制御すると、例えば第9図
(iv)に示すようにベクトル演算器40内において先行命
令で処理するデータと後続命令で処理するデータとが重
なってしまう。そこでこのような場合従来は、ベクトル
レジスタ書込み中(W)を示すフラグを設け、このフラ
グにより後続のベクトル演算命令の発行を制御してい
た。
〔発明が解決しようとする問題点〕
上述したように、従来のベクトル演算命令発行制御方
式では、先行の命令より短い演算機能を使用するベクト
ル演算命令を続けて発行するとき、ベクトルレジスタ書
込み中フラグによって後続のベクトル演算命令の発行を
制御しているので、後続のベクトル演算命令は、第9図
(v)に示すように先行するベクトル演算命令によるベ
クトル演算器40の動作が完全に終了した後に発行される
ことになり、実際には先行するベクトル演算命令と後続
のベクトル演算命令との間に無駄な空時間が生じてしま
うという欠点がある。
本発明の目的は、ことような無駄な空時間が生じない
ようにしたベクトル演算命令発行制御方式を提供するこ
とにある。
〔問題点を解決するための手段〕
本発明は上記目的を達成するために、ベクトル演算命
令のベクトル要素数と該ベクトル演算命令が使用する演
算機能のパイプライン段数との加算値に相当する時間の
経過を計測する計測手段と、この計測手段の計測時間の
残余の時間が、前記n個の演算機能の最大の段数のもの
を除く残りのn−1種の演算機能のうち、次に発行すべ
きベクトル演算命令で使用する演算機能の段数相当に等
しくなったことを検出する検出手段とを有する。そし
て、発行すべきベクトル演算命令が段数の最も短い演算
機能を使用する命令でないときは、前記計測手段によ
り、該ベクトル演算命令の発行時に該ベクトル演算命令
のベクトル要素数と使用する演算機能の段数との加算値
に相当する時間を計測させておき、先行するベクトル演
算命令より短い段数の演算機能を使用するベクトルレジ
スタ干渉の起きないベクトル演算命令を発行するとき
は、前記検出手段の検出タイミングに従って発行するよ
うに構成される。後述する本発明の実施例においては、
計測手段は、VLレジスタ1,段数レジスタ2,加算器5,第2
カウンタ7等で構成され、検出手段は、第2デコーダ9,
第2フラグ13−B〜13−D,フラグセット部14等で構成さ
れているが、そのような構成に限定されないことは勿論
のことである。
〔作用〕
先行するベクトル演算命令が使用する演算機能の段数
より後続のベクトル演算命令を使用する演算機能の段数
の方が短く、その段数差がNある場合、先行するベクト
ル演算命令のベクトルレジスタ読出し中期間の終了から
N段数差分の時間だけ経過すれば、換言すると先行する
ベクトル演算命令のベクトルレジスタ書き込み中期間
(これは先行するベクトル演算命令のベクトル要素数と
それが使用する演算機能の段数との加算値に対応する)
の終了より後続のベクトル演算命令が使用する演算機能
の段数相応時間以前の時点になれば、後続のベクトル演
算命令を発行しても、ベクトル演算器内でデータの重な
りは生じない。そこで、この時間経過を、計測手段と検
出手段で計測,検出し、後続のベクトル演算命令の発行
を行なうようにしている。
〔実施例〕
次に本発明の実施例について図面を参照して説明す
る。
第1図を参照すると、本発明の実施例は、次に発行す
べきベクトル演算命令のベクトル要素数を保持するVLレ
ジスタ1、次に実行(発行)するベクトル演算命令が使
用する演算機能の段数を保持する段数レジスタ2、次に
実行するベクトル演算命令を保持する命令レジスタ3、
命令レジスタ3に保持されたベクトル演算命令をデコー
ドする命令デコーダ4、VLレジスタ1に保持されたベク
トル要素数と段数レジスタ2に保持された段数とを加算
する加算器5、VLレジスタ1に保持されたベクトル要素
数がセットされ以後一定時間毎にカウントダウンする第
1カウンタ6、加算器5の加算結果がセットされ以後一
定時間毎にカウントダウンする第2カウンタ7、第1カ
ウンタ6のカウント値が所定値たとえば0になったか否
かを判定する第1デコーダ8、第2カウンタ7のカウン
ト値が予め定められた複数の値の何れかに達したか否か
を判定する第2デコーダ9、第1デコーダ8の第1出力
信号10でリセットされるフラグ12、第2デコーダ9の第
2出力信号11でリセットされる第2フラグ13−B,13−C,
13−D、これら複数の第2フラグのうち命令デコーダ4
のデコーダ結果に応じた一つのフラグをセットするフラ
グセット部14、および命令発行部15で構成されている。
命令発行部15は、命令デコーダ4のデコード結果,第1
フラグ12,複数の第2フラグ13−B〜13−Dの状態に基
づき、ベクトル演算命令の発行が可能か否かを判断し、
可能であればそのベクトル演算命令の発行を行なうと同
時に第1及び第2カウンタ6,7,第1フラグ12のセット
や、フラグセット部14に対する第2フラグ13−B〜13−
Dのセット指示を行なうものである。この命令発行部15
は、命令デコーダ4のデコード結果から、先行するベク
トル演算命令で書込みが行なわれるベクトルレジスタと
後続のベクトル演算命令で読出しが行なわれるベクトル
レジスタとが一致することを検出した場合、即ちベクト
ルレジスタ干渉が起きる場合、従来と同様に後続のベク
トル演算命令は先行するベクトル演算命令の終了後に発
行するが、ベクトルレジスタ干渉が起きない場合は、例
えば第2図に示す制御により、ベクトル演算器内でデー
タの重なりが生じない範囲で極力速やかに後続のベクト
ル演算命令の発行を制御する。ベクトルレジスタ干渉が
起きる場合の処理は従来技術と何ら変わりがないため、
以下の説明ではベクトルレジスタ干渉が起きていない場
合のみについて説明する。なお、第2図のフローチャー
トも、ベクトルレジスタ干渉が起きる場合の処理は省略
している。
本実施例は、同一演算器内に存在する段数の異なる演
算機能の個数nが4であるベクトル演算器に適用したも
のであるが、本発明は一般に段数の異なる複数個の演算
機能を持つベクトル演算器に広く適用することできる。
本実施例において、上述の四つの演算機能を使用するベ
クトル演算命令をA,B,C,Dとし、それぞれの演算機能の
段数はa,b,c,dで、段数の長短関係はa>b>c>dと
すると、第2フラグ13−Bはベクトル演算命令Bの発行
制御用に、第2フラグ13−Cはベクトル演算命令Cの発
行制御用に、第2フラグ13−Dはベクトル演算命令Dの
発行制御用に使用される。即ち、第2フラグはn−1個
設けられる。
第1フラグ12は命令発行部15によってセットされ、ま
た第2フラグ13−B〜13−Dはフラグセット部14によっ
てセットされる。命令発行部15は次に発行すべきベクト
ル演算命令の種類にかかわらず常にその発行時に第1フ
ラグ12をセットするが、フラグセット部14は命令発行部
15からセット指示が与えられても全ての第2フラグをセ
ットせず、命令デコーダ4のデコード結果に合致した第
2フラグをセットする。第3図は次に発行されるベクト
ル演算命令の種類と、その発行時にセットされるフラグ
との関係を示す。同図に示すように、第2フラグ13−B
〜13−Dは自フラグに対応するベクトル演算命令より段
数の長い演算機能を使用するベクトル演算命令が発行さ
れたときにセットされる。
第1カウンタ6は、発行されたベクトル演算命令のベ
クトル要素数VLがその発行自に初期値としてセットさ
れ、以後1要素相当時間毎に1ずつカウントダウンする
ものであり、従って第1カウンタ6のカウント値が0に
なったことを検出する第1デコーダ8によってリセット
される第1フラグ12は、第4図に示すように発行された
ベクトル演算命令のベクトル要素数VL相当時間だけセッ
ト状態が続く。第1フラグ12はベクトル演算命令の発行
時にセットされるので、結局、発行されたベクトル演算
命令のベクトルレジスタ読出し中(R)の期間の終了時
点でリセット状態になることになる。
一方、第2カウンタ7は、発行されたベクトル演算命
令のベクトル要素数と使用する演算機能の段数との加算
値が発行時に初期値としてセットされ、以後1要素およ
び1段数相当時間毎に1ずつカウントダウンするもので
ある。第2デコーダ9は、第2カウンタ7のカウント値
がベクトル演算命令B対応の段数bに達したときに第2
フラグ13−Bをリセットし、ベクトル演算命令C対応
の、段数cに達したとき第2フラグ13−Cをリセット
し、ベクトル演算命令D対応の段数dに達したとき第2
フラグ13−Dをリセットする。従って、各第2フラグ13
−B〜13−Dは第4図に示す期間中セット状態が続く。
第2フラグのセットはベクトル演算命令の発行時に行な
われるので、結局、セットされた第2フラグは発行され
たベクトル演算命令のベクトルレジスタ読出し中(R)
の期間(=VL)経過後、さらに先行するベクトル演算命
令の使用する演算機能の段数と自フラグが対応する演算
機能の段数との段数差に相当する時間が経過した時点
で、リセット状態になる。
上述したように、第2フラグ13−B〜13−Dは発行さ
れるベクトル演算命令の種類に応じてセットされるの
で、命令発行部15は次のベクトル演算命令発行タイミン
グを決定するとき、第5図に示すように発行しようとす
るベクトル演算命令に対応する第2フラグだけをチェッ
クする。
第6図は、ベクトル要素数をVLとし、演算結果のベク
トル演算器内での衝突および演算間のロスがないように
ベクトル演算命令を連続して発行できるタイミングを示
し、第7図は第6図のタイミングで発行された例とし
て、A→A,C→B,A→C,B→D,D→Bの時のタイムチャート
を示す。以下、第7図の例を参照して本実施例の動作を
説明する。なお、第7図(i)〜(v)に示した連続す
る2命令は何れもベクトルレジスタ干渉は起きていない
ベクトル演算命令を取り上げている。
・第7図(i)の場合 ベクトル演算器が動作を終了しているとき、第1図の
第1フラグ12および第2フラグ13−B〜13−Dは全てリ
セット状態である。
第7図(i)のように、ベクトル演算命令Aを2個続
けて発行する場合、最初のベクトル演算命令Aが命令テ
ジスタ3に格納され、そのベクトル要素数VLがVLレジス
タ1にセットしれ、段数aが段数レジスタ2にセットさ
れる。
命令発行部15は第2図のステップC1で発行すべき次の
命令があることを認識すると、ステップC2で命令デコー
ダ4のデコード結果から次に実行すべき命令が最長段数
のベクトル演算命令Aであるか否かを判定し、最長段数
ベクトル演算命令AであればステップC3へ、それ以外の
命令であればステップC5へ進む。今の場合、最長段数ベ
クトル演算命令Aなので、ステップC3において第1フラ
グ12がリセット状態か否かを判定し、リセット状態であ
ることにより次の命令つまり最初のベクトル演算命令A
を発行すると同時に、第1及び第2カウンタ6,7をセッ
トすることにより、第1カウンタ6にVLレジスタ1に保
持されたVLを、第2カウンタ7に加算器5の加算結果
「VL+a」をそれぞれ格納し、また第1フラグ12を自ら
セットし、更に第2フラグのセット指示をフラグセット
部14に出す(C4)。これに応答してフラグセット部14は
第3図の内容に従い第2フラグ13−B〜13−Dをセット
する。
発行されたベクトル演算命令Aにより、ベクトルレジ
スタからベクトル演算器へベクトルデータが連続的に供
給され、a段のステージにより所定の演算が遂行されて
いくが、それに伴せて第1カウンタ6,第2カウンタ7の
内容は一定時間毎に減算されていく。
最初のベクトル演算命令Aの発行が行なわれると、次
に発行すべきベクトル演算命令Aが命令レジスタ3に格
納され、そのベクトル要素数「VL」がVLレジスタ1に格
納され、段数aが段数レジスタ2に格納される。命令発
行部15は第2図のステップC1で発行すべき次の命令があ
ることを認識すると、ステップC2で次の命令が最長段数
ベクトル演算命令Aであることを判定し、ステップC3で
第1フラグ12がリセット状態になるのを待つ。そして、
第1フラグ12がリセット状態になると、そのベクトル演
算命令Aの発行を行なう(C4)。
前述したように、第1カウンタ6には最初のベクトル
演算命令aのベクトル要素数「VL」が初期値として設定
され、一定時間毎に減算されている。そして、このベク
トル演算器「VL」に相当する時間は、最初のベクトル演
算命令Aに対応するベクトルレジスタ読出し中(R)の
期間に相当するので、第1カウンタ6の内容が0になっ
たとき上記ベクトルレジスタ読出し中(R)の期間が終
了したことになる。第1カウンタ6の内容が0になった
ことは第1デコーダ8で検出され、その時点で第1フラ
グ12がリセットされる。従って、ステップC3で第1フラ
グ12がリセット状態になるのを待ってステップC4で発行
された次のベクトル演算命令Aは、第7図(i)に示す
ように、先行するベクトル演算命令Aに対応するベクト
ルレジスタ読出し中(R)の期間(第1フラグ12がセッ
トされている期間に等しい)経過後に速やかに発行され
ることになる。
・第7図(ii)の場合 第7図(ii)のように先行するベクトル演算命令Cよ
り段数の長いベクトル演算命令Bを続けて発行する場
合、最初のベクトル演算命令Cが命令レジスタ3に格納
され、そのベクトル演算器「VL」がVLレジスタ1にセッ
トされ、段数cが段数レジスタ2にセットされる。
命令発行部15は、ステップC2で次に実行すべき命令が
最長段数ベクトル演算命令でないことを認識すると、ス
テップC5へ進み、第1フラグ12および該当する第2フラ
グ13−Cが共にリセット状態になっていることを条件に
最初のベクトル演算命令Cを発行する(C6)。そしてこ
のとき、第1及び第2カウンタ6,7をセットすることに
より、第1カウンタ6にVLレジスタ1に保持されたVL
を、第2カウンタ7に加算器5の加算結果「VL+c」を
それぞれ格納し、また第1フラグ12を自らセットし、更
に第2フラグのセット指示をフラグセット部14に出す
(C6)。これに応答してフラグセット部14は第3図の内
容に従い第2フラグ13−Dをセットする。
発行されたベクトル演算命令Cにより、ベクトルレジ
スタからベクトル演算器へベクトルデータが連続的に供
給され、c段のステージにより所定の演算が遂行され、
それに伴せて第1カウンタ6の内容が一定時間毎に減算
されていく。
命令発行部15は、最初のベクトル演算命令Cの発行を
終了すると、命令レジスタ3に格納された次に発行すべ
きベクトル演算命令Bのデコード結果に従い、ステップ
C5で第1フラグ12及び該当する第2フラグ12−Bが共に
リセット状態になるのを待つ。そして共にリセット状態
になると、次のベクトル演算命令Bの発行を行なう(C
6)。この場合、第2フラグ13−Bはベクトル演算命令
Cの発行時にはセットされておらず元々リセット状態で
あり、第1フラグ12は、第1カウンタ6にセットされた
最初のベクトル演算命令Cのベクトル要素数「VL」が
「0」になった時点、即ちベクトル演算命令Cに対応す
るベクトルレジスタ読出し中(R)の期間が終了した時
点で第1デコーダ8によってリセット状態にされるの
で、次のベクトル演算命令Bは、第7図(ii)に示すよ
うに、先行するベクトル演算命令Cに対応するベクトル
レジスタ読出し中(R)の期間(第1フラグ12がセット
されている期間に等しい)経過後に速やかに発行される
ことになる。
・第7図(iii)の場合 第7図(iii)のように、最長段数ベクトル演算命令
A,それより段数の短いベクトル演算命令Cの順で連続し
て命令を発行する場合、命令発行部15は、ステップC2で
次に実行すべき命令が最長段数ベクトル演算命令Aであ
ることを認識すると、ステップC3へ進み、第1フラグ12
がリセット状態になっていることを条件に最初のベクト
ル演算命令Aを発行し、同時に第1及び第2カウンタ6,
7をセットすることにより、第1カウンタ6にVLレジス
タ1に保持されたベクトル要素数「VL」を、第2カウン
タ7に加算器5の加算結果「VL+a」をそれぞれ格納
し、また第1フラグ12を自らセットし、さらに第2フラ
グのセット指示をフラグセット部14に出す(C4)。これ
に応答して、フラグセット部14は第3図の内容に従い第
2フラグ13−B〜13−Dをセットする。
発行されたベクトル演算命令Aにより、ベクトルレジ
スタからベクトル演算器へベクトルデータが連続的に供
給され、a段のステージにより所定の演算が遂行されて
いき、それに併せて第1カウンタ6,第2カウンタ7の内
容も一定時間毎に減算されていく。
命令発送部15は、最初のベクトル演算命令Aの発行を
終了すると、命令レジスタ3に格納された次に発行すべ
きベクトル演算命令Cのデコーダ結果に従い、ステップ
C5で第1フラグ12及び該当する第2フラグ13−Cが共に
リセット状態になるのを待ち、共にリセット状態になる
ことにより、ベクトル演算命令Cの発行を行なう(C
6)。この場合、第1フラグ12はベクトル演算命令Aに
対応するベクトルレジスタ読出し中(R)の期間終了時
点でリセット状態になるが、その時点では第2フラグ13
−Cはリセット状態にならず、更に段数差「a−c」に
相当する時間経過後に第2デコーダ9によってリセット
状態にされる。従って、両フラグ12,13−Cが共にリセ
ット状態になるのは、第7図(iii)に示すようにベク
トル演算命令Aに対応するベクトルレジスタ書込み中
(W)の期間の終了時刻より後続のベクトル演算命令C
の段数cに相当する時間前の時刻となり、次のベクトル
演算命令Cは第7図(iii)に示すように、先行するベ
クトル演算命令Aに対応するベクトルレジスタ書込み中
期間より段数にして「c」の時間分だけ早く発行される
ことになる。
これに対し、ベクトルレジスタ書込み中フラグを使用
する従来の方式では、後続のベクトル演算命令Cが発行
されるのは、第7図(iii)の破線で示すタイミングと
なり、先行するベクトル演算命令Aとの間に無駄な空時
間が介在する。
・第7図(iv)の場合 第7図(iv)の場合は、先行するベクトル演算命令B
が最長段数ベクトル演算命令Aでないことを除けば、第
7図(iii)の場合とほぼ同様である。先行するベクト
ル演算命令Bが最長段数ベクトル演算命令でなく然も最
短段数ベクトル演算命令Dでもないことから、命令発行
部15は、ベクトル演算命令Bの発行時、ステップC6で第
1及び第2カウンタ6,7をセットすることにより、第1
カウンタ6にVLレジスタ1に保持されたベクトル要素数
「VL」を、第2カウンタ7に加算器5の加算結果「VL+
b」をそれぞれ格納し、また第1フラグ12を自らセット
し、さらにフラグセット部14により該当する第2フラグ
13−C,13−Dをセットさせる。従って、次のベクトル演
算命令Dは、第7図(iv)に示すように、先行するベク
トル演算命令Bに対応するベクトルレジスタ書込み中期
間より段数にして「d」の時間分だけ早く発行されるこ
とになる。これに対し、ベクトルレジスタ書込み中フラ
グを使用する従来の方式では、後続のベクトル演算命令
Dが発行されるのは、第7図(iv)の破線で示すタイミ
ングとなり、先行するベクトル演算命令Bとの間に無駄
な空時間が介在する。
・第7図(v)の場合 第7図(v)のように、最短段数ベクトル演算命令D,
それより段数の長いベクトル演算命令Bの順で連続して
命令を発行する場合、命令発行部15は、最短段数ベクト
ル演算命令Dの発行をステップC6で行なうが、ベクトル
演算命令Dは最短段数なので、第1フラグ12のセットと
第1カウンタ6のセットだけを行ない、第2カウンタ7
および第2フラグのセットは行なわない。これは、最短
段数ベクトル演算命令Dに続いて発行されるベクトル演
算命令は同じ段数かそれより長い段数のベクトル演算命
令しかなく、第1フラグ12によってのみ発行制御できる
からである。
〔発明の効果〕
以上説明したように、本発明によれば、同一演算器内
に段数の異なる複数の演算機能が含まれるベクトル演算
器に対し、先行するベクトル演算命令より段数の短い演
算機能を使用するベクトル演算命令を続けて発行する
際、先行するベクトル演算命令に対応するベクトルレジ
スタ読出し中期間が経過し更に上記二つの演算機能が使
用する段数の差に相当する時間が経過したところで、即
ち先行するベクトル演算命令に対応するベクトルレジス
タ書込み中期間の終了時点より後続のベクトル演算命令
が使用する演算機能の段数分相当時間遡った時点で、後
続のベクトル演算命令の発行を行なうようにしたので、
ベクトル演算器内でデータの重なりを生じない範囲で極
力速やかに後続のベクトル演算命令の発行が可能とな
り、ベクトル演算命令の実行間に無駄な時間がなくなる
ので、ベクトル演算命令の発行の高速化が可能となる。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、 第2図は命令発行部15の処理内容例を示す流れ図、 第3図は発行されるベクトル演算命令の種類とセットさ
れるフラグとの関係を示す図、 第4図は第3図でセットされたフラグがセット状態を保
持する期間を示す図、 第5図は発行するベクトル演算命令とそのときにチェッ
クするフラグの関係を示す図、 第6図は演算結果のベクトル演算器内での衝突および演
算間のロスがないようにベクトル演算命令を連続して発
行できるタイミングを示す図、 第7図は本発明の実施例の動作説明用のタイムチャー
ト、 第8図は段数の異なる複数の演算機能を有するベクトル
演算器の説明図および、 第9図は従来方式の動作説明用のタイムチャートであ
る。 図において、 1……VLレジスタ、9……第2デコーダ 2……段数レジスタ、10……第1出力信号 3……命令レジスタ、11……第2出力信号 4……命令デコーダ、12……第1フラグ 5……加算器、13−B〜13−D……第2フラグ 6……第1カウンタ 7……第2カウンタ、14……フラグセット部 8……第1デコーダ、15……命令発行部

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】同一演算器内にパイプライン段数の異なる
    n個の演算機能が含まれるベクトル演算器に対し、先行
    するベクトル演算命令とベクトルレジスタ干渉の起きな
    いベクトル演算命令を連続して起動するベクトル演算命
    令発行制御方式において、 ベクトル演算命令のベクトル要素数と該ベクトル演算命
    令が使用する演算機能のパイプライン段数との加算値に
    相当する時間の経過を計測する計測手段と、 該計測手段の計測時間の残余の時間が、前記n個の演算
    機能の最大のパイプライン段数のものを除く残りのn−
    1種の演算機能のうち、次に発行すべきベクトル演算命
    令で使用する演算機能のパイプライン段数相当に等しく
    なったことを検出する検出手段とを備え、 発行すべきベクトル演算命令がパイプライン段数の最も
    短い演算機能を使用する命令でないときは、前記計測手
    段により、該ベクトル演算命令の発行時に該ベクトル演
    算命令のベクトル要素数と使用する演算機能のパイプラ
    イン段数との加算値に相当する時間を計測させておき、
    先行するベクトル演算命令より短いパイプライン段数の
    演算機能を使用するベクトル演算命令を発行するとき
    は、前記検出手段の検出タイミングに従って発行するこ
    とを特徴とするベクトル演算命令発行制御方式。
JP63050758A 1988-03-04 1988-03-04 ベクトル演算命令発行制御方式 Expired - Lifetime JP2544770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63050758A JP2544770B2 (ja) 1988-03-04 1988-03-04 ベクトル演算命令発行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63050758A JP2544770B2 (ja) 1988-03-04 1988-03-04 ベクトル演算命令発行制御方式

Publications (2)

Publication Number Publication Date
JPH01224872A JPH01224872A (ja) 1989-09-07
JP2544770B2 true JP2544770B2 (ja) 1996-10-16

Family

ID=12867737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63050758A Expired - Lifetime JP2544770B2 (ja) 1988-03-04 1988-03-04 ベクトル演算命令発行制御方式

Country Status (1)

Country Link
JP (1) JP2544770B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5699554B2 (ja) * 2010-11-11 2015-04-15 富士通株式会社 ベクトル処理回路、命令発行制御方法、及びプロセッサシステム
JP5834997B2 (ja) 2012-02-23 2015-12-24 株式会社ソシオネクスト ベクトルプロセッサ、ベクトルプロセッサの処理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58189770A (ja) * 1982-04-28 1983-11-05 Hitachi Ltd ベクトル処理装置

Also Published As

Publication number Publication date
JPH01224872A (ja) 1989-09-07

Similar Documents

Publication Publication Date Title
US4214305A (en) Multi-processor data processing system
JPH04367936A (ja) スーパースカラープロセッサ
JP2806524B2 (ja) ベクトル演算命令発行制御方法
US4385365A (en) Data shunting and recovering device
JP2544770B2 (ja) ベクトル演算命令発行制御方式
JPS60118977A (ja) パイプライン制御方式
JP2812610B2 (ja) パイプライン制御方式
JPS586971B2 (ja) 演算処理装置
JP2558831B2 (ja) パイプライン制御方式
JPS582975A (ja) ベクトル・デ−タ処理装置の制御方式
JP2584528Y2 (ja) 情報処理装置
JP2600457B2 (ja) ベクトル計算機
JPS60118976A (ja) パイプライン制御方式
JPS61131047A (ja) パイプライン制御方式
JPH03257665A (ja) 情報処理装置
JPH076062A (ja) Cpuの稼働率測定方法
JPS61187195A (ja) メモリリフレツシユ制御方式
JPS63174173A (ja) 情報処理装置
JPH0228724A (ja) 分岐命令制御方式
JPS6367217B2 (ja)
JPH06295252A (ja) 計算機
JPH0419575B2 (ja)
JPS59184950A (ja) プログラム実行方式
JPH0282318A (ja) 浮動小数点演算装置
JPH03288929A (ja) 二重パイプライン制御方式

Legal Events

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

Free format text: PAYMENT UNTIL: 20070725

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 12