JPS6218057B2 - - Google Patents

Info

Publication number
JPS6218057B2
JPS6218057B2 JP57003407A JP340782A JPS6218057B2 JP S6218057 B2 JPS6218057 B2 JP S6218057B2 JP 57003407 A JP57003407 A JP 57003407A JP 340782 A JP340782 A JP 340782A JP S6218057 B2 JPS6218057 B2 JP S6218057B2
Authority
JP
Japan
Prior art keywords
register
instruction
instruction execution
phase
register stack
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
JP57003407A
Other languages
Japanese (ja)
Other versions
JPS58121457A (en
Inventor
Koichi Tsukizoe
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP57003407A priority Critical patent/JPS58121457A/en
Publication of JPS58121457A publication Critical patent/JPS58121457A/en
Publication of JPS6218057B2 publication Critical patent/JPS6218057B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 operation

Description

【発明の詳細な説明】 本発明は、パイプライン処理を行なう情報処理
装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing device that performs pipeline processing.

パイプライン処理とは、命令の実行過程を、例
えば命令の読出し解読と、オペランドの読出し
と、命令実行の3つの部分処理に分解し、各部分
処理を命令間でオーバーラツプして実行し、情報
処理の迅速化を図る処理方式である。
Pipeline processing divides the instruction execution process into three partial processes: reading and decoding the instruction, reading operands, and executing the instruction, and executes each partial process in an overlapping manner between instructions to process information. This is a processing method that aims to speed up the process.

従来、この種の情報処理装置は、第1図に示す
ように、命令の読出し解読を行なう命令フエツチ
部1と、主記憶装置の記憶内容の一部を写しとし
て持ち、高速アクセスが可能なバツフア記憶部2
と、命令で指示された演算を実行する命令実行部
3と、演算に使用されるレジスタ群を貯蔵し命令
実行に使用されるレジスタオペランドを(命令実
行部3へ)供給し、命令実行による演算結果を
(命令実行部3の出力により)格納するレジスタ
スタツク4(レジスタ群貯蔵装置)を備えてい
る。そして、1番目の命令I1に対しては、1番目
のマシンサイクルT1で命令の読出し解読処理を
行なう。命令読出し解読処理をAフエーズという
ことにする。2番目のマシンサイクルT2では、
命令フエツチ部1からのアクセスにより、バツフ
ア記憶部2からメモリオペランドが、レジスタス
タツク4からはレジスタオペランドが読み出され
て命令実行部3へ供給される。このオペランド読
出し処理をBフエーズということにする。上記マ
シンサイクルT2では、2番目の命令I2に対するA
フエーズの処理が命令フエツチ部1で並行して行
なわれる。第3番目のマシンサイクルT3では、
命令実行部3で命令I1が実行され(Eフエー
ズ)、かつ、命令実行による演算結果はレジスタ
スタツク4に書込まれる(Wフエーズ)。すなわ
ち、EフエーズとWフエーズとは同一のマシンサ
イクルT3内において処理される。一方命令I2に対
してBフエーズが、命令I3に対してはAフエーズ
の処理が並行してなされる。このようにして、複
数の命令に対して、各フエーズ処理をオーバーラ
ツプして行なうこにより高速処理が可能となる。
Conventionally, this type of information processing device has, as shown in FIG. 1, an instruction fetch section 1 that reads and decodes instructions, and a buffer that has a copy of a portion of the contents of the main memory and can be accessed at high speed. Storage part 2
, an instruction execution unit 3 that executes the operation specified by the instruction, stores a group of registers used in the operation, supplies register operands used for instruction execution (to the instruction execution unit 3), and executes the operation by executing the instruction. It is provided with a register stack 4 (register group storage device) for storing results (according to the output of the instruction execution section 3). For the first instruction I1 , instruction reading and decoding processing is performed in the first machine cycle T1 . The instruction reading and decoding process will be referred to as A phase. In the second machine cycle T 2 ,
Upon access from the instruction fetch unit 1, memory operands are read from the buffer storage unit 2 and register operands are read from the register stack 4 and supplied to the instruction execution unit 3. This operand read processing will be referred to as B phase. In the machine cycle T 2 above, A for the second instruction I 2
Phase processing is performed in parallel by the instruction fetch section 1. In the third machine cycle T 3 ,
The instruction I1 is executed by the instruction execution unit 3 (E phase), and the arithmetic result of the instruction execution is written to the register stack 4 (W phase). That is, the E phase and the W phase are processed within the same machine cycle T3 . On the other hand, B phase processing is performed for instruction I 2 and A phase processing is performed for instruction I 3 in parallel. In this way, high-speed processing becomes possible by overlappingly performing each phase process for a plurality of instructions.

第2図は、命令I1〜I5に対する各マシンサイク
ルT1〜T8における処理フエーズの一例を示した
タイムチヤートである。同図において、命令I3
では、各命令に対する各フエーズ処理はそれぞれ
1マシンサイクル遅れでオーバーラツプして行な
われている。4番目の命令I4は、命令I3による演
算結果をオペランドに使用する命令であるため、
マシンサイクルT5でWフエーズが完了するまで
オペランドの読出し処理を待たなければならな
い。すなわち、命令I4に対しては、マシンサイク
ルT5のBフエーズにおいてレジスタの確定待ち
が起る。そして、マシンサイクルT5で命令I3の実
行による演算結果がレジスタスタツク4に書き込
まれ、マシンサイクルT6において命令I4に対する
Bフエーズ処理がされる。
FIG. 2 is a time chart showing an example of processing phases in each machine cycle T 1 to T 8 for instructions I 1 to I 5 . In the figure, up to instruction I3 , each phase process for each instruction is performed in an overlapping manner with a delay of one machine cycle. The fourth instruction I4 is an instruction that uses the operation result of instruction I3 as an operand, so
The operand read process must wait until the W phase is completed in machine cycle T5 . That is, for instruction I4 , a register confirmation wait occurs in the B phase of machine cycle T5 . Then, in machine cycle T5 , the operation result of the execution of instruction I3 is written to register stack 4, and in machine cycle T6 , B phase processing is performed for instruction I4 .

上述の従来装置においては、命令実行部3の演
算処理中に障害が発生して演算結果を誤つた場合
にも、誤つた演算結果を同一のマシンサイクル内
でレジスタスタツク4に格納してしまう。従つ
て、指示したレジスタの内容によつて演算を行な
い、その結果によつて前記レジスタの内容を更新
するような命令の場合に、演算を誤ると、該レジ
スタ内に誤つた結果が格納され、演算前のレジス
タ内容は既に消滅している。このため当該命令の
再試行ができず、一時的障害(間欠障害)時に有
効な命令の再試行による処理続行が不可能である
という欠点がある。
In the conventional device described above, even if a failure occurs during arithmetic processing in the instruction execution unit 3 and the result of the calculation is incorrect, the erroneous calculation result is stored in the register stack 4 within the same machine cycle. . Therefore, in the case of an instruction that performs an operation based on the contents of the specified register and updates the contents of the register with the result, if the operation is incorrect, the incorrect result will be stored in the register. The contents of the register before the operation have already disappeared. For this reason, the instruction cannot be retried, and there is a drawback that in the event of a temporary failure (intermittent failure), it is impossible to continue processing by retrying a valid instruction.

上記欠点を解決するために、Wフエーズ処理を
Eフエーズの次のマシンサイクルで行なうように
した装置がある。この場合は、演算の誤り等の障
害発見により書込みを停止することができ、命令
の再試行によつて処理を続行することが可能であ
る。第3図は、このような装置の各命令に対する
各マシンサイクルでの処理フエーズを示すタイム
チヤートであり、1つの命令に対して、最小4マ
シンサイクルを要する。すなわち、A,B,E,
Wの各フエーズに対してそれぞれ1マシンサイク
ルを要し、各命令のフエーズは前の命令のフエー
ズより一般に1マシンサイクル遅れで行なわれて
いる。しかし、命令I4は、命令I3の実行による演
算結果をオペランドに使用する命令であるから、
マシンサイクルT5とT6においては、未だ命令I3
の演算結果がレジスタへ格納されていないため、
オペランドの読出しができない。すなわち、命令
I4のBフエーズでは、マシンサイクルT5とT6
で2マシンサイクル分のレジスタ確定待ちが起
る。そして、マシンサイクルT7でオペランドを
読出し、マシンサイクルT8で命令を実行(Eフ
エーズ)し、演算結果はマシンサイクルT9でレ
ジスタスタツク4に書き込まれる(Wフエー
ズ)。次の命令I5は、マシンサイクルT7〜T10で各
フエーズの処理を行なう。従つて、このような装
置では、障害発生時の命令の再試行は可能である
が、性能が低下する(第2図に示した装置に比し
て2マシンサイクル余分な時間を要している)と
いう欠点がある。特にBフエーズにおけるレジス
タ確定待ちが頻発すると全体の処理時間が大幅に
遅延する。
In order to solve the above-mentioned drawbacks, there is an apparatus in which the W phase process is performed in the machine cycle following the E phase. In this case, writing can be stopped when a failure such as an error in calculation is discovered, and processing can be continued by retrying the instruction. FIG. 3 is a time chart showing the processing phases in each machine cycle for each instruction of such a device, and one instruction requires a minimum of four machine cycles. That is, A, B, E,
Each phase of W requires one machine cycle, with each instruction phase typically occurring one machine cycle later than the previous instruction phase. However, since instruction I 4 is an instruction that uses the operation result obtained by executing instruction I 3 as an operand,
In machine cycles T 5 and T 6 , still the instruction I 3
Since the operation result of is not stored in the register,
Unable to read operand. i.e. command
In the B phase of I4 , two machine cycles worth of waiting for register confirmation occurs in machine cycles T5 and T6 . Then, the operand is read in machine cycle T7 , the instruction is executed in machine cycle T8 (E phase), and the operation result is written to register stack 4 in machine cycle T9 (W phase). The next instruction I5 processes each phase in machine cycles T7 to T10 . Therefore, in such a device, it is possible to retry instructions in the event of a failure, but the performance is degraded (it takes two machine cycles more than the device shown in Figure 2). ). In particular, if register confirmation waiting occurs frequently in the B phase, the entire processing time will be significantly delayed.

