JPS59220844A - 命令再実行制御方式 - Google Patents

命令再実行制御方式

Info

Publication number
JPS59220844A
JPS59220844A JP58093753A JP9375383A JPS59220844A JP S59220844 A JPS59220844 A JP S59220844A JP 58093753 A JP58093753 A JP 58093753A JP 9375383 A JP9375383 A JP 9375383A JP S59220844 A JPS59220844 A JP S59220844A
Authority
JP
Japan
Prior art keywords
instruction
instructions
vector
scalar
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP58093753A
Other languages
English (en)
Inventor
Shigeaki Okuya
茂明 奥谷
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 JP58093753A priority Critical patent/JPS59220844A/ja
Publication of JPS59220844A publication Critical patent/JPS59220844A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

【発明の詳細な説明】 (4)発明の技術分野 本発明は命令再実行制御方式、特に例えばスカラ処理装
置とベクトル処理装置とからなるデータ処理装置であっ
て、パイプライン処理にもとづき命令を処理する装置に
おいて、スカラ命令とベクトル命令とを並列に実行させ
、ベクトル命令の処理において誤動作が起きたときに、
該誤動作した命令から自動的に再実行させるようにした
命令再実行制御方式に関するものである。
■)従来技術と問題点 第1図は一般的なベクトル処理シスデムの例、第2図は
スカラ命令とベクトル命令の命令語の例を示す。
図中、1は主記憶装置、2はチャネル装置、3はスカラ
処理装置、4はベクトル処理装置、5はバッファ記憶装
置、6はスカラーレジスタ、7はスカラ演算器、8はス
カラ命令制御部、9はインタフェース・レジスタ、lO
はベクトル命令制御部、11はロード・ストア・パイプ
、12はベクトル・レジスタ、13はベクトル加算器、
14はベクトル乗算器を表わす。
スカラ処理装置3は、主記憶装置1から逐次命令をフェ
ッチして実行する通常の中央処理装置(CPU)である
。ベクトル処理装置4は、大景のデータに対して、同一
種類の演算を同時に施すことができる装置である。スカ
ラ処理装置3の補助として用いられる。バッファ記憶装
置5は、主記憶装置1へのアクセスを高速化下るだめの
装置である。スカラ・レジスタ6は、スカラ・データを
処理するためのレジスタ群である。スカラ演算器7は、
スカラ命令制御部8の制御のもとに、命令に応じた演算
処理を行う。
スカラ命令制御部8は、命令のフェッチ、解読、実行を
制御するものである。命令がベクトル命令であることを
検出したならば、インタフェース・レジスタ9を経由し
て、命令および命令処理に必要な情報をベクトル命令制
御部10に引渡す。すなわち、スカラ命令制御部8は主
命令制御部であり、ベクトル命令制御部10は従命令制
御部であると考えてよい。ベクトル命令制御部10は、
ベクトル命令を解読し、解読結果に従って、ベクトル加
算器13、ベクトル乗算器14等を起動する。
ロード・ストア・パイプ11は、主記憶装置1とベクト
ル・レジスタ12とのインタフェースである。ベクトル
レジスタ12は、ベクトル演算の対象となるデータ群を
保持するレジスタである。
スカラ命令の命令語は、例えば第2図(イ)図示の如く
、命令コード部OPと第1オペランド部R1と第2オペ
ランド部R2とからなる。命令コード部OPの内容によ
シ、例えば第1オペランドR1ノテータと第2オペラン
ドR2のデータとが演算され、結果が第1オペランドR
1に格納される。
ベクトル命令の命令語は、例えは第2図(ロ)図示の如
く、命令コード部OP1拡張命令コード部EOP 。
第1オペランド部R1、第2オペランド部R2、第3オ
ペランド部R3を有し、拡張命令コード部EOPの内容
によシ、例えは第2オペランド部R2のデータと第3オ
ペランド部R3のデータとが演算されて、結果が第1オ
ペランド部RIIC格納される。スカラ命令とベクトル
命令とは、命令コード部OPのコードによって区別され
る。
第1図図示の如き装置においては、主記憶装置lからフ
ェッチしてくる命令には、スカラ命令とベクトル命令と
が、混在している。これらの命令をいわゆるパイプライ
ン方式によシ、順次読み出して、逐次処理していく場合
には、命令の処理でエラーが生じた場合、エラーが生じ
た命令から再実行すればよい。しかし、命令を高速に処
理するために、スカラ命令とベクトル命令とを、スカラ
処理装置3とベクトル処理装置4とにおいて、それぞれ
並列に実行させようとすると、従来方式によれば、命令
処理の途中で誤動作を起した命令について、杓実行させ
ることができないという問題がある。才々わち、ベクト
ル命令の処理時間は、通常スカラ命令の処理時間に比べ
て非常に長く、ベクトル命令の処理におい”C誤動作が
起きた場合、そのベクトル命令以後の命令についてだけ
、再実行させることができない。
(0発明の目的と構成 本発明は上記問題点の解決を図シ、命令を高速処理する
ために、スカラ命令とベクトル命令とを並列処理した場
合にも、実行未完了のベクトル命令を保持し、誤動作が
起きた命令のりトライを可能とする方式を提供すること
を目的としている。
そのため、本発明の命令再実行制御方式は、主命令制御
部と従命令利°御部とを有し、上、肥土命令制御部は上
記従命令制御部に命令の種別に応じて命令に関する情報
を渡し、命令を実行するデータ処理装置において、上記
主命令制御部から上記従命令制御部へ渡された上記命令
に関する情報を順次複数個保持す2)命令保持レジスタ
と、該命令保持レジスタに杷納された命令のうち実行が
未完了の命令をポイントするスタックアドレス争レジス
タとを少なくともそなえ、誤動作が生じた命令について
上記命令保持しiノスタから上記スタックアドレス・レ
ジスタに基づいて命令を取シ出して再実行−するように
したことを特徴としている。以下図面を参照しつつ説明
する。
(2)発明の実施例 第3図は本発明の一笑施例構成、第4図はスカラ命令と
ベクトル命令とを逐次処理するときのりイムチャート、
第5図はスカラ命令とベクトル命令とを並列処理すると
きの本発明の詳細な説明するためのタイムチャートを示
す。
図中、符号6.8.9、lOは第1図に対応し、20は
命令取出部、21は命令解読部、22はアドレス演算部
、23はオペランド・フェッチ部、24は命令実行部、
25は命令フェッチ・レジスタ、26は命令再実行ポイ
ンタ・レジスタ、27はベクトル命令取出部、28は書
き込みアドレス拳レジスタ、29は命令語スタック、3
0は選択回路、31はベクトル命令解読部、32は加算
命令制御レジスタ、33は乗算命令制御レジスタ、34
はロード命令制御レジスタ、35は読み出しアドレス拳
レジスタを表わす。
スカラ命令とベクトル命令とは、混在して予め主記憶装
置に用意される。命令取出部20は、命令フェンy−−
レジスタ25の示す主記憶装置上の位置から命令をフェ
ッチする回路である。命令取出部20がフェッチした命
令は、次のサイクルに命令解読部21へ渡される。命令
解読部21は、命令コードをデコードする。デコードし
た結果、ベクトル命令であることが判別した場合には、
命令情報をインタフェース・レジスタ9に格納する。
また、そのベクトル命令が、例えばスカラ囃レジスタ6
の内容を必要としているときには、インタフェース−レ
ジスタ9のデータ部にその内容を格納する。
アドレス演算部22は、オペランドの実アドレスを求め
るものである。求められたアドレスに従って、オペラン
ド・フェッチ部23は、命令の実行に必要なオペランド
のデータをフェッチする。
命令実行部24によって、命令が実行され、1命令の処
理が終了することになる。命令再実行ポインタ・レジス
タ26は、実行が完了した命令の次の命令のアドレスを
保持するレジスタである。このレジスタ26によっ℃、
パイプラインで処理する命令が、スカラ命令だけの場合
、またはスカラ命令とベクトル命令が混在していても逐
次処理し ゛ている場合に、誤動作時にリトライすべき
命令についてのアドレスを管理することができる。該ス
カラ命令制御部8の構成は、従来と同様と考えてよい。
フェッチした命令がベクトル命令である場合にだけ、ベ
クトル命令制御部10を起動するので、スカラ命令制御
部8は主命令制御部、ベクトル命令制御部10は従命令
制御部とみることができる。
ベクトル命令取出部27は、インタフェース−レジスタ
9からベクトル命令を取シ出す回路である。取υ出した
命令は、命令語スタック29および選択回路30に送ら
れる。命令語スタック29は、ベクトル命令を保持する
複数個のレジスタで構成され、スカラ命令制御部8との
インタフェースにおけるバッファとしての働きと、後述
する命令リトライのための命令記憶部としての働きを有
している。書き込みアドレス拳レジスタ28な、命令語
スタック29の次に書き込むべきアドレスを保持するレ
ジスタである。ベクトル命令取出部27が取シ出したベ
クトル命令情報は、曹き込みアドレス・レジスタ28に
従って、命令語スタック29にスタックされ、書き込み
アドレス・レジースタ28は次のアドレスをさすよう更
新される。
選択回路30は、ベクトル命令取出部27または命令語
スタック29のいずれかを選択して、ベクトル命令解読
部31ヘベクトル命令を供給する回路である。
ベクトル命令解読部31は、ベクトル命令のコード、特
に第2図←)図示の拡張命令コードをデコードする回路
である。解読した結果、命令がベクトル加算命令であれ
ば、加算命令制御レジスタ32に、ベクトル乗算命令で
あれば乗算命令制御レジスタ33に、ベクトル・データ
のロード命令であれば、ロード命令制御レジスタ34等
に、各命令実行部(図示省略)を起動する情報をセット
する。オペランドが一致しない場合、例えばベクトル加
算、ベクトル乗算、ベクトル・データのロードは、それ
ぞれ並列に実行可能である。読み出しアドレス・レジス
タ35は、命令語スタック29上の実行未完了の命令を
ポイントする。ベクトル命令実行部からの実行完了信号
によって、次の命令をポイントするよう更新される。も
し、べクトル命令の処理時にハード・エラーが起きると
、読み出しアドレスeレジスタ35のポイントする命令
が、命令語スタック29から読み出され、選択回路30
を経てベクトル命令解読部31へ供給され、その命令か
ら以後の命令について再実行されることとなる。なお、
言うまでもなく、スカシ命令とベクトル命令との並列処
理には、それらのオペランド、特に書き込み対象となっ
ている主記憶のオペランドが一致しないことが条件とな
るので、ベクトル命令制御部10においてのみ、スカシ
命令制御部8と独立にリトライしても問題が生じること
はない。ベクトル命令の処理が遅れ、命令語スタック2
9が満杯になったときには、スカシ命令制御部8に対し
て、待ち合わせの制御がなされる。これは通常のバッフ
ァ制御と同様に行われると考えてよい。
第4図において、SOないしS3はスカシ命令、vOな
いしv2はベクトル命令を表わしている。
各命令は、命令取出サイクルIF、命令解読すイクルD
1アドレス演算サイクルA1オペランド・フェッチ・サ
イクルOF、命令実行ザイクルEを経て実行を終了する
。ベクトル命令の場合、アドレス演算サイクルAに続い
て、ベクトル命令取出サイクルVF、ベクトル命令解読
サイクルVD。
および各ベクトル命令の処理サイクルVA、VM。
VL等が必要となる。ベクトル命令の処理においても、
形式的にスカシ命令の処理におけるオペランド惨フエッ
プ・・サイクルOF、命令実行ヅ・イクルEが用意され
る。スカシ命令とベクトル命令とを逐次処理する場合、
第4図図示の如く、前の命令の実行が終了するまで、次
の命令の実行が待たされる。命令フェッチ・レジスタ(
IFR)は、パイプライン処理にあたって、フェッチす
る命令のアドレスを保持する。命令再実行ポインタ・レ
ジスタ(IRP)は、命令の実行が終了するまで、最も
先にフェッチした命令のアドレスを保持する。
従って、例えば10404番地クトル命令voの実行処
理時にエラーが生じた場合、命令再実行ポインタ・レジ
スタの内容が参照され、10404番地令vOから再実
行され、回復が試みられる。第4図に示した処理は、従
来と同様である。
スカシ命令とベクトル命令の扱うデータが、異なってい
るときには、例えば第5図図示の如く、スカシ命令とベ
クトル命令とを、並列して実行することができる。すな
わち、例えMtle番地のスカシ命令S2は、104I
I地のベクトル命令vOおよび110番地のベクトル命
令V1の実行終了を待たすに1実行を開始する。なお、
例えばベクトル命令■0が、スカシ・レジスタのデータ
とベクトル拳データとを加算するVAS (Vict、
or Add 5calor)命令であって、スカシ命
令S2がそのスカシ・レジスタを更新する命令であって
も、そのスカシ・レジスタのデータは、第3図図示イン
タフェース・レジスタ9のゲータ部を経由して、命令語
スタック29に保持されるため、命令S2の先行実行に
よる影響は受けない。
例えば、10404番地クトル命令vOの実行処理中に
、誤動作が起きたとする。このとき、従来方式によれば
、命令再実行ポインタ・レジスタ(IRP)は、既に1
269i地をポイントしているので、IRPを利用して
も、命令をリトライできないこととなる。IRPが、仮
にこの場合に、10404番地イントするように制御し
たとしても、命令のりトライによって、スカシ命令S2
、S3は、2回実行されてしまうこととなるので、一般
に入力オペランドと出力オペランドが同じになることの
ある第2図(イ)図示の如きスカシ命令では、データに
矛盾が生じてしまうこととなる。
本発明の場合、ベクトル命令vOの実行時にエラーが起
きると、ベクトル命令群vO1v1、v2についてだけ
の命令再実行がなされる。すなわち、少なくとも実行が
完了するまでは、ベクトル命令VO,Vl、V2とその
処理に必要なデータとは、第3図図示命令語スタック2
9に保持され、書き込みアドレス中レジスタ(WA) 
28は、ベクトル命令■2の次のアドレスST3をポイ
ントする。一方、読み出しアドレス・レジスタ(RA)
35は、ベクトル命令vOの実行が完了するまでは、そ
の命令のスタックΦアドレスSTOをポイントしている
ので、ベクトル命令■0の実行エラ一時には、読み出し
アドレス拳レジスタ(RA)が参照され、そこから再実
行による回復が試みられることになる。
以上、主命令制御部としてスカラ命令制御部、また従命
令制御部としてベクトル命令制御部を例にして説明した
が、このようなベクトル処理装置に限らず、他の特定な
専用処理を行う装置に対しても、同様に適用することが
できる。
(ト)発明の詳細 な説明した如く、本発明によれば、並列処理により高速
に命令を処理しつつ、例えばノイズによる間欠的なハー
ド障害に対し、誤動作の起きた命令を再実行させ、シス
テムの信頼性を向上させることが可能となる。
【図面の簡単な説明】
第1図は一般的なベクトル処理システムの例、第2図は
スカラ命令とベクトル命令の命令語の例、第3図は本発
明の一実施例構成、第4図はスカラ命令とベクトル命令
とを逐次処理するときのタイムチャート、第5図はスカ
ラ命令とベクトル命令とを並列処理するときの本発明の
詳細な説明するためのタイムチャートを示す。 図中、8はスカラ命令制御部、9はインタフェース・レ
ジスタ、10はベクトル命令制御部、28は書き込みア
ドレス・レジスタ、29は命令語スタック、35は読み
出しアドレス拳レジスタを表わす。 特許出願人   富士通株式会社

Claims (1)

    【特許請求の範囲】
  1. 主命令制御部と従命令制御部とをMし、上記主命令制御
    部は上記従命令制御部に命令の種別に応じて命令に関す
    る情報を渡し、命令を実行するデータ処理装置において
    、上記主命令制御部から上記従命令制御部へ渡された上
    記命令に関する情報を順次複数個保持する命令保持レジ
    スタと、該命令保持レジスタに格納された命令のうち実
    行が未完了の命令をポイントするスタックアドレス・レ
    ジスタとを少なくともそなえ、誤動作が生じた命令につ
    いて上記命令保持レジスタから上記スタックアドレス・
    レジスタに基づいて命令な収シ出して再実行するように
    したことを特徴とする命令再実行制御方式。
JP58093753A 1983-05-27 1983-05-27 命令再実行制御方式 Pending JPS59220844A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58093753A JPS59220844A (ja) 1983-05-27 1983-05-27 命令再実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58093753A JPS59220844A (ja) 1983-05-27 1983-05-27 命令再実行制御方式

Publications (1)

Publication Number Publication Date
JPS59220844A true JPS59220844A (ja) 1984-12-12

Family

ID=14091185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58093753A Pending JPS59220844A (ja) 1983-05-27 1983-05-27 命令再実行制御方式

