JPS58166454A - Data processor - Google Patents

Data processor

Info

Publication number
JPS58166454A
JPS58166454A JP57048916A JP4891682A JPS58166454A JP S58166454 A JPS58166454 A JP S58166454A JP 57048916 A JP57048916 A JP 57048916A JP 4891682 A JP4891682 A JP 4891682A JP S58166454 A JPS58166454 A JP S58166454A
Authority
JP
Japan
Prior art keywords
instruction
register
data processing
processing device
flags
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
JP57048916A
Other languages
Japanese (ja)
Inventor
Takayuki Morioka
隆行 森岡
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 JP57048916A priority Critical patent/JPS58166454A/en
Publication of JPS58166454A publication Critical patent/JPS58166454A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Retry When Errors Occur (AREA)

Abstract

PURPOSE:To retry the execution of an instruction, by providing a register for storing a current address and two flags for indicating the presence of the current address of an instruction to be retried. CONSTITUTION:The output of a flag 29 indicates that host unit instructions are prepared and the value of a new PC is set in a register 7a. The output of a flag 30 shows that an error occurs to a host unit and the value of the new PC is not set in the register 7a. The outputs of those two flags are sent to a microprogram control circuit 33 and a microprogram makes a decision on them. Those are sent through signal lines 31 and 32. Gates 26-28 generate set condition for those flags and their setting timing is controlled by signal lines 34-36 from the microprogram control circuit 33.

Description

【発明の詳細な説明】 本発明は、命令を実行するデータ処理装置に係り、特に
命令や命令が扱うオペランドの準備と、命令の実示がパ
イプライン処理にて実行されるデータ処理装置に好適な
命令の再試行方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing device that executes an instruction, and is particularly suitable for a data processing device in which the preparation of an instruction and the operands handled by the instruction, and the execution of the instruction are executed by pipeline processing. Concerning the retry method for certain instructions.

データ処理装置の高信頼化、特に稼動率を上げる手段の
1つに、一時的な誤動作を再試行にて救うという方法が
ある。近年、この再試行の機能を有−rるデータ処理s
itが増えつつある。命令を実行するデータ処理mfl
lK於てけ、再試行の単位を命令にとることが一般的で
ある。又、高信頼化と相まって、データ処理装置の高速
化も急速に進んでおり、その典型的な技術のうちの1つ
が、命令実行に於るパイプライン処理でめる。パイプラ
イン処理を行うデータ処理fjliに於ては、現在実行
中の命令の次の命令の準備を、現在の命令が実行されて
いる間に行い、現在実行中の命令の実行が完了次第、す
ぐに次の命令の実行に移ることを可能にして高速化tl
liQっている。このようなパイプライン処理を行って
いるデータ処理装置に於ては、命令の再試行のための情
報、たとえば、どの命令を!4試行するのか、あるいは
、誓きかえたメモリの内容や、汎用レジスタの内容を保
存する必要があるために、ハードウェアの増加及び複雑
化を余儀なくされている。すなわち、パイプライン処理
を行うデータ処理装置に於て命令の再試行倉荷なおうと
すると、ハードウェアが増加し、また回路も複雑になる
という欠点があった。
One way to improve the reliability of a data processing device, particularly to increase its operating rate, is to recover from temporary malfunctions by retrying. In recent years, data processing systems that have this retry function have
IT is increasing. Data processing mfl that executes instructions
It is common for the unit of retry to be taken as an instruction. In addition, with the increase in reliability, data processing devices are rapidly increasing in speed, and one of the typical technologies is pipeline processing in instruction execution. In the data processing fjli that performs pipeline processing, the next instruction of the currently executing instruction is prepared while the current instruction is being executed, and as soon as the execution of the currently executing instruction is completed, the next instruction is prepared. speed up by making it possible to move on to the execution of the next instruction
liQ is here. In a data processing device that performs such pipeline processing, information for retrying an instruction, such as which instruction! 4 trials, or it is necessary to save the changed memory contents and the contents of general-purpose registers, which inevitably increases the hardware and complexity. That is, when attempting to retry instructions in a data processing device that performs pipeline processing, there is a drawback that the hardware increases and the circuit becomes complicated.