本発明の目的は、上述の従来の欠点を解決し、
レジスタ確定待ちに要する時間は(第2図の如く
動作することにより)最小限とし、しかも障害発
生時における命令再試行を最大限可能にして、間
欠障害の場合の処理続行の可能性を高め、高速性
能高信頼度の情報処理装置を提供することにあ
る。
The purpose of the present invention is to solve the above-mentioned conventional drawbacks and
The time required to wait for register confirmation is minimized (by operating as shown in Fig. 2), and furthermore, it is possible to retry instructions as much as possible in the event of a failure, increasing the possibility of continuing processing in the event of an intermittent failure. The purpose of the present invention is to provide an information processing device with high speed performance and high reliability.

本発明の情報処理装置は、命令の読出し解読を
行なう命令フエツチ部と、命令を実行する命令実
行部と、命令実行に必要なレジスタ群を貯蔵し命
令実行に使用されるレジスタオペランドを前記命
令実行部へ供給し命令実行による演算結果を格納
するレジスタ群貯蔵装置とを備えて、命令の読出
し解読とオペランドの読出しと命令実行とを複数
の命令に対してオーバーラツプして実行しパイプ
ライン処理を行なう情報処理装置において、前記
レジスタ群貯蔵装置は、命令実行に使用されるレ
ジスタオペランドを供給し命令実行による演算結
果を格納する第1のレジスタスタツクと、該第1
のレジスタスタツクより遅れたタイミングで上記
演算結果と同一のデータを書き込む第2のレジス
タスタツクとを内蔵し、当該装置内の障害の発生
を監視し障害発生時には前記第2のレジスタスタ
ツクへの書込みを禁止しかつ前記第2のレジスタ
スタツクの内容を前記第1のレジスタスタツクの
対応するエリアに書き込ませる障害処理回路を備
えて障害発生時の命令再試行を可能としたことを
特徴とする。
The information processing device of the present invention includes an instruction fetch unit that reads and decodes instructions, an instruction execution unit that executes instructions, and a register operand that stores registers necessary for instruction execution. and a register group storage device for storing the operation results of instruction execution, and performs pipeline processing by overlapping instruction reading and decoding, operand reading, and instruction execution for multiple instructions. In the information processing device, the register group storage device includes a first register stack that supplies register operands used in instruction execution and stores arithmetic results obtained by instruction execution;
It has a built-in second register stack that writes the same data as the above calculation result at a timing delayed from the register stack, and monitors the occurrence of a failure in the device and writes the data to the second register stack when a failure occurs. The present invention is characterized in that it includes a failure processing circuit that prohibits writing of the second register stack and writes the contents of the second register stack to a corresponding area of the first register stack, thereby making it possible to retry instructions when a failure occurs. shall be.

