JPS58114274A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS58114274A
JPS58114274A JP56210392A JP21039281A JPS58114274A JP S58114274 A JPS58114274 A JP S58114274A JP 56210392 A JP56210392 A JP 56210392A JP 21039281 A JP21039281 A JP 21039281A JP S58114274 A JPS58114274 A JP S58114274A
Authority
JP
Japan
Prior art keywords
vector
instruction
register
data
line
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
JP56210392A
Other languages
English (en)
Other versions
JPS6152512B2 (ja
Inventor
Shigeo Nagashima
長島 重夫
Hitoshi Abe
仁 阿部
Yasuhiko Hatakeyama
畠山 靖彦
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 JP56210392A priority Critical patent/JPS58114274A/ja
Priority to GB08236821A priority patent/GB2113878B/en
Priority to US06/453,094 priority patent/US4617625A/en
Priority to DE19823248215 priority patent/DE3248215A1/de
Publication of JPS58114274A publication Critical patent/JPS58114274A/ja
Priority to GB858510663A priority patent/GB8510663D0/en
Priority to GB08516951A priority patent/GB2159309B/en
Publication of JPS6152512B2 publication Critical patent/JPS6152512B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

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)発明の利用分野 本発明は、プログラム制御のデジタル計算機、特にベク
トル演算を高速で実行するのに好適なディジタル計算機
(以下これをベクトルプロセッサとよぶ)に関する。
(2)従来技術 科学技術計算に頻繁に現れる大形行列計算などの高速処
理用にベクトルプロセッサが考案されている。
特に、複数個のパイプライン演算器の高速性、並列性を
有効に発揮し、演算データの転送能力を向上させるため
、ベクトル・レジスタとそのチェイニング機能を有する
ベクトルプロセッサが提案されている(米国特許412
8.880号)。
従来の装置ではチェイニングについて次の問題点がある
。このことをベクトル演算の簡単な例を挙げて説明する
FORTRAN文 Do  10  I=1.L 10  Y(I)−A(I)+B(I)秦C(I)この
処理を、ベクトル命令の形式に表現すると1、yect
or i、oad    VR@0”←Al  yec
tor LOadVR”l’←93、vector L
oad    VR”2’←C4、vectorMul
tiply  VR”3”+−VI(”1’米 vR“
2” 5、vector Add    VR”4°4−  
VR″0゜+V)t”3’ 6、  yector 3tore   VR”4”−
+ y各ベクトル命令は、演算、データ転送を、エレメ
ントL個分、繰り返して実行する。
上例では、最終結果を求めるまでの中間結果であるベク
トルBとCの乗算結果をベクトルレジスタ(VR)”3
°へ一時的に格納して、これとベクトルAとの加算結果
Yのみを主記憶にしている。
−i的に、VRt−1えるベクトルプロセッサでは、演
算の中間結果のベクトルを一時的にVR’l’へ格納し
、電終結来ベクトルのみを主記憶装置ヘスドアすること
で、実質的に主記憶装置との間のデータ転送回数が減少
するため、VRの書込み読出し動作を高速化し、これに
比べ主記憶装置のアクセス能力は比較的に低く構成して
も、演算に必要なデータ転送能力を十分確保することが
可能である。
ところで、上例の第4と5のベクトル命令に着目してみ
ると、先行命令40乗算結果を格納するVt−t“3°
は、後続のベクトル加算命令5のオペランドを読出すべ
きVRにもなっている。もし、第4のベクトル乗算命令
により、L個の結果が全てVR”3°へ書込れるまで待
って、後続のベクトル加算命令5を起動するように制御
すれば、複数の演算器(乗算器と加算器)の並列動作を
有効に生かせず、処理時間は延びる。このように、先行
するベクトル命令の演算結果あるいはフェッチ・データ
を格納するVat、後行のベクトル命令がオペランドと
して読出すための待ち合せの関係は、上例のベクトル命
令の1まえは2と4の間、3と5の間、5とLの間にも
存在している。この待ち合せを解決する方法がチェイニ
ング機能である。
従来技術ではチェイニング動作として、先行のベクトル
命令で得られる演算結果t−VRIへ齋込むと同時に、
即時に後行のベクトル命令のオペランドとして演算器へ
転送している。チェイニングが可能ならば、先行ベクト
ル命令の最終エレメントの演算終了まで待つことなく、
先行ベクトル命令の破切のエレメントの演算結果力!出
力されるとともに後行ベクトル命令を起動することがで
きる。
これにより、多項形のベクトル計算においても、複数の
演算器を有効に作動させ、演算の並列性を高めて高速処
理を行なうことができる。
しかし、従来技術でのチェイニングでは、先行ベクトル
命令の演算結果あるいはフェッチ・データがあるVRI
へ書込まれる時刻に完全に同期して、後続ベクトル命令
のための該VRの読出しを行なっていた。そこで命令起
動時に、演算器の空きの状況の判定のほかにその命令の
オペランドを読出すべきVRが、先行命令で書込み中で
あれば、チェイニングの可否を判定して、可能ならその
命令が起動されるが、不可能ならばその命令は、該先行
命令の書込みが全エレメントだけ終了して、そのVRが
解放されるまで起動を待合せなければならない、チェイ
ニング可能な命令の起動は、先行ベクトル命令の演算結
果あるいはフェッチ・データの第1番目のエレメントが
■凡へ到着する時点で行なわれる、これはチェイン・ス
ロット・タイムと呼ぶことがある。このチェイン・スロ
ット・タイムの時刻で、以後全エレメントについて、先
行命令の書込みが後続命令の読出しと完全に同期できる
と予測できるときにのみ、チェイニング可能と判定する
し禿がって、従来のチェイニングには次の二つの制約が
ある。
(1)第1エレメントの書込み以後(即ち、チェイン・
スロット・タイム以後)に解読されたベクトル命令はす
でに読出しを行なうべき機会を物理的に逸しているので
チェイニングは不可能で、後行命令の起動は先行命令が
書込みが全て終了するまで待たされる0例えば、上記例
でベクトル命令4と5の間に他の複数のベクトル命令を
そう入することはできるが、それで命令5の解読時刻が
命令4のチェイン・スロット・タイムを経過してしまう
と、VB、”3°のチェイニングは不可能となり、ベク
トル命令4の実行が完全に終了するまで命令5の開始は
待たされ、結局処理時間は延びる。
(2)さらに演算の一多くは、2種のオペランドを演算
して1種の結果を出力する形であるから、この読出すべ
き2種のオペランドを格納するVB2本がともに、各々
先行命令による書込み中であるとき、これら両方をチェ
イニングして同一演算器へ入力するためには、両オペラ
ン゛ドの対応するエレメントが全て同一時刻に両VRへ
書込まれることが保証されなければならない0例えば上
側でベクトル命令1による主記憶装置5からのフェッチ
・データのVR”Ooへの到着と、ベクトル命令40乗
算結果のVR”3@への到着が全エレメント対について
同期することが、ベクトル命令5の解読時に予測されつ
るならば、チェイニング可能と判定され即時起動される
しかし、一般的に主記憶装置からのフェッチは、アクセ
スのバンク競合や、チャネル動作の介入により、予測で
きないデータ転送の中断C乱れ)が生じることがある。
従来、上記制限条件を保証するために第1にフエレチ・
データが1サイクル・ピッチで全く乱れなくVRIへ到
着するときのみにチェイニング可能と判定する回路を備
え、それ以外はチェイニングは行なわず、起動を遅らせ
た。
第2に、演算器を完全にパイプライン化して、1サイク
ル・ピッチでオペランドが入力でき、1サイクル・ピッ
チで演算結果を出力できるようにし良。上記2点によっ
て、両方のオペランドに対するチェイン・スロット・タ
イムが同一時刻になれば、チェイニング可能と判定され
て、以後完全に1サイクル・ピッチで(即ち乱れなく連
続して)書込み/読出しが行なわれていくことが保証さ
れるようになってい友。
以上をまとめると、もしオペランドとなるVRが先行命
令による書込み中であると、そのチェイン・スロット・
タイム以後に解読された後行ベクトル命令の起動は、先
行ベクトル命令によるそのVR書込みが全て終了するま
で待たされる。さらにベクトル命令に2種以上のオペラ
ンドが必要であれば、全てのオペランドに対する先行ベ
クトル命令のチェイン・スロット・タイムが一致しなけ
れば、チェイニング不可能で起動は待たされる。
しかも、この一致は、原理的には起りうるが、そうなる
場合は多く起らないと考えられる。上述のチェイニング
不可能な場合は演算器は空き状態となり、有効に利用さ
れずひいては命令の処理時間が長くなって、性能が向上
しないことになる。
また、ベクトルプロセッサの性能を向上させるために、
演算器を複数個設け、それらを同時に実行させる方式を
採用しているが、このとき、命令の解読順によってはこ
れらの演算器が有効に利用されないことがある。従来の
ベクトルプロセッサでは、主記憶装置に格納されている
順に命令を読出し、実行の可否を判断し、実行可能であ
れば実行に移る。演算器がすべて使用・中、あるいは、
レジスタが使用中等の理由で実行不可能であ些ば、実行
可能となるまで待つという制御方式をとるものが多い、
この場合、実行不可能な命令の次の命令が実行可能な命
令であっても、無条件に命令の解読が待たされてしまう
ために演算器が利用されないことになる。
この問題全解決するには、命令の解読順に実行させるの
ではなく、解読済の命令をいくつか蓄えておき、ベクト
ルレジスタの使用順序性を考慮し実行可能な順から実行
に移していくような命令実行制御が必要である。
また、従来のベクトルプロセッサでは、命令実行制御に
おいて、実行開始の条件に必要なレジスタ、演算器使用
可能の条件のほかに、必要なデータがそろっているとい
う条件を加えていた。このため、実行開始の制御が複雑
になるばかりでなく、次の命令の解読が遅れ、ひいては
、命令実行時間が長くなり、性能が低下するという問題
があった。
(3)発明の目的 本発明の目的とするところは、ベクトルプロセッサに於
いて毎サイクル、異なるアドレスに対する書込み・読出
しが可能であるようにベクトル・レジスタを構成し、主
記憶装置からのデータ・フェッチや演算結果の出力の書
込みが非連続であることを許し、かつ書込みアドレスが
いずれの位置にあっても、任意の読出し間隔でベクトル
・レジスタ内のベクトル要素を順次読出すことを可能と
するデータ処理装置を提供することにある。
本発明のもう1つの目的とするところは、演算器やメモ
リ・リクエスタにオペランドとしてベクトルデータを供
給するベクトルレジスタの絖出しの制御において、必要
とする全オペランドのベクトルデータの各要素間の同期
をとり、処理に必要なベクトル要素をすべて揃えて演算
器やメモリ・リクエスタに供給することができるような
データ処理装置を提供することにある。
更に本発明の他の目的は解読済みの命令を複数個保持し
、演算器利用状況に応じ、論理的に矛盾することなく命
令の実行順序を入れかえることができる制御回路を備え
ることにより、演算器やメモリ・リクエスタの有効利用
tnj為るデータ処理装置を提供することにある。
本発明のもう1つの目的とするところは、命令解読後、
命令実行に必要なベクトルデータの存在を確認すること
なく命令実行を行なう演算器やメモリ・リクエスタを起
動し、ベクトルデータが1エレメントず\演算器やメモ
リ・リクエスタに到着するたびにそれらデータを処理す
る(演算やメモリ要求を行なう)ようなデータ処理装置
を提供することである。
(4)実施例 以下、本発明を実施例を参照して詳細に説明する。
■ 概略装置構成 第1図において主記憶制御ユニツ)Ulは命令続出しユ
ニットU2、メモリ・リクエスタU10゜Ullからの
メモリ要求(ベクトルデータの読出しまえは格納および
ベクトル命令の読出し)に応じて所定の動作を行なう。
命令読出しユニツ)U2は、主記憶制御ユニツ)UIK
対し、信号線11で命令読出し要求を、信号線12で命
令アドレスを送出する。主記憶制御ユニットU1はこれ
に応答して、この命令アドレスで指定される複数の命令
を読出し、続出した命令を信号線13に、それが有効で
あることを示す信号を信号線14に乗せて返す。
命令読出しユニットU2は、読出された命令を命令バッ
ファC図示せず)に入れ、これらの命令を一つづつ命令
制御ユニツ)U3に送る。信号線16には命令が、i号
線15には命令の送出を示す信号(命令有効信号)がの
せられる、命令続出、しユニットU2は、命令制御ユニ
ットU3から信号線17によって、命令送出の停止が要
求されない限り、次々と命令を読出しては、命令制御ユ
ニットU3に送抄こむ。
命令制御ユニツ)U3は、命令を解読し、命令に応じて
、メモリ・リクエスタUIO,Ull、ベクトルレジス
タユニットU4、演算器U20゜U21に起動信号他を
送出する。
■ 概略動作 (1)  命令実行起動 命令制御ユニツ)U3が命令実行を起動するときには、
信号線/11〜/14に必要なデータをセットし、起動
信号t#/10にセットし、メモリ・リクエスタUIO
,UllとベクトルレジスタユニットU4、または、演
算器U20.U21とベクトルレジスタユニットU4に
起動をかける。
ここで、命令起動の条件は、必要なメモリ・リクエスタ
UIO又はUllま九は演算器U20又はU21が現在
使用中でなく、かつベクトルレジスタユニットU4内に
あるベクトルレジスタVRの内、命令に必要なレジスタ
が使用できる状態にあるということである。
ここで、あるベクトルレジスタが使用可能が否かは、後
述するようにそのベクトルレジスタが現在使用中か否か
と異なる。使用中でなくても、使用できないベクトルレ
ジスタもあり、使用中にもかかわらず使用可能なものも
ある。
起僧条件が満友されていない命令は、起動待ち命令列に
登録し、その後、起、、動条件を満す命令が解読、され
九とき、この解読され九命令を先に起動する壷 信号#/11は、実行すべき命令の演算の種類、九とえ
ば、加算、乗算、ベクトル読出し、ベクトル書込み等を
指定する命令コードを送出する。
信号線/12は、命令が使用するレジスタ番号を指定す
る。ここでは、各命令はレジスタを最大3つ指定可能と
する0本実施例では、ベクトルレジスタユニットU4に
8つのベクトルレジスタVRO〜VR7が設けられ、同
数のベクトルアドレスレジスタU5、ベクトルアドレス
増分レジスタU6がメモリ・リクエスタ0.1に接続さ
れている。これらのベクトルレジスタ、ベクトルアドレ
スレジスタ、ベクトルアドレス増分レジスタにはそれぞ
れ番号0〜7.8〜15.16〜23があらかじめ割り
あてられている。
信号線l13は、起動するメモリ・リクエスタまたは演
算器の番号を指定する。ここでは信号線/13は3本で
、1本はメモリ・リクエスタを指定、1本は演算器を指
定、もう1本は命令が使用するメモリ・リクエスタ又は
演算器のいずれかの番号を指定する。メモリ・リクエス
タ又は演算器の数はそれぞれニクなので、これらの番号
を指定する線は一本でよい。
信号m/14は処理ベクトル要素数を指定する。
メモリ・リクエスタUl O,Ul 1、ベクトルレジ
スタユニットU4.演算器U20.U21は41/10
上の起動信号に応答して次のwJ作を行う。
(it)  主記憶からのベクトルデータの読出しこの
ための命令の実行が線/11上の命令コードにより指定
されると、たとえばメモリ・リクエスタUIOは、信号
線/12で指定される第1゜第2のレジスタ番号に従っ
て、ベクトルアドレスレジスタU5およびベクトルアド
レス増分レジスタU6の各々一つを選択してベクトルア
ドレスおよびその増分を内部にセットする。メモリ・リ
クエスタUIOはベクトルアドレスと、それが有効であ
ることを示す信号(アドレス有効信号)とをそれぞれ信
号Jl/21.723を介して主記憶制御ユニツ)Ul
に送る。主記憶制御ユニツ)Ulはこのベクトルアドレ
スで指定されるベクトル要素データを主記憶(ここでは
示されていない)から読出して、そのデータと、それが
有効であることを示す信号(データ有効信号)とをそれ
ぞれ信号線/24./25t−介してメモリ会リクエス
タUIOに戻す、メモリ・リクエスタUIOは、このデ
ータとデータ有効信号をそれぞれ信号線129゜/30
にのせて、ベクトルレジスタユニットU4に送出する。
ベクトルレジスタユニットU4では、信号線/12によ
り指定された第3のレジスタ番号のベクトルレジスタに
線/29から入力されたベクトル要素データを格納する
。メモリ・リフニス□りUIOはセットしたベクトルア
ドレス増分値に基づきベクトルアドレスを頁新し、′更
新後のアドレスに基づき、次のベクトル要素データーを
同様に読出す。この動作は信号線/14で指定されたベ
クトル要素数だけ繰返される。メモリ・リクエスタUI
Oは、最終のベクトル要素のデータ有効信号の送出と同
時に、信号線/26に最終であることを示す信号(最終
ベクトルデータ信号)をのせる、この信号は、命令制御
ユニツ)03に送られて、このメモリ・リクエスタUI
Gが空いたことを知らせるとともに1ベク、・トルレジ
スタエニットU4にも送られ、ベクトルレジスタ書込み
の終了制御にも使用される。ベクトルレジスタの書込み
終了は、信号線/15を経て、ベクトルレジスタユニッ
トU4から命令制御ユニットU3にも知られる。
(ili)  主記憶へのベクトルデータの格納主記憶
へのベクトルデータの格納の命令が実行される場合も、
ベクトルアドレス、その増分は(2)と同様にメモリ・
リクエスタUIOにセットされる。
格納の場合には、ベクトルレジスタユニットU4にて信
号4I/12で指示される番号のベクトルレジスタから
次々とベクトルデータがよみ出され、信号線127に乗
せられるとともに、それが有効であることを示す信号(
データ有効信号)が線128に乗せられて、たとえばメ
モリ・リクエスタUIOK送られる。メモリ・リクエス
タUIOはこれらにさらにベクトルアドレスを付し、ベ
クトルアドレス、ベクトル要素データ、データ有効信号
をそれぞれ信号線/21./22./23にのせて主記
憶制御ユニツ)Ulに送本、主記憶制御ユニットUlは
さらに主記憶への格納を制御する。
必要な数のベクトル要素の送出がベクトルレジスタユニ
ットU4から行なわれると、最終ベクトル要素であるこ
とを示す信号(最終ベクトルデータ信号)が信号線/3
1を経てメモリ・リクエスタUIOに送られ、メモリ・
リクエスタUIOは、(2)と同様、信号線/26にそ
れをのせて、命令制御ユニットU3に知らせる。
(lv)  ベクトル演算 ベクトル演算命令実行のために演算器U20fたはU2
1(ここではU20と讐る)とベクトルレジスタユニッ
トU4に起動がかかったときには、これらは次のように
動作する。なお、ここでは各演算器は種々の命令が必要
とする複数種類の演算を実行可能とする。
ベクトルレジスタユニットU4は、信号線/12で指定
される一般には二つのレジスタ番号のベクトルレジスタ
から最初の要素データを読出し、それぞれのデータを信
号線/41./42にそれらのベクトル要素がそれぞれ
有効であることを示す信号(データ有効信号)を信号@
743にのせて、演算器020に送る。演算器U20で
は2組のベクトル要素データiii/11上のOPコー
ドに従かい演算後その結果と、それが有効であることを
示す信号(データ有効信号)をそれぞれ信号線/45.
/46に乗せて、ベクトルレジスタユニットU4に送り
返す、ベクトルレジスタユニットU4では、信号線/1
2で指定される番号のベクトルレジスタに結果を格納す
る。これらの処理が順次、次の要素データについて行な
われる。最後のベクトル要素になると、最終であること
を示す信号(最終ベクトルデータ信号)が、信号@ /
40ヲ介シてベクトルレジスタユニットU4から演算器
U2Gに送られ、演算器U20からの最終結果に同期し
て、信号線/44により、再びベクトルレジスタユニッ
トU4に戻される。この信号は、同時に、命令制御ユニ
ツ)U3にも知らされ、演算器の空きおよびベクトルレ
ジスタの空きを知らせる。
以上において、ベクトル要素データの転送はマシンクロ
ックに応答してなされるが、ベクトルレジスタユニット
U4は、転送すべき一対のベクトル要素データが二つの
ベクトルレジスタにそろっていないとき、これがそろう
まで転送を禁止する。
したがって、ベクトル要素の読出しあるいは格納が間欠
的に行なわれる。
なお、メモリ・リクエスタU11、演算器U21の構成
はそれぞれメモリ・リクエスタU10、演算器U20と
全く同一であり、第1図でプライム(1)の付は九信号
線はこれのないものに対応する。
■ レジスタ 詳細な動作説明に先立ち、以下において必要なレジスタ
の形式を以下に述べる。第2図(a)は、命令がセット
される命令レジスタIRの構成を示す。
ここで、OPフィールドは命令戸−ドを、R1゜R2,
I’t3フィールドはレジス°り番号を示す、勿論、命
令自身この図に示すフィールドを有する・R1〜R3フ
ィールドによって示されるレジスタハヘクトルレジスタ
、ベクトル・アドレスレジメタ、ベクトルアドレス増分
レジスタであり、いずれのレジスタが指定されるかは命
令の種類により次のようになる。
(1)演算器にて演算を行う命令(加算、乗算命令等) R1:演算結果ベクトルを格納すべきベクトルレジスタ
番号 R2:演算されるベクトルデータ(被加数、被乗数等)
が格納されているベクトルレジスタ番号 R3:演算すべきベクトルデータ(加数、乗数等)が格
納されているベクトルレジスタ番号 ここでは、R1,R2,R3フィールドではすべて異な
るベクトルレジスタを指定することとする。
なお、命令によっては、R3フィールド2512用され
ない場合があるC転送命令等)。
(剥)  主記憶からデータを読出す命令R1:データ
を格納すべきベクトルレジスタ番R2:ベクトルアドレ
スレジスタ番号 R3:ベクトルアドレス増分し゛ジスタ番号(it) 
 主記憶にデータをストアする命令R1:データが格納