本発明の目的は、パイプライン制−を行うデータ処理袋
蓋に於て、命令の再試行をわずかなハードウェアの追加
により実現するデータ処理装置を提供するにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing device that realizes retrying of instructions by adding a small amount of hardware in a data processing system that uses a pipeline system.

本発明の特徴は、パイプライン制御を行うデータ処理装
置の命令実行ユニットの中K、現在実行中の命令のメモ
リ内の所在アドレスを格納するレジスタ(以下これをプ
ログラムカウンタ:PCと呼ぶ)と、再試行すべき命令
の所在アドレスが、パイプライン制御を行うユニットの
中のどこに存在するかを示すための2つのフラグを設け
、命令の再試行を可能にしていることである。
A feature of the present invention is that the middle K of the instruction execution unit of a data processing device that performs pipeline control includes a register (hereinafter referred to as a program counter: PC) that stores the location address in memory of the instruction currently being executed; Two flags are provided to indicate where in the unit that performs pipeline control the location address of the instruction to be retried exists, thereby making it possible to retry the instruction.

第1図は本発明が適用されるバイブライン処理を行うデ
ータ処理装置の一実施例ブロック図を示す本のである。
FIG. 1 is a book showing a block diagram of an embodiment of a data processing device that performs vibe line processing to which the present invention is applied.

データ処理装置は、命令フェッチユニット3、命令デコ
ードユニット4、アドレス計算ユニット5、オペランド
フェッチユニット6、および命令実行ユニット7の計5
個のユニットから構成されている。それらのユニットの
内、命令およびオペランドが格納されているメモリlと
相1にデータの送受を行うユニット(本実施例では、3
.6および7)は、処理装置内部バス2によりメ七りl
と接続されている。各々のユニットは、現在自分が処理
している命令のメモリ上のアドレスを格納するレジスタ
38.48.5m、6a。
The data processing device includes a total of five instruction fetch units 3, instruction decode units 4, address calculation units 5, operand fetch units 6, and instruction execution units 7.
It is composed of units. Among these units, a unit (in this embodiment, 3
.. 6 and 7) are connected by the internal bus 2 of the processing device.
is connected to. Each unit has registers 38, 48, 5m and 6a that store the memory address of the instruction that it is currently processing.

7a、をそれぞれ持っており、命令と同時にこれらレジ
スタの内容本、ユニット3→ユニツト4→ユニツト5→
ユニツト6の順にパイプライン状に伝わり、l/に後に
命令実行ユニツ)7に伝わり、その内の71に格納され
る。ところで、命令実行ユニット7にて命令を実行して
いる最中では、レジスタ7mの中に今実行している命令
のメモリ上のアドレスが格納されており、該命令の実行
中にエラーが発生し、皺命令の再試行が必要となった場
合には、レジスタ7aの内容を再び、上位のユニット3
にセットしなおし、バイブライン処理を昔の状態にもど
すことにより再実行が可能である。
7a, respectively, and at the same time as the instruction, the contents of these registers, unit 3 → unit 4 → unit 5 →
The instruction is transmitted in the order of unit 6 in a pipeline manner, and then transmitted to instruction execution unit 7), where it is stored in 71 of the units. By the way, while an instruction is being executed in the instruction execution unit 7, the memory address of the currently executing instruction is stored in the register 7m, and if an error occurs during the execution of the instruction. , if it becomes necessary to retry the wrinkle instruction, the contents of the register 7a are transferred to the upper unit 3 again.
It is possible to re-execute the process by setting it again and returning the vibe line processing to its previous state.