次に、本発明について、図面を参照して詳細に
説明する。
Next, the present invention will be explained in detail with reference to the drawings.

第4図は、本発明の一実施例を示すブロツク図
である。すなわち、命令フエツチ部1は、命令の
読出し解読すなわちAフエーズの実行をする。バ
ツフア記憶部2は、命令フエツチ部1での命令解
読により、オペランドアドレスと共にアクセスさ
れ、Bフエーズでのメモリオペランドの高速読出
しを行なつて命令実行部3へ供給する。命令実行
部3は、バツフア記憶部2から出力されるメモリ
オペランド200およびレジスタ群貯蔵装置5か
ら送られるレジスタオペランド500を入力して
命令の実行(Eフエーズ)を行なう。すなわち、
命令実行部3はメモリオペランド200およびレ
ジスタオペランド500を入力し、択一的に選択
出力する選択回路30,31と、選択回路30の
出力を一時的に保持する第1オペランドレジスタ
32と、選択回路31の出力を保持する第2オペ
ランドレジスタ33と、これらの出力する第1オ
ペランド320および第2オペランド330を入
力として、命令により指示された演算を実行し、
演算結果データ340を出力する演算回路34と
を内蔵している。以上は、第1図に示した従来例
とほぼ同様であるが、本実施例においてレジスタ
群貯蔵装置5は、第1図のレジスタスタツク4と
同様な機能を有する第1のレジスタスタツク50
と、第1のレジスタスタツク50への書込みデー
タを1マシンサイクル遅延させて第2のレジスタ
スタツク51へ書込ませる書込みデータレジスタ
52と、第1のレジスタスタツク50と同一の構
成を有し、前記書込みデータレジスタ52の出力
を書き込む第2のレジスタスタツク51と、該第
2のレジスタスタツク51の読出しデータ510
および前記演算回路34の出力する演算結果デー
タ340を入力し、択一的に選択出力して前記第
1のレジスタスタツク50および前記書込みデー
タレジスタ52に供給する選択回路53とを内蔵
している。上記第1のレジスタスタツク50は、
Bフエーズにおいて命令の実行に必要なレジスタ
オペランドを読み出してレジスタオペランド50
0を命令実行部4へ供給し、W1フエーズにおい
て演算回路34から出力される演算結果データ3
40を書き込む。また、上記第2のレジスタスタ
ツク51は、上記W1フエーズより1マシンサイ
クル遅れたW2フエーズにおいて上記と同一の演
算結果データを書き込む。そして、障害処理回路
6は、本装置内の各部での障害発生の有無を管理
し、障害発生を検出すると命令の再試行処理を行
う。すなわち、障害発生を検出すると、命令フエ
ツチ部1に命令再試行指示603を与える。しか
し、特にオペランドレジスタ32,33から第1
のレジスタスタツク50までの間で障害が発生し
た場合には、第2のレジスタスタツク51に対し
書込み抑止信号600により書込みを抑止し、当
該レジスタの内容を読出しデータ510として読
出し、選択回路53に対して選択信号601によ
り上記読出しデータ510を選択出力させる。そ
して、第1のレジスタスタツク50内の当該レジ
スタに相当するエリアへ書込指示信号602によ
り前記選択回路53の出力データを書き込ませ
る。すなわち、第1のレジスタスタツク50内の
当該レジスタを障害が発生した命令の実行前の状
態に回復させる。この回復処理が完了したのちに
命令フエツチ部1に命令再試行指示603を出力
する。この一連の動作により、障害発生の大部分
の場合に、命令の再試行が可能となり、その発生
頻度が全障害発生頻度の半分以上を占めるといわ
れる間欠障害であれば、本装置をダウンさせるこ
となく処理の続行が可能となる。
FIG. 4 is a block diagram showing one embodiment of the present invention. That is, the instruction fetch section 1 reads and decodes instructions, that is, executes the A phase. The buffer storage section 2 is accessed together with the operand address by the instruction fetch section 1 when the instruction is decoded, and the memory operand is read out at high speed in the B phase and supplied to the instruction execution section 3. The instruction execution section 3 receives the memory operand 200 output from the buffer storage section 2 and the register operand 500 sent from the register group storage device 5 and executes the instruction (E phase). That is,
The instruction execution unit 3 includes selection circuits 30 and 31 that input a memory operand 200 and a register operand 500 and selectively output them, a first operand register 32 that temporarily holds the output of the selection circuit 30, and a selection circuit. A second operand register 33 holding the output of 31 and a first operand 320 and a second operand 330 outputted from these are input, and an operation specified by the instruction is executed,
It has a built-in arithmetic circuit 34 that outputs arithmetic result data 340. The above is almost the same as the conventional example shown in FIG.
and a write data register 52 that delays write data to the first register stack 50 by one machine cycle and writes it to the second register stack 51, and has the same configuration as the first register stack 50. A second register stack 51 to which the output of the write data register 52 is written, and a read data 510 of the second register stack 51.
and a selection circuit 53 which inputs the calculation result data 340 outputted from the calculation circuit 34, selectively outputs it and supplies it to the first register stack 50 and the write data register 52. . The first register stack 50 is
In the B phase, the register operands necessary for executing the instruction are read and the register operands 50 are read out.
0 to the instruction execution unit 4, and the calculation result data 3 output from the calculation circuit 34 in the W1 phase.
Write 40. Further, the second register stack 51 writes the same operation result data as above in the W2 phase, which is one machine cycle later than the W1 phase. The fault processing circuit 6 manages whether or not a fault has occurred in each part within the apparatus, and when detecting the occurrence of a fault, performs command retry processing. That is, when the occurrence of a failure is detected, an instruction retry instruction 603 is given to the instruction fetch unit 1. However, in particular, the first
If a failure occurs up to the second register stack 50, writing to the second register stack 51 is inhibited by a write inhibit signal 600, the contents of the register are read as read data 510, and the selection circuit 53 The read data 510 is selectively output by the selection signal 601. Then, the output data of the selection circuit 53 is written into the area corresponding to the register in the first register stack 50 by a write instruction signal 602. That is, the register in the first register stack 50 is restored to the state before execution of the failed instruction. After this recovery process is completed, an instruction retry instruction 603 is output to the instruction fetch unit 1. This series of operations makes it possible to retry the command in the majority of failures, and in the case of intermittent failures, which are said to occur at a frequency of more than half of all failures, it is possible to bring down the device. Processing can be continued without any problems.

