JPS58166454A - Data processor - Google Patents
Data processorInfo
- 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
Links
- 238000010586 diagram Methods 0.000 description 4
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, 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
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.
第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)
剋珊装置において、命令を実行するユニットに、現在実
行中の命令のメモリアドレスを格納する第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.
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)
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 |
-
1982
- 1982-03-29 JP JP57048916A patent/JPS58166454A/en active Pending
Cited By (2)
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 |