JP2564290B2 - Instruction restart processing method and apparatus - Google Patents

Instruction restart processing method and apparatus

Info

Publication number
JP2564290B2
JP2564290B2 JP62022347A JP2234787A JP2564290B2 JP 2564290 B2 JP2564290 B2 JP 2564290B2 JP 62022347 A JP62022347 A JP 62022347A JP 2234787 A JP2234787 A JP 2234787A JP 2564290 B2 JP2564290 B2 JP 2564290B2
Authority
JP
Japan
Prior art keywords
instruction
microprogram
storage means
address
read address
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 - Lifetime
Application number
JP62022347A
Other languages
Japanese (ja)
Other versions
JPS63191239A (en
Inventor
壮一 高谷
隆行 森岡
義弘 宮崎
忠秋 坂東
伸一朗 山口
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 JP62022347A priority Critical patent/JP2564290B2/en
Priority to DE3735828A priority patent/DE3735828C2/en
Priority to US07/111,618 priority patent/US5003458A/en
Publication of JPS63191239A publication Critical patent/JPS63191239A/en
Priority to US07/674,398 priority patent/US5146569A/en
Application granted granted Critical
Publication of JP2564290B2 publication Critical patent/JP2564290B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御方式のデータ処理
装置における、命令再開処理方法および装置に関する。
Description: TECHNICAL FIELD The present invention relates to an instruction restart processing method and apparatus in a microprogram control type data processing apparatus.

〔従来の技術〕[Conventional technology]

従来、処理装置の間歇的な誤動作からの回復方法とし
ては、命令の最初からの再実行が一般的であつた。この
ような命令再実行は、特公昭47−48614号に記載のよう
に、実行する命令で破壊されるレジスタの内容あるいは
記憶装置の内容を退避しておき、誤動作の検出時に元の
レジスタあるいは記憶装置に戻して、命令を最初から再
実行していた。ところが、命令が高機能化されると、退
避しなければならない情報が増す上、処理速度を低下す
る問題があつた。
Conventionally, re-execution of an instruction from the beginning has been generally used as a method of recovering from an intermittent malfunction of a processing device. Such instruction re-execution saves the contents of the register or the contents of the storage device destroyed by the instruction to be executed, as described in JP-B-47-48614, and saves the original register or memory when a malfunction is detected. I returned to the device and re-executed the instruction from the beginning. However, when the function of the instruction is enhanced, there is a problem that the information that must be saved increases and the processing speed decreases.

一方、システムアーキテクチヤが高級化するに従い、
命令の中断要因として、前記誤動作の他に仮想記憶サポ
ートのために必然的に発生するミツシング・ページ・フ
オールト等があり、このような高機能命令の実行途中で
ミッシングページフォールト等が発生した場合、命令再
開時に、最初から高機能命令の再実行を行うことは難し
い。この問題に対し、命令の処理途中からの再開方式が
提案されている。USP4488228あるいは特開昭53−84540
号に記載の命令途中再開方式は、命令中断が発生した場
合に、命令中断時点の内容を退避しておき、再開時に退
避情報を回復して処理を再実行している。しかし、前記
命令途中再開方式においては、中断時点の退避情報が多
大となるという問題がある。特にパイプライン方式のデ
ータ処理装置においては、複数のユニツトの制御情報を
退避する必要があり、退避・回復のためのハードウエア
が大規模になると共に、退避・回復の時間が大きくな
る。
On the other hand, as the system architecture becomes more sophisticated,
As an instruction interruption factor, there is a missing page fault or the like that is inevitably generated for virtual memory support in addition to the malfunction, and when a missing page fault or the like occurs during the execution of such a high-performance instruction, When the instruction is restarted, it is difficult to re-execute the high-performance instruction from the beginning. To solve this problem, a restart method has been proposed in the middle of processing an instruction. USP 4488228 or JP-A-53-84540
In the mid-instruction restart method described in No. 6, when the instruction is interrupted, the contents at the time of the instruction interruption are saved, the saved information is recovered at the time of restart, and the processing is re-executed. However, there is a problem that the saved information at the time of interruption becomes large in the above-mentioned instruction midway restart method. In particular, in a pipeline type data processing device, it is necessary to save control information of a plurality of units, and the hardware for saving / restoring becomes large-scale and the saving / restoring time becomes long.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

従来の命令途中再開方式では、命令の再開のための退
避情報が多大となる問題があつた。
The conventional instruction midway restart method has a problem that a large amount of save information is required for restarting an instruction.

本発明の目的は、間歇的な誤動作に対するリトライ時
あるいは、ミツシング・ページ・フオールト等の命令中
断時に、退避情報の少ない再開処理方法および装置を提
供することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a restart processing method and apparatus with little saved information at the time of retry for intermittent malfunction or interruption of an instruction such as a mixing page fault.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、マイクロプログラム(マイクロ命令)の
指定により再開点を設定できるハードウエアを持つこ
と、すなわち、マイクロプログラムを格納した制御記憶
の再開アドレスを退避するレジスタとマイクロ命令の指
定により前記退避レジスタに再開点を書込み手段と、前
記退避レジスタに再開点が書込まれたことを記憶する再
開点有効フラグと、マイクロ命令により、前記再開点有
効フラグの内容を判別する手段と、前記退避レジスタに
書込まれている再開点より処理を再実行するハードウエ
アを持ち、中断命令を再開する際、中断点から再開する
のではなく、前記再開点有効フラグの内容を判定し、再
開点が設定されている場合は、退避レジスタの再開点よ
り、処理を再実行し、再開点が設定されていない場合
は、中断命令の命令フエツチから再実行することにより
達成される。
The object is to have hardware capable of setting a restart point by designating a microprogram (microinstruction), that is, a register for saving the restart address of the control memory storing the microprogram and a save instruction for the save register by designating the microinstruction. Resuming point writing means, a resuming point valid flag for storing that the resuming point has been written in the save register, means for discriminating the contents of the resuming point valid flag by a micro instruction, and writing in the save register. It has the hardware to re-execute the processing from the embedded restart point, and when the interrupt instruction is restarted, instead of restarting from the interrupt point, the contents of the restart point valid flag are judged and the restart point is set. If it is, the processing is re-executed from the restart point of the save register, and if the restart point is not set, the instruction It is accomplished by re-executed from the switch.

〔作用〕[Action]

再開点はマイクロプログラムにより指定するため、予
め再開が可能なステツプに設定でき、また再開が不可能
になる場合(再開点以降でソースとなるレジスタの更新
がある)は次の再開点を設定できる。このようにして予
め再開点を適切に設定し、また、再開点の設定が行なわ
れたかどうかを示すフラグを持ち、さらに、前記フラグ
をマイクロ命令で判別することにより、正しい再開が実
行される。
Since the restart point is specified by the microprogram, it can be set to a step that allows restart in advance, and if restart cannot be performed (the source register is updated after the restart point), the next restart point can be set. . In this way, the restart point is appropriately set in advance, and a flag indicating whether or not the restart point has been set is provided. Further, by discriminating the flag by the micro instruction, the correct restart is executed.

〔実施例〕〔Example〕

第2図は本発明のシステム構成例であり、命令の実行
を行う基本処理装置BPU1,キヤツシユメモリを内蔵し、
アドレス変換及びメモリの制御を行なうメモリ制御ユニ
ツトMCU2,命令及びデータを格納する主記憶装置MS3,高
速バスH−BUS9及び低速バスL−BUS10を制御するI/Oア
ダプタI/O ADPT4を構成要素としている。
FIG. 2 shows an example of the system configuration of the present invention, which includes a basic processing unit BPU1 for executing instructions and a cache memory.
The memory control unit MCU2 for address conversion and memory control, the main memory unit MS3 for storing instructions and data, the I / O adapter I / O ADPT4 for controlling the high-speed bus H-BUS9 and the low-speed bus L-BUS10 are components. There is.

本システムの動作を以下に説明する。 The operation of this system will be described below.

BPU1は、制御バス11,論理アドレスバス12,データバス
13を通してMCU2にアクセスする。MCU2は、論理アドレス
を論理アドレスに変換し、内蔵キヤツシユメモリに(以
下キヤツシユと略称する)に前記物理アドレスに対応す
るデータがあればデータバス13を通してBPU1に転送す
る。もしキヤツシユにデータがなければ、制御バス15,
物理アドレスバス16,データアス17を通してMS3にアクセ
スする。また、MCU2はアドレス変換を行なうときに対応
するページがMS3上にないとき、信号線14によりミツシ
ング・ページ・フオールトをBPU1に報告する。
BPU1 is control bus 11, logical address bus 12, data bus
Access MCU2 through 13. The MCU 2 converts the logical address into a logical address and transfers the data corresponding to the physical address to the BPU 1 through the data bus 13 in the built-in cache memory (hereinafter abbreviated as cache). If there is no data in the cache, control bus 15,
MS3 is accessed through the physical address bus 16 and the data address 17. Further, the MCU2 reports the mixing page fault to the BPU1 through the signal line 14 when the corresponding page is not present on MS3 when performing the address conversion.

またI/O ADPT4はH−BUS9とL−BUS10とからの転送要
求のアビツトレーシヨンを行ない、制御バス18,物理ア
ドレスバス19およびデータバス2を通してMCU2へアクセ
スする。H−BUS9には主にフアイル装置6などの高速デ
バイスが接続される。本実施例では、フアイル制御装置
5がH−BUS9に接続され、フアイル装置6を制御してDM
A転送を行なう。L−BUS10にはI/O制御装置7が接続さ
れ、I/O装置8を制御してDMA転送を行なう。
The I / O ADPT4 performs arbitration of transfer requests from the H-BUS 9 and the L-BUS 10, and accesses the MCU 2 through the control bus 18, physical address bus 19 and data bus 2. A high speed device such as a file device 6 is mainly connected to the H-BUS 9. In the present embodiment, the file control device 5 is connected to the H-BUS 9 and controls the file device 6 to control the DM.
A Transfer. An I / O control device 7 is connected to the L-BUS 10 and controls the I / O device 8 to perform DMA transfer.

第3図はBPU1の内部構成例を示す。 FIG. 3 shows an example of the internal configuration of BPU1.

IF100は命令を先行フエツチするユニツトであり、先
行フエツチされた命令を内部のバツフアに格納し、DA10
1から信号線106を通してくる命令要求毎に、前記内部バ
ツフアの命令を信号線107を通して渡す。DA101は、IF10
0から渡された命令をデコードして実行ユニツトE102の
命令に対応するマイクロプログラムのアドレスを生成
し、信号線109を通して渡す。またDA101は、マイクロプ
ログラムのアドレスと共に、前記命令のアドレスを信号
線110を通してE102に渡す。また、DA101は、命令のオペ
ランドの実効アドレスを計算し、信号線111を通してE
ユニツト102に渡す。E102はマイクロプログラム制御方
式の命令実行ユニツトであり、DA101から渡されるマイ
クロプログラムのアドレスとオペランドの実効アドレス
により、命令を実行する。E102はオペランドの読出しを
行なう場合、制御バス113,論理アドレスバス114,データ
バス115を通してMINF103にアクセス要求を行なう。IF10
0が命令フエツチを行なう場合は、制御バス104,論理ア
ドレスバス105,データバス116を通してMINF103に命令読
出しアクセス要求を行なう。MINF103は、IF100とE102の
アクセス要求のアビトレーシヨンを行ない、MCU2に対し
てアクセス要求を行なう。
The IF100 is a unit for prefetching instructions. It stores the prefetched instructions in an internal buffer and DA10
For each command request coming from 1 through the signal line 106, the command of the internal buffer is passed through the signal line 107. DA101 is IF10
The instruction passed from 0 is decoded and the address of the microprogram corresponding to the instruction of the execution unit E102 is generated and passed through the signal line 109. The DA 101 also passes the address of the instruction together with the address of the microprogram to the E 102 through the signal line 110. The DA 101 also calculates the effective address of the operand of the instruction and sends it through the signal line 111.
Hand it over to unit 102. E102 is an instruction execution unit of the microprogram control method, and executes an instruction by the address of the microprogram passed from DA101 and the effective address of the operand. When reading the operand, the E102 issues an access request to the MINF 103 through the control bus 113, the logical address bus 114, and the data bus 115. IF10
When 0 performs the instruction fetch, the instruction read access request is issued to the MINF 103 through the control bus 104, the logical address bus 105 and the data bus 116. The MINF 103 performs the aviation of the access request of the IF 100 and the E 102, and makes the access request to the MCU 2.

DA101とE102の間には、オペランド単位のパイプライ
ンとなつており、DA101で複数回のアドレス計算が実行
される場合は、DA101とE102は同一命令を処理する。ま
た、信号線112は、アドレス信号線であり、IF100,DA101
に対して、初期化後の命令を指定するためのものであ
る。
A pipeline for each operand is provided between DA101 and E102. When DA101 executes address calculation a plurality of times, DA101 and E102 process the same instruction. Further, the signal line 112 is an address signal line, and IF100, DA101
, For specifying the command after initialization.

第1図は、Eユニツト102の内部構成を示す。マイク
ロアドレスセレクタ(SEL)201は現マイクロ命令の次に
実行するマイクロアドレスを選択するためのセレクタで
あり、その入力としては、DA101から信号線109を通して
渡されるマイクロプログラムの先頭アドレス,インクリ
メンタ205からの現実行マイクロプログラムアドレス+
1,制御記憶204からの分岐アドレス,例外処理の固定ア
ドレス,ALU214出力バス216からのアドレス等である。マ
イクロアドレスセレクタ202にて選択されたマイクロア
ドレスはCSAR(Control Storage Address Register)20
3に送られ、CS(Control Storage)204に伝えられる。C
S204は64bit×8Kステツプのマイクロプログラムを格納
する制御記憶である。CS204の出力はBPU1のマシンサイ
クル毎に読出され、MIR(Micro Instrution Register)
206に格納され、内部制御バス217を通して、BPU1の内部
ハードウエアに伝達され、レジスタの読出し,書込み,
演算器の制御等を行なう。前記マイクロアドレスセレク
タ202は、CS出力の分岐指定信号及びTest Bit回路201に
より制御される。Test Bit回路201はCS出力信号を通し
てマイクロ命令に従つて条件判定を行ないマイクロアド
レスセレクタ202を制御する。Test Bit回路201の入力信
号としては、制御線108を通して伝達されるマイクロア
ドレス(信号109)のReady信号と実効アドレス(信号11
1)のReady信号,ステータスレジスタ215からの演算結
果ステータス信号,信号線113を通して伝達されるMCU2
へのアクセス応答信号,現命令でCSAR203の退避が実行
され、RPR207に有効な再開時のアドレス(チエツクポイ
ントアドレス)が設定されていることを示す信号等があ
る。またTest Bit回路201は、信号線113を通して伝達さ
れるアクセス応答にページ・フオールト(Page Fault)
等の命令中断要因が含まれる場合に、マイクロアドレス
セレクタが固定アドレスを選択するように制御されてい
る。RPR(Restart Pointer Register)207はマイクロ命
令の指定(書込信号はCS204より出力)によりCSAR203の
アドレスを退避するためのレジスタであり、本レジスタ
への書込みが実行された場合、その有効ビツトであるV2
08がセツトされる。実行ユニツト102の演算部は、ソー
スバス211,212,レジスタフアイル213,ALU214,ステータ
スレジスタ215,デイステイネーシヨンバス216より構成
される。レジスタフアイル213は8本の汎用レジスタと
8本のワークレジスタ及びスタツクポインタにより構成
され、MIR206の出力制御信号217により選択され、リー
ド又はライトが行なわれる。ALU214はソースバス211,21
2のデータにより演算を実行し、デイステイネーシヨン
バス216に出力すると共に演算結果のステータスをSR215
に格納する。SEL218はDA101から信号線111を通して渡さ
れる実効アドレスとデイステイネーシヨンバス216のデ
ータのいずれか一方を選択し、MAR(Memory Address Re
gister)219に出力する。MAR219は信号線114を通してメ
モリアクセスアドレスをMINF103に伝達する。
FIG. 1 shows the internal structure of the E unit 102. A micro address selector (SEL) 201 is a selector for selecting a micro address to be executed next to the current micro instruction, and its input is the start address of the micro program passed from the DA 101 through the signal line 109, and the incrementer 205. Currently executing microprogram address +
1, a branch address from the control memory 204, a fixed address for exception processing, an address from the ALU 214 output bus 216, and the like. The micro address selected by the micro address selector 202 is CSAR (Control Storage Address Register) 20.
3 is sent to CS (Control Storage) 204. C
S204 is a control memory that stores a 64-bit x 8K step microprogram. The output of CS204 is read every BPU1 machine cycle, and MIR (Micro Instrument Register)
It is stored in 206 and transmitted to the internal hardware of BPU1 through the internal control bus 217 to read / write registers.
Controls the computing unit. The micro address selector 202 is controlled by the CS output branch designation signal and the Test Bit circuit 201. The Test Bit circuit 201 controls the micro address selector 202 by performing a condition determination according to a micro instruction through the CS output signal. As the input signal of the Test Bit circuit 201, the Ready signal of the micro address (signal 109) transmitted through the control line 108 and the effective address (signal 11)
1) Ready signal, operation result status signal from status register 215, MCU 2 transmitted through signal line 113
Access response signal to, a signal indicating that the CSAR 203 has been saved by the current instruction, and an effective restart address (check point address) has been set in the RPR 207. In addition, the Test Bit circuit 201 responds to the access response transmitted through the signal line 113 with a page fault.
The micro address selector is controlled so as to select a fixed address when an instruction interruption factor such as the above is included. An RPR (Restart Pointer Register) 207 is a register for saving the address of the CSAR 203 according to the designation of a micro instruction (a write signal is output from CS204), and when writing to this register, it is a valid bit. V2
08 is set. The operation unit of the execution unit 102 is composed of source buses 211 and 212, register files 213, ALU 214, status register 215, and destination bus 216. The register file 213 is composed of eight general-purpose registers, eight work registers and a stack pointer, and is selected by the output control signal 217 of the MIR206 and read or write is performed. ALU214 is Source Bus 211,21
The operation is executed by the data of 2 and is output to the destination bus 216 and the status of the operation result is set to SR215.
To be stored. The SEL 218 selects either the effective address passed from the DA 101 through the signal line 111 or the data of the destination bus 216, and the MAR (Memory Address Rewrite) is selected.
gister) 219 to output. The MAR 219 transmits the memory access address to the MINF 103 via the signal line 114.

