JP2572821B2 - Operation processing method by instruction re-execution - Google Patents

Operation processing method by instruction re-execution

Info

Publication number
JP2572821B2
JP2572821B2 JP63213815A JP21381588A JP2572821B2 JP 2572821 B2 JP2572821 B2 JP 2572821B2 JP 63213815 A JP63213815 A JP 63213815A JP 21381588 A JP21381588 A JP 21381588A JP 2572821 B2 JP2572821 B2 JP 2572821B2
Authority
JP
Japan
Prior art keywords
instruction
control unit
execution
processing
arithmetic
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 - Fee Related
Application number
JP63213815A
Other languages
Japanese (ja)
Other versions
JPH0262631A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63213815A priority Critical patent/JP2572821B2/en
Publication of JPH0262631A publication Critical patent/JPH0262631A/en
Application granted granted Critical
Publication of JP2572821B2 publication Critical patent/JP2572821B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 [概 要] 汎用命令処理装置の演算処理部に浮動小数点演算命令
の専用演算器を設けた場合の演算処理方式に関し、 浮動小数点演算の実行に際しては、オペランドデータ
によっては遅延型付加実行の処理を要する場合があり、
その検出の為の前処理を必要とし、また演算結果によっ
ては後処理の必要が生じる場合があり、その検査の為な
どにより、浮動小数点演算の高速化が達成できなかった
問題の解決を目的とし、 演算制御部に実行すべき浮動小数点演算命令のオペラ
ンドデータが供給された際には、直ちに浮動小数点演算
器を起動し、並行して遅延型付加実行処理の検出処理を
行ない、その必要性が検出された場合、または演算実行
結果より後処理の必要が生じた場合は、演算制御部は命
令制御部に命令再実行要求割込みを発行するよう構成す
る。
DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to an arithmetic processing method in which a dedicated arithmetic unit for a floating-point arithmetic instruction is provided in an arithmetic processing unit of a general-purpose instruction processing device. In some cases, processing of delayed addition execution may be required,
Pre-processing is required for the detection, and post-processing may be required depending on the operation result. The purpose is to solve the problem that high-speed floating-point operation could not be achieved due to the inspection. When the operand data of the floating-point operation instruction to be executed is supplied to the operation control unit, the floating-point operation unit is immediately started, and the detection processing of the delayed addition execution processing is performed in parallel. The arithmetic control unit is configured to issue an instruction re-execution request interrupt to the instruction control unit when it is detected, or when the result of the arithmetic execution requires post-processing.

[産業上の利用分野] 本発明は汎用命令処理装置の演算制御部における演算
処理方式に関し、特に演算制御部中に浮動小数点演算用
の専用演算器を有する場合の演算処理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing method in an arithmetic control unit of a general-purpose instruction processing device, and more particularly to an arithmetic processing method in a case where a dedicated arithmetic unit for floating-point arithmetic is provided in the arithmetic control unit.

[従来の技術] 汎用命令処理装置では数多くの命令を高速に実行でき
る能力を備えているが、この中でも特に高速性が要求さ
れるのは四則演算であり、特に大型機では科学技術計算
高速処理能力が重要とされ、浮動小数点演算命令を高速
に実行できる能力が必要である。
[Prior art] General-purpose instruction processors have the ability to execute a large number of instructions at high speed. Among them, four arithmetic operations are particularly required for high-speed operation. Power is important, and the ability to execute floating-point arithmetic instructions at high speed is required.

このため、大型機では専用の浮動小数点演算器を設
け、さらにデータの処理は高度なパイプライン処理方式
により高速に実行される。
For this reason, a large-scale machine is provided with a dedicated floating-point arithmetic unit, and data processing is performed at high speed by an advanced pipeline processing method.

浮動小数点演算命令の中にはオペランド・データの内
容に依存して遅延型付加実行処理を行なう必要がある場
合がある。また演算で例外的な中間結果を浮動小数点演
算器が出力した場合には最終結果を得るために特別な演
算後処理が必要となる場合がある。
In some floating-point operation instructions, it is necessary to perform delayed addition execution depending on the contents of operand data. Further, when the floating-point arithmetic unit outputs an exceptional intermediate result in the operation, special post-operation processing may be required to obtain the final result.

従来の演算処理装置においては、演算制御部では、汎
用演算器をマイクロ・プログラムが制御して命令を実行
するマイクロ・プログラム処理と浮動小数点演算器など
の専用演算器を設けて通常のオペランド・データの実行
は専用演算器で高速に実行し、マイクロ・プログラムは
演算器の起動や特殊なオペランド・データ処理や演算器
が出力する例外的な中間結果に対する処理を行う場合に
分けられ、これらを命令やオペランド・データの内容に
よって最適に使い分ける方式が一般的である。
In a conventional arithmetic processing unit, an arithmetic control unit includes a micro-program processing in which a micro-program controls a general-purpose arithmetic unit to execute an instruction, and a special-purpose arithmetic unit such as a floating-point arithmetic unit. Execution is performed at high speed by a special-purpose arithmetic unit, and micro programs are divided into cases such as starting the arithmetic unit, processing special operand data, and processing exceptional intermediate results output from the arithmetic unit. In general, a method is used in which the data is optimally used depending on the contents of the operand data.