されているベクトルレジスタ番号 R2:ベクトルアドレスレジスタ番号 R3:ベクトルアドレス増分レジスタ番号第2図Φ)は
演算器U20.U21、メモリ・リクエスタU10.U
11(以下、これらをまとめてリソースとよぶことがあ
る)の制御にかかわるレジスタ、すなわち、デコードリ
ソースレジスタ(DSR)#!−リソースレジx/QS
RO/1/2、実行可能リソースレジスタ(EAR)レ
ジスタユニットリソースレジスタ・(R8R)の形式を
示す、ここで、8.A、Nフィールドはそれぞれメモリ
・リクエスタ、902用、演算器の使用、メモリ・リク
エスタまたは演算器の番号をそれぞれ指定する。なお、
DSR,Qi9iiにはNフィールドはない。
第2図(C)はベクトルレジスタの制御にかかわるレジ
スタ、すなわち、デコードレジスタレジスタ(DGR)
キューレジスタレジスタQGRO/1/2、メモリ・リ
クエスタレジスタレジスタ(MGR)、レジスタユニッ
トレジスタレジスタ(RGR)の形式を示す、ここで、
vzt=t〜3)フィールドはWi、GNiフィールド
に有効データがあるかどうかを指定するフィールド、W
iは、次のGNiのフィールドで指定されたベクトルレ
ジスタが書込みに使用されるか、読出しに使用されるか
を指定するフィールドでそれぞれのときに°1°又は“
0“となり%GNiフィールドには命令のRiミツイー
ルドのものがセットされる。なお、レジスタMGRはG
N2.GN3フィールドのみを持つ。
第2図(d)はリソースの状態を制御するリソース状態
語レジスタ(R88W)の形式を示す、ここ−で、80
.81フイールドはそれぞれメモリ・リクエスタ0,1
が使用中かどうかを示し、AO。
A1フィールドはそれぞれ演算器0.1が使用中かどう
かを示す(t1!用中のとき“1°とする)。
第2図(e)はベクトルレジスタの状態を制御するレジ
スタ状態語しどスタ(RGSW)の形式を示す、ここで
WO〜W7フイールドはそれぞれベクトルレジスタ0〜
7番が書込みのために使用中かどうかを示し、RO〜R
7フイールドはそれぞれベクトルレジスタ0〜7番が読
出しのために使用中かどうかを示す(使用中のとき°1
°とする)。
■ 命令制御ユニットの詳細 以下に、第1図に述べた各ユニットの詳細を説明する。
なお、主記憶制御ユニット(第5図のUl)、命令読出
しユニット(第1図のU2)は、兵、つのメモリ・リク
エスタUIO,UIOからのアクセス要求に応答し、か
つ、これらのりクエスタから同時にアクセス要求がなさ
れたときには、その一方を優先して主記憶をアクセスす
るものであり、従来、実現されているものと同等なので
、ここでは説明しない、また、フリップフロップ、レジ
スタへのタイミング入力は省略する。制御信号の入って
いない、フリップフロップ、レジスタは常にあらかじめ
定められたタイミングによって値がセットされるとする
第3図を参照するに、命令読出しユニツ)U2(第5図
)Kて続出されたベクトル命令は信号線/6−i介して
その命令に対する有効信号が線15を介して命令読出し
ユニットU2より送られて来、IR,r301に命令が
セットされ、命令有効信号が7リツプフロツプ、f30
1にセットされる。
゛命令有効信号はIR,r301へのセット信号として
も使用される。命令制御ユニツ)U3が線17にて、命
令送出停止要求を送出しない限り、命令読出しユニツ)
U2から次々と命令が送られてくる。この間隔は、IR
,r301の命令が、DIR,r302に移されるとす
ぐ、次の命令が入力されるように制御される。IR,r
301にセットされ九命令は、4つのルートに分けて転
送される。1つは、デコード命令レジスタ(DIR)r
302にOPフィールドが転送される。このときフリッ
プフロップf301の出力が、DIR。
r302へのセットを制御するとともに、フリップフロ
ップ、f302へもアントゲ−)g307を経て転送さ
れる。ここでアンドゲートg307には、フリップフロ
ップf301の出力のほかに指定例外検出回路b316
の出力が入力されており、この回路b316は1′fL
、、r301に−に7トされているペクートル命令のR
1〜R3フィールドをチェックし、レジスタ指定例外が
ない場合にのみ、°1°を出力する。この結果フリップ
フロップf302に命令有効信号がセットされる。IR
r301内の命令はまた、デコーダb301へ送られ、
そのOPフィールドにより、使用するリン、) 一スがデコードされて、その結果がデコードリソースレ
ジスタ(DSR)r303にセットされる。
DSR,r303は第2図Φ)に示すとと<S、Aフィ
ールドを有す、但しNフィールドはない、デコーダb3
01はこのOPフィールドがメモリ・リクエスタUIO
又はUJI、を使用するもののときは、Sフィールドに
1を入力し、又この命令が演算器U20又はU21を使
用するもののときはAフィールドに1を入力する。DS
R,r303のこれらのデータのセットにも、アンドゲ
ートg307の出力が使用される* IR,r301の
命令はさらにデコーダ、b303へも送られ、そのOP
コード、R1,R2,R3フィールドの内容がデコード
されて、その結果がデコードレジスタレジスタ(DGR
)r305にセットされる。
DGR,r305は第2図(C)K 示t ようKIR
r301にセットされている命令が使用するベクトルレ
ジスタの番号を示すフィールドG11(i=1〜3)、
そのレジスタの用途が読出し用か、書込み用かを示すフ
ィールドWi(i−1〜3)およびこれへのフィールド
が有効か店かを示すフィールド■1(i=1〜3)を有
し、デコーダb303はIR,r301の命令を解読し
てこれらのフィールドの清報を出力する。すなわち、命
令のOPコードにより、命令OR1〜R3のフィールド
がレジスタ指定として有効か否かがあらかじめ定められ
ているので、デコーダb303はoPヘ コードによ抄v#を定める。また、有効と判定されたレ
ジスタフィールドHiが書込み用が否かも0Pコードに
よりあらかじめ定められているので、デコーダb303
はOPコードをみて、ビットWiを定めることがで友る
。デコーダb303はフィールドR1の内容をGNiフ
ィールドに入力する。こうして、DLR,r303への
入力が定まる。DGR,r305へのセット制御にも、
アントゲ−)g307の出力が使用される。
以上の説明から明らかなとおり% D8R1,r303
“とDGR,r305にセットされたデコード結果はD
IR,r302にセットされた命令コードとともに同一
の命令に対するものであり、以下では、これらのレジス
タにセットされたデータでの各々を命令と呼びあるいは
これらをまとめてDIR,r302内の命令と呼ぶこと
がある。
DIR,r302.DLR,r303.DGR。
r305に命令がセットされると、次はリソースの起動
の可否がチェック゛される。
、/ キュー命令レジスタfQIR)Q30’lは、実行待ち
の命令のOPコードをDIR,r302から受けとりス
トアするための三つのレジスタQI)t0〜QI)t3
からなる。同様にキューリソースレジスタ(Q8R)4
302はこれら三つのレジスタQIRO〜3内のOPコ
ードに対するリソース使用要求tD8R,r303から
受けとり、ストアする三つのレジスタQ8RO〜3から
なり、キューレジスタレジスタq303U、レジスタQ
IRO〜3内のOPコードに対するベクトルレジスタ使
用要求をDGR,r305から受けとり、ストアする三
つのレジスタQGRO〜3からなる。結局、キューレジ
スタq301〜q301により一三つの実行待ちの命令
がストアされることになる。
以下ではこれらの三つのキューレジスタをまとめて命令
中ニーレジスタあるいは命令キューレジスタq301と
呼ぶことがある。
上述のとと<、DIR,r302等に新たにセットされ
た命令に対するリソースの起動可否はこれらの命令キュ
ーレジスタ内にすでに命令がストアされているか否か等
に依存して異なる基準にて判断される。
すなわち、次の場合がある。
(a)  命令キューレジスタに命令が入っていない場
合・ (a−1)  DIR,r302内の命令に対してすぐ
に起動がかけられる場合。
(a−2)  DIR,r302内の命令に対してすぐ
に起動が6けられず、命令キューレジスタに命令を入れ
なければならない場合。
世)命令キューレジスタに命令が入っている場合。
(b−1)  命令キューレジスタ内の命令を起動する
場合。
(b−2)  命令キューレジスタに命令があるにもか
かわらず、DIR,r302にある命令を起動する場合
各々の場合の装置動作を以下に述べる・(a−1)  
命令キューレジスタ(1301中に命令がなくDIR,
r302内の命令を起動する場合。
これは、DIR,r302内の命令が必要とするリソー
ス(演算器またはメモリ要求回路)およびベクトルレジ
スタがともに使用可能であるときに生じる。
本実施例では各リソース瞑、ある時期には一つの命令に
よってものみ使用可能に構成されており、したがって、
リソースが使用可能か否かはリソースが便用中でないか
あるいは使用中かによりきまる。
リソースの空きの状況の判断は、次のように行なう、概
略的には、D8R,r303にて指定される要求リソー
スと、R85W、r304にて管理しているリソースの
状態をリソース使用チェック回路b305がチェックし
、要求リソースが空いているかどうかを線1310に、
空いているリソース番号t−/309に出力する。詳細
を第5図を参照して説明する。
D8R,r303中のf9フィールドr3031の出力
は、アントゲ−)g320.g321に入力され、これ
らのアンドゲートg320.g321にはそれぞれ、さ
らにR88W、r304中の81:)7(−ルドr30
41.81フイールドr3042の出力がそれぞれ反転
ゲー)g335゜g336を介して入力されている。し
たがって、アンドゲートg320.g321の出力はそ
れぞれメモリ・リクエスタ0と1の使用が要求され、か
つメモリ・リクエスタ0と1がそれぞれ空きのときに6
1@となる。アンドゲートg320゜g321の出力は
オアゲー)g328に入力される。したがって、オアゲ
ートg332の出力は、使用要求されたメモリ・リクエ
スタ0又はlのが空いているとき°1°となる。また、
アントゲ−)g320.g321の出力はエンコーダb
320にも入力され、使用可能なメモリ・リクエスタ番
号が出力される。つまり、アンドゲートg320の出力
が“1″のときにはアンドゲートg321の出力によら
ず、エンコーダb320の出力は°0°(メモリ・リク
エスタ0の空きを示す)、アンドゲートg320の出力
が10”、アントゲ−)g321の出力が@11のとき
にはエンコーダb320の出力は@1°(メモリ・リク
エスタ1の空きを示す)になる(本実施例では、メモリ
・リクエスタは2つしかないので、′エンコーダの出力
線は1本である)、アントゲ−)g320゜g320の
出力がともに0のときにはエンコーダb321の出力は
いずれの値でもよい。同様に、演算器の空きの状況につ
いても、DSR,r303のAフィールドr3032の
出力と、R88W。
r304のAO,A1フィールドr3043゜r3G4
4の出力とから反転グー)g337゜g338、アンド
ゲートg322.g323、オアゲートg329、エン
コーダb321によってチェックされ、命令で演算器の
使用要求がなされ、使用要求が出され九演算器0又は1
がおいていれば、オアゲートg329の出力が°1”に
演算器番号がエンコーダb321から出力される。オア
ゲートg328.g329の出力は、オアゲートg33
2に入力され、この出力線/310は要求され九リソー
スが空いていることを指示する。一方、エンコーダb3
20.b321の出力はセレクタ5310にていずれか
が選択されて線13093にのせられ、オアゲートg3
28.g329の出力線/3091./3092とあわ
セテ線7309として出力される。ここでは、オアグー
)g329の出力によりセレクタ5310を制御するこ
とにより、演算器の使用要求がなされ、かつこれが空き
のときには、演算器番号がそれ以外のときにはメモリ・
リクエスタ番号が選択されるとした。なお、線1309
の内容はセレクタ5302で選択され、線1320に出
力されるi線320はメモリ・リクエスタの空きを示す
信号線3201、演算器の空きを示す信号線3202、
メモリ・リクエスタ又は演算器の番号を示す信号線32
03からなり、それぞれに線/3091〜/3093の
信号がセレクタ5302により選択的に出力される。セ
レクタ5302は線1309と1311を入力線132
1が°0”か°1°かに応じて選択するもので、今の場
合は後述するように入力線j321は@0′である。こ
うしてM/ 320に要求リソースの内、空いているリ
ソース番号が出力される。線1320は、デコーダb3
02にも入力され、R88Wの各ビットのセットに使用
される。ここで、デコーダb302は、メモリ・リクエ
スタ番号のデコーダb3022と、演算器番号のデコー
ダb3021とから成り、それぞれ、デコード有効端子
Et有していて、Eが“1°のときのみデコード入力信
号をデコードする。デコーダb3021のデコード有効
端子EにはM/320のうち、演算器の空きを示す線/
3202がデコードされる入力信号端子には番号を示す
線/3203が接続されている。同様に、デコーダb3
022のデコード有効端子Eには、線1320のうち、
メモリ・リクエスタの空きを示す線13201が、デコ
ードされる信号としては、番号を示すIm!13203
が接続されている。デコーダb3021.b3022の
出力は対応したR85W。
r304i傅成する4つのフィールドr3041〜r3
044 (これらはいずれもフリップフロップからなる
)の8cセツト)端子に接続され、線/3201./3
203から入力される空きのリソース番号に対応し九、
80,81.AO,AIの各フィールドのいずれかがセ
ットされる。こうして、回路b305によりリソース使
用チェックがなされるとともに、チェック結果に応じて
、R88W、  r304が更新される。
次に、第3図に戻ってDIR,r302中にある命令が
使用するベクトルレジスタ使用に関するチェックについ
て述べる。第1のチェックは、DGR,r305中に示
される使用要求ベクトルレジスタ番号;使用形態(読出
し/書込み)と、RG8W、r 306中にあるベクト
ルレジスタイ史用状況により、レジスタ使用チェック回
路b307がDIR,r302内の命令が要求するベク
トルレジスタが現在使用可能か否かをチェックすること
である。今の場合、命令キューレジスタq301内に命
令がないと仮定している。しかし一般的には命令キュー
レジスタq301にリソース空き待ちの命令が蓄えられ
ており、DIR,r302中にある命令を命令キューレ
ジスタq301にすでに貯えられた命令を追越して実行
したとき、ベクトルレジスタ使用順序上の矛盾がないか
をレジスタ競合チェック回路b309〜b311にてチ
ェックする必要がある。これが第2のチェックである、
なお、本実施例ではこの第1.第2のチェックはベクト
ルレジスタのみについて行ない、ベクトルアドレスレジ
スタU5、ベクトル7)”l/ス増分レしスタU6につ
いては行なわない。本実施例では、簡単化のために、こ
れらのレジスタの内容の変更はなく、二つのメモリ・リ
クエスタが同時に続出し可能に構成されている(詳細後
述)。
このため、これらのレジスタ使用の可否についてチェッ
クする必要がない。
第6図(a)は、レジスタに用チェック回路b307の
詳細t−DGR,r305とR88W、r306を含め
て表わしたものである@ DGR,r30s中のR1フ
ィールドr3051と、RGSW。
r306の出力に基づき、第ルジスタ使用チェック回路
b3071は第6図(b)に示す場合のみレジスタ使用
可ゝを判断する。すなわち、レジスタの使用要求がベク
トルレジスタに対する書込みのとき(Vl−W1=I 
 GNI<8)には、番号GNIのベクトルレジスタが
