JPH0368034A - Checkpoint retesting system - Google Patents

Checkpoint retesting system

Info

Publication number
JPH0368034A
JPH0368034A JP1204113A JP20411389A JPH0368034A JP H0368034 A JPH0368034 A JP H0368034A JP 1204113 A JP1204113 A JP 1204113A JP 20411389 A JP20411389 A JP 20411389A JP H0368034 A JPH0368034 A JP H0368034A
Authority
JP
Japan
Prior art keywords
instruction
checkpoint
store
address
abbreviated
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
JP1204113A
Other languages
Japanese (ja)
Inventor
Satoshi Kobayashi
智 小林
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1204113A priority Critical patent/JPH0368034A/en
Publication of JPH0368034A publication Critical patent/JPH0368034A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To retest a check point easily at a multiple processor system by providing a hardware which guarantees the stored result of another system processor against the self-system processor. CONSTITUTION:An instruction is fetched to an instruction register 5 and decoded. As a result of the decode, a virtual operand address and the instruction length are calculated. The virtual operand address is converted to a physical address by an address conversion buffer 6, and the instruction length is stored at an instruction length latch (IL) 114. An operand data is read out from a cache 7 by the converted physical address, and at the same time, the contents of the IL 114 are transferred to an IL 215. The operand data is sent to an execution part 8 for the execution of the instruction, and is also sent to a cache buffer 11 when storing is executed to the address of the cache 7. At the same time, the contents of the IL 215 are transferred to an IL 316, and is held during the instruction.

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、多重プロセッサシステムにおけるチェック
ポイント再試行方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] This invention relates to a checkpoint retry scheme in a multiprocessor system.

[従来の技術] 第4図に多重プロセッサシステムの一構成例を示す。図
中、(1)及び(2)は同一ハードウェア構r戊から成
るプロセッサPO及びPlであり、システムバス4を介
して互いに交信する。(3)は主記憶装置(MSと略す
)であり、プロセッサP O(1)及びプロセッサP 
112+の処理結果を格納する。
[Prior Art] FIG. 4 shows an example of the configuration of a multiprocessor system. In the figure, processors PO and Pl (1) and (2) are composed of the same hardware structure and communicate with each other via a system bus 4. (3) is a main storage device (abbreviated as MS), which is a main storage device (abbreviated as MS), which includes a processor P O (1) and a processor P
112+ processing results are stored.

第5図に上記プロセッサP O(11の構成要素の主要
部分を示す。図中、(5)はM S +31からフェッ
チした命令を格納する命令レジスタ(IRと略す)、(
6)はIR(51の出力をデコードした結果から求まる
オペランドのアドレス変換を行うアドレス変換バッファ
(TLBと酩す) 、(7)はT L B (6)の変
換結果からM S (3)の内容の写しを取り出すため
のキャッシュ(CACと略す) 、+81はCA C+
71の出力を処理する実行部(EX、Uと略す) 、 
(9)は汎用レジスタ等のワークレジスタを構成するロ
ーカルストレージ(LSと略す) 、(10)はL S
 (91の変更前の値をセーブするローカルストレーシ
バソファ(LSBと略す) 、(11)はCA C(7
1の変更前の値をセーブするキャッシュバッファ(CA
CBと略す) 、(]、、2)はM S (3+から順
次命令をフェッチするアドレスを保持する命令カウンタ
(ICと略す) 、(13)はチェックポイント確立の
度にIC(12)の値をセーブする命令カウンタバッフ
ァ(ICBと略す) 、 (19)はE X U +8
1からのストア実行時、ストアオペランドの内容を次の
チェックポイント確立までロックするためのロックアレ
ー(LKと略す) 、 (20)はE X U (81
からのチェックポイント確立リクエスト信号線(CKP
T線と略す)である。
FIG. 5 shows the main components of the processor P O (11). In the figure, (5) is an instruction register (abbreviated as IR) for storing instructions fetched from M
6) is an address translation buffer (combined with TLB) that converts the address of the operand determined from the result of decoding the output of IR (51), and (7) is TLB. Cache for retrieving copies of contents (abbreviated as CAC), +81 is CA C+
an execution unit (abbreviated as EX, U) that processes the output of 71;
(9) is local storage (abbreviated as LS) that constitutes a work register such as a general-purpose register, and (10) is LS.
(Local storage sofa (abbreviated as LSB) that saves the value before change of 91, (11) is CA C (7
Cache buffer (CA
(abbreviated as CB), (],, 2) is an instruction counter (abbreviated as IC) that holds the address for sequentially fetching instructions from M S (3+), (13) is the value of IC (12) every time a checkpoint is established. Instruction counter buffer (abbreviated as ICB) to save, (19) is E X U +8
When executing a store from 1, a lock array (abbreviated as LK) is used to lock the contents of the store operand until the next checkpoint is established.
Checkpoint establishment request signal line (CKP
(abbreviated as T line).

次に動作について説明する。命令は、IC(12)で示
されるM S +31のアドレスからIR[5)にフェ
ッチされ、デコードされる。デコードの結果求まった仮
想オペランドアドレスは、T L B f6+により物
理アドレスに変換される。変換された物理アドレスによ
り、CA C(71からオペランドデータが読み出され
、命令実行のためにE X U (81へ送られるとと
もに、命令実行の結果、当該CA Cf7+のアドレス
にストアが行われる場合には、CACB(11,)へも
送られる。一方、汎用レジスタに格納されているオペラ
ンドはL S (91より読み出されてE X U (
81へ送られるとともに、当該L S +91のアドレ
スにロードが行われる場合には、L S B (1,0
)へも送られる。E X U +81での実行結果は、
CAc +71及びL S (91へ書き込まれる。C
A C(71への書き込みを行う際には、当該書き込み
データを次のチェックポイント確立時点まで他系プロセ
ッサから変更されないようにするため、ストアアドレス
に対応するL K (19)のエントリーにロックをセ
ットする。
Next, the operation will be explained. The instruction is fetched from the address of M S +31, indicated by IC(12), into IR[5] and decoded. The virtual operand address obtained as a result of decoding is converted into a physical address by T L B f6+. According to the converted physical address, operand data is read from CA C(71) and sent to EXU(81) for instruction execution. , it is also sent to CACB (11,). On the other hand, the operand stored in the general-purpose register is read from L S (91) and is sent to E X U (
81 and when loading is performed to the address of L S +91, L S B (1,0
) is also sent to. The execution result at E X U +81 is
CAc +71 and L S (written to 91. C
When writing to A C (71), a lock is placed on the entry of L K (19) corresponding to the store address in order to prevent the write data from being changed by other processors until the next checkpoint is established. set.

このロックの方式は特公昭61−2975号公報に示さ
れている。
This locking method is shown in Japanese Patent Publication No. 61-2975.

本プロセッサは、故障発生時に、直前に確立したチェッ
クポイントまでハードウェアの状態を復元して再試行す
る。チェックポイント再試行の機能を有する。故障が発
生した場合、L S B (10)からL S f9+
の変更内容を復元し、CACB(11)からCA、 C
(71の変更内容を復元し、I CB (13)からI
 C(12)をチェックポイント確立時点の命令アドレ
スに戻すことにより、直前のチェックポイントから再試
行する。
When a failure occurs, this processor restores the hardware state to the most recently established checkpoint and tries again. Has a checkpoint retry function. If a failure occurs, L S B (10) to L S f9+
Restore the changes in CACB (11) to CA, C
(Restore the changes in 71 and change I CB (13) to I
By returning C(12) to the instruction address at the time the checkpoint was established, a retry is made from the previous checkpoint.

次に、L K (19)の働きについて第6図を用いて
説明する。チェックポイント再試行時には、故障発生以
前に実行されたストア命令が再実行される。このため、
自系プロセッサPOの当該ストアの結果に対し、他系プ
ロセッサPLがストアを実行すると、チェックポイント
再試行の結果、他系プロセッサP1のストア結果が失わ
れることがある。LK(19)は、この問題を避けるた
めに設けられたもので、第6図に示す如く、ストア実行
時にセットされ、チェックポイント確立時にリセットさ
れる。他系プロセッサPLのストアは、LK(19)の
対象エントリーがセットされてる間は待たされ、自系プ
ロセッサPOのチェックポイント確立後に実行されるよ
う制御される。これにより、自系プロセッサPOがスト
ア実行後2次のチェックポイント確立までの間に故障し
、直前のチェックポイントから再試行することにより同
一ストアを再度実行しても他系プロセッサP1のストア
結果は保証される。最初のチェックポイント確立時点か
ら次のチェックポイント確立時点までの間をチェックポ
イントフレームと称する。
Next, the function of L K (19) will be explained using FIG. 6. When a checkpoint is retried, the store instruction that was executed before the failure occurs is re-executed. For this reason,
When a foreign processor PL executes a store on the store result of the own processor PO, the store result of the foreign processor P1 may be lost as a result of the checkpoint retry. LK (19) is provided to avoid this problem, and as shown in FIG. 6, is set when a store is executed and reset when a checkpoint is established. The store of the other system processor PL is made to wait while the target entry of LK (19) is set, and is controlled to be executed after the checkpoint of the own system processor PO is established. As a result, even if the own processor PO fails after executing the store and before establishing the secondary checkpoint, and the same store is executed again by retrying from the previous checkpoint, the store result of the other processor P1 will not be the same. Guaranteed. The period from the time when the first checkpoint is established to the time when the next checkpoint is established is called a checkpoint frame.

次に、チェックポイント確立時の動作を第5図を用いて
説明する。チェックポイント確立時には、先ず、先行す
るストアの処理完了を待つ(同期化と称する)。その後
、E X U (8)からCKPT線(20)を介して
チェックポイント確立要求が送出される。これにより、
LSB(10)及びCACB(11)の内容は無効化さ
れ、L K (19)の内容は全てリセットされ、I 
C(12)の内容がICB(13)にセーブされる。
Next, the operation when establishing a checkpoint will be explained using FIG. 5. When establishing a checkpoint, first wait for the processing of the preceding store to complete (referred to as synchronization). Thereafter, a checkpoint establishment request is sent from EXU (8) via the CKPT line (20). This results in
The contents of LSB (10) and CACB (11) are invalidated, all contents of L K (19) are reset, and I
The contents of C(12) are saved to ICB(13).

[発明が解決しようとする課題] 従来のチェックポイント再試行方式では、自系プロセッ
サのチェックポイントフレーム内でのスドア結果に対す
る他系プロセッサのストアを、自系プロセッサでの次の
チェックポイント確立まで待たせる必要があり、そのた
めの検出回路や排他回路が膨大かつ複雑になる問題点が
あった。また、他系プロセッサからのリクエストを待た
せるため、システム性能への悪影響があった。
[Problem to be Solved by the Invention] In the conventional checkpoint retry method, the storage of the checkpoint result in the checkpoint frame of the own processor in the other processor waits until the next checkpoint is established in the own processor. There was a problem in that the detection circuits and exclusion circuits required for this purpose were enormous and complex. In addition, system performance was adversely affected because requests from other processors were forced to wait.

この発明は上記のような問題点を解消するためになされ
たもので、少ない回路追加で容易に再試行ができる多重
プロセッサシステムを得ることを目的とする。
The present invention was made to solve the above-mentioned problems, and aims to provide a multiprocessor system that can easily perform retrials by adding a small number of circuits.

[課題を解決するための手段] この発明に係るチェックポイント再試行方式は、ストア
リクエストのペンディング数をカウントするカウンタを
備えて、ペンディングしているストアの完了を待たずに
チェックポイントを確立する非同期形チェックポイント
確立リクエストを発行するとともに、当該チェックポイ
ント確立リクエストを発行した命令の命令長を保持する
命令長保持手段を備え、非同期形チェックポイントを確
立したストア命令によるストアが完了したのちに故障が
発生した場合には、当該ストア命令の次の命令から再試
行を行うようにしたものである。
[Means for Solving the Problems] The checkpoint retry method according to the present invention is an asynchronous method that includes a counter that counts the number of pending store requests and establishes a checkpoint without waiting for the completion of pending stores. In addition to issuing an asynchronous checkpoint establishment request, the instruction length retaining means retains the instruction length of the instruction that issued the checkpoint establishment request, and a failure occurs after the store by the store instruction that established the asynchronous checkpoint is completed. If this occurs, a retry is made from the instruction following the store instruction.

[作用] この発明におけるチェックポイント再試行方式は、スト
ア命令実行の度に非同期形チェックポイントを確立し、
ペンディングストアリクエストカウンタを1増加し、当
該ストア命令の命令長を命令長保持手段(バッファやレ
ジスタ)にセーブし、ストア完了時点でペンディングス
トアリクエストカウンタを1減算することにより、チェ
ックポイントから再試行するとき、ペンディングストア
リクエストカウンタがLI Oljならばストア命令の
次の命令から再試行し、u O+yでないならばストア
命令から再試行するようにしたものである。
[Operation] The checkpoint retry method in this invention establishes an asynchronous checkpoint every time a store instruction is executed,
Increment the pending store request counter by 1, save the instruction length of the store instruction in the instruction length holding unit (buffer or register), and retry from the checkpoint by decrementing the pending store request counter by 1 when the store is completed. At this time, if the pending store request counter is LI_Olj, a retry is made from the instruction following the store instruction, and if it is not u_O+y, a retry is made from the store instruction.

すなわち、ストアが完了している場合には、ストア命令
の次から再試行し、自系プロセッサでのストア結果に対
する他系プロセッサのストア結果を保証する。また、ス
トアが完了していない場合には、ストア命令から再試行
し、プログラムの実行シーケンスを保証する。
That is, if the store has been completed, the next store instruction is retried to ensure that the store result of the other system processor is the same as the store result of the own system processor. Furthermore, if the store is not completed, the program is retried from the store instruction to ensure the program execution sequence.

[実施例] 以下、この発明の一実施例を図について説明する。[Example] An embodiment of the present invention will be described below with reference to the drawings.

第1図は、第4図に示したプロセッサP Of1+の本
実施例による構成要素の主要部分を示すブロック図であ
る。図中、(5)はM S [31からフェッチした命
令を格納する命令レジスタ(IRと略す’) 、(61
はIR(5)の出力をデコードした結果から求まるオペ
ランドのアドレス変換を行うアドレス変換バッファ(T
LBと略す) 、 (7)はT L B (61の変換
結果からM S +31の内容の写しを取り出すための
キャッシュ(CACと略す) 、 +81はCA C(
71の出力を処理する実行部(EXUと略す) 、+9
1は汎用レジスタ等のワークレジスタを構成するローカ
ルストレージ(LSと略す) 、(10)はL S +
91の変更前の値をセーブするローカルストレージバッ
ファ(LSBと略す)、(11)はCA C(71の変
更前の値をセーブするキャッシュバッファ(CACBと
略す) 、 (12)はM S +31から順次命令を
フェッチするアドレスを保持する命令カウンタ(ICと
略す) 、 (13)はチェックポイント確立の度にI
C(12)の値をセーブする命令カウンタバッファ(工
CBと略す) 、 (14)はデコード後の命令の命令
長を、TLB(81によるアドレス変換中保持する命令
長ラッチ1 (ILLと略す) 、(15)はCA C
(71のアクセス中、命令長を保持する命令長ラッチ2
(IL2と略す) 、(16)は命令実行中、命令長を
保持する命令長ラッチ3 (IL3と略す) 、(17
)は非同期形チェックポイント確立時、IL3(1B)
の内容を格納する命令長バッファ(ILCBと略す) 
、 (18)はE X U (8)のストアリクエスト
でカウントアツプし、CA Cfi+でのストア完了時
カウントダウンするペンディングストアリクエストカウ
ンタ(spcと略す) 、 (20)はE X U +
81からの同期形チェックポイント確立リクエスト信号
線、(21)はE X U (81からの非同期形チェ
ックポイント確立リクエスト信号線、(22)は上記各
信号線(20) 、 (21)の論理和をとるORゲー
ト、(23)はその出力で、同期形チェックポイント確
立リクエストか非同期形チェックポイント確立リクエス
トの何れかが有効なときに有効となるチェックポイント
確立リクエスト信号線である。
FIG. 1 is a block diagram showing the main components of the processor P Of1+ shown in FIG. 4 according to this embodiment. In the figure, (5) is an instruction register (abbreviated as IR') that stores the instruction fetched from M S [31, (61
is an address translation buffer (T
(abbreviated as LB), (7) is a cache (abbreviated as CAC) for extracting a copy of the contents of M S +31 from the conversion result of T LB (61), and +81 is CAC (abbreviated as CAC).
Execution unit (abbreviated as EXU) that processes the output of 71, +9
1 is local storage (abbreviated as LS) that constitutes a work register such as a general-purpose register, (10) is LS +
A local storage buffer (abbreviated as LSB) that saves the value before change of 91, (11) is a cache buffer (abbreviated as CACB) that saves the value before change of 71, (12) is from M S +31 An instruction counter (abbreviated as IC) that holds addresses for fetching instructions sequentially, (13) is
(14) is an instruction counter buffer (abbreviated as CB) that saves the value of C (12), and an instruction length latch 1 (abbreviated as ILL) that stores the instruction length of the decoded instruction during address conversion by TLB (81). , (15) is C A C
(Instruction length latch 2 that holds the instruction length during access to 71)
(abbreviated as IL2), (16) is an instruction length latch 3 (abbreviated as IL3), (17) that holds the instruction length during instruction execution.
) is IL3 (1B) when an asynchronous checkpoint is established.
instruction length buffer (abbreviated as ILCB) that stores the contents of
, (18) is a pending store request counter (abbreviated as spc) that counts up at the store request of EXU (8) and counts down when the store is completed in CA Cfi+, (20) is the pending store request counter (abbreviated as spc)
Synchronous checkpoint establishment request signal line from 81, (21) is EXU (asynchronous checkpoint establishment request signal line from 81, (22) is the logical sum of the above signal lines (20) and (21) The output of the OR gate (23) is a checkpoint establishment request signal line that becomes valid when either the synchronous checkpoint establishment request or the asynchronous checkpoint establishment request is valid.

次に動作について説明する。命令は、I C(12)で
示されるM S (31のアドレスからIR(5)にフ
ェッチされ、デコードされる。デコードの結果、仮想オ
ペランドアドレスと命令長が求まり、仮想オペランドア
ドレスは、T L B (61により物理アドレスに変
換され、命令長はI L 1 (14)に格納される。
Next, the operation will be explained. The instruction is fetched from the address of M S (31) indicated by I C (12) to IR (5) and decoded. As a result of decoding, the virtual operand address and instruction length are found, and the virtual operand address is T L B (61) converts it into a physical address, and the instruction length is stored in I L 1 (14).

変換された物理アドレスにより、CA C(71からオ
ペランドデータが読み出されると同時に、ILL(14
)の内容がI L 2 (15)へ移される。CA C
+7)から読み出されたオペランドデータは、命令実行
のためにE X tJ +8)へ送られるとともに、命
令実行により当該CA C+7)のアドレスにストアが
行われるときにはCACB(11)へも送られる。これ
と同時にI L、 2 (15)の内容がI L 3 
(16)へ移され、命令実行の間保持される。一方、汎
用レジスタに格納されているオペランドはL S +9
1より読み出され、E X U +81へ送られるとと
もに、当該L S (91のアドレスにロードが行われ
る場合にはL S B (10)へも送られる。E X
 U +81での実行結果は、CA C+71及びL 
S +91へ書き込まれる。
According to the converted physical address, operand data is read from CA C (71) and at the same time, ILL (14
) is moved to I L 2 (15). C.A.C.
The operand data read from +7) is sent to E X tJ +8) for instruction execution, and is also sent to CACB (11) when a store is performed to the address of CA C+7) by instruction execution. At the same time, the content of I L, 2 (15) becomes I L 3
(16) and is held during instruction execution. On the other hand, the operand stored in the general-purpose register is L S +9
1 and sent to E
The execution result on U +81 is CA C+71 and L
Written to S+91.

本プロセッサもチェックポイント再試行の機能を有し、
故障が発生した場合には、L S B (10)からL
 S +91の変更内容を復元し、CACB(11)か
らCA C(71の変更内容を復元し、I CB (1
,3)からI C(12)をチェックポイント確立時点
の命令アドレスに戻すことにより、直前のチェックポイ
ントから再試行する。
This processor also has a checkpoint retry function,
If a failure occurs, L S B (10) to L
Restore the changes of S +91, restore the changes of CA C (71) from CACB (11), and restore the changes of I CB (1
, 3), the I C (12) is returned to the instruction address at the time the checkpoint was established, thereby retrying from the previous checkpoint.

ここで、ストア命令実行後の故障の場合について説明す
る。E X U (8)は、ストア命令実行の度)こ非
同期形チェックポイント確立リクエスト信号線(21)
により、先ずチェックポイントを確立し、当該ストア命
令の命令アドレスをI CE (13)に、命令長をI
LCB(17)に格納するとともに、LSB(10)及
びCA CB (11,)の内容を無効化し、以降の故
障発生時に当該ストア命令から再試行できるようにする
。次にオペランドに対するストアを実行し、S P C
(18)をカウントアツプする。正常にストアが完了す
ると、c A C(7)からのストア完了報告によりS
 P C(18)はカウントダウンする。第2図に、ス
トア完了後に故障が発生した場合の処理例を示す。E 
X U (8)からのストア要求は、他のリクエストと
の競合により一旦保留状態となり、競合が解消すると実
際にCA C+71に書き込まれ、それに伴ってS P
 C(18)がカウントダウンし、“OF+に戻る。従
って、S P C(18)はストア要求発行時点からC
A C(71への書き込み完了までit 1 hpを保
持している。第2図は、s p c (18)がカウン
トダウンし 11 Q jlになった後に故障が発生し
た場合を示す。この場合、E X U +81はマシン
チエツクの割り込み処理内でS P C(18)の内容
が“0″であることからストア完了を知り、従って、直
前のチェックポイントでのストア命令を実行してはなら
ず、また実行する必要もないことを知る。そこで、E 
X U f8+は当該ストア命令の命令長をILCB(
17)から得てI CB (13)の値に加算した結果
をI C(12)へ格納することにより、当該ストア命
令の次の命令から再試行できるようにする。また、以上
の処理をすることから、当該ストア命令実行時はCA 
C(7)のストア前のデータをCACB(11)へ保存
しない0以上により、EXU(8)が誤ってストア結果
を書き戻し、他系プロセッサのストア結果を失うことが
防止される。第2図の場合、故障発生時点までに白糸プ
ロセッサのストアが完了し、他系プロセッサにストア結
果が見えてしまっているため、自系プロセッサが再試行
によりストアを再実行すると1両系プロセッサのプログ
ラム上の一貫性が保たれなくなる危険がある。
Here, a case of failure after execution of a store instruction will be described. EXU (8) is an asynchronous checkpoint establishment request signal line (21) every time a store instruction is executed.
First, a checkpoint is established, and the instruction address of the store instruction is set to I CE (13), and the instruction length is set to I CE (13).
It is stored in the LCB (17), and the contents of the LSB (10) and CA CB (11,) are invalidated so that a retry can be made from the store instruction in the event of a subsequent failure. Next, perform a store on the operand and S P C
Count up (18). When the store is completed normally, S
PC (18) counts down. FIG. 2 shows an example of processing when a failure occurs after the store is completed. E
The store request from X U (8) is temporarily put on hold due to conflict with another request, and when the conflict is resolved, it is actually written to CA C+71, and accordingly,
C(18) counts down and returns to "OF+. Therefore, SPC(18) counts down from the time the store request is issued.
It 1 hp is held until the writing to A C (71) is completed. Figure 2 shows a case where a failure occurs after sp c (18) counts down and reaches 11 Q jl. In this case, EXU+81 knows that the store is completed because the contents of SPC (18) are "0" during machine check interrupt processing, and therefore should not execute the store instruction at the previous checkpoint. , we also know that there is no need to execute it.Therefore, E
X U f8+ sets the instruction length of the store instruction to ILCB (
By storing the result obtained from step 17) and added to the value of I CB (13) in I C (12), it is possible to retry the instruction following the store instruction. Also, since the above processing is performed, when executing the store instruction, CA
The value of 0 or more that does not save data before storage in C(7) to CACB(11) prevents EXU(8) from erroneously writing back the store result and losing the store result of other system processors. In the case of Figure 2, the store of the Shiraito processor has been completed by the time the failure occurs, and the store result is visible to the processors of other systems, so when the own processor re-executes the store by retrying, the processors of both systems There is a risk that program consistency will not be maintained.

第3図に、ストアが保留中に故障が発生した場合を示す
。この場合、E X U (81は、マシンチエツク割
り込み内でS P C(1B)が′″1″であることか
らストアが保留しており、更にマシンチエツクからの回
復によりストアが消されたことを知り、従って、当該ス
トア命令から再実行する必要があることを知る。そこで
、E X U 18)はI CE (13)の値をその
ままIC(12)へ戻し、当該ストア命令から再試行で
きるようにする。通常、保留中のストアが故障箇所と切
り離せない場合には、故障発生と同時に状態を凍結し、
回復処理により保留中のストアを消去し、CAC(7)
をリクエスト待ち状態にして、再試行に悪影響が生じな
いようにする。
FIG. 3 shows a case where a failure occurs while a store is pending. In this case, E Therefore, E do it like this. Normally, if the pending store cannot be separated from the failure location, the status is frozen as soon as the failure occurs, and
The recovery process clears the pending store and returns CAC(7)
to wait for requests so that retries are not negatively affected.

逆に、故障から切り離せる場合には、故障による凍結を
しないため、故障部分の回復処理中にストアが完了して
、E X U (81のマシンチエツク割り込み処理時
点でS P C(18)はrto”になっている。
On the other hand, if it can be separated from the failure, the storage will be completed during the recovery process of the failed part and the SPC (18) will not be frozen due to the failure. rto”.

一方、同期形チェックポイント確立時は、先ず保留中の
全てのストアが完了したのち、チェックポイントの確立
を行う。従って、この時点でS P C(18)を“O
”とし、更にI L ’CB (17)の内容も“O”
とする。これにより、同期形チェックポイント確立後で
非同期形チェックポイント確立以前に故障が発生した場
合には、E X U (81がILCB(17)の値“
0”をI CB (1,3)に加算した後にIC(12
)に格納するため、チェックポイント確立点から再試行
できる。
On the other hand, when establishing a synchronous checkpoint, the checkpoint is established after all pending stores are completed. Therefore, at this point, S P C (18) is
”, and the content of I L 'CB (17) is also “O”.
shall be. As a result, if a failure occurs after the synchronous checkpoint is established but before the asynchronous checkpoint is established, E
0” to I CB (1, 3) and then IC (12
), so you can retry from the checkpoint establishment point.

[発明の効果] 以上のように、この発明によれば、自系プロセッサのス
トア結果に対する他系プロセッサのストア結果を保証す
るためのハードウェアを、ペンディングストアリクエス
トカウンタと命令長バッファで構成し、非同期形チェッ
クポイント確立リクエストを発行するようにしたので、
装置が安価にでき、また、システム性能への悪影響を少
なくする効果がある。
[Effects of the Invention] As described above, according to the present invention, the hardware for guaranteeing the store result of the other system processor with respect to the store result of the own system processor is configured with a pending store request counter and an instruction length buffer, Now that an asynchronous checkpoint establishment request is issued,
The device can be made inexpensive and has the effect of reducing adverse effects on system performance.

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

第1図はこの発明の一実施例によるプロセッサの要部構
成を示すブロック図、第2図は本実施例においてストア
完了後に故障が発生した場合の処理方式を示す概念図、
第3図は本実施例においてストア保留中に故障が発生し
た場合の処理方式を示す概念図、第4図は多重プロセッ
サシステムを示すブロック図、第5図は従来のプロセッ
サの要部構成を示すブロック図、第6図は従来のプロセ
ッサにおけるロック方式と再試行方式を示す概念図であ
る。 (11,+21はプロセッサ(PO,Pl)、(31は
主記憶装置(MS)、(71はキャッシュ(CAC)、
+8)は実行部(E XU) 、 +9+はローカルス
トレージ(LS)、(10)はローカルストレージバッ
ファ(L S B) 、 (11)はキャッシュバッフ
ァ(CACB) 、(12)は命令カウンタ(IC)、
(13)は命令カウンタバッファ(I CB) 、(1
7)は命令長バッファ(I LCB ;命令長保持手段
) 、 (18)はペンディングストアリクエストカウ
ンタ(spc)、(20)は同期形チェックポイント確
立リクエスト信号線・、(21)は非同期形チェックポ
イント確立リクエスト信号線。 なお、図中、同一符号は同一、又は相当部分を示す。
FIG. 1 is a block diagram showing the main part configuration of a processor according to an embodiment of the present invention, and FIG. 2 is a conceptual diagram showing a processing method in the case where a failure occurs after a store is completed in this embodiment.
FIG. 3 is a conceptual diagram showing a processing method in the case where a failure occurs while a store is pending in this embodiment, FIG. 4 is a block diagram showing a multiprocessor system, and FIG. 5 shows the main part configuration of a conventional processor. The block diagram in FIG. 6 is a conceptual diagram showing a lock method and a retry method in a conventional processor. (11, +21 are processors (PO, Pl), (31 is main memory (MS), (71 is cache (CAC),
+8) is the execution unit (EXU), +9+ is the local storage (LS), (10) is the local storage buffer (LSB), (11) is the cache buffer (CACB), and (12) is the instruction counter (IC). ,
(13) is the instruction counter buffer (I CB), (1
7) is an instruction length buffer (ILCB; instruction length holding means), (18) is a pending store request counter (spc), (20) is a synchronous checkpoint establishment request signal line, (21) is an asynchronous checkpoint Establishment request signal line. In addition, in the figures, the same reference numerals indicate the same or equivalent parts.

Claims (1)

【特許請求の範囲】 命令実行の途中結果を保持する手段を備え、所定命令単
位でチェックポイントを確立することにより、故障が発
生した命令アドレスから直前のチェックポイントへ戻っ
て再試行を行う機能を有する複数のプロセッサから成る
多重プロセッサシステムにおいて、 ストアリクエストのペンディング数をカウントするカウ
ンタを備えて、ペンディングしているストアの完了を待
たずにチェックポイントを確立する非同期形チェックポ
イント確立リクエストを発行するとともに、当該チェッ
クポイント確立リクエストを発行した命令の命令長を保
持する命令長保持手段を備え、非同期形チェックポイン
トを確立したストア命令によるストアが完了したのちに
故障が発生した場合には、当該ストア命令の次の命令か
ら再試行を行うことを特徴とするチェックポイント再試
行方式。
[Claims] The present invention includes means for retaining intermediate results of instruction execution, and by establishing a checkpoint for each predetermined instruction, a function is provided for returning from the instruction address where a failure has occurred to the previous checkpoint and retrying. In a multiprocessor system consisting of multiple processors, the system is equipped with a counter that counts the number of pending store requests, and issues an asynchronous checkpoint establishment request to establish a checkpoint without waiting for the completion of pending stores. , an instruction length holding unit that holds the instruction length of the instruction that issued the checkpoint establishment request, and if a failure occurs after the store by the store instruction that established the asynchronous checkpoint is completed, the instruction length of the instruction that issued the checkpoint establishment request is A checkpoint retry method characterized by retrying from the next instruction.
JP1204113A 1989-08-07 1989-08-07 Checkpoint retesting system Pending JPH0368034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1204113A JPH0368034A (en) 1989-08-07 1989-08-07 Checkpoint retesting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1204113A JPH0368034A (en) 1989-08-07 1989-08-07 Checkpoint retesting system

Publications (1)

Publication Number Publication Date
JPH0368034A true JPH0368034A (en) 1991-03-25

Family

ID=16485025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1204113A Pending JPH0368034A (en) 1989-08-07 1989-08-07 Checkpoint retesting system

Country Status (1)

Country Link
JP (1) JPH0368034A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683775A (en) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> Data processing system
US7686324B2 (en) 2003-12-01 2010-03-30 Takao Nishi Seat folding mechanism and wheel chair
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
JP2016024762A (en) * 2014-07-24 2016-02-08 日本電気株式会社 Information processor, memory order guarantee method and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683775A (en) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> Data processing system
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9565013B2 (en) 1998-09-10 2017-02-07 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US7686324B2 (en) 2003-12-01 2010-03-30 Takao Nishi Seat folding mechanism and wheel chair
JP2016024762A (en) * 2014-07-24 2016-02-08 日本電気株式会社 Information processor, memory order guarantee method and program

Similar Documents

Publication Publication Date Title
EP0121700B1 (en) Multiprocessor storage serialization apparatus
US4924466A (en) Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
JPH03201130A (en) Data processing system
JPH0242569A (en) Context switching method and apparatus used for vector processing system
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
EP0550283A2 (en) Invoking hardware recovery actions via action latches
JPS6218057B2 (en)
JPH0368034A (en) Checkpoint retesting system
JP3723243B2 (en) Processor device and control method thereof
JPS623347A (en) Saving system for error recovery information
US5673391A (en) Hardware retry trap for millicoded processor
JP2671160B2 (en) Exception handling method
JP2783285B2 (en) Information processing device
JPH05165663A (en) Data processor
JPH0133856B2 (en)
JPS6161143B2 (en)
JPS6010368A (en) Address conversion buffer control system
JPS61131047A (en) Pipeline controlling system
JPS60250440A (en) Retry control system
JPS59172044A (en) Instruction control system
JPH04181331A (en) Instruction retry system
JPS62115553A (en) Invalidating system for buffer storage
JPH02294761A (en) Sequential processing method for multiprocessor system
JPH01258154A (en) Control system for micro instruction execution
JPS6345654A (en) Invalidation processing system for information processor