従来の演算処理方式では、実行する命令が特殊な処理
を行う必要があるかどうかを命令の解読のみで判断でき
るものについては、命令制御部で命令を解読して演算制
御部を起動するときに、演算制御部に対する指令コード
を修飾することで、実行すべき命令が特殊な処理を行う
必要があることを演算制御部に指示することは行われて
いた。
In the conventional arithmetic processing method, if the instruction to be executed can determine whether it is necessary to perform special processing only by decoding the instruction, the instruction control unit decodes the instruction and starts the arithmetic control unit. By modifying a command code for the arithmetic control unit, it has been performed to instruct the arithmetic control unit that an instruction to be executed needs to perform a special process.

しかし、浮動小数点演算命令の中にはオペランド・デ
ータに依存して特殊な処理が要求される場合がある。こ
の場合は命令制御部での判断は不可能なので、演算制御
部が起動され、実行すべき命令のオペランド・データが
記憶制御部あるいは命令制御部から供給された時点で、
演算制御部がオペランド・データを解析することで遅延
型付加実行の処理の必要性を判断するよう構成してい
る。また、演算実行により例外的な中間処理を浮動小数
点演算器が出力し最終結果を得るために特別な演算後処
理が必要となる可能性のある場合には、演算結果の検証
が終了するまで演算制御部は命令制御部に演算終了を通
知せずに命令制御部の命令実行パイプラインを停止する
よう構成している。
However, some floating-point operation instructions require special processing depending on the operand data. In this case, since the judgment by the instruction control unit is impossible, the arithmetic control unit is activated, and when the operand data of the instruction to be executed is supplied from the storage control unit or the instruction control unit,
The arithmetic control unit is configured to determine the necessity of the delayed addition execution process by analyzing the operand data. If the floating-point arithmetic unit outputs an exceptional intermediate process due to the execution of the operation and special post-processing may be required to obtain the final result, the operation is performed until the verification of the operation result is completed. The control unit is configured to stop the instruction execution pipeline of the instruction control unit without notifying the instruction control unit of the completion of the operation.

[発明が解決しようとする課題] 以上に説明した従来の演算処理方式においては次のよ
うな問題がある。
[Problems to be Solved by the Invention] The conventional arithmetic processing method described above has the following problems.

(1) 浮動小数点演算命令は高速性が要求されるので
専用の浮動小数点演算器を設け演算の処理速度を速くし
ようとしても、遅延型付加実行処理がオペランド・デー
タに依存する場合は、その検出のための前処理が一律に
命令処理実行時間に加算されるのでその分オーバ・ヘッ
ドとなり演算器自体を高速化しても直接に実行時間の向
上に結びつかない。
(1) Since a high-speed floating-point operation instruction is required, even if a dedicated floating-point operation unit is provided to increase the processing speed of the operation, if the delayed addition execution processing depends on operand data, the detection is performed. Is uniformly added to the instruction processing execution time, so that it becomes an overhead, and even if the operation unit itself is sped up, the execution time is not directly improved.

(2) 演算結果によって演算後処理が必要かどうかの
検査が終了するまでの間は、命令制御部に対して演算終
了を通知できない。高速なパイプライン処理方式では特
に演算終了信号は実際の演算終了の予告信号として使用
するので、演算終了信号が遅れるとその分次の命令の演
算制御部での実行開始が遅れることになり、その分オー
バ・ヘッドとなる。
(2) It is not possible to notify the instruction control unit of the completion of the operation until the check as to whether the post-operation processing is necessary is completed based on the operation result. Particularly in the high-speed pipeline processing method, the operation end signal is used as a notice signal of the actual operation end, so if the operation end signal is delayed, the start of execution of the next instruction by the operation control unit is delayed by that amount. Min overhead.

本発明は上記問題点に鑑みなされたものであり、浮動
小数点演算の高速化を達成する命令再実行による演算処
理方式を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has as its object to provide an arithmetic processing method by instruction re-execution that achieves high-speed floating-point arithmetic.

