JPH02230368A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH02230368A JPH02230368A JP4980389A JP4980389A JPH02230368A JP H02230368 A JPH02230368 A JP H02230368A JP 4980389 A JP4980389 A JP 4980389A JP 4980389 A JP4980389 A JP 4980389A JP H02230368 A JPH02230368 A JP H02230368A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- resource
- execution
- signal
- 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.)
- Pending
Links
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ処理装置、特にベクトル演算を高速に
実行するのに好適なデータ処理装置(以下これをベクト
ルプロセッサと呼ぶ)に関する.〔従来の技術〕 ベクトルプロセッサは、科学技術計算において頻繁に現
れる行列計算を高速に行うことのできる計算機であり、
1クロック毎にベクトルデータを投入できるバイブライ
ン構成のメモリリクエスタや演算*(以下これらをまと
めてリソースと呼ぶ)を複数有している.また,上記リ
ソースから供給されるデータの一時的な格納や上記リソ
ースへのデータの供給を高速に行うために1クロツク毎
にベクトルデータの読出しもしくは書込みを行える複数
のベクトルレジスタを有するベクトルプロセッサが多い
. 上記のリソースやベクトルレジスタを有することにより
、ベクトルプロセッサは命令の実行中は1クロック毎に
ベクトルデータを処理することができる.さらに,同一
のリソースやベクトルレジスタを使用する2つの命令の
間に生じる待ち(即ち先行する命令が最後のベクトルデ
ータを処理してから、該命令の実行終了通知が命令制御
ユニットに通知され、後続の命令が最初のベクトルデー
タの処理を開始できるようになるまでの時間)をゼロに
するために,従来は、リソース対応に各リソースで実行
中の命令及び次に実行すべき命令を保持する手段を設け
ている.そして,先行する命令が最後のベクトルデータ
を処理する前に、命令制御ユニットは後続の命令の実行
開始の予約をリソース及びベクトルレジスタに対して行
ない、2命令の実行に間隔が空かないようにしている.
〔発明が解決しようとする課題〕 上記従来技術では,後続命令を実行可能なリソースが複
数あった場合は、先行命令の実行が終了する前に、該リ
ソースのいずれかを選択して後続命令の実行開始予約指
示を行なう.その際に、選択されたリソースで実行中の
先行命令が終了する前に、選択されなかったリソースで
全ての命令の実行が終了してしまうことがあり得る.こ
の場合,稼動していないリソースがあるにも拘らず、実
行開始の予約指示をされた後続命令の実行開始は待たさ
れることになり、リソースの稼動率が悪くなるという問
題があった. 本発明の目的は、リソースの稼動率を悪くしないような
リソースの選択方法を提供することにある. 〔課題を解決するための手段〕 上記目的を達成するために、本発明では各リソース対応
に保持されている命令の実行が、どのリソースで最も早
く終了するかを予測する手段を設ける. 命令実行終了の早遅の予測方法には以下に示すものがあ
る. (1)早く実行開始予約指示の成された命令ほど早く命
令の実行が終了すると予測するもの(2)早く実行中に
なった命令ほど早く命令の実行が終了すると予測するも
の (3)未処理のベクトル要索数の少ない命令ほど早く命
令の実行が終了すると予測するもの(1)の方法は命令
の実行開始予測指示を行なう度にその旨を記録しておく
回路を設けることにより実現される. (2)の方法は各リソース対応に保持されている実行待
ちの命令が実行中になったらその旨を記録しておく回路
を設けることにより実現される.(3)の方法は、各リ
ソースにおいてベクトル要素が処理される度にその旨を
記録しておき,リソース間で未処理ベクトル要素数を比
較する回路を設けることにより実現される. (1)より(2)が、(2)より(3)の方が予測を行
なうための物薫は増加するが,予測の精度は良くなる. (作用〕 上記のように、リソース対応に実行中及び実行すべき命
令を保持し、先行命令の実行が終了する前に後続命令の
実行開始予約指示をリソースに対して行なうデータ処理
装置において、上記保持されている命令の実行終了が最
も早いリソースがどれかを予測する手段を設け、該最も
早く命令の実行が終了すると予厠されるリソースに対し
て命令の実行開始予約指示を行うようにする.それによ
って、ある命令があるリソースに対応した命令保持手段
に保持されていて実行開始を待たされているにも拘らず
、該命令を実行可能な他のリソースでは何も命令を実行
していないという状態を避けることができ、リソースの
稼動率が向上する.〔実施例〕 以下、本発明を実施例を参照して詳細に説明する. 全体構成 第1図は,本発明の概略装置構成を示す図である. 第1図中、1は主記憶、2は命令解読ユニット、9は命
令実行開始の予約信号を発行する命令発行ユニットであ
る.命令発行ユニット9内にはリソース選択機構がある
(詳細後述).10,11,12,13は夫々メモリリ
クエスタ0,メモリリクエスタ1,加算器,乗算鼎であ
り,14はベクトルレジスタユニットである.ベクトル
レジスタユニット14内には,ベクトルレジスタ,各リ
ソースに対応する実行開始可能命令予約手段を内部に持
ちかつ該予約手段を制御する命令実行開始制御ユニット
(図中ICTLと記す)がある(詳細後述). 命令解読ユニット2は、命令取り出しユニット(図示せ
ず)の制御により主記憶1がら取り出されたベクトル命
令を信号線Ω1を通じて受取り、命令を,実行すべき演
算の種類を示すオペコード,ベクトル長,読出し或いは
書込みに使用するベクトルレジスタ番号,使用するリソ
ース番号等の命令の実行に必要な情報に解読して、その
情報を信号線a2を通じて命令発行ユニット9に送出す
ると共に、命令の実行で使用するベクトルレジスタの番
号とリソースの番号とを夫々信号線Q3,Ω4を通じて
レジスタ読み出し/書き込み要求保持レジスタ3とリソ
ース使用要求保持レジスタ5とにセットする.本実施例
ではリソースはメモリリクエスタO(1 0),メモリ
リクエスタ1(11)と、加算器12,乗算器13の4
つであるとし、各々のリソース番号をOから3までとす
る.またベクトルレジスタはOから31までの番号のつ
いた32本とする. 図中4はレジスタ使用状態保持レジスタであり、各ベク
トルレジスタ対応にそのレジスタが読み出しに使用中か
否か書き込みに使用中が否かの状態を保持している.図
中6はリソース予約状態保持レジスタであり、各リソふ
スが,実行開始予約済み命令を幾つ保持しているかを表
示している(詳細後述). レジスタ使用可否判定ユニット7はレジスタ読み出し/
書き込み要求保持レジスタ3とレジスタ使用状態保持レ
ジスタ4とに保持されている情帽を信号線15.16を
通じて得、解読した命令で読み出し若しくは書き込みに
使用するベクトルレジスタが使用可能であるか否かを毎
クロック判定し、判定結果を信号線29を通じて命令発
行ユニット9に伝える.レジスタ使用可否の判定方法は
特公昭61−52512号に詳してのでここでは割愛す
る。
実行するのに好適なデータ処理装置(以下これをベクト
ルプロセッサと呼ぶ)に関する.〔従来の技術〕 ベクトルプロセッサは、科学技術計算において頻繁に現
れる行列計算を高速に行うことのできる計算機であり、
1クロック毎にベクトルデータを投入できるバイブライ
ン構成のメモリリクエスタや演算*(以下これらをまと
めてリソースと呼ぶ)を複数有している.また,上記リ
ソースから供給されるデータの一時的な格納や上記リソ
ースへのデータの供給を高速に行うために1クロツク毎
にベクトルデータの読出しもしくは書込みを行える複数
のベクトルレジスタを有するベクトルプロセッサが多い
. 上記のリソースやベクトルレジスタを有することにより
、ベクトルプロセッサは命令の実行中は1クロック毎に
ベクトルデータを処理することができる.さらに,同一
のリソースやベクトルレジスタを使用する2つの命令の
間に生じる待ち(即ち先行する命令が最後のベクトルデ
ータを処理してから、該命令の実行終了通知が命令制御
ユニットに通知され、後続の命令が最初のベクトルデー
タの処理を開始できるようになるまでの時間)をゼロに
するために,従来は、リソース対応に各リソースで実行
中の命令及び次に実行すべき命令を保持する手段を設け
ている.そして,先行する命令が最後のベクトルデータ
を処理する前に、命令制御ユニットは後続の命令の実行
開始の予約をリソース及びベクトルレジスタに対して行
ない、2命令の実行に間隔が空かないようにしている.
〔発明が解決しようとする課題〕 上記従来技術では,後続命令を実行可能なリソースが複
数あった場合は、先行命令の実行が終了する前に、該リ
ソースのいずれかを選択して後続命令の実行開始予約指
示を行なう.その際に、選択されたリソースで実行中の
先行命令が終了する前に、選択されなかったリソースで
全ての命令の実行が終了してしまうことがあり得る.こ
の場合,稼動していないリソースがあるにも拘らず、実
行開始の予約指示をされた後続命令の実行開始は待たさ
れることになり、リソースの稼動率が悪くなるという問
題があった. 本発明の目的は、リソースの稼動率を悪くしないような
リソースの選択方法を提供することにある. 〔課題を解決するための手段〕 上記目的を達成するために、本発明では各リソース対応
に保持されている命令の実行が、どのリソースで最も早
く終了するかを予測する手段を設ける. 命令実行終了の早遅の予測方法には以下に示すものがあ
る. (1)早く実行開始予約指示の成された命令ほど早く命
令の実行が終了すると予測するもの(2)早く実行中に
なった命令ほど早く命令の実行が終了すると予測するも
の (3)未処理のベクトル要索数の少ない命令ほど早く命
令の実行が終了すると予測するもの(1)の方法は命令
の実行開始予測指示を行なう度にその旨を記録しておく
回路を設けることにより実現される. (2)の方法は各リソース対応に保持されている実行待
ちの命令が実行中になったらその旨を記録しておく回路
を設けることにより実現される.(3)の方法は、各リ
ソースにおいてベクトル要素が処理される度にその旨を
記録しておき,リソース間で未処理ベクトル要素数を比
較する回路を設けることにより実現される. (1)より(2)が、(2)より(3)の方が予測を行
なうための物薫は増加するが,予測の精度は良くなる. (作用〕 上記のように、リソース対応に実行中及び実行すべき命
令を保持し、先行命令の実行が終了する前に後続命令の
実行開始予約指示をリソースに対して行なうデータ処理
装置において、上記保持されている命令の実行終了が最
も早いリソースがどれかを予測する手段を設け、該最も
早く命令の実行が終了すると予厠されるリソースに対し
て命令の実行開始予約指示を行うようにする.それによ
って、ある命令があるリソースに対応した命令保持手段
に保持されていて実行開始を待たされているにも拘らず
、該命令を実行可能な他のリソースでは何も命令を実行
していないという状態を避けることができ、リソースの
稼動率が向上する.〔実施例〕 以下、本発明を実施例を参照して詳細に説明する. 全体構成 第1図は,本発明の概略装置構成を示す図である. 第1図中、1は主記憶、2は命令解読ユニット、9は命
令実行開始の予約信号を発行する命令発行ユニットであ
る.命令発行ユニット9内にはリソース選択機構がある
(詳細後述).10,11,12,13は夫々メモリリ
クエスタ0,メモリリクエスタ1,加算器,乗算鼎であ
り,14はベクトルレジスタユニットである.ベクトル
レジスタユニット14内には,ベクトルレジスタ,各リ
ソースに対応する実行開始可能命令予約手段を内部に持
ちかつ該予約手段を制御する命令実行開始制御ユニット
(図中ICTLと記す)がある(詳細後述). 命令解読ユニット2は、命令取り出しユニット(図示せ
ず)の制御により主記憶1がら取り出されたベクトル命
令を信号線Ω1を通じて受取り、命令を,実行すべき演
算の種類を示すオペコード,ベクトル長,読出し或いは
書込みに使用するベクトルレジスタ番号,使用するリソ
ース番号等の命令の実行に必要な情報に解読して、その
情報を信号線a2を通じて命令発行ユニット9に送出す
ると共に、命令の実行で使用するベクトルレジスタの番
号とリソースの番号とを夫々信号線Q3,Ω4を通じて
レジスタ読み出し/書き込み要求保持レジスタ3とリソ
ース使用要求保持レジスタ5とにセットする.本実施例
ではリソースはメモリリクエスタO(1 0),メモリ
リクエスタ1(11)と、加算器12,乗算器13の4
つであるとし、各々のリソース番号をOから3までとす
る.またベクトルレジスタはOから31までの番号のつ
いた32本とする. 図中4はレジスタ使用状態保持レジスタであり、各ベク
トルレジスタ対応にそのレジスタが読み出しに使用中か
否か書き込みに使用中が否かの状態を保持している.図
中6はリソース予約状態保持レジスタであり、各リソふ
スが,実行開始予約済み命令を幾つ保持しているかを表
示している(詳細後述). レジスタ使用可否判定ユニット7はレジスタ読み出し/
書き込み要求保持レジスタ3とレジスタ使用状態保持レ
ジスタ4とに保持されている情帽を信号線15.16を
通じて得、解読した命令で読み出し若しくは書き込みに
使用するベクトルレジスタが使用可能であるか否かを毎
クロック判定し、判定結果を信号線29を通じて命令発
行ユニット9に伝える.レジスタ使用可否の判定方法は
特公昭61−52512号に詳してのでここでは割愛す
る。
リソース使用可否判定ユニット8はリソース使用要求保
持レジスタ5とリソース予約状態保持レジスタ6とに保
持されている情報を信号線a7慮8を通じて得、解読し
た命令を実行すべきリソースに対しさらに命令実行開始
予約を行なってよいか否かを毎クロック判定し、判定結
果を信号線Q10を通じて命令発行ユニット9に伝える
(詳細後述). 命令発行ユニット9は上記レジスタ使用可否判定結果と
リソース使用可否判定結果とが共に肯定的だった場合に
、以下の動作を行なう。
持レジスタ5とリソース予約状態保持レジスタ6とに保
持されている情報を信号線a7慮8を通じて得、解読し
た命令を実行すべきリソースに対しさらに命令実行開始
予約を行なってよいか否かを毎クロック判定し、判定結
果を信号線Q10を通じて命令発行ユニット9に伝える
(詳細後述). 命令発行ユニット9は上記レジスタ使用可否判定結果と
リソース使用可否判定結果とが共に肯定的だった場合に
、以下の動作を行なう。
即ち、ベクトルレジスタユニット14に対し、信号,s
Q14を通じてオベコード,ベクトル長,使用ベクトル
レジスタ番号、等の命令実行に必要な情報を送ると共に
、該命令を実行すべきリソースを選択してベクトルレジ
スタユニット14にある該リソースに対応する命令実行
開始制御ユニットに対する命令実行開始の予約信号を信
号線fll3を通じて発行する。また、実行開始の予約
を行なった命令で使用するベクトルレジスタやリソース
に関するレジスタ使用状態保持レジスタ4とリソース予
約状態保持レジスタ6の内容を信号線011を通じて更
新する.さらに命令解読ユニット2に対し、信号線Ω1
2を通じて、該命令の実行開始予約が終了した旨通知す
る。命令解読ユニット2は、命令の実行開始予約が終了
した旨の通知を受けると、次のベクトル命令の解読結果
を信号線Q2,13,Ω4上に送出する. 命令発行ユニット9は、レジスタ使用可否判定結果とリ
ソース使用可否判定結果の少なくともいずれか一方が否
定的だった場合には信号線Q11,j212,fil3
, Q14に何も送出しない。そのため命令解読ユニッ
ト2は次の命令の解読結果を信号線Q2.Q3,Q4上
に送り出さず、レジスタ読み出し/書き込み要求保持レ
ジスタ3とリソース使用要求保持レジスタ5の内容は変
化しない.一方、レジスタ使用状態保持レジスタ4とリ
ソース予約状態保持レジスタ6の内容は信号線Q58,
1259,fil8,fi28,Q45.1253によ
り、命令の実行が終了すると更新される.レジスタ使用
可否判定ユニット7及びリソース使用可否判定ユニット
8は毎クロツクレジスタ及びリソースの使用可否の判定
を行なっており,上記使用可否の判定結果が双方とも肯
定的になった時に,命令発行ユニット9は命令実行開始
予約を行なう.オペコード,ベクトル長,使用ベクトル
レジスタ番号、等の命令実行に必要な情報は信号線11
4を通じてベクトルレジスタユニット14に伝えられる
。ベクトルレジスタユニット14は、各リソース10,
11,12.13に対して、オペコード,ベクトル長な
どの情報を夫々信号線1215,fi25,fi41,
fi49を通じて送出し、各リソース10,11,12
,13は該信号線で示された命令を実行する. 以下各々のリソースの動作概略を説明する.メモリリク
エスタO(10)は、信号線fll5に示される主記憶
読み出し命令を実行する。主記憶読み出し命令は、主記
憶上のベクトルデータを読出し、ベクトルレジスタに格
納する命令である.また、メモリリクエスタO(10)
が信号線Q15から受取る内容は、実行すべき命令の種
類を示すオペコード,該命令でアドレス生成に使用する
アドレスレジスタ(図示せず)の番号及びベクトル長で
ある。
Q14を通じてオベコード,ベクトル長,使用ベクトル
レジスタ番号、等の命令実行に必要な情報を送ると共に
、該命令を実行すべきリソースを選択してベクトルレジ
スタユニット14にある該リソースに対応する命令実行
開始制御ユニットに対する命令実行開始の予約信号を信
号線fll3を通じて発行する。また、実行開始の予約
を行なった命令で使用するベクトルレジスタやリソース
に関するレジスタ使用状態保持レジスタ4とリソース予
約状態保持レジスタ6の内容を信号線011を通じて更
新する.さらに命令解読ユニット2に対し、信号線Ω1
2を通じて、該命令の実行開始予約が終了した旨通知す
る。命令解読ユニット2は、命令の実行開始予約が終了
した旨の通知を受けると、次のベクトル命令の解読結果
を信号線Q2,13,Ω4上に送出する. 命令発行ユニット9は、レジスタ使用可否判定結果とリ
ソース使用可否判定結果の少なくともいずれか一方が否
定的だった場合には信号線Q11,j212,fil3
, Q14に何も送出しない。そのため命令解読ユニッ
ト2は次の命令の解読結果を信号線Q2.Q3,Q4上
に送り出さず、レジスタ読み出し/書き込み要求保持レ
ジスタ3とリソース使用要求保持レジスタ5の内容は変
化しない.一方、レジスタ使用状態保持レジスタ4とリ
ソース予約状態保持レジスタ6の内容は信号線Q58,
1259,fil8,fi28,Q45.1253によ
り、命令の実行が終了すると更新される.レジスタ使用
可否判定ユニット7及びリソース使用可否判定ユニット
8は毎クロツクレジスタ及びリソースの使用可否の判定
を行なっており,上記使用可否の判定結果が双方とも肯
定的になった時に,命令発行ユニット9は命令実行開始
予約を行なう.オペコード,ベクトル長,使用ベクトル
レジスタ番号、等の命令実行に必要な情報は信号線11
4を通じてベクトルレジスタユニット14に伝えられる
。ベクトルレジスタユニット14は、各リソース10,
11,12.13に対して、オペコード,ベクトル長な
どの情報を夫々信号線1215,fi25,fi41,
fi49を通じて送出し、各リソース10,11,12
,13は該信号線で示された命令を実行する. 以下各々のリソースの動作概略を説明する.メモリリク
エスタO(10)は、信号線fll5に示される主記憶
読み出し命令を実行する。主記憶読み出し命令は、主記
憶上のベクトルデータを読出し、ベクトルレジスタに格
納する命令である.また、メモリリクエスタO(10)
が信号線Q15から受取る内容は、実行すべき命令の種
類を示すオペコード,該命令でアドレス生成に使用する
アドレスレジスタ(図示せず)の番号及びベクトル長で
ある。
メモリリクエスタO(10)は、命令で指定されたアド
レスレジスタの情報を使用して,読み出しベクトルデー
タの主記憶上のアドレスを順次生成し、信号Mffil
5で示されたベクトル長分の該アドレス及び該アドレス
が有効であることを示すアドレスの有効信号を信号線1
16,117を通じて主記憶制御ユニット(図示せず)
から主記憶に送出する.主記憶からのデータ読出しは、
主記憶のアドレス競合及び読出しパス競合などにより、
間欠的になる場合があるが、データの移動の際には常に
該データの有効性を示すデータ有効信号が送出され、命
令の実行制御は該データ有効信号に従って行われる。主
記憶から読み出されたベクトルデータをデータ有効信号
と共に信号a19,820を通じてメモリリクエスタO
(10)に送られ、ベクトルレジスタユニット14に、
メモリリクエスタO (10)は該信号を信号線Q22
,Q23を通じて送る。ベクトルレジスタユニット14
は、信号線fl22を介して受け取ったベクトルデータ
を,該データの有効信号が1の時のみ、メモリリクエス
タO (10)で実行中の命令に指定されたベクトルレ
ジスタに書き込む。メモリリクエスタ0(10)は信号
線Q15で示されたベクトル命令で扱う最後のベクトル
データのアドレス有効信号Q17を主記憶に送出する時
に同時にアドレス最終信号Q18も送出する6信号線2
15で示されたベクトル命令で扱う最後のベクトルデー
タが主記憶から読み出された時、該ベクトルデ−タの有
効信号Q20と同時にデータ最終信号慮21も送出され
、さらにベクトルレジスタユニット14にも、信号線Q
23と同時に,信号線Ω24を通じて送られる. アドレス最終信号1218はベクトルレジスタユニット
14にも伝えられ、ベクトルレジスタユニット14は信
号線Q18を受取ると、信号線fil5の内容をメモリ
リクエスタO(10)で次に実行すべき命令に直ちに切
換える. メモリリクススタO(10)は信号線fil5に示され
るオペコード等の情報を実クロック受取り、該情報をメ
モリリクエスタのパイプラインステージに同期させて移
動させて各ステージを制御する構成になっている.その
ため,信号線filS上にある有効な命令が別の有効な
命令に間隔をあけずに切換わっても、メモリリクエスタ
O(10)は夫々の命令で扱うデータのアドレスを間隔
をあけずに生成して,主記憶への送出を開始する.さら
に、アドレス最終信号118は、メモリリクエスタO(
10)でベクトル命令の実行が終了したことを通知する
信号としてリソース予約状態保持レジスタ6にも送出さ
れ、リソース予約状態保持レジスタ6の内容を更新する
. メモリリクエスタ1(11)は、信号線fi25に示さ
れる主記憶読み出し命令若しくは主記憶書き込み命令を
実行する。主記憶書込み命令は、ベクトルレジスタ上の
ベクトルデータを読出し、主記憶に沓込む命令である.
また、メモリリクエスタ1(11)が信号線ff25か
ら受け取る内容は、実行する命令の種類を示すオペコー
ド,使用するアドレスレジスタの番号及びベクトル長で
ある。
レスレジスタの情報を使用して,読み出しベクトルデー
タの主記憶上のアドレスを順次生成し、信号Mffil
5で示されたベクトル長分の該アドレス及び該アドレス
が有効であることを示すアドレスの有効信号を信号線1
16,117を通じて主記憶制御ユニット(図示せず)
から主記憶に送出する.主記憶からのデータ読出しは、
主記憶のアドレス競合及び読出しパス競合などにより、
間欠的になる場合があるが、データの移動の際には常に
該データの有効性を示すデータ有効信号が送出され、命
令の実行制御は該データ有効信号に従って行われる。主
記憶から読み出されたベクトルデータをデータ有効信号
と共に信号a19,820を通じてメモリリクエスタO
(10)に送られ、ベクトルレジスタユニット14に、
メモリリクエスタO (10)は該信号を信号線Q22
,Q23を通じて送る。ベクトルレジスタユニット14
は、信号線fl22を介して受け取ったベクトルデータ
を,該データの有効信号が1の時のみ、メモリリクエス
タO (10)で実行中の命令に指定されたベクトルレ
ジスタに書き込む。メモリリクエスタ0(10)は信号
線Q15で示されたベクトル命令で扱う最後のベクトル
データのアドレス有効信号Q17を主記憶に送出する時
に同時にアドレス最終信号Q18も送出する6信号線2
15で示されたベクトル命令で扱う最後のベクトルデー
タが主記憶から読み出された時、該ベクトルデ−タの有
効信号Q20と同時にデータ最終信号慮21も送出され
、さらにベクトルレジスタユニット14にも、信号線Q
23と同時に,信号線Ω24を通じて送られる. アドレス最終信号1218はベクトルレジスタユニット
14にも伝えられ、ベクトルレジスタユニット14は信
号線Q18を受取ると、信号線fil5の内容をメモリ
リクエスタO(10)で次に実行すべき命令に直ちに切
換える. メモリリクススタO(10)は信号線fil5に示され
るオペコード等の情報を実クロック受取り、該情報をメ
モリリクエスタのパイプラインステージに同期させて移
動させて各ステージを制御する構成になっている.その
ため,信号線filS上にある有効な命令が別の有効な
命令に間隔をあけずに切換わっても、メモリリクエスタ
O(10)は夫々の命令で扱うデータのアドレスを間隔
をあけずに生成して,主記憶への送出を開始する.さら
に、アドレス最終信号118は、メモリリクエスタO(
10)でベクトル命令の実行が終了したことを通知する
信号としてリソース予約状態保持レジスタ6にも送出さ
れ、リソース予約状態保持レジスタ6の内容を更新する
. メモリリクエスタ1(11)は、信号線fi25に示さ
れる主記憶読み出し命令若しくは主記憶書き込み命令を
実行する。主記憶書込み命令は、ベクトルレジスタ上の
ベクトルデータを読出し、主記憶に沓込む命令である.
また、メモリリクエスタ1(11)が信号線ff25か
ら受け取る内容は、実行する命令の種類を示すオペコー
ド,使用するアドレスレジスタの番号及びベクトル長で
ある。
主記憶読み出し命令を実行する場合,メモリリクエスタ
1(11)は、命令で指定されたアドレスレジスタの情
報を使用して読み出しベクトルデータの主記憶アドレス
を順次生成し,該アドレス及び該アドレスの有効信号及
び該アドレスの最終信号を信号111!Q26, Q2
7,fl28を通じて主記憶に送出する.主記憶から読
み出されたベクトルデータはデータ有効信号及びデータ
最終信号と共に信号線Q29,ρ30,Ω31を通じて
メモリリクエスタ1(11)に送られ、ベクトルレジス
タユニット14に、メモリリクエスタ1(11)は該信
号を信号線ff35,fi36, Q37を通じて送る
.ベクトルレジスタユニット14は,信号線Q35を介
して受け取ったベクトルデータを、該データの有効信号
が1の時のみ、メモリリクエスタ1(11)で実行中の
命令に指定されたベクトルレジスタに書き込む. 主記憶書き込み命令を実行する場合、メモリリクエスタ
1(11)は,ベクトルレジスタユニット14から信号
線Q38,1239,Q40を介して書き込みベクトル
データ,データ有効信号,デ〜夕最終信号を受取り、該
データの有効信号が1の時のみ該データを書き込むべき
主記憶上のアドレスをアドレスレジスタの情報を使って
順次生成し,該アドレス及び該アドレスの有効信号,該
アドレスのアドレス最終信号を信号線Q32, Q33
,ffi34を介して、主記憶に送出する。
1(11)は、命令で指定されたアドレスレジスタの情
報を使用して読み出しベクトルデータの主記憶アドレス
を順次生成し,該アドレス及び該アドレスの有効信号及
び該アドレスの最終信号を信号111!Q26, Q2
7,fl28を通じて主記憶に送出する.主記憶から読
み出されたベクトルデータはデータ有効信号及びデータ
最終信号と共に信号線Q29,ρ30,Ω31を通じて
メモリリクエスタ1(11)に送られ、ベクトルレジス
タユニット14に、メモリリクエスタ1(11)は該信
号を信号線ff35,fi36, Q37を通じて送る
.ベクトルレジスタユニット14は,信号線Q35を介
して受け取ったベクトルデータを、該データの有効信号
が1の時のみ、メモリリクエスタ1(11)で実行中の
命令に指定されたベクトルレジスタに書き込む. 主記憶書き込み命令を実行する場合、メモリリクエスタ
1(11)は,ベクトルレジスタユニット14から信号
線Q38,1239,Q40を介して書き込みベクトル
データ,データ有効信号,デ〜夕最終信号を受取り、該
データの有効信号が1の時のみ該データを書き込むべき
主記憶上のアドレスをアドレスレジスタの情報を使って
順次生成し,該アドレス及び該アドレスの有効信号,該
アドレスのアドレス最終信号を信号線Q32, Q33
,ffi34を介して、主記憶に送出する。
メモリリクエスタ1(11)もメモリリクエスタO(1
0)と同様信号線Q25上の有効な命令が別の有効な命
令に直ちに切換わっても、夫々の命令で扱うデータのア
ドレスを間隔をあけずに生成することができるように構
成されている.アドレス最終信号228はベクトルレジ
スタ14にも伝えられ、ベクトルレジスタユニット14
は信号線Q25の内容をメモリリクエスタ1(11)で
次に実行すべき命令に直ちに切換えると共に、該次の命
令が主記憶書込み命令であった場合は、メモリリクエス
タ1(11)へ信号線Ω38,fi39,Ω4oを通じ
て書込みベクトルデータの送出を開始する.そして、メ
モリリクエスタ1(11)は直ちに次のベクトル命令で
扱うベクトルデータのアドレスの主記憶への送出を直ち
に開始する. さらに、アドレス最終信号Q2Bは、メモリリクエスタ
1(11)でベクトル命令の実行が終了したことを通知
する信号としてリソース予約状態保持レジスタ6にも送
出され、リソース予約状態保持レジスタ6の内容を更新
する。
0)と同様信号線Q25上の有効な命令が別の有効な命
令に直ちに切換わっても、夫々の命令で扱うデータのア
ドレスを間隔をあけずに生成することができるように構
成されている.アドレス最終信号228はベクトルレジ
スタ14にも伝えられ、ベクトルレジスタユニット14
は信号線Q25の内容をメモリリクエスタ1(11)で
次に実行すべき命令に直ちに切換えると共に、該次の命
令が主記憶書込み命令であった場合は、メモリリクエス
タ1(11)へ信号線Ω38,fi39,Ω4oを通じ
て書込みベクトルデータの送出を開始する.そして、メ
モリリクエスタ1(11)は直ちに次のベクトル命令で
扱うベクトルデータのアドレスの主記憶への送出を直ち
に開始する. さらに、アドレス最終信号Q2Bは、メモリリクエスタ
1(11)でベクトル命令の実行が終了したことを通知
する信号としてリソース予約状態保持レジスタ6にも送
出され、リソース予約状態保持レジスタ6の内容を更新
する。
加算器12は信号線Ω41に示される加算系の演算命令
を実行する。演算命令は2本のベクトルレジスタから読
み出したベクトルデータ同士の演算を行ない、1本のベ
クトルレジスタに格納する命令である.加算器12が信
号線241から受け取る内容は、実行すべき演算の種類
を示すオペコードである. 加算器12は、ベクトルレジスタユニット14から信号
線Ω42,Q43を介して送られた2このベクトルデー
タ同士を、該データの有効信号Q44が1の時のみ信号
線I241で示されるオペコードに従って演算し、演算
結果を信号線Q46に,該演算結果の有効性を示すデー
タ有効信号を047に送出して、ベクトルレジスタユニ
ット14に送出する.ベクトルレジスタユニット14は
、加算器12で実行する命令で扱う最後のベクトルデー
タの有効信号Q44を送出する時同時に、データ最終信
号Q45を送出する.加算器12は、該データ最終信号
Ω45を受け取ると、上記最後のベクトルデータ同士の
演算結果の有効信号Q47と同時にデータ最終信号Q4
8を送出する.ベクトルレジスタユニット14は、デー
タ最終信号円45を送出すると直ちに信号線fl41の
内容を加算器で次に実行すべき命令に切換えると同時に
、該命令で扱う読出しデータ及び該データの有効信号の
信号線Q42,ffi43,!44への送出を開始する
. 加算器12も、メモリリクエスタO(10)と同様信号
線+241に示される命令のオペコード等の情報を毎夕
ロック受取り、該情報を加算器のパイプラインステージ
に同期して移動させて各ステージを制御する構成になっ
ている.そのため、信号線Ω41上にある有効な命令が
別の演算を指示する有効な命令に間隔をあけずに切換わ
っても、夫々の命令で扱うベクトルデータを間隔をあけ
ずに信号線Q42,143から取って、異なる演算を加
算鼎のパイプラインの各ステージを全くあけずに実行す
る. さらに、データ最終信号Q45は、加算器12でベクト
ル命令の実行が終了したことを通知する信号としてリソ
ース予約状態保持レジスタ6にも送出され、リソース予
約状態保持レジスタ6の内容を更新する。
を実行する。演算命令は2本のベクトルレジスタから読
み出したベクトルデータ同士の演算を行ない、1本のベ
クトルレジスタに格納する命令である.加算器12が信
号線241から受け取る内容は、実行すべき演算の種類
を示すオペコードである. 加算器12は、ベクトルレジスタユニット14から信号
線Ω42,Q43を介して送られた2このベクトルデー
タ同士を、該データの有効信号Q44が1の時のみ信号
線I241で示されるオペコードに従って演算し、演算
結果を信号線Q46に,該演算結果の有効性を示すデー
タ有効信号を047に送出して、ベクトルレジスタユニ
ット14に送出する.ベクトルレジスタユニット14は
、加算器12で実行する命令で扱う最後のベクトルデー
タの有効信号Q44を送出する時同時に、データ最終信
号Q45を送出する.加算器12は、該データ最終信号
Ω45を受け取ると、上記最後のベクトルデータ同士の
演算結果の有効信号Q47と同時にデータ最終信号Q4
8を送出する.ベクトルレジスタユニット14は、デー
タ最終信号円45を送出すると直ちに信号線fl41の
内容を加算器で次に実行すべき命令に切換えると同時に
、該命令で扱う読出しデータ及び該データの有効信号の
信号線Q42,ffi43,!44への送出を開始する
. 加算器12も、メモリリクエスタO(10)と同様信号
線+241に示される命令のオペコード等の情報を毎夕
ロック受取り、該情報を加算器のパイプラインステージ
に同期して移動させて各ステージを制御する構成になっ
ている.そのため、信号線Ω41上にある有効な命令が
別の演算を指示する有効な命令に間隔をあけずに切換わ
っても、夫々の命令で扱うベクトルデータを間隔をあけ
ずに信号線Q42,143から取って、異なる演算を加
算鼎のパイプラインの各ステージを全くあけずに実行す
る. さらに、データ最終信号Q45は、加算器12でベクト
ル命令の実行が終了したことを通知する信号としてリソ
ース予約状態保持レジスタ6にも送出され、リソース予
約状態保持レジスタ6の内容を更新する。
乗算器13は信号線49に示される乗算系の演算命令を
実行する.乗算器13は実行する演算命令が加算器12
と異なるが、その動作概略は既に述べた加算器12の動
作と同様である。
実行する.乗算器13は実行する演算命令が加算器12
と異なるが、その動作概略は既に述べた加算器12の動
作と同様である。
即ち、ベクトルレジスタユニット14から信号[125
0,1251, Q52, Ω53を介して送られ
る2つのベクトルデータ、該データの有効信号,及び該
データの最終信号を受け取ると、2つのベクトルデータ
同士に対し信号線1249に示された演算を施し、該演
算結果,該演算結果の有効信号,該演算結果の最終信号
を信号線Q54,Ω55,fl56に送出する.また、
ベクトルレジスタユニット14から送られる読出しデー
タの最終信号fl53は、命令の実行の終了に通知とし
てレジスタ予約状態表示レジスタ6にも送られる.上記
のように各リソースは,ベクトルレジスタユニット14
から実行すべき命令及び読出しベクトルデータを間隔を
あけずに受取れば、パイプラインの各ステージを全くあ
けずに処理を行うことができる. ベクトルレジスタユニット 以下ベクトルレジスタユニット14の動作を第2図に従
って説明する. 第2図はベクトルレジスタユニット14の内部構成を示
した図である. 図中37.38.39は夫々ベクトルデータを保持する
ベクトルレジスタである.ベクトルレジスタは32本あ
るが、図では省略して3本した示していない.図中33
.34,35.36は、夫夫メモリリクエスタO (1
0),メモリリクエスタ1(11),加算器12,乗算
器13から信号線fi22,ffi35,ffi46,
Q54を介シテ送られてくる書込みデータを,各ベクト
ルレジスタへの書込みバス280に振り分けるリソース
対応のデイストリビュータである.また40,41,4
2は,各ベクトルレジスタの続出バス1181上の続出
データを選択して夫々メモリリクエスタ1 (11),
加算器12,乗算器13へのデータ信号線1238,Q
42, 1243,fi50,fl51へ送出するリソ
ース対応のセレクタである。
0,1251, Q52, Ω53を介して送られ
る2つのベクトルデータ、該データの有効信号,及び該
データの最終信号を受け取ると、2つのベクトルデータ
同士に対し信号線1249に示された演算を施し、該演
算結果,該演算結果の有効信号,該演算結果の最終信号
を信号線Q54,Ω55,fl56に送出する.また、
ベクトルレジスタユニット14から送られる読出しデー
タの最終信号fl53は、命令の実行の終了に通知とし
てレジスタ予約状態表示レジスタ6にも送られる.上記
のように各リソースは,ベクトルレジスタユニット14
から実行すべき命令及び読出しベクトルデータを間隔を
あけずに受取れば、パイプラインの各ステージを全くあ
けずに処理を行うことができる. ベクトルレジスタユニット 以下ベクトルレジスタユニット14の動作を第2図に従
って説明する. 第2図はベクトルレジスタユニット14の内部構成を示
した図である. 図中37.38.39は夫々ベクトルデータを保持する
ベクトルレジスタである.ベクトルレジスタは32本あ
るが、図では省略して3本した示していない.図中33
.34,35.36は、夫夫メモリリクエスタO (1
0),メモリリクエスタ1(11),加算器12,乗算
器13から信号線fi22,ffi35,ffi46,
Q54を介シテ送られてくる書込みデータを,各ベクト
ルレジスタへの書込みバス280に振り分けるリソース
対応のデイストリビュータである.また40,41,4
2は,各ベクトルレジスタの続出バス1181上の続出
データを選択して夫々メモリリクエスタ1 (11),
加算器12,乗算器13へのデータ信号線1238,Q
42, 1243,fi50,fl51へ送出するリソ
ース対応のセレクタである。
夫々のベクトルレジスタ37.38.39に対応して,
該ベクトルレジスタの読出し/書込みを制御するベクト
ルレジスタ制御回路18,19.20がある. また29,30,31,32は夫々メモリリクエスタO
(10),メモリリクエスタ1(11),加算器12
,乗算器13に対する読出データ有効信号及び最終信号
の送出等を行うリソース対応のオペランド制御回路であ
る。
該ベクトルレジスタの読出し/書込みを制御するベクト
ルレジスタ制御回路18,19.20がある. また29,30,31,32は夫々メモリリクエスタO
(10),メモリリクエスタ1(11),加算器12
,乗算器13に対する読出データ有効信号及び最終信号
の送出等を行うリソース対応のオペランド制御回路であ
る。
図中22.24,26.28は夫々メモリリクエスタO
(10),メモリリクエスタ1(11),加算器12
,乗算器13で実行中の命令を保持する命令レジスタで
あり、夫々実行開始可能命令予約手段を内部にもつ上記
4つのリソース対応の命令実行開始制御ユニット2 1
(ROICTL) , 2 3(RIICTL) ,
2 5 (AICTL) , 2 7 (MICTL
)によって値を設定される。該命令レジスタ22,24
,26.28は命令で示されるオペコード,ベクトル長
,使用レジスタ番号等の情報を保持している.また44
,46.48は各々メモリリクエスタ1(11),加算
器12,乗算器13で実行中の命令で示される読出レジ
スタ番号を保持する命令レジスタであり、夫々実行開始
可能命令予約手段を内部に持つ上記3つのリソース対応
の命令実行開始制御ユニット4 3 (Rl}[)IC
TL) , 4 5 (A}IDIcTL) ,4 7
(?lRDICTL)によって値を設定される.命令
レジスタ22.24,26.28の情報は夫々対応する
リソース及びオペランド制御回路に送られ,リソースで
の命令実行制御及びオペランド制御,書込データパスの
切換え制御に使われる.命令レジスタ44,46.48
の情報は夫々対応するセレクタに送られ,読出データパ
スの切換え制御に使われる. 以下、動作の詳細を説明する。
(10),メモリリクエスタ1(11),加算器12
,乗算器13で実行中の命令を保持する命令レジスタで
あり、夫々実行開始可能命令予約手段を内部にもつ上記
4つのリソース対応の命令実行開始制御ユニット2 1
(ROICTL) , 2 3(RIICTL) ,
2 5 (AICTL) , 2 7 (MICTL
)によって値を設定される。該命令レジスタ22,24
,26.28は命令で示されるオペコード,ベクトル長
,使用レジスタ番号等の情報を保持している.また44
,46.48は各々メモリリクエスタ1(11),加算
器12,乗算器13で実行中の命令で示される読出レジ
スタ番号を保持する命令レジスタであり、夫々実行開始
可能命令予約手段を内部に持つ上記3つのリソース対応
の命令実行開始制御ユニット4 3 (Rl}[)IC
TL) , 4 5 (A}IDIcTL) ,4 7
(?lRDICTL)によって値を設定される.命令
レジスタ22.24,26.28の情報は夫々対応する
リソース及びオペランド制御回路に送られ,リソースで
の命令実行制御及びオペランド制御,書込データパスの
切換え制御に使われる.命令レジスタ44,46.48
の情報は夫々対応するセレクタに送られ,読出データパ
スの切換え制御に使われる. 以下、動作の詳細を説明する。
ベクトルレジスタユニット14には、命令発行ユニット
9から,信号I!Ω14を通じて実行すべき命令のオペ
コード,ベクトル長,使用ベクトルレジスタ番号等の情
報が、信号線M13を通じて該命令の予約信号が送られ
てくる。信号線Q13は各リソース番号0から3に対応
した4ビットから成っていて、該命令を実行すべきリソ
ースの番号に対応するビットにのみlが送られてくる.
各命象実行開始制御ユニット21,23,25,27は
,信号線Q13の各ビットのうち、該命令実行開始制御
ユニットが対応するリソース番号に対応するビットの値
が1の時のみ信号線I2l4の内容を取り込む。また、
各命令実行開始制御ユニット43.45.47は,信号
FiAQ13の各ビットのうち、該命令実行開始制御ユ
ニットが対応するリソース番号に対応するビットの値が
1の時のみ信号線fil4の内容のうち続出レジスタ番
号情報のみを取り込む. 各命令実行開始制御ユニット21,23,25,27,
43,45.47は夫々独立に動作して、該命令実行開
始制御ユニットに対応するリソースで実行中の命令がな
ければ直ちに、実行中の命令があれば該命令の実行終了
通知1218,Q28,4145,Q53,Q28,j
l45,1253を待つ゜て、取り込んだ信号線Q14
の内容を、夫々信号線1268,170,Q72,17
4,fi82,Q84,0.86を通じて、通応する命
令レジスタ22,24,26,28,44,46.48
に設定する.ここで、同一リソースに対応する命令レジ
スタ,24と44.26と46.28と48には夫々同
じタイミングで値が設定される(詳細後述)。
9から,信号I!Ω14を通じて実行すべき命令のオペ
コード,ベクトル長,使用ベクトルレジスタ番号等の情
報が、信号線M13を通じて該命令の予約信号が送られ
てくる。信号線Q13は各リソース番号0から3に対応
した4ビットから成っていて、該命令を実行すべきリソ
ースの番号に対応するビットにのみlが送られてくる.
各命象実行開始制御ユニット21,23,25,27は
,信号線Q13の各ビットのうち、該命令実行開始制御
ユニットが対応するリソース番号に対応するビットの値
が1の時のみ信号線I2l4の内容を取り込む。また、
各命令実行開始制御ユニット43.45.47は,信号
FiAQ13の各ビットのうち、該命令実行開始制御ユ
ニットが対応するリソース番号に対応するビットの値が
1の時のみ信号線fil4の内容のうち続出レジスタ番
号情報のみを取り込む. 各命令実行開始制御ユニット21,23,25,27,
43,45.47は夫々独立に動作して、該命令実行開
始制御ユニットに対応するリソースで実行中の命令がな
ければ直ちに、実行中の命令があれば該命令の実行終了
通知1218,Q28,4145,Q53,Q28,j
l45,1253を待つ゜て、取り込んだ信号線Q14
の内容を、夫々信号線1268,170,Q72,17
4,fi82,Q84,0.86を通じて、通応する命
令レジスタ22,24,26,28,44,46.48
に設定する.ここで、同一リソースに対応する命令レジ
スタ,24と44.26と46.28と48には夫々同
じタイミングで値が設定される(詳細後述)。
命令レジスタ22,24,26.28の内容のうち、メ
モリリクエスタ0(10)及びメモリリクエスタ1(1
1)にはオペコード及びベクトル長が、加算器12及び
乗算器13にはオベコードが、夫々信号線1215,Q
25,1241,fl49を通じて直ちに送られ、以降
該命令の実行が終了するまで送り続けられる. また、命令レジスタ22,24,26.28の内容は直
ちに対応するオペランド制御回路29,30,31,3
2に夫々信号線fl69,fi71,Q73,1117
5を通じて送られ、該信号を受取ったオペランド制御回
路は夫々独立に該信号に示される使用レジスタ番号に対
応するベクトルレジスタ制御回路18,19.20に読
出し若しくは書込みの開始指示を与える.読出し/書込
みの開始指示には各オペランド制御回路29,30,3
1,32からリソース対応に信号線Ω65−1に送出さ
れるが、S一G変換器路16によりレジスタ対応の読出
し/書込み開始指示に変換され、信号線Q66を通じて
各ベクトルレジスタ制御回路18,19.20に与えら
れる. また、命令レジスタ44,46.48に読出しレジスタ
番号が設定されると,読出バスのセレクタ40,41.
42は信号線嚢83,fl84,Q85を経て該続出し
レジスタ番号情帷を得,直ちに読出しバスの接続を切り
換える.一方書込バスのデイストリビュータ33,34
,35,36は,夫々信号線Q76,Ω77,1278
,α79の指示により切り換えられるが、該切換えの指
示は、夫々対応するオペランド制御回路により,対応す
る命令レジスタに値が設定されてから一定の間隔をあけ
て送出される.ここで一定の間隔とは各々のリソースに
固有の値であり、データが読出されてから演算を施され
再び書込まれるまでの時間(これをトラベルタイムと呼
ぶ)に等しい.さらに、各オペランド制御回路29,3
0,31,32゜は、信号線Q65−2を通じて各リソ
ースがどのレジスタに書込みを行うかの情報をトラベル
タイム分の間隔をあけてS−G変換回路15に与える. さて、各命令レジスタに設定された命令がベクトルレジ
スタの読出しを行う命令、即ち主記憶書込み命令若しく
は演算命令だった場合、該命令を実行するリソースであ
るメモリリクエスタ1 (11),加算器12,乗算器
13に対応するオペランド制御回路30,31.32は
読出しデータの有効信号139,Q44, Q52を命
令レジスタ24,26.28を示されたベクトル長分順
次生成して、対応するリソースに送出する。一方読出し
開始指示をうけたベクトルレジスタ制御回路は、対応す
るベクトルレジスタから順次データを読出し,読出しバ
スΩ80に送出する.有効信号の生成制御及びデータ読
出し制御については特公昭61− 52512号に詳し
いのでここでは述べない.読出しバスΩ80上に読出さ
れたデータはセレクタ40,41.42により各リソー
スに信号線Q38, I242,Q43,850,fi
51を通じて順次送出される.ここで読出バスの切換え
は、命令レジスタ44,46.48に値が設定されると
直ちに行われているので,読出されたデータは然るべき
リソースに対して送出される.メモリリクエスタO (
10),メモリリクエスタ1(11)で主記憶読出し命
令を実行している場合,或いは加算器12,乗算器で演
算命令を実行している場合、各リソースから信号線a2
2,4135,Q46,154を通じて書込みデータが
、信号線Q23,136,fl47,155を通じて該
データの有効信号が順次送られてくる.書込みデータの
有効信号fl23,Q36,fl47,fl55はリソ
ース対応に送られてくるが,S−G変換回路15により
各ベクトルレジスタに対するデータ有効信号Q59,
+261, Q63に変換され、各ベクトルレジスタ制
御回路18,19.20を与えられる.ここでリソース
番号とレジスタ番号の変換に必要な情報は、命令レジス
タ22,24,26,28に値が設定されてからトラベ
ルタイム分の間隔をあけて信号線fi65−2を通じて
S一G変換回路15に与えられ、各リソースから最初の
書込みデータ有効信号がQ23,fi36,Q47,Q
55を通じて届くタイミングにちょうど間に合うように
なっている. 一方、各リソースから送られてくる書込みデー9m22
,(135,Q46,Q54は、デイストリビュータ3
3,34,35.36により然るべきベクトルレジスタ
への書込みバスρ80に振分けられる.ここで書込みパ
スの切換え指示信号ffi76,177,fl78,
Q79は、命令レジスタ22,24,26,28に値が
設定されてからトラベルタイム分の間隔をあけて送出さ
れ、各リソースから最初の書込みデータが信号線α22
,Q35,Ω46,Q54を通じて届くタイミングにち
ょうど間に合うようになっている。
モリリクエスタ0(10)及びメモリリクエスタ1(1
1)にはオペコード及びベクトル長が、加算器12及び
乗算器13にはオベコードが、夫々信号線1215,Q
25,1241,fl49を通じて直ちに送られ、以降
該命令の実行が終了するまで送り続けられる. また、命令レジスタ22,24,26.28の内容は直
ちに対応するオペランド制御回路29,30,31,3
2に夫々信号線fl69,fi71,Q73,1117
5を通じて送られ、該信号を受取ったオペランド制御回
路は夫々独立に該信号に示される使用レジスタ番号に対
応するベクトルレジスタ制御回路18,19.20に読
出し若しくは書込みの開始指示を与える.読出し/書込
みの開始指示には各オペランド制御回路29,30,3
1,32からリソース対応に信号線Ω65−1に送出さ
れるが、S一G変換器路16によりレジスタ対応の読出
し/書込み開始指示に変換され、信号線Q66を通じて
各ベクトルレジスタ制御回路18,19.20に与えら
れる. また、命令レジスタ44,46.48に読出しレジスタ
番号が設定されると,読出バスのセレクタ40,41.
42は信号線嚢83,fl84,Q85を経て該続出し
レジスタ番号情帷を得,直ちに読出しバスの接続を切り
換える.一方書込バスのデイストリビュータ33,34
,35,36は,夫々信号線Q76,Ω77,1278
,α79の指示により切り換えられるが、該切換えの指
示は、夫々対応するオペランド制御回路により,対応す
る命令レジスタに値が設定されてから一定の間隔をあけ
て送出される.ここで一定の間隔とは各々のリソースに
固有の値であり、データが読出されてから演算を施され
再び書込まれるまでの時間(これをトラベルタイムと呼
ぶ)に等しい.さらに、各オペランド制御回路29,3
0,31,32゜は、信号線Q65−2を通じて各リソ
ースがどのレジスタに書込みを行うかの情報をトラベル
タイム分の間隔をあけてS−G変換回路15に与える. さて、各命令レジスタに設定された命令がベクトルレジ
スタの読出しを行う命令、即ち主記憶書込み命令若しく
は演算命令だった場合、該命令を実行するリソースであ
るメモリリクエスタ1 (11),加算器12,乗算器
13に対応するオペランド制御回路30,31.32は
読出しデータの有効信号139,Q44, Q52を命
令レジスタ24,26.28を示されたベクトル長分順
次生成して、対応するリソースに送出する。一方読出し
開始指示をうけたベクトルレジスタ制御回路は、対応す
るベクトルレジスタから順次データを読出し,読出しバ
スΩ80に送出する.有効信号の生成制御及びデータ読
出し制御については特公昭61− 52512号に詳し
いのでここでは述べない.読出しバスΩ80上に読出さ
れたデータはセレクタ40,41.42により各リソー
スに信号線Q38, I242,Q43,850,fi
51を通じて順次送出される.ここで読出バスの切換え
は、命令レジスタ44,46.48に値が設定されると
直ちに行われているので,読出されたデータは然るべき
リソースに対して送出される.メモリリクエスタO (
10),メモリリクエスタ1(11)で主記憶読出し命
令を実行している場合,或いは加算器12,乗算器で演
算命令を実行している場合、各リソースから信号線a2
2,4135,Q46,154を通じて書込みデータが
、信号線Q23,136,fl47,155を通じて該
データの有効信号が順次送られてくる.書込みデータの
有効信号fl23,Q36,fl47,fl55はリソ
ース対応に送られてくるが,S−G変換回路15により
各ベクトルレジスタに対するデータ有効信号Q59,
+261, Q63に変換され、各ベクトルレジスタ制
御回路18,19.20を与えられる.ここでリソース
番号とレジスタ番号の変換に必要な情報は、命令レジス
タ22,24,26,28に値が設定されてからトラベ
ルタイム分の間隔をあけて信号線fi65−2を通じて
S一G変換回路15に与えられ、各リソースから最初の
書込みデータ有効信号がQ23,fi36,Q47,Q
55を通じて届くタイミングにちょうど間に合うように
なっている. 一方、各リソースから送られてくる書込みデー9m22
,(135,Q46,Q54は、デイストリビュータ3
3,34,35.36により然るべきベクトルレジスタ
への書込みバスρ80に振分けられる.ここで書込みパ
スの切換え指示信号ffi76,177,fl78,
Q79は、命令レジスタ22,24,26,28に値が
設定されてからトラベルタイム分の間隔をあけて送出さ
れ、各リソースから最初の書込みデータが信号線α22
,Q35,Ω46,Q54を通じて届くタイミングにち
ょうど間に合うようになっている。
予め書込み開始指示をうけていた各ベクトルレジスタ制
御回路18,19.20は,書込みデータ有効信号fi
59,A61,fi63を順次受取り、該有効信号の値
が1の時のみ、対応するベクトルレジスタ37.38.
39に信号線Q80上の値を順次書込む。
御回路18,19.20は,書込みデータ有効信号fi
59,A61,fi63を順次受取り、該有効信号の値
が1の時のみ、対応するベクトルレジスタ37.38.
39に信号線Q80上の値を順次書込む。
メモリリクエスタ1 (11),加算器12,乗算器1
3に対応するオペランド制御回路30,31.32は,
対応する命令レジスタ24,26.28で示される命令
で扱う最後のベクトルデータの有効信号039,Q44
, 1252を各リソースに送出する時同時にデータの
最終信号1240,Q45,053を各リソースに対し
送出する.該データ最終信号のうち加算器12,乗算器
13に対応する最終信号Q45. 1253は同時に加
算器12,乗算器13の命令実行終了通知としても使用
され、夫々命令実行開始制御ユニット25と45、及び
27と47に与えられる.メモリリクエスタO (10
),メモリリクエスタ1(11)の命令実行終了通知は
夫々通応するリソースから信号線Q18.Q2Bを通じ
て得られ、夫々命令実行開始制御ユニット21、及び2
3と43に与えられる。
3に対応するオペランド制御回路30,31.32は,
対応する命令レジスタ24,26.28で示される命令
で扱う最後のベクトルデータの有効信号039,Q44
, 1252を各リソースに送出する時同時にデータの
最終信号1240,Q45,053を各リソースに対し
送出する.該データ最終信号のうち加算器12,乗算器
13に対応する最終信号Q45. 1253は同時に加
算器12,乗算器13の命令実行終了通知としても使用
され、夫々命令実行開始制御ユニット25と45、及び
27と47に与えられる.メモリリクエスタO (10
),メモリリクエスタ1(11)の命令実行終了通知は
夫々通応するリソースから信号線Q18.Q2Bを通じ
て得られ、夫々命令実行開始制御ユニット21、及び2
3と43に与えられる。
さらに各オペランド制御回路29,30,31,32は
,データ最終信号を送出する時同時にベクトルレジスタ
制御回路に対し読出し終了通知を送出する.読出し終了
通知は信号線Q67によりリソース対応に送出されるが
、S−G変換回路17によりレジスタ対応の読出し終了
通知に変換され,信号線Q6Bを通じて各ベクトルレジ
スタ制御回路18,19.20に伝えられる.読出し終
了通知を受取ったベクトルレジスタ制御回路18,19
.20は、対応するベクトルレジスタの読出制御を終了
し,信号線1257を通じてレジスタ使用状態保持レジ
スタ4に対しレジスタ対応の続出終了通知を送出する. 一方、各リソースから送られてくる書込みデータの有効
信号Q23,Q36,fl47,1255の対応する書
込みデータが各命令で扱う最後の書込みデータであった
場合は、該データ有効信号と同時にデータ最終信号が信
号線Q24, Q37,Q4B,1256を通じて各リ
ソースから送られてくる。該データ最終信号Q24,Q
3’l,Q4B,Q56は、S−G変換回路15により
ベクトルレジスタ対応のデータ最終信号Q60, 12
62,Q64に変換されて各ベクトルレジスタ制御回路
に与えられる。各ベクトルレジスタ制御回路18,19
.20は、データ最終信号Q60,Q62,Q64を書
込み終了通知として受取り、対応するベクトルレジスタ
への書込み制御を終了し、信号線Q58を通じてレジス
タ使用状態保持レジスタ4に対してレジスタ対応の書込
み終了通知を送出する. 各命令実行開始制御ユニット21,23,25,27,
43,45.47は命令実行終了通知218,Q2B,
Q45, Q53を受取ると直ちに対応する命令レジス
タ22,24,26,28,44,46,48の値を次
に実行すべき命令に切換える(詳細後述). そのためメモリリクエスタO (10),メモリリクエ
スタ1(11)には、命令実行終了通知Q18,ffi
28が送出された次のクロックには,次に実行すべき命
令のオペコード及びベクトル長が送出される.また,メ
モリリクエスタO(10),メモリリクエスタ1(11
)に対応するオペランド制御回路は、命令実行終了通知
218,fl28が送出された次のクロックにはベクト
ルレジスタ制御回路18,19.20に読出し/書込み
開始指示を行うと共に、同時に該命令で扱う最初の読出
しデータの有効信号Q39を送出できる。一方セレクタ
4oは、命令実行終了通知Q2Bが送出された次のクロ
ックには読出しバスQ81の接続を切換えるので、読出
し開始指示を受けたベクトルレジスタ制御回路18,1
9.20により読出されたデータは然るべきリソースに
送出される。
,データ最終信号を送出する時同時にベクトルレジスタ
制御回路に対し読出し終了通知を送出する.読出し終了
通知は信号線Q67によりリソース対応に送出されるが
、S−G変換回路17によりレジスタ対応の読出し終了
通知に変換され,信号線Q6Bを通じて各ベクトルレジ
スタ制御回路18,19.20に伝えられる.読出し終
了通知を受取ったベクトルレジスタ制御回路18,19
.20は、対応するベクトルレジスタの読出制御を終了
し,信号線1257を通じてレジスタ使用状態保持レジ
スタ4に対しレジスタ対応の続出終了通知を送出する. 一方、各リソースから送られてくる書込みデータの有効
信号Q23,Q36,fl47,1255の対応する書
込みデータが各命令で扱う最後の書込みデータであった
場合は、該データ有効信号と同時にデータ最終信号が信
号線Q24, Q37,Q4B,1256を通じて各リ
ソースから送られてくる。該データ最終信号Q24,Q
3’l,Q4B,Q56は、S−G変換回路15により
ベクトルレジスタ対応のデータ最終信号Q60, 12
62,Q64に変換されて各ベクトルレジスタ制御回路
に与えられる。各ベクトルレジスタ制御回路18,19
.20は、データ最終信号Q60,Q62,Q64を書
込み終了通知として受取り、対応するベクトルレジスタ
への書込み制御を終了し、信号線Q58を通じてレジス
タ使用状態保持レジスタ4に対してレジスタ対応の書込
み終了通知を送出する. 各命令実行開始制御ユニット21,23,25,27,
43,45.47は命令実行終了通知218,Q2B,
Q45, Q53を受取ると直ちに対応する命令レジス
タ22,24,26,28,44,46,48の値を次
に実行すべき命令に切換える(詳細後述). そのためメモリリクエスタO (10),メモリリクエ
スタ1(11)には、命令実行終了通知Q18,ffi
28が送出された次のクロックには,次に実行すべき命
令のオペコード及びベクトル長が送出される.また,メ
モリリクエスタO(10),メモリリクエスタ1(11
)に対応するオペランド制御回路は、命令実行終了通知
218,fl28が送出された次のクロックにはベクト
ルレジスタ制御回路18,19.20に読出し/書込み
開始指示を行うと共に、同時に該命令で扱う最初の読出
しデータの有効信号Q39を送出できる。一方セレクタ
4oは、命令実行終了通知Q2Bが送出された次のクロ
ックには読出しバスQ81の接続を切換えるので、読出
し開始指示を受けたベクトルレジスタ制御回路18,1
9.20により読出されたデータは然るべきリソースに
送出される。
加算鼎12,乗算器13にも命令実行終了通知であるデ
ータ読出し最終信号Q45,1253が送出された次の
クロックには次に実行すべき命令のオペコードが送出さ
れ、同じタイミングで各ベクトルレジスタ制御回路18
,19.20に読出し/iF込み開始指示が伝えられる
と共に、該命令で扱う最初の読出しデータの有効信号a
44,Ω52が送出されるので、異なる命令間で全く間
隔をあけずに各リソースにデータ有効信号144,ff
i52が送出されることになる.一方で該同じタイミン
グでセレクタ41.42は読出しバスfl81の接続を
切換えるので、読出しデータは然るべきリソースに送出
される. さらにデイストリビュータ33,34,35.36によ
る書込パスa80の切換えは、ある命令の実行終了通知
Ω18,悲28,145,4153が送出されてから,
該命令を実行するリソースのトラベルタイムだけ間隔を
あけて行われる.そのため、該命令で扱う最後の書込デ
ータが該命令で書込みを指定されたベクトルレジスタ3
7.38.39への書込みパスIt80上に送られてく
るまで,書込バスn80は該命令の書込みレジスタに接
続されており、該データは然るべきレジスタに書込まれ
る.そして、その次のクロックには書込みパスQ80の
接続が切換えられ、該命令の次の命令で扱う最初の書込
データが間隔をあけずに該リソースから送られてきても
、該書込みデータは然るべきレジスタに書込まれる. 上記のように,ベクトルレジスタユニット14内に、リ
ソース対応の実行開始可能命令予約手段を内部に持つ命
令実行開始制御ユニットを設けたことにより、各リソー
スに対し実行すべき命令のオペコード及びベクトル長と
読出しベクトルデータを間隔をあけずに送出することが
できる.また,本実施例では、命令実行開始制御ユニッ
トをベクトルレジスタユニット14内にのみ設け,該命
令実行開始制御ユニットから各リソースにオペコード及
びベクトル長の情報を送ったが、各リソースを制御する
ユニット内にもオペコード及びベクトル長の情報を保持
する命令予約手段と該予約手段の制御ユニットを設け、
命令発行ユニット9から直接各リソースに該情報を送出
して命令実行開始予約指示を行っても同じ効果が得られ
る。
ータ読出し最終信号Q45,1253が送出された次の
クロックには次に実行すべき命令のオペコードが送出さ
れ、同じタイミングで各ベクトルレジスタ制御回路18
,19.20に読出し/iF込み開始指示が伝えられる
と共に、該命令で扱う最初の読出しデータの有効信号a
44,Ω52が送出されるので、異なる命令間で全く間
隔をあけずに各リソースにデータ有効信号144,ff
i52が送出されることになる.一方で該同じタイミン
グでセレクタ41.42は読出しバスfl81の接続を
切換えるので、読出しデータは然るべきリソースに送出
される. さらにデイストリビュータ33,34,35.36によ
る書込パスa80の切換えは、ある命令の実行終了通知
Ω18,悲28,145,4153が送出されてから,
該命令を実行するリソースのトラベルタイムだけ間隔を
あけて行われる.そのため、該命令で扱う最後の書込デ
ータが該命令で書込みを指定されたベクトルレジスタ3
7.38.39への書込みパスIt80上に送られてく
るまで,書込バスn80は該命令の書込みレジスタに接
続されており、該データは然るべきレジスタに書込まれ
る.そして、その次のクロックには書込みパスQ80の
接続が切換えられ、該命令の次の命令で扱う最初の書込
データが間隔をあけずに該リソースから送られてきても
、該書込みデータは然るべきレジスタに書込まれる. 上記のように,ベクトルレジスタユニット14内に、リ
ソース対応の実行開始可能命令予約手段を内部に持つ命
令実行開始制御ユニットを設けたことにより、各リソー
スに対し実行すべき命令のオペコード及びベクトル長と
読出しベクトルデータを間隔をあけずに送出することが
できる.また,本実施例では、命令実行開始制御ユニッ
トをベクトルレジスタユニット14内にのみ設け,該命
令実行開始制御ユニットから各リソースにオペコード及
びベクトル長の情報を送ったが、各リソースを制御する
ユニット内にもオペコード及びベクトル長の情報を保持
する命令予約手段と該予約手段の制御ユニットを設け、
命令発行ユニット9から直接各リソースに該情報を送出
して命令実行開始予約指示を行っても同じ効果が得られ
る。
また、本実施例では書込みバスff81の切換え指示は
オペランド制御回路29,30,31,32から行なっ
たが、書込みレジスタ番号情報のみを保持する命令予約
手段と該予約手段の制御ユニットを設けて該制御ユニッ
トの出力信号の指示によるデイストリビュータ33,3
4,35,36の切換えを行ってもよい. さらに、本実施例では読出しレジスタ番号情報のみを保
持する命令予約手段を制御する命令実行開始制御ユニッ
ト43,45.47を設け,M命令実行開始制御ユニッ
ト43,45.47の出力信号の指示により読出しバス
Ω81の切換えを行ったが、該命令実行制御ユニット4
3,45.47を設けずに,オペランド制御回路30,
31.32から直接読出しパスQ81の切換えを指示し
てもよい. 実行開始潜御ユニット 次に実行開始制御ユニットの動作を,第2図中の加算器
12に対応する実行開始制御ユニット25を例にとって
第3図を使って説明する.第3図は実行開始制御ユニッ
ト25の内部の構成図烹扁6・本実施例で番よ・実行開
始予約済み命令を、現在実行中の命令を含め2つまで保
持可能とし、実行開始制御ユニット25は、実行開始の
予約を受け付けた順に命令の実行を開始させるものとす
る. 信号線1214には命令発行ユニット9からオペコード
,ベクトル長,使用ベクトルレジスタ番号等の命令実行
に必要な情報が送られてくる。信号線fil3は、命令
発行ユニット9から送られる命令実行開始の予約信号で
あり、上記命令実行情帽を実行開始予約済み命令として
取り込むべきか否かを指定する。信号線845は、加算
器12から送られてくる命令の実行が終了したことを知
らせる信号である.命令レジスタ26は加算器12で現
在実行中の命令を保持するレジスタであり、該レジスタ
26の内容は信号線873. 1215を通じて夫々オ
ペランド制御回路31及び加算器12に伝えられる. 第3図中49は実行待ち中の実行開始予約済み命令を保
持する命令レジスタであり、50はセレクタであり、信
号線1214の内容、若しくは信号線ρ88を介して得
た実行待ち命令レジスタ49の内容のいずれか一方を選
択して信号線Ω72に送出することかできる.本実施例
では実行開始の予約を受け付けた順に命令の実行を開始
されればよいので実行開始制御ユニットは以下の制御を
行なえばよい.即ち,現在実行中の命令がない時に信号
線Q13から命令の実行開始予約指示を受けた場合は、
直ちに信号A!filJ上の実行開始予約命令を信号線
Q72に送出して命令レジスタ26にセットし、現在実
行中の命令がある時に信号線1113から命令の実行開
始予約指示を受けた場合は,信号線nlJ上の実行開始
予約命令を実行待ち命令レジスタ49にセットして,現
在実行中の命令の実行終了の通知を待って実行待ち命令
レジスタ49の内容を命令レジスタ26にセットするよ
う制御する. 以下,上記制御方法を詳しく述べる. 第2図において51は実行開始予約済み命令が幾つ保持
されているかを表示するレジスタで、2ビットからなる
.52は命令の実行開始制御機構で5実行開始予約命令
の予約指示信号113及び実行中命令終了通知信号Q4
5を受けて予約済み命令保持状態表示レジスタ5lの内
容を更新し、実行待ちレジスタ49へのセット信号Q8
9,セレクタ50の切り替え信号Ω90、及び命令レジ
スタ26へのセット信号fl91−Aを送出する.第4
図は予約済み命令保持状態表示レジスタ51の状態遷移
図である.51−1.51−2.51−3.51−4の
各ノードは各々予約済み命令保持状態表示レジスタ51
のビットがとる値である.51−1は実行開始を予約さ
れている命令が全くない状態を表わしている.51−2
は実行開始を予約されている命令が1つだけあり、該命
令が命令レジスタ26に保持されている状態を表わして
いる.51−3は実行開始を予約されている命令が2つ
あり,各々の命令が命令レジスタ26及び実行待ち命令
レジスタ49に保持されている状態を表わしている.5
1−4は、機械が正常に動作していれば本来起こり得な
い信号の組合せを受け取った時に生じる状態であり、こ
の時マシンチェック信号(図示せず)を送出する.第4
図中のI,I,E,Eとは夫々予約指示信号113,実
行中命令終了通知信号4145の値が示しており、工は
予約指示信号巴13の値が1であることを示し、工は予
約指示信号113の値がOであることを示し,Eは実行
中命令終了通知信号Q45の値が1であることを示し、
Eは実行中命令終了通知信号Q45の値が0であること
を示している.ここで、予約指示信号Ω13の値が1で
あるとは命令実行R始の予約を指示されたことを示し、
Oであるとは命令実行開始の予約を指示されなかったこ
とを示している.また実行中命令終了通知信号045の
値が1であるとは実行中命令の終了通知を受けたことを
示し、0であるとは実行中命令の終了通知を受けなかっ
たことを示している. 第3図中の実行開始制御機拷52は、予約指示信号Ω1
3,実行中命令終了通知信号Q45を受けると,信号線
Ω93を通じて得たその時の予約済み命令保持状態表示
レジスタ51の値に応じて、信号線Q92を介して該状
態表示レジスタ51の値を第4図の状態遷移図に従い更
新する.予約済み命令保持状態表示レジスタ51の値が
00で,実行開始を予約されている命令が全くない状態
の時に、予約指示信号1213も実行中命令終了通知信
号145も受けとらなかった場合(即ちIかつE)は状
態表示レジスタ51の値を更新する必要はないので、ア
ークa1の示すように状態表示レジスタ51の値は00
のままとする.状態表示レジスタ51の値がOOの時に
,予約指示信号Ω13を受取り実行中命令終了通知信号
fl45を受けとらなかった場合(即ち工かつE)は,
実行開始予約済み命令は命令レジスタ26にのみ保持さ
れるはずなので、アークa2の示すように状態表示レジ
スタ51の値を01に更新する.状態表示レジスタ51
の値が00の時に、実行中命令終了通知信号I145を
受取った場合(即ちE)は、マシンチェック信号を送出
して状態表示レジスタ51の値を11に更新する. 予約済み命令保持状態表示レジスタ51の値が01で、
実行開始を予約されている命令が1つだけあって該命令
が命令レジスタ26に保持されている状態の時に、予約
指示信号Q13も実行中命令終了通知信号Q45も受け
取らなかった場合(即ち工かつE)は、状態表示レジス
タ51の値を更新する必要はないので、アークa4の示
すように状態表示レジスタ51の値は01のままとする
.予約済み命令保持状態表示レジスタ51の値が01の
時に、予約指示信号1213も実行中命令終了通知信号
145も受け取った場合(即ちIかつE)は、命令レジ
スタ26の内容が直ちに信号mQl4の内容に置き換え
られて実行待ちレジスタ49には何も保持されないはず
であるので,アークa4の示すように状態表示レジスタ
51の値は01のままとする.予約済み命令保持状態表
示レジスタ51の値が01の時に、予約指示信号121
3を受取らず実行中命令終了通知信号Q45を受けとっ
た場合(即ち工かつE)は、保持すべき命令がなくなっ
たわけであるから,アークa5の示すように状態表示レ
ジスタ51の値を00に更新する.予約済み命令保持状
態表示レジスタ51の値が01の時に,予約指示信号2
13を受け取って実行中命令終了通知信号Q45を受け
取らなかった場合(即ち工かつE)は、保持すべき実行
開始予行済み命令が2つになったので、アークa6の示
すように状態表示レジスタ51の値を10に更新する. 予約済み命令保持状態表示レジスタ51の値が10で,
実行開始を予約されている命令が2つあって各々の命令
が命令レジスタ26及び実行命令レジスタ49に保持さ
れている状態の時に、予約指示信号1213も実行中命
令終了通知信号fi45も受け取らなかった場合(即ち
lかつE)は、状態表示レジスタ51の値を更新する必
要はないので、アークa7の示すように状態表示レジス
タ51の値は10のままとする.予約済み命令保持状態
表示レジスタ51の値が10の時に、予約指示信号Ω1
3を受取らず実行中命令終了通知信号Q45を受けとっ
た場合(即ちIかつE)は,命令レジスタ26の内容が
直ちに実行待ちレジスタ49の内容に置き換えられて実
行待ちレジスタ49には何も保持されないはずであるの
で、アークa8の示すように状態表示レジスタ51の値
を01に更新する.予約済み命令保持状態表示レジスタ
51の値が10の時に、予約指示信号213を受け取っ
た場合(即ち工)は,マシンチェック信号を送出して状
態表示レジスタ51の値を11に更新する. 第3図中の実行開始制御機構52は,予約指示信号Q1
3,実行中命令終了通知信号Q45及び,信号線α93
を通じて得たその時の予約済み命令保持状態表示レジス
タ51の値を受け取って,命令レジスタ26へのセット
信号Q91,実行待ちレジスタ49へのセット信号28
9,セレクタ50の切り替え信号Q90を送出する.第
5図は、命令レジスタへのセット信号fi91.実行待
ちレジスタ49へのセット信号Q89,セレクタ50の
切り替え信号Q90に設定すべき値を、受け取った信号
Q13,Q45,Q93の値に応じて示した表である.
第3図において,レジスタ26.49は夫々信号線12
91, Q89が1の時、信号線Q72, Q14の値
を保持するものとし、セレクタ50は、信号線Q90の
値がOの信号線Q14の値を、信号線Q90の値が1の
時信号線088の値を選択して信号線272に送出する
ものとする.以下第5図に従って信号を送出した時の第
3図の動作を説明する. 状態表示レジスタ51の値がOoで実行開始を予約され
ている命令が全べ・ない状態の時に、予行指示信号Q1
3を受取り実行中命令終了通知信号Q45を受け取らか
なった場合は、セレクタ50の切り替え信号fl90の
値を0にして命令レジスタ26へのセット信号Q91を
1とすれば、信号線+214の内容を命令レジスタ26
にセットすることができる. 状態表示レジスタ51の値が01で実行開始を予約され
ている命令が命令レジスタ26にのみ保持されている状
態の時に、予約指示信号+213も実行中命令終了通知
信号Ω45も受け取った場合は、セレクタ50の切り替
え信号Q90の値を1にして命令レジスタ26及び実行
待ち命令レジスタ49へのセット信号fi91及びI2
89を1にすれば、実行待ち命令レジスタの内容を命令
レジスタ26にセットするとともに、信号線Q14の内
容を実行待ち命令レジスタ49にセットすることができ
る. 状態表示レジスタ51の値が01の時に、予約指示信号
113を受取り実行中命令終了通知信号Q45を受け取
らなかった場合は,命令レジスタ26へのセット信号1
291をOにして実行待ち命令レジスタ49へのセット
信号Q89を1にすれば,信号線Ω14の内容を実行待
ち命令レジスタ49にのみセットすることができる. 状態表示レジスタ51の値が10で実行開始を予約され
ている命令が命令レジスタ26及び実行命令レジスタ4
9に保持されている状態の時に,予約指示信号Q13を
受取らず実行中命令終了通知信号1245を受けとった
場合は、セレクタ50の切り替え信号890の値を1に
して命令レジスタ26へのセット信号Q91を1にすれ
ば、実行待ち命令レジスタの内容を命令レジスタ26に
セットすることができる. 上記以外の場合には、命令レジスタ26及び実行命令レ
ジスタ49に値をセットする必要がないので命令レジス
タ26へのセット信号Q91,実行待ちレジスタ49へ
のセット信号嚢89,セレクタ5oの切り替え信号Q9
0に全て0を設定すればよい. 上記のように信号に値を設定することにより、実行開始
制御機構52は、現在実行中の命令がない時に信号線Q
13から命令の実行開始予約指示を受けた場合は、直ち
に信号線114上の実行開始予約命令を信号線j172
に送出して命令レジスタ26にセットし、現在実行中の
命令がある時に信号線Ω13から命令の実行開始予約指
示を受けた場合は,信号線Q14上の実行開始予約命令
を実行待ち命令レジスタ49にセットして、現在実行中
の命令の実行終了の通知を待って実行待ち命象レジスタ
49の内容を命令レジスタ26にセットするように制御
することができる. なお、本実施例では、実行開始予約済み命令を,現在実
行中の命令を含め2つまで保持可能としたが、3つ以上
保持できるようにしても本質的に何ら変わらないことは
言うまでもない.また、実行開始制御ユニットが命令の
実行を開始する順番も,実行開始の予約を受付けた順に
特にこだわるものではない. リソース i (判 第1図において、命令の発行制御は、レジスタ使用可否
判定ユニツ1・7及びリソース使用可否判定ユニット8
の判定結果に従って命令発行ユニット9が行う.リソー
スの使用可否の判定は、解読した命令のリソース使用要
求と各リソースの使用予約状態を比較して行う.以下そ
の判定方法及び命令発行制御を説明する.なお,レジス
タ使用可否判定の方法は、特公昭61−52512に詳
しいので、ここでは述べない. 第6図はリソース予約状態保持レジスタ6の構成と,該
レジスタを更新する信号線とを示した図である.リソー
ス予約状態保持レジスタ6は、メモリリクエスタO予約
状態保持部6−0,メモリリクエスタ1予約状態保持部
6−1,加算器予約状態保持部6−2,乗算器予約状態
保持部6−3の4つからなる.信号線fillは命令発
行ユニット9から送出されるレジスタ使用状態保持レジ
スタ4及びリソース予約状態保持レジスタ6の更新信号
で、そのうちの4ビット1211−0, Q11−1,
fill−2, Il11−3がリソース予約状態保持
レジスタ6の更新に使用される.All−Oはメモリリ
クエスタ0に対し実行可能命令の予約指示がなされたこ
とを示す信号であり、α11−1はメモリリクエスタ1
に対し,Ω11−2は加算器に対し、fl 11−3は
乗算器に対し夫々実行可能命令の予行指示がなされたこ
とを示す信号である. 信号線118,Q2B,Q45,153は夫々メモリリ
クエスタ0,メモリリクエスタ1,加算器,乗算器から
送出される命令実行終了通知である.各リソーノの予行
状態保持部6−0.6−1.6−2.6−3は各々2ビ
ットからなり、その値の意味する各リソースの実行開聞
予約済み命令保持状態は、第3図の予約済み命令保持状
態表示レジスタ51の値の意味するものと同じである.
また、状態保持部6−0.6−1.6−2.6−3の各
値を、リソース予約状態保持レジスタ6の更新制御機構
(図示せず)は,第4図の状態遷移図に従って更新する
.但し状態保持部6−0の更新においては、第4図の工
とは信号線Q11−0の値が1であることを表わし,■
とは信号線211−0の値が0であることを、Eとは信
号線1218の値が1であることを、Eとはi号線12
18の値がOであることを表わしている.また、状態保
持部6−1の更新においては、第4図の工とは信号線Q
1 1−1の値が1であることを、工とは信号線12
11−1の値がOであることを、Eとは信号線228の
値が1であることを、Eとは信号線1128の値がOで
あることを表わしている.さらに,状態保持部6−2の
更新においては、第4図のIとは信号線Qll−2の値
が1であることを,■とは信号線n− 1 1 − 2
の値が0であることを、Eとは信号線Q45の値が1で
あることを、Eとは信号線Q45の値が0であることを
表わしている.そして、状態保持部6−3の更新におい
ては、第4図の工とは信号線Q 11−3の値が1であ
ることを,■とは信号線Qll−3の値が0であること
を、Eとは信号線Q53の値が1であることを,Eとは
信号線fl53の値がOであることを表わしている. 上記のように各状態保持部6−0.6−1.6−2.6
−3の値を更新することにより、各状態保持部6−0.
6−1. 6−2. 6−3は夫々各リソース対応の
予約済命令保持状態表示レジスタと全く同じ情籟をもつ
ことになる. 上記各状態保持部6−0.6−1.6−2.6−3は情
報を使用して、リソース使用可否判定ユニット8は、毎
夕ロックリソースの使用可否の判定を行い、また命令発
行ユニット9は、命令を実行させるべきリソースに対し
,レジスタとリソース使用が可能になると直ちに命令実
行開始の予約指示を行う. 以下,それらの動作を説明する. 第3図中のリソース使用可否判定ユニット8は、上記の
ように値が更新されるリソース予約状態保持レジスタ6
とリソース使用要求保持レシスタ5とに保持されている
情報を夫々信号線fl8,Q7を通じて得、解読した命
令で使用するリソースに対しさらに命令寒行開始予約を
行なってよいか否かを判定し、その結果を信号線Q10
に送出する.以下、その制御方法を説明する. 第7図は、上記判定を行なうことのできる回路図である
.第7図中、6はリソース予約状態保持レジスタであり
、5はリソース使用要求保持レジスタである.状態保持
レジスタ6の構成は既に説明したとおりである.要求保
持レジスタ5は、各各1ビットのメモリリクエスタO/
1使用要求保持部5−O,メモリリクエスタ1使用要求
保持部5−1,加算器使用要求保持部5−2,乗算器使
用要求保持部5−3から構成されている.本実施例では
、主記憶読み出し命令を実行できるリソースはメモリリ
クエスタO(10)及びメモリリクエスタ1(11)で
あり、主記憶書き込み命令を実行できるリソースはメモ
リリクエスタ1(11)のみであり、加算系の命令を実
行できるリソースは加算器12のみ、乗算系の命令を実
行できるリソースは乗算器13のみである.そのため、
命令解読ユニット13は、解読した命令が主記憶読み出
し命令ならばメモリリクエスタ071使用要求保持部5
−0に値1を設定し、主記憶書き込み命令ならばメモリ
リクエスタ1使用要求保持部5−1に値1を設定し、加
算系の命令ならば加算器使用要求保持部5−2に値1を
設定し、乗算系の命令ならば乗算器使用要求保持部5−
3に値1を設定する.信号線910はリソース使用可否
判定結果を送出する信号線である。
オペランド制御回路29,30,31,32から行なっ
たが、書込みレジスタ番号情報のみを保持する命令予約
手段と該予約手段の制御ユニットを設けて該制御ユニッ
トの出力信号の指示によるデイストリビュータ33,3
4,35,36の切換えを行ってもよい. さらに、本実施例では読出しレジスタ番号情報のみを保
持する命令予約手段を制御する命令実行開始制御ユニッ
ト43,45.47を設け,M命令実行開始制御ユニッ
ト43,45.47の出力信号の指示により読出しバス
Ω81の切換えを行ったが、該命令実行制御ユニット4
3,45.47を設けずに,オペランド制御回路30,
31.32から直接読出しパスQ81の切換えを指示し
てもよい. 実行開始潜御ユニット 次に実行開始制御ユニットの動作を,第2図中の加算器
12に対応する実行開始制御ユニット25を例にとって
第3図を使って説明する.第3図は実行開始制御ユニッ
ト25の内部の構成図烹扁6・本実施例で番よ・実行開
始予約済み命令を、現在実行中の命令を含め2つまで保
持可能とし、実行開始制御ユニット25は、実行開始の
予約を受け付けた順に命令の実行を開始させるものとす
る. 信号線1214には命令発行ユニット9からオペコード
,ベクトル長,使用ベクトルレジスタ番号等の命令実行
に必要な情報が送られてくる。信号線fil3は、命令
発行ユニット9から送られる命令実行開始の予約信号で
あり、上記命令実行情帽を実行開始予約済み命令として
取り込むべきか否かを指定する。信号線845は、加算
器12から送られてくる命令の実行が終了したことを知
らせる信号である.命令レジスタ26は加算器12で現
在実行中の命令を保持するレジスタであり、該レジスタ
26の内容は信号線873. 1215を通じて夫々オ
ペランド制御回路31及び加算器12に伝えられる. 第3図中49は実行待ち中の実行開始予約済み命令を保
持する命令レジスタであり、50はセレクタであり、信
号線1214の内容、若しくは信号線ρ88を介して得
た実行待ち命令レジスタ49の内容のいずれか一方を選
択して信号線Ω72に送出することかできる.本実施例
では実行開始の予約を受け付けた順に命令の実行を開始
されればよいので実行開始制御ユニットは以下の制御を
行なえばよい.即ち,現在実行中の命令がない時に信号
線Q13から命令の実行開始予約指示を受けた場合は、
直ちに信号A!filJ上の実行開始予約命令を信号線
Q72に送出して命令レジスタ26にセットし、現在実
行中の命令がある時に信号線1113から命令の実行開
始予約指示を受けた場合は,信号線nlJ上の実行開始
予約命令を実行待ち命令レジスタ49にセットして,現
在実行中の命令の実行終了の通知を待って実行待ち命令
レジスタ49の内容を命令レジスタ26にセットするよ
う制御する. 以下,上記制御方法を詳しく述べる. 第2図において51は実行開始予約済み命令が幾つ保持
されているかを表示するレジスタで、2ビットからなる
.52は命令の実行開始制御機構で5実行開始予約命令
の予約指示信号113及び実行中命令終了通知信号Q4
5を受けて予約済み命令保持状態表示レジスタ5lの内
容を更新し、実行待ちレジスタ49へのセット信号Q8
9,セレクタ50の切り替え信号Ω90、及び命令レジ
スタ26へのセット信号fl91−Aを送出する.第4
図は予約済み命令保持状態表示レジスタ51の状態遷移
図である.51−1.51−2.51−3.51−4の
各ノードは各々予約済み命令保持状態表示レジスタ51
のビットがとる値である.51−1は実行開始を予約さ
れている命令が全くない状態を表わしている.51−2
は実行開始を予約されている命令が1つだけあり、該命
令が命令レジスタ26に保持されている状態を表わして
いる.51−3は実行開始を予約されている命令が2つ
あり,各々の命令が命令レジスタ26及び実行待ち命令
レジスタ49に保持されている状態を表わしている.5
1−4は、機械が正常に動作していれば本来起こり得な
い信号の組合せを受け取った時に生じる状態であり、こ
の時マシンチェック信号(図示せず)を送出する.第4
図中のI,I,E,Eとは夫々予約指示信号113,実
行中命令終了通知信号4145の値が示しており、工は
予約指示信号巴13の値が1であることを示し、工は予
約指示信号113の値がOであることを示し,Eは実行
中命令終了通知信号Q45の値が1であることを示し、
Eは実行中命令終了通知信号Q45の値が0であること
を示している.ここで、予約指示信号Ω13の値が1で
あるとは命令実行R始の予約を指示されたことを示し、
Oであるとは命令実行開始の予約を指示されなかったこ
とを示している.また実行中命令終了通知信号045の
値が1であるとは実行中命令の終了通知を受けたことを
示し、0であるとは実行中命令の終了通知を受けなかっ
たことを示している. 第3図中の実行開始制御機拷52は、予約指示信号Ω1
3,実行中命令終了通知信号Q45を受けると,信号線
Ω93を通じて得たその時の予約済み命令保持状態表示
レジスタ51の値に応じて、信号線Q92を介して該状
態表示レジスタ51の値を第4図の状態遷移図に従い更
新する.予約済み命令保持状態表示レジスタ51の値が
00で,実行開始を予約されている命令が全くない状態
の時に、予約指示信号1213も実行中命令終了通知信
号145も受けとらなかった場合(即ちIかつE)は状
態表示レジスタ51の値を更新する必要はないので、ア
ークa1の示すように状態表示レジスタ51の値は00
のままとする.状態表示レジスタ51の値がOOの時に
,予約指示信号Ω13を受取り実行中命令終了通知信号
fl45を受けとらなかった場合(即ち工かつE)は,
実行開始予約済み命令は命令レジスタ26にのみ保持さ
れるはずなので、アークa2の示すように状態表示レジ
スタ51の値を01に更新する.状態表示レジスタ51
の値が00の時に、実行中命令終了通知信号I145を
受取った場合(即ちE)は、マシンチェック信号を送出
して状態表示レジスタ51の値を11に更新する. 予約済み命令保持状態表示レジスタ51の値が01で、
実行開始を予約されている命令が1つだけあって該命令
が命令レジスタ26に保持されている状態の時に、予約
指示信号Q13も実行中命令終了通知信号Q45も受け
取らなかった場合(即ち工かつE)は、状態表示レジス
タ51の値を更新する必要はないので、アークa4の示
すように状態表示レジスタ51の値は01のままとする
.予約済み命令保持状態表示レジスタ51の値が01の
時に、予約指示信号1213も実行中命令終了通知信号
145も受け取った場合(即ちIかつE)は、命令レジ
スタ26の内容が直ちに信号mQl4の内容に置き換え
られて実行待ちレジスタ49には何も保持されないはず
であるので,アークa4の示すように状態表示レジスタ
51の値は01のままとする.予約済み命令保持状態表
示レジスタ51の値が01の時に、予約指示信号121
3を受取らず実行中命令終了通知信号Q45を受けとっ
た場合(即ち工かつE)は、保持すべき命令がなくなっ
たわけであるから,アークa5の示すように状態表示レ
ジスタ51の値を00に更新する.予約済み命令保持状
態表示レジスタ51の値が01の時に,予約指示信号2
13を受け取って実行中命令終了通知信号Q45を受け
取らなかった場合(即ち工かつE)は、保持すべき実行
開始予行済み命令が2つになったので、アークa6の示
すように状態表示レジスタ51の値を10に更新する. 予約済み命令保持状態表示レジスタ51の値が10で,
実行開始を予約されている命令が2つあって各々の命令
が命令レジスタ26及び実行命令レジスタ49に保持さ
れている状態の時に、予約指示信号1213も実行中命
令終了通知信号fi45も受け取らなかった場合(即ち
lかつE)は、状態表示レジスタ51の値を更新する必
要はないので、アークa7の示すように状態表示レジス
タ51の値は10のままとする.予約済み命令保持状態
表示レジスタ51の値が10の時に、予約指示信号Ω1
3を受取らず実行中命令終了通知信号Q45を受けとっ
た場合(即ちIかつE)は,命令レジスタ26の内容が
直ちに実行待ちレジスタ49の内容に置き換えられて実
行待ちレジスタ49には何も保持されないはずであるの
で、アークa8の示すように状態表示レジスタ51の値
を01に更新する.予約済み命令保持状態表示レジスタ
51の値が10の時に、予約指示信号213を受け取っ
た場合(即ち工)は,マシンチェック信号を送出して状
態表示レジスタ51の値を11に更新する. 第3図中の実行開始制御機構52は,予約指示信号Q1
3,実行中命令終了通知信号Q45及び,信号線α93
を通じて得たその時の予約済み命令保持状態表示レジス
タ51の値を受け取って,命令レジスタ26へのセット
信号Q91,実行待ちレジスタ49へのセット信号28
9,セレクタ50の切り替え信号Q90を送出する.第
5図は、命令レジスタへのセット信号fi91.実行待
ちレジスタ49へのセット信号Q89,セレクタ50の
切り替え信号Q90に設定すべき値を、受け取った信号
Q13,Q45,Q93の値に応じて示した表である.
第3図において,レジスタ26.49は夫々信号線12
91, Q89が1の時、信号線Q72, Q14の値
を保持するものとし、セレクタ50は、信号線Q90の
値がOの信号線Q14の値を、信号線Q90の値が1の
時信号線088の値を選択して信号線272に送出する
ものとする.以下第5図に従って信号を送出した時の第
3図の動作を説明する. 状態表示レジスタ51の値がOoで実行開始を予約され
ている命令が全べ・ない状態の時に、予行指示信号Q1
3を受取り実行中命令終了通知信号Q45を受け取らか
なった場合は、セレクタ50の切り替え信号fl90の
値を0にして命令レジスタ26へのセット信号Q91を
1とすれば、信号線+214の内容を命令レジスタ26
にセットすることができる. 状態表示レジスタ51の値が01で実行開始を予約され
ている命令が命令レジスタ26にのみ保持されている状
態の時に、予約指示信号+213も実行中命令終了通知
信号Ω45も受け取った場合は、セレクタ50の切り替
え信号Q90の値を1にして命令レジスタ26及び実行
待ち命令レジスタ49へのセット信号fi91及びI2
89を1にすれば、実行待ち命令レジスタの内容を命令
レジスタ26にセットするとともに、信号線Q14の内
容を実行待ち命令レジスタ49にセットすることができ
る. 状態表示レジスタ51の値が01の時に、予約指示信号
113を受取り実行中命令終了通知信号Q45を受け取
らなかった場合は,命令レジスタ26へのセット信号1
291をOにして実行待ち命令レジスタ49へのセット
信号Q89を1にすれば,信号線Ω14の内容を実行待
ち命令レジスタ49にのみセットすることができる. 状態表示レジスタ51の値が10で実行開始を予約され
ている命令が命令レジスタ26及び実行命令レジスタ4
9に保持されている状態の時に,予約指示信号Q13を
受取らず実行中命令終了通知信号1245を受けとった
場合は、セレクタ50の切り替え信号890の値を1に
して命令レジスタ26へのセット信号Q91を1にすれ
ば、実行待ち命令レジスタの内容を命令レジスタ26に
セットすることができる. 上記以外の場合には、命令レジスタ26及び実行命令レ
ジスタ49に値をセットする必要がないので命令レジス
タ26へのセット信号Q91,実行待ちレジスタ49へ
のセット信号嚢89,セレクタ5oの切り替え信号Q9
0に全て0を設定すればよい. 上記のように信号に値を設定することにより、実行開始
制御機構52は、現在実行中の命令がない時に信号線Q
13から命令の実行開始予約指示を受けた場合は、直ち
に信号線114上の実行開始予約命令を信号線j172
に送出して命令レジスタ26にセットし、現在実行中の
命令がある時に信号線Ω13から命令の実行開始予約指
示を受けた場合は,信号線Q14上の実行開始予約命令
を実行待ち命令レジスタ49にセットして、現在実行中
の命令の実行終了の通知を待って実行待ち命象レジスタ
49の内容を命令レジスタ26にセットするように制御
することができる. なお、本実施例では、実行開始予約済み命令を,現在実
行中の命令を含め2つまで保持可能としたが、3つ以上
保持できるようにしても本質的に何ら変わらないことは
言うまでもない.また、実行開始制御ユニットが命令の
実行を開始する順番も,実行開始の予約を受付けた順に
特にこだわるものではない. リソース i (判 第1図において、命令の発行制御は、レジスタ使用可否
判定ユニツ1・7及びリソース使用可否判定ユニット8
の判定結果に従って命令発行ユニット9が行う.リソー
スの使用可否の判定は、解読した命令のリソース使用要
求と各リソースの使用予約状態を比較して行う.以下そ
の判定方法及び命令発行制御を説明する.なお,レジス
タ使用可否判定の方法は、特公昭61−52512に詳
しいので、ここでは述べない. 第6図はリソース予約状態保持レジスタ6の構成と,該
レジスタを更新する信号線とを示した図である.リソー
ス予約状態保持レジスタ6は、メモリリクエスタO予約
状態保持部6−0,メモリリクエスタ1予約状態保持部
6−1,加算器予約状態保持部6−2,乗算器予約状態
保持部6−3の4つからなる.信号線fillは命令発
行ユニット9から送出されるレジスタ使用状態保持レジ
スタ4及びリソース予約状態保持レジスタ6の更新信号
で、そのうちの4ビット1211−0, Q11−1,
fill−2, Il11−3がリソース予約状態保持
レジスタ6の更新に使用される.All−Oはメモリリ
クエスタ0に対し実行可能命令の予約指示がなされたこ
とを示す信号であり、α11−1はメモリリクエスタ1
に対し,Ω11−2は加算器に対し、fl 11−3は
乗算器に対し夫々実行可能命令の予行指示がなされたこ
とを示す信号である. 信号線118,Q2B,Q45,153は夫々メモリリ
クエスタ0,メモリリクエスタ1,加算器,乗算器から
送出される命令実行終了通知である.各リソーノの予行
状態保持部6−0.6−1.6−2.6−3は各々2ビ
ットからなり、その値の意味する各リソースの実行開聞
予約済み命令保持状態は、第3図の予約済み命令保持状
態表示レジスタ51の値の意味するものと同じである.
また、状態保持部6−0.6−1.6−2.6−3の各
値を、リソース予約状態保持レジスタ6の更新制御機構
(図示せず)は,第4図の状態遷移図に従って更新する
.但し状態保持部6−0の更新においては、第4図の工
とは信号線Q11−0の値が1であることを表わし,■
とは信号線211−0の値が0であることを、Eとは信
号線1218の値が1であることを、Eとはi号線12
18の値がOであることを表わしている.また、状態保
持部6−1の更新においては、第4図の工とは信号線Q
1 1−1の値が1であることを、工とは信号線12
11−1の値がOであることを、Eとは信号線228の
値が1であることを、Eとは信号線1128の値がOで
あることを表わしている.さらに,状態保持部6−2の
更新においては、第4図のIとは信号線Qll−2の値
が1であることを,■とは信号線n− 1 1 − 2
の値が0であることを、Eとは信号線Q45の値が1で
あることを、Eとは信号線Q45の値が0であることを
表わしている.そして、状態保持部6−3の更新におい
ては、第4図の工とは信号線Q 11−3の値が1であ
ることを,■とは信号線Qll−3の値が0であること
を、Eとは信号線Q53の値が1であることを,Eとは
信号線fl53の値がOであることを表わしている. 上記のように各状態保持部6−0.6−1.6−2.6
−3の値を更新することにより、各状態保持部6−0.
6−1. 6−2. 6−3は夫々各リソース対応の
予約済命令保持状態表示レジスタと全く同じ情籟をもつ
ことになる. 上記各状態保持部6−0.6−1.6−2.6−3は情
報を使用して、リソース使用可否判定ユニット8は、毎
夕ロックリソースの使用可否の判定を行い、また命令発
行ユニット9は、命令を実行させるべきリソースに対し
,レジスタとリソース使用が可能になると直ちに命令実
行開始の予約指示を行う. 以下,それらの動作を説明する. 第3図中のリソース使用可否判定ユニット8は、上記の
ように値が更新されるリソース予約状態保持レジスタ6
とリソース使用要求保持レシスタ5とに保持されている
情報を夫々信号線fl8,Q7を通じて得、解読した命
令で使用するリソースに対しさらに命令寒行開始予約を
行なってよいか否かを判定し、その結果を信号線Q10
に送出する.以下、その制御方法を説明する. 第7図は、上記判定を行なうことのできる回路図である
.第7図中、6はリソース予約状態保持レジスタであり
、5はリソース使用要求保持レジスタである.状態保持
レジスタ6の構成は既に説明したとおりである.要求保
持レジスタ5は、各各1ビットのメモリリクエスタO/
1使用要求保持部5−O,メモリリクエスタ1使用要求
保持部5−1,加算器使用要求保持部5−2,乗算器使
用要求保持部5−3から構成されている.本実施例では
、主記憶読み出し命令を実行できるリソースはメモリリ
クエスタO(10)及びメモリリクエスタ1(11)で
あり、主記憶書き込み命令を実行できるリソースはメモ
リリクエスタ1(11)のみであり、加算系の命令を実
行できるリソースは加算器12のみ、乗算系の命令を実
行できるリソースは乗算器13のみである.そのため、
命令解読ユニット13は、解読した命令が主記憶読み出
し命令ならばメモリリクエスタ071使用要求保持部5
−0に値1を設定し、主記憶書き込み命令ならばメモリ
リクエスタ1使用要求保持部5−1に値1を設定し、加
算系の命令ならば加算器使用要求保持部5−2に値1を
設定し、乗算系の命令ならば乗算器使用要求保持部5−
3に値1を設定する.信号線910はリソース使用可否
判定結果を送出する信号線である。
主記憶書き込み命令,加算系命令、若しくは乗算系命令
を実行するために、メモリリクエスタ1(11),加算
器12、若しくは乗算器13の使用可否判定を行なうた
めには,各リソース予約保持部6−1.6−2.6−3
のビット0の値と、各リソース使用要求保持部5−1.
5−2.5−3の値とを、夫々信号線u8−1,Ω8−
2,Q8−3と信号線Q7−1, 127−2, fi
?−3とを通じてNANDゲートg3+g4+g5とに
入力すればよい,何故ならば、各リソース予約保持部6
−1.6−2.6−3のビットOの値が0の時は各リソ
ースは実行開始予約済み命令をO若しくは1こ保持して
いるのでさらに実行可能命令を予約可能である。予約保
持部6−1.6−2.6−3をビット0の値が1の時は
各リソースは実行開始予約済み命令を2こ保持している
のでさらに実行可能命令の予約はできない。一方、要求
保持部5−1. 5−2. 5−3は要求がある時のみ
値が1になる.よって予約保持部6−1.6−2.6−
3のビット0の値と要求保持部5−1.5−2.5−3
の値がNANDをとると、信号線1296,Q97,
Q98には、対応するリソースの使用要求があってかつ
該リソースに実行可能命令の予約ができない時のみOが
、実行可能命令の予約ができる時もしくは予約要求がな
い時は1が出力される. 主記憶読み出し命令を実行するためにリソースの使用可
否判定を行なうためには、メモリリクエスタO予約保持
部6−1,メモリリクエスタ1予約保持部6−2のビッ
ト0の値を信号線418−0,Q8−1を通じてAND
ゲートg1に入力し、その結果を信号線Q94に出力し
,信号線194の値と信号線Q7−0を介して得たメモ
リリクエスタ0/1使用要求保持部5−0の値とのNA
NDをゲートg2でとればよい.何故なら、メモリリク
エスタ0予約保持部6−1,メモリリクエスタ予約保持
部6−2のビットOの値のANDは、メモリリクエスタ
O及びメモリリクエスタ1が共に実行開始予約済み命令
を2こ保持していてさらに実行可能命令の予約ができな
い時のみ1になるからである.よって信号線Q94の値
と要求保持部5−0の値のNANDをとると、信号Ii
lQ95には、メモリリクエスタO/1の使用要求があ
ってかつ該リソースに実行可能命令の予約ができない時
のみOが、実行可能命令の予約ができる時もしくは予約
要求がない時は1が出力される.よって信号線Ω95,
fl96, Q97, Q98のANDをゲートg6で
とれば、信号線Q10にはあるリソースに実行可能命令
の予約ができない時は0が,実行可能命令の予約ができ
る時は1が出力される.命令発行制御 第1図中の命令発行ユニット9はレジスタ使用可否判定
結果と、上記のようにして得たリソース使用可否判定結
果、及び解読された命令とを夫々信号線Q9.fllo
.Q2を通じて得、該レジスタ使用可否判定結果と該リ
ソース使用可否判定結果とが共に肯定的だった場合に,
リソース選択機構53により該解読された命令の実行開
始の予約を行なうべきリソースを選択し、ベクトルレジ
スタユニット14内にある5該リソースに対応する命令
実行開始制御ユニットに対し命令実行開始の予約信号を
信号線Q13を通じて送出する.本実施例においては、
リソースの選択を行なわなければならないのは、解読さ
れた命令が主記憶読み出し命令であった場合である.解
読された命令が主記憶読出し命令以外の命令であった場
合は、該命令を実行できるリソースは1つしかないので
,リソースの選択を行う必要はない.以下その制御方法
を説明する. 第8図は上記制御を行なうことのできる回路図である.
信号線Q99上には,リソース予約状態保持レジスタ6
の内容が送出されている。信号線Q2は、命令解読結果
であり、予約信号送出にはそのうちのメモリリクエスタ
O/1使用要求償号Q2−0,メモリリクエスタ1使用
要求償号22−1,加算器使用要求信号ji2−2,乗
算器使用要求償号a2−3を使用する.メモリリクエス
タ0/1使用要求信号Q2−0の値は、命令を解読した
結果が主記憶読み出し命令ならば1になっている.メモ
リリクエスタ1使用要求信号Q2−1の値は、命令を解
読した結果が主記憶書き込み命令ならば1になっている
.加算器使用要求償号Q2−2の値は、命令を解読した
結果が加算系の演算命令ならば1になっている.乗算器
使用要求償号Ω2−3の値は、命令を解読した結果が乗
算系の演算命令ならば1になっている.信号線Q9はレ
ジスタ使用可否判定結果であり、信号線110はリソー
ス使用可否判定結果であり、信号線a105にはゲート
gloを介して信号線a9及びflloの値のANDが
送出されているので、該信号n105の値は上記判定結
果が共に肯定的であった場合のみ1となる.信号線n
la O eΩ13−1,違13−2.4113−3
は夫々メモリリクエスタ0,メモリリクエスタ1,加算
器,乗算優に対応する命令実行開始制御ユニットに対す
る命令実行開始の予約信号であり、上記4ビットの信号
線n 1 3−0 〜jl l 3−3が信号線113
として,ベクトルレジスタユニット14に送出される. リソース選択機構53は、命令解読結果a2の内容に関
係なく、常に,信号線199を通じて得たリソース予約
状態保持レジスタ6の内容及びその他の情報に応じてメ
モリリクエスタ0に予約指示を送出するか、メモリリク
エスタ1に予約指示を送出するかを選択する(詳細後述
).リソース選択機構53は,予約指示を送出すべきリ
ソースとしてメモリリクエスタ0を選択した場合メモリ
リクエスタ0選択信号11100に値1を、メモリリク
エスタ1を選択した場合メモリリクエスタ1選択信号Q
101に値1を送出する.リソース選択機構53の動作
の詳細については後で述べる.上記のように設定された
信号ls1100,Q101の値は、メモリリクエスタ
071使用要求償号n2−0の値とゲートg7*g8を
介してANDがとられ、その結果は信号線1102,Q
103に送出される.信号線Q102は、解読された命
令が主記憶読み出し命令であり、かつメモリリクエスタ
Oが選択された時のみ値が1になり、信号線u 103
は、解読された命令が主記憶読み出し命令であり、かつ
メモリリクエスタ1が選択された時のみ値が1になって
いる。メモリリクエスタOに対応する命令実行開始制御
ユニットに対する命令実行開始の予約信号fi 1 3
−0には、レジスタ及びリソースの双方が使用可否の時
のみ値が1になる信号gβ105と信号線Q 102と
のANDをゲートgllを介してとった値を送出すれば
よい. 解読された命令が主記憶書き込み命令であった時には、
メモリリクエスタ1使用要求償号n2−1の値が1にな
っているので、ゲートg9により信号線fil03と信
号線Q2−1とのORをとれば、信号線D104は解読
された命令が主記憶読み出し命令であってかつメモリリ
クエスタ1が選択された時若しくは解読された命令が主
記憶書き込み命令であった時のみ、値が1になっている
.よってメモリリクエスタ1に対応する命令実行開始制
御ユニットに対する命令実行開始の予約信号1213−
1には,信号線Q104と信号線Q105とのANDを
ゲートgl2を介してとった値を送出すればよい. 命令を解読した結果が加算命令若しくは乗算命令だった
場合は、夫々加算器使用要求償号Q2−2,乗算器使用
要求信号Q2−3の値が1になっているので,加算器,
乗算器に対応する命令実行開始制御ユニットに対する命
令実行開始の予約信号Q13−2,Ql3−13に信号
線Q2−2,Q2−3の値と信号4l!1105の値を
夫々ゲートgl3,gl4を介してANDをとり、送出
すればよい. 上記のようにして、命令発行の制御を行うことができる
. リソース選択制御 解読された命令が主記憶読み出し命令であった場合のメ
モリリクエスタの選択は、既に述べたように、各メモリ
リクエスタに対応して保持される命令の実行終了時刻の
早遅を予測することにより行なう.また、予測した終了
時刻がメモリリクエスタOとメモリリクエスタ1で同じ
だった場合は、メモリリクエスタOを選択する.何故な
らもしメモリリクエスタ1を選択してメモリリクエスタ
1がそれ以上命令を保持できなくなった場合、次に解読
された主記憶書込み命令の予約指示ができなくなるから
である. 予測の方法としては既に述べた通り、(1)保持する命
令数の少ないリソースほど早く命令の実行が終了すると
予測する方法.(2)保持する命令数が同数の場合、早
く実行開始予約指示の成された命令ほど早く命令の実行
が終了すると予81gする方法、(3)保持する命令数
が同数の場合早く実行中になった命令ほど早く命令の実
行が終了すると予測する方法、(4)保持する命令数が
同数の場合未処理のベクトル要素数の少ない命令ほど早
く命令の実行が終了すると予測する方法、がある。
を実行するために、メモリリクエスタ1(11),加算
器12、若しくは乗算器13の使用可否判定を行なうた
めには,各リソース予約保持部6−1.6−2.6−3
のビット0の値と、各リソース使用要求保持部5−1.
5−2.5−3の値とを、夫々信号線u8−1,Ω8−
2,Q8−3と信号線Q7−1, 127−2, fi
?−3とを通じてNANDゲートg3+g4+g5とに
入力すればよい,何故ならば、各リソース予約保持部6
−1.6−2.6−3のビットOの値が0の時は各リソ
ースは実行開始予約済み命令をO若しくは1こ保持して
いるのでさらに実行可能命令を予約可能である。予約保
持部6−1.6−2.6−3をビット0の値が1の時は
各リソースは実行開始予約済み命令を2こ保持している
のでさらに実行可能命令の予約はできない。一方、要求
保持部5−1. 5−2. 5−3は要求がある時のみ
値が1になる.よって予約保持部6−1.6−2.6−
3のビット0の値と要求保持部5−1.5−2.5−3
の値がNANDをとると、信号線1296,Q97,
Q98には、対応するリソースの使用要求があってかつ
該リソースに実行可能命令の予約ができない時のみOが
、実行可能命令の予約ができる時もしくは予約要求がな
い時は1が出力される. 主記憶読み出し命令を実行するためにリソースの使用可
否判定を行なうためには、メモリリクエスタO予約保持
部6−1,メモリリクエスタ1予約保持部6−2のビッ
ト0の値を信号線418−0,Q8−1を通じてAND
ゲートg1に入力し、その結果を信号線Q94に出力し
,信号線194の値と信号線Q7−0を介して得たメモ
リリクエスタ0/1使用要求保持部5−0の値とのNA
NDをゲートg2でとればよい.何故なら、メモリリク
エスタ0予約保持部6−1,メモリリクエスタ予約保持
部6−2のビットOの値のANDは、メモリリクエスタ
O及びメモリリクエスタ1が共に実行開始予約済み命令
を2こ保持していてさらに実行可能命令の予約ができな
い時のみ1になるからである.よって信号線Q94の値
と要求保持部5−0の値のNANDをとると、信号Ii
lQ95には、メモリリクエスタO/1の使用要求があ
ってかつ該リソースに実行可能命令の予約ができない時
のみOが、実行可能命令の予約ができる時もしくは予約
要求がない時は1が出力される.よって信号線Ω95,
fl96, Q97, Q98のANDをゲートg6で
とれば、信号線Q10にはあるリソースに実行可能命令
の予約ができない時は0が,実行可能命令の予約ができ
る時は1が出力される.命令発行制御 第1図中の命令発行ユニット9はレジスタ使用可否判定
結果と、上記のようにして得たリソース使用可否判定結
果、及び解読された命令とを夫々信号線Q9.fllo
.Q2を通じて得、該レジスタ使用可否判定結果と該リ
ソース使用可否判定結果とが共に肯定的だった場合に,
リソース選択機構53により該解読された命令の実行開
始の予約を行なうべきリソースを選択し、ベクトルレジ
スタユニット14内にある5該リソースに対応する命令
実行開始制御ユニットに対し命令実行開始の予約信号を
信号線Q13を通じて送出する.本実施例においては、
リソースの選択を行なわなければならないのは、解読さ
れた命令が主記憶読み出し命令であった場合である.解
読された命令が主記憶読出し命令以外の命令であった場
合は、該命令を実行できるリソースは1つしかないので
,リソースの選択を行う必要はない.以下その制御方法
を説明する. 第8図は上記制御を行なうことのできる回路図である.
信号線Q99上には,リソース予約状態保持レジスタ6
の内容が送出されている。信号線Q2は、命令解読結果
であり、予約信号送出にはそのうちのメモリリクエスタ
O/1使用要求償号Q2−0,メモリリクエスタ1使用
要求償号22−1,加算器使用要求信号ji2−2,乗
算器使用要求償号a2−3を使用する.メモリリクエス
タ0/1使用要求信号Q2−0の値は、命令を解読した
結果が主記憶読み出し命令ならば1になっている.メモ
リリクエスタ1使用要求信号Q2−1の値は、命令を解
読した結果が主記憶書き込み命令ならば1になっている
.加算器使用要求償号Q2−2の値は、命令を解読した
結果が加算系の演算命令ならば1になっている.乗算器
使用要求償号Ω2−3の値は、命令を解読した結果が乗
算系の演算命令ならば1になっている.信号線Q9はレ
ジスタ使用可否判定結果であり、信号線110はリソー
ス使用可否判定結果であり、信号線a105にはゲート
gloを介して信号線a9及びflloの値のANDが
送出されているので、該信号n105の値は上記判定結
果が共に肯定的であった場合のみ1となる.信号線n
la O eΩ13−1,違13−2.4113−3
は夫々メモリリクエスタ0,メモリリクエスタ1,加算
器,乗算優に対応する命令実行開始制御ユニットに対す
る命令実行開始の予約信号であり、上記4ビットの信号
線n 1 3−0 〜jl l 3−3が信号線113
として,ベクトルレジスタユニット14に送出される. リソース選択機構53は、命令解読結果a2の内容に関
係なく、常に,信号線199を通じて得たリソース予約
状態保持レジスタ6の内容及びその他の情報に応じてメ
モリリクエスタ0に予約指示を送出するか、メモリリク
エスタ1に予約指示を送出するかを選択する(詳細後述
).リソース選択機構53は,予約指示を送出すべきリ
ソースとしてメモリリクエスタ0を選択した場合メモリ
リクエスタ0選択信号11100に値1を、メモリリク
エスタ1を選択した場合メモリリクエスタ1選択信号Q
101に値1を送出する.リソース選択機構53の動作
の詳細については後で述べる.上記のように設定された
信号ls1100,Q101の値は、メモリリクエスタ
071使用要求償号n2−0の値とゲートg7*g8を
介してANDがとられ、その結果は信号線1102,Q
103に送出される.信号線Q102は、解読された命
令が主記憶読み出し命令であり、かつメモリリクエスタ
Oが選択された時のみ値が1になり、信号線u 103
は、解読された命令が主記憶読み出し命令であり、かつ
メモリリクエスタ1が選択された時のみ値が1になって
いる。メモリリクエスタOに対応する命令実行開始制御
ユニットに対する命令実行開始の予約信号fi 1 3
−0には、レジスタ及びリソースの双方が使用可否の時
のみ値が1になる信号gβ105と信号線Q 102と
のANDをゲートgllを介してとった値を送出すれば
よい. 解読された命令が主記憶書き込み命令であった時には、
メモリリクエスタ1使用要求償号n2−1の値が1にな
っているので、ゲートg9により信号線fil03と信
号線Q2−1とのORをとれば、信号線D104は解読
された命令が主記憶読み出し命令であってかつメモリリ
クエスタ1が選択された時若しくは解読された命令が主
記憶書き込み命令であった時のみ、値が1になっている
.よってメモリリクエスタ1に対応する命令実行開始制
御ユニットに対する命令実行開始の予約信号1213−
1には,信号線Q104と信号線Q105とのANDを
ゲートgl2を介してとった値を送出すればよい. 命令を解読した結果が加算命令若しくは乗算命令だった
場合は、夫々加算器使用要求償号Q2−2,乗算器使用
要求信号Q2−3の値が1になっているので,加算器,
乗算器に対応する命令実行開始制御ユニットに対する命
令実行開始の予約信号Q13−2,Ql3−13に信号
線Q2−2,Q2−3の値と信号4l!1105の値を
夫々ゲートgl3,gl4を介してANDをとり、送出
すればよい. 上記のようにして、命令発行の制御を行うことができる
. リソース選択制御 解読された命令が主記憶読み出し命令であった場合のメ
モリリクエスタの選択は、既に述べたように、各メモリ
リクエスタに対応して保持される命令の実行終了時刻の
早遅を予測することにより行なう.また、予測した終了
時刻がメモリリクエスタOとメモリリクエスタ1で同じ
だった場合は、メモリリクエスタOを選択する.何故な
らもしメモリリクエスタ1を選択してメモリリクエスタ
1がそれ以上命令を保持できなくなった場合、次に解読
された主記憶書込み命令の予約指示ができなくなるから
である. 予測の方法としては既に述べた通り、(1)保持する命
令数の少ないリソースほど早く命令の実行が終了すると
予測する方法.(2)保持する命令数が同数の場合、早
く実行開始予約指示の成された命令ほど早く命令の実行
が終了すると予81gする方法、(3)保持する命令数
が同数の場合早く実行中になった命令ほど早く命令の実
行が終了すると予測する方法、(4)保持する命令数が
同数の場合未処理のベクトル要素数の少ない命令ほど早
く命令の実行が終了すると予測する方法、がある。
以下各々の制御方法を夫々第9図,第lO図,第11図
,第12図を参照して説明する.命令数によるリソース
選択制御 第9図は命令数によりリソースの選択を行なうことので
きる回路図である。図中、信号線Q99にはリソース予
約状態保持レジスタ6の内容が送出されている.信号@
Q99−0にはメモリリクエスタO予約状態保持部6−
0の内容が,信号線Q99−1にはメモリリクエスタ1
予約状態保持部6−1の内容が夫々送出されている.ま
た、信号線ffloo,fll01は夫々メモリリクエ
スタO選択信号,メモリリクエスタ1選択信号である.
101は比較回路であり、信号線1299−0の値が信
号線1299−1の値より小さいか等しい時には信号線
Q100に値1を、大きい時には信号線Ω101に値1
を送出する.信号線Q99−0.1299−1には夫々
メモリリクエスタOの保持する実行開始予約済命令数,
メモリリクエスタ1の保持する実行開始予約済命令数が
送出されているので,上記のように制御することにより
、メモリリクエスタOの保持する実行予約済開始命令数
の方がメモリリクエスタ1の保持する該命令数より多い
時はメモリリクエスタ1が,少ない時はメモリリクエス
タ0が、同数の時はメモリリクエスタOが選択されるこ
とになる. 命令実行開始予約指示時刻によるリソースの選訳五婁 第10図は命令実行開始予約指示時刻によるリソースの
選択を行なうことのできる回路である。
,第12図を参照して説明する.命令数によるリソース
選択制御 第9図は命令数によりリソースの選択を行なうことので
きる回路図である。図中、信号線Q99にはリソース予
約状態保持レジスタ6の内容が送出されている.信号@
Q99−0にはメモリリクエスタO予約状態保持部6−
0の内容が,信号線Q99−1にはメモリリクエスタ1
予約状態保持部6−1の内容が夫々送出されている.ま
た、信号線ffloo,fll01は夫々メモリリクエ
スタO選択信号,メモリリクエスタ1選択信号である.
101は比較回路であり、信号線1299−0の値が信
号線1299−1の値より小さいか等しい時には信号線
Q100に値1を、大きい時には信号線Ω101に値1
を送出する.信号線Q99−0.1299−1には夫々
メモリリクエスタOの保持する実行開始予約済命令数,
メモリリクエスタ1の保持する実行開始予約済命令数が
送出されているので,上記のように制御することにより
、メモリリクエスタOの保持する実行予約済開始命令数
の方がメモリリクエスタ1の保持する該命令数より多い
時はメモリリクエスタ1が,少ない時はメモリリクエス
タ0が、同数の時はメモリリクエスタOが選択されるこ
とになる. 命令実行開始予約指示時刻によるリソースの選訳五婁 第10図は命令実行開始予約指示時刻によるリソースの
選択を行なうことのできる回路である。
第10図中信号線Q99,Ω100,11+101は第
9図中にある対応する番号の信号と同じ信号であ漬.信
号線ffil3は第8図中の命令実行開始予約信号であ
り、Q13−0はメモリリクエスタOに対する予約信号
であり、Q 1 3−1はメモリリクエスタ1に対する
予約信号である。
9図中にある対応する番号の信号と同じ信号であ漬.信
号線ffil3は第8図中の命令実行開始予約信号であ
り、Q13−0はメモリリクエスタOに対する予約信号
であり、Q 1 3−1はメモリリクエスタ1に対する
予約信号である。
102,103は夫々メモリリクエスタ0.1選択表示
レジスタであり、値1を保持している時対応するメモリ
リクエスタが選択されていることを表示する.信号線+
213−0, Ql3−1は、・信号線上の値が1の時
夫々選択表示レジスタl02,103に対してはリセッ
ト信号として働き、夫々選択表示レジスタ103,10
2に対してはセット信号として働く。信号線1213は
命令実行開始予約を行なう時値が1になる信号であるか
ら、上記制御により,最も最近に予約指示が行なわれた
メモリリクエスタに対応する選択表示レジスタには値0
が,そうではないメモリリクエスタに対応する選択表示
レジスタには値1が設定されることになり,該値が信号
線Q203,Q204に送出される. 101は信号線Q99−0とQ99−1の値、即ちメモ
リリクエスタOとメモリリクエスタ1に保持される命令
数を比較する回路であり、該命令数が等しい場合は信号
線α200に値1が、メモリリクエスタOに保持される
命令数の方がメモリリクエスタ1に保持される命令数よ
り小さい時は信号線Q201に値1が、大きい時は信号
線12202に値1が送出される. 信号線Q203,n204の値と信号線Q200の値は
夫々ゲートg15,gl6を介してANDされ,信号線
11205,Q206に送出される。
レジスタであり、値1を保持している時対応するメモリ
リクエスタが選択されていることを表示する.信号線+
213−0, Ql3−1は、・信号線上の値が1の時
夫々選択表示レジスタl02,103に対してはリセッ
ト信号として働き、夫々選択表示レジスタ103,10
2に対してはセット信号として働く。信号線1213は
命令実行開始予約を行なう時値が1になる信号であるか
ら、上記制御により,最も最近に予約指示が行なわれた
メモリリクエスタに対応する選択表示レジスタには値0
が,そうではないメモリリクエスタに対応する選択表示
レジスタには値1が設定されることになり,該値が信号
線Q203,Q204に送出される. 101は信号線Q99−0とQ99−1の値、即ちメモ
リリクエスタOとメモリリクエスタ1に保持される命令
数を比較する回路であり、該命令数が等しい場合は信号
線α200に値1が、メモリリクエスタOに保持される
命令数の方がメモリリクエスタ1に保持される命令数よ
り小さい時は信号線Q201に値1が、大きい時は信号
線12202に値1が送出される. 信号線Q203,n204の値と信号線Q200の値は
夫々ゲートg15,gl6を介してANDされ,信号線
11205,Q206に送出される。
信号線Q205.12206の値は夫々ゲーhglLg
l8を介して信号線fi201,jl202とORされ
、その結果が信号線flloo,12101に送出され
る.上記回路により,メモリリクエスタOに保持される
命令数がメモリリクエスタ1に保持される命令数より少
ない時には信号線Q100に値1が、多い時には信号線
Ω101に値1が、同数の時には最も最近命令実行開始
指示が行われたのではない方のメモリリクエスタに対応
する信号線filooもしくはQ101に値1が送出さ
れる.命令実行開始時 によるリソースの選択第11図
は、各メモリリクエスタで実行中の命令の実行開始時刻
によりリソースを選択する回路である. 図中21.23は夫々メモリリクエスタ0,1に対応す
る命令実行開始制御ユニットであり,ベクトルレジスタ
ユニット14内にある.その動作は第3図に示される加
算器に対応する命令実行開始制御ユニットと同様である
.信号線fl91−RO及びΩ91−Rlは夫々第3図
の信号線Ω9l−Aに対応する信号であり、各リソース
において実行中の命令を切換える時に送出する制御信号
である. 102,103は第10図と同様メモリリクエスタ0.
1選択表示レジスタであり、信号線fi91−RO,f
l91−Rlは信号線上の値が1の時夫夫選択表示レジ
スタ102,103に対してリセット信号として働き、
夫々選択表示レジスタ103,102に対してセット信
号として働く.信号線臀.鷲は対応するリソースにおい
て保持されている命令が実行開始される時に1になる信
号であるから,上記制御により、最も最近に命令の実行
開始が行なわれたメモリリクエスタに対応する選択表示
レジスタには値0が、そうでないメモリリクエスタに対
応する選択表示レジスタには値1が設定される. 第11図中、その他の回路は第10図の対応する回路と
同じ動作をする. 上記により、メモリリクエスタ0.1に保持されている
実行開始予約済み命令数が異なる時は該命令数の少ない
メモリリクエスタが、命令数が同数の時には命令実行開
始時刻が早かったメモリリクエスタが選択され、対応す
る信号線Q100もしくはΩ101に値1が送出される
。
l8を介して信号線fi201,jl202とORされ
、その結果が信号線flloo,12101に送出され
る.上記回路により,メモリリクエスタOに保持される
命令数がメモリリクエスタ1に保持される命令数より少
ない時には信号線Q100に値1が、多い時には信号線
Ω101に値1が、同数の時には最も最近命令実行開始
指示が行われたのではない方のメモリリクエスタに対応
する信号線filooもしくはQ101に値1が送出さ
れる.命令実行開始時 によるリソースの選択第11図
は、各メモリリクエスタで実行中の命令の実行開始時刻
によりリソースを選択する回路である. 図中21.23は夫々メモリリクエスタ0,1に対応す
る命令実行開始制御ユニットであり,ベクトルレジスタ
ユニット14内にある.その動作は第3図に示される加
算器に対応する命令実行開始制御ユニットと同様である
.信号線fl91−RO及びΩ91−Rlは夫々第3図
の信号線Ω9l−Aに対応する信号であり、各リソース
において実行中の命令を切換える時に送出する制御信号
である. 102,103は第10図と同様メモリリクエスタ0.
1選択表示レジスタであり、信号線fi91−RO,f
l91−Rlは信号線上の値が1の時夫夫選択表示レジ
スタ102,103に対してリセット信号として働き、
夫々選択表示レジスタ103,102に対してセット信
号として働く.信号線臀.鷲は対応するリソースにおい
て保持されている命令が実行開始される時に1になる信
号であるから,上記制御により、最も最近に命令の実行
開始が行なわれたメモリリクエスタに対応する選択表示
レジスタには値0が、そうでないメモリリクエスタに対
応する選択表示レジスタには値1が設定される. 第11図中、その他の回路は第10図の対応する回路と
同じ動作をする. 上記により、メモリリクエスタ0.1に保持されている
実行開始予約済み命令数が異なる時は該命令数の少ない
メモリリクエスタが、命令数が同数の時には命令実行開
始時刻が早かったメモリリクエスタが選択され、対応す
る信号線Q100もしくはΩ101に値1が送出される
。
未 理のベクトル によるリソース選択制!
第12図はメモリリクエスタで実行中の命令の進捗状況
をベクトル要素レベルで表示することにより、命令実行
終了の早遅を予測し、リソースを選択する回路である. 図中21.23は夫々メモリリクエスタO、メモリリク
エスタ1に対応する命令実行開始制御ユニットであり、
その動作は第3図に示される加算器に対応する命令実行
開始制御ユニットと同様である.信号線1291−RO
及びfi91−Rlは夫夫第3図の1291−Aに対応
する信号であり、各リソースにおいて実行中の命令を切
換える時に送出する制御信号である.また信号線16B
−0及びfl70−0は夫々第3図におけるfl72に
対応する信号であり、上記制御信号Ω91−RO,ff
i91−Rlにより切り換えられるべき命令の解読情報
である.特に4268−0及び第170−0は該命令の
解読情翰のうちベクトル長を保持している. 第12図中57.59は夫々メモリリクエスタ0,1で
実行中の命令の処理の進捗状況を保持するレジスタであ
り、具体的には実行中の命令で主記憶上のアドレスを送
出すべき全ベクトル要素中,未処理のベクトル要素数を
保持している.以下その制御方法を述べる.実行すべき
命令が切換わる時には信号線Q 9 1−RO, Q
9 1−Rlの制御によりセレクタ61.62が切り換
えられて、実行すべき命令のベクトル長が信号線Q68
−0, Q108もしくはQ70−0.12112を経
由して進捗状況保持レジスタ57.59にセットされる
.進捗状況保持レジスタ57.59の値は信号線Q10
9.12113を通じて減算器56.58に送られ、進
捗状況保持レジスタ57.59の内容から1減じた値が
信号線fil07.111111を通じて送出される。
をベクトル要素レベルで表示することにより、命令実行
終了の早遅を予測し、リソースを選択する回路である. 図中21.23は夫々メモリリクエスタO、メモリリク
エスタ1に対応する命令実行開始制御ユニットであり、
その動作は第3図に示される加算器に対応する命令実行
開始制御ユニットと同様である.信号線1291−RO
及びfi91−Rlは夫夫第3図の1291−Aに対応
する信号であり、各リソースにおいて実行中の命令を切
換える時に送出する制御信号である.また信号線16B
−0及びfl70−0は夫々第3図におけるfl72に
対応する信号であり、上記制御信号Ω91−RO,ff
i91−Rlにより切り換えられるべき命令の解読情報
である.特に4268−0及び第170−0は該命令の
解読情翰のうちベクトル長を保持している. 第12図中57.59は夫々メモリリクエスタ0,1で
実行中の命令の処理の進捗状況を保持するレジスタであ
り、具体的には実行中の命令で主記憶上のアドレスを送
出すべき全ベクトル要素中,未処理のベクトル要素数を
保持している.以下その制御方法を述べる.実行すべき
命令が切換わる時には信号線Q 9 1−RO, Q
9 1−Rlの制御によりセレクタ61.62が切り換
えられて、実行すべき命令のベクトル長が信号線Q68
−0, Q108もしくはQ70−0.12112を経
由して進捗状況保持レジスタ57.59にセットされる
.進捗状況保持レジスタ57.59の値は信号線Q10
9.12113を通じて減算器56.58に送られ、進
捗状況保持レジスタ57.59の内容から1減じた値が
信号線fil07.111111を通じて送出される。
セレクタ61.62は信号線Q91−RO,Q91−R
lの値がOの時は信号線Ω107,fllllの値を選
択して夫々信号線Ql08.12112に送出しており
、信号線Ql07,Q111の値はメモリリクエスタO
(10) , 1(11)の送出するアドレスの有効
信号Q17,1227が1の時のみ進捗状況保持レジス
タ57,59にセットされる. 上記の制御により信号線Il110,12114には、
メモリリクエスタ0.1で夫々実行中の命令で未処理の
ベクトル要求数が送出され、比較回路60は信号線Ω1
10の値が114に等しいか小さい時には信号線220
3に値1を送出し、ffi110(7)値がa114よ
り大きい時はa204に値1を送出する. 第12図中、その他の回路は第10図の対応する回路と
同じ動作をする. 上記により、メモリリクエスタ0,1に保持されている
実行開始予約済み命令数が異なる時は該命令数の少ない
メモリリクエスタが,命令数が同数の時には未処理のベ
クトル要素数が少ないメモリリクエスタが選択され、対
応する信号線Q 100もしくはΩ101に値1が送出
される.〔発明の効果〕 本発明によれば、各リソースで実行中の命令が終了する
と直ちに、実行可能な次の命令をリソース及びベクトル
レジスタ制御ユニットに与えることが可能になり、その
結果、前の命令と次の命令とで扱うベクトルデータが間
断なく各リソースに投入できるようになるので、リソー
スの使用効率が向上するという効果がある.
lの値がOの時は信号線Ω107,fllllの値を選
択して夫々信号線Ql08.12112に送出しており
、信号線Ql07,Q111の値はメモリリクエスタO
(10) , 1(11)の送出するアドレスの有効
信号Q17,1227が1の時のみ進捗状況保持レジス
タ57,59にセットされる. 上記の制御により信号線Il110,12114には、
メモリリクエスタ0.1で夫々実行中の命令で未処理の
ベクトル要求数が送出され、比較回路60は信号線Ω1
10の値が114に等しいか小さい時には信号線220
3に値1を送出し、ffi110(7)値がa114よ
り大きい時はa204に値1を送出する. 第12図中、その他の回路は第10図の対応する回路と
同じ動作をする. 上記により、メモリリクエスタ0,1に保持されている
実行開始予約済み命令数が異なる時は該命令数の少ない
メモリリクエスタが,命令数が同数の時には未処理のベ
クトル要素数が少ないメモリリクエスタが選択され、対
応する信号線Q 100もしくはΩ101に値1が送出
される.〔発明の効果〕 本発明によれば、各リソースで実行中の命令が終了する
と直ちに、実行可能な次の命令をリソース及びベクトル
レジスタ制御ユニットに与えることが可能になり、その
結果、前の命令と次の命令とで扱うベクトルデータが間
断なく各リソースに投入できるようになるので、リソー
スの使用効率が向上するという効果がある.
第1図はベクトルプロセッサの概略構成図、第2図はベ
クトルレジスタユニットの構成図,第3図は命令実行開
始制御ユニットの構成図、第4図は予約済み命令保持状
服表示レジスタの値の状態遷移図、第5図は命令実行開
始制御ユニット内の信号に設定すべき値を示す図,第6
図はリソース予約状態保持レジスタの構成図、第7図は
リソース使用可否判定ユニットの構成図,第8図は命令
発行ユニットの構成図、第9図,第10図,第11図,
第12図はリソースの選択機構の構成図である. 1・・・主記憶、2・・・命令解読ユニット、5・・・
リソース使用要求保持レジスタ、6・・・リソース予約
状態保持レジスタ、8・・・リソース使用可否判定ユニ
ット,9・・・命令発行ユニット、10.11・・・メ
モリリクエスタ、12・・・加算器、13・・・乗算器
、14・・・ベクトルレジスタユニット,18,19.
20・・・ベトクトルレジスタ制御回路、21,23,
2−5.27,43,45,47・・・命令実行開始制
御ユニット.22,24,26,28,44,46,4
8・・・命令レジスタ、29,30,31,32・・・
オペランド制御回路、33,34,35.36・・・デ
イストリビュータ.40,41,42・・・セレクタ、
37,38,39・・・ベクトルレジスタ,49・・・
実行待ち命令レジスタ、51・・・予約済み命令保持状
態表示レジスタ、52・・・実行開始制御機構、53・
・・リソース選択機構,56.58・・・減算器、57
.59・・・命令実行進捗状況保持レジスタ、60・・
・比較回路、61.62・・・セレクタ,101・・・
比較回路,102,103・・・メモリリクエスタ選択
表示レジスタ. 一41 舅 Z 記 纂 因 第 品 Y 図 纂 図 第9 図 罵 図 ス 1z 図
クトルレジスタユニットの構成図,第3図は命令実行開
始制御ユニットの構成図、第4図は予約済み命令保持状
服表示レジスタの値の状態遷移図、第5図は命令実行開
始制御ユニット内の信号に設定すべき値を示す図,第6
図はリソース予約状態保持レジスタの構成図、第7図は
リソース使用可否判定ユニットの構成図,第8図は命令
発行ユニットの構成図、第9図,第10図,第11図,
第12図はリソースの選択機構の構成図である. 1・・・主記憶、2・・・命令解読ユニット、5・・・
リソース使用要求保持レジスタ、6・・・リソース予約
状態保持レジスタ、8・・・リソース使用可否判定ユニ
ット,9・・・命令発行ユニット、10.11・・・メ
モリリクエスタ、12・・・加算器、13・・・乗算器
、14・・・ベクトルレジスタユニット,18,19.
20・・・ベトクトルレジスタ制御回路、21,23,
2−5.27,43,45,47・・・命令実行開始制
御ユニット.22,24,26,28,44,46,4
8・・・命令レジスタ、29,30,31,32・・・
オペランド制御回路、33,34,35.36・・・デ
イストリビュータ.40,41,42・・・セレクタ、
37,38,39・・・ベクトルレジスタ,49・・・
実行待ち命令レジスタ、51・・・予約済み命令保持状
態表示レジスタ、52・・・実行開始制御機構、53・
・・リソース選択機構,56.58・・・減算器、57
.59・・・命令実行進捗状況保持レジスタ、60・・
・比較回路、61.62・・・セレクタ,101・・・
比較回路,102,103・・・メモリリクエスタ選択
表示レジスタ. 一41 舅 Z 記 纂 因 第 品 Y 図 纂 図 第9 図 罵 図 ス 1z 図
Claims (1)
- 【特許請求の範囲】 1、複数のレジスタと、 メモリリクエスタ及び演算器等を含む、命令を実行する
複数のリソースと、 各リソース対応に設けられた、当該リソースで実行すべ
き命令を保持する命令保持手段と、各リソース対応に設
けられた、当該リソースで実行中の命令の実行終了通知
を受けた場合、該リソースに対応する命令保持手段に保
持している命令のうちの1つを該リソースが実行開始す
るように制御する実行開始制御手段と、 上記各命令保持手段が命令をさらに幾つ保持可能である
か表示する命令保持状態表示手段と、上記レジスタが読
出し若しくは書込みに使用可能であるかを表示する表示
手段と、 各リソースに対応する命令保持手段に保持される全ての
命令の実行終了時刻の早遅を予測し、最も早く実行終了
するリソースを選択する手段と、 上記命令保持手段に対し、命令を転送する命令制御手段
を有し、 上記命令制御手段は、転送すべき命令で使用するレジス
タが使用可能で、かつ該命令を実行する機能があり対応
する命令保持手段で命令をさらに保持可能な少なくとも
2つのリソースがある場合に、該少なくとも2つのリソ
ースのうち命令実行終了早遅予測の結果選択されたリソ
ースに対応する命令保持手段に対して、命令を転送する
データ処理装置。 2、上記リソース選択手段は、上記命令制御手段が各命
令保持手段に最後に命令を転送した時刻の早遅をもつて
、実行終了の早遅を予測する手段を有する第1項のデー
タ処理装置。 3、上記リソース選択手段は、各リソースで実行中の命
令の実行開始時刻の早遅をもつて、実行終了の早遅を予
測する手段を有する第1項のデータ処理装置。 4、実行される命令が、複数のベクトル要素から成るベ
クトルデータを1命令で処理するベクトル命令であつて
、 上記リソース選択手段は、各リソースで実行中の命令に
よる処理が未だ行われていないベクトル要素数の大小を
もつて、実行終了の早遅を予測する手段を有する第1項
のデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4980389A JPH02230368A (ja) | 1989-03-03 | 1989-03-03 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4980389A JPH02230368A (ja) | 1989-03-03 | 1989-03-03 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02230368A true JPH02230368A (ja) | 1990-09-12 |
Family
ID=12841304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4980389A Pending JPH02230368A (ja) | 1989-03-03 | 1989-03-03 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02230368A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6807624B1 (en) | 1998-12-17 | 2004-10-19 | Fujitsu Limited | Instruction control device and method therefor |
-
1989
- 1989-03-03 JP JP4980389A patent/JPH02230368A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6807624B1 (en) | 1998-12-17 | 2004-10-19 | Fujitsu Limited | Instruction control device and method therefor |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0155211B1 (en) | System for by-pass control in pipeline operation of computer | |
| US3938098A (en) | Input/output connection arrangement for microprogrammable computer | |
| US4090238A (en) | Priority vectored interrupt using direct memory access | |
| US4376976A (en) | Overlapped macro instruction control system | |
| US3943495A (en) | Microprocessor with immediate and indirect addressing | |
| JPS6131502B2 (ja) | ||
| US5628018A (en) | Data processing apparatus handling plural divided interruption | |
| JPH0545985B2 (ja) | ||
| US4631668A (en) | Storage system using comparison and merger of encached data and update data at buffer to cache to maintain data integrity | |
| KR20010051522A (ko) | 처리 시스템에서 스택, 팝 및 푸쉬 동작을 수행하기 위한장치 및 방법 | |
| US5119487A (en) | Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle | |
| EP0223150B1 (en) | Information processing apparatus | |
| JP3505728B2 (ja) | 記憶制御装置 | |
| JPH01128162A (ja) | データ処理装置 | |
| JPH02230368A (ja) | データ処理装置 | |
| US5021990A (en) | Output pulse generating apparatus | |
| US3644900A (en) | Data-processing device | |
| US5677859A (en) | Central processing unit and an arithmetic operation processing unit | |
| US5050076A (en) | Prefetching queue control system | |
| US7076641B2 (en) | Programmable controller | |
| EP0290467A1 (en) | Apparatus and method for a microprogrammed data processing system having a plurality of control stores | |
| JPH0793152A (ja) | マイクロプロセッサ制御装置 | |
| JPS6142298B2 (ja) | ||
| JPS6315628B2 (ja) | ||
| JP2861560B2 (ja) | データ処理装置 |