RDR220はMINF103より信号線115を通してデータを受け
取り、ソースバス211に出力する。WDR221はデイステイ
ネーシヨンバス216のデータ受け取り、信号線115を通し
てデータをMINF103に送出する。プログラムカウンタPC2
10はE102で実行中の命令のMS3上でのアドレスを格納す
るものでSEL209より渡される。SEL209はDA101より信号
線110を通じて渡される命令アドレスとデイステイネー
シヨンバス216の入力を選択してPC210に出力する。信号
線112はDA101及びIF100に対してイニシヤライズ時ある
いは分岐命令実行時に、次命令実行アドレスを渡すため
の信号線である。
The RDR 220 receives data from the MINF 103 through the signal line 115 and outputs it to the source bus 211. The WDR 221 receives the data of the day station bus 216, and sends the data to the MINF 103 through the signal line 115. Program counter PC2
10 stores the address on MS3 of the instruction being executed in E102, and is passed from SEL209. The SEL 209 selects the instruction address passed from the DA 101 through the signal line 110 and the input of the destination bus 216 and outputs it to the PC 210. The signal line 112 is a signal line for passing the next instruction execution address to the DA 101 and the IF 100 when initializing or executing a branch instruction.

第4図は、ミツシング・ページ・フオールト発生時の
マイクロプログラム,エラー処理マイクロプログラム及
びOSプログラムの処理を示す。
FIG. 4 shows the processing of a microprogram, an error processing microprogram and an OS program when a mixing page fault occurs.