[課題を解決するための手段] 本発明によれば、上述の目的は、前記特許請求の範囲
に記載した手段により達成される。すなわち本発明は、
命令制御部と、記憶制御部と、演算制御部とを有し、演
算制御部中には汎用演算器と浮動小数点演算のための専
用演算器を設けた汎用命令処理装置において、 浮動小数点演算命令の実行の際には、 演算制御部に実行すべき浮動小数点演算命令のオペラ
ンド・データが供給された場合に、遅延型付加実行処理
の検出のための前処理は行なわず、直ちに浮動小数点演
算器を起動し、該浮動小数点演算器の演算実行と並行し
て、遅延型付加実行処理が必要か否かの検出処理を行う
第1の手順、演算制御部での遅延型付加実行処理を含む
浮動小数点演算命令の演算サイクルを一定の処理速度で
動作させるための演算終了信号を常に一定のサイクルで
命令制御部に通知する第2の手順、 遅延型付加実行処理の検出処理にて、該遅延型付加実
行処理の必要性が検出された場合、及び浮動小数点演算
器の演算実行結果により後処理の必要が生じた場合に
は、演算制御部は命令制御部に対して命令再実行要求割
込みを発行する第3の手順、命令制御部が命令再実行要
求割込みを受付けた場合には、後続の命令をキャンセル
した後、命令再実行要求割込みを要求した命令を再実行
するために、演算制御部に対する指令コードを修飾して
命令再実行の専用エントリを指定しさらに命令再実行モ
ードを演算制御部に通知する第4の手順、上記第1から
第4までの手順を用い、かつ演算制御部の命令実行の専
用エントリには起りうる所定のケースに対応する命令処
理エントリを設け浮動小数点命令を実行する命令再実行
による演算処理方式である。
[Means for Solving the Problems] According to the present invention, the above-mentioned object is achieved by the means described in the claims. That is, the present invention
A general-purpose instruction processing device having an instruction control unit, a storage control unit, and an arithmetic control unit, wherein a general-purpose arithmetic unit and a dedicated arithmetic unit for floating-point arithmetic are provided in the arithmetic control unit; When the operand data of the floating-point operation instruction to be executed is supplied to the operation control unit, the preprocessing for detecting the delayed addition execution processing is not performed, and the floating-point operation unit is immediately executed. A first procedure for detecting whether or not the delayed addition execution processing is necessary in parallel with the execution of the operation of the floating-point arithmetic unit. A second procedure for always notifying the instruction control unit at a constant cycle of an arithmetic end signal for operating the arithmetic cycle of the decimal point arithmetic instruction at a constant processing speed; Required for additional execution processing The third step is to issue an instruction re-execution request interrupt to the instruction control unit when the post-processing is required according to the result of the operation performed by the floating-point arithmetic unit. If the instruction control unit receives an instruction re-execution request interrupt, it modifies the instruction code for the operation control unit to cancel the subsequent instruction and then re-execute the instruction that requested the instruction re-execution request interrupt. A fourth procedure for designating an instruction re-execution exclusive entry to the instruction control unit and notifying the instruction re-execution mode to the arithmetic control unit, using the above-described first to fourth procedures, and Is an arithmetic processing method by instruction re-execution for providing an instruction processing entry corresponding to a predetermined case that can occur and executing a floating-point instruction.

[作 用] 本発明では下記の手順により浮動小数点演算命令を実
行するものである。
[Operation] In the present invention, a floating-point operation instruction is executed according to the following procedure.

(1) 実行すべき浮動小数点演算命令のオペランド・
データが供給されたら、遅延型付加実行処理の検出のた
めの前処理は行なわず、直ちに浮動小数点演算器を起動
する。そして、遅延型付加実行処理の検出は浮動小数点
演算器の演算実行と並行して、例えばマイクロプログラ
ム等にて検出処理を行なう。
(1) Operands of floating-point operation instructions to be executed
When the data is supplied, the floating point arithmetic unit is immediately started without performing the preprocessing for detecting the delay type additional execution processing. The detection of the delay type additional execution process is performed by, for example, a microprogram or the like in parallel with the execution of the operation of the floating point arithmetic unit.

(2) 演算制御部での遅延型付加実行処理を含む浮動
小数点演算命令の演算サイクルを一定の最高処理速度で
動かすために演算終了信号を常に一定サイクルで命令制
御部に通知する。
(2) In order to move the operation cycle of the floating-point operation instruction including the delay type additional execution processing in the operation control unit at a constant maximum processing speed, an operation end signal is always notified to the instruction control unit in a constant cycle.

(3) 例えば、マイクロ・プログラム処理等で遅延型
付加実行処理の必要性を検出した場合、あるいは浮動小
数点演算器の演算実行結果が後処理が必要な場合、演算
制御部は命令制御部に対して命令再実行要求割込みを発
信する。
(3) For example, when the necessity of the delay type additional execution process is detected by micro program processing or the like, or when the execution result of the arithmetic operation of the floating point arithmetic unit requires post-processing, the arithmetic control unit sends the instruction control unit a To send an instruction re-execution request interrupt.

(4) 命令制御部は命令再実行要求割込みを受付ける
と後続の命令をキャンセルした後、命令再実行要求割込
みを要求した命令を再実行する。このとき、演算制御部
に対する指令コードを修飾して命令再実行の専用エント
リを指定する。さらに命令再実行モードを演算制御部に
通知する。この信号は演算制御部内部では命令再実行要
求割込み要員の検出抑止などに使用される。
(4) When receiving the instruction re-execution request interrupt, the instruction control unit cancels the subsequent instruction and then re-executes the instruction requesting the instruction re-execution request interrupt. At this time, the instruction code for the arithmetic control unit is modified to designate a dedicated entry for instruction re-execution. Further, the instruction re-execution mode is notified to the arithmetic control unit. This signal is used inside the arithmetic and control unit to suppress detection of an instruction re-execution request interruption member.

以上の手順にて命令を実行し、さらに、演算制御部の
命令再実行の専用エントリはオペランド・データに依存
する遅延型付加実行処理に対応可能とし、また、浮動小
数点演算器の出力データに対して後処理が必要な場合に
も対応させる。つまり、命令再実行の専用エントリは起
りうる全てのケースに対応する命令処理エントリとす
る。
The instruction is executed according to the above procedure, and the dedicated entry for instruction re-execution of the arithmetic control unit is capable of supporting delayed addition execution processing depending on operand data. To cope with the case where post-processing is required. In other words, the instruction re-execution dedicated entry is an instruction processing entry corresponding to all possible cases.

