JPH01128162A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH01128162A
JPH01128162A JP62285310A JP28531087A JPH01128162A JP H01128162 A JPH01128162 A JP H01128162A JP 62285310 A JP62285310 A JP 62285310A JP 28531087 A JP28531087 A JP 28531087A JP H01128162 A JPH01128162 A JP H01128162A
Authority
JP
Japan
Prior art keywords
instruction
register
resource
signal
execution
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
JP62285310A
Other languages
English (en)
Other versions
JP2810043B2 (ja
Inventor
Yoshiko Tamaoki
玉置 由子
Shigeko Yazawa
矢澤 茂子
Yasuhiro Inagami
稲上 泰弘
Katsuyoshi Kitai
北井 克佳
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62285310A priority Critical patent/JP2810043B2/ja
Publication of JPH01128162A publication Critical patent/JPH01128162A/ja
Priority to US07/634,810 priority patent/US5396603A/en
Application granted granted Critical
Publication of JP2810043B2 publication Critical patent/JP2810043B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置、特にベクトル演算を高速に
実行するのに好適なデータ処理装置(以下これをベクト
ルプロセッサと呼ぶ)に関する。
[従来の技術〕 ベクトルプロセッサは、科学技術計算において頻繁に現
れる行列計算を高速に行うため、1クロツク毎にベクト
ルデータを投入できるパイプライン構成のメモリリクエ
スタや演算器(以下これらをまとめてリソースと呼ぶ)
を複数有している。
また、上記リソースから供給されるデータの一時的な格
納や上記リソースへのデータの供給を高速に行うために
1クロツク毎にベクトルデータの読出しもしくは書込み
を行える複数のベクトルレジスタを有するベクトルプロ
セッサが多い。
上記のリソースの1つに、行う演算種類に対応したオペ
コード等の情報をパイプラインのステージに同期して移
動させて演算の各ステージを制御することにより、複数
の異なる種類の演算を行う場合でも、オペコード等の制
御情報を間隔をあけずに与えれば、各々の演算で扱うベ
クトルデータを間隔をあけずに受付けることのできるも
のがある。(特開昭58−106636)一方上記リソ
ースへ間隔をあけずにデータを供給、もしくはデータを
受信するために、ベクトルレジスタの制御ユニットでは
、各命令を実行するリソースと命令で読出し、もしくは
書込みを指定されたベクトルレジスタの間のデータ転送
パスを、該命令の解読結果が与えられれば直ちに切換え
て、データの読出し/書込み指示を行うようにしている
。(特公昭6l−52512) 上記命令の解読結果は命令制御ユニットから与えられる
。命令制御ユニットでは命令を解読し、該解読した命令
が実行開始可能であるか否かを判定し、実行開始可能で
あった場合は直ちに、また実行開始不可能であった場合
は開始゛可能になるのを待って、該命令の解読結果を上
記リソース及びベクトルレジスタ制御ユニット送出する
。ここで命令が実行開始可能であるとは、該命令を実行
すべきリソースが使用中でなく、かつ該命令で読出し、
若しくは書込みを指定されたベクトルレジスタが読出し
、若しくは書込みに使用可能であることをいう。
上記の制御方法は特公昭61−52512に詳しい。
〔発明が解決しようとする問題点〕
上記従来技術では、各リソースの使用終了を示す命令実
行終了通知は、具体的には、実行中の命令で扱う最後の
ベクトルデータを該リソースに投入した時に送出される
。そのため、実行中の命令で扱う最後のベクトルデータ
がリソースに投入されてから、命令実行終了通知が命令
制御ユニットに到達し、実行開始可否判定が行われ、実
行開始可能な次の命令がリソース及びベクトルレジスタ
制御ユニットに届き、その命令で扱う最初のベクトルデ
ータがリソースに投入されるまでに時間を要していた。
その結果、従来は、各リソースやベクトルレジスタ制御
ユニットが毎タロツクベクトルデータを処理できるよう
に構成されているにも拘らず、前の命令の最後のベクト
ルデータを処理してから次の命令の最初のベクトルデー
タを処理するまでに間隔があき、リソースなどの使用効
率が良くなかった。
本発明は、各リソースに前の命令で扱う最後のベクトル
データが投入されたら、全く間隔をあけずに該リソース
及びベクトルレジスタ制御ユニットに次の命令を与え、
リソースに間断なくベクトルデータを投入できる手段を
提供することを目的とする。
〔問題点を解決するための手段〕 上記目的を達成するために、本発明では、リソースやベ
クトルレジスタの制御を行う命令実行制筒部内に、各リ
ソースで実行中の命令以外に、各リソースに対応して該
命令の実行が終了すれば、該リソースを使用して実行を
開始できる命令を保持することのできる命令保持手段を
設け、リソースで実行中の命令が終了したら、保持して
いる実行開始可能命令のうち1つを直ちにリソース及び
ベクトルレジスタ制御ユニットに与えるように上記命令
保持手段を制御するようにした。また、命令制御ユニッ
トは、解読した命令で読出し若しくは書込みを指定され
ているベクトルレジスタが読出し若しくは書込みに使用
可能であるか否かを調べ、また解読した命令で使用する
リソースに対応する命令保持手段がさらに命令を保持可
能であるか否かを調べ、レジスタの使用及び実行開始可
能命令の保持の双方共可能であった時のみ、該命令を実
行開始可能であると判定し、リソース対応の命令保持手
段に解読した命令の保持を指示するようにした。
また、命令制御ユニットから見ると、該命令保持手段に
保持を指示した命令は全て各リソースで実行中であるよ
うに見えるようにした。即ち命令制御ユニットは、命令
で読出し/書込みを指定されているベクトルレジスタを
、該命令の保持を命令保持手段に指示した時点で読出し
/書込みに使用中になったとみなして、次の命令に関す
るレジスタ使用可否の判定を行うようにした。
さらに、ある命令を実行可能なリソースが複数ある場合
、命令制御ユニットは、上記の各リソースに対応する命
令保持手段の保持する命令数が最も少ない命令保持手段
に対し、命令の保持を指示するようにした。また、第1
のリソースは第1と第2の種類の命令を実行可能だが、
第2のリソースは第1の種類の命令は実行可能だが、第
2の種類の命令を実行不可能な場合で、しかも第1と第
2のリソースに対応する命令保持手段の保持する命令数
が同数の時には、命令制御ユニットは、第2のリソース
に対し第1の命令の保持を指示するようにした。
命令制御ユニットが、上記リソース対応の実行開始可能
命令保持手段に対して命令を保持するよう指示するとい
うことは、リソース及びベクトルレジスタ制御ユニット
に対し該命令の実行を予約したことになるので、以下、
命令を保持するよう指示することを、命令の実行開始の
予約と呼ぶ。
また、リソース対応の実行開始可能命令保持手段を予約
手段と呼び、該予約手段に保持されている命令を実行開
始予約済命令、と呼ぶ。
〔作用〕
上記のように、命令実行制御部内にリソース対応の実行
開始可能命令の予約手段を設けたことにより、現在実行
中の命令で扱う最後のベクトルデータがリソースに投入
されれば、直ちに次に実行すべき命令がリソース及びベ
クトルレジスタ制御ユニットに与えられる。その結果、
各リソースに、前の命令と次の命令で扱うベクトルデー
タがリソースのパイプラインの各ステージを全くあけず
に投入され、リソースの使用効率があがる。また、命令
制御ユニットは、解読した命令で読出し若しくは書込み
を指定されているベクトルレジスタが読出し、若しくは
書込みに使用可能である時にのみ、該解読結果をリソー
ス対応の予約手段に予約しているので、ベクトルレジス
タ制御ユニットは、該解読結果を受取ると直ちにベクト
ルデータを指定されているベクトルレジスタから読出し
たり書込んだりしても矛盾を生じない。
また、ある命令を実行可能なリソースが複数ある時は、
該命令の実行が極力早く開始されるよう、命令制御ユニ
ットは予約済命令保持数の最も少ない予約手段に予約指
示を行うようにしている。さらに、第1の命令の予約指
示を行おうとした時に、該第1の命令を実行可能な第1
と第2のリソースに対応する予約手段の保持する予約済
命令数が同数で、しかも該第1のリソースは該第2のリ
ソースには実行不可能である第2の種類の命令を実行可
能である時は、第2のリソースに対して予約指示を行う
ようにしたことにより、その後、第2の命令の実行開始
の予約が可能であるか調べる際に、上記制御を行なわな
い場合と較べて、予約が可能である機会が多くなるよう
にした。
〔実施例〕
以下、本発明を実施例を参照して詳細に説明する。
途」11支 第2図は、本発明の概略装置構成を示す図である。
第2図中、1は主記憶、2は命令解読ユニット、9は命
令実行開始の予約信号を発行する命令発行ユニット、1
0,11,12.13は夫々メモリリクエスタ0.メモ
リリクエスタ1.加算器9乗算器であり、14はベクト
ルレジスタユニットである。ベクトルレジスタユニット
14内には、夫々上記各リソースに対応する実行開始可
能命令予約手段及び該予約手段を制御する命令実行開始
制御ユニットがあるが、第2図には示していない。
命令解読ユニット2は、命令取り出しユニット(図示せ
ず)の制御により主記憶1から取り出されたベクトル命
令を信号線Q1を通じて受取り、命令を、実行すべき演
算の種類を示すオペコード。
ベクトル長、読出し或いは書込みに使用するベクトルレ
ジスタ番号、使用するリソース番号等の命令の実行に必
要な情報に解読して、その情報を信号線Q2を通じて命
令発行ユニット9に送出すると共に、命令の実行で使用
するベタ1−ルレジスタの番号とリソースの番号と゛を
夫々信号線Q3゜Q4を通じてレジスタ読み出し/書き
込み要求保持レジスタ3とリソース使用要求保持レジス
タ5とにセットする。本実施例ではリソースはメモリリ
クエスタ0(10)、メモリリクエスタI(11)と、
加算器129乗算器13の4つであるとし、各々のリソ
ース番号を0から3までとする。またベクトルレジスタ
はOから31までの番号のついた32本とする。
図中4はレジスタ使用状態保持レジスタであり、各ベク
トルレジスタ対応にそのレジスタが読み出しに使用中か
否か書き込みに使用中か否かの状態を保持している。図
中6はリソース予約状態保持レジスタであり、各リソー
スが、実行開始予約済み命令を幾つ保持しているかを表
示している(詳細後述)。
レジスタ使用可否判定ユニット7はレジスタ読み出し/
書き込み要求保持レジスタ3とレジスタ使用状態保持レ
ジスタ4とに保持されている情報を信号線f15.u6
を通じて得、解読した命令で読み出し若しくは書き込み
に使用するベクトルレジスタが使用可能であるか否かを
毎クロツク判定し、判定結果を信号線Q、9を通じて命
令発行ユニット9に伝える。レジスタ使用可否の判定方
法は特公昭61−52512に詳しいのでここでは割愛
する。
リソース使用可否判定ユニット8はリソース使用要求保
持レジスタ5とリソース予約状態保持レジスタ6とに保
持されている情報を信号線Q7゜Q8を通じて得、解読
した命令を実行すべきリソースに対しさらに命令実行開
始予約を行なってよいか否かを毎クロツク判定し、判定
結果を信号線Q10を通じて命令発行ユニット9に伝え
る(詳細後述)。
命令発行ユニット9は上記レジスタ使用可否判定結果と
リソース使用可否判定結果とが共に肯定的だった場合に
、以下の動作を行なう。
即ち、ベクトルレジスタユニット14に対し、信号線<
114を通じてオペコード、ベクトル長。
使用ベクトルレジスタ番号、等の命令実行に必要な情報
を送ると共に、ベクトルレジスタユニット14に対し、
該ユニット14内にあるリソース対応の該命令実行開始
制御ユニットに対する命令実行開始の予約信号を信号線
Q13を通じて発行する。また、実行開始の予約を行な
った命令で使用するベクトルレジスタやリソースに関す
るレジスタ使用状態保持レジスタ4とリソース予約状態
保持レジスタ6の内容を信号線Q11を通じて更新する
。さらに命令解読ユニット2に対し、信号線Q12を通
じて、該命令の実行開始予約が終了した旨通知する。命
令解読ユニット2は、命令の実行開始予約が終了した旨
の通知を受けると、次のベクトル命令の解読結果を信号
線Q2.f)、3゜Q4上に送出する。
命令発行ユニット9は、レジスタ使用可否判定結果とリ
ソース使用可否判定結果の少なくともいずれか一方が否
定的だった場合には信号線Q11゜C12,ρ13.f
f14に何も送出しない。そのため命令解読ユニット2
は次の命令の解読結果を信号線Q2.n3.Q4上に送
り出さず、レジスタ読み出し/書き込み要求保持レジス
タ3とリソース使用要求保持レジスタ5の内容は変化し
ない。
一方、レジスタ使用状態保持レジスタ4とリソース予約
状態保持レジスタ6の内容は信号線Q58゜Q59,0
18.f128.f145. Q53により、命令の実
行が終了すると更新される。レジスタ使用可否判定ユニ
ット7及びリソース使用可否判定ユニット8は毎クロツ
クレジスタ及びリソースの使用可否の判定を行なってお
り、上記使用可否の判定結果が双方とも肯定的になった
時に、命令発行ユニット9は命令実行開始予約を行なう
オペコード、ベクトル長、使用ベクトルレジスタ番号1
等の命令実行に必要な情報は信号線ff14を通じてベ
クトルレジスタユニット14に伝えられる。ベクトルレ
ジスタユニット14は、各リソース10,11,12,
13に対して、オペコード、ベクトル長などの情報を夫
々信号線f115,025. Q41.Q49を通じて
送出し、各リソース10,11,12.13は該信号線
で示された命令を実行する。
以下各々のリソースの動作概略を説明する。
メモリリクエスタ0(10)は、信号線Q1−5に示さ
れる主記憶読み出し命令を実行する。主記憶読み出し命
令は、主記憶上のベクトルデータを読出し、ベクトルレ
ジスタに格納する命令である。
また、メモリリクエスタ0(10)が信号線Q15から
受取る内容は、実行すべき命令の種類を示すオペコード
、該命令でアドレス生成に使用するアドレスレジスタ(
図示せず)の番号及びベクトル長である。
メモリリクエスタ0(10)は、命令で指定されたアド
レスレジスタの情報を使用して、読み出しベクトルデー
タの主記憶上のアドレスを順次生成し、信号線(115
で示されたベクトル長分の該アドレス及び該が有効であ
ることを示すアドレスの有効信号を信号線Q16.Q1
7を通じて主記憶制御ユニット(図示せず)から主記憶
に送出す=15− る。主記憶からのデータの読出しは、主記憶のアドレス
競合及び読出しパス競合などにより、間欠的になる場合
があるが、データの移動の際には常に該データの有効性
を示すデータ有効信号が送出され、命令の実行制御は該
データ有効信号に従って行われる。主記憶から読み出さ
れたベクトルデータはデータ有効信号と共に信号ρ19
.ρ2゜を通じてメモリリクエスタ0(10)に送られ
、ベクトルレジスタユニット14に、メモリリクエスタ
0(10)は該信号を信号線022.Q23を通じて送
る。ベクトルレジスタ22ユニツト14は、信号線α2
8を介して受は取ったベクトルデータを、該データの有
効信号が1の時のみ、メモリリクエスタ0(10)で実
行中の命令に指定されたベクトルレジスタに書き込む。
メモリリクエスタ0(10)信線015で示されたベク
トル命令で扱う最後のベクトルデータのアドレス有効信
号Q17を主記憶に送出する時に同時にアドレス最終信
号I218も送出する。信号線Q15で示されたベクト
ル命令で扱う最後のベクトルデータが主記憶から読み出
された時、該ベクトルデータの有効信号Q20と同時に
データ最憶信号Q21も送出され、さらにベクトルレジ
スタユニット14にも、信号線Q23と同時に、信号線
Q24を通じて送られる。
アドレス最終信号ρ18はベクトルレジスタユニット1
4にも伝えられ、ベクトルレジスタユニット14は信号
線氾18を受取ると、信号線Q15の内容をメモリリク
エスタ0(10)で次に実行すべき命令に直ちに切換え
る。
メモリリクエスタ0(10)は信号線Q15に示される
オペコード等の情報を毎タロツク受取り、該情報をメモ
リリクエスタのパイプラインステージに同期させて移動
させて各ステージを制御する構成になっている。そのた
め、信号線Q15上にある有効な命令が別の有効な命令
に間隔をあけずに切換わっても、メモリリクエスタ0(
10)は夫々の命令で扱うデータのアドレスを間隔をあ
けずに生成して、主記憶への送出を開始する。
さらに、アドレス最終信号Q18は、メモリリクエスタ
0(10)でベクトル命令の実行が終了したことを通知
する信号としてリソース予約状態保持レジスタ6にも送
出され、リソース予約状態保持レジスタ6の内容を更新
する。
メモリリクエスタ1(11)は、信号線Q25に示され
る主記憶読み出し命令若しくは主記憶書き込み命令を実
行する。主記憶書込み命令は、ベクトルレジスタ上のベ
クトルデータを読出し、主記憶に書込む命令である。ま
た、メモリリクエスタ1(11)が信号線Q25から受
は取る内容は、実行する命令の種類を示すオペコード、
使用するアドレスレジスタの番号及びベクトル長である
主記憶読み出し命令を実行する場合、メモリリクエスタ
1’(11)は、命令で指定されたアドレスレジスタの
情報を使用して読み出しベクトルデータの主記憶アドレ
スを順次生成し、該アドレス及び該アドレスの有効信号
及び該アドレスの最終信号を信号線Ω26.Ω27.Q
2Bを通じて主記憶に送出する。主記憶から読み出され
たベクトルデータはデータ有効信号及びデータ最終信号
と共に信号線l129. Q30.f131を通じテメ
モリリクエスタ1(11)に送られ、ベクトルレジスタ
ユニット14に、メモリリクエスタ1(11)は該信号
を信号線Q35.f136.f137を通じて送る。ベ
クトルレジスタユニット14は、信号線Q35を介して
受は取ったベクトルデータを、該データの有効信号が1
の時のみ、メモリリクエスタ1(11)で実行中の命令
に指定されたベクトルレジスタに書き込む。
主記憶書き込み命令を実行する場合、メモリリクエスタ
1(11)は、ベクトルレジスタユニット14から信号
線Q3B、Q39.Q40を介して書き込みベクトルデ
ータ、データ有効信号、データ最終信号を受取り、該デ
ータの有効信号が1の時のみ該データを書き込むべき主
記憶上のアドレスをアドレスレジスタの情報を使って順
次生成し、該アドレス及び該アドレスの有効信号、該ア
ドレスのアドレス最憶信号を信号線Q32゜Q33.Q
34を介し、主記憶に送出する。
メモリリクエスタ1(11)もメモリリフニスタ0(1
0)と同様信号線Ω25上の有効な命令が別の有効な命
令に直ちに切換わっても、夫々の命令で扱うデータのア
ドレスを間隔をあけずに生成することができるように構
成されている。
アドレス最終信号f128はベクトルレジスタ14にも
伝えられ、ベクトルレジスタユニット14は信号線Q2
5の内容をメモリリクエスタ1(11)で次に実行すべ
き命令に直ちに切換えると共に、該次の命令が主記憶書
込み命令であった場合は、メモリリクエスタ1(11)
へ信号線Q38.Ω39.Q40を通じて書込みベクト
ルデータの送出を開始する。そして、メモリリクエスタ
1(11)は直ちに次のベクトル命令で扱うベクトルデ
ータのアドレスの主記憶への送出を直ちに開始する。
さらに、アドレス最終信号02Bは、メモリリクエスタ
1(11)でベクトル命令の実行が終了したことを通知
する信号としてリソース予約状態保持レジスタ6にも送
出され、リソース予約状態保持レジスタ6の内容を更新
する。
加算器12は信号線fi41に示される加算系の演算命
令を実行する。演算命令は2本のベクトルレジスタから
読み出したベクトルデータ同士の演算を行ない、1本の
ベクトルレジスタに格納する命令である。加算器12が
信号線Q41から受は取る内容は、実行すべき演算の種
類を示すオペコードである。
加算器12は、ベクトルレジスタユニット14から信号
線Q42.Q43を介して送られた2このベクトルデー
タ同士を、該データの有効信号Ω44が1の時のみ信号
線Q41で示されるオペコードに従って演算し、演算結
果を信号線f146に、該演算結果の有効性を示すデー
タ有効信号をQ47に送出して、ベクトルレジスタユニ
ット14に送出する。ベクトルレジスタユニット14は
、加算器12で実行する命令で扱う最後のベクトルデー
タの有効信号Q44を送出する時同時に、データ最終信
号Q45を送出する。加算器12は、該データ最終信号
Q45を受は取ると、上記最後のベクトルデータ同士の
演算結果の有効信号Q47と同時にデータ最終信号Q4
8を送出する。
ベクトルレジスタユニット14は、データ最終信号Q4
5を送出すると直ちに信号線Q41の内容を加算器で次
に実行すべき命令に切換えると同時に、該命令で扱う読
出しデータ及び該データの有効信号の信号線Q42.Q
43.Q44への送出を開始する。
加算器12も、メモリリクエスタ0(10)と同様信号
線Q、41に示される命令のオペコード等の情報を毎タ
ロツク受取り、該情報を加算器のパイプラインステージ
に同期して移動させて各ステージを制御する構成になっ
ている。そのため、信号線Q41上にある有効な命令が
別の演算を指示する有効な命令に間隔をあけずに切換わ
っても、夫々の命令で扱うベクトルデータを間隔をあけ
ずに信号線Q42.Q47,43から取って、異なる演
算を加算器のパイプラインの各ステージを全くあけずに
実行する。
さらに、データ最終信号045は、加算器12でベクト
ル命令の実行が終了したことを通知する信号としてリソ
ース予約状態保持レジスタ6にも送出され、リソース予
約状態保持レジスタ6の内容を更新する。
乗算器13は信号線49に示される乗算系の演算命令を
実行する。乗算器13は実行する演算命令が加算器12
と異なるが、その動作概略は既に述べた加算器12の動
作と同様である。
即ち、ベクトルレジスタユニット14から信号線Q50
.Ω51.Q52.Q53を介して送られる2つのベク
トルデータ、該データの有効信号、及び該データの最終
信号を受は取ると、2つのベクトルデータ同士に対し信
号線f149に示された演算を施し、該演算結果、該演
算結果の有効信号。
該演算結果の最終信号を信号線f154.f155゜Q
56に送出する。また、ベクトルレジスタユニット14
から送られる読出しデータの最終信号Q53は、命令の
実行の終了に通知としてレジスタ予約状態表示レジスタ
6にも送られる。
上記のように各リソースは、ベクトルレジスタユニット
14から実行すべき命令及び読出しベクトルデータを間
隔をあけずに受解れば、パイプラインの各ステージを全
くあけずに処理を行うことができる。
ベクトルレジスタユニット 以下ベクトルレジスタユニット14の動作を第1図に従
って説明する。
第1図はベクトルレジスタユニット14の内部構成を示
した図である。
図中37.38.39は夫々ベクトルデータを保持する
ベクトルレジスタである。ベトクルレジスタは32本あ
るが、図では省略して3本しか示していない。図中33
.34.3’5.36は、夫々メモリリクエスタO(1
0)、メモリリクエスタ1(11)、加算器129乗算
器13から信号線Q22.Q35.Q4B、Q54を介
して送られてくる書込みデータを、各ベクトルレジスタ
への書込みパスQ80に振り分けるリソース対応のディ
ストリビュータである。また40,41゜42は、各ベ
クトルレジスタの読出パスQ81上の読出データを選択
して夫々メモリリクエスタ1(11,)、加算器122
乗算器13へのデータ信号線Ω38.ff42.Q43
. Q50. Q5]へ送出するリソース対応のセレク
タである。
夫々のベクトルレジスタ37,38.39に対応して、
該ベクトルレジスタの読出し/書込みを制御するベクト
ルレジスタ制御回路18,19゜20がある。
また29,30,31.32は夫々メモリリクエスタ0
(10)、メモリリクエスタ1(11)。
加算器129乗算器13に対する読出データ有効信号及
び最終信号の送出等を行うリソース対応のオペランド制
御回路である。
図中22.24,26.28は夫々メモリリクエスタ0
(10)、メモリリクエスタ1(1,1)。
加算器122乗算器13で実行中の命令を保持する命令
レジスタであり、夫々実行開始可能命令予約手段を内部
にもつ上記4つのリソース対応の命令実行開始制御ユニ
ット21,23,25.27によって値を設定される。
該命令レジスタ22゜24.26.28は命令で示され
るオペコード。
ベクトル長、使用レジスタ番号等の情報を保持している
。また44,46.48は各々メモリリクエスタ1(1
1,)、加算器122乗算器13で実行中の命令で示さ
れる読出レジスタ番号を保持する命令レジスタであり、
夫々実行開始可能命令予約手段を内部に持つ上記3つの
リソース対応の命令実行開始制御ユニット4.3,45
.47によって値を設定される。
命令レジスタ22,24,26.28の情報は夫々対応
するリソース及びオペランド制御回路に送られ、リソー
スでの命令実行制御及びオペランド制御、書込データバ
スの切換え制御に使われる。
命令レジスタ44,46.48の情報は夫々対応するセ
レクタに送られ、読出データバスの切換え制御に使われ
る。
以下、動作の詳細を説明する。
ベクトルレジスタユニット14には、命令発行ユニット
9から、信号線Q +−4を通じて実行すべき命令のオ
ペコード、ベクトル長、使用ベクトルレジスタ番号等の
情報が、信号線fl13を通じて該命令の予約信号が送
られてくる。信号線Q13は各リソース番号0から3に
対応した4ビツトから成っていて、該命令を実行すべき
リソースの番号に対応するビットにのみ1が送られてく
る。各命令実行開始制御ユニット21,23,25゜2
7は、信号線Q13の各ビットのうち、該命令実行開始
制御ユニットが対応するリソース番号に対応するビット
の値が1の時のみ信号線fl14の内容を取り込む。ま
た、各命令実行開始制御ユニット43,45.47は、
信号線Q13の各ビットのうち、該命令実行開始制御ユ
ニッI−が対応するリソース番号に対応するビットの値
が1の時のみ信号線014の内容のうち読出レジスタ番
号情報のみを取り込む。
各命令実行開始制御ユニット21,23,25゜27.
43,45,47は夫々独立に動作して、該命令実行開
始制御ユニットに対応するリソースで実行中の命令がな
ければ直ちに、実行中の命令があれば該命令の実行終了
通知fl18.f128゜045、Q53.Q2B、0
45.Q53を待つて、取り込んだ信号線l114の内
容を、夫々信号線f168.f170. l172.f
174.QB2゜Q84. Q86を通じて、対応する
命令レジスタ22.24,26,28,4.4,46,
48に設定する。ここで、同一リソースに対応する命令
レジスタ、24,44.26と46.28と48には夫
々同じタイミングで値が設定される。(詳細後述) 命令レジスタ22,24,26,28の内容のうち、メ
モリリクエスタ0(10)及びメモリリクエスタ1(1
1)にはオペコード及びベクトル長が、加算器12及び
乗算器13にはオペコードが、夫々信号線Q15.f1
25. Q41.f149を通じて直ちに送られ、以降
該命令の実行が終了するまで送り続けられる。
また、命令レジスタ22,24,26,28の内容は直
ちに対応するオペランド制御回路29゜30.31,3
2に夫々信号線Q69.f171゜Q73,075を通
じて送られ、該信号を受取ったオペランド制御回路は夫
々独立に該信号に示される使用レジスタ番号に対応する
ベクトルレジスタ制御回路18,19.20に読出し若
しくは書込みの開始指示を与える。読出し/書込みの開
始指示には各オペランド制御回路29,30,31.。
3′2からリソース対応に信号線f165−1に送出さ
れるが、S−G変換回路16によりレジスタ対応の読出
し/書込み開始指示に変換され、信号線f166を通じ
て各ベクトルレジスタ制御回路18゜19.20に与え
られる。
また、命令レジスタ4.4,46.48に読出しレジス
タ番号が設定されると、読出パスのセレクタ40,41
.42は信号線Q83.Q84゜Q85を経て該読出し
レジスタ番号情報を得、直ちに読出しパスの接続を切り
換える。一方書込パスのディストリビュータ33,34
,35.36は、夫々信号線Q76、Q77、f178
.Q79の指示により切り換えられるが、該切換えの指
示は、夫々対応するオペランド制御回路により、対応す
る命令レジスタに値が設定されてから一定の間隔をあけ
て送出される。ここで一定の間隔とは各々のリソースに
固有の値であり、データが読出されてから演算を施され
再び書込まれるまでの時間(これをトラベルタイムと呼
ぶ)に等しい。さらに、各オペランド制御回路29,3
0,31゜32は、信号線Q、65−2を通じて各リソ
ースがどのレジスタに書込みを行うかの情報を1〜ラベ
ルタイム分の間隔をあけてS−G変換回路]5に与える
さて、各命令レジスタに設定された命令がベクトルレジ
スタの読出しを行う命令、即ち主記憶書込み命令若しく
は演算命令だった場合、該命令を実行するリソースであ
るメモリリクエスタ1(11)、加算器129乗算器1
3に対応するオペランド制御回路30,31.32は読
出しデータの有効信号Q39.f144.Q52を命令
レジスタ24,25.26で示されたベクトル長分順次
生成して、対応するリソースに送出する。−方読出し開
始指示をうけたベクトルレジスタ制御回路は、対応する
ベクトルレジスタから順次データを読出し、読出しパス
Ω80に送出する。有効信号の生成制御及びデータ読出
し制御については特公昭61−52512に詳しいので
ここでは述べない。読出しパスQ80上に読出されたデ
ータはセレクタ40,41.42により各リソースに信
号線Q3B、Q42.Q43.f150. Q51を通
じて順次送出される。ここで読出パスの切換えは、命令
レジスタ44.46,4.7に値が設定されると直ちに
行われているので、読出されたデータは然るべきリソー
スに対して送出される。
メモリリクエスタ0(10)、メモリリクエスタ1(1
1)で主記憶読出し命令を実行している場合、或いは加
算器129乗算器で演算命令を実行している場合、各リ
ソースから信号線022゜Q35.Q46.Q54を通
じて書込みデータが、信号線Ω23.Ω36.Q47.
Q4Bを通じて該データの有効信号が順次送られてくる
。書込みデータの有効信号Q23.Q36.Q47゜0
48はリソース対応に送られてくるが、S−G変換回路
15により各ベクトルレジスタに対するデータ有効信号
Q59.,961. Q63に変換され、各ベクトルレ
ジスタ制御回路1s、t9;20に与えられる。ここで
リソース番号とレジスタ番号の変換に必要な情報は、命
令レジスタ22゜24.26.28に値が設定されてか
らトラベルタイム分の間隔をあけて信号線Q 65−2
を通じてS−G変換回路15に与えられ、各リソースか
ら最初の書込みデータ有効信号がf123.f136゜
Q47.Q55を通じて届くタイミングにちょうど間に
合うようになっている。
一方、各リソースから送られてくる書込みデータQ22
. Q、35.Q46,1254は、ディストリビュー
タ33,34,35.36により然るべきベクトルレジ
スタへの書込みパスQ80に振分けられる。ここで書込
みパスの切換え指示信号Q76、Q77、D、7B、Q
79は、命令レジスタ22,24,26,28に値が設
定されてからトラベルタイム分の間隔をあけて送出され
、各リソースから最初の書込みデータが信号線Q22゜
l135.Q46.Q54を通じて届くタイミングにち
ょうど間に合うようになっている。
−32= 予め書込み開始指示をうけていた各ベクトルレジスタ制
御回路18,19.20は、書込みデータ有効信号Q5
9. Q61.f163を順次受取り、該有効信号の値
が1の時のみ、対応するベクトルレジスタ37.38.
39に信号線Q80上の値を順次書込む。
メモリリクエスタ1(11)、加算器128乗算器13
に対応するオペランド制御回路30゜31、.32は、
対応する命令レジスタ24,26゜28で示される命令
で扱う最後のベクトルデータの有効信号Q39.f14
4.Q52を各リソースに送出する時同時にデータの最
終信号Q40゜Q45. Q53を各リソースに対し送
出する。該データ最終信号のうち加算器122乗算器1
3に対応する最終信号Q45.Q53は同時に加算器1
2、乗算器13の命令実行終了通知としても使用され、
夫々命令実行開始制御ユニット25と45、及び27と
47に与えられる。メモリリクエスタ0(10)、メモ
リリクエスタ1(11)の命令実行終了通知は夫々対応
するリソースから信号線Q18.Q28を通じて得られ
、夫々命令実行開始制御ユニット21、及び23と43
に与えられる。
さらに各オペランド制御回路29,30,31゜32は
、データ最終信号を送出する時同時にベクトルレジスタ
制御回路に対し読出し終了通知を送′  出する。読出
し終了通知は信号線f167によりリソース対応に送出
されるが、S−G変換回路17によりレジスタ対応の読
出し終了通知に変換され、信号線f168を通じて各ベ
クトルレジスタ制御回路18,19.20に伝えられる
。読出し終了通知を受取ったベクトルレジスタ制御回路
18,19.20は、対応するベクトルレジスタの読出
制御を終了し、信号線Q57を通じてレジスタ使用状態
保持レジスタ4に対しレジスタ対応の読出終了通知を送
出する。
一方、各リソースから送られてくる書込みデータの有効
信号Q23,036.Q47.Q55の対応する書込み
データが各命令で扱う最後の書込みデータであった場合
は、該データ有効信号と同時にデータ最終信号が信号線
f124.f137゜f148. Ω56を通じて各リ
ソースから送られてくる。該データ最終信号Q24.f
137.Ω48゜Ω56は、S−G変換回路15により
ベクトルレジスタ対応のデータ最終信号Q60.Q62
゜f164に変換されて各ベクトルレジスタ制御回路に
与えられる。各ベクトルレジスタ制御回路18゜19.
20は、データ最終信号Q60.Ω62゜Ω64を書込
み終了通知として受取り、対応するベクトルレジスタへ
の書込み制御を終了し、信号線Q58を通じてレジスタ
使用状態保持レジスタ4に対してレジスタ対応の書込み
終了通知を送出する。
各命令実行開始制御ユニット21,23,25゜27.
43,45.47は命令実行終了通知Q18,02B、
f145. Ω53を受取ると直ちに対応する命令レジ
スタ22,24,26,28゜44.46,48の値を
次に実行すべき命令に切換える。(詳細後述) そのためメモリリクエスタ0(10)、メモリリクエス
タ1(11)には、命令実行終了通知Q18.Q28が
送出された次のクロックには、次に実行すべき命令のオ
ペコード及びベクトル長が送出される。また、メモリリ
クエスタ0(10)。
メモリリクエスタ1(11)に対応するオペランド制御
回路は、命令実行終了通知ρ18,02Bが送出された
次のクロックにはベクトルレジスタ制御回路18,19
.20に読出し/書込み開始指示を行うと共に、同時に
該命令で扱う最初の読出しデータの有効信号Q39を送
出できる。一方セレクタ40は、命令実行終了通知02
Bが送出された次のクロックには読出しパスf181の
接続を切換えるので、読出し開始指示を受けたベクトル
レジスタ制御回路18,19.20により読出されたデ
ータは然るべきリソースに送出される。
加算器122乗算器13にも命令実行終了通知であるデ
ータ読出し最終信号f145. Ω53が送出された次
のクロックには次に実行すべき命令のオペコードが送出
され、同じタイミングで各ベクトルレジスタ制御回路1
8’、19,20に読出し/書込み開始指示が伝えられ
ると共に、該命令で扱う最初の読出しデータの有効信号
Q44゜Ω52が送出されるので、異なる命令間で全く
間隔をあけずに各リソースにデータ有効信号Q44゜Ω
52が送出されることになる。一方で該同じタイミング
でセレクタ41.42は読出しパスQ81の接続を切換
えるので、読出しデータは然るべきリソースに送出され
る。
さらに、ディストリビュータ33,34,35゜36に
よる書込パスQ80の切換えは、ある命令の実行終了通
知nxs、n28.ra45.Ω53が送出されてから
、該命令を実行するリソースのトラベルタイムだけ間隔
をあけて行われる。そのため、該命令で扱う最後の書込
データが該命令で書込みを指定されたベクトルレジスタ
37,38゜39への書込みパスQ80上に送られてく
るまで、書込パスQ80は該命令の書込みレジスタに接
続されており、該データは然るべきレジスタに書込まれ
る。そして、その次のクロックには書込みパスQ80の
接続が切換えられ、該命令の次の命令で扱う最初の書込
データが間隔をあけずに該リソースから送られてきても
、該書込みデータは然るべきレジスタに書込まれる。
上記のように、ベクトルレジスタユニット14内に、リ
ソース対応の実行開始可能命令予約手段を内部に持つ命
令実行開始制御ユニットを設けたことにより、各リソー
スに対し実行すべき命令のオペコード及びベクトル長と
読出しベクトルデータを間隔をあけずに送出することか
できる。
また、本実施例では、命令実行開始制御ユニットをベク
トルレジスタユニット14内にのみ設け、該命令実行開
始制御ユニットから各リソースにオペコード及びベクト
ル長の情報を送ったが、各リソースを制御するユニット
内にもオペコード及びベクトル長の情報を保持する命令
予約手段と該予約手段の制御ユニットを設け、命令発行
ユニット9から直接各リソースに該情報を送出して命令
実行開始予約指示を行っても同じ効果が得られる。
また、本実施例では書込みパスΩ81の切換え指示はオ
ペランド制御回路29,30,31゜32から行なった
が、書込みレジスタ番号情報のみを保持する命令予約手
段と該予約手段の制御ユニットを設けて該制御ユニット
の出力信号の指示によりディストリビュータ33.34
,35゜36の切換えを行ってもよい。
さらに、本実施例では読出しレジスタ番号情報のみを保
持する命令予約手段を制御する命令実行開始制御ユニッ
ト43,45.47を設け、該命令実行開始制御ユニッ
ト4.3,45.47の出力信号の指示により読出しパ
スQ81の切換えを行ったが、該命令実行制御ユニット
43,45゜47を設けずに、オペランド制御回路30
,31゜32から直接読出しパスf181の切換えを指
示してもよい。
実行開始制御ユニット 次に実行開始制御ユニットの動作を、第1図中の加算器
12に対応する実行開始制御ユニッ1−25を例にとっ
て第3図を使って説明する。
第3図は実行開始制御ユニット25の内部の構成図であ
る。本実施例では、実行開始予約済み命令を、現在実行
中の命令を含め2つまで保持可能とし、実行開始制御ユ
ニット25は、実行開始の予約を受は付けた順に命令の
実行を開始させるものとする。
信号線Q13には命令発行ユニット9からオペコード、
ベクトル長、使用ベクトルレジスタ番号等の命令実行に
必要な情報が送られてくる。信号線Q13は、命令発行
ユニット9から送られる命令実行開始の予約信号であり
、上記命令実行情報を実行開始予約済み命令として取り
込むべきか否かを指定する。信号線Q45は、加算器1
2から送られてくる命令の実行が終了したことを知らせ
る信号である。命令レジスタ26は加算器12で現在実
行中の命令を保持するレジスタであり、該レジスタ26
の内容は信号線Q73. Q15を通じて夫々オペラン
ド制御回路31及び加算器12に伝えられる。
第3図中49は実行待ち中の実行開始予約済み命令を保
持する命令レジスタであり、50はセレクタであり、信
号線fl14の内容、若しくは信号線Q88を介して得
た実行待ち命令レジスタ49の内容のいずれか一方を選
択して信号線Q72に送出することかできる。本実施例
では実行開始の予約を受は付けた順に命令の実行を開始
させればよいので実行開始制御ユニットは以下の制御を
行なえばよい。即ち、現在実行中の命令がない時に信号
線fl13から命令の実行開始予約指示を受けた場合は
、直ちに信号線Q14上の実行開始予約命令を信号線f
172に送出して命令レジスタ26にセットし、現在実
行中の命令がある時に信号線Q13から命令の実行開始
予約指示を受けた場合は、信号線Q14上の実行開始予
約命令を実行待ち命令レジスタ49にセットして、現在
実行中の命令の実行終了の通知を待って実行待ち命令レ
ジスタ49の内容を命令レジスタ26にセットするよう
制御する。
以下、上記制御方法を詳しく述べる。
第3図において51は実行開始予約済み命令が幾つ保持
されているかを表示するレジスタで、2ビツトからなる
。52は命令の実行開始制御機構で、実行開始予約命令
の予約指示信号Q ]、 3及び実行中命令終了通知信
号α45を受けて予約済み命令保持状態表示レジスタ5
1の内容を更新し、実行待ちレジスタ49へのセット信
号Q89.セレクタ50の切り替え信号f190、及び
命令レジスタ26へのセット信号Q91を送出する。
第4図は予約済み命令保持状態表示レジスタ51の状態
遷移図である。51−1.51−2゜51−3.51−
4の各ノードは各々予約済み命令保持状態表示レジスタ
51のビットがとる値である。51−1は実行開始を予
約されている命令が全くない状態を表わしている。51
−2は実行開始を予約されている命令が1つだけあり、
該命令が命令レジスタ26に保持されている状態を表わ
している。51−3は実行開始を予約されている命令が
2つあり、各々の命令が命令レジスタ26及び実行待ち
命令レジスタ49に保持されている状態を表わしている
。51−4は、機械が正常に動作していれば本来起こり
得ない信号の組合せを受は取った時に生じる状態であり
、この時マシンチエツク信号(図示せず)を送出する。
第4図中のI、I、E、Eとは夫々予約指示信号Q13
.実行中命令終了通知信号Q45の値を示しており、■
は予約指示信号fl 13の値が1であることを示し、
■は予約指示信号fl]3の値がOであることを示し、
Eは実行中命令終了通知信号f145の値が1であるこ
とを示し、Eは実行中命令終了通知信号Q45の値が0
であることを示している。ここで、予約指示信号Q13
の値が1であるとは命令実行開始の予約を指示されたこ
とを示し、0であるとは命令実行開始の予約を指示され
なかったことを示している。また実行中命令終了通知信
号Q45の値が1であるとは実行中命令の終了通知を受
けたことを示し、0であるとは実行中命令の終了通知を
受けなかったことを示している。
第3図中の実行開始制御機構52は、予約指示信号Q1
3.実行中命令終了通知信号Q45を受けると、信号線
Q93を通じて得たその時の予約済み命令保持状態表示
レジスタ51の値に応じて、信号線f192を介して該
状態表示レジスタ51の値を第4図の状態遷移図に従い
更新する。
予約済み命令保持状態表示レジスタ51の値が00で、
実行開始を予約されている命令が全くない状態の時に、
予約指示信号Q13も実行中命令終了通知信号045も
受けとらなかった場合(即ち■かつE)は状態表示レジ
スタ51の値を更新する必要はないので、アークa1の
示すように状態表示レジスタ51の値は00のままとす
る。状態表示レジスタ51の値が00の時に、予約指示
信号Q13を受取り実行中命令終了通知信号Q45を受
けとらなかった場合(即ち■かつE)は、実行開始予約
済み命令は命令レジスタ26にのみ保持されるはずなの
で、アークa2の示すように状態表示レジスタ51の値
を01に更新する。
状態表示レジスタ51の値が00の時に、実行中命令終
了通知信号Q45を受取った場合(即ちE)は、マシン
チエツク信号を送出して状態表示レジスタ51の値を1
1に更新する。
予約済み命令保持状態表示レジスタ51の値が=44− 〇1で、実行開始を予約されている命令が1つだけあっ
て該命令が命令レジスタ26に保持されている状態の時
に、予約指示信号Q]3も実行中命令終了通知信号Q4
5も受は取らなかった場合(即ちIかつE)は、状態表
示レジスタ51の値を更新する必要はないので、アーク
a4の示すように状態表示レジスタ51の値は01のま
まとする。予約済み命令保持状態表示レジスタ51の値
が01の時に、予約指示信号013も実行中命令終了通
知信号Q45も受は取った場合(即ち■かつE)は、命
令レジスタ26の内容が直ちに信号線Q14の内容に置
き換えられて実行待ちレジスタ49には何も保持されな
いはずであるので、アークa4の示すように状態表示レ
ジスタ51の値は01のままとする。予約済み命令保持
状態表示レジスタ51の値が01の時に、予約指示信号
Q13を受取らず実行中命令終了通知信号0.45を受
けとった場合(即ち■かつE)は、保持すべき命令がな
くなったわけであるから、アークa5の示すように状態
表示レジスタ51の値を00に更新する。予約済み命令
保持状態表示レジスタ51の値が01の時に、予約指示
信号Q13を受は取って実行中命令終了通知信号Q45
を受は取らなかった場合(即ち■かつE)は、保持すべ
き実行開始予約済み命令が2つになったので、アークa
6の示すように状態表示レジスタ51の値を10に更新
する。
予約済み命令保持状態表示レジスタ51の値が10で、
実行開始を予約されている命令が2つあって各々の命令
が命令レジスタ2G及び実行命令レジスタ49に保持さ
れている状態の時に、予約指示信号Q13も実行中命令
終了通知信号Q、45も受は取らなかった場合(即ち■
かつE)は、状態表示レジスタ51の値を更新する必要
はないので、アークa7の示すように状態表示レジスタ
51の値は10のままとする。予約済み命令保持状態表
示レジスタ51の値が10の時に、予約指示信号Q、1
3を受取らず実行中命令終了通知信号Q45を受けとっ
た場合(即ち■かつE)は、命令レジスタ26の内容が
直ちに実行待ちレジスタ49の内容に置き換えられて実
行待ちレジスタ49には何も保持されないはずであるの
で、アークa8の示すように状態表示レジスタ51の値
を01に更新する。予約済み命令保持状態表示レジスタ
51の値が10の時に、予約指示信号Q 1.3を受は
取った場合(即ち■)は、マシンチエツク信号を送出し
て状態表示レジスタ51の値を11に更新する。
第3図中の実行開始f8IJ御機構52は、予約指示信
号Q13.実行中命令終了通知信号Q45及び、信号線
Q93を通じて得たその時の予約済み命令保持状態表示
レジスタ51の値を受は取って、命令レジスタ26への
セット信号Q91.実行待ちレジスタ49へのセット信
号ρ89.セレクタ50の切り替え信号Q、90を送出
する。第5図は、命令レジスタへのセット信号Q91.
実行待ちレジスタ49へのセット信号Q89.セレクタ
50の切り替え信号f190に設定すべき値を、受は取
った信号fl13.f145.ρ93の値に応じて示し
た表である。第3図において、レジスタ26゜49は夫
々信号線f191.f189が1の時、信号11AQ7
2,11114の値を保持するものとし、セレクタ50
は、信号線f190の値がOの信号線ff14の値を、
信号線ff90の値が1の時信号線Q88の値を選択し
て信号線Q72に送出するものとする。以下第5図に従
って信号を送出した時の第3図の動作を説明する。
状態表示レジスタ51の値がOOで実行開始を予約され
ている命令が全くない状態の時に、予約指示信号Q13
を受取り実行中命令終了通知信号Q45を受は取らなか
った場合は、セレクタ50の切り替え信号Q90の値を
0にして命令レジスタ26へのセット信号Q91を1に
すれば、信号線Q14の内容を命令レジスタ26にセッ
トすることができる。
状態表示レジスタ51の値が01で実行開始を予約され
ている命令が命令レジスタ26にのみ保持されている状
態の時に、予約指示信号Q 1.3も実行中命令終了通
知信号ρ45も受は取った場合は、セレクタ50の切り
替え信号Q90の値を1−48= にして命令レジスタ26へのセット信号Q9Iを1にす
れば、実行待ち命令レジスタの内容を命令レジスタ26
にセットすることができる。
状態表示レジスタ51の値が01の時に、予約指示信号
Q13を受取り実行中命令終了通知信号Q45を受は取
らなかった場合は、命令レジスタ26へのセット信号Q
91を0にして実行待ち命令レジスタ49へのセット信
号ff89を1にすれば、信号線Q14の内容を実行待
ち命令レジスタ49にのみセットすることができる。
状態表示レジスタ51の値が10で実行開始を予約され
ている命令が命令レジスタ26及び実行命令レジスタ4
9に保持されている状態の時に、予約指示信号Q13を
受取らず実行中命令終了通知信号Q45を受けとった場
合は、セレクタ50の切り替え信号Q90の値を1にし
て命令レジスタ26へのセット信号Q91を1にすれば
、実行待ち命令レジスタの内容を命令レジスタ26にセ
ットすることができる。
上記以外の場合には、命令レジスタ26及び実行命令レ
ジスタ49に値をセットする必要がないので命令レジス
タ26へのセット信号ρ91.実行待ちレジスタ49へ
のセット信号ff89、セレクタ50の切り替え信号Q
90に全てOを設定すればよい。
上記のように信号に値を設定することにより、実行開始
制御機構52は、現在実行中の命令がない時に信号線Q
13から命令の実行開始予約指示を受けた場合は、直ち
に信号線fl14上の実行開始予約命令を信号線Q72
に送出して命令レジスタ26にセットし、現在実行中の
命令がある時に信号線013から命令の実行開始予約指
示を受けた場合は、信号線Ω14上の実行開始予約命令
を実行待ち命令レジスタ49にセラ1−シて、現在実行
中の命令の実行終了の通知を待って実行待ち命令レジス
タ49の内容を命令レジスタ26にセットするように制
御することができる。
命令発行制御 第2図において、命令の発行制御は、レジスタ使用可否
判定ユニット7及びリソース使用可否判定ユニット8の
判定結果に従って命令発行ユニット9が行う。リソース
の使用可否の判定は、解読した命令のリソース使用要求
と各リソースの使用予約状態を比較して行う。以下その
判定方法及び命令発行制御を説明する。なお、レジスタ
使用可否判定の方法は、特公昭61−52512に詳し
いので、ここでは述べない。
第6図番キリソース予約状態保持レジスタ6の構成と、
該レジスタを更新する信号線とを示した図である。リソ
ース予約状態保持レジスタ6は、メモリリクエスタ0予
約状態保持部6−O,メモリリクエスタ1予約状態保持
部6−1.加算器予約状態保持部6−22乗算器予約状
態保持部6−3の4つからなる。信号線Q11は命令発
行ユニット9から送出されるレジスタ使用状態保持レジ
スタ4及びリソース予約状態保持レジスタ6の更新信号
で、そのうちの4ビットQ11−0゜ρ11−1. f
f 11−2.  Ω11−3がリソース予約状態保持
レジスタ6の更新に使用される。
Qll−0はメモリリクエスタ0に対し実行可能命令の
予約指示がなされたことを示す信号であり、Qll−1
はメモリリクエスタlに対し、Qll−2は加算器に対
し、α工1−3は乗算器に対し夫々実行可能命令の予約
指示がなされたことを示す信号である。
信号線Qi8,02B、Q45.Q53は夫々メモリリ
クエスタ0.メモリリクエスタ1.加算器9乗算器から
送出される命令実行終了通知である。各リソースの予約
状態保持部6−0.6−1゜6−2.6−3は各々2ビ
ツトからなり、その値の意味する各リソースの実行間開
予約済み命令保持状態は、第3図の予約済み命令保持状
態表示レジスタ51の値の意味するものと同じである。
また、状態保持部6−0.6−1.6−2.6−3の各
個を、リソース予約状態保持レジスタ6の更新制御機構
(図示せず)は、第4図の状態遷移図に従って更新する
。但し状態保持部6−0の更新においては、第4図の■
とは信号線Q 11−0の値が1であることを表わし、
■とは信号線Qll−0の値が0であることを、Eとは
信号線Ω18の値が1であることを、Eとは信号線11
18の値が0であることを表わしている。また、状態保
持部6−1の更新においては、第4図の■とは信号線Q
 1.1−1の値が1であることを、Tとは信号線Ql