第5図は、本実施例による命令処理のフエーズ
とマシンサイクルとの関係を示すタイムチヤート
である。同図においてフエーズW1は演算結果を
第1のレジスタスタツク50に格納するフエーズ
を示し、フエーズW2は上記と同一の演算結果が
第2のレジスタスタツク51へ書き込まれるフエ
ーズを示す。すなわち、命令I1の処理は、マシン
サイクルT1においてAフエーズ処理が、マシン
サイクルT2においてBフエーズ処理が行なわ
れ、マシンサイクルT3において命令の実行(E
フエーズ)および第1のレジスタスタツク50へ
の演算結果の書込み処理(W1フエーズ)がなさ
れる。マシンサイクルT4においては上記と同一
のデータが第2のレジスタスタツク51へ書き込
まれる(W2フエーズ)。従つて、命令I2の処理
は、マシンサイクルT2〜T5においてそれぞれ
A,B,E/W1,およびW2フエーズの処理がさ
れる。命令I3においても1マシンサイクル遅れで
同様の処理がされる。命令I4は、命令I3の演算結
果を使用する命令であるため、マシンサイクル
T5において、Bフエーズはレジスタ確定待ちと
なるが、命令I3の演算結果はマシンサイクルT5
でW1フエーズの処理を終了するから、マシンサ
イクルT6において命令I4のオペランド読出しを行
なうことができる。すなわち、第2図に示した従
来例と同一のペースで命令処理が可能である。そ
の後はマシンサイクルT7で命令実行(Eフエー
ズ)および演算結果の第1のレジスタスタツクへ
の書込み(W1フエーズ)がなされ、マシンサイ
クルT8で同一のデータが第2のレジスタスタツ
ク51へ書き込まれる。同様に、命令I5に対して
はマシンサイクルT6〜T9でそれぞれのフエーズ
処理が行なわれる。実質的にはマシンサイクル
T8で命令I5までの処理が完了することになる。す
なわち、第2図に示した従来例と同じ高速でパイ
プライン処理を行なうことが可能である。しか
し、本実施例においては、W2フエーズにおい
て、同一の演算結果データを第2のレジスタスタ
ツクに書き込む構成であるから、障害発生時に障
害処理回路6の制御により、第2のレジスタスタ
ツク51への誤つたデータ書込みを抑止し、命令
実行前の正しいレジスタ内容により命令の再試行
が可能となる。しかも、第3図に示された従来例
のように多くの処理時間を要しない。すなわち、
レジスタ確定待ちに要する時間は最小限であつ
て、しかも障害発生時における命令再試行が最大
限可能であり、間欠障害の場合の処理続行を可能
とし、高速性能、高信頼度の情報処理が達成でき
る効果がある。
FIG. 5 is a time chart showing the relationship between the phases of instruction processing and machine cycles according to this embodiment. In the figure, phase W 1 indicates a phase in which the calculation result is stored in the first register stack 50, and phase W 2 indicates a phase in which the same calculation result as above is written into the second register stack 51. That is, in the processing of instruction I 1 , A phase processing is performed in machine cycle T 1 , B phase processing is performed in machine cycle T 2 , and instruction execution ( E
phase) and writing processing of the operation result to the first register stack 50 ( W1 phase) is performed. In machine cycle T4 , the same data as above is written to the second register stack 51 ( W2 phase). Therefore, the instruction I2 is processed in the A, B, E/ W1 , and W2 phases in machine cycles T2 to T5 , respectively. Similar processing is performed for instruction I3 with a delay of one machine cycle. Instruction I 4 is an instruction that uses the operation result of instruction I 3 , so the machine cycle
At T 5 , the B phase waits for register confirmation, but since the operation result of instruction I 3 completes the processing of W 1 phase within machine cycle T 5 , the operand of instruction I 4 is read in machine cycle T 6 . be able to. That is, instructions can be processed at the same pace as the conventional example shown in FIG. Thereafter, in machine cycle T7 , the instruction is executed (E phase) and the operation result is written to the first register stack ( W1 phase), and in machine cycle T8 , the same data is written to the second register stack 51. is written to. Similarly, for instruction I5 , each phase process is performed in machine cycles T6 to T9 . essentially a machine cycle
Processing up to instruction I5 is completed at T8 . That is, it is possible to perform pipeline processing at the same high speed as in the conventional example shown in FIG. However, in this embodiment, since the same operation result data is written to the second register stack in the W2 phase, the second register stack 51 is written under the control of the failure processing circuit 6 when a failure occurs. This prevents erroneous data from being written to the register, and allows the instruction to be retried based on the correct register contents before the instruction is executed. Moreover, unlike the conventional example shown in FIG. 3, it does not require much processing time. That is,
The time required to wait for register confirmation is minimized, and instruction retries are maximized in the event of a failure, making it possible to continue processing even in the event of an intermittent failure, achieving high-speed performance and highly reliable information processing. There is an effect that can be achieved.