ところがここで問題になるのは、レジスタ7aの内容が
常に再実行すべき命令のアドレスを示していないという
点である。たとえば命令を終了するマシンサイクルでエ
ラーが発生した場合にはレジスタ7aには次の正常な命
令のアドレスがすでにセットされているかもしれないし
、そうでないかもしれない、この時の為に1命令実行ユ
ニット7には、1つ前の命令のメモリアドレスを格納す
るレジスタ7bが設けられている。
However, the problem here is that the contents of register 7a do not always indicate the address of the instruction to be re-executed. For example, if an error occurs in a machine cycle that ends an instruction, the address of the next normal instruction may or may not have already been set in register 7a. The unit 7 is provided with a register 7b that stores the memory address of the previous instruction.

第2図は、本発明の主要部である命令実行ユニット7の
一実施例を示すものである。命令実行ユニット7には、
上位のオペランドフェッチユニット6から、命令のメモ
リ上のアドレスを渡すための信号線(PCライン)23
、次の命令がそろったことを示す信号線(READYラ
イン)24、次の命令にエラーが発生していることを示
す信号線(ERRORライン)25の3本の信号線が接
続されているう父、現在実行中の命令のメ七り上のアド
レスを格納するレジスタ7aと、1つ前の命令のアドレ
スを格納するレジスタ7bとを有する。
FIG. 2 shows an embodiment of the instruction execution unit 7, which is the main part of the present invention. The instruction execution unit 7 includes
A signal line (PC line) 23 for passing the memory address of the instruction from the upper operand fetch unit 6
, a signal line (READY line) 24 that indicates that the next instruction is ready, and a signal line (ERROR line) 25 that indicates that an error has occurred in the next instruction. It has a register 7a that stores the address of the instruction currently being executed, and a register 7b that stores the address of the previous instruction.

命令を再試行する場合にはレジスタ7m、父は7b、又
は上位ユニットが持つPCの値を使って命令を再実行す
る。フラグ29および3oは、どのPCの内容で再試行
すればよいか示すものであるうフラグ29の出力は、上
位ユニット命令がそろっており、新しいPCの値がレジ
スタ7!IKセツトされたことを示す。フラグ30の出
力は上位ユニットにエラーが発生しており、新しいPC
の値がレジスタ7aKセツトされていないことを示す、
これらの2つのフラグの出力をマイクロプログラム制御
回路33に導き、マイクロプログラムで判定可能として
いる。それらは信号@31.32にて伝達される。ゲー
)26.27および28は各々のフラグのセット条件を
生成するものであり、それらのセットタイミングは、マ
イクロプログラム制御回路33からの信号線34,35
.36によって制御される。
When retrying the instruction, the instruction is re-executed using the register 7m, the father's value 7b, or the PC value of the upper unit. Flags 29 and 3o indicate which PC contents should be used for retrying.The output of flag 29 indicates that the upper unit instructions are complete and the new PC value is in register 7! Indicates that IK has been set. The output of flag 30 indicates that an error has occurred in the upper unit, and a new PC is required.
Indicates that the value of register 7aK is not set.
The outputs of these two flags are led to the microprogram control circuit 33 to enable determination by the microprogram. They are transmitted on signals @31.32. 26, 27 and 28 are for generating setting conditions for each flag, and their setting timing is determined by the signal lines 34 and 35 from the microprogram control circuit 33.
.. 36.

83図は、フラグ29と30の出力の状態を示すもので
ある。再試行の丸めの命令アドレスの所在は、本図の最
下段に記入されてhるとおりである。
FIG. 83 shows the output states of flags 29 and 30. The location of the retry rounding instruction address is indicated by h written at the bottom of the figure.

このように本発明によれば、わずかのハードウェアの増
加により、パイプライン制御のデータ処理装置に於て、
命令再試行が可能となる。
As described above, according to the present invention, with a slight increase in hardware, in a pipeline-controlled data processing device,
Instructions can be retried.

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

第1図は、本発明が適用されるパイプライン制御のデー
タ処理装置の一例を示すブロック図、第2図は、本発明
の主要部である命令実行ユニットの一実施例図、第3v
Aは、第2図の動作を説明する図である。 7・・・命令実行ユニット、7a、7b・・・レジスタ
、¥ 1 目 ′fJ2  目
FIG. 1 is a block diagram showing an example of a pipeline-controlled data processing device to which the present invention is applied; FIG. 2 is a diagram of an embodiment of an instruction execution unit that is the main part of the present invention;
A is a diagram explaining the operation of FIG. 2. 7...Instruction execution unit, 7a, 7b...Register, \1st'fJ2th