l−1の値が0であることを、Eとは信号線Q2Bの値
が1であることを、Eとは信号線Q2Bの値が0である
ことを表わしている。
さらに、状態保持部6−2の更新においては、第4図の
■とは信号線Q11.−2の値が1であることを、■と
は信号線Qil−2の値がOであることを、Eとは信号
線Q45の値が1であることを、Eとは信号9245の
値がOであることを表わしている。そして、状態保持部
6−3の更新においては、第4図の1とは信号線fll
l−3の値が】であることを、■とは信号線Qll−3
の値が0であることを、Eとは信号線Q53の値が1で
あることを、Eとは信号線Q53の値が0であることを
表わしている。
上記のように各状態保持部6−0.6−1゜−54= 6−2.6−3の値を更新することにより、各状態保持
部6−0.6−1.6−2.6−3は夫々各リソース対
応の予約済命令保持状態表示レジスタと全く同じ情報を
もつことになる。
上記各状態保持部6−Q、6−1.6−2゜6−3の情
報を使用して、リソース使用可否判定ユニット8は、毎
タロツクリソースの使用可否の判定を行い、また命令発
行ユニット9は、命令を実行させるべきリソースに対し
、レジスタとリソースの使用が可能になると直ちに命令
実行開始の予約指示を行う。
以下、それらの動作を説明する。
第3図中のリソース使用可否判定ユニット8は。
上記のように値が更新されるリソース予約状態保持レジ
スタ6とリソース使用要求保持レジスタ5とに保持され
ている情報を夫々信号線n8.Q7を通じて得、解読し
た命令で使用するリソースに対しさらに命令実行開始予
約を行なってよいか否かを判定し、その結果を信号線Q
10に送出する。
以下、その制御方法を説明する。
第7図は、上記判定を行なうことのできる回路図である
。第7図中、6はリソース予約状態保持レジスタであり
、5はリソース使用要求保持レジスタである。状態保持
レジスタ6の構成は既に説明したとおりである。要求保
持レジスタ5は、各々1ビツトのメモリリクエスタ0/
1使用要求保持部5−O,メモリリクエスタl使用要求
保持部5−1.加算器使用要求保持部5−22乗算器使
用要求保持部5−3から構成されている。本実施例では
、主記憶読み出し命令を実行できるリソースはメモリリ
クエスタ0(10)及びメモリリクエスタ1(11)で
あり、主記憶書き込み命令を実行できるリソースはメモ
リリクエスタ1(11)のみであり、加算系の命令を実
行できるリソースは加算器12のみ、乗算系の命令を実
行できるリソースは乗算器13のみである。そのため、
命令解読ユニット13は、解読した命令が主記憶読み出
し命令ならばメモリリクエスタ071使用要求保持部5
−0に値1を設定し、主記憶書き込み命令ならばメモリ
リクエスタ1使用要求保持部5−1に値1を設定し、加
算系の命令ならば加算器使用要求保持部5−2に値1を
設定し、乗算系の命令ならば乗算器使用要求保持部5−
3に値1  ・を設定する。信号線Q10はリソース使
用可否判定結果を送出する信号線である。
主記憶書き込み命令、加算系命令、若しくは乗算系命令
を実行するために、メモリリクエスタI(11)、加算
器12、若しくは乗算器13の使用可否判定を行なうた
めには、各リソース予約保持部6−1.6−2.6−3
のビットOの値と、各リソース使用要求保持部5−1.
5−2゜5−3の値とを、夫々信号線QB−1,QB−
2゜Q8−3と信号線Q7−1.Q7−2.Q7−3と
を通じてNANDゲートg3t g4+ g5とに入力
すればよい。何故ならば、各リソース予約保持部6−1
.6−2.6−3のビットOの値が0の時は各リソース
は実行開始予約済み命令を0若しくは1こ保持している
のでさらに実行可能命令を予約可能である。予約保持部
6−1.6−2゜6−3のビットOの値が1の時は各リ
ソースは実行開始予約済み命令を2こ保持しているので
さらに実行可能命令の予約はできない。一方、要求保持
部5−1.5−2.5−3は要求がある時のみ値が1に
なる。よっ゛て予約保持部6−1.6−2゜6−3のビ
ットOの値と要求保持部5−1゜5−2.5−3の値の
NANDをとると、信号線Q96,497.f198に
は、対応するリソースの使用要求があってかつ該リソー
スに実行可能命令の予約ができない時のみ0が、実行可
能命令の予約ができる時もしくは予約要求がない時は1
が出力される。
主記憶読み出し命令を実行するためにリソースの使用可
否判定を行なうためには、メモリリクエスタ0予約保持
部6−1.メモリリクエスタ1予約保持部6−2のビッ
ト0の値を信号線Q 8−0゜Q8−1を通じてAND
ゲートg1に入力し、その結果を信号線Q94に出力し
、信号線Q94の値と信号線07−0を介して得たメモ
リリクエスタ0/1使用要求保持部5−0の値とのNA
NDをゲートg2でとればよい。何故なら、メモリリク
エスタ0予約保持部6−1.メモリリクエスタ予約保持
部6−2のビット0の値のANDは、メモリリクエスタ
0及びメモリリクエスタ1が共に実行開始予約済み命令
を2こ保持していてさらに実行可能命令の予約ができな
い時のみ1になるからである。よって信号線Q94の値
と要求保持部5−0の値のNANDをとると、信号線0
95には、メモリリクエスタ0/1の使用要求があって
かつ該リソースに実行可能命令の予約ができない時のみ
0が、実行可能命令の予約ができる時もしくは予約要求
がない時は1が出力される。よって信号線ff95.f
f96.R97,R98(7)ANDをゲートg6でと
れば、信号線Ω]0にはあるリソースに実行可能命令の
予約ができない時は0が、実行可能命令の予約ができる
時は1が出力される。
第2図中の命令発行ユニット9はレジスタ使用可否判定
結果と、上記のようにして得たリソース使用可否判定結
果、及び解読された命令とを夫々信号線Q9.fllo
、82を通じて得、該レジスタ使用可否判定結果と該リ
ソース使用可否判定結果とが共に肯定的だった場合に、
該解読された命令の実行開始の予約を行なうべきリソー
スを選択し、ベグ1−ルレジスタユニツ1〜14内にあ
る、該リソースに対応する命令実行開始制御ユニットに
対し命令実行開始の予約信号を信号線Q]3を通じて送
出する。ここで、リソースの選択を行なわなければなら
ないのは、解読された命令が主記憶読み出し命令であっ
た場合である。解読された命令が主記憶読出し命令以外
の命令であった場合は、該命令を実行できるリソースは
1つしかないので。
リソースの選択を行う必要はない。解読された命令が主
記憶読み出し命令であり、メモリリクエスタO及びメモ
リリクエスタ1の保持する実行開始予約済み命令数が同
数でない場合は、」1記命令数の少ない方のメモリリク
エスタに、上記命令数が同数の場合は、主記憶書き込み
命令実行機能を持たないメモリリクエスタ0に予約を行
なう。以下、その制御方法を説明する。
第8図は、上記制御を行なうことのできる回路図である
。信号線f199上には、リソース予約状態保持レジス
タ口の内容が送出されている。信号線Q2は、命令解読
結果であり、予約信号送出にはそのうちのメモリリクエ
スタ071使用要求信号u 2−0.メモリリクエスタ
1使用要求償号Q2−L、加算器使用要求信号ρ2−2
1乗算器使用要求信号122−3を使用する。メモリリ
クエスタ0/1使用要求信号Q2−0の値は、命令を解
読した結果が主記憶読み出し命令ならば1になっている
。メモリリクエスタ1使用要求信号Q2−1の値は、命
令を解読した結果が主記憶書き込み命令ならば1になっ
ている。加算器使用要求信号Q2−2の値は、命令を解
読した結果が加算系の演算命令ならば1になっている。
乗算器使用要求信号Q2−3の値は、命令を解読した結
果が乗算系の演算命令ならば1になっている。信号線Q
9はレジスタ使用可否判定結果であり、信号線Q10は
リソース使用可否判定結果であり、信号線Q105には
ゲートgloを介して信号線Q9及びQloの値のAN
Dが送出されているので、該信号Q、]、 05の値は
上記判定結果が共に肯定的であった場合のみ1となる。
信号線Q 13−0. fi l 3−1.、 ff 
13−2゜ρ13−3は夫々メモリリクエスタO,メモ
リリクエスタ1.加算器2乗算器に対応する命令実行開
始制御ユニットに対する命令実行開始の予約信号であり
、上記4ビツトの信号線fl13−0〜Q 13−3が
信号線1113として、ベクトルレジスタユニット14
に送出される。
メモリリクエスタ選択機構53は、命令解読結果12の
内容に関係なく、常に、信号線Q99を通じて得たリソ
ース予約状態保持レジスタ6の内容に応じてメモリリク
エスタ0に予約指示を送出するか、メモリリクエスタ1
に予約指示を送出するかを選択する。メモリリクエスタ
選択機構53は、予約指示を送出すべきリソースとして
メモリリクエスタ0を選択した場合メモリリクエスタ0
選択信号Q 100に値1を、メモリリクエスタIを選
択した場合メモリリクエスタ1選択信号Q101に値1
を送出する。
第9図は、メモリリクエスタ選択機構53が、メモリリ
クエスタ0選択信%Q 100 tメモリリクエスタ1
選択信号Q101のどちらに1を設定すべきかを、信号
線Q99を通じて受は取ったリソース予約状態保持レジ
スタ6の内容に応じて示した図である。リソース予約状
態保持レジスタ6中のメモリリクエスタ0予約保持部6
−0の値が00で、メモリリクエスタ0が1つも実行開
始予約済み命令を保持してない状態の場合は、メモリリ
クエスタ1予約保持部6−1の値に拘らず、メモリリク
エスタ0選択信号Q100に値1を設定する。メモリリ
クエスタO予約保持部6−0の値が01で、メモリリク
エスタ0が1つだけ実行開始予約済み命令を保持してい
る状態の場合は、メモリリクエスタ1予約保持部6−1
の値が00でメモリリクエスタ0が1つも実行開始予約
済み命令を保持してない状態の時のみメモリリクエスタ
1選択信号QIOIに値1を、それ以外の時はメモリリ
クエスタ0選択信号Q100に値1を設定する。メモリ
リクエスタO予約保持部6−0の値が10で、メモリリ
クエスタ0が2つ実行開始予約済み命令を保持している
状態の場合は、メモリリクエスタ1予約保持部6−0の
値もまた10の場合を除いてメモリリクエスタ1選択信
号a101に値1を設定する。
第8図において、上記のように設定された信号線Q1.
OO,Q]、01の値と、メモリリクエスタ0/1使用
要求償号a2−0の値とをゲー1〜g7゜g8を介して
ANDをとり、結果を信号線Q1.02.fl103に
送出する。信号線Q102は、解読された命令が主記憶
読み出し命令であり、かつメモリリクエスタ0が選択さ
れた時のみ値が1になり、信号線Q103は、解読され
た命令が主記憶読み出し命令であり、かつメモリリクエ
スタ1が選択された時のみ値が1になっている。メモリ
リクエスタOに対応する命令実行開始制御ユニットに対
する命令実行開始の予約信号Q1.3−0には、レジス
タ及びリソースの双方が使用可能の時のみ値が1になる
信号線Q105と信号線Q102とのANDをゲートg
 1.1を介してとった値を送出すればよい。
一63= 解読された命令が主記憶書き込み命令であった時には、
メモリリクエスタJ使用要求信号Q2−1の値が1にな
っているので、ゲー1” g 9により信号線Q103
と信号線Q2−1とのORをとれば、信号線Q i O
4は解読された命令が主記憶読み出し命令であってかつ
メモリリクエスタ1が選択された時若しくは解読された
命令が主記憶書き込み命令であった時のみ、値が1にな
っている。よってメモリリクエスタ1に対応する命令実
行開始制御ユニットに対する命令実行開始の予約信号f
l13−1には、信号線Q104と信号線Q105との
ANDをゲートg 1.2を介してとった値を送出すれ
ばよい。
命令を解読した結果が加算命令若しくは乗算命令だった
場合は、夫々加算器使用要求信号Q2−2.乗算器使用
要求信号Q2−3の値が1になっているので、加算器9
乗算器に対応する命令実行開始制御ユニットに対する命
令実行開始の予約信号Q ]、 3−2. Q 1.3
−3に信号線Q2−2.Q2−3の値と信号線Q105
の値を夫々ゲートg ] 3 r g 14を介してA
NDをとり、送出すればよい。
上記のようにリソース使用可否判定ユニット8及び命令
発行ユニット9を制御することにより、解読した命令で
使用するレジスタが使用可能になり、かつ使用するリソ
ースに対し命令実行の予約を行えるようになり、次第、
該リソースに対応する命令実行開始制御ユニットに、該
解読した命令の予約指示を行うことができる。
〔発明の効果〕
本発明によれば、各リソースで実行中の命令が終了する
と直ちに実行可能な次の命令をリソース及び、ベクトル
レジスタ制御ユニットに与えることが可能になり、その
結果、前の命令と次の命令とで扱うベクトルデータが間
断なく各リソースに投入できるようになるので、リソー
スの使用効率が向上するという効果がある。
【図面の簡単な説明】
第1図はベクトルレジスタユニットの構成図、第2図は
ベクトルプロセッサの概略構成図、第3図は命令実行開
始制御ユニットの構成図、第4図は予約済み命令保持状
態表示レジスタの値の状態遷移図、第5図は命令実行開
始制御ユニット内の信号に設定すべき値を示す表、第6
図はリソース予約状態保持レジスタの構成図、第7図は
リソース使用可否判定ユニットの構成図、第8図は命令
発行ユニットの構成図、第9図はメモリリクエスタ選択
機構の動作を説明する表である。 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,48・・・命
令レジスタ、29,30,31.32・・・オペランド
制御回路、33,34,35.36・・・ディストリビ
ュータ、40,4.1.42・・・セレクタ、37.3
8.39・・・ベクトルレジスタ、49・・・実行待ち
命令レジスタ、51・・・予約済み命令保持状態表示レ
ジスタ、52・・・実行開始制御機構。 53・・・メモリリクエスタ選択機構。

Claims (1)

  1. 【特許請求の範囲】 1、主記憶装置と、 複数のベクトルレジスタと、 命令を実行するメモリリクエスタ或いは演算器等のリソ
    ースと、 リソース対応に設けられた、該リソースで実行中及び実
    行すべき命令を保持する命令保持手段と、 命令を解読し、該命令を実行するリソースに対応する上
    記命令保持手段に対し、該命令を保持する指示を行う命
    令制御手段と、 上記リソースで実行中の命令の実行終了通知を受けたら
    、該リソースに対応する命令保持手段に保持している実
    行すべき命令のうちの1つを実行中にする実行開始制御
    手段とを有するデータ処理装置。 2、上記命令保持手段の命令保持状態を表示する状態表
    示手段をさらに有し、 上記命令制御手段は、命令で読出し若しくは書込みが指
    定されているベクトルレジスタが読出し若しくは書込み
    に使用可能であり、かつ該命令を実行するリソースに対
    応する上記命令保持手段が命令をさらに保持可能である
    か否かを上記状態表示手段から判定して、該判定結果が
    否定的な場合には命令保持手段に対して該命令の保持を
    指示することを特徴とする第1項のデータ処理装置。 3、ある命令を実行可能なリソースを複数有し、命令制
    御手段は、上記複数のリソースに対応する命令保持手段
    に保持されている命令数が同数でない時、該命令数が最
    も少ない命令保持手段に対し、上記命令の保持を指示す
    る第2項のデータ処理装置。 4、第1と第2の種類の命令を実行可能な第1のリソー
    スと、 上記第1の種類の命令の実行は可能だが上記第2の種類
    の命令の実行は不可能な第2のリソースとを有し、 命令制御手段は、解読した命令が該第1の種類に属し、
    かつ該第1のリソースと該第2のリソースに対応する命
    令保持手段が保持する命令数が同数の時には、該第2の
    リソースに対応する命令保持手段に対して該命令を保持
    する指示を行うものである第2項のデータ処理装置。
JP62285310A 1987-11-13 1987-11-13 データ処理装置 Expired - Lifetime JP2810043B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62285310A JP2810043B2 (ja) 1987-11-13 1987-11-13 データ処理装置
US07/634,810 US5396603A (en) 1987-11-13 1990-12-31 Data processor having resources and execution start control for starting execution of succeeding instruction in resource before completion of preceding instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62285310A JP2810043B2 (ja) 1987-11-13 1987-11-13 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01128162A true JPH01128162A (ja) 1989-05-19
JP2810043B2 JP2810043B2 (ja) 1998-10-15

Family

ID=17689870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62285310A Expired - Lifetime JP2810043B2 (ja) 1987-11-13 1987-11-13 データ処理装置

Country Status (2)

Country Link
US (1) US5396603A (ja)
JP (1) JP2810043B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930002316B1 (ko) * 1989-05-10 1993-03-29 미쯔비시덴끼 가부시끼가이샤 버스제어방법 및 화상처리 장치
US5745723A (en) * 1989-09-04 1998-04-28 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5615349A (en) * 1990-09-04 1997-03-25 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
US5751983A (en) * 1995-10-03 1998-05-12 Abramson; Jeffrey M. Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations
CN100347668C (zh) * 1997-08-29 2007-11-07 松下电器产业株式会社 指令变换装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US3631452A (en) * 1968-12-23 1971-12-28 Willard H Richard Work-scheduling apparatus
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US3702006A (en) * 1971-06-09 1972-10-31 Ibm Method for balancing the utilization of input/output devices
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4495570A (en) * 1981-01-14 1985-01-22 Hitachi, Ltd. Processing request allocator for assignment of loads in a distributed processing system
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
US4685058A (en) * 1983-08-29 1987-08-04 Amdahl Corporation Two-stage pipelined execution unit and control stores
US4627018A (en) * 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
US4621359A (en) * 1984-10-18 1986-11-04 Hughes Aircraft Company Load balancing for packet switching nodes
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
US4809157A (en) * 1985-09-30 1989-02-28 International Business Machines Corp. Dynamic assignment of affinity for vector tasks
JPH0622035B2 (ja) * 1985-11-13 1994-03-23 株式会社日立製作所 ベクトル処理装置
JP2533495B2 (ja) * 1986-07-25 1996-09-11 株式会社日立製作所 ワ−クスケジユ−リング方法及び装置
JPS6353678A (ja) * 1986-08-22 1988-03-07 Hitachi Ltd ベクトル処理装置
US5185870A (en) * 1987-04-10 1993-02-09 Tandem Computers, Inc, System to determine if modification of first macroinstruction to execute in fewer clock cycles
JP6116113B2 (ja) 2011-04-07 2017-04-19 株式会社豊田中央研究所 凝縮器、及びこれを備えた凝縮システム

Also Published As

Publication number Publication date
US5396603A (en) 1995-03-07
JP2810043B2 (ja) 1998-10-15

Similar Documents

Publication Publication Date Title
US4675806A (en) Data processing unit utilizing data flow ordered execution
CA2383528C (en) Branch instruction for processor
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
JPH0762823B2 (ja) デ−タ処理装置
CN115774575B (zh) 一种risc-v矢量处理单元实现方法及架构
JPH0545985B2 (ja)
KR20010051522A (ko) 처리 시스템에서 스택, 팝 및 푸쉬 동작을 수행하기 위한장치 및 방법
JP3237858B2 (ja) 演算装置
JPH01128162A (ja) データ処理装置
JP4985452B2 (ja) ベクトル処理装置
JPH0743648B2 (ja) 情報処理装置
JPH06214875A (ja) 記憶制御装置
JPS59106075A (ja) デ−タ処理システム
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
US5677859A (en) Central processing unit and an arithmetic operation processing unit
JPH02230368A (ja) データ処理装置
JPH0793152A (ja) マイクロプロセッサ制御装置
JP2861560B2 (ja) データ処理装置
JP2824484B2 (ja) パイプライン処理計算機
US4802088A (en) Method and apparatus for performing a pseudo branch in a microword controlled computer system
JP5245617B2 (ja) レジスタ制御回路およびレジスタ制御方法
JP2812610B2 (ja) パイプライン制御方式
JP2573711B2 (ja) マイクロサブルーチン制御方式
JP3473506B2 (ja) パイプライン処理装置
JP3517139B2 (ja) 情報処理装置