未使用のとき(Wi−R’=0@  1=GN1)、使
用要求がベクトルレジスタの読出しのとき(Vl−1,
W1=0゜GNI<8)には、その番号GNIのベクト
ルレジスタが未使用または書込み中のとき(Ri=0゜
1=GN1)にのみ使用可と判断し、アントゲ−)g3
43に°1”を出力する。■1ビットが°0°のときに
は、ベクトルレジスタが使用可とし、この場合にもアン
ドゲートg343に1゜を出力する。同様に、DGR,
r305のR2フィールドr3052.R3フィールド
r、3053についてもそれぞれ第2.第3使用チエツ
ク回路b3072.b3073にて全く同様の基準でチ
ェックされ、アンドゲートg343に結果が入力される
。こうして、R1,R2,R3フィールドが指定するベ
クトルレジスタがいずれも使用可のときに、線1313
にベクトルレジスタ使用可を示す信号°1“が出力され
る。
なお、レジスタ使用チェック回路b305は、DIR,
r30,2内の命令が必要とするベクトルレジスタが先
行す−る命令により現在書込み中であっても、そのレジ
スタが使用可能と判断する点に特徴がある。これは、後
述するように本実施例においては、ベクトル要素を書込
み中のベクトルレジスタに対してこの書込み動作に並行
して読出し動作を行えるように、ベクトルレジスタのチ
ェイニングがなされるからである。
第7図(a)はレジスタ競合チェック回路b309〜b
311の詳細を示す、レジスタ競合チェック回路b30
9は第1〜第3のレジスタ競合チェック回路b3091
〜b3093からなり、それぞれによりDGR,r30
5のR1〜R3フィールドr3051〜r3053にて
指示されるベクトルレジスタ使用要求とキューレジスタ
q303にて指示されるベクトルレジスタ使用要求の競
合をチェックする。これらの回路の出力は競合がないと
きに°11となる(詳細後述)、アンドゲートq353
は、これらのチェック回路b3091〜b3093の出
力がいずれも°1”のときにのみ競合なしを示す信号’
l’t−オアゲー)g359を介して線1315に出力
する。一方オアゲートg359には、反転グー)g35
6の出力も入力されている。シ九がって、反転グー)g
356への入力線1325が°0°のときも、線131
5に競合なしを示す信号°1°が出力されるようになっ
ている。レジスタ競合チェック回路b310゜b311
も回路b309と同じ構成を有し、アンドゲートg35
4.g355又は、反転ゲートg357.g358、オ
アグー)g360゜g361により、線/316./3
17上に競合チェック結果を出力する。
線1323〜1325は、フリップフロップf304〜
f306 (第3図)に接続されている。
これらのフリップフロップは、命令キューレジスタqa
o1(第7図)中のレジスタQIRO〜QIR2の各々
に対応して設けられ、これらのレジスタ内に命令が存在
するときにセットされる(詳細後述)。
中 今の場合には、命令キューq303に命令はなΔ いとしているので、これらのフリップフロップはセット
されておらず、その出力線/323./324、/32
5は@0°となっている。したがつて、線/315〜/
317の出力はすべて1である。こうして命令キューレ
ジスタq301中に命令がない場合には競合チェック回
路b309〜b311の出力とは無関係にベクトルレジ
スタの競合がないことを示す信号を作り出している。
再び第3図に戻って説明する。レジスタ競合チェック回
路b309〜b311からの出力線、!315〜l31
7は、上記に述べ友ように°1″になっている。し九が
ってこれらを入力とするアンドゲートg301の出力1
322は1となっている。今の場合にはレジスタ使用チ
ェック回路b307の出力@/313も、ベクトルレジ
スタが使用することができるとの前提から°l″になっ
ており、したがってアントゲ−)g302の出力も@1
mである。tた、リソース使用チェック回路b305の
出力線1310も、リソースが使用することができると
の前提から“1“になっている、さらに、DIR,r’
302に有効な命令があることを示すフリップフロップ
f302の出力線1302も°1″となっている。後述
のように、アンドゲートg305の出力は°Omのため
、反転グー)g310の出力は@11となっている。
このような状態のとき、アントゲ−)g304の出力も
@1ゝとなり、従って、オアグー) g306の出力線
/330i介してフリップフロップ、f303がセット
される。このフリップフロップf303(タイミングの
みでセット/リセットされるDタイプフリップフロップ
)は、命令起動信号S Tt−線/10により、ベクト
ルレジスタユニットU4、メモリ・リクエスタU10.
U11、演算器U20.U21に送出する(第1図参照
)。
また、命令キューレジスタq301中に命令がないこと
から、命令があるときに°1°がセットされている命令
キュ一対応の7リツプフロツプf304〜f306の出
力はいずれも°0°であり、その出力線1323〜13
25が入力されているセレクタ5303の出力もセレク
タ5303の選択動作(詳細後述)に無闇i係に@0”
となっている、従って、この出力線1326が入力され
ているアントゲ−)g305の出力線1321も@01
となる。セレクタ8301,8302゜5304は、そ
れぞれDIR,r301)出力線1303上のオペコー
ド、リソース使用チェック回路b305の出口線130
9上のリソース使用要求(リソース種類、番号)および
DGR。
r305の出力線1307上のベクトルレジスタ使用要
求(レジスタ番号、使用形態)。を選択して、それぞれ
EIR,r308.EAR,r309、EGR,r31
2にセットする。セットは線1330により指示される
。なお、ベクトル長レジスタVLR,r307には、あ
らかじめ別の手段(図示せず)によって処理すべきベク
トル長(VL)が格納されているとする。これらのレジ
スタの内容は、線/11−/14によって、ベクトルレ
ジスタユニットU4、各リソースUIO。
Ull、U3O,U21に送出される。これにより、命
令実行の起動が指令されたことになる。
なお、ここでは、DIR,r302中の命令はすぐに起
動可能であるので命令キューレジスタq301に入れる
必要はない、今の場合、アンドゲート、g304の出力
が°1°であることから、反転ゲートg308の出力は
°0”となり、この出力が入力されているアンドゲート
g303の出力線/ 327が°0″となっている。こ
うして、この信号線1327により制御される命令キュ
ーq301へのDIR,r302c)内容の入カカオさ
えられる。また、同様に、レジスタq302゜q303
への新たな入力も禁止される。命令キュー中に命令が存
在することを示すフリップフロップf304〜f306
へのセット、次に七ッ卜すべきキュー中の場所を示すイ
ンポインタ、IP。
r310等の更新を抑止する・ また、命令の起動にともない、使用するリソース状態を
管理するR88W、r304、ベクトルレジスタの状態
を管理するR、G8W、r306−ii変更する必要が
ある。このうち、R88W。
r304の変更については、第5図の説明において述べ
友、RGSW、r306の状態の変更については、次の
ようにする。すなわち、セレクタ、5304により選択
されたDGR,、r305の出力が、デコーダb304
に送られて、そこでベクトルレジスタの番号、読出し、
書込み等が等線され、対応するRG8W、r 306中
のビットが01mにセットされる。すなわち% DGR
,r305のフィールドn1(t=t〜3)ごとに、V
:=tであることを条件に%Wiが1か否かに応じてR
G8W、r305のWj(j=GNi)又はRJを1に
する。また、R,G8Wは後述するように、ベクトルレ
ジスタの書込み又は読出しが終了したことを示す信号が
ベクトルレジスタユニットU4から線/15./16−
i介して入力されたとき、この信号で指定されるフィー
ルドRj又はwjをリセットする。
(a−2)  命令キューレジスタ4301内に命令が
なく、DIR,r302内の命令に対して起動がかけら
れず、これを命令キューレジスタq301に入れる場合
これは、DIR,r302中にある命令が必要とするリ
ソース(演算器または、メモリ・リクエスタ)を九はベ
クトルレジスタが使用可能でないときに生じる。
DIR,r302内の命令が使用するリソースおよびベ
クトルレジスタの使用状況のチェックはついては、第5
〜7図に従って、(a−1)の説明にて述べた通りであ
る。今の場合リソースおよびベクトルレジスタの使用状
況のチェックの結果、DIR,r302中にある命令が
要求するリソースが使用中のため、リソース使用チェッ
ク回路b305の出力1310が@Omになる。また、
DIR,r302内の命令が要求するベクトルレジスタ
が使用不可の場合には、レジスタ使用チェック回路b3
07の出力1313が@0°になる。
いずれの場合もアントゲ−)g304の出力は0°、従
って、反転グー)g308の出力は°1°となる。また
、命令キュー中に命令がないので、(1−8)の説明で
も述べ九ように、セレクタ5303の出力線1326は
@0”であるから、アンドゲートg305の出力は°0
°である。
このため、フリップフロップf303は何もセットされ
ず、命令起動信号8T#i41/10に出力゛されない
0反転グー)g308の出力が°1°であり、かつフリ
ップフロップf302の出力も°1゜であるのでアント
ゲ−)g303の出力4)ii!/327が111とな
る。これによって、命令を命令キューに入れる動作が、
次のように行なわれる。
命令キューレジスタq301の詳細を第4図に示す、第
4図において、キューへのセット信号Sが@l 327
にセットすべきレジスタの番号として、インポインタ(
IP)レジスタr310の出力IPが線1328を介し
て送られてくると、それぞれデコーダb330のデコー
ド有効端子(E)およびデータ端子に入力され、デコー
ドされる。
その結果、線1327が°1°のときに線1328の内
容がデコードされ、その結果、指定されたレジスタr3
50〜r352のいずれかに、入力線(第3図における
線/303./305、または/3G?)の内容がセッ
トされる0以上が命令キューレジスタq301へのセッ
トである。なお、後に述べるキューレジスタの続出し動
作についてもここで述べておく、読出しとは、アウト・
ポインタ(OP)・レジスタr311 (第3図)の出
力OPにより指定される番号のレジスタr350〜r3
51の内容を出力することで、これは、各レジスタr3
50〜r352の出力が接続されているセレクタ535
0の選択制御をOPレジスタr311の出力線1329
により行なうことで実現できる。
なお、キューレジスタq302はレジスタr350〜r
352のビット数の違いを除いて、キューレジスタq3
01と同一構造である。キューレジスタq302は、レ
ジスタr350〜r352のビット数の違いの他に、レ
ジスタr350〜r352からセレクタ5350を介さ
ずに直接出力する信号線が別に設けられている点でキュ
ーレジスタq301と異なるのみである。
再び第3図に戻って説明する。こうして命令コード、そ
の命令が使用するリソースの種類等、およびし、ジスタ
の番号等をそれぞれ命令キューレジスタq301〜q3
03に登録すると、命令キューレジスタに命令が存在す
ることを示すフリツプフクツプf304〜f306のう
ち、今回登録し九レジスタに対応する7リツプフロツプ
をセットする。この動作は、線1327が@1“となり
、これがデコーダb312のデコード有効端子に入力さ
れ、データ端子に入力された(出力線1328)上のI
Pで指定される番号のフリップフロップf304〜f3
06のいずれかがデコーダb312によりセットされる
ことにより実現される0以上が終了すると、IPレジス
タr310が更新されるeIPt’ジスタr 310ノ
出力線1328は3進カウンタb314に入力されて、
次のIPの値が作成され、線1327が11°となると
、IPレジスタr310に、次のポインタの値がセット
される。3進カウンタb314は、入力が0,1゜2に
従って、1.2.Oを出力するものである。
なお、命令キュー(ここでは3つまでの命令がキューイ
ングできる)のすべてに命令が入ってしまうと、それ以
上命令を入れることはできないので、命令読出しエニン
)U2(第1図参照)からの命令送出を抑止する必要が
ある。これは、命令キュー中に命令が存在することを指
定するフリップフロップf304〜306の出力をアン
トゲ−)g309に入力し、この出力線17t−命令読
出しユニットU2に送出することによ抄実現される。
以上のごとくにして、起動待ちの命令が、それらの解読
順序にしたがって、命令キューレジスタq301にスト
アされる。
(b−1)  命令キューレジスタにある命令を起動す
る場合。
これは、命令キューレジスタq301内に命令があり、
これが必要とするリソースおよびベクトルレジスタが使
用可能のときに生じる。
これは、DIR中の命令の有無あるいはその命令の起動
可否に関係しない、この場合、DIR。
r302中に命令がある場合にはその命令は実行されな
いので(a−2)に述べ九手順に従って、DIR中の命
令が命令キューレジスタq301に登録される。以下で
は、命令キューレジスタq301から命令をとり出して
起動する処理について述べる。
命令キューレジスタQ301から命令を取出して起動す
る処理は、DIR,r302中の命令を起動する場合と
よく似ている。すなわち、命令キューレジスタr301
中のアウトポインタレジスタr311で指定される命令
と、DIR,r302中の命令を入れ替えて考えればよ
い。
命令を起動するには、必要なリソースおよびベクトルレ
ジスタが使用可能状態にあることが必要であることは(
a−1)でも述べた。
命令キューレジスタq301内の命令が使用するリソー
スの空きのチェックは、第3図のリソース使用チェック
回路b306で、ベクトルレジスタの使用可否のチェッ
クは、同じく第3図のレジスタ使用チェック回路b30
8にて行なわれる。
リソース使用チェック回路b306の詳細は、第5図に
示した通りチェック回路b305と同じである。アウト
ポインタ、OPによって選択され九命令キューレジスタ
q301中の命令が要求するリソースの種類は、キュー
レジスタq302から、@/318を介して入力される
。一方、リソースの状態がR88W、r304から入力
されている。これらが、アンドゲートg324〜g32
7によって比較されて、リソースの空きがチェックされ
、その結果、オアゲートg330.g331.   ’
g333、エンコーダb322.b323、セレクタ8
311等によって蝦終的にはリソースが空いていること
を示す線1312と、リソースの種類、番号を示す線1
311に結果がのせられる。
以上の動作は、DLR,r303とR88W、r304
とのチェックにより、線1310と1309に結果がの
せるリソース使用チェック回路b305の動作とまつ九
く同一なので、詳細の説明は省く。
レジスタ使用チェック回路b308の構成はチェック回
路b307と同じであり、その動作は、第6図(a)に
おいて、DGR,r305o出力ノカわりに、第3図に
おけるキューレジスタq303の出力線1319を接続
した場合の回路b307の動作と同一である。チェック
の結果は、レジスタ使用チェック回路b308の出力線
1314(第3図)に乗せられる。
再び第3図に戻って説明する。リソース使用チェック回
路b306からリソースに空きがあることを示す信号線
1312に°1°が出力され、そのときのリソースの種
類、番号がl/311に出力され、さらに、レジスタ使
用チェック回路b308からベクトルレジスタが使用可
能であることを示す信号線1314に°1°が出力され
、かつ、フリップフロップf304〜1306の出力を
それぞれアウトポインタoPが0〜2のトキに選択する
セレクタ8303の出力線1326が°1°(アウトポ
インタで指定される命令キューに起動可能な命令がある
ことを意味する)Kなると、アンドゲートg 305c
?出カ4!11321JK611になる。この出力線1
321が61°になると、セレクタ8301,8302
.8304Hそれぞれ命令キューq301の出力線/3
04、リソース使用チェック回路b306からの出力線
1311およびキューQ303からの出力線1319の
内容を選択してそれぞれEIR,r308、E8R,r
309.EGR,r312に命令コード、リソースの種
類と番号およびレジスタ番号および使用形態をセットす
る。したがって、命令キューリ301内の命令の起動可
能な場合には、DIR,r302内の命令が起動可能か
否かに無関係に、萌者の命令が起動されることが分かる
。また、線1321はオアゲートg306を介してフリ
ップフロップf303をセットし、ベクトルレジスタユ
ニット、各リソースに命令の起動信号STt線110を
介して送出する。オアグー)g306c)出力線133
0は、EIR,r308゜EAR,r309.EGR,
r312のセットの制御にも使用される。命令起動につ
いては、(a−1)の説明とまったく同様である。さら
に、線1321上の111の信号は、反転ゲートg31
0により、アンドグー)g304を閉じる。その結果、
反転グー)g308の出力が°11とな抄、DIR,r
302に命令が入っている場合(フリップフロップf3
02が1°の場合)には、線1327を1°としてその
命令を命令キューに登録するように制御する。この処理
は(a−2)K述べたとおりである。ま九、線1321
は、デコーダb313のデコード有効端子にも接続され
、デコーダb313はアウトポインタ、oPで指定され
るフリップフロップf304〜f306のいずれかをリ
セットする。これは、OPで指定される命令キュー中の
命令が取出され、起動される九めである。最後に、l/
321はOPレジスタr311のセットに使用され、ア
ウトポインタが更新される。この更新の制御は、インポ
インタの場合と同様、3進で行なわれる。3進の値の生
成は回路b314と同じ構成の回路b315にて行なわ
れる。
(b−2)  命令キュー中に命令があるにもかかわら
ず、DIRの命令が先に起動される場合。
これは、次Oような場合に生じうる。
(1)命令キュー中の命令が要求するリソースまたはベ
クトルレジスタが使用不可能で、この命令を起動するこ
とができない、かつ、 (2)  DIR,1302中にある命令が要求するリ
ソースレジスタが空いており、かつ、命令キュー1q3
01中に蓄えられている命令と、DIRr302中にあ
る命令間でベクトルレジスタの競合がない。
命令キューq301中にある命令を追越して、DIR,
r302中の命令を先に起動するには、レジスタの競合
がないこと、すなわち、命令キューq301中にある命
令にて変更するベクトルレジスタt、DIR,r302
中の命令が使用しないこと、また命令キューq301中
にある命令にて読出すベクトルレジスタについては、D
IR。
r302中の命令が変更しないことが必要である。
命令キュー中の命令で読出すのみのベクトルレジスタt
、DIR中の命令で読出すことについては、命令の追越
しをしてもレジスタの読出す順序が逆転するだけなので
、問題はない0以上述べたレジスタ競合チェックを朽な
う回路が、第3図の回路b3G9〜b311である。こ
の詳細を第7図に基づき説明する。
第7図の回路の詳細は、回路b3G91〜b3093の
詳細を除き、すでに説明した・gtレジスタ競合チェッ
ク回路b3091はDGR,r305のR1フィールド
r3051とQGRO,g3030oR1−R3フィー
ルl’!:を比較し、次の条件のいずれが満たさいない
場合に、レジスタ競合なしを示す信号゛1°をアンドゲ
ートg353に出力する。
(1)  DGROV1=1.Wl−0(2)とき、Q
GROの一つのフィールドRjにおいてv j−wj−
1,GNj =DGROGN1(2)  DGROV1
=1.W1=1+7)とき、QGROの一つのフィール
ドFLjにおいてvj−1,GNj−DGROGNt 同様に、DGRのR27(−hドr3052゜R3フィ
ールドr3053についてそれぞれ第2゜#I3レジス
タ競合チェック回路b3092.b3093が同様のチ
ェックをする。
一方、命令キュー中に実行可能な命令が入っていること
を示すフリップ70ツブf304(第3図参照)の出方
が91323を介してアントゲ−)R353に人力され
、アンドゲートg353の入力−がすべてがl″のとき
、その出力がオアゲ−)R356を経て、線1315に
乗せられる。
こうして、DGR,r305で指定されるベクトルレジ
スタが、QGRO,Q3030中にて指定されるいずれ
のベクトルレジスタとも競合しないか否かがチェックさ
れる。これと同様に、DGR。
r305で指定されるベクトルレジスタと、QGRl、
Q3031で指定されるベクトルレジスタの競合関係が
チェック回路b310で、DGR。
r305で指定されるベクトルレジスタと、QGR2,
R3032で指定されるベクトルレジスタの競合関係が
チェック回路b311でチェックされ、その結果がそれ
ぞれアントゲ−)R354゜R355を経て、オアゲー
トg3,60.g36iの出力線、/316./317
にのせられる。
DIR,r302中にある命令が要求するリソースおよ
びレジスタの使用状況のチェックについては、(a−1
)の処理の説明にて詳細を述べたとおりである。
チェックの結果、第3図において、リソース使用チェッ
ク回路b305の出力として、線1310にリソースが
空いていることを示す°1”の信号が、線1309にリ
ソースの種類、番号がレジスタ使用チェック回路b30
7の出力として、線1313にベクトルレジスタが使用
可能であることを示す°1”の信号が出力される。一方
、命令キュー中のアウトポインタOPで指定される命令
が使用するリソースまたはベクトルレジスタのいずれか
一方または双方とも使用可能でないので、リソース使用
チェック回路b306の出力線1312ま九は、レジス
タ使用チェック回路b30Bの出力線1314の少くと
もいずれか一方は°0°になっている。また、命令キュ
ーに命令が存在することから、セレクタ5303の出力
線1326は@1°に、DIR,r302に命令が存在
することから、線1302も@11になっている。
このような状況のもとで、アンドゲートg305の出力
線1321は°1″とはならない、今の場合、DIR中
の命令と、命令キュー中の命令が要求するレジスタ間で
競合がないと仮定しているので、fit/315〜/3
17が°l°とな抄、アンドゲートg301の出力がI
I I IIとなる。アントゲ−)R301の出力と、
線1313が入力されるアントゲ−)R302の出力が
@1“となり、この出力°1°と線1310と、DIR
に有効なす命令が入っていやことを示す線1302と、
1it321t−反転グー)R310で反転した出力の
4つの信号とが入力されているアンドグー) R304
の出力が°1°となる。以後、命令を起動するまでの処
理は(a−1)におけるDIR中の命令起動処理とまっ
たく同様である。なお、アントゲ−)R304の出力が
1“のため、その出力、を反転ゲートg308で反転し
た結果が入力されてhるアンドゲートg303の出力線
$ 327、および先に述べた線/321はいずれも@
0°のため、IPおよびOPはいずれも更新されること
はなく、また、命令キュー中に命令が存在することを示
すフリップフロップf304〜f306の状態も変らな
い。
■ 命令制御ユニットの変形例 以上、命令制御ユニツ)U3(第1図参照)の詳細を述
べた。本実施例においては、命令実行の追越しは、DI
R,r302と命令キューとの間でのみ行なわれ、命令
が一旦、命令キューに入ってしまうと、命令キューに入
った順にアウトポインタでとり出されていくので、キュ
ーの間での命令実行の追越しはおこなわれない。しかし
、この命令キュー内の命令の間の追越し実行も、DIR
内の命令と命令キュー内の命令の間の追越し実行と同様
圧制御すれば、容易に実現することができる。この場合
には、命令キュー上の命令について、実行順序を記憶し
ておく必要がある。tた、キューへの命令の登録も、イ
ンポインタ(IP)にょする験序通りの登録ではなく、
空いたキューへの登録となる。
第8図は、これを実現するための回路の内、第3図の回
路と相異する部分を主に示したものである0図において
、フリップフロップf304.f305、f306は、
命令キューに有効な命令が入っていることを示す(入っ
ているときに°1゜とするフリップフロップで、第3図
のフリップフロップf304〜f306と同一のもので
ある。
このフリップフロップの出力を反転ゲートg380〜g
382で反転後、プライオリティ・エンコーダb395
に入力すると、出力には、空きの命令キューのうち、も
つとも番号の小さなものが出力される0本変形例では、
第3図のIPレジスタr310.3進カウンタb314
にかえ、反転ゲ−)g380〜g381、プライオリテ
ィエンコーダb395’i用い、プライオリティエンコ
ーダの出力をインポインタIPとして、第3図のIPの
かわりに使用する。
また、命令キューレジスタQ301中の命令の起動順序
を記憶しておく必要があり、このため、本変形例では、
フリップフロップf380〜f382と実行順序変更回
路b393が第3図の回路に追加される。命令キューレ
ジスタqaoiにIP=0〜2でもってそれぞれセット
された命令t−QO,Q1.Q2と名づけると、これら
の命令を、 QO→ Ql  −’  Q2 QO→ Q2 → QI Ql  −+ Q2  →QO Ql → QO→ Q2 Q2 → QO→ QI Q2 →Q1 → QO の順に起動する場合があ抄得る。この6つの状態をフリ
ップフロップf380〜f381で記憶する。フリップ
フロップf380.f381゜f382の記憶清報とこ
のときの命令実行順序の関係は次の表のとおりである。
f380  f381  f382    命令実行順
序0   0   0     QO−+Q1→Q20
   0   1     QO→Q2→Q10   
