JPS6116114B2 - - Google Patents

Info

Publication number
JPS6116114B2
JPS6116114B2 JP8611380A JP8611380A JPS6116114B2 JP S6116114 B2 JPS6116114 B2 JP S6116114B2 JP 8611380 A JP8611380 A JP 8611380A JP 8611380 A JP8611380 A JP 8611380A JP S6116114 B2 JPS6116114 B2 JP S6116114B2
Authority
JP
Japan
Prior art keywords
instruction
stage
arithmetic
register
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP8611380A
Other languages
English (en)
Other versions
JPS5710875A (en
Inventor
Shigeaki Okuya
Tetsuo Okamoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8611380A priority Critical patent/JPS5710875A/ja
Publication of JPS5710875A publication Critical patent/JPS5710875A/ja
Publication of JPS6116114B2 publication Critical patent/JPS6116114B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Description

【発明の詳細な説明】 本発明は例えば複数の第1オペランドと複数の
第2オペランドの対応するオペランド同士を演算
するベクトル演算処理装置における命令制御装置
に関し、特に命令制御装置の命令パイプラインも
演算器を管理する部分を複数段にすることにより
演算器を効率よく演算動作を行なわせるようにし
た命令制御装置に関するものである。
汎用計算機では、1エレメントのデータをメモ
リ上から中央処理装置内のレジスタへロードした
り、またレジスタ上の1エレメントよりなる第2
入力オペランドと1エレメントよりなる第3入力
オペランドとの間に演算を施し、1エレメントよ
りなる結果オペランドを得る。そしてこのような
制御を行なう命令はスカラ命令といわれる1命令
で単数のエレメント処理を行なう命令である。
しかしながらベクトル演算装置では、1命令に
より複数のエレメントを処理するベクトル命令に
より制御されるものである。例えばロード命令で
は、第1図に示す如く、主記憶装置1上の複数の
データa1,a2,a3……aoおよびb1,b2,b3……b
oを命令制御装置4の命令にもとずき、記憶制御
部3、主記憶制御装置2を経由してベクトル・レ
ジスタ5にロードし、例えば次の加算命令によつ
て演算処理部6においてこれらのデータを加算さ
せてA+B=Cすなわちa1+b1=c1、a2+b2=c2
……ao+bo=coという加算を行なわせ、この
結果得られた複数の加算結果c1,c2,c3……co
をベクトル・レジスタ5にセツトしたのちに主記
憶装置1に格納するような処理が行なわれる。こ
の場合1つの加算命令により上記a1+b1=c1、a2
+b2=c2……ao+bo=coという複数の演算が順
次行なわれるものである。
このような演算を行なう場合に、ベクトル演算
装置の如き高速計算機の分野では命令をパイプラ
イン処理することが一般に行なわれている。例え
ば1つの命令処理は、第2図に示す如く、命令
語の取出し(Fetch)、その解読(Decode)、
命令実行(Execute)の3段階に分けることがで
きる。そしてこのような命令処理を1命令ずつ処
理せずに、先行の命令が命令実行を行なつている
とき次の命令は命令の解読を行なつており、さら
に後続する命令は命令語の取出を行なう。すなわ
ち、第3図に示す如く、先行の命令V1が命令実
行(E)を行なつているとき次の命令V2は命令解読
(D)を行ない、さらに次の命令V3は命令語取出(F)
を行なうというように、各段階を同時に処理する
パイプライン処理方式により処理されている。こ
のとき命令実行のために複数サイクルを必要とす
るものであるが、一般に演算処理部はパイプライ
ン構造ではなく1命令実行に際してアダーやシフ
ターを複数回使用して1つのスカラ命令、つまり
1エレメントづつの処理を行なうようになつてい
る。したがつて1つの先行命令が命令実行(E)を終
了するまで次の命令に対する命令実行を行なうこ
とができなかつた。
ところが演算速度の高速化があまり要求されな
い場合には、上記の如き方式でもあまり問題はな
いが、ベクトル命令を超高速度で処理する場合に
は、演算処理部をパイプライン構造にし、先行の
エレメントの演算処理が完了する前に後続のエレ
メントを投入し、その演算処理を開始する必要が
ある。
例えば加算を行なう場合、演算処理部における
命令実行は、データの読出し(Read)、両オ
ペランドの指数比較(Compare)、指数を合わ
せるためのシフト(Aligment)、加算
(Add)、演算後正規化のためのシフト(Post
Shift)、データの書込み(Write)の6段階に
分けられる。ここで上記およびではシフタを
使用する必要がある。汎用計算機では同じシフタ
を使用しているが、これでは演算速度が遅くなる
ので、ベクトル命令を超高速に処理するためには
当然演算処理部をパイプライン構造にし、このた
めに上記およびのためにそれぞれ別のシフタ
が設けられることになる。したがつて、複数のエ
レメントを1つの命令で処理するベクトル命令を
パイプライン演算器で処理すると、第4図イに示
す如く、一番先行のエレメントe1に関して最終段
階である書込処理が行なわれるとき次のエレメン
トe2はポストシフト処理が行なわれ、エレメント
e3については加算処理が行なわれ、エレメントe4
についてはアライメント処理が行なわれ、エレメ
ントe5については指数比較処理が行なわれ、そし
てエレメントe6については読出処理が行なわれ、
このような各処理がエレメントeoについて順次
行なわれる。そしてその結果、ベクトル命令で加
算を行なう場合には、1命令について第4図ロの
如き、平行四辺形で表示されるような処理が遂行
されることになる。
また第1図に示すベクトル・レジスタ5に主記
憶装置1からデータをロードするロード命令のと
きは記憶制御部3において加算命令と同様のパイ
プライン処理が行なわれる。
しかしながらこのようなパイプライン構造を具
備した演算処理部で、ベクトル命令V1,V2(例
えばいずれも加算命令とする)を連続的に処理す
る場合、命令制御装置における命令、制御パイプ
ライン構造では、第5図に示すような状態でこれ
らのベクトル命令V1,V2に対する処理が行なわ
れる。
いま、命令制御装置では命令V1により命令語
の読出しF1が行なわれ、それの解読D1が行なわ
れるとき命令V2により命令語の読出しF2が行な
われる。そして演算処理部で命令V1の命令実行
E1が行なわれるとき命令制御装置では命令V2
おける命令語の解読D2が行なわれる。しかるに
この命令実行E1は、第5図に示す如く、時間t2
おいて最後のエレメントe8に対する書込処理が行
なわれたときに終了し、それから命令V2に対す
る命令実行E2が行なわれる。それ故、演算処理
部で命令V1において最後のエレメントe8に対する
データ読出し処理が終つた時刻t1から命令V2にお
いて最初のエレメントc1′に対するデータ読出し
処理が始まる時刻t2までのt2−t1=t0の期間はこの
データ読出し処理回路は、ジヨブの遂行が可能で
あるにもかかわらず命令制御装置から何もジヨブ
が与えられない、いわゆる遊び期間となる。同様
にして指数比較処理、アライメント処理、加算処
理、ポストシフト処理、および書込処理の各回路
にもそれぞれ期間t0だけの遊び期間が存在し、そ
の結果、第5図において斜線部Lで示す如き遊び
期間が存在することになる。このように命令制御
装置のパイプライン構造上の制御により、演算処
理部で命令V1に対する読出しの段階があけば命
令V2に対する読出し処理を行なうことができる
にもかかわらずこれを行なうことができず、この
結果上記遊び期間を生ずる欠点があり高速処理上
問題となる。
それ故、第6図に示す如く、命令パイプライン
の、命令実行段階を、例えば2分割してデータ読
出し段階とその後の段階に分けて管理することが
考えられる。この場合には、命令制御装置に第1
命令実行レジスタと第2命令実行レジスタを設
け、命令V1については最初第1命令実行レジス
タにセツトされた命令により制御を行ない、命令
V1においてすべてのエレメントに対する読出し
処理が終了した時刻T1において第2命令実行レ
ジスタに命令をセツトして、該第2命令実行レジ
スタにセツトした命令にもとづき時刻T2までの
書込み処理を管理するようにすることになる。し
かしながらこの場合、最初のエレメントに対する
書込み処理の開始される時刻T0から上記時刻T1
までの期間は、第1命令実行レジスタにおいて読
出し処理に対する制御を管理しなければならず、
このために制御が複雑になるという他の問題があ
る。
したがつて本発明は上記問題を解決するために
命令制御装置におけるパイプライン構造のうち、
演算実行ステージを複数のステージに分割してそ
の演算実行を処理できるようにした命令制御装置
を提供することを目的とするものであつて、この
ために本発明における命令制御装置では、パイプ
ライン構造を有する演算処理部等の演算処理手段
または記憶制御部等の記憶データ処理手段と上記
演算処理手段または記憶データ処理手段に対して
演算処理を制御する命令制御装置を具備しベクト
ル命令を処理するデータ処理装置において、該命
令制御装置の演算実行命令情報を保持するステー
ジ・レジスタ、ステージ設定回路、命令デコーダ
等を具備する演算実行ステージに演算実行命令情
報を保持する複数の演算実行命令保持手段を設け
ることによりこの演算実行ステージに分割し、か
つ上記演算実行命令保持手段が同一命令に対する
命令情報をオーバーラツプして保持することがで
きるように構成したことを特徴とする。
以下本発明の一実施例を第7図および第8図に
もとづき説明する。
第7図は本発明の一実施例構成を示し、第8図
はその動作説明図である。
図中7はERステージ設定回路、8はERステー
ジレジスタ、9はEWステージ設定回路、10は
EWステージレジスタ、11はデコーダ、12は
第1カウンタ、13はライト・タイミング計数回
路、14は第1初期設定回路、15は第2カウン
タ、16はエレメント数計数回路、17は第2初
期設定回路、18は第3カウンタ、19はエレメ
ト数計数回路、20は第3初期設定回路、21は
デコーダである。
ERステージ・レジスタ7およびEWステー
ジ・レジスタ10は、それぞれ、演算実行命令を
保持するステージ・レジスタであり、演算実行命
令保持手段を提供する。
ERステージ設定回路7は、演算処理部に対し
て命令を伝達したときに読出し処理の実行が可能
かどうか判断し、読出し処理可能であるときにデ
コーダより命令を受取つてこれをERステージレ
ジスタ8に伝達したり、該ERステージレジスタ
8にセツトした命令を保持する必要がなくなつた
ときにはこれを消去したり次の新らしい命令を受
理するような制御を行なうものである。
EWステージ設定回路9はERステージレジス
タ8からEWステージレジスタ10に対して命令
をセツトしたり、またEWステージレジスタ10
にセツトした命令を保持する必要がなくなつたと
きにはこれを消去したり次の命令を受理するよう
な制御を行なうものである。
第1カウンタ12はEWステージレジスタ10
に命令をセツトするためのタイミング信号を発生
するためのカウンタであつて、ライト・タイミン
グ計数回路13および第1初期設定回路14を備
えている。
第2カウンタ15はERスタージレジスタ8に
すでにセツトしている命令を消去したりあるいは
次の命令をセツトするためのカウンタであつて、
エレメント数計数回路16および第2初期設定回
路17を備えている。
第3カウンタ18はEWステージレジスタ10
にすでにセツトしている命令を消去したりあるい
は次の命令をセツトするためのカウンタであつ
て、エレメント数計数回路19および第3初期設
定回路20を備えている。
いま、第8図に示す如く命令V1およびV2を実
行する場合、命令制御装置に命令V1が伝達され
る。これにより命令制御装置はまず命令フエツチ
F1を行ない次いでこれをデコードD1する。そし
て時刻t0′でERステージ設定回路7が、演算処理
部に上記デコードD1にもとづく命令が実行でき
ると判断したとき、ERステージレジスタ8にデ
コーダより伝達された命令をセツトする。
このERステージレジスタ8にセツトされた命
令はさらにデコーダ11によりデコードされる。
これにもとずきデコーダ11は起動信号を発生し
てこれを演算処理部に印加するとともに、ベクト
ルレジスタにセツトされているエレメントを読出
す命令であるリードレジスタ制御信号を印加す
る。これにより演算処理部はベクトルレジスタに
セツトされているエレメントe1,e2,e3……を読
出し、(e1はa1とb1,e2はa2とb2……)、これらの
両オペランドの指数を比較し、指数合わせのため
のシフトを行ない、それから加算し、加算後正規
化のためのシフトを行なう。またデコーダ11か
ら発生された上記起動信号はライト・タイミング
計数回路13にも伝達され計数動作が開始され
る。そしてエレメントe1に対する読出し、両オペ
ランドの指数比較……という処理ステツプが一段
階ずつ進行するたびにライト・タイミング計数回
路13は第1初期設定回路14にセツトされてい
る初期設定値を−1する。このとき、第1初期設
定回路には、各エレメントに対する処理ステツプ
数である6がセツトされており、ライト段階が開
始される時刻t1′にこの第1初期設定回路は0に
なる。そしてこの状態がEWステージ設定回路9
に報告されるので、該EWステージ設定回路9は
ERステージレジスタ8にセツトされた命令を
EWステージレジスタ10にセツトし、デコーダ
21でそのライト部分がデコードされ、ベクトル
レジスタに演算結果をライトする命令であるライ
トレジスタ制御信号を発生する。演算処理部では
これにもとづき時刻t1′以降にライト段階の処理
が遂行されることになる。
一方デコーダ11から発生された上記起動信号
は第2カウンタ15のエレメント数計数回路16
にも印加される。このとき、エレメント数計数回
路16は、演算処理部におけるエレメントe1,e2
……を順次読出す読出し時間毎に計数信号を発生
し、第2初期設定回路17にセツトされた初期設
定置を−1する。このとき第2初期設定回路には
処理すべきエレメント数が初期設定されているの
で、ベクトルレジスタから必要とするエレメント
が全部読出される時刻t2′において第2初期設定
回路17は0になり、これがエレメント数計数回
路16を経由してERステージ設定回路7に伝達
される。これによりERステージ設定回路7は、
今度はデコーダを経由して伝達されている命令
V2による命令をERステージレジスタ8にセツト
し、これにもとづく読出段階処理が開始されるこ
とになる。
また上記時刻t1′から開始されたライト段階の
処理は時刻t3′で終了するが、この終了時刻t3は第
2カウンタ15における制御動作と同様に動作す
る。第3カウタ18により検出される。第3初期
設定回路20には勿論処理すべきエレメント数が
初期設定され、各エレメントに対する演算結果が
ベクトルレジスタの所定領域に書込まれる時間毎
にエレメント数計数回路19が計数信号を発生し
て初期設定値を−1する。そしてすべての演算結
果がセツトされた時刻t3′において命令V1に対す
る実行処理は終了し、EWステージ設定回路9は
命令V2に対するライト段階の処理を開始するこ
とになる。
この命令V1の処理について、時刻t1′からt2′ま
での間では、ERステージレジスタ8およびEW
ステージレジスタ10には同一の命令がセツトさ
れている。この結果、第5図に示したような、命
令制御装置のパイプライン構造上の制限により演
算処理部で命令V1に対する読出しの段階が終れ
ば命令V2に対する読出しが行なうことができず
に、斜線部Lで示す如き遊び期間が生ずるという
ようなことをなくすことができ、演算処理部を有
効に使用して高速処理を行なうことができる。さ
らにERステージレジスタ8にセツトされた命令
をデコードする場合、演算処理部に対しエレメン
トの読出を指令するリード信号部分のみをデコー
ドすればよく、またEWステージレジスタ10で
は同様に演算処理部に対して演算結果の書込みを
指令するライト信号部分のみをデコードすればよ
いので、そのデコード及び制御が非常に簡単にな
る。
なお、処理すべきエレメント数が少ない場合に
は、読出段階が終つてもライト段階がまだ開始さ
れないような場合がある。このようなときには、 命令パイプラインのERステージを終らせな
いで引き延ばす、 EWステージに早目に命令情報を移す、 別の移行期間を管理するトランスミツト・ス
テージを設ける、 等の3つの方法がある。これらについて第9図に
もとづきエレメント数3の場合について説明す
る。
第9図イに示す如く、命令V1のERステージ
は時刻t0″からt1″までに実行できるものである
が、EWステージレジスタに対して時刻t2″にお
いて命令情報、つまりERステージレジスタの
内容を転送する。そして時刻t2″からt3″までに
命令V1に関するライト処理が終了する。一方
命令V2については時刻t2″でリード段階が開始
され、時刻t3″で終了するがEWステージレジス
タに対しては時刻t4″において命令情報を転送
するので命令V2に対する処理は時刻t5″で終了
する。
第9図ロに示す如く、命令V1のERステージ
は時刻t0″からt1″までに実行されるので、時刻
t1″でEWステージレジスタに命令情報を転送す
る。これによりERステージレジスタは命令V2
に対する転送命令つまりER2を受けることがで
きる。この場合、上記命令V1のERステージ
で、ライト段階が開始されるのは時刻t2″であ
るので、このt1″乃至t2″までの時間はカウンタ
等で正確に判断することができる。しかし時刻
t2″において命令V2に対するリード段階が終了
しても、このときEWレジスタには命令V1の命
令情報がセツトされライト段階を実行中のた
め、その終了する時刻t3″において、命令V2
対するライト段階を開始することができる。そ
れ故、もし命令V3が続いて伝達されたとして
も、この命令V3は時刻t3″においてERステージ
レジスタにセツトされ、そのリード段階が開始
されることになる。
第9図ロの場合には、命令V1のライト段階
が終了しないうちに命令V2のリード段階が終
了しても、この命令V2の命令を次のステージ
に伝達することができない。これを改善するた
めに、ERステージレジスタとEWステージ設
定回路との中間に、ETステージ(E−
Transmitステージ)設定回路およびETステー
ジレジスタを設ける。そして、第9図ハに示す
如く、命令V1のリード段階が終了した時刻
t1″にERステージレジスタの命令情報をETス
テージレジスタに転送し、命令V1をライト段
階に転送する迄の待合せを行なわせる。そして
時刻t2″においてEWステージレジスタにETス
テージレジスタから命令情報を転送させ、ライ
ト段階をこのEWステージレジスタにセツトさ
れた命令情報で管理する。このように構成すれ
ば命令V1,V2,V3……を遊びの期間なく連続
的に処理することができる。勿論、このETス
テージは、必要に応じてET1,ET2,T3……再
分割すればさらに少ないエレメントデータを管
理することができる。最大演算処理部における
段階に応じたステージ設定回路およびステージ
レジスタを設ければどのような場合でも連続的
に処理可能になる。
以上説明した如く、結局本発明によれば命令制
御装置における命令実行段階の管理手段をパイプ
ライン構造にして、命令情報をオーバーラツプし
て保持することができるようにしたので、演算処
理部における遊びを非常に抑制することができ、
処理すべきエレメント数が多い場合にはこの遊び
を除去することができる。したがつて演算処理速
度を向上することができる。
なお上記説明ではベクトル命令として加算命令
の場合について説明したが、本発明は勿論これの
みに限定されるものではない。
【図面の簡単な説明】
第1図はベクトル演算装置の構成図、第2図乃
至第4図はその動作説明図、第5図は従来のベク
トル演算装置の問題点の説明図、第6図は上記問
題点を改善した場合の動作説明図、第7図は本発
明の一実施例構成、第8図は本発明の動作説明
図、第9図は本発明の他の実施例における動作説
明図である。 図中、1は主記憶装置、2は主記憶制御装置、
3は記憶制御部、4は命令制御装置、5はベクト
ル・レジスタ、6は演算処理部、7はERステー
ジ設定回路、8はERステージレジスタ、9は
EWステージ設定回路、10はEWステージレジ
スタ、11はデコーダ、12は第1カウンタ、1
3はライト・タイミング計数回路、14は第1初
期設定回路、15は第2カウンタ、16はエレメ
ント数計数回路、17は第2初期設定回路、18
は第3カウンタ、19はエレメント数計数回路、
20は第3初期設定回路、21はデコーダをそれ
ぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 1 パイプライン構造を有する演算処理手段また
    は記憶データ処理手段と上記演算処理手段または
    記憶データ処理手段に対して演算処理を制御する
    命令制御装置を具備しベクトル命令を処理するデ
    ータ処理装置において、 該命令制御装置の演算実行命令情報を保持する
    ステージ・レジスタ、ステージ設定回路、命令デ
    コーダ等を具備する演算実行ステージに演算実行
    命令情報を保持する複数の演算実行命令保持手段
    を設けることによりこの演算実行ステージを複数
    のステージに分割し、かつ上記演算実行命令保持
    手段が同一命令に対する命令情報をオーバーラツ
    プして保持することができるように構成したこと
    を特徴とする命令制御装置。 2 上記演算処理手段または記憶データ処理手段
    のパイプライン構造の演算実行ステージのうち、
    少なくとも第1ステージを管理する演算実行命令
    情報保持手段と、最終ステージを管理する演算実
    行命令情報保持手段を設け、これらの演算実行命
    令保持手段に同一の命令情報を同時に保持するこ
    とができるようにするとともに、該命令情報を各
    ステージに対応して解読することにより上記パイ
    プライン構造の上記ステージを制御するようにし
    たことを特徴とする特許請求の範囲第1項記載の
    命令制御装置。
JP8611380A 1980-06-25 1980-06-25 Instruction control device Granted JPS5710875A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8611380A JPS5710875A (en) 1980-06-25 1980-06-25 Instruction control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8611380A JPS5710875A (en) 1980-06-25 1980-06-25 Instruction control device

Publications (2)

Publication Number Publication Date
JPS5710875A JPS5710875A (en) 1982-01-20
JPS6116114B2 true JPS6116114B2 (ja) 1986-04-28

Family

ID=13877636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8611380A Granted JPS5710875A (en) 1980-06-25 1980-06-25 Instruction control device

Country Status (1)

Country Link
JP (1) JPS5710875A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS592143A (ja) * 1982-06-29 1984-01-07 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
JPS5710875A (en) 1982-01-20

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
JPH0374434B2 (ja)
JPS6217252B2 (ja)
JPS6313215B2 (ja)
JPH0412503B2 (ja)
JPS623461B2 (ja)
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPS6116114B2 (ja)
JPS6161416B2 (ja)
JPS60178580A (ja) 命令制御方式
JPS6116112B2 (ja)
JPS58178464A (ja) 並列演算処理装置
JPS6134188B2 (ja)
JPS6116111B2 (ja)
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
JPH0222413B2 (ja)
JPS6116113B2 (ja)
JPS595354A (ja) デ−タ処理装置
JPH0654505B2 (ja) 並列型演算処理装置
JPS6128140B2 (ja)
JPS6119065B2 (ja)
JPH01263820A (ja) マイクロプロセッサ
JPH0338613B2 (ja)
JPS5896346A (ja) 階層型演算方式
JPS6346856B2 (ja)