上記実施例では、第2のレジスタスタツク51
への演算結果データの書込みを、第1のレジスタ
スタツク50への書込みより1マシンサイクル遅
れとしたが、書込みデータレジスタ52をn段設
けることによりnマシンサイクル遅れとすること
もできる。この場合は、障害発生時に、第2のレ
ジスタスタツク51の内容をすべて第1のレジス
タスタツク50に転送したのち、複数命令分だけ
前に戻つて命令の再試行を実行することができ
る。従つて、例えば障害発生要因が数命令前に起
きているような障害に対しても有効となり、より
一層信頼度を向上させることが可能である。上述
のn段の書込みデータレジスタは、例えば、nワ
ードの読み書き同時可能メモリを採用し、各命令
の演算結果をそのレジスタ番号と共にワード方向
にサイクリツクに格納するようにすれば容易に実
現できる。
In the above embodiment, the second register stack 51
Although the writing of operation result data to the first register stack 50 is delayed by one machine cycle, the writing can be delayed by n machine cycles by providing n stages of write data registers 52. In this case, when a failure occurs, after all the contents of the second register stack 51 are transferred to the first register stack 50, it is possible to go back by a plurality of instructions and retry the instruction. Therefore, it is effective even for a failure in which the cause of the failure occurred several instructions ago, for example, and it is possible to further improve reliability. The above-mentioned n-stage write data register can be easily realized by, for example, adopting an n-word memory that can be read and written simultaneously, and storing the operation result of each instruction cyclically in the word direction together with its register number.

また、本発明を適用しようとする計算機システ
ムが、プログラムの処理をプロセス単位で行な
い、各プロセスに対してレジスタ群が1組ずつ定
義されていて、実行中でないプロセスに対応した
レジスタ群の内容は主記憶装置内に設けられた退
避用のエリアに退避させ、プロセス切替え時には
該退避用エリアから対応するレジスタ群の内容を
レジスタ群貯蔵装置へ転送回復後プロセスの実行
をするシステムであつて、上記レジスタ群の内容
の退避および回復を高速に行なうために、実行中
のプロセスに対応するレジスタ群を格納する第1
のレジスタスタツクの他に、実行中プロセス、前
回実行中であつたプロセス、次に実行すべきプロ
セス等に対応した複数組のレジスタ群を格納する
第2のレジスタスタツクを有するレジスタ群貯蔵
装置(特願昭56―190516号参照)を備えたシステ
ムである場合は、この情報処理装置は、上述のよ
うに、プロセス切替え処理高速化のために、第1
のレジスタスタツクの他にその数倍の容量を持つ
第2のレジスタスタツクを既に備えているから、
該第2のレジスタスタツクへの書込みを遅延させ
るための書込みデータレジスタを追加し、前記障
害処理回路の制御によつて障害時の再試行を行な
わせることが可能である。換言すれば、金物量を
殆んど増加させることなく本発明を適用して再試
行性を向上させることができる。
Furthermore, in a computer system to which the present invention is applied, program processing is performed in units of processes, one set of registers is defined for each process, and the contents of the registers corresponding to processes that are not running are A system that saves the contents of a corresponding register group to a save area provided in a main storage device, and transfers the contents of a corresponding register group from the save area to a register group storage device when switching processes, and executes the process after recovery. In order to save and restore the contents of the register group at high speed, the first register is used to store the register group corresponding to the running process.
In addition to the first register stack, the second register storage device has a second register stack that stores a plurality of sets of registers corresponding to the currently executing process, the previously executed process, the next process to be executed, etc. (Refer to Japanese Patent Application No. 56-190516), this information processing device is equipped with the first
In addition to this register stack, it already has a second register stack with several times the capacity.
It is possible to add a write data register for delaying writing to the second register stack, and to perform a retry in the event of a failure under the control of the failure handling circuit. In other words, the present invention can be applied to improve retry performance without substantially increasing the amount of metal objects.

以上のように、本発明においては、命令実行に
よる演算結果データを命令実行のマシンサイクル
と同一のマシンサイクルで書き込む第1のレジス
タスタツクと、遅延して書込む第2のレジスタス
タツクとを備えた構成としたから、オペランドに
前の命令の演算結果データを使用する命令に対し
ても、オペランド読出しフエーズにおけるレジス
タ確定待ちの期間を最小限に止めることが可能で
あり、しかも障害時における命令再試行の可能性
が大である。すなわち、処理時間を延長すること
なく、命令再試行の可能性を保有するから、高速
性能、高信頼度の情報処理が可能となるという大
なる効果を有する。
As described above, in the present invention, the first register stack is used to write operation result data resulting from instruction execution in the same machine cycle as the instruction execution machine cycle, and the second register stack is written to with a delay. Because of this configuration, even for instructions that use the operation result data of the previous instruction as an operand, it is possible to minimize the period of waiting for register confirmation in the operand read phase, and moreover, it is possible to minimize the period of waiting for register confirmation in the operand read phase. There is a high possibility of retrying. That is, since it has the possibility of retrying instructions without extending processing time, it has the great effect of enabling high-speed performance and highly reliable information processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は従来のパイプライン処理を行なう情報
処理装置の一例を示すブロツク図、第2図は上記
従来例の動作を説明するためのタイムチヤート、
第3図は別の従来例の動作を示すタイムチヤー
ト、第4図は本発明の一実施例を示すブロツク
図、第5図は上記実施例の動作を説明するための
タイムチヤートである。 図において、1……命令フエツチ部、2……バ
ツフア記憶部、3……命令実行部、4……レジス
タスタツク、5……レジスタ群貯蔵装置、6……
障害処理回路、30,31……選択回路、32…
…第1のオペランドレジスタ、33……第2のオ
ペランドレジスタ、34……演算回路、50……
第1のレジスタスタツク、51……第2のレジス
タスタツク、52……書込みデータレジスタ、5
3……選択回路、A……命令の読出し解読フエー
ズ、B……オペランドの読出しフエーズ、E……
命令の実行フエーズ、W,W1,W2……演算結果
の格納フエーズ。
FIG. 1 is a block diagram showing an example of an information processing device that performs conventional pipeline processing, and FIG. 2 is a time chart for explaining the operation of the conventional example.
FIG. 3 is a time chart showing the operation of another conventional example, FIG. 4 is a block diagram showing one embodiment of the present invention, and FIG. 5 is a time chart for explaining the operation of the above embodiment. In the figure, 1...instruction fetch section, 2...buffer storage section, 3...instruction execution section, 4...register stack, 5...register group storage device, 6...
Failure processing circuit, 30, 31...Selection circuit, 32...
...First operand register, 33... Second operand register, 34... Arithmetic circuit, 50...
First register stack, 51...Second register stack, 52...Write data register, 5
3... Selection circuit, A... Instruction reading and decoding phase, B... Operand reading phase, E...
Instruction execution phase, W, W 1 , W 2 ... operation result storage phase.

Claims (1)

【特許請求の範囲】 1 命令の読出し解読を行う命令フエツチ部1
と、命令を実行する命令実行部3と、命令実行に
必要なレジスタ群を貯蔵し命令実行に使用される
レジスタオペランドを前記命令実行部へ供給し命
令実行による演算結果を格納するレジスタ群貯蔵
装置5とを備え、命令の読出し解読とオペランド
の読出しと命令実行とを複数の命令に対してオー
バーラツプして実行しパイプライン処理を行う情
報処理装置において、 前記レジスタ群貯蔵装置は、命令実行に使用さ
れるレジスタオペランドを供給し命令実行による
演算結果を格納する第1のレジスタスタツク50
と、該第1のレジスタスタツクより遅れたタイミ
ングで上記演算結果と同一のデータを書き込む第
2のレジスタスタツク51とを内蔵し、 当該装置内の障害の発生を監視し障害発生時に
は前記第2のレジスタスタツクへの書き込みを禁
止しかつ前記第2のレジスタスタツクの内容を前
記第1のレジスタスタツクの対応するエリアに書
き込ませる障害処理回路を備えたことを特徴とす
る情報処理装置。
[Claims] 1. Instruction fetch unit 1 that reads and decodes instructions.
, an instruction execution unit 3 that executes instructions, and a register group storage device that stores register groups necessary for instruction execution, supplies register operands used for instruction execution to the instruction execution unit, and stores arithmetic results by instruction execution. 5, the information processing device performs pipeline processing by overlapping instruction reading/decoding, operand reading, and instruction execution for multiple instructions, wherein the register group storage device is used for instruction execution. a first register stack 50 for supplying register operands to be executed and storing arithmetic results from instruction execution;
and a second register stack 51 that writes the same data as the arithmetic result at a timing later than that of the first register stack, and monitors the occurrence of a failure within the device, and when a failure occurs, the second register stack 51 An information processing device comprising: a failure processing circuit that prohibits writing to a second register stack and causes the contents of the second register stack to be written to a corresponding area of the first register stack. .
JP57003407A 1982-01-14 1982-01-14 Information processing device Granted JPS58121457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57003407A JPS58121457A (en) 1982-01-14 1982-01-14 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57003407A JPS58121457A (en) 1982-01-14 1982-01-14 Information processing device

Publications (2)

Publication Number Publication Date
JPS58121457A JPS58121457A (en) 1983-07-19
JPS6218057B2 true JPS6218057B2 (en) 1987-04-21

Family

ID=11556524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57003407A Granted JPS58121457A (en) 1982-01-14 1982-01-14 Information processing device

Country Status (1)

Country Link
JP (1) JPS58121457A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020009211A1 (en) 2018-07-06 2020-01-09 Jeインターナショナル株式会社 Search device and program
WO2020090564A1 (en) * 2018-10-30 2020-05-07 Jeインターナショナル株式会社 Chat system, chatbot server device, chatbot id management device, chat mediation server device, program, chat method, and chat mediation method
US10688919B2 (en) 2014-05-16 2020-06-23 Uber Technologies, Inc. User-configurable indication device for use with an on-demand transport service
US10706659B2 (en) 2016-10-12 2020-07-07 Uber Technologies, Inc. Facilitating direct rider-driver pairing
US10867330B2 (en) 2014-02-07 2020-12-15 Uber Technologies, Inc. User controlled media for use with on-demand transport services
US11277209B2 (en) 2017-01-06 2022-03-15 Uber Technologies, Inc. Method and system for ultrasonic proximity service
US11379761B2 (en) 2014-03-13 2022-07-05 Uber Technologies, Inc. Configurable push notifications for a transport service
US11671791B2 (en) 2015-07-10 2023-06-06 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US11675979B2 (en) 2018-11-30 2023-06-13 Fujitsu Limited Interaction control system and interaction control method using machine learning model

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6277650A (en) * 1985-09-30 1987-04-09 Nec Corp Information processor equipped with advanced control part
JP5129450B2 (en) * 2006-01-16 2013-01-30 ルネサスエレクトロニクス株式会社 Information processing device
US10467896B2 (en) 2014-05-29 2019-11-05 Rideshare Displays, Inc. Vehicle identification system and method
US9892637B2 (en) 2014-05-29 2018-02-13 Rideshare Displays, Inc. Vehicle identification system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867330B2 (en) 2014-02-07 2020-12-15 Uber Technologies, Inc. User controlled media for use with on-demand transport services
US11379761B2 (en) 2014-03-13 2022-07-05 Uber Technologies, Inc. Configurable push notifications for a transport service
US10688919B2 (en) 2014-05-16 2020-06-23 Uber Technologies, Inc. User-configurable indication device for use with an on-demand transport service
US11241999B2 (en) 2014-05-16 2022-02-08 Uber Technologies, Inc. User-configurable indication device for use with an on-demand transport service
US11671791B2 (en) 2015-07-10 2023-06-06 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US10706659B2 (en) 2016-10-12 2020-07-07 Uber Technologies, Inc. Facilitating direct rider-driver pairing
US11030843B2 (en) 2016-10-12 2021-06-08 Uber Technologies, Inc. Implementing a transport service using unique identifiers
US11277209B2 (en) 2017-01-06 2022-03-15 Uber Technologies, Inc. Method and system for ultrasonic proximity service
WO2020009211A1 (en) 2018-07-06 2020-01-09 Jeインターナショナル株式会社 Search device and program
WO2020090564A1 (en) * 2018-10-30 2020-05-07 Jeインターナショナル株式会社 Chat system, chatbot server device, chatbot id management device, chat mediation server device, program, chat method, and chat mediation method
KR20200049526A (en) 2018-10-30 2020-05-08 제이이 인터네셔널 코포레이션 Chatting system, ChatBot Server Apparatus, ChatBot ID Managing Apparatus, Chatting Mediating Server Apparatus, Program, Chatting Method, and Chatting Mediating Method
US11675979B2 (en) 2018-11-30 2023-06-13 Fujitsu Limited Interaction control system and interaction control method using machine learning model

Also Published As

Publication number Publication date
JPS58121457A (en) 1983-07-19

Similar Documents

Publication Publication Date Title
US4912707A (en) Checkpoint retry mechanism
JPH02257219A (en) Pipeline processing apparatus and method
JPH07117903B2 (en) Disaster recovery method
JPS6218057B2 (en)
US7640450B1 (en) Method and apparatus for handling nested faults
US5283891A (en) Error information saving apparatus of computer
JPH1196006A (en) Information processor
EP0212132A1 (en) Method and digital computer for recovering from errors
JP2671160B2 (en) Exception handling method
JPH04181331A (en) Instruction retry system
JP3240660B2 (en) Data processing device
JPH0368034A (en) Checkpoint retesting system
USRE27485E (en) Ls ec sdr
JP3621477B2 (en) How to retry a microprogram
JPS60214043A (en) Pipeline control circuit
JPS5968060A (en) Retrial system of control memory
JPS59218555A (en) Microprogram control device
JPH0640304B2 (en) Control memory error processing method
JPS58166454A (en) Data processor
JPS59220844A (en) Instruction reexecution control system
JPS62166451A (en) History analyzing device for logical unit
JPS5999556A (en) Information processor
JPS63214856A (en) Data protection control system for data processing unit
JPH0621993B2 (en) Instruction re-execution control method
JPH0797326B2 (en) Information processing equipment