1   0     Ql→Q2→Q00   1  
 1     Ql→QO→Q21   0   0 
    Q2→QO→Q11   0   1    
 Q2→Q1→QO命令の実行順序の変更は、フリップ
フロップf304−f306が@l ”から@01(使
用中から非使用中)になったときに行なわれる。この変
更を制御するのが変更制御回路b393である。
回路b393には、フリップフロップf304〜f30
6の出力1323〜1325と現在の起動状aを表わす
フリップフロップf380〜f382の出力1396〜
1398が入力され、次の起動状態が線1376〜13
78に出力されて、再びフリップフロップf380〜f
382にセットされる0回路b393の内部では、命令
キューリ301内の一つの命令が起動され線1323.
〜1325が°l°から°0“に変化した時点をとらえ
、次のように線1396〜1398の内容から、出力を
作成し、線1376〜1378にのせる。
すなわち、命令キューリ301内の残妙の二つの命令を
先ず起動し、かつ、このとき、この二つの命令の起動順
序はそれまでに7リツプフロツプf380〜f381が
指定していた順序とし、これらの二つの命令の起動後に
、今回起動された命令のかわりに新たに命令キューにス
トアされた命令を起動するように、フリップフロップf
380〜f381をセットする。
(1)  41fll/323カ’ l ”−+°o°
となったとき、(2)  緩/ 3247jt “1 
°−* 6 °とナツタとき、(3)  #/325カ
°1 ”−+“6 °となったとき、なお、線1323
〜1325が同時K”l°→°O°になることはない、
なぜならば−命令ずつ起動するからである。
命令キューレジスタq301中のいずれの命令をも起動
可能とするためには、キュー中のすべての命令について
、リソースおよびベクトルレジスタの使用状況のチェッ
クを行ない、かつ、命令キュー上のすべての命令間のベ
クトルレジスタの競合チェックを行なう必要がある。第
8図においてQ8RO/1/2.Q3020−q302
2は命令キューレジスタq301中の命令が要求するリ
ソースの種類を保持するもので、第3図のキューレジス
タq302中にあるものである。ただし、本変形例にお
いては、各レジスタQ3020〜q3030から、OF
とは無関係に直接リソース使用要求を送出する信号線が
設けられている・この各命令のリソース要求と、リソー
スの状態を管理するR85W、r304の内容が、第3
図のリソース使用チェック回路b306にかえて本変形
例で設けられたリソース使用チェック回路b 380〜
b382でチェックされ、それぞれからリソースが空い
ているかどうかt示す信号が41i/ 380〜/3g
2に%開用可能なリソースの種類と番号が41/ 38
3〜1385に出力される。リソース使用チェック回路
b380−b382は、第5図で説明し九回路b305
とまったく同一構成を有する。第8図において、QGR
o、Q3oao 〜QGR2,q3032は、命令中ニ
ー中の各命令が要求するレジスタの番号等を記憶してい
るもので、第3図のキューレジスタQ303中にあるも
のである。この各命令のレジスタ要求と1、ベクトルレ
ジスタの状態を管理するRG8W、r306の内容が、
本変形例において新たに設けられたレジスタ使用チェッ
ク回路b383〜b385でチェックされ、要求するす
べてのベクトルレジスタが使用可能かどうかを示す信号
が1386〜1388に出力される。これらのレジスタ
使用チェック回路は、第6図で説明した回路b307と
まったく同一で轡る。また、各命令の要求するベクトル
レジスタ間の競合をチェックするために、本変形例で新
たに設けられたレジスタ競合チェック回路b386〜b
391が使用される。命令キュー中の各命令の実行順序
はどのようなものでも許されるようにしたい、命令キュ
ー中に3命令分保持できる場合には、ある命令が他の2
命令に優先して起動させるために2つのチェック回路が
必要で、それか3命令分必要であるから、計611if
fiのレジスタ競合チェック回路b386〜b391が
必要となる0回路b386は、QGROのR1〜R3フ
ィールドとQG几1のR1〜R3フィールドとが入力さ
れ、前者が後者の各々に対してレジスタ競合チェックを
行い、いずれのフィールドにもレジスタ競合が検出され
ないとき、線/390に1′を出力する。第7図のレジ
スタ競合チェック回路b309と同一構成を有する0回
路b386には、フリップフロップf305の出力線1
324も入力されておりbtgl路t1309(第7図
)と同様に、この信号線1324が°0“のときには、
無条件に[/ 39 Gに01°を出力する。同様に回
路b387は、QGRIの各フィールドがQGROの各
フィールドに対してレジスタ競合を有しないかをチェッ
クする回路である。同様に回路b688〜b391はそ
れぞれQGR2に対してQGRIの、QGRIに対して
QGR2の、QGROに対してQGR,2の、QGR2
に対してQGROの、レジスタ競合をチェックするもの
である。これらのレジスタ競合チェック回路b386−
b 391(iり出力#/ 39 G−739Sd&’
を令14択回路b394に入力される。命令選択回路b
394には、先に述べた、リソース使用チェック回路b
380〜b382の出力線1380〜1382、レジス
タ使用チェック回路b383〜b385の出力[/ 3
86〜l388、命令の起動順序を指定するフリップフ
ロップf380〜f382の出力および命令キュー中に
実行可能な命令が入っていることを示すフリップフロッ
プf304〜f306の出力線1323〜1325も入
力され、ベクトルレジスタ、リソースに空きがあり、か
つベクトルレジスタの使用上、競合が生じない命令キュ
ー中の命令が命令選択回路、b394にて選択されて、
選択された命令のキュー中の番号がアウトポインタOF
として1329に、キュー中の命令が選択されたことを
示す信号が巌1321に出力される。
命令選択回路b394の詳細を第9図に示す。
アントゲ−)g383には、フリップフロップf304
の出力線/323、リソース使用チェック回路b380
の出力縁/ 380、レジスタ使用チェック回路b38
3の出力@/ 386、レジスタ競合チェック回路b3
86.b391の出力縁/390.395が入力され、
これらの入力がすべてが@11のときに、アントゲ−)
g383の出力線1370が@1“になる。これは、命
令キュー中の第0番の命令QOが実行してよいことを示
す、同様に、アントゲ−)g384.g385にも命令
キューの第1.第2番に関する信号線が入力され、41
7371.$372に出力される。
4i/370−/372は、同時に@1mになることも
あ抄うる。後1370−1372はオアグー)g387
に入力され、いずれか1つでも命令実行が可能のときに
は、゛オアグートg387の出力@/321’i”1°
とする。線1370〜/ 372に出力された命令実行
可能を示す信号から、いずれを選択するかは命令実行順
序判定回路b395にて行なわれる0回路b395には
、線1370〜1372のほかに、命令実行順序を示す
フリップフロップf380〜f381の出力線1396
〜1398が入力され、次のようにして実行すべき命令
キュー上の番号が91329に出力される。
線1329は実際には2本の線13290 (上位)、
/3291 (下位)からなり、2本で2進数00゜0
1.1Gをあられして、命令キュー内の命令の番号を示
すこととする。
(1)線/396〜/3985E’0”0”0’のとき $390  /371  /372 13290  /
3291001    1    0 010    0    1 011    0    1 1    *    *     0    0(木は
ドントケアを示す) (2)A[396〜/398が@0”O”1”のとき /370  /371  /372  /3290  
/3291001    1    0 010    0    1 011    1    0 1    *    *     0    0(3)
4iR396−/391!@0”1″@o。
:のとき /370  /371 1372  /3290  /
3291001    1    0 0000 101    1   0 本      1*         0      
 1+4)+[396〜/398が”0”1”1’Oと
!13’lo  /371  /372   /329
0  /32910110 0000 0100 亭   1   岑    01 15)@/396−/391E”l”0”O”+2)と
き1370 13’11 1372   /3290 
 /3291010     0     1 0000 1000 *   ヰ   1    1   0(6)  縁/
 396〜/ 398 カ” 1°”O”1”+2)と
き1370  /371  /372   /3290
  /3291010     0     1 0000 1001 岑    *    l     1    0命令選
択回路b394の出方である線/329゜線$321Y
r%第3図においてそれぞれアクトポイyり(OP)l
zレジスタ311の出力、@1329およびアントゲ−
)g305の出力線1321のかわりに使用すればよい
、したがって、第3図のアウトポインタレジスタr31
1,3進カウンタb 315、セレクタ8303%アン
ドゲートg305は不用となる。
なお、第8図中のセレクタ8380は命令キュー中の命
令が要求するリソースの種類、番号をアウトポインタ(
線1329上にある)に従がって選択するもので、この
出力線j311が、第3図のリソース使用チェック回路
b306の出力線のかわりに使用される。
以上のべ友ように、本発明による命令制御ユニットで畝
続出された命令を次々と解読し、起動できる命令は次々
と起動し、起動できない命令は命令キューに入れていく
、かつ、リソースが空きベクトルレジスタが使用可能と
なると、ベクトルレジスタの使用順序に矛盾がなければ
、解読した順序に関係なく命令を起動していくことによ
り、リソース、ベクトルレジスタが空いている時間を頬
部させ、より短時間に命令を処理させることができる。
かつ、解読した命令順序と、起動する命令順序が無関係
であっても、レジスタの使用順序(解読した命令順序に
レジスタ12用する)を誤ることがない。
■ ベクトルレジスタユニット (1)概要 第1O図は、ベクトルレジスタユニットU4はベクトル
レジスタ制御ユニット04Gと、ベクトルレジスタデー
タユニットU41に分けられる。
ベクトルレジスタ制御ユニット040では命令制御ユニ
ツ)U3よシの指令にもとづいて、ベクトルレジスタデ
ータユニットU41中にあるベクトルレジスタVRから
必要なデータを続出し、演算器U2G、U21. メ%
す・リクエスタUlo。
Ull(第5図)に送出する制御、および演算器U20
.U21.メモリ・リクエスタUl O。
Ullから送出されてくるデータをベクトルレジスタV
Rに書込む制御を行なう。また、ベクトル7レジスタの
使用の終了を命令制御ユニツ)U3に知らせる。
ベクトルレジスタVRの各々は多数のベクトル要素を保
持するものであるが、ここでは従来技術と同様、メモリ
素子で構成されることとする。このため、書込みまたは
読出しアドレスを指示するためのアドレスカウンタ(詳
細後述)がベクトルレジスタVRごとに存在する。これ
らのアドレスカウンタは、ベクトルレジスタ制御ユニッ
トU40よ多制御される。
ベクトルレジスタVRからのベクトル要素の読み出しは
、ベクトルレジスタ制御ユニットU40の制御下で、次
のように行われるのに注意すべきである。本実施例では
、ある命令の実行によシ、あるベクトルレジスタにベク
トルデータの要素を書込み中のときに、そのベクトルレ
ジスタを読出したい後続の命令があれば、このベクトル
レジスタへ任意数の要素が書込まれた時点で、書込み動
作と並行して続出し動作が開始されるように、ベクトル
レジスタのチェイニングを行う。しかも、このチェイニ
ングでは、先行する命令による書込み動作が間欠的に行
なわれる場合には1、それに応じて後続の命令による読
出しも間欠的に行なわれる。さらに、ある命令が続出し
用に二つのベクトルレジスタを用いる場合にあっては、
これらのベクトルレジスタの少くとも一方に一部のベク
トル要素しか書込まれていない場合であっても、これら
のベクトルレジスタに書込まれたベクトル要素の内、同
一番号の要素を対にして読出す動作を開始する。しかも
、これらのベクトルレジスタへの残シの要素が間欠的に
書込まれる場合には、同一番号の一対の要素が同時に読
出し可能になるごとに、この一対の要素を続出す。
演算器に供給されるベクトルデータは、通常、主記憶か
ら続出され、一旦ベクトルレジスタに入れられ、そこか
ら演算器に供給される。データの絖出しはマシンクロッ
クに同期して行なわれるが、主記憶から続出されるベク
トル要素は、主記憶上の読出しの競合(たとえば2つの
メモリ・リクエスタの同等動作時に生ずる)からマシン
サイクルごとにベクトルレジスタに連続して書込まれる
とは限らない。このとき、演算器に供給すべきベクトル
要素データは、間欠的にベクトルレジスタに到着し、書
込まれていく。このような条件のもとでも、書込みと並
行して読出し動作(チェイニング)を行ない、また、命
令が二つのベクトルレジスタを必要とするときには演算
器に対し、2つのベクトルレジスタの同一ベクトル要素
番号のベクトルデータを同時に供給するようにすること
により、命令の実行開始を早めることができる。
(I)  ベクトルレジスタ制御ユニットの概要ベクト
ルレジスタ制御ユニットU40は第11図に示すように
、命令起動制御回路b400,8個のベクトルレジスタ
の各々に対応したベクトルレジスタ制御回路b410〜
b417.2個の演・算器と2個のメモリ・リクエスタ
の各々に対応したオペランド制御回路b420〜b42
3、オペランド制御回路b420〜b423からの出力
をそれぞれ保持するスリップフロッグf400〜f 4
07、および、リソース−レジスタ変換回路(以下S−
G変換回路とよぶ)b401.b404゜b405. 
 レジスターリンース変換回路(以下G−8変換回路と
よぶ)b402.b403から成る。G−8変換回路b
402.b403は、命令制御ユニツ)U3によシ指定
される読出し用の一つ又祉二つのベクトルレジスタ番号
に対する、ベクトルレジスタ制御回路b410〜b41
7からの信号を、命令制御ユニットU3により指定され
るリソース番号に対する、オペランド制御回路b420
−b427へ送出するものであり、5−GK換回路b4
01(又はb402とb403)は命令制御ユニツ)U
3によシ指定された番号のリソース(又はこれに対する
オペランド制御回路b420〜b427)から送られて
くる信号を、命令制御ユニツ)U3によシ推定された誉
込み用のベクトルレジスタ番号に対応するベクトルレジ
スタ制御回路b460〜b467 (又はこの番号のベ
クトルレジスタ)へ送出するものである。
まず、命令起動制御回路b400が命令制御ユニットU
3より、起動信号(線llO上)、命令コード(線ll
l上)、レジスタ番号(線112上)、リソース種類番
号(線l13上)、処理ベクトル長c線114上)を受
けとり、命令コードがベクトルレジスタの使用を必要と
するもののときには、次のように動作する。
α)8−G変換回路、b 401 、 b 404 、
 b405、G−8変換回路、b4o2.b+oaに変
換に必要なりンース番号とベクトルレジスタ番号、およ
び、それらのセット信号を送出する。
(2)ベクトルレジスタ制御回路b 410−b417
のうち、指定されたベクトルレジスタ番号のもの=、書
込み、または読出しの起動信号を出す。
(3)オペランド制御回路b420〜b423のうち、
指定されたリソースの種類と番号に対する回路に、ベク
トル長データと、そのセット信号、および、オペランド
を1つしか使用しない命令においては、それを指示する
信号を出す。
−命令実行時には、次のように制御信号が伝達される。
ここでは、ベクトルレジスタ0およびlからデータを読
出して演算器0で演算し、結果をよりトルレジスタ7に
書込む命令の実行時の動作について説明する。
ベクトルレジスタ0にであるベクトル要素の読出しが可
能になると、ベクトルレジスタ制御回路b410からベ
クトルレジスタ読出し許可信号が線Z+SOに出力され
る。同じく、ベクトルレジスタ制御回路b411からも
@1481に、ベクトルレジスタ1でのベクトルレジス
タ読出し許可信号が出力される。G−8変換回路b40
2゜b403にて線1480.7481の信号は、演算
器0に対する出力線1490. t500に伝えられ、
オペランド制御回路b420に入力される。
オペランド制御回路b420は、これらのベクトルレジ
スタ読出し許可信号同時に存在することを条件に1ベク
トル要素ごとのベクトルデータ送出信号を作成し、線t
520に出力する。この信号は、フリップフロップf4
01で一旦受けた後、線14Bにて演算器0にデータ有
効信号として送られる。一方、線1520上のデータ送
出信号はS−G変換回路b404.b405にも入力さ
れ、それぞれによりベクトルレジスタ番号0.1に対応
した線1540,155Nに出力され、それぞれ、オア
ゲートg400又はg401および線t470とt47
1に’より、ベクトルレジスタデータユニットU41(
第1O図参照)中にあるベクトルレジスタOと1に対す
る読出しアドレスカウンタ(後述)の更新に使用される
。本発明では、ベクトル要素データ送出信号(ifM1
520上にある)を作成した後、はじめて、ベクトルデ
ータの絖出し用のアドレスカウンタ(後述)を、次のア
ドレスに更新する点が特長の一つである。実際にデータ
をよみ出す動作は、2つ(ここではベクトルレジスタ0
と1)のオペランドのデータ読出しが可能になったこと
を確認してから行なうわけである。
さて、データ有効信号V(線143上)と、ベクトル要
素データが演算器0に送られ、演算されると演算結果が
線t45(第1θ図)を介してベクトルレジスタデータ
ユニットU41に、データ有効信号Vが線146を介し
てベクトルレジスタ制御ユニットU4Gに戻される。こ
のデータ有効信号Vは、S−G変換回路b401にょシ
書込みベクトルレジスタφ7に対応する線t437に伝
えられる。線t437の信号に応答して、ベクトルレジ
スタ制御回路b417は、ベクトルレジスタ7への書込
みアドレスカウンタ更新信号を線t427を介してベク
トルレジスタデータユニットU41に伝えるとともに、
ベクトルレジスタ制御回路b417内にあシ、ベクトル
レジスタ読出中のどのベクトル要素まで書込みを行なっ
たかのポインタ(後述)の管理に使用する。このポイン
タは、ベクトルレジスタ7を書込みながら、次以降の命
令での続出しに使用する際に、書込んだベクトル要素ま
でを読出すように制御するために使用される。
最終ベクトル要素を演算器0に送出する際に、それが最
終であることを指定するためにオペランド制御回路b4
20から、ベクトルデータ送出信号と同期して飯終ベク
トルデータ信号EがHt51Gに出される。つまり、回
路b420は、命令実行開始時にセットされる処理ベク
トル長を憶えておき、この数だけ、ベクトルデータ送出
信号を出すと、最終ベクトルデータ信号を出すように構
成されている。この信号は、フリップフロップf40G
で一旦記憶された後演算器Oに線t40によシ送され、
最終演算結果と同期して、線t44により8−G変換回
路b401に戻されてくる。線144はS−G変換回路
b401にょシベクトルレジスタ7に対応する@142
7に伝達され、ベクトルレジスタ制御回路b417に入
力される。制御回路b417はベクトルレジスタ7への
書込み動作を終了させるとともに、線416にて、命令
制御ユニットU3に、ベクトルレジスタ7の書込が終了
したことを伝える。一方、オペランド制御回路b420
からの出方)$31510上の最終ベクトルデータ信号
EはS−G変換回路b404.b405にも入力されて
、ベクトルレジスタ0,1に対応する線1530および
1531に出力され、さらにオアゲートg410.g4
11を経て、@1460.1461Kjシ、ベクトルレ
ジスタ制御回路b410.b411に入力され、へ/)
ルレジスタの耽出し動作蕃終了させるトドもに、線71
5にて、命令制御ユニットU3に1.91 ベクトルレジスタ0.1の読出しが終了したことを伝え
る。
(11)  命令起動制御回路 第12図に示すように、命令起動制御回路b400は命
令制御ユニットU3よシそれぞれ1t10〜t14を介
して入力される命令起動信号8T、命令コード使用レジ
スタ番号と使用形態、使用リソース種類と番号、処理ベ
クトル長をそれぞれフリップフロップf 410、レジ
スタRGR。
r400.I’LIG、r401.R8R,r402゜
RVIR,r403にいずれも命令起動信号8Tに応答
してセットする。
フリップフロップf410の出力は、S−G/G−8変
換回路402〜405(第14図)他への情報のセット
信号として、線t419により送υ出されるとともに、
内部での各種データ信号の作成に使用される。
RGR,r 400+7)内容から、8−G変換回路、
G−8変換回路(第11図)に与えるレジスタ番号と、
ベクトルレジスタ制御回路、ベクトルレジスタデータユ
ニットに与える初期化/起動信号を作成する。通常のベ
クトル命令では、RIフィールドで書込みベクトルレジ
スタ%  R2/R3フィールドで絖出しベクトルレジ
スタを使用する。このため、第11図の8−G変換回路
b401には、R1フィールドのレジスタ番号を、G−
8変換回路b402、S−a変換回路b404にはR2
フィールドのレジスタ番号を、G−8変換回路b403
、S−G変換回路b405には、R3フィールドのレジ
スタ番号を与えればよい。しかし、第2図でのa8Aに
述べたように、主記憶にベクトルデータを格納する命令
においては%R1フィールドは続出し用のベクトルレジ
スタ番号を指定するのでR1フィールドのレジスタ番号
を、通常のR2フィールドのレジスタ番号を送出する信
号線に乗せ替える必要がある。このために、RGRr4
00のGNIフィールドとVlフィールドは併せて線t
439を介して、8−G変換回路b401に送出される
とともに、セレクタ8400に第1の組として入力され
る。一方、レジスタr400のGN2と■2フィールド
は第2の組としてセレクタ8400に入力され、このい
ずれかが選択されて、線t449にて、8−G変換回路
b404.0−8i換Do路b4ozK送11れる。
このセレクタ5400の選択制御はデコーダ5438が
行い、RIRr401内の命令コードが主記憶にベクト
ルデータを格納する命令に対するものか否かに応じて前
者又は後者が選択されるようにセレクタ5400が制御
される。RGRr 4001Z)GN3とV3フィール
ド岐線t459によシ、そのまま、S−a変換回路b4
05、G−8変換回路b403に送られる。
ベクトルレジスタ制御回路b410〜b417およびベ
クトルレジスタデータユニットU41中のベクトルレジ
スタに対し、書込みの起動を行なうために、RGR,r
409のR1〜R3フィールドはデコーダb430に送
られる。デコーダb430は、アンドゲート回付デコー
ド有効端子0を有し、アンドゲート(2)への入力線が
すべて°l”のときに、デコードが有効になる。デコー
ダb430のアンドゲート囚には、Vlフィールド、W
lフィールド、およびフリップフロップf410の出力
がそれぞれ線t580. t581゜1419が接続さ
れており、また、デコードされる信号として、GNIフ
ィールドが@1439を介して入力されている。デコー
ドが有効すなわち、GNIフィールドのデータに意味カ
アリ(Vlフィールド=@1”)、書込みが指定されて
おシ(Wlフィールド=@l”)かつ命令起動(t41
9=”l’)時に$1582を介して入力されるGNI
フィールドの内容がデコードされ、このGNIフィール
ドがベクトルレジスタ0〜7のいずれかの番号を有して
いるときには、出力線8本t410〜1417のうちの
1つが°11になる。ここでは、GNIフィールドが′
0°のとき、出力線t410が”1°、°11のとき出
力線t411が°l”、@2″のとき出力$1412が
almというようにデコードされるとする。今、例とし
て考えている命令ではRGR,r400内のR1フィー
ルドがベクトルレジスタ0への書込みを指示(W1=1
.GN1=0)しているので線1410のみが111と
なる。デコーダb430の出力@1410〜t417は
、ベクトルレジスタ制御回路b410〜b417(第1
1図)およびベクトルレジスタデータユニットU41に
送出される。デコーダb433〜b435は、ベクトル
レジスタの読出しの起動を行なうためのものである。こ
れらのデコーダには、アンドゲート(A)付デコード有
効端子へ、Wl、W2.W3フィールドではなく、それ
ぞれを反転グー)g420〜g422で反転した出力が
線!589〜591を介して入力され、RG:FL、1
400のフィールドRiが続出し用のとき(W i =
 O)のみ、デコードが有効となる点が異なるのみで、