第4図(a)は命令マイクロプログラム中でメモリへ
データをライトする時のフローを示し、1ステツプがそ
のまま1マイクロ命令を示す。ステツプ(1)の‘WDR
←DRO'はレジスタフアイル213中の汎用レジスタDROの内
容をWDR221へセツトすることを示し、‘RPRSET'は、CSA
R203の制御記憶アドレスをRPR207にセツトし、V208をセ
ツトすることを示す。ステツプ(2)の‘MWT'はメモリ
へライトアクセス起動をかけることを示す。ステツプ
(3)の‘MAW'はステツプ(2)のライトアクセス起動
に対する応答を待つステツプである。もし、このライト
アクセスによりミツシング・ページ・フオールトが発生
すれば、TEST BIT回路201により、マイクロプログラム
アドレスセレクタ209はエラー処理の固定アドレスを選
択し、そこへジヤンプする。もし、正常終了応答が返さ
れた場合、エラー処理にはジヤンプせず、次のステツプ
へ進む。
FIG. 4 (a) shows the flow when writing data to the memory in the instruction microprogram, and one step shows one micro instruction as it is. Step (1) 'WDR
← DRO 'indicates to set the contents of general register DRO in register file 213 to WDR221, and'RPRSET' indicates CSA.
It shows that the control storage address of R203 is set in RPR207 and V208 is set. "MWT" in step (2) indicates that write access to the memory is activated. 'MAW' in step (3) is a step waiting for a response to the write access activation in step (2). If this writing access causes a mixing page fault, the TEST BIT circuit 201 causes the microprogram address selector 209 to select a fixed address for error processing and jump to it. If a normal end response is returned, the error processing is not jumped and the process proceeds to the next step.

第4図(b)の詳細内容を第5図に示す。 The detailed contents of FIG. 4 (b) are shown in FIG.

第5図における1ステツプは複数のマイクロ命令によ
り実行される。ステツプ(1)はV208がonしているか否
かTEST BIT回路201により判定しonnしている場合はイン
クリメンタ205のアドレスがマイクロプログラムセレク
タ202により選択されステツプ(2)へ移る。onしてい
ない場合は、CS出力の分岐アドレスがマイクロアドレス
セレクタ202により選択されステツプ(6)に移る。ス
テツプ(2)は、現時点の内部レジスタの退避を行なう
ステツプである。ステツプ(3)は次命令のアドレスを
DA101から信号線110を通して受け取り、スタツクに退避
する。ステツプ(4)は、再開時に途中再開させるため
の識別子αをスタツクに書込む。ステツプ(6)はOSプ
ログラムのページフオールト処理に分岐することを示
す。ステツプ(6)は、命令フエツチから再開するのに
必要な内部レジスタを退避することを示す。ステツプ
(7)は、再開時に命令フエツチから再開するための識
別子βをライトすることを示す。
One step in FIG. 5 is executed by a plurality of micro instructions. In step (1), whether the V208 is on or not is determined by the TEST BIT circuit 201, and if it is on, the address of the incrementer 205 is selected by the microprogram selector 202 and the process proceeds to step (2). If it is not turned on, the branch address of the CS output is selected by the micro address selector 202 and the process proceeds to step (6). Step (2) is a step for saving the current internal register. Step (3) specifies the address of the next instruction
Received from DA101 through signal line 110 and saved in the stack. Step (4) writes the identifier α for restarting in the middle at the time of restart. Step (6) indicates branching to the page fault processing of the OS program. Step (6) indicates saving the internal registers required to resume from the instruction fetch. Step (7) indicates that the identifier β for resuming from the instruction fetch is written when resuming.

第4図(c)は、まず、ページ・フオールトを発生さ
せたページをフアイル6よりMS3へ転送する処理(Page
Fault処理)を行ない、完了後、元の命令に戻るためRTE
(Return From Exception)命令を実行する。
In FIG. 4 (c), first, the process of transferring the page in which the page fault is generated from the file 6 to the MS3 (Page
Fault processing), and after completion, returns to the original instruction RTE
(Return From Exception) command is executed.

第6図はRTE命令の詳細内容を示したものである。ス
テツプ(1)はスタツク上の識別子により命令途中再開
(識別子=α)か、命令フエツチ再開(識別子=β)か
を判定する。ステツプ(2)は、スタツク上から次命令
のPCをリードして、IF100,DA101に対して次命令から命
令の実行を開始することを指示する。このとき、次命令
アドレスは、信号線112によりE102から、IF100及びDA10
1に渡される。ステツプ(3)は内部レジスタを回復す
るステツプであり、RPR以外の退避レジスタを回復す
る。ステツプ(4)は、RPRの退避情報をCSAR203にセツ
トして、中断命令の再開点に復帰するステツプである。
ステツプ(5)は、退避情報を回復するステツプ、ステ
ツプ(6)は中断命令を命令フエツチから再実行させる
ためのステツプであり、中断命令のアドレスが信号線11
2を通してE102からIF100及びDA101に渡される。さら
に、ステツプ(6)にてE102は命令待ち状態となる。
FIG. 6 shows the detailed contents of the RTE instruction. Step (1) determines whether the instruction is restarted midway (identifier = α) or the instruction fetch is restarted (identifier = β) based on the identifier on the stack. Step (2) reads the PC of the next instruction from the stack and instructs the IF100 and DA101 to start executing the instruction from the next instruction. At this time, the next instruction address is sent from E102 to IF100 and DA10 via the signal line 112.
Passed to 1. Step (3) is a step for recovering the internal register, and recovers the save registers other than RPR. Step (4) is a step of setting the save information of the RPR in the CSAR 203 and returning to the restart point of the interrupt instruction.
Step (5) is a step for recovering the saved information, and step (6) is a step for re-executing the interrupt instruction from the instruction fetch. The address of the interrupt instruction is the signal line 11.
Passed from E102 to IF100 and DA101 through 2. Further, in step (6), the E102 enters a command waiting state.

以上のように本発明では、命令中断点とは異なる再開
点を柔軟に設定することが可能となり、再開点を適切な
ステツプ設定することにより、実行ユニツトE102の退避
情報を最小限にし、命令フエツチ,ユニツトIF100,デコ
ード&アドレス計算ユニツトDA101の命令実行の前処理
を行なうユニツトの制御情報の退避を不要とした。
As described above, according to the present invention, it is possible to flexibly set the restart point different from the instruction break point, and by setting the restart point at an appropriate step, the save information of the execution unit E102 is minimized, and the instruction fetch , Unit IF100, decode & address calculation unit DA101 does not need to save the control information of the unit which pre-processes instruction execution.

〔発明の効果〕〔The invention's effect〕

以上のように、本発明によれば、命令中断発生時の退
避情報を削減し、特に複数ユニツトのパイプライン処理
を行なうデータ処理装置において、前処理を行なうユニ
ツトの制御情報の退避を不要とした。また、高機能命令
に対して広範囲なリトライ処理を大規模なハードウエア
を必要とせず実現可能とした。
As described above, according to the present invention, saving information when an instruction interruption occurs is reduced, and particularly in a data processing device that performs pipeline processing of a plurality of units, saving of control information of a unit that performs preprocessing is unnecessary. . In addition, a wide range of retry processing for high-performance instructions can be realized without the need for large-scale hardware.

【図面の簡単な説明】 第1図は本発明のハードウエアの構成図。第2図は本発
明のシステム構成例。第3図は本発明のデータ処理装置
の内部構成図。第4図は、本発明の実施例におけるペー
ジフオールト処理概略図。第5図はエラー(Page Faul
t)処理のマイクロプログラムの内容を示すフロー図、
第6図はRTE命令の内容を示すフロー図である。 1……基本処理装置(BPU)、2……メモリ制御ユニツ
ト(MCU)、3……主記憶(MS)、203……制御記憶アド
レスレジスタ(CSAR)、204……制御記憶(CS)、207…
…Restart Point Register(RPR)、208……Restart Po
int Valid Bit(V)。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of hardware of the present invention. FIG. 2 is a system configuration example of the present invention. FIG. 3 is an internal block diagram of the data processing apparatus of the present invention. FIG. 4 is a schematic diagram of page fault processing in the embodiment of the present invention. Figure 5 shows an error (Page Faul
t) Flow chart showing the contents of the processing microprogram,
FIG. 6 is a flow chart showing the contents of the RTE instruction. 1 ... Basic processing unit (BPU), 2 ... Memory control unit (MCU), 3 ... Main memory (MS), 203 ... Control memory address register (CSAR), 204 ... Control memory (CS), 207 …
… Restart Point Register (RPR), 208 …… Restart Po
int Valid Bit (V).

───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂東 忠秋 日立市久慈町4026番地 株式会社日立製 作所日立研究所内 (72)発明者 山口 伸一朗 日立市久慈町4026番地 株式会社日立製 作所日立研究所内 (56)参考文献 特開 昭57−164343(JP,A) 特開 昭53−32646(JP,A) 特開 昭53−84540(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Tadaaki Bando 4026 Kujimachi, Hitachi City Hitachi, Ltd., Hitachi Research Laboratory (72) Shinichiro Yamaguchi 4026 Kujicho, Hitachi City Hitachi, Ltd. Hitachi Research Co., Ltd. In-house (56) Reference JP-A-57-164343 (JP, A) JP-A-53-32646 (JP, A) JP-A-53-84540 (JP, A)

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】主記憶装置から読出された命令の実行をマ
イクロプログラムによつて行うマイクロプログラム制御
方式のデータ処理装置において、 該命令の少なくとも1つは、命令実行用マイクロプログ
ラム中に命令中断後の再開のためのマイクロプログラム
の読出しアドレスを決定するマイクロ命令を有し、 命令の実行の中断が発生すると、 前記マイクロ命令が実行され、再開のためのマイクロプ
ログラムの読出しアドレスを保持するために退避し、更
に当該読出しアドレスが退避されたことを示すグラフを
セットし、 誤動作に対するリトライ処理またはミッシングページフ
ォールト処理を含むエラー処理へ移行し、 前記エラー処理から、命令の実行へ復帰する際に、 前記フラグにより、前記再開のためのマイクロプログラ
ムの読出しアドレスが退避されているか否かをチェック
し、 退避されている時には、退避されている読出しアドレス
に対応するマイクロプログラムを読出し、命令の実行を
開始し、 退避されていない時には、当該中断された命令の主記憶
装置からの読出し動作より開始させるようにしたことを
特徴とする命令再開処理方法。
1. A data processing device of a microprogram control system for executing an instruction read from a main storage device by a microprogram, wherein at least one of the instructions is in the instruction execution microprogram after the instruction is interrupted. Has a microinstruction that determines the read address of the microprogram for restarting, and when the execution of the instruction is interrupted, the microinstruction is executed and saved to hold the read address of the microprogram for restarting. Then, a graph indicating that the read address has been saved is set, and the process proceeds to error processing including retry processing for a malfunction or missing page fault processing, and when returning from the error processing to the execution of the instruction, Depending on the flag, the read-out address of the microprogram for restarting Check whether the address has been saved, and if it is saved, read the microprogram corresponding to the saved read address and start executing the instruction.If it is not saved, the interrupted instruction The instruction restart processing method is characterized in that the operation is started by a read operation from the main memory device.
【請求項2】前記フラグにより、前記再開のためのマイ
クロプログラムの読出しアドレスが退避されているか否
かのチェックは、チェック用のマイクロプログラムによ
って行うようにしたことを特徴とする特許請求の範囲第
1項記載の命令再開処理方法。
2. A check microprogram is used to check whether or not the read address of the microprogram for restarting is saved by the flag. The instruction restart processing method according to item 1.
【請求項3】退避されたマイクロプログラムの読出しア
ドレスは、前記マイクロ命令が実行される過程で、マイ
クロプログラムの指定により、その時点のマイクロプロ
グラムのアドレスに基づいて決定するようにしたことを
特徴とする特許請求の範囲第1項記載の命令再開処理方
法。
3. The read address of the saved microprogram is determined based on the address of the microprogram at that time by the designation of the microprogram during the execution of the microinstruction. The instruction restart processing method according to claim 1.
【請求項4】主記憶装置から読出された命令の実行をマ
イクロプログラムによつて行うマイクロプログラム制御
方式のデータ処理装置において、 マイクロプログラムを記憶している制御記憶の読出しア
ドレスを記憶する第1の記憶手段と、 マイクロプログラムの指定により、前記第1の記憶手段
に前記制御記憶の読出しアドレスを記憶させる手段、 前記読出しアドレスを第1の記憶手段に記憶しているか
否か記憶する第2の記憶手段と、 前記第2の記憶手段の内容をマイクロプログラムによっ
て判定する判定手段と、 前記第1の記憶手段に記憶されたアドレスよりマイクロ
プログラムを読出し、命令の実行を開始する手段を有
し、 命令の実行中に、命令の中断が発生した場合、マイクロ
プログラム中のあらかじめ定めたマイクロ命令で前記第
1の記憶手段へ記憶される読出しアドレスを指定し、 誤動作に対するリトライ処理またはミッシングページフ
ォールト処理を含むエラー処理から、命令の実行へ復帰
する際に、 前記第2の記憶手段の内容を判定し、 読出しアドレスが第1の記憶手段に記憶されていると第
2の記憶手段に記憶されていると判定された場合は、当
該読出しアドレスからマイクロプログラムを読出し命令
の実行を開始し、 読出しアドレスが第1の記憶手段に記憶されていないと
第2の記憶手段に記憶されていると判定された場合は、 前記中断された命令を、主記憶装置から再び読出す動作
から開始するようにしたことを特徴とする命令再開処理
装置。
4. A data processing apparatus of a microprogram control system for executing an instruction read from a main memory by a microprogram, wherein a first read address of a control memory storing the microprogram is stored. Storage means, means for storing a read address of the control storage in the first storage means by designating a micro program, second storage for storing whether or not the read address is stored in the first storage means Means for determining the contents of the second storage means by a microprogram, means for reading the microprogram from the address stored in the first storage means and starting execution of the instruction, If an instruction interruption occurs during execution of the When the read address to be stored in the first storage means is designated and the error processing including the retry processing or the missing page fault processing for the malfunction is returned to the execution of the instruction, the contents of the second storage means are judged. If it is determined that the read address is stored in the first storage means and that it is stored in the second storage means, the execution of the read instruction of the microprogram is started from the read address, and the read address is If it is determined that the instruction is not stored in the first storage means but is stored in the second storage means, the interrupted instruction is started from the operation of reading again from the main storage device. An instruction restart processing device characterized by:
【請求項5】主記憶装置から命令を読出して命令の実行
のための準備を行う第1のユニットと、 前記第1のユニットから命令実行に必要な信号を受取
り、命令の実行をマイクロプログラムにより行う第2の
ユニットを有し、 少なくとも前記第1、第2のユニットはパイプライン方
式をとるマイクロプログラム制御のデータ処置装置にお
いて、 マイクロプログラムの指定により、前記第2のユニット
は、が実行中の命令のマイクロプログラムの読出しアド
レスを記憶する第1の記憶手段と、 前記第1の記憶手段が、前記読出しアドレスを記憶して
いるか否かを記憶する第2の記憶手段とを有し、 命令の中断が発生し、誤動作に対するリトライ処理また
はミッシングページフォールト処理を含むエラー処理へ
移行し、前記エラー処理から、復帰する際に、 前記第2の記憶手段の内容を判定し、 前記第1の記憶手段に読出しアドレスが記憶されている
と判定された場合は、前記読出しアドレスからマイクロ
プログラムを読出し、命令の実行を開始し、前記第1の
ユニットに対して、前記中断命令の次の命令の主記憶装
置からの読出し動作から開始させるようにし、 前記第1の記憶手段に再開のための読出しアドレスが記
憶されていないと判定された場合、第2のユニットは、
前記第1のユニットに対して、前記中断命令を再度、主
記憶装置からの読出し動作から開始させるようにしたこ
とを特徴とする命令再開処理方法。
5. A first unit for reading an instruction from a main storage device to prepare for execution of the instruction, and a signal necessary for executing the instruction from the first unit to execute the instruction by a microprogram. In a microprogram-controlled data processing device in which at least the first and second units adopt a pipeline system, at least the first and second units are configured to execute the A first storage means for storing a read address of a microprogram of an instruction; and a second storage means for storing whether or not the first storage means stores the read address, When an interruption occurs, the error processing including the retry processing or the missing page fault processing for the malfunction is performed, and the error processing is recovered. In doing so, the contents of the second storage means are determined, and when it is determined that the read address is stored in the first storage means, the microprogram is read from the read address and the instruction is executed. The first unit is made to start from the operation of reading the instruction following the interruption instruction from the main storage device, and the read address for restart is stored in the first storage means. If not, the second unit
The instruction restart processing method, wherein the first unit is made to start the interrupt instruction again from a read operation from the main storage device.
JP62022347A 1986-10-24 1987-02-04 Instruction restart processing method and apparatus Expired - Lifetime JP2564290B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62022347A JP2564290B2 (en) 1987-02-04 1987-02-04 Instruction restart processing method and apparatus
DE3735828A DE3735828C2 (en) 1986-10-24 1987-10-22 Method for resuming instruction execution after an interruption in a microprocessor-controlled data processing device
US07/111,618 US5003458A (en) 1986-10-24 1987-10-23 Suspended instruction restart processing system based on a checkpoint microprogram address
US07/674,398 US5146569A (en) 1986-10-24 1991-03-25 System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62022347A JP2564290B2 (en) 1987-02-04 1987-02-04 Instruction restart processing method and apparatus

Publications (2)

Publication Number Publication Date
JPS63191239A JPS63191239A (en) 1988-08-08
JP2564290B2 true JP2564290B2 (en) 1996-12-18

Family

ID=12080137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62022347A Expired - Lifetime JP2564290B2 (en) 1986-10-24 1987-02-04 Instruction restart processing method and apparatus

Country Status (1)

Country Link
JP (1) JP2564290B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116188247B (en) * 2023-02-06 2024-04-12 格兰菲智能科技有限公司 Register information processing method, device, computer equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57164343A (en) * 1981-03-31 1982-10-08 Fujitsu Ltd Check point save system

Also Published As

Publication number Publication date
JPS63191239A (en) 1988-08-08

Similar Documents

Publication Publication Date Title
US5119483A (en) Application of state silos for recovery from memory management exceptions
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
EP0898743B1 (en) A multi-threaded microprocessor configured to execute interrupt service routines as a thread
US6230259B1 (en) Transparent extended state save
US4520441A (en) Data processing system
EP0297893A2 (en) Apparatus and method for recovering from page faults in vector data processing operations
EP0348652A2 (en) Checkpoint retry system
JPH0242569A (en) Context switching method and apparatus used for vector processing system
JPH07117903B2 (en) Disaster recovery method
JPH0215369A (en) Method and apparatus for executing instruction of vector processing system
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPH1021074A (en) Interruption control system, processor, and computer system
US4628445A (en) Apparatus and method for synchronization of peripheral devices via bus cycle alteration in a microprocessor implemented data processing system
JP2564290B2 (en) Instruction restart processing method and apparatus
US5841999A (en) Information handling system having a register remap structure using a content addressable table
US6209083B1 (en) Processor having selectable exception handling modes
JPH0754467B2 (en) Data processing device
JPH0133856B2 (en)
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
IE79236B1 (en) Apparatus and method for recovering from page faults in vector data processing operations
JPH0552535B2 (en)
JPH0250259A (en) Method and apparatus for handling exception of non-synchronous memory control with vector processor
JP2562838B2 (en) Processor and store buffer control method