Country Status (1)

Country Link
JP (1) JPS59220844A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166636A (ja) * 1985-01-18 1986-07-28 Hitachi Ltd 命令再実行制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166636A (ja) * 1985-01-18 1986-07-28 Hitachi Ltd 命令再実行制御方式

Similar Documents

Publication Publication Date Title
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4745547A (en) Vector processing
JP2597811B2 (ja) データ処理システム
JP3120152B2 (ja) コンピューターシステム
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
US5226164A (en) Millicode register management and pipeline reset
US6301655B1 (en) Exception processing in asynchronous processor
JPH0668726B2 (ja) レジスタ管理システム
JPH02257219A (ja) パイプラインプロセッサ装置および方法
JPS6239780B2 (ja)
JPH06214799A (ja) コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
JPH0766329B2 (ja) 情報処理装置
JPH02227730A (ja) データ処理システム
JPH03286332A (ja) デジタルデータ処理装置
JPH09152973A (ja) カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置
US3553655A (en) Short forward conditional skip hardware
US5283891A (en) Error information saving apparatus of computer
JPH1196006A (ja) 情報処理装置
JPS59220844A (ja) 命令再実行制御方式
JP3534987B2 (ja) 情報処理装置
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
JPS6329292B2 (ja)
JP2824484B2 (ja) パイプライン処理計算機
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置