あとはまったくデコーダb430と同様である。デコー
ダb433〜b435の出力は、オアグー)g440〜
g447を経て、線t400〜t40711cよシ、そ
れぞれベクトルレジ”スタ制御回路b410−b417
およびベクトルレジスタデータユニットU41に胱出し
起動信号として送出される。以上の実施例においてデコ
ーダb433を省略し、セレクタ8400の出力をデコ
ーダb434に入力させてもよい。このときKは、゛セ
レクタ8400には、さらに、WlフィールドとW2フ
ィールドの出力もそれぞれGNI、GN2フィールドと
ともに入力され、選択されるようにしておく必要がある
デコーダb436は、オペランド制御回路b420〜b
423に対する起動信号を送出するものである。デコー
ド有効端子Eには、線1419が、データ端子DIには
、R2H,r402からリソース種類、番号が入力され
、これらがデコードされて線1440〜1443のいず
れかが°1”となる。この線t440〜1443の信号
11゜は、それぞれオペランド制御回路b420〜b4
23に対する起動信号となる。
デコーダb437は、オペランド制御回路b420〜b
423にて2つのベクトル要素の同期をとる必要のない
場合を指示するためにある。2つのオペランドの同期が
不要な場合とは、たとえば一つのベクトルレジスタから
主記憶へのベクトルデータの格納や、一対のベクトルレ
ジスタ間でのベクトルデータの転送、一つのベクトルレ
ジスタ内のベクトルデータを変換して他の一つのベクト
ルレジスタに格納するベクトルデータの変換のように、
読出すべきベクトルレジスタが一つであシ、命令のR3
フィールドが不要の場合であシ、このときには、RGR
,r400のv3フィールドが@θ′になっている。デ
コーダb437は2人カアンドグート■付デコード有効
端子Eがあり、そこには、線1419(7)他に、RG
R,r+o。
の■3フィールドの出力を反転グー)g423で反転さ
せた出力が入力される。デコーダb437は% R2H
,r402から与えられるリソースの種類、番号を解読
して、線1450〜453の内の一つに111を出力す
る。デコーダb437の出力は、線1450〜t453
を介してそれぞれオペランド制御回路b420−b42
3に接続される。
R2H,r402内のリソース種類番号はまた@142
9を介して8−G変換−路b401.b404、b40
5. G−8変換回路b402.b403に共通に入力
される。
RVLR,r403内の処理ベクトル長は、線1469
により、各オペランド制御回路b420〜b423に共
通に入力される。
(lv)  S−G変換回路 第13図は、S−a変換回路b401の内、各リソース
から与えられるデータ有効信号を、命令制御ユニットU
3によシ指定されるレジスタ番号に対するベクトルレジ
スタ制御回路に供給する回路を示している。
第13図において、リソース種類番号が線t429によ
りデコーダb439のデータ端子に入力され、書込み用
のベクトルレジスタ番号が線t439を介してリソース
対応に設けたレジスタr410〜r413に入力され、
命令起動信号8Tが、1Mt419によシデコーダb4
39のデコード有効端子[F]に入力される。レジスタ
r410〜r413は、それぞれメモリ・リクエスタ0
,1および演算器0.1に対応して設けられている。
−1439上にはレジスタ番号GNIの他に、第12図
の説明でも述べたように、レジスタ番号が有効であるか
どうかを指示する信号v4含まれている。これらの信号
はレジスタr410〜r413の内線t429上にある
リソース対応、番号に対応するものにデコーダb439
によりリセットされる。レジスタr410〜r413内
のレジスタ番号GNIは、それぞれデコーダb440〜
b443のデコード入力端子に、Vビットはデコーダb
440〜b443のアンドゲート■付デコード有効端子
[F]の一方の入力端子に入力される。これらの端子E
の他方の入力端子には、それぞれメモリ・リクエスタ0
.1、演算器0.1からデータ有効信号がそれぞれ線1
46,146’ 、t29、 t29’を介して入力さ
れる。たとえば、レジスタr410にある■フィールド
の出力°l“がデコ−ダb440のアンドゲートに入力
されている条件下では線146から°l“が入力される
とデコーダb440がデコード有効状態となシ、レジス
タr410のGNフィールドの出力がデコードされて、
デコーダの出力端子0〜7のいずれかが“loとなり、
各出力端子に接続して設けられたオアゲートg430〜
g437の出力線t420〜t’azrのいずれかが°
l°となる。この出力@1420〜t427はベクトル
レジスタ0〜7に対応していて、それぞれベクトルレジ
スタ制御回路O〜7にデータ有効信号を供給する。
こうして、一度、レジスタr410〜r413にデータ
がセットされた後、9146の“1“。
10”の変化が、そのまま、線t420〜t427のい
ずれかに伝えられる。ここで、注意したいことは、レジ
スタr410〜r413内のレジスタ番号が異なる限り
、線146.t46’ 、129゜129′の信号を同
時にそれぞれ線1420−1427の内の対応する線に
供給することができることである。この同時供給は最大
4つのレジスタ番号に対して可能である。こうして、4
つのリソースを並列に動作させることが可能となる。
なお、8−G変換回路b401の内、各リソースから供
給される最終ベクトルデータ信号を命令制御ユニットU
3によシ指定されるレジスタ番号に対するベクトルレジ
スタ制御回路0〜7に供給する回路部分は、第13図の
線146,146’。
129.129’をそれぞれ線t44.144’。
126.126’によ多置換し、線1420〜1427
をifMt430〜t437によ多置換すれば得られる
S−G変換回路b404は、各リソース対応のオペラン
ド制御回路0〜3からそれぞれ線t520〜t523を
介して入力されるベクトルデータ送出信号を命令制御二
二ツ)U3により指定されるレジスタ番号のベクトルレ
ジスタへ線1540〜  ′t543のいずれかを介し
て送出する回路部分と、オペランド制御回路θ〜3から
線!510〜t513を介して入力される最終ベクトル
データ信号を、命令制御ユニットU3により指定される
リソース番号に対するベクトルレジスタ制御回路θ〜7
に線t530〜t537を介して送出する回路部分とか
らなる。前者は、第13図において、線1439を線t
449により置換し、線t46゜146’ 、129,
129’をそれぞれ、at520〜t523により置換
し、線t420〜t427をそれぞれ線1540〜15
47により置換することによシ得られる。後者は、第1
3図において、同様に軸1459.線!510〜151
3および1530〜t537を用いることにより得られ
る。S−G変換回路b405も、回路b404と同様に
形成されるので、詳細は省略する、なお、これらの置換
後の信号Im1番号を、第13図において信号線番号1
46,146’ 、t29,129’。
t420〜t427の後のカッコにて示しである。
(v)G−8変換回路 第14図は、G−S変換回路b402 (第11図)の
詳細を示したものである。命令起動制御回路b400か
ら線t429を介してリソースの種類、番号が入力され
、線t449を介してレジスタ番号が入力され、線14
19を介してのセット信号が入力される。線t429上
のリソースの種類、番号は、ベクトルレジスタ対応のレ
ジスタr420〜r〜427の内、線t449上のレジ
スタ番号に対応するものにセットされる。セットすヘキ
レジスタの指定は、線t439上のレジスタ番号がデー
タ端子に入力され、線t419上のセット信号と、線1
439上のレジスタ番号の有効を示す信号Vをデコーダ
b449のアンドゲート(2)に入力されるデコーダb
449により制御される。レジスタr420〜r427
の出力は、それぞれに対応したデコーダb450〜b4
57に入力されている。デコーダb450〜b457は
、それぞれベクトルレジスタ制御回路0〜7から信号線
t480〜t487を介してデコード有効端子[F]に
入力されるベクトルレジスタ続出許可信号が°1°にな
ると、データ入力端子より入力されているリソース種類
、番号に対応した出力端子のいずれか1つから“1”を
出力する。この結果、デコーダb450〜b457のθ
〜4番号の出力端子にそれぞれ接続されたオアゲートg
440〜g443のいずれかにより、線t490〜t4
93の内指定されたりンiス対応の線が°l°となる。
線t480〜t487のいずれかが@Omになると、デ
コーダb450〜b457の内の対応するものがデコー
ド有効でなくなるので、線t480〜1487の“l”
、“0”が対応する信号線t490〜t493へ°1”
、’0”として伝達されることになる。
なお、一度、レジスタr420〜r427にセットされ
たリソース番号種類が相互に異なるときは、線!480
〜1487の°1”信号をそれぞれ#1490〜149
3内の対応する線に同時に供給可能であシ、この同時供
給は最大4つのリソースに対して行いうる。これにより
4つのりンースの並列動作を可能にする。
なお、第11図のG−8変換回路b403は、第14図
の信号l/M1449を線t459により置換し、線1
490〜1497をそれぞれ線t500〜1507によ
シ置換すれば得られる。なお、第14図には、この置換
後の信号線番号を置換すべき信号線の番号の後にカッコ
をつけて示しである。
0) ベクトルレジスタ制御回路 第15図は、ベクトルレジスタ制御回路b410の詳細
を示したものである。他のベクトルレジスタ制御回路1
〜7も全く同一構造で、この図の線1400.1410
,1420,1430.t460.1480がこれらの
信号線番号の後のカッコ内に記載しである線号線に置換
することにより得られる。この制御回路では、書込み又
は続出しのみの動作と、チェイニング動作(書込み、続
出しの同時動作)の3動作を行なう。
(a)  書込みのみの動作 ベクトルレジスタ0への書込みの起動指示が命令起動制
御回路b4oo (第14図)により線t410を介し
て伝えられると、書込み中を示すクリップフロップf4
20がセットされ、アップ/ダウンカウンタ(以下U/
Dカウンタ)C400がクリアされる。U/Dカウンタ
C400は、U、D端子の入力に対して次のような出力
を供給する。
入力   出 力 UD     (カウンタの内容) o    O蕎らず 0  1    −1される l   O+1される 1   l     変らず 縁1420を介してS−a変換回路b401よりデータ
有効信号が入力されると、この信号は、フリップフロッ
プf420の出力°1”Kよシ開かれているアントゲ−
)g420を経て、U/DカウンタC400のU端子に
入力され、カウンタの内容を+1するとともに、そのま
まベクトルレジスタデータユニットU41(第1θ図)
に送出される。S−G変換回路b401から線t430
により、最終ベクトルデータ信号がつたえられると、こ
の信号はフリップフロッグf420をリセットし、書込
み中の状態を停止するとともに、直接線t430を介し
て命令制御ユニットU3(第1図)にも送出され、RG
SW、r306 (第3図)内の書込み用ヘクトルレジ
スタ番号(たとえばj)に対応するビット(Wj )を
リセットする。なお、線t430を他のベクトルレジス
タ制御回路1〜7の対応する出力線2431−t437
と一緒に束ねたものが第1図の線415である。
Φ)絖出しのみの動作 ベクトルレジスタ0の書込み動作が起動されていない状
態で、このベクトルレジスタのm出しの起動指示が命令
起動制御回路b400(第11図)より線t400を介
して伝えられると、読出し中を示すフリップフロップf
421がセントされる。フリップフロッグf420はリ
セットされた状態にあるので、その出力を反転ゲートg
451、オアゲートg452を介して入力され、またフ
リップフロップf421の出力が入力される。アントゲ
−)g453の出力線1480は°l”となる。練t4
80は続出し可能信号として、G−8変換回路b402
(第11図)に供給される。したがって、命令制御二二
ツ)U3に関して説明したように、ある命令においてベ
クトルレジスタが読出し用に使用されているときには、
このベクトルレジスタを書込み用に用いる後続の命令は
この読出しが終わるまで起動されない。したがって、フ
リップフロップf420は、この読出しが終了するまで
セットされることはないので、線t480にはフリップ
フロッグf421がリセットされるまで絖出し可能信号
が送出されつづけることになる。こうして、ベクトルレ
ジスタ0の全要素の読出しが終了すると、91460を
介してS−G変換回路b404から最終ベクトルデータ
信号が入力され、この信号によりフリップフロップf4
21がリセットされる。
なお、栂1460は、他のベクトルレジスタ制御回路b
411〜b417内の対応する信号線t461〜t46
7と一緒にして、線116として、命令制御ユニットU
3内のRGSW。
r306 (第3図)に送られ、ベクトルレジスタ0の
絖出しが終了したことを知らせ、このレジスタのビット
ROを0にリセットするのに用いられる。
(C)  チェイニング動作 チェイニング動作は、あるベクトルレジスタ式対しては
じめにある命令のために書込み動作が指示され、その動
作が終了する前に他の命令のために読出し動作が指示さ
れたときに生ずる。
書込み動作が指示されても、データ有効信号と書込みデ
ータがリソースから到着しないと、実際にはベクトルレ
ジスタには書込みがおこなわれないが、このデータ有効
信号の到着と、続出し動作の指示の時間的関係はどうで
もよい。
(C−1)たとえば、書込み動作が線1410により指
示され、フリップフロップf420がセットされ、U/
Dカウンタ0400がリセットされた後、#1420か
らのデータ有効信号の到層前に、絖出し動作が線140
0により指示され、フリップフロップ5421がセット
されると、U/DカウンタC400の出力に接続されて
りるカウンタの内容が1以上になっていることを検出す
る正検出回路b460の出力は°0°であり、反転ゲー
トg、451の出力も0”なので、アンドゲートg45
3の出力f#JHt480も“01のままである。ここ
で、あるマシンサイクルnにおいて線t420にデータ
有効信号がくると、アンドゲートg450を経て、U/
DカウンタC400に、この信号が入リ、このマシンサ
イクルnにおいて、U/DカウンタC400の内容は+
1になる。すると、正検出回路b460の出力が”l゛
となシ、オアゲートg452、アントゲ−)g453を
経1、kt480にベクトルレジスタ続出し可能信号が
出力される。線t480は、U/DカウンタC400の
D端子に接続されておシ、マシンサイクル(n+1)に
おいて次のデータ有効信号が@1420から入って乙な
いときには、マシンサイクル(n+1.)以降ではカウ
ンタC400の値は0に戻る。したがって、続出し可能
信号は#Ilt 480に1回のみ出力されることにな
る。その後も、データ有効信号が間けつ的に入力される
場合に拡、その都度続出し可能信号@1480に出力さ
れる。一方、マシンブイクー(・+1)以降もデータ有
効信譬が連続して入力されると、U端子とD端子に1”
が1111 人力されるのでカウンタC400の値は変化せず°l°
のままとなり、線t480には続けて°1°が出力され
ることになる。
(C−2)  書込み動作が線1410により指示され
、フリップフロップf420がセットされ、U/Dカウ
ンタC400がリセットされた後、データ有効信号が複
数マシンサイクルにわたり到着して、その都度U/Dカ
ウンタC400がカウントアンプされて、0でない値を
表示している状態で、マシンサイクルnにおいて読出し
起動によシフリップフロップf421がセットされると
仮定する。U/DカウンタC400の出力に接続されて
いる正検出回路b460の出力は“l”となっているの
で、ベクトルレジスタ続出し可能信号が線t480に出
力される。
線t480がU/DカウンタC400のD端子に入力さ
れているので、線t420からデータ有効信号が次のマ
シンサイクル(n+1>におい、いヵよ、、、Tニー、
轟、いカケゎゎイ値は変らない。U/DカウンタC4,
00の内容が0になるまで、上記動作が繰返し行なわれ
る。
読出し起動後あるマシンサイクルまでの間に線t480
に出力される続出し可能信号の数は、フリップフロップ
f421がセットされる前のU/DカウンタC400の
内容と、その彼Ht420から入力されたデータ有効信
号の数の和となる。このように、(C−1)、  (C
−2)のいずれの場合においてもベクトルレジスタに書
込まれたベクトル要素数をこえては絖出しがなされない
ように保証される。なお、U/DカウンタC400の内
容は、ベクトルレジスタに誓込んだベクトル要素数とそ
こから読出しベクトル要素数の差分を表視していると考
えることができる。
チェイニング動作中に1込みが完了して、フリップフロ
ップf420がリセットされると、U/Dカウンタの内
容は意味をもたなくなり、(b)の胱出しのみの動作と
同等となる。
&il)  オペランド制御回路 第16図は、オペランド制御回路0.b420の詳細を
示したものである。他のオペランド制御回路1〜3の構
成も同じで、この図の信号線番号を、その後のカッコ内
に記した信号線番号に変更すればよい。
命令起動制御回路b400から起動信号が線1440を
介して出されると、セレクタ5410にて、線t469
上の処理ベクトル長(VL)(必ず1以上であると仮定
する)が選択され、ベクトル長カウンタ(VLCTR)
C403にセットされる。また、°この起動信号により
U/Dカウンタc401.c402の内容がクリアされ
る。さらに、フリップフロップf431がセットされて
、本オペランド制御回路0の処理が有効になったことを
記憶する。オペランド制御回路0に対応するメモリ・リ
クエスタ0を必要とする命令が一つのベクトルレジスタ
の読出ししか必要としない場合(ここでは命令のR3フ
ィールドがベクトルレジスタの読出しを指定しないと仮
定する)はそれを指示する信号が命令起動制御回路b4
00から線t450を介して伝えられて、フリップフロ
ップとする命令のR2,R3フィールドともベクトルレ
ジスタの絖出しを指定している場合について説明する。
この場合には、フリップフロッグf430は“Ooであ
る。籾1490.t500はそれぞFLCx−8im回
Mb402.b403からべ/)”レジxfirrtt
出し許可信号をそれぞれカウンタc401.c402の
U端子に入力する信号線で、この信号の入力のされ方に
は、いろいろのケースがある。
各マシンサイクルごとにこれらのケースに応シた動作が
なされる。ここでカウンタ0401.C402は、カウ
ンタC400(第15図)と同じもので、正検出回路b
461.b462は正検出回路b460 (第15図)
と同じものである。
(a)  両方とも入力されないケースこのケースはさ
らに、次の4つのケースがある。
(a−1)  U/l)カウンタC401,C402の
いずれも0のとき、 (a−2)  U/[)カウンタC401(7)み正の
とき、 (a−3)  U/DカウンタC402のみ正のと(a
−4)  U/DカウンタC401,C402のいずれ
も正のとき、 (a−1)〜(a−3)のケース これらのケースでは、アンドゲートg461〜g464
のいずれの出力も“11とはならす、何らの出力も出さ
れない。
(a−4)のケース このケースはすでに、線t490. t500を介して
ベクトルレジスタ続出し許可信号が送られた後に生じる
。このときには正検出回路b461゜b462の出力が
“loになり前者は直接に、後者はオアゲートg460
を経てアンドゲートg464に入力される。このアント
ゲ−)g464の出力°l”は、オアグー)g465を
経て、アンドゲートg466に入力される。アンドゲー
トg466には、クリップフロップf431の出力°1
”が入力されている。また、アンドゲートg466には
@1630. t631が入力されているが、これにつ
いては後述する。ここではいずれも“1”であるとする
。アンドゲートg466の出力#Mt520にベクトル
データ送出信号が出される。出力線t520は、U/D
カウンタC401゜C402のD端子に一人力され、カ
ウンタの内容が1だけ減少される。
また、出力線t520は、VLCTR,C403のセッ
ト信号として入力され、カウンタの値をまたけ減する。
すなわち、VLCTR,C403の出力が−l減算回路
b463に接続されて−1された値がセレクタ5410
に入力されている。このときもはやセレクタ5410の
制御端子には、線t440を介して命令起動信号がきて
いないので一1減算回路b463の出力が選択され、V
LCTR。
C403にセットされる。この次の回路動作は、U/D
カウンタC401,C402の内容に応じて、また、線
1490. t50Gからのベクトルレジスタ続出し許
可信号の入力状況に応じて異なる。
なお、ベクトルデータ送出信号が線t520に出力され
た場合、1検出回路b464により、VLCTR,C4
03の、l減じる前の元の内容が°l”であることが検
出されると、その信号はアンドゲートg467にてベク
トルデータ送出信号とアンドがとられた後、最終ベクト
ルデータ信号として、線tsxoに乗せられる。また、
この線1510上の信号によって、クリップフロップf
431.f430をリセットする。
Φ)線t490の方のみ入力されるケース又は(C) 
 線t500の方のみ入力されるケースいずれのケース
も動作は同様であるので、ここではΦ)のケースについ
て説明する。このケースでは、さらに、次の三つのケー
スがある。
(b−1)  U/DカウンタC402が00′のとき
、 (b−2)  U/DカウンタC402が°l“のとき
、 (b−1)のケース このときには、正検出回路b462の出力は10“であ
るので、アントゲ−) g 4.61〜g464のいず
れも出力は@l”とならず、従ってオアグー)g465
の出力、アンドゲートg466の出力も“0”でU/D
カウンタC401゜C402のD端子入力は“Omのま
まである。ベクトルデータ送出信号は線t520には出
力されない。U/DカウンタC401のU端子には、線
t490からベクトルレジスタ続出し許可信号が入力さ
れているので、U/DカウンタC401は+1される。
(b−2)のケース このときには、正検出回路b462の出力は°l”であ
るので、アンドゲートg462の出力が“11となり、
オアゲートg465、アンドゲートg466を経て、ベ
クトルデータ送出信号が線ts2oに送られる。VLC
TRC403、フリップフロップf430.f431の
リセット等の動作は(a−4)のケースと同一であるの
で、ここでは省略する。線1520が°1″となるので
、U/DカウンタC401,C402のD端子はいずれ
も“1”となる。U/DカウンタC401のU端子には
°1“が入力されているので、カウンタの内容は変らな
い。U/bカウンタC402のU端子には、”0”が入
力されているので、カウンタの内容は−1される。
(d)  線1490.1500のいずれも同時に入力
されるケース このケースはさらに次の4つのケースに分けられる。
(d−1)  U/Dカウンタc401.C402がい
ずれも0のとき、 (d−2)  U/DカウンタC401のみ正のとき、 (d−3)  U/DカウンタC402のみ正のとき、 (d−4)  U/Dカウンタc401.C402がい
ずれ4正のとき、 (d−1)のケース このケースでは、線1490. t500上のベークト
ルレジスタ続出し許可信号によシアノドゲートg461
の出力信号が°1°となシ、この結果ベクトルデータ送
出信号が線t520に出力される。U/DカウンタC4
01,C402のU端子は@11であシ、D端子も線t
520上の°l”が入力されるのでカウンタの内容はか
わらない。
VLCTR,C403の制御等の動作は(a−4)のケ
ースの説明と同一である。
(d−2)、(d−3)のケース この両ケースでの動作は同様であるので、(d −2)
のケースについて述べる。
(d−2)のケースでは、U/DカウンタC401のみ
内容が正であるから、正検出器b461の出力が1”と
なり、アントゲ−)g461およびg463の出力が°
11となる。従ってオアグー)g465.アントゲ−)
g466を経て、線t520に、ベクトルデータ送出信
号が送出されることになる。VLCTR,C403等の
制御は、(a−4)のケースと同一なので、説明は省略
する。U/DカウンタC401,C402+7)内容は
、(d−1)のケースでの動作と同様なので変化しない
(d−4)のケース このケースでは、U/DカウンタC401゜C402の
内容は正であるから、正検出回路b461.b462の
出力が°1“となり、アンドゲートg461〜g464
のすべての出力が   。
°l°となる。以下の動作は(d−2)のケース  ゛
と同様で、ベクトルデータ送出信号が線1520に送出
される。U/DカウンタC401、C402の内容は同
様に変化しない。
以上の動作の説明かられかるように、U/DカウンタC
401,C402は2つのオペランド(ベクトルデータ
)の送出に関し同期をとる役割を果たす。一方のみしか
ベクトルレジスタ続出し許可信号がとないときには、そ
れをカウンタに記憶しくカウンタを+1する)、それを
取り出すとカウンタを−エしていく。ベクトルレジスタ
読出し許可信号が同時に到着したときにはカウンタの内
容は変化しない。
次に、オペランドを一方しか使用しない場合について説
明する。この場合には、オペランド制御回路の起動時に
、オペランドを一方しか使用しないことを示すフリップ
フロップf430がセットされる。この出力は、正検出
回路b462の出力に接続されるオアグー)g460の
もう一方の入力端子に入力され、オアゲートg460の
出力をU/DカウンタC402の内容の如何にかかわら
ず°1°としてしまう。こうすると、線1490から入
力されるベクトルレジスタ読出し許可信号のみによって
、先と同様に、ベクトルデータ送出信号が作成される。
なお、第16図中に示した線t630は、ベクトルデー
タ送出信号の送出を許可する信号で必要に応じて用いる
ものである。(本発明においてはとくに必要とはしない
)。これは、たとえば、演算器に対し、一定間隔以上は
なしてベクトルデータ(従ってデータ有効信号ンを送出
したいとき(たとえば演算器が連続してデータを受取る
ことができないとき)に使用される。この場合には、こ
の許可信号はオペランド制御回路内で作成される。たと
えば、データ有効信号によってリセットされ、データ有
効信号から一定時間後にセットされるフリップフロップ
の出力づ;この許可信号となる。また、メモリ・リクエ
スタに送出するベクトルデータを一時停止するとき(主
記憶格納がまたされるとき)などにも使用される。この
場合には、この許可信号は主記憶制御ユニツ)Ul(第
5図参照)、ま喪はメモリ・リクエスタにて作成される
。線1630にて、ベクトルデータ送出が不許可のとき
、@1490,1500から入力されるヘクトルレジス
タ続出し許可信号はU/Dカウン  。
りC401,、C402に入力されてカウンタが更新さ
れる。線t630から許可信号が入力されると、線7.
4’90.t500から信号の入力がなくても、U/D
カウンタc401.c402の内容が正であるため、ア
ンドゲートg464の出力が111となって、ベクトル
データ送出信号がat520に出されることになる。同
時に、U/DカウンタC401,C402は−1される
また、タイミング制御回路b465はベクトルデータ送
出信号の送出タイミングを制御する回路である。第18
図の説明にて詳述するように1ベクトルレジスタに対し
続出し書込みをみがけ上回時に行なうために各ベクトル
レジスタを二つのメモリ素子にて構成し、各メモリ素子
に対して読出し書込みを交互に行なう。すなわち、ある
メモリ素子に書込みを行なうときには、もう一方のメモ
リ素子は続出しを、次のサイクルにはその逆を行なうと
いうように制御する。従って、書込みを行なっているメ
モリ素子に対しては同時に読出しを行なうことはできな
いので、そのサイクルは読出しを待たせ、次のサイクル
にて胱出すように制御する必要がある。このために、ぺ
、クトルデータ送出信号の送出を一旦またせるように制
御する。この役割を相当するのがタイミング制御回路b
465で、次のサイクルでは、ベクトルデータ送出信号
を送出してはならないと判断されると、タイミング制御
回路b465は出力4[[631を°0”としてアント
ゲ−)g466の出力を抑止する。
具体的には、タイミング制御回路b465は、次のよう
な動作をする。すなわち、あるマシンサイクルニベクト
ルデータ送出信号が入力されると、次のマシンサイクル
、その2サイクル、4サイクル・・・・・・後のマシン
サイクルに11”を出力する。
1サイクル、3サイクル・・・・・・後のマシンサイク
ルには°0°を出力する。このタイミングを第17′図
に示す。連続してベクトルデータ送出信号が入力される
と、次のマシンサイクルは@11が出力されることから
、タイミング制御回路b465から連続して“1“が出
力されることに注意されたい。
本実施例においては、オペランド制御回路は、2つのベ
クトルレジスタの読出し可能信号を入力した場合につい
て述べているが、3つ以上のベクトルレジスタの続出し
可能信号を入力して、ベクトルデータ送出信号を作成す
ることも同様に容易に実現できる。
(Vl  ベクトルレジスタデータユニット第18図に
おいて、8個のベクトルレジスタの各々はそれぞれベク
トルレジスタ回路b470〜b477中にある各ベクト
ルレジスタは、その容量が大きいために、メモリ素子に
て構成される。
メモリ素子は、アドレスを与えて、その個所にデータを
書込みか、または、その個所のデータを読出すが、同時
に異なるアドレスについて続出し、書込みを行なうこと
はできない。チェイニング動作を実視するには、あるベ
クトル要素を帯込み、同時に他のベクトルデータを読出
す必要があるので、本実施例では、1つのベクトルレジ
スタに対し2つのメモリ素子m400.m401にて−
っのベクトルレジスタを構成し、これらに対して交互に
続出しと書込みを行なう。こうすると異なるアドレスに
対し同時に続出しと書込みを行うことができる。
ベクトル要素の番号付けは偶数番目のベクトル要素と、
奇数番目のベクトル要素がそれぞれ同一のメモリ素子に
なるように配置されるとする。
以下に動作の詳細を説明する。ここではベクトルレジス
タ0に対する書込+および続出しについて説明するが、
他のベクトルレジスタへの動作についてもまったく同様
である。
命令が起動されると、ベクトルレジスタ制御ユニットU
40中の命令起動制御回路b400(第12図)より、
S−a変換回路b480.G−8変換回路b481.b
482にリソース種類、番号が線1429を介して、書
込みベクトルレジスタ番号が@1439を介して、読出
しベクトルレジスタ番号(2つオペランドがあるので双
方の番号)が線1449.1459を介して、以上のセ
ット信号が線1419を介して送られてきて、S−G変
換回路b480、G−8変換回路b481゜b482中
にセントされる。8−G/G−8変換回路b480.b
481.b482は第13図、第14図にて説明したも
のと同一である。
ベクトルレジスタ0への書込みは、次のよ5に動作する
。まず、ベクトルレジスタ0への書込み開始を指示する
信号が、@14Noを介して命令起動制御回路b400
より送出されてくる。この信号によって書込み、アドレ
スカウンタC411を0にクリアする。書込みアドレス
カウンタC411の出力は、セレクタ8420.842
1に入力される。セレクタ8420.8421の他の入
力は続出しアドレスカウンタC410の出力であシ、コ
h I、(2)セレクタの制御端子にはそれぞれタイミ
ング制御回路b482の出力およびそれを反転ゲートg
480で反転した出力が入力される。タイミング制御回
路b482は、1マシンサイクルごとに出されるクロッ
クをトリガタイプフリップフロップ(図示せず)にて受
信するように構成されており、lマシンサイクルごとに
”0”と°1″を交互に出力する。従って、タイミング
制御回路b482は、これらのセレクタを、セレクタ8
420にて、絖込みアドレスカウンタC41017)出
力を選択するときには、セレクタ8421では、書込み
アドレスカウンタC411の出力を導抗し、次のマシン
サイクルでは、その逆を選択するように制御する。セレ
クタ8420の出力がメモリ素子m400のアドレスと
して、セレクタ$421の出力がメモリ素子m401の
アドレスとして与えられる。さて、演算器0.1または
メモリ・リクエスタ0.1から線145.145’ 、
 129゜129′を介して書込みデータが8−G変換
回路b480に到着すると、このデータは線t429で
指定されたリソースから線1439で指定されたベクト
ルレジスタに対応するベクトルレジスタ回路b470〜
b477のいずれかに入力される。
ここでは、ベクトルレジスタ0に書込むとしているので
、回路b470に入力される。書込みデータは、回路b
470の入口に設けられたレジスタVRIRE、r43
0.VRIRO,r440にVRIR入力制御回路b4
84の指示により、交互にセットされる。VRIR入力
制御回路b484には、データ有効信号t420が入力
され、データ有効信号の偶数番目、奇数番目ごとにそれ
ぞれVRIRE、r430.VRIRO,r440にそ
れぞれデータをセットするように制御する。書込みを行
なうべきサイクルが2つのメモリ素子m400゜m40
1に交互に割当てられており(詳細後述)、任意のサイ
クルに、任意のベクトル要素に書込みを行なうことはで
きず、1サイクル待たされることがあシ、このときに、
同じベクトルレジスタ回路b470に次の誓込みデータ
が到着することがあるので、2つのレジスタVRIRE
、VRIROを設け、相続く二つの書込みデータを異な
るメモリ素子m400.m401に書込めるようにした
書込みの指示は、ベクトルレジスタ制御回路0、(第1
4図)から線1420を介して入力されるデータ有効信
号によりなされる。この信号は、書込みタイミング制御
回路b483に入力される。
回路b483は偶数番目/奇数番目の讐込み指示に従っ
て2マシンサイクル間保持した信号第19図に示すよう
なタイミングで2本出力し、この出力はそれぞれアント
ゲ−)g481.g482に入力される。一方、これら
のアンドゲートには、タイミング制御回路b482の出
力、およびそれを反転グー)g480で反転させた出力
が入力され、その出力がそれぞれメモリ素子m4QQ。
m401の書込み有効信号となる。書込みアドレスカウ
ンタC411は次のアドレスをさすように+1回回路4
81を経て+1される。この制御はアンドゲートg48
1.g482の出力をオアゲ−)g48でオアした出力
により行なわれる。なお、書込みはメモリ素子m400
.m401に交互に書いていくので、書込みアドレスカ
ウンタC411は、メモリ素子m400.m401の双
方に書込んだ後に+1すればよいことになるが、ここで
は、書込みアドレスカウンタの下1ビットを無視した値
を書込みアドレスとして、セレクタ5420,5421
に入力させる。これは、絖出しアドレスカウンタC41
0についても同様である。以上述べたように、ベクトル
要素はメモリ素子m400.m401に交互に書込まれ
ていく。
以上の動作のタイムチャートにして第19図に示す。
ベクトルレジスタ0からの読出しは、次のように動作す
る。最初に、ミクトルレジスタ0からの読出し開始を指
示する信号が、線1400を介して命令起動制御回路b
400より送出されてくる。
この信号によって、読出しアドレスカウンタC410を
クリアする。最初は、読出しアドレスカウンタC410
は0にクリアされているので、セレクタ5420,54
21を経て、アドレスがメモリ素子m400.m401
に与えられ、0番地のデータが続出されて、セレクタ5
422に入力される。セレクタ$422の制御端子には
、タイミング制御回路b482の出力を反転ゲートg4
80で反転した出力が入力され、いずれのメモリ素子か
ら続出されたデータを選択するかが指示されてメモリm
400のよみ出しブイクルには一メモリm400の出力
を、次のサイクルにはメモリm401の出力とを交互に
選択するように制御される。これによって選択されたデ
ータは、レジスタ(VROR)r450にて−Hセット
された後、G−8変換回路b481.b482により、
リソース対応のデータに変換され、たとえば演算器0へ
の被演算数のデータならば、線141によって、演算器
0へ送出される。メモリ・リクエスタへのデータ(主記
憶への格納データ)は1つでよいのでG−8変換回路を
1つ使用すればよい。ここでは回路b481にて、G−
8変換を行なうようにしている。ベクトルデータのうち
lべ、クトル要素を送出するごとに、ベクトルレジスタ
制御二二ツ)040jl、ベクトルレジスタの続出しア
ドレスカウンタC410の更新信号が、線1470を介
して送出される。これによって、続出しアドレスカウン
タC410が1ずつ更新される。更新は、カウンタC4
10の出力を+1加算回路b480を経てカウンタC4
10の入力に戻すことによって行なう。
以上述べてきたように、ベクトルレジスタユニットでは
、リソースに供給するベクトルデータの続出し、および
リソースから送出されてくるベクトルデータの格納を行
なう。ここで、リソースに供給するデータは、演算には
2つ必要なので、2つのベクトルデータを揃えてから送
出しなけ昨ばならない。しかも、チェイニング動作によ
って、各ベクトルレジスタに不等間隔で格納される任意
の2つのベクトルレジスタ上のベクトル要素について、
2つともデータが揃ったことを確認した上で、読出す必
要がある。このために、ベクトルレジスタの各々が、読
出し可能か否かを検出する回路ト、リソース対応に、2
つのデータが続出し可能を検出する回路を設け、読出し
可能のときはじめて、ベクトルレジスタからデータを読
出す(実際には、すでにデータが読出されており、次の
続出しのために1続出しアドレスカウンタを更新する)
■ メモリ・リクエスタ メモリ・リクエスタ0の回路の詳細を第20図に示す。
メモリ・リクエスタの動作は、命令起動時の初期化動作
、主記憶からの読出し動作、主記憶への格納動作の3つ
に分けられる。
(:)命令起動時の初期化動作 嬉20図において、命令制御ユニッ)U3により、l1
liIllOを介して命令起動信号が、線t13を介し
て、リソース種類、番号が線111を介して、命令コー
ドが、線11.2を介してレジスタ番号が、線t14を
介して、処理ベクトル長が送られてくる。mtls上の
り:イース種類、番号は、デコーダb100でデコード
され、自メモリ・リクエスタであることが指定されてい
ると、デコーダb100より“1′が出力され、線t1
0上の命令起動信号とともに、アントゲ−)gloOに
入力され、その出力線1100に”l”が出力される。
線t100はフリップフロッグflooに入力されてフ
リップフロップをセットするとともに、レジスタMIR
,r 10G、MGR,rlolのセット端子に入力さ
れて、それぞれ、命令コード、およびレジスタ番号をM
IR,MGRにセットする。また1t100はセレクタ
8103の制御端子に入力されて、線t14上の処理ベ
クトル長を選択し、処理ベクトル長カウンタ(MVLC
TR)。
C100に処理ベクトル長をセットする。
MVLCTR,C100のセット端子にも、線t100
が接続されている。以上で初期化動作を終了する。
(−)主記憶からの続出し動作 主記憶からの読出し動作であることは、命令コードがセ
ットされているMIR,rlooの出力をデコーダb1
01でデコードすることによって知る。デコーダb10
1の出力線120は主記憶制御ユニツ)Ul (第1図
参照)に送られて、読出しか、格納かの動作指定をする
とともに、セレクタ8104,8105,8106.8
107の制御端子に入力され、それぞれのセレクタの“
F″と記入されている側を選択する。なお、主記憶への
格納がMIR,rlooにて指定している場合には、セ
レクタの°S”と記入されている側を選択する。
ベクトルアドレスレジスタU5、およびベクトルアドレ
ス増分レジスタU6(第1図参照)の出力がそれぞれ4
[118,線t19を介してそれぞれセレクタ8100
.8101に入力されて、レジスタ番号がセットされて
いるMGR,rlolの出力により指定されたベクトル
アドレスレジスタU5、およびベクトルアドレス増分レ
ジスタU6の内容が選択され、さらに、ベクトルアドレ
スはセレクタ5102を経て作業用ベクトルアドレスレ
ジスタ(WVAR)r 110、オヨび、作業用ベクト
ルアドレス増分レジスタ(WVAIR)fillにセッ
トされる。両レジスタへのセットは、フリップフロップ
flooの出力Ht101により制御される。また、セ
レクタ5102の制御端子にもIvtlolが接続され
、セレクタ$100の出力を選択するように制御する。
ベクトルアドレスがWVAR,rllGにセットされる
と、線t21によυ、主記憶制御ユニツ)Ul(第1図
)に最初のベクトル要素アドレスが送られる。同時に、
MVLCTR,C100の出力に接続された非零検出回
路b104よ#)(処理ベクトル長として1以上がMV
LCTRにセットされているとすると)°l°が出力さ
れ、セレクタ8107を経て、線123により、アドレ
ス有効信号として、主記憶制御ユニットU1に送られる
。線t23はまた、MVLCTR,C100の制御端子
に入力されて、MVLCTR,C100(7)内容を一
1スル。1減じた値は、MVLCTR,C100(7)
出力に接続された、1減算回路b103により作成され
、セレクタ5103を経て、MVLCTR。
rlooに入力される。さらに、線t23は、WVAR
,r 110の制御端子にも入力され、WVAR,rl
loと、WVAIR,fill の内容を加算器b10
2で加算した結果を、セレクタ5102を経て再びWV
AR,r l 10にセ7卜するように制御する。これ
によって、次のベクトル要素アドレスがWVAR,r 
110にセットされたことになる。これを次々と繰返し
て、ベクトルアドレスを求めては、アドレス有効信号C
llAt23)とと本に、主記憶制御ユニツ)Ulに線
t21を介して送出し、主記憶の続出し動作が行なわれ
る。
主記憶での続出し動作が完了すると、主記憶制御ユニッ
トUlよシ8124を介して続出しデータが、線t25
を介して、データ有効信号が返される。#t24上の絖
出しデータは、セレクタ8105を経てデータレジスタ
DR,r120に入力され、線125がセレクタ810
4を経て、DR,r120のセット端子に入力されて、
続出しデータが% DRI r120にセットされ、そ
の出力が線129を介して、ベクトルレジスタデータユ
ニット041(第10図)に送られる。また、1At2
5上のデータ有効信号はフリップフロップ、f102に
−Hセットされ、線t30により、ベクトルレジスタ制
御ユニット[J40に送られる。
MVLCTR,C100がlRKさFL−Cいき、内容
が“1”になると、!検出回路b105によって、最終
ベクトル要素であることが検出され、゛線t32によっ
て、最終ベクトルデータ信号が、主記憶制御ユニットU
1にベクトルアドレス(1wt21)、アドレス有効信
号(線t23)とともに送出され、線t33によって、
読出しデータと同期し環戻される。線t33上の最終ベ
クトルデータ信号は、フリップフロップf103にて−
Hセットされ、セレクタ8106を経て、ll1lt2
6によシ、ベクトルレジスタ制御ユニットU4(第10
図)に送られる。MVLCTR,cloo o内容は、
1減算回路b103を経て°0”になると、非零検出回
路b104は°0°を出力し、アドレス有効信号の送出
が停止される。以上で、ベクトルデータの続出し動作が
終了する。
(Ml)  ベクトルデータの格納動作ベクトルデータ
の格納においては、まず、格納であることを指定する信
号が、線t20を介して主記憶制御ユニットU1に送ら
れる。この信号はMIR,1100の内容をデコーダb
101でデコードすることにより作成される。格納すべ
きデータの主記憶アドレスの送出は、続出し動作とまっ
たく則しである。すなわち、ベクトルアドレスレジスタ
およびベクトルアドレス増分レジスタ中の指定された1
つがセレクタ8100.8101により選択されて、そ
れぞれWVAR,rllO。
WVAIR,r120  Kセフ 1.Jれる。WVA
R。
1110の出力線t21によシ主記憶制御ユニツ)Ul
にベクトルアドレスが送られることも続出し動作と同様
である。
格納されるデータは、線127によシ、データ有効信号
(線12B上)とともにベクトルレジスタユニットU4
より送られてくる。ベクトルデータはセレクタ5105
を経て% DL  r120にセットされる。DR,r
120へのセットの制御は、@12B上のデータ有効信
号をセレクタ8105を経てDR,r12Gのセット端
子に入力することによシ行なう。線1273上のデータ
有効信号はまた、フリップフロップ、flolにも入力
され、一旦セットされた後、その出力は、セレクタ51
07を経て、1ljt23によりDR,r120上の格
納すべきベクトルデータとともに主記憶制御ユニツ)U
lへおくられる。これによって、主記憶制御ユニットは
、主記憶への書込み動作を行なう。@123上のアドレ
ス有効信号は、WvAR。
rlloのセット端子に入力されて、WVAR。
rlloの更新に使用されることは続出し動作と同様で
ある。以上のようにして、ベクトルレジスタユニットか
ら格納すべきデータとデータ有効信号が送られてくるた
びに、そのアドレスを付して主記憶制御ユニットへ送出
すると同時に、WVAR。
rlloを更新して、次のベクトルデータの格納にそな
える。これを、ベクトルレジスタユニットからデータが
送られてくる限シ繰返し行なう。
なお、格納動作においては、MVLCTR。
C100は、胱出し動作と同様に動作はするが、意味は
もたない。最終ベクトルデータ信号が線l32により主
記憶制御ユニットにおくられても、格納動作時は無視さ
れる。
■ 演算器 第21図は、演算器0の概略を示したものである。演算
器lも同一構造である。本実施例においては、演算回路
b210〜b213はすでに公知のごとく、各々への入
力に対する部分演算を演算制御回路b201〜b204
の制御の下で行なうものである。ここで、パイプライン
演算は4つのステージに分けて実行されると仮定してい
るが、このステージ数に%に制限はない。又、演算器0
゜lは命令で指定される各種の演算を行いうるものとす
る。本実施例においては、入力オペランドとしてベクト
ルデータ、およびそのデータ有効信号が入力されると、
パイプライン・ステージによって演算され、結果のベク
トルデータと、データ有効信号が同期して出力され□る
こと、最終ベクトルデータ信号が入力されたときには、
この信号もデータ有効信号と同期して出力されることが
特長である。
動作の概略を以下に説明する。
命令制御ユニツ)U3より線t10を介して命令起動信
号がアントゲ−)g2GGに入力され、線113を介し
てリソース種類、番号がデコーダb200に入力され、
llMtllを介して命令コードがレジスタr200に
入力される。デコーダb200の出力は、それへの入力
が自演算器に対する本のであるときに、°1°となシ、
アンドゲートg200を介しテレジスタAIR,r2G
Gに線t11上の命令コードのセットを指示する。
AIR,r2ooo出力は、演算制御回路b201〜b
204に入力されて、各ステージにおける演算回路b2
10〜b213の動作を制御する。
一方、ベクトルレジスタユニットから、演算すべきベク
トルデータが線141,142により、データ有効信号
が線t43により送出されてくると、ベクトルデータは
レジスタr210.r220に、データ有効信号はフリ
ップフロップf200にセットされる。データ有効信号
<143)は、レジスタr210.r220へのセット
信号としても使用される。レジスタr210,1220
上の内容は、演算回路b210にて演算されて、次のサ
イクルにはレジスタr211.r221に中間結果がセ
ットされる。レジスタへのセットはフリップフロップf
200の出力が使用され、この出力はまたフリップフロ
ップf210に伝えられる。同様に、レジスタr211
.r212の出力は、演算回路b211に入力されて演
算を行ない、次のブイクルには、レジスタr212.r
222に中間結果がセットさ、れる。これと同期して、
フリップフロップf201の出力は、フリップフロップ
f202に移される。以下、これを繰返して、演算回路
b212、レジスタr 213、演算回路b213とデ
ータが移動するとともに演算が進行し、最終結果がレジ
スタr214にセットされる。
データ鳴動信号もフリップフロップf202からフリッ
プフロップf 203、フリップフロップf204と移
される。演算結果と、そのデータが有効であることを示
すデータ有効信号は、それぞFL、線145と線t46
により、ベクトルレジスタユニットに戻される。
演算すべきデータがレジスタr 210 、 r22G
から、レジスタr211.r221に移されると、次の
演算すべきデータがレジスタr210゜r220にセッ
トされることは、一般のパイプライン演算器と同様であ
る。
最終ベクトルデータ信号が線140により、フリップフ
ロップf210に入力されると、レジスタへのセットと
同様にして、フリップフロップf21Gにセットされる
。データ有効信号が、フリップフロップf200〜f2
04を移動するのと同期して、最終ベクトルデータ信号
がフリップフロップf210〜f214を移動し、線1
44に出力され、ベクトルレジスタユニツ)U4に戻さ
れる。
以上述べ是ように、本発明における演算器ではベクトル
データと、データ有効信号が同期して入力され、データ
有効信号がパイプラインステージを移動すると同期して
、データが演算され、結果^ がデータ有効信号と同期して出力されることが特長であ
る。最終ベクトルデータ信号についても同様である。
(5)  まとめ 以上HjtklJL、たごとく、本発明によれば、次の
ような、従来のベクトルプロセッサにはない機能が実埃
され、よシ性能の高いベクトルプロセッサを実埃するこ
とができる。
α)命令の起動時に、命令の実行に必要な演算器やメモ
リ・リクエスタ等のリソースとベクトルレジスタの空き
の況状のみをチェックすればよく、実行に必要なデータ
が揃っていることまでチェックする必要はないので、命
令起動制御を簡単に行なうことができる。
(2)  解読済みの命令を複数個保持できる命令キュ
ーを有し、演算器やメモリ・リクエスタの空きの状況に
応じて、論理的に矛盾することなく命令の実行順序を入
れかえて起動することができる回路を備えることにより
、演算器、メモリ・リクエスタの有効利用をはかること
ができる。
(3)毎サイクル、異なるアドレスに対する書込み、絖
出しが可能であるようにベクトルレジスタを構成し、ベ
クトルレジスタへの書込みが非連続であることを許し、
かつ書込みアドレスがいずれの位置にあっても、任意の
時点で続出しを開始し、ベクトル要素を書込みアドレス
を越えることなく読出していくことができるようなチェ
イニング動作が可能となる。
(4)演算器やメモリ・リクエスタにオペランドとして
ベクトルデータを供給するベクトルレジスタの読出しC
チェイニングを含む)において、必要とする全オペラン
ドのベクトルデータ間の各要素間の同期をとり、処理に
必要なベクトル要素をすべて揃えて演算器やメモリ・リ
クエスタに供給することができる。
【図面の簡単な説明】
第1図は、本発明によるベクトルプロセッサの概略構成
図、第2図は、本発明にて使用する各種レジスタの形式
を示す図、第3図は、命令制御ユニットの詳細を示す図
、第4図は、命令キューの詳細を示す図、第5図は、リ
ソース使用チェック回路の詳細を示す図、第6図(a)
は、レジスタ使用チェック(ロ)路の詳細を示す図、(
b)はチェック条件を示す図、第7図は、レジスタ競合
チェック回路の詳細を示す図、第8図は、命令制御ユニ
ットの変形例を示す図、#!9図は第8図のb394の
詳H7” o y / 図s K 10図は、ベクトル
レジスタユニットの構成を示す図、第11図は、ベクト
ルレジスタ制御ユニットの詳細図、第12図は、命令起
動制−回路の詳細を示す図、第13囚仇s−醸換回路の
詳細を示す図、第14図は、G−8変換回路の詳細を示
す図、第15図は、ベクトルレジスタ制御回路の詳細を
示す図、第16図は、オペランド制御回路の詳細を示す
図、第17図は第16図のタイミング制御回路の動作の
タイムチャート、第18図は、ベクトルレジスタデータ
ユニットの詳細を示す図、第19図Fi第18図の回路
のタイムチャート、第20図は、メモリ・リクエスタの
詳細を示す図、第21図は、演算器の詳細を示す蔦 1
5   図 第 16  図

Claims (1)

  1. 【特許請求の範囲】 1、主記憶と複数のレジスタ間のデータ転送を司さどる
    データ転送回路又は演算器のごとく、命令の指定するデ
    ータ処理の実行に関与する複数のリソース回路と、命令
    を順次解読し、該解読された命令を複数個保持する手段
    と、該リソース回路の各々の使用状況を記憶する第1の
    記憶手段と、該レジスタの各々の使用状況を記憶する第
    2の記憶手段と、該解読された命令の各々が必要とする
    レジスタとリソース回路の使用可能性を判断する手段と
    、該解読された各々の命令について、当該命令が必要と
    するレジスタとその使用組機および当該命令より先に解
    読され九命令が必要とするレジスタとその使用態様を比
    較し、当該命令を該先に解読された命令より先に実行す
    ることが許されるか否かを検出する手段と、骸判断手段
    と検出手段の出力に依存して該解読された命令の起動順
    序を制御する手段とを有するデータ処理装置。 2 読出しと書込みが並行して行える複数のベクトルレ
    ジスタと、複数の演算器と、該ベクトルレジスタの各々
    に対応して役けられ、各々が対応するベクトルレジスタ
    に対する先行命令による書込みアドレスを、当該ベクト
    ルレジスタに対する後読の命令による読出しアドレスが
    越えない範囲で該読出しアドレスの更新を行い、中断ご
    とに読出しデータとともにデータ有効信号を送出する複
    数の送出手段と、核複数の送出手段からの骸データと該
    データ有効信号を、核後読命令が使用する演算器に送出
    する手段と、該演算器の各々に対応して設けられ、当該
    演算器を使用する命令の実行に必要なすべてのベクトル
    レジスタから該データ有効信号が入力されたときに、そ
    れらのデータ有効信号とともに入力される核データにつ
    いて演算を行うとともに演算有効データを送出するごと
    く、当該演算器を制御する手段とを有するデータ処理装
    置。
JP56210392A 1981-12-28 1981-12-28 デ−タ処理装置 Granted JPS58114274A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP56210392A JPS58114274A (ja) 1981-12-28 1981-12-28 デ−タ処理装置
GB08236821A GB2113878B (en) 1981-12-28 1982-12-24 Vector processor
US06/453,094 US4617625A (en) 1981-12-28 1982-12-27 Vector processor
DE19823248215 DE3248215A1 (de) 1981-12-28 1982-12-27 Vektorprozessor
GB858510663A GB8510663D0 (en) 1981-12-28 1985-04-26 Vector processor
GB08516951A GB2159309B (en) 1981-12-28 1985-07-04 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56210392A JPS58114274A (ja) 1981-12-28 1981-12-28 デ−タ処理装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP200686A Division JPS61180370A (ja) 1986-01-10 1986-01-10 データ処理装置
JP22634187A Division JPS63100573A (ja) 1987-09-11 1987-09-11 データ処理装置
JP22634087A Division JPS63100572A (ja) 1987-09-11 1987-09-11 データ処理装置

Publications (2)

Publication Number Publication Date
JPS58114274A true JPS58114274A (ja) 1983-07-07
JPS6152512B2 JPS6152512B2 (ja) 1986-11-13

Family

ID=16588567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56210392A Granted JPS58114274A (ja) 1981-12-28 1981-12-28 デ−タ処理装置

Country Status (4)

Country Link
US (1) US4617625A (ja)
JP (1) JPS58114274A (ja)
DE (1) DE3248215A1 (ja)
GB (3) GB2113878B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61235985A (ja) * 1985-04-11 1986-10-21 Nec Corp ベクトルプロセツサ
JPS61267871A (ja) * 1984-12-07 1986-11-27 Nec Corp 情報処理装置
JPH01258068A (ja) * 1988-04-07 1989-10-16 Fujitsu Ltd ベクトル処理装置におけるリンケージ制御方式
DE3930313A1 (de) * 1988-09-14 1990-03-15 Hitachi Ltd Vektorprozessor
JPH06231094A (ja) * 1983-04-25 1994-08-19 Cray Res Inc ベクトル処理装置及びその制御方法

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4967343A (en) * 1983-05-18 1990-10-30 International Business Machines Corp. Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion
JPS6057467A (ja) * 1983-09-09 1985-04-03 Nec Corp ベクトルデ−タ処理装置
JPS6072069A (ja) * 1983-09-28 1985-04-24 Nec Corp ベクトル演算処理装置
US4800486A (en) * 1983-09-29 1989-01-24 Tandem Computers Incorporated Multiple data patch CPU architecture
JPS6077265A (ja) * 1983-10-05 1985-05-01 Hitachi Ltd ベクトル処理装置
EP0167959B1 (en) * 1984-07-02 1992-05-06 Nec Corporation Computer vector register processing
JPH0640337B2 (ja) * 1984-10-03 1994-05-25 株式会社日立製作所 パイプライン演算装置
US5081573A (en) * 1984-12-03 1992-01-14 Floating Point Systems, Inc. Parallel processing system
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
JPS61160176A (ja) * 1984-12-29 1986-07-19 Hitachi Ltd ベクトル処理装置
JPS61173345A (ja) * 1985-01-29 1986-08-05 Hitachi Ltd 計算機システム
JPH0766329B2 (ja) * 1985-06-14 1995-07-19 株式会社日立製作所 情報処理装置
EP0205193B1 (en) * 1985-06-17 1996-10-23 Nec Corporation Information processing system comprising a register renewal waiting control circuit with renewal register number registering means
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
US5036453A (en) * 1985-12-12 1991-07-30 Texas Instruments Incorporated Master/slave sequencing processor
JPS62159274A (ja) * 1986-01-08 1987-07-15 Hitachi Ltd 条件分岐の分割・複写によるベクトル化方式
DE3750055T2 (de) * 1986-06-12 1995-01-05 Ibm Ablauffolgesteuerung und zugehörige Methode in einer Befehlsverarbeitungseinheit, um diese Einheit in einen Freigabe-, Ausführungs-, Halte- oder Auflösezustand zu versetzen.
US5121488A (en) * 1986-06-12 1992-06-09 International Business Machines Corporation Sequence controller of an instruction processing unit for placing said unit in a ready, go, hold, or cancel state
US4974198A (en) * 1986-07-16 1990-11-27 Nec Corporation Vector processing system utilizing firm ware control to prevent delays during processing operations
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JP2679994B2 (ja) * 1987-08-14 1997-11-19 株式会社日立製作所 ベクトル処理装置
JP2602240B2 (ja) * 1987-08-28 1997-04-23 株式会社日立製作所 マルチプロセツサシステム
US5168573A (en) * 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US4980817A (en) * 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
JPS6462764A (en) * 1987-09-03 1989-03-09 Agency Ind Science Techn Vector computer
JP2810043B2 (ja) * 1987-11-13 1998-10-15 株式会社日立製作所 データ処理装置
US4949247A (en) * 1988-02-23 1990-08-14 Stellar Computer, Inc. System for transferring multiple vector data elements to and from vector memory in a single operation
US5043867A (en) * 1988-03-18 1991-08-27 Digital Equipment Corporation Exception reporting mechanism for a vector processor
US5008812A (en) * 1988-03-18 1991-04-16 Digital Equipment Corporation Context switching method and apparatus for use in a vector processing system
US4949250A (en) * 1988-03-18 1990-08-14 Digital Equipment Corporation Method and apparatus for executing instructions for a vector processing system
US5113521A (en) * 1988-03-18 1992-05-12 Digital Equipment Corporation Method and apparatus for handling faults of vector instructions causing memory management exceptions
US4969117A (en) * 1988-05-16 1990-11-06 Ardent Computer Corporation Chaining and hazard apparatus and method
US4935849A (en) * 1988-05-16 1990-06-19 Stardent Computer, Inc. Chaining and hazard apparatus and method
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
EP0346031B1 (en) * 1988-06-07 1997-12-29 Fujitsu Limited Vector data processing apparatus
US5075840A (en) * 1989-01-13 1991-12-24 International Business Machines Corporation Tightly coupled multiprocessor instruction synchronization
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US5389835A (en) * 1991-04-12 1995-02-14 Hewlett-Packard Company Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression
US5208490A (en) * 1991-04-12 1993-05-04 Hewlett-Packard Company Functionally complete family of self-timed dynamic logic circuits
US5530881A (en) * 1991-06-06 1996-06-25 Hitachi, Ltd. Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs
US5438669A (en) * 1991-11-20 1995-08-01 Hitachi, Ltd. Data processor with improved loop handling utilizing improved register allocation
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
JPH07271764A (ja) * 1994-03-24 1995-10-20 Internatl Business Mach Corp <Ibm> 計算機プロセッサ及びシステム
US6152613A (en) * 1994-07-08 2000-11-28 California Institute Of Technology Circuit implementations for asynchronous processors
US5623685A (en) * 1994-12-01 1997-04-22 Cray Research, Inc. Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
GB9514684D0 (en) * 1995-07-18 1995-09-13 Sgs Thomson Microelectronics An arithmetic unit
US5889947A (en) * 1996-12-16 1999-03-30 International Business Machines Corporation Apparatus and method for executing instructions that select a storage location for output values in response to an operation count
US6760880B1 (en) * 1998-09-10 2004-07-06 Ceva D.S.P. Ltd. Scalar product and parity check
US6745318B1 (en) * 1999-08-18 2004-06-01 Sanjay Mansingh Method and apparatus of configurable processing
US20080228927A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Server directed browsing
US9292533B2 (en) * 2010-06-08 2016-03-22 Dell Products L.P. Systems and methods for improving storage efficiency in an information handling system
US12099439B2 (en) * 2021-08-02 2024-09-24 Nvidia Corporation Performing load and store operations of 2D arrays in a single cycle in a system on a chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710874A (en) * 1980-06-25 1982-01-20 Fujitsu Ltd Instruction control device
JPS582975A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544973A (en) * 1968-03-13 1970-12-01 Westinghouse Electric Corp Variable structure computer
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
JPS6057090B2 (ja) * 1980-09-19 1985-12-13 株式会社日立製作所 データ記憶装置およびそれを用いた処理装置
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
US4458330A (en) * 1981-05-13 1984-07-03 Intergraph Corporation Banded vector to raster converter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710874A (en) * 1980-06-25 1982-01-20 Fujitsu Ltd Instruction control device
JPS582975A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231094A (ja) * 1983-04-25 1994-08-19 Cray Res Inc ベクトル処理装置及びその制御方法
JPS61267871A (ja) * 1984-12-07 1986-11-27 Nec Corp 情報処理装置
JPS61235985A (ja) * 1985-04-11 1986-10-21 Nec Corp ベクトルプロセツサ
JPH01258068A (ja) * 1988-04-07 1989-10-16 Fujitsu Ltd ベクトル処理装置におけるリンケージ制御方式
DE3930313A1 (de) * 1988-09-14 1990-03-15 Hitachi Ltd Vektorprozessor
JPH0277882A (ja) * 1988-09-14 1990-03-16 Hitachi Ltd ベクトル処理装置

Also Published As

Publication number Publication date
GB8510663D0 (en) 1985-06-05
GB2113878A (en) 1983-08-10
DE3248215C2 (ja) 1989-08-24
GB2159309A (en) 1985-11-27
JPS6152512B2 (ja) 1986-11-13
US4617625A (en) 1986-10-14
GB2159309B (en) 1986-11-05
GB8516951D0 (en) 1985-08-07
GB2113878B (en) 1986-10-29
DE3248215A1 (de) 1983-08-18

Similar Documents

Publication Publication Date Title
JPS58114274A (ja) デ−タ処理装置
EP0377991A2 (en) Data processing systems
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS633337B2 (ja)
JPH0895804A (ja) 中央処理装置
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US4812970A (en) Microprogram control system
US5479620A (en) Control unit modifying micro instructions for one cycle execution
KR100188374B1 (ko) 연산처리장치
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPS61180370A (ja) データ処理装置
JPH046992B2 (ja)
JPS617903A (ja) シ−ケンス制御装置
JPS63100572A (ja) データ処理装置
US8046569B2 (en) Processing element having dual control stores to minimize branch latency
JPH04148372A (ja) ハッシュ値算出処理方式
EP0372163A2 (en) Instruction queue control system
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JPH0522935B2 (ja)
JPH0228765A (ja) 命令処理順序制御システム
JP3117214B2 (ja) シーケンサのマイクロプログラム制御方式
JPH0250258A (ja) ベクトル処理装置
GB2069198A (en) Pipelined data processor
JPS5896346A (ja) 階層型演算方式
JPS59158441A (ja) パイプライン制御方式