Claims (1)

【特許請求の範囲】[Claims] 1、命令実行がパイプライン処理にて行なわれるデータ
剋珊装置において、命令を実行するユニットに、現在実
行中の命令のメモリアドレスを格納する第1のレジスタ
と、1つ前の命令のメモリアドレスを格納する第2のレ
ジスタと、1つの命令の終了時に次に実行する命令のメ
モリアドレスが#ggtのレジスタにセットされたか否
かを表示する第1のフラグと、同時点にて次の命令にエ
ラーが発生していることを表示する第2のフラグを設け
、該第1、第2のフラグの内容に応じて再試行のための
命令のメモリアドレスがどのレジスタに格納されている
かを決定し、命令の再試行を行うようにしたことを特徴
とするデータ処理装置。
1. In a data processing device in which instruction execution is performed by pipeline processing, the unit that executes instructions has a first register that stores the memory address of the currently executing instruction, and a memory address of the previous instruction. A second register that stores the memory address of the next instruction to be executed at the end of one instruction is set in the #ggt register, and a first flag that indicates whether the memory address of the next instruction to be executed is set in the #ggt register and the next instruction at the same time. A second flag is provided to indicate that an error has occurred, and it is determined in which register the memory address of the instruction for retrying is stored in accordance with the contents of the first and second flags. A data processing device characterized in that the data processing device performs an instruction retry.
JP57048916A 1982-03-29 1982-03-29 Data processor Pending JPS58166454A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57048916A JPS58166454A (en) 1982-03-29 1982-03-29 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57048916A JPS58166454A (en) 1982-03-29 1982-03-29 Data processor

Publications (1)

Publication Number Publication Date
JPS58166454A true JPS58166454A (en) 1983-10-01

Family

ID=12816570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57048916A Pending JPS58166454A (en) 1982-03-29 1982-03-29 Data processor

Country Status (1)

Country Link
JP (1) JPS58166454A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222724A (en) * 1990-08-08 1993-06-29 Seiko Epson Corporation Paper feeder
US6644656B2 (en) 1998-10-20 2003-11-11 Funai Electric Co., Ltd. Paper feeder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222724A (en) * 1990-08-08 1993-06-29 Seiko Epson Corporation Paper feeder
US6644656B2 (en) 1998-10-20 2003-11-11 Funai Electric Co., Ltd. Paper feeder

Similar Documents

Publication Publication Date Title
EP0227749B1 (en) Fault tolerant data processing system and method therefor
EP0173515A2 (en) Error recovery system in a data processor having a control storage
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
KR100335785B1 (en) Execution of data processing instructions
JPS63111545A (en) Microprocessor for debug
US4231089A (en) Data processing system with apparatus for correcting microinstruction errors
JPH1021074A (en) Interruption control system, processor, and computer system
JPH1083305A (en) Data processing system with self-matching stack pointer and its method
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
KR920003044B1 (en) Control system for guest execution of virtual computer system
JPH07120338B2 (en) Method for a data processor to coordinate the execution of instructions by a coprocessor and the data processor
JPS58166454A (en) Data processor
EP0212132A1 (en) Method and digital computer for recovering from errors
EP0113982B1 (en) A data processing system
JPH0754467B2 (en) Data processing device
JPS60142747A (en) Instruction execution control system
JPS63214856A (en) Data protection control system for data processing unit
JPS63191239A (en) Method and device for instruction restart processing
JPS6012656B2 (en) Retry control method
JP2622026B2 (en) Register writing control method in central processing unit
JP2574918B2 (en) Interrupt return processing method
JPS6028014B2 (en) microprocessor
JPH0640304B2 (en) Control memory error processing method
JPH02148226A (en) Information processor
JPH0282318A (en) Floating-point arithmetic unit