[実施例] 第1図は本発明の一実施例なる汎用処理装置の構成ブ
ロック図を示しており、1は命令制御部、2は記憶制御
部、3は演算制御部、4は動作制御部(マイクロシーケ
ンサ)、5はスティタスポート、6はデータポート、7
は汎用演算器、8は浮動小数点演算器を表わしている。
Embodiment FIG. 1 is a block diagram showing the configuration of a general-purpose processing apparatus according to an embodiment of the present invention, wherein 1 is an instruction control unit, 2 is a storage control unit, 3 is an arithmetic control unit, and 4 is an operation control unit. (Micro sequencer) 5 is status port, 6 is data port, 7
Denotes a general-purpose operation unit, and 8 denotes a floating-point operation unit.

また、図上の各信号線の内容は以下の通りである。 The contents of each signal line on the figure are as follows.

10〜11:命令制御部1からのオペランドデータのデータ
バス(主に汎用レジスタの内容を読出したデータを転送
するバスである) 12:命令制御部1への演算結果データバス(主に汎用レ
ジスタに演算結果を格納するデータバス) 13:記憶制御部からのオペランドデータバス(主に主記
憶読出しデータあるいはキャシュ読出しデータを転送す
るバス) 14:記憶制御部2への演算結果格納データバス 15:命令制御部1からの指令コード、指令コード有効信
号 16:命令制御部1からのステイタス情報バス(主にプロ
グラム割込みマスク等に使用する) 17:演算制御部3からのステイタス情報バス(主にプロ
グラム割込み信号であるが、命令再実行要求割込み信
号、演算終了信号も含まれる) 18a,18b,19:汎用演算器7の入出力バス 20a,20b,21:浮動小数点演算器8の入出力バス 22:汎用演算器7の演算結果ステイタス信号 23:浮動小数点演算器8の演算結果ステイタス信号 24a,24b,24c,24d:マイクロ・プログラムが各種演算器、
ステイタス・ポート、データポートを制御するための制
御信号 25:マイクロ・シーケンサの分岐条件に用いるステイタ
ス情報 演算制御部3は、実行すべき命令の指令コードを命令
制御部1より信号線15を介入して受取り、またオペラン
ドデータをその命令の形式および内容に応じて、レジス
タオペランドデータを命令制御部1内のレジウタよりデ
ータバス101、11を介して供給されるか、メモリオペラ
ンドを記憶制御部2よりデータバス13を介して供給され
るかすると演算を実行し、演算結果を命令制御部1ある
いは記憶制御部2にデータバス12、14を介して返すとと
もに、演算終了信号をステイタス情報バス17を介して命
令制御部1に送出し、演算終了を通知する。
10 to 11: data bus for operand data from instruction control unit 1 (mainly a bus for transferring data obtained by reading the contents of general registers) 12: operation result data bus to instruction control unit 1 (mainly general registers 13: Operand data bus from the storage controller (mainly a bus for transferring main storage read data or cache read data) 14: Operation result storage data bus to the storage controller 2 15: Command code from command control unit 1, command code valid signal 16: Status information bus from command control unit 1 (mainly used for program interrupt mask, etc.) 17: Status information bus from operation control unit 3 (mainly program 18a, 18b, 19: input / output buses of the general-purpose arithmetic unit 7 20a, 20b, 21: input / output of the floating-point arithmetic unit 8 Power bus 22: General computing unit 7 of the result status signal 23: the operation result status signal 24a of a floating point unit 8, 24b, 24c, 24d: micro program various computing units,
Control signal for controlling status port and data port 25: Status information used for branch condition of micro sequencer The operation control unit 3 intervenes the instruction code of the instruction to be executed from the instruction control unit 1 through the signal line 15. The operand data is supplied from the register in the instruction control unit 1 via the data buses 101 and 11 or the memory operand is transmitted from the storage control unit 2 according to the format and contents of the instruction. If supplied via the data bus 13, execution of the operation is performed, the operation result is returned to the instruction control unit 1 or the storage control unit 2 via the data buses 12 and 14, and an operation end signal is transmitted via the status information bus 17. To the instruction control unit 1 to notify the end of the operation.

もっとも、本実施例の命令実行パイプラインでは大多
数の基本命令は基本の単位時間なる1τで実行可能であ
り、パイプラインの先行制御においては演算終了信号を
使用しない。
However, in the instruction execution pipeline of this embodiment, most of the basic instructions can be executed in 1τ which is the basic unit time, and the operation end signal is not used in the advance control of the pipeline.

本実施例の浮動小数点演算命令は実行τ数が2τ以上
の可変サイクルとなるので演算終了信号を使用したパイ
プラインの先行制御が必要となってくる。
Since the floating-point operation instruction of this embodiment has a variable cycle in which the number of executions τ is 2τ or more, it is necessary to control the pipeline in advance using an operation end signal.

命令制御部1は先行する命令または実行中の命令が可
変サイクル命令の場合には演算制御部3の演算終了を認
識すると、次の命令処理を演算制御部3に投入する。
When the preceding instruction or the instruction being executed is a variable cycle instruction, the instruction control unit 1 recognizes the end of the operation of the operation control unit 3 and inputs the next instruction processing to the operation control unit 3.

また、先行する命令または実行中の命令が可変サイク
ルの場合に演算制御部3から演算終了が通知されるま
で、命令制御部1は次の命令処理を演算制御部3に投入
することはできず、命令実行のパイプラインは停止して
いる。本実施例のパイプライン処理方式では、効率良く
パイプライン処理をおこなうため、演算制御部3での処
理終了の予告信号を演算終了信号として使用する。従っ
て演算制御部3は演算処理の最終サイクルより1τ前に
処理終了の予告信号を演算終了信号として命令制御部1
に送出する必要がある。
Further, when the preceding instruction or the instruction being executed has a variable cycle, the instruction control unit 1 cannot input the next instruction processing to the arithmetic control unit 3 until the operation control unit 3 notifies the completion of the operation. , The instruction execution pipeline is stopped. In the pipeline processing method of the present embodiment, a notice signal indicating the end of processing in the operation control unit 3 is used as an operation end signal in order to efficiently perform the pipeline processing. Therefore, the arithmetic control unit 3 sets the instruction control unit 1 to use the advance processing notice signal as an arithmetic end signal 1τ before the last cycle of the arithmetic processing.
Must be sent to

さらに演算制御部3では、汎用演算器7を使用して主
にマイクロプログラムの制御によって命令を実行する処
理と、浮動小数点演算器8を使用して主にハードウェア
制御によって高速に命令を実行する処理とを、命令やオ
ペランドデータの内容によって最適に使い分けるように
構成されている。
Further, the arithmetic control unit 3 executes a process of executing an instruction mainly by controlling a microprogram using the general-purpose arithmetic unit 7 and executes a high-speed instruction mainly by hardware control using the floating-point arithmetic unit 8. The processing is optimally used depending on the contents of instructions and operand data.

遅延型付加実行処理を行う場合には、演算制御部3へ
の指令コード15が修飾される。対応するマイクロシーケ
ンサ4のエントリにはこの指令コード15で起こり得る所
定のケースに対応するマイクロプログラムを登録してい
る。
When performing the delayed addition execution processing, the instruction code 15 to the arithmetic control unit 3 is modified. In the entry of the corresponding micro sequencer 4, a micro program corresponding to a predetermined case that can occur with the command code 15 is registered.

遅延型付加実行処理の場合は前記マイクロプログラム
が信号24a、24b、24cで汎用演算器7及び浮動小数点演
算器8、及びデータポート6を制御して演算処理を実行
する。各演算器の演算結果のステイタス情報はマイクロ
プログラムが信号24dによりステイタスポート5に設定
する。
In the case of the delayed addition execution processing, the microprogram controls the general-purpose operation unit 7, the floating-point operation unit 8, and the data port 6 with the signals 24a, 24b, 24c to execute the operation processing. The microprogram sets the status information of the operation result of each operation unit in the status port 5 by the signal 24d.

このマイクロプログラムはステイタスポート5からの
ステイタス情報(信号25)を用いて条件分岐を行い、所
定のケースに対応するものである。
This microprogram performs a conditional branch using the status information (signal 25) from the status port 5, and corresponds to a predetermined case.

以下、本発明の演算処理方式の動作を第2図に従い説
明する。
Hereinafter, the operation of the arithmetic processing system of the present invention will be described with reference to FIG.

第2図は本発明の演算処理方式によるパイプライン処
理の流れを示す図であり、また図中の期間区分記号D、
A、T、B、E、Wは命令処理パイプラインの各処理ス
テージを表わしており、DステージからWステージ迄で
一つの命令を実行することができる。
FIG. 2 is a diagram showing a flow of pipeline processing by the arithmetic processing method of the present invention.
A, T, B, E, and W represent each processing stage of the instruction processing pipeline, and one instruction can be executed from the D stage to the W stage.

各ステージの大まかな動作は次の通りである。 The general operation of each stage is as follows.

D:デコードステージ 命令バッファ上に実行命令がロードされ、かつ有効と
なり、実行命令を解読する。
D: Decode stage The execution instruction is loaded on the instruction buffer and becomes valid, and the execution instruction is decoded.

A:オペランドアドレス計算ステージ T:アドレス変換ステージ アドレス変換バッファをアクセスする。ヒットすれ
ば、次にオペランドバッファをアクセスする。ヒットし
なければ、後続命令を停めて、アドレス変換を実行す
る。
A: Operand address calculation stage T: Address conversion stage Accesses the address conversion buffer. If a hit occurs, the operand buffer is accessed next. If there is no hit, the subsequent instruction is stopped and the address translation is performed.

B:オペランドバッファアクセスステージヒットすれば読
出しデータを演算制御部又は命令制御部に供給する。ヒ
ットしなければ後続命令を停めて主記憶にアクセスす
る。
B: If the operand buffer access stage hits, the read data is supplied to the arithmetic control unit or the instruction control unit. If no hit occurs, the subsequent instruction is stopped and the main memory is accessed.

また命令制御部1では、汎用レジスタ等を読出し、オ
ペランドとして演算制御部3に供給する。
The instruction control unit 1 reads a general-purpose register or the like and supplies it to the operation control unit 3 as an operand.

E:演算制御部3の演算実行ステージ W:演格結果の格納ステージ このWステージでは、さらに各種割込みの取付けを行
う。
E: Calculation execution stage of the calculation control unit 3 W: Stage for storing the rating result In this W stage, various interrupts are further attached.

第2図は(a)は通常のケース、すなわち浮動小数点
演算命令のオペランドデータが特殊なものではなく、浮
動小数点演算器を使用して演算が順調に続行され、また
演算結果についても後処理を必要としない場合の例であ
る。同図においては、A命令およびB命令がパイプライ
ン処理により実行され、演算終了信号30、31が各命令の
実行完了前に得られ、パイプライン処理が続行される。
FIG. 2A shows the normal case, that is, the operand data of the floating-point operation instruction is not special, the operation continues smoothly using the floating-point operation unit, and the post-processing is also performed on the operation result. This is an example of when it is not required. In the figure, the A instruction and the B instruction are executed by pipeline processing, operation end signals 30 and 31 are obtained before the execution of each instruction is completed, and the pipeline processing is continued.

第2図(b)は命令再実行による演算のケース、すな
わち浮動小数点演算命令のオペランドデータが遅延型付
加実行処理を必要とする場合か、または、演算結果が後
処理を必要とする場合の例である。
FIG. 2 (b) shows a case of operation by instruction re-execution, that is, an example in which operand data of a floating-point operation instruction requires delayed addition execution processing, or an operation result requires post-processing. It is.

同図においては、A命令が演算ステージDから演算ス
テージEまで実行され、ステージWにおいて、オペラン
ドデータの検出処理結果及び演算結果が調べられ、A命
令については命令再実行の必要があることが判別された
場合の例である。
In the figure, an instruction A is executed from an operation stage D to an operation stage E. At a stage W, a detection processing result and an operation result of the operand data are checked, and it is determined that the instruction A needs to be re-executed. This is an example of the case where the operation is performed.

この場合、直ちに演算制御部3は命令制御部1に対し
て、命令再実行要求割込み信号33を送出することとな
る。
In this case, the arithmetic control unit 3 immediately sends the instruction re-execution request interrupt signal 33 to the instruction control unit 1.

命令再実行要求割込み信号33を命令制御部1が受け付
けると、B命令及び後続する命令を全てキャンセルし、
命令再実行要求割込みを要求したA命令が再実行される
ことになる。
When the instruction control unit 1 receives the instruction re-execution request interrupt signal 33, the B instruction and all subsequent instructions are canceled,
The A instruction that has requested the instruction re-execution request interrupt is re-executed.

すなわち、既に送出されたA命令の演算終了信号32は
無効となり、命令再実行前処理34の段階を経て、A命令
の命令再実行処理(図でD′〜W′で示すステージ)の
サイクルに入り、A命令の実行の完了の前に演算終了信
号35が送出され、命令再実行の処理が完了する。
In other words, the operation completion signal 32 of the already transmitted A instruction becomes invalid, and after the stage of the instruction re-execution pre-processing 34, the cycle of the instruction re-execution processing of the A instruction (stages indicated by D 'to W' in the drawing) is started. Then, before the execution of the A instruction is completed, the operation end signal 35 is transmitted, and the processing of instruction re-execution is completed.

第2図における本発明の形態の命令処理パイプライン
での、命令制御部1、記憶制御部2、演算制御部3の機
能分担は以下の通りである。
The functions of the instruction control unit 1, the storage control unit 2, and the operation control unit 3 in the instruction processing pipeline according to the embodiment of the present invention in FIG. 2 are as follows.

命令制御部1は、命令の読み出し、実行命令の解読を
Dステージで行う。
The instruction control unit 1 reads an instruction and decodes an execution instruction in a D stage.

メモリアクセスオペランドの場合は、Aステージでオ
ペランドアドレスの計算と、制御記憶部2へのオペラン
ドアクセスの発行を行う。記憶制御部2はTステージで
アドレス交換バッファをアクセスする。
In the case of a memory access operand, an operand address is calculated and an operand access to the control storage unit 2 is issued in the A stage. The storage controller 2 accesses the address exchange buffer at the T stage.

アドレス交換バッファでデータが存在しない場合は、
アドレス変換処理を行う。また、オペランドバッファに
データが存在しない場合は主記憶装置(図示せず)から
メモリオペランドデータをオペランドバッファに転送す
る。いずれの処理も、この処理が終了するまでBステー
ジに留まる。
If there is no data in the address exchange buffer,
Perform address translation processing. If there is no data in the operand buffer, the memory operand data is transferred from the main storage device (not shown) to the operand buffer. Both processes remain at the B stage until this process ends.

演算器を起動する命令の場合は、Tステージに命令制
御部1から指令コードと指令コード有効信号(信号15)
が発行される。
In the case of a command to start the arithmetic unit, a command code and a command code valid signal (signal 15) are sent from the command control unit 1 to the T stage.
Is issued.

演算制御部3はBステージでレジスタ読み出しデータ
(信号10〜11)または、記憶制御部2からのメモリオペ
ランドデータをデータポート6で受け取る。
The operation control unit 3 receives the register read data (signals 10 to 11) or the memory operand data from the storage control unit 2 at the data port 6 in the B stage.

演算制御部3は、命令制御部1からの指令コードとB
ステージで受け取るオペランドデータによりEステージ
で演算処理を実行する。演算処理に複数サイクル必要な
場合は、演算処理が終了するまでEステージに留まる。
この場合、演算制御部3は演算終了信号をステイタスポ
ート5から、ステイタス情報バス17を介して命令制御部
1に通知する。
The arithmetic control unit 3 receives the instruction code from the instruction control unit 1 and B
The arithmetic processing is executed in the E stage according to the operand data received in the stage. If a plurality of cycles are required for the arithmetic processing, the operation stays at the E stage until the arithmetic processing ends.
In this case, the operation control unit 3 notifies the instruction control unit 1 of the operation end signal from the status port 5 via the status information bus 17.

演算制御部3の演算結果はデータポート6に格納す
る。レジスタ格納命令であれば、Wステージにて命令制
御部1への演算結果データバス12を使用して、データポ
ート6の演算結果を命令制御部1のレジスタに格納す
る。メモリ格納命令であれば、Wステージにて記憶制御
部2への演算結果格納データバス14を使用して、データ
ポート6の演算結果を記憶制御部2のオペランドバッフ
ァに書き込む。
The operation result of the operation control unit 3 is stored in the data port 6. If the instruction is a register storage instruction, the operation result of the data port 6 is stored in the register of the instruction control unit 1 using the operation result data bus 12 to the instruction control unit 1 at the W stage. If the instruction is a memory storage instruction, the operation result of the data port 6 is written to the operand buffer of the storage control unit 2 using the operation result storage data bus 14 for the storage control unit 2 at the W stage.

[発明の効果] 本発明は、オペランド・データに依存する遅延型付加
実行処理と、浮動小数点演算器の演算実行結果により後
処理が必要となるケースはごく稀であり、これらの処理
速度が遅くとも演算の実行性能上特に問題ない点と、一
方、浮動小数点演算の通常のオペランド・データは高速
に実行する必要がある点に着目し、通常のオペランド・
データは高度なパイプライン処理により演算の実行性能
の向上を達成し、命令の遅延型付加実行の処理が必要な
場合は、命令再実行機能により主にマイクロ・プログラ
ム等で制御すること、および命令再実行のための命令制
御部の機構は、通常の割込み処理に用いる機構(割り込
みハンドラ)をほとんど利用できることにより遅延型付
加実行処理のためのハードウエアを軽減させ得る効果が
ある。
[Effects of the Invention] The present invention rarely requires delayed addition execution processing depending on operand data and post-processing depending on the operation execution result of a floating-point arithmetic unit. Focusing on the fact that there is no particular problem in the execution performance of the operation, and on the other hand, that the normal operand data of the floating-point operation needs to be executed at high speed,
Data achieves improved execution performance of operations through advanced pipeline processing, and when processing of delayed addition execution of instructions is required, the instruction re-execution function is mainly used to control micro-programs, etc. Since the mechanism of the instruction control unit for re-execution can almost utilize the mechanism (interrupt handler) used for normal interrupt processing, there is an effect that the hardware for the delayed additional execution processing can be reduced.

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

第1図は本発明の一実施例なる汎用処理装置の構成ブロ
ック図、第2図は本発明の演算処理方式によるパイプラ
イン処理の流れを示す図である。 1……命令制御部、2……記憶制御部、3……演算制御
部、4……動作制御部(マイクロシーケンサ)、5……
スティタスポート、6……データポート、7……汎用演
算器、8……浮動小数点演算器、10、11……命令制御部
からのオペランドデータのデータバス、12……命令制御
部への演算結果データバス、13……記憶制御部からのオ
ペランドデータのデータバス、14……記憶制御部への演
算結果格納データバス、15……命令制御部からの指令コ
ード及び指令コード有効信号、16……命令制御部からの
スティタス情報バス、17……演算制御部からのスティタ
ス情報バス、18a,18b,19……汎用演算器の入出力バス、
20a,20b,21……浮動小数点演算器の入出力バス、22……
汎用演算器の演算結果スティタス信号、23……浮動小数
点演算器の演算結果スティタス信号、24a,24b,24c,24d
……マイクロプログラムが各種演算器、ステイタス・ポ
ート、データポートを制御するための制御信号、25……
マイクロシーケンサの分岐条件に用いるステイタス情
報、30、32、35……A命令の演算終了信号、31……B命
令の演算終了信号、33……A命令による命令再実行要求
割込み信号、34……命令再実行前処理
FIG. 1 is a block diagram showing the configuration of a general-purpose processing device according to an embodiment of the present invention, and FIG. 2 is a diagram showing a flow of pipeline processing by the arithmetic processing system of the present invention. 1 ... Command control unit, 2 ... Storage control unit, 3 ... Operation control unit, 4 ... Operation control unit (micro sequencer), 5 ...
Status port, 6 data port, 7 general-purpose operation unit, 8 floating-point operation unit, 10, 11 data bus for operand data from instruction control unit, 12 operation result to instruction control unit Data bus 13, data bus for operand data from storage control unit 14, data storage bus for operation results to storage control unit 15, command code and command code valid signal from instruction control unit 16, Status information bus from the instruction control unit, 17 ... Status information bus from the operation control unit, 18a, 18b, 19 ... I / O bus of general-purpose arithmetic unit
20a, 20b, 21… I / O bus for floating point arithmetic unit, 22…
Operation result status signal of general-purpose operation unit, 23 ... Result operation status signal of floating-point operation unit, 24a, 24b, 24c, 24d
…… Control signals for the microprogram to control various arithmetic units, status ports, and data ports. 25 ……
Status information used for branch conditions of the micro sequencer, 30, 32, 35... A instruction end signal, 31... B instruction end signal, 33... A instruction re-execution request interrupt signal by A instruction, 34. Instruction re-execution pre-processing

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】命令制御部と、記憶制御部と、演算制御部
とを有し、演算制御部中には汎用演算器と浮動小数点演
算のための専用演算器を設けた汎用命令処理装置におい
て、 浮動小数点演算命令の実行の際には、 演算制御部に実行すべき浮動小数点演算命令のオペラン
ドデータが供給された場合に、遅延型付加実行処理の検
出のための前処理は行なわず、直ちに浮動小数点演算器
を起動し、該浮動小数点演算器の演算実行と並行して、
遅延型付加実行処理が必要か否かの検出処理を行う第1
の手順、 演算制御部での遅延型付加実行処理を含む浮動小数点演
算命令の演算サイクルを一定の処理速度で動作させるた
めの演算終了信号を常に一定のサイクルで命令制御部に
通知する第2の手順、 遅延型付加実行処理の検出処理にて、該遅延型付加実行
処理の必要性が検出された場合、及び浮動小数点演算器
の演算実行結果により後処理の必要が生じた場合には、
演算制御部は命令制御部に対して命令再実行割込みを発
行する第3の手順、 命令制御部が命令再実行要求割込みを受付けた場合に
は、後続の命令をキャンセルした後、命令再実行要求割
込みが要求した命令を再実行するために演算制御部に対
する指令コードを修飾して命令再実行の専用エントリを
指定し、さらに命令再実行モードを演算制御部に通知す
る第4の手順、 上記第1から第4までの手順を用い、かつ演算制御部の
命令実行の専用エントリには起りうる所定のケースに対
応する命令処理エントリを設けて浮動小数点演算命令を
実行することを特徴とする命令再実行による演算処理方
式。
1. A general-purpose instruction processing device having an instruction control unit, a storage control unit, and an operation control unit, wherein the operation control unit includes a general-purpose operation unit and a dedicated operation unit for floating-point arithmetic. When the floating-point operation instruction is executed, when the operand data of the floating-point operation instruction to be executed is supplied to the operation control unit, the pre-processing for detecting the delay type additional execution processing is not performed, but immediately. Activate the floating point arithmetic unit, and in parallel with the execution of the operation of the floating point arithmetic unit,
1st processing for detecting whether or not the delay type additional execution processing is necessary
The operation control unit always notifies the instruction control unit of an operation end signal for operating the operation cycle of the floating-point operation instruction including the delay type additional execution process at a constant processing speed to the instruction control unit at a constant cycle. In the procedure, when the necessity of the delay type additional execution processing is detected in the detection processing of the delay type additional execution processing, and when the post-processing becomes necessary due to the calculation execution result of the floating point arithmetic unit,
A third step of issuing an instruction re-execution interrupt to the instruction control unit; if the instruction control unit receives the instruction re-execution request interrupt, cancel the subsequent instruction and then execute the instruction re-execution request. A fourth procedure for modifying the instruction code for the arithmetic control unit to specify an instruction re-execution dedicated entry in order to re-execute the instruction requested by the interrupt, and for notifying the instruction control unit of the instruction re-execution mode; An instruction re-execution characterized by using the first to fourth procedures and providing an instruction processing entry corresponding to a predetermined case which can occur in a dedicated entry for instruction execution of the arithmetic control unit to execute a floating-point operation instruction. Arithmetic processing method by execution.
JP63213815A 1988-08-30 1988-08-30 Operation processing method by instruction re-execution Expired - Fee Related JP2572821B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63213815A JP2572821B2 (en) 1988-08-30 1988-08-30 Operation processing method by instruction re-execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63213815A JP2572821B2 (en) 1988-08-30 1988-08-30 Operation processing method by instruction re-execution

Publications (2)

Publication Number Publication Date
JPH0262631A JPH0262631A (en) 1990-03-02
JP2572821B2 true JP2572821B2 (en) 1997-01-16

Family

ID=16645489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63213815A Expired - Fee Related JP2572821B2 (en) 1988-08-30 1988-08-30 Operation processing method by instruction re-execution

Country Status (1)

Country Link
JP (1) JP2572821B2 (en)

Also Published As

Publication number Publication date
JPH0262631A (en) 1990-03-02

Similar Documents

Publication Publication Date Title
JP2834837B2 (en) Programmable controller
US5293500A (en) Parallel processing method and apparatus
JPH0242569A (en) Context switching method and apparatus used for vector processing system
JPH0215369A (en) Method and apparatus for executing instruction of vector processing system
JPH06214799A (en) Method and apparatus for improvement of performance of random-sequence loading operation in computer system
JPH0250260A (en) Exception reporting mechanism for vector processor
JPH0689201A (en) Microprocessor having run/stop pin for accessing idle mode and operating method thereof
JP3400458B2 (en) Information processing device
JPS61204758A (en) Co-processor controlling system
US20220188121A1 (en) Pipeline Protection for CPUs With Save and Restore of Intermediate Results
JPH0530112A (en) Control method for digital signal processing system
JPH07120338B2 (en) Method for a data processor to coordinate the execution of instructions by a coprocessor and the data processor
JP2572821B2 (en) Operation processing method by instruction re-execution
JP2710994B2 (en) Data processing device
JPH1049373A (en) Method and device for operating multiplex and highly accurate event for pipeline digital processor
JP2532560B2 (en) Data processing device for high-performance exception handling
JP3199035B2 (en) Processor and execution control method thereof
JP2536726B2 (en) Microprocessor
JPH0133856B2 (en)
JPH02211534A (en) Parallel processor
JPH0242533A (en) Register hazard control circuit
JP2806690B2 (en) Microprocessor
JPH06139071A (en) Parallel computers
KR910007028B1 (en) Pipeline processing method in data processing system
JPS6221130B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees