JPH05324319A - High speed arithmetic processing system - Google Patents

High speed arithmetic processing system

Info

Publication number
JPH05324319A
JPH05324319A JP12848892A JP12848892A JPH05324319A JP H05324319 A JPH05324319 A JP H05324319A JP 12848892 A JP12848892 A JP 12848892A JP 12848892 A JP12848892 A JP 12848892A JP H05324319 A JPH05324319 A JP H05324319A
Authority
JP
Japan
Prior art keywords
processing
cycle
arithmetic
instruction
overlap
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.)
Granted
Application number
JP12848892A
Other languages
Japanese (ja)
Other versions
JP2761324B2 (en
Inventor
Shigeharu Matsuzaki
重治 松崎
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 JP12848892A priority Critical patent/JP2761324B2/en
Publication of JPH05324319A publication Critical patent/JPH05324319A/en
Application granted granted Critical
Publication of JP2761324B2 publication Critical patent/JP2761324B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To enable an operation at a high speed by precisely and quickly issuing an instruction for stopping and releasing an instruction execution pipeline to an instruction control part when microprogram dividing processing is requested by providing an operation completion signal(VEND signal) on an operation overlap processing cycle. CONSTITUTION:An instruction processor is provided with the instruction execution pipeline of variable length with the operation overlap processing cycle made into multiple stages in addition to an operation cycle. Also, it is equipped with a floating point computing element 210 by which an operation overlap operation can be performed and a versatile computing element 110 and performs operation control by a microprogram. The operation completion signal VEND in the operation overlap processing cycle is provided, and the operation of operation overlap processing made into multiple stages is executed by using the floating point computing element 210, and when the microprogram dividing processing is requested while executing the processing, the processing of instruction sequence can be advanced by controlling the timing to issue the operation completion signal VEND in the operation overlap processing cycle.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、可変長の命令実行パイ
プラインを有する命令処理装置の演算処理方式に関す
る。命令処理装置は、数多くの命令を高速に実行する能
力を備えていなければならない。中でも、特に高速性が
要求されるのは四則演算であり、とりわけ大型機では、
科学技術計算の高速処理能力が重要とされので、浮動小
数点演算命令を高速に実行できる能力が必要である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing system for an instruction processing device having a variable length instruction execution pipeline. The instruction processor must be capable of executing many instructions at high speed. Above all, it is the four arithmetic operations that require particularly high speed, especially for large machines,
Since the high-speed processing capability of scientific and technological calculations is important, the ability to execute floating-point arithmetic instructions at high speed is required.

【0002】このため、大型機では、専用の浮動小数点
演算器を設け、さらに、データの処理に関しては、高度
なパイプライン処理方式により、高速に命令を実行す
る。具体的には、比較的容易に構成が可能な演算オーバ
ラップ処理がよく用いられる。演算オーバラップ処理を
用いる場合には、専用の浮動小数点演算器を演算オーバ
ラップ動作可能な構成にして、命令実行パイプラインに
通常の演算サイクルの他に、演算オーバラップ処理サイ
クル(Vサイクル)を設ける。
For this reason, a large-scale machine is provided with a dedicated floating-point arithmetic unit, and further, for data processing, instructions are executed at high speed by an advanced pipeline processing system. Specifically, arithmetic overlap processing, which can be configured relatively easily, is often used. When the arithmetic overlap processing is used, a dedicated floating point arithmetic unit is configured to be capable of arithmetic overlap operation so that the instruction execution pipeline has an arithmetic overlap processing cycle (V cycle) in addition to a normal arithmetic cycle. Set up.

【0003】浮動小数点演算命令は、このVサイクルを
使用して実行する。Vサイクルは、最低で一つでよい
が、3サイクル以上を要する浮動小数点演算命令につい
て高速処理を実現するためには、必要に応じてVサイク
ルを、例えばV1 サイクル、V 2 サイクルへと増加させ
る。つまり、演算オーバラップ処理サイクルの多段化を
行なう。
Floating point arithmetic instructions use this V cycle.
Use and execute. At least one V cycle is required
However, regarding floating point arithmetic instructions that require more than 3 cycles,
In order to achieve high-speed processing with
For example, V1 Cycle, V 2 Increase to cycle
It In other words, increase the number of arithmetic overlap processing cycles
To do.

【0004】一方、浮動小数点演算命令の中には、その
オペランド・データの内容に依存して、特殊なマイクロ
・プログラム処理が必要となる場合がある。また、演算
実行において、浮動小数点演算器が例外的な中間結果を
出力した場合には、最終結果を得るために、マイクロ・
プログラム処理による特別な演算後処理が必要となる場
合がある。
On the other hand, some floating point arithmetic instructions require special micro program processing depending on the contents of their operand data. When the floating-point arithmetic unit outputs an exceptional intermediate result during execution of the operation, the micro
Special post-processing by program processing may be required.

【0005】[0005]

【従来の技術】命令処理装置における演算制御部の処理
方式は、一般的に次の二つの場合に分けられる。ひとつ
は、マイクロ・プログラムが汎用演算器を制御して命令
を実行する方式、すなわちマイクロ・プログラム処理を
行なう場合である。
2. Description of the Related Art Generally, the processing system of an arithmetic control unit in an instruction processing device is divided into the following two cases. One is a method in which a micro program controls a general-purpose arithmetic unit to execute an instruction, that is, a case of performing micro program processing.

【0006】また、第二の方式は、浮動小数点演算器な
どの専用演算器を設け、通常のオペランド・データの実
行は専用演算器で高速に実行し、マイクロ・プログラム
は、演算器の起動や、特殊なオペランド・データ処理
や、演算器が出力する例外的な中間結果に対する処理を
行なうという場合であり、これらを命令やオペランド・
データの内容によって最適に使い分けるという方式であ
る。
In the second method, a dedicated arithmetic unit such as a floating point arithmetic unit is provided, and the execution of normal operand data is executed at high speed by the dedicated arithmetic unit. , Special operand data processing, or processing of exceptional intermediate results output by a computing unit.
This is a method that is used properly according to the content of data.

【0007】ところで、従来、実行する命令が特殊な処
理を行なう必要があるという場合であって、その特殊な
処理の必要性がその命令の解読のみで判断できるという
場合については、命令制御部は、命令の解読をして演算
制御部を起動するときに、演算制御部に対する指令コー
ドを修飾することで、その命令が特殊な処理を行なう必
要がある命令であることを、演算制御部に指示してい
た。
By the way, conventionally, in the case where an instruction to be executed needs to perform special processing and the necessity of the special processing can be judged only by decoding the instruction, the instruction control unit , When the instruction is decoded and the arithmetic control unit is activated, the instruction code for the arithmetic control unit is modified to instruct the arithmetic control unit that the instruction requires special processing. Was.

【0008】一方、浮動小数点演算命令の中には、オペ
ランド・データに依存して、浮動小数点演算器が出力し
た中間結果に対し、最終結果を得るために特別な演算後
処理を必要とするものがある。また、オペランド・デー
タに依存して、特殊な処理が要求される命令もある。
On the other hand, some floating point arithmetic instructions require special post-processing to obtain the final result of the intermediate result output by the floating point arithmetic unit, depending on the operand data. There is. There are also instructions that require special processing depending on the operand data.

【0009】オペランド・データに依存して特殊な処理
が必要な場合、および特別の演算後処理が必要な場合に
ついては、当然、命令制御部においてその必要性を判断
することは不可能である。
When special processing is required depending on the operand data and when special post-processing is required, it is naturally impossible for the instruction control unit to judge the necessity.

【0010】そこで、演算制御部が起動し、実行する命
令のオペランド・データが記憶制御部あるいは命令制御
部から演算制御部へ供給された時点で、演算制御部がそ
のオペランド・データを解析することで前記処理の必要
性を判断することとしている。また、この時、命令制御
部から演算制御部への指令コードに対応する専用の浮動
小数点演算器が起動される。
Therefore, when the arithmetic control unit is activated and the operand data of the instruction to be executed is supplied from the storage control unit or the instruction control unit to the arithmetic control unit, the arithmetic control unit analyzes the operand data. Therefore, the necessity of the above processing is determined. At this time, a dedicated floating-point arithmetic unit corresponding to a command code from the instruction control unit to the arithmetic control unit is activated.

【0011】オペランド・データを解析することによっ
て前記処理が必要となった場合には、演算制御部は命令
制御部に演算終了信号を通知しないことで、命令制御部
の命令実行パイプラインを停止させる。
When the above processing is required by analyzing the operand data, the arithmetic control unit does not notify the instruction control unit of the arithmetic end signal, thereby stopping the instruction execution pipeline of the instruction control unit. ..

【0012】それから、演算制御部は前記条件を検出し
た命令の処理をマイクロ・プログラムに割り出して、マ
イクロ・プログラム制御で命令処理を続行する。演算制
御部は、マイクロ・プログラム割出し処理が終了する
と、命令制御部に演算終了信号を通知して、命令制御部
の命令実行パイプラインの停止状態を解除する。
Then, the arithmetic control unit determines the processing of the instruction that has detected the above condition in the micro program, and continues the instruction processing under the micro program control. When the micro program indexing process ends, the operation control unit notifies the instruction control unit of an operation end signal and cancels the stopped state of the instruction execution pipeline of the instruction control unit.

【0013】従来方式の命令実行パイプラインで、一般
命令を実行するときの動作例を、図4に示す。命令実行
パイプラインは、各サイクルで実行する処理が明確に定
義されている。
FIG. 4 shows an operation example when a general instruction is executed in the conventional instruction execution pipeline. In the instruction execution pipeline, the processing executed in each cycle is clearly defined.

【0014】図中、Dサイクルは命令デコードサイク
ル、Aサイクルはオペランドアドレス計算サイクル、T
サイクルはTLBアクセスサイクル、Bサイクルはオペ
ランドキャッシュアクセスサイクル、Eサイクルは演算
制御部の演算サイクル、そしてWサイクルは演算結果の
書き込みサイクルを示している。
In the figure, D cycle is instruction decode cycle, A cycle is operand address calculation cycle, and T cycle is T.
A cycle is a TLB access cycle, a B cycle is an operand cache access cycle, an E cycle is an operation cycle of the operation control unit, and a W cycle is an operation result write cycle.

【0015】なお、命令実行パイプラインの各サイクル
は、オーバラップさせることができるので、先行命令の
影響で後続命令が待たされることがなければ、1サイク
ルごとに処理結果を得ることができる。
Since each cycle of the instruction execution pipeline can be overlapped, the processing result can be obtained for each cycle unless the subsequent instruction is kept waiting due to the influence of the preceding instruction.

【0016】図4において、オペランド・レジスタ10
1はオペランド・データを格納するためのものであり、
演算結果レジスタ102は、演算結果を格納するための
ものである。また、汎用演算器110は、各種演算を行
なうものである。なお、図中点線で示すタイミングで
は、後述するEEND信号の通知がなされていない。
In FIG. 4, the operand register 10
1 is for storing operand data,
The calculation result register 102 is for storing the calculation result. Further, the general-purpose arithmetic unit 110 performs various calculations. Note that the EEND signal, which will be described later, is not notified at the timing shown by the dotted line in the figure.

【0017】図4に示す,,およびの命令は、1
サイクルで演算を実行する命令である。この場合、演算
制御部は、命令制御部へ演算終了信号(EEND信号)
を通知する必要はない。しかし、の命令のように2サ
イクル以上で演算を実行するマルチEサイクル命令は、
その最終の演算サイクル(Eサイクル)で、演算終了信
号(EEND信号)を命令制御部へ通知する必要があ
る。
The instructions shown in FIG.
It is an instruction that executes an operation in a cycle. In this case, the operation control unit sends an operation end signal (EEND signal) to the instruction control unit.
You do not need to notify me. However, a multi-E cycle instruction that executes an operation in two cycles or more like
In the final operation cycle (E cycle), it is necessary to notify the instruction control unit of the operation end signal (EEND signal).

【0018】図5と図6に、従来方式で演算オーバラッ
プ処理を行なう場合の、命令実行パイプラインの動作例
を示す。浮動小数点演算の実行には、2サイクル以上必
要な場合があり、さらに演算オーバラップ処理が可能な
場合は、演算オーバラップ処理サイクル(Vサイクル)
を使用する。
FIG. 5 and FIG. 6 show an operation example of the instruction execution pipeline when the operation overlap processing is performed by the conventional method. Execution of floating-point arithmetic may require two or more cycles, and if arithmetic overlap processing is possible, arithmetic overlap processing cycle (V cycle)
To use.

【0019】図5は、浮動小数点演算命令〜を、2
サイクルで実行する場合を示している。図中、浮動小数
点演算器210は、演算オーバラップ処理が可能な専用
の演算器であり、2サイクルで命令の実行をする。図5
に示す構成では、演算処理は2サイクルで実行されてい
るが、その演算結果は、演算オーバラップ処理により、
1サイクルおきに出力されている。
FIG. 5 shows floating point operation instructions 2 to
It shows the case of executing in a cycle. In the figure, a floating-point arithmetic unit 210 is a dedicated arithmetic unit that can perform arithmetic overlap processing, and executes instructions in two cycles. Figure 5
In the configuration shown in, the calculation process is executed in two cycles, but the calculation result is
It is output every other cycle.

【0020】,,,およびの命令は、すべて専
用の浮動小数点演算器210で最終結果を得ることがで
きるので、一定したサイクルで演算の実行を継続するこ
とができる。従って、演算制御部から命令制御部へ、演
算終了信号(EEND信号)を通知する必要はない。
Since the final results of all the instructions of ,,, and can be obtained by the dedicated floating point arithmetic unit 210, the execution of the arithmetic can be continued in a fixed cycle. Therefore, it is not necessary for the arithmetic control unit to notify the instruction control unit of the arithmetic end signal (EEND signal).

【0021】図6は、浮動小数点演算命令を3サイクル
で実行する場合を示している。浮動小数点演算器310
は、演算オーバラップ処理可能な専用の演算器であり、
3サイクルで命令の実行をする。図6に示す構成では、
演算処理は3サイクルで実行されているが、その演算結
果は、演算オーバラップ処理により、2サイクルおきに
出力されている。
FIG. 6 shows a case where a floating point arithmetic instruction is executed in 3 cycles. Floating point arithmetic unit 310
Is a dedicated arithmetic unit that can perform arithmetic overlap processing,
Instructions are executed in 3 cycles. In the configuration shown in FIG.
The calculation process is executed in three cycles, and the calculation result is output every two cycles by the calculation overlap process.

【0022】,,およびの命令は、浮動小数点演
算器310で最終演算結果を得ることができる命令であ
る。一方、の命令は、浮動小数点演算器310の演算
結果に特別の演算後処理が必要な命令である。そこで、
命令の実行に際しては、必要となった演算後処理をマ
イクロプログラムに割り出す前に、命令制御部への演算
終了信号(EEND信号)の通知を抑止する。それか
ら、マイクロ・プログラム制御による汎用演算器110
の操作を行ない、命令処理を続行する。
The instructions of ,, and are the instructions for which the final arithmetic result can be obtained by the floating point arithmetic unit 310. On the other hand, the instruction 1 is an instruction that requires special post-processing for the operation result of the floating point arithmetic unit 310. Therefore,
When executing an instruction, the instruction control unit is prevented from being notified of the operation end signal (EEND signal) before the necessary post-operation processing is determined in the microprogram. Then, the general-purpose arithmetic unit 110 by the micro program control
And the instruction processing is continued.

【0023】処理が終了すると、最終演算結果を演算結
果の格納待ちレジスタ103に設定して、命令制御部へ
演算終了信号(EEND信号)を通知する。演算終了信
号(EEND信号)の通知によって、命令実行パイプラ
インは演算オーバラップ処理サイクル(Vサイクル)に
なる。演算オーバラップ処理サイクル(Vサイクル)で
は、演算結果の格納待ちレジスタ103の内容を、演算
結果レジスタ102に転送する。
When the processing is completed, the final operation result is set in the operation result storage waiting register 103, and the operation end signal (EEND signal) is notified to the instruction control unit. By the notification of the operation end signal (EEND signal), the instruction execution pipeline enters the operation overlap processing cycle (V cycle). In the operation overlap processing cycle (V cycle), the contents of the operation result storage wait register 103 are transferred to the operation result register 102.

【0024】図6に示すように、この演算オーバラップ
処理サイクル(Vサイクル)は、1サイクルのみであ
る。そのため、演算オーバラップ処理が可能な専用の浮
動小数点演算器310を設けているのにもかかわらず、
最適な場合でも2サイクルおきにしか演算結果を得るこ
とができない。
As shown in FIG. 6, the arithmetic overlap processing cycle (V cycle) is only one cycle. Therefore, despite providing the dedicated floating-point arithmetic unit 310 capable of arithmetic overlap processing,
Even in the optimum case, the calculation result can be obtained only every two cycles.

【0025】そこで、演算オーバラップ処理のオーバラ
ップ度を深くとるという方法、すなわち演算オーバラッ
プ処理サイクル(Vサイクル)の多段化を行なう方法が
用いられる。例えば、演算オーバラップ処理サイクル
(Vサイクル)を、V1 サイクルと、V2 サイクルとに
変更する。
Therefore, a method of deepening the degree of overlap of the arithmetic overlap processing, that is, a method of making the arithmetic overlap processing cycle (V cycle) multistage is used. For example, the arithmetic overlap processing cycle (V cycle) is changed to V 1 cycle and V 2 cycle.

【0026】図7は、演算オーバラップ処理サイクル
(Vサイクル)をV1 サイクルと、V 2 サイクルとに変
更した場合の命令実行パイプラインの動作例を示してい
る。図中、第一の演算オーバラップ処理サイクルである
1 サイクルは、格納待ちレジスタ104を有してい
る。また、第二の演算オーバラップ処理サイクルである
2 サイクルは、格納待ちレジスタ103を有してい
る。
FIG. 7 shows the arithmetic overlap processing cycle.
(V cycle) to V1 Cycle and V 2 Change to cycle
It shows an operation example of the instruction execution pipeline when it is changed
It In the figure, it is the first arithmetic overlap processing cycle.
V1 The cycle has a store wait register 104
It It is the second operation overlap processing cycle.
V 2 The cycle has a storage wait register 103
It

【0027】の命令処理をマイクロ・プログラムに割
り出し、マイクロ・プログラム制御で汎用演算器110
を操作して演算結果を得るとき、その演算結果は、演算
オーバラップ処理サイクルが有する2段で構成する格納
待ちレジスタ104,103の内、格納待ちレジスタ1
04に設定する。
The instruction processing of (1) is determined in a micro program, and the general-purpose arithmetic unit 110 is controlled by the micro program.
When the operation result is obtained by operating, the operation result is stored in the storage wait register 1 out of the storage wait registers 104 and 103 having two stages included in the operation overlap processing cycle.
Set to 04.

【0028】V1 サイクルでは、格納待ちレジスタ10
4の内容を格納待ちレジスタ103に転送する。V2
イクルでは、格納待ちレジスタ103の内容を演算結果
レジスタ102に転送する。図7の構成例によれば、専
用の浮動小数点演算器310で最終演算結果を得られる
場合には、1サイクルごとに演算結果を出力することが
可能になる。
In the V 1 cycle, the storage wait register 10
The contents of 4 are transferred to the storage wait register 103. In the V 2 cycle, the contents of the storage wait register 103 are transferred to the operation result register 102. According to the configuration example of FIG. 7, when the dedicated floating point arithmetic unit 310 can obtain the final arithmetic result, the arithmetic result can be output for each cycle.

【0029】[0029]

【発明が解決しようとする課題】オペランド・データに
依存して、特別な演算後処理が必要となる場合を検出し
て、命令制御部に対する演算終了信号(以下、「EEN
D信号」という。)を制御する場合は、詳細にマイクロ
・プログラムへの割出し条件を分離すれば、無駄なマイ
クロ・プログラム割出しは発生しない。しかしながら、
EEND信号の作成論理が複雑になるので、命令制御部
に対するEEND信号の信号遅延が増大する。
An operation end signal (hereinafter referred to as "EEN") to the instruction control unit is detected by detecting a case where special post-processing is required depending on the operand data.
D signal ". ), If the indexing conditions for the micro program are separated in detail, useless micro program indexing does not occur. However,
Since the creation logic of the EEND signal becomes complicated, the signal delay of the EEND signal to the instruction control unit increases.

【0030】EEND信号は、直接に命令処理パイプラ
インの制御に使用するので、特に高速な命令処理装置で
は、EEND信号の信号遅延の増大は許容できない問題
である。よって、現実的に図7に示す構成を使用するこ
とはできない。
Since the EEND signal is used directly for controlling the instruction processing pipeline, an increase in the signal delay of the EEND signal is an unacceptable problem especially in a high speed instruction processing device. Therefore, the configuration shown in FIG. 7 cannot be practically used.

【0031】この問題は、図5に示す浮動小数点演算命
令を2サイクルで実行する場合でも同様であり、2サイ
クルの浮動小数点演算においては、EEND信号の信号
遅延のためにマイクロ・プログラム割出し処理が使用で
きない。
This problem is the same when the floating-point operation instruction shown in FIG. 5 is executed in two cycles, and in the two-cycle floating-point operation, the micro program indexing process is performed due to the signal delay of the EEND signal. Cannot be used.

【0032】すなわち、図5に示す構成では、マイクロ
・プログラムへの割り出しを行なわない場合の処理を、
専用の浮動小数点演算器を用いて2サイクルで実行でき
たとしても、オペランド・データに依存して、マイクロ
・プログラムへの割り出しが必要な場合の処理があるの
で、実際に2サイクルの浮動小数点演算器を使用するこ
とはできない。
That is, in the configuration shown in FIG. 5, the processing in the case where no index is made to the micro program is
Even if it can be executed in 2 cycles by using the dedicated floating point arithmetic unit, there is a process when it is necessary to determine to the micro program depending on the operand data, so the actual floating point arithmetic of 2 cycles You cannot use the bowl.

【0033】本発明は、このような従来の問題点に鑑
み、実行する命令のオペランド・データに依存して、マ
イクロ・プログラム割出し処理の必要性が生じた場合
に、命令制御部への命令実行パイプラインの停止および
その解除の指示を的確に、かつ迅速に行なうことによっ
て、演算オーバラップ処理による高速演算を実現する手
段を提供することを目的とする。
In view of the above conventional problems, the present invention provides an instruction to an instruction control unit when the need for micro program indexing processing arises depending on the operand data of the instruction to be executed. An object of the present invention is to provide a means for realizing a high-speed operation by an operation overlap processing by accurately and promptly issuing instructions for stopping and canceling the execution pipeline.

【0034】[0034]

【課題を解決するための手段】本発明によれば、上述の
目的は、前記特許請求の範囲に記載した手段にて達成さ
れる。
According to the present invention, the above object is achieved by means as set forth in the claims.

【0035】すなわち、請求項1の発明は、演算サイク
ルの他に、多段化した演算オーバラップ処理サイクルを
持つ可変長の命令実行パイプラインを有すると共に、演
算オーバラップ動作可能な専用の浮動小数点演算器と、
汎用演算器とを擁し、演算制御をマイクロプログラムで
行なう命令処理装置において、EEND信号とは別の演
算オーバラップ処理サイクルの演算終了信号を設け、演
算オーバラップ処理においては、演算オーバラップ動作
可能な専用の浮動小数点演算器を用いて、多段化した演
算オーバラップ処理サイクルで演算オーバラップ処理の
演算を実行し、その実行中に、演算オーバラップ処理サ
イクルを延長してマイクロプログラム割出し処理を実行
することとなった場合には、演算オーバラップ処理サイ
クルの前記演算終了信号を発行するタイミングを制御し
て命令列の処理を進めていく高速演算処理方式である。
That is, the invention of claim 1 has a variable length instruction execution pipeline having a multistage operation overlap processing cycle in addition to the operation cycle, and a dedicated floating point operation capable of operation overlap operation. A vessel,
In an instruction processing device having a general-purpose arithmetic unit and performing arithmetic control by a micro program, an arithmetic end signal of an arithmetic overlap processing cycle different from the EEND signal is provided, and arithmetic overlap operation is possible in the arithmetic overlap processing. Using the dedicated floating-point arithmetic unit, the operation of the arithmetic overlap processing is executed in the multi-stage arithmetic overlap processing cycle, and during the execution, the arithmetic overlap processing cycle is extended and the microprogram indexing processing is executed. If so, it is a high-speed arithmetic processing method that advances the processing of the instruction sequence by controlling the timing of issuing the arithmetic end signal in the arithmetic overlap processing cycle.

【0036】また、請求項2の発明は、オペランド・レ
ジスタの内容を退避するためのオペランド退避レジスタ
を設けると共に、演算オーバラップ処理サイクルを延長
してマイクロプログラム割出し処理を実行することとな
った命令に後続する命令のオペランド・データを、その
マイクロプログラム割出し処理の実行開始に際し、必要
に応じてオペランド・レジスタから前記オペランド退避
レジスタへ転送し、マイクロ・プログラム割出し処理の
実行終了に際しては、前記オペランド退避レジスタに退
避していたオペランド・データを、オペランド・レジス
タに復元する高速演算処理方式である。
Further, according to the invention of claim 2, an operand save register for saving the contents of the operand register is provided, and the operation overlap processing cycle is extended to execute the microprogram indexing processing. Operand data of an instruction following the instruction is transferred from the operand register to the operand save register as needed when the execution of the microprogram indexing process is started, and when the execution of the microprogram indexing process is completed, This is a high-speed arithmetic processing method for restoring the operand data saved in the operand save register to the operand register.

【0037】[0037]

【作用】本発明では、演算サイクル(Eサイクル)の終
了を通知する従来の演算終了信号に加え、新たに演算オ
ーバラップ処理サイクルの演算終了信号(以下、「VE
ND信号」という。)を設ける。
In the present invention, in addition to the conventional operation end signal for notifying the end of the operation cycle (E cycle), a new operation end signal for the operation overlap processing cycle (hereinafter referred to as "VE
ND signal ”. ) Is provided.

【0038】そして、演算オーバラップ処理を行なう命
令では、演算オーバラップ処理の第一サイクル(V1
イクル)で、VEND信号を命令制御部に通知すること
とする。このとき、EEND信号は通知しない。
Then, in the instruction for performing the arithmetic overlap processing, the VEND signal is notified to the instruction control unit in the first cycle (V 1 cycle) of the arithmetic overlap processing. At this time, the EEND signal is not notified.

【0039】図1と図2に、演算サイクル(Eサイク
ル)の終了を通知する従来のEEND信号の代わりに、
本発明によるVEND信号を設け、このVEND信号を
使用した場合における命令実行パイプラインの動作例を
示す。なお、図中、CSAは、コントロール・ストアの
アドレス・レジスタを示し、CSDは、コントロール・
ストアの読み出し・レジスタを示す。
1 and 2, instead of the conventional EEND signal for notifying the end of the operation cycle (E cycle),
An example of the operation of the instruction execution pipeline when the VEND signal according to the present invention is provided and the VEND signal is used will be shown. In the figure, CSA indicates an address register of the control store, and CSD indicates a control register.
Indicates store read / register.

【0040】図1は、浮動小数点演算命令を2サイクル
で実行する場合を示す図である。本構成例で明らかなよ
うに、従来では2サイクルの浮動小数点演算において
は、EEND信号の信号遅延のためにマイクロ・プログ
ラム割出し処理を適用できなかったが、本発明によるV
END信号を使用することで、2サイクルの浮動小数点
演算においてもマイクロ・プログラム割出し処理が可能
になった。
FIG. 1 is a diagram showing a case where a floating point arithmetic operation instruction is executed in two cycles. As is apparent from this configuration example, conventionally, in the 2-cycle floating point operation, the micro program indexing process could not be applied due to the signal delay of the EEND signal.
By using the END signal, the micro program indexing process can be performed even in the 2-cycle floating point operation.

【0041】図2は、浮動小数点演算命令を3サイクル
で実行する場合を示す図である。図2に示すように、多
段化した演算オーバラップ処理サイクルを持つ命令処理
パイプラインにおいても、マイクロ・プログラム割出し
処理が可能になった。
FIG. 2 is a diagram showing a case where a floating point arithmetic operation instruction is executed in three cycles. As shown in FIG. 2, even in an instruction processing pipeline having a multi-stage arithmetic overlap processing cycle, micro program indexing processing has become possible.

【0042】しかし、VEND信号を使用することでい
くつかの解決しなければならない問題もある。VEND
信号を使用する場合、マイクロ・プログラム割出し処理
はV 1 サイクルで実行する。この間、図1または図2に
示す後続命令は他の条件で待たれることがなければ、
演算サイクル(Eサイクル)で待つことになる。
However, it is possible to use the VEND signal.
There are some problems that must be resolved. VEND
When using signals, micro program indexing process
Is V 1 Run in a cycle. During this time,
If the subsequent instruction shown does not wait under other conditions,
The operation cycle (E cycle) is awaited.

【0043】従って、この後続命令を演算サイクル
(Eサイクル)で待たせるための手段を考えなければな
らない。例えば、マイクロ・プログラム割出し処理にお
いて、特殊処理や、演算結果の後処理を行なうときは、
命令制御部が、演算制御部に対する指令コードを、後続
命令エントリに指定することとする。
Therefore, it is necessary to consider means for making this subsequent instruction wait in the operation cycle (E cycle). For example, when performing special processing or post-processing of calculation results in micro program indexing processing,
The instruction control unit specifies the instruction code for the arithmetic control unit in the subsequent instruction entry.

【0044】また、必要に応じて後続命令のオペラン
ド・データを、オペランド・レジスタ101から退避す
るためのレジスタ105を設け、ここに後続命令のオ
ペランド・データを保持しておく。そして、マイクロ・
プログラム割出し処理が終了するときには、オペランド
退避レジスタ105の内容をオペランド・レジスタ10
1に復元する。
If necessary, a register 105 for saving the operand data of the subsequent instruction from the operand register 101 is provided to hold the operand data of the subsequent instruction. And micro
When the program indexing process ends, the contents of the operand save register 105 are changed to the operand register 10
Restore to 1.

【0045】マイクロ・プログラム割出し処理が終了し
たら、後続命令の指令コードでコントロールストア
(CS)からマイクロ・コードを読み出し、読み出した
マイクロ・コードを解読して後続命令の実行を開始す
る。
When the micro program indexing process is completed, the micro code is read from the control store (CS) by the command code of the subsequent instruction, the read micro code is decoded, and the execution of the subsequent instruction is started.

【0046】[0046]

【実施例】図3は、本発明の一実施例を示す図である。
図中、オペランド・レジスタ101−1,101−2,
101−3、演算結果レジスタ102、2段構成の格納
待ちレジスタ103,104、オペランド退避レジスタ
105−1,105−2,105−3については、すで
に他の図で説明したものと同様の構成である。
FIG. 3 is a diagram showing an embodiment of the present invention.
In the figure, operand registers 101-1 and 101-2,
101-3, the operation result register 102, the two-stage storage wait registers 103, 104, and the operand save registers 105-1, 105-2, 105-3 have the same configurations as those already described in other figures. is there.

【0047】マイクロ・プログラムの作業レジスタ10
6−1,106−2,106−3は、オペランド・デー
タやマイクロ・プログラム処理の途中結果を保持するも
のであり、セレクタ回路712は、ABUSまたはBB
USの選択を行なうものである。
Micro program work register 10
Reference numerals 6-1, 106-2 and 106-3 hold operand data and intermediate results of micro program processing, and the selector circuit 712 is a bus or BB.
The US is selected.

【0048】浮動小数点演算器210は、演算オーバラ
ップ動作可能な専用の演算器であり、2サイクルで命令
を処理する。浮動小数点演算器310は、演算オーバラ
ップ動作可能な専用の演算器であり、3サイクルで命令
を処理する。また、汎用演算器110は、マイクロ・プ
ログラム割出し処理の演算など、各種演算を行なうもの
である。
The floating point arithmetic unit 210 is a dedicated arithmetic unit capable of performing arithmetic overlap operation and processes an instruction in two cycles. The floating-point arithmetic unit 310 is a dedicated arithmetic unit that can perform arithmetic overlap operation, and processes instructions in 3 cycles. The general-purpose arithmetic unit 110 performs various arithmetic operations such as micro-program indexing operation.

【0049】演算結果1101は、汎用演算器110の
演算結果である。また、演算結果2101は、2サイク
ルの浮動小数点演算器210の演算結果であり、演算結
果3101は、3サイクルの浮動小数点演算器310の
演算結果である。
The calculation result 1101 is the calculation result of the general-purpose calculator 110. Further, the calculation result 2101 is a calculation result of the 2-point floating point calculator 210, and the calculation result 3101 is a calculation result of the 3-cycle floating point calculator 310.

【0050】ステータス1102は、汎用演算器110
のオペランド・ステータス,演算結果ステータスであ
る。また、ステータス2102は、浮動小数点演算器2
10のオペランド・ステータス,演算結果ステータスで
あり、ステータス3102は、浮動小数点演算器310
のオペランド・ステータス,演算結果ステータスであ
る。
The status 1102 indicates the general-purpose arithmetic unit 110.
Operand status and operation result status of. The status 2102 indicates that the floating point arithmetic unit 2
10 is the operand status and the operation result status, and the status 3102 is the floating point arithmetic unit 310.
Operand status and operation result status of.

【0051】コントロール・ストア(以下、「CS」と
いう。)710は、演算制御部のマイクロ・プログラム
を格納するものである。アドレス・レジスタ701は、
CS710のアドレス・レジスタ(以下、「CSA」と
いう。)であり、マイクロコード・アドレス7101
は、マルチEサイクルにおけるCS710の後続のマイ
クロコード・アドレスである。
A control store (hereinafter referred to as "CS") 710 stores a micro program of the arithmetic control unit. The address register 701 is
It is an address register of the CS 710 (hereinafter referred to as “CSA”), and has a microcode address 7101.
Is the subsequent microcode address of CS 710 in a multi-E cycle.

【0052】また、エントリ・アドレス7102は、マ
イクロプログラム割出し処理のエントリアドレスであ
り、読み出し・レジスタ(CSD)702は、CS71
0の読み出しレジスタである。
The entry address 7102 is the entry address of the microprogram indexing process, and the read register (CSD) 702 is the CS71.
0 read register.

【0053】ステータス制御回路711は、状況に応じ
て各種ステータスを制御するものである。EEND信号
7111、及びVEND信号7112については、既に
詳細に説明した。制御信号7113は、CSA701の
制御信号である。
The status control circuit 711 controls various statuses according to the situation. The EEND signal 7111 and the VEND signal 7112 have already been described in detail. The control signal 7113 is a control signal of the CSA 701.

【0054】命令実行パイプライン制御回路750は、
命令処理装置のパイプライン動作を制御するものであ
る。指令コード7501は、演算制御部に対する指令コ
ードであり、レジスタ・スタック760は、各種のレジ
スタから構成されるものである。オペランド・キャッシ
ュ770は、オペランド・データを保持する高速メモリ
である。7601は、レジスタ・スタック760から読
出したオペランド・データである。7602は、レジス
タ・スタック760から読出したオペランド・データで
ある。7701は、オペランド・キャッシュ770から
読出したオペランド・データである。1021は、演算
結果レジスタ102からの演算結果データである。
The instruction execution pipeline control circuit 750 is
It controls the pipeline operation of the instruction processing unit. The command code 7501 is a command code for the arithmetic control unit, and the register stack 760 is composed of various registers. Operand cache 770 is a high speed memory that holds operand data. 7601 is the operand data read from the register stack 760. 7602 is the operand data read from the register stack 760. 7701 is the operand data read from the operand cache 770. 1021 is the operation result data from the operation result register 102.

【0055】[0055]

【発明の効果】以上説明したように、本発明によれば、
多段化した演算オーバラップ処理サイクルを持つ可変長
の命令処理パイプラインと、演算オーバラップ動作可能
な専用の浮動小数点演算器とを具備する構成において、
VEND信号を設けているので、多段化した演算オーバ
ラップ処理サイクルを持つ命令処理パイプラインにおい
ても、マイクロ・プログラムの割出し処理を実現するこ
とができる。
As described above, according to the present invention,
In a configuration including a variable length instruction processing pipeline having a multi-stage arithmetic overlap processing cycle and a dedicated floating point arithmetic unit capable of arithmetic overlap operation,
Since the VEND signal is provided, the indexing processing of the micro program can be realized even in the instruction processing pipeline having the multistage operation overlap processing cycle.

【0056】また、多段化した演算オーバラップ処理
と、専用の浮動小数点演算器とによって高速演算処理を
実行する一方で、特殊処理や、演算結果の後処理につい
ては、マイクロ・プログラム制御で処理することによっ
て、専用の浮動小数点演算器による高速演算処理と、適
切なマイクロ・プログラム処理との両立を達成すること
ができる。よって、専用の浮動小数点演算器を活かす適
切な構成を実現することができるという効果がある。
Further, the high-speed arithmetic processing is executed by the multi-stage arithmetic overlap processing and the dedicated floating point arithmetic unit, while the special processing and the post-processing of the arithmetic result are processed by the micro program control. This makes it possible to achieve both high-speed arithmetic processing by a dedicated floating-point arithmetic unit and appropriate micro-program processing. Therefore, there is an effect that it is possible to realize an appropriate configuration that makes use of the dedicated floating-point arithmetic unit.

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

【図1】本発明による命令実行パイプラインの動作例を
示す図である。
FIG. 1 is a diagram showing an operation example of an instruction execution pipeline according to the present invention.

【図2】本発明による命令実行パイプラインの動作例を
示す図である。
FIG. 2 is a diagram showing an operation example of an instruction execution pipeline according to the present invention.

【図3】本発明の一実施例を示す図である。FIG. 3 is a diagram showing an embodiment of the present invention.

【図4】従来の命令実行パイプラインの動作例を示す図
である。
FIG. 4 is a diagram showing an operation example of a conventional instruction execution pipeline.

【図5】従来の命令実行パイプラインの動作例を示す図
である。
FIG. 5 is a diagram showing an operation example of a conventional instruction execution pipeline.

【図6】従来の命令実行パイプラインの動作例を示す図
である。
FIG. 6 is a diagram showing an operation example of a conventional instruction execution pipeline.

【図7】従来の命令実行パイプラインの動作例を示す図
である。
FIG. 7 is a diagram showing an operation example of a conventional instruction execution pipeline.

【符号の説明】[Explanation of symbols]

101,101−1,101−2,101−3 オペラ
ンド・レジスタ 102 演算結果レジスタ 103,104 格納待ちレジスタ 105,105−1,105−2,105−3 オペラ
ンド退避レジスタ 106−1,106−2,106−3 作業レジスタ 110 汎用演算器 210,310 浮動小数点演算器 701 アドレス・レジスタ 702 読み出し・レジスタ 710 コントロール・ストア 711 ステータス制御回路 712 セレクタ回路 750 命令実行パイプライン制御回路 760 レジスタ・スタック 770 オペランド・キャッシュ 1101,2101,3101 演算結果 1102,2102,3102 ステータス 7101 マイクロコード・アドレス 7102 エントリ・アドレス 7111 EEND信号 7112 VEND信号 7113 制御信号 7501 指令コード 7601,7602,7701 オペランド・データ 1021 演算結果データ
101, 101-1, 101-2, 101-3 Operand register 102 Operation result register 103, 104 Storage wait register 105, 105-1, 105-2, 105-3 Operand save register 106-1, 106-2, 106-3 Work register 110 General-purpose arithmetic unit 210,310 Floating-point arithmetic unit 701 Address register 702 Read register 710 Control store 711 Status control circuit 712 Selector circuit 750 Instruction execution pipeline control circuit 760 Register stack 770 Operand cache 1101, 1021, 3101 Operation result 1102, 2102, 3102 Status 7101 Microcode address 7102 Entry address 7111 EEND signal 7112 VEN Signal 7113 control signal 7501 command code 7601,7602,7701 operand data 1021 operation result data

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】演算サイクルの他に、多段化した演算オー
バラップ処理サイクルを持つ可変長の命令実行パイプラ
インを有すると共に、演算オーバラップ動作可能な専用
の浮動小数点演算器と、汎用演算器とを擁し、演算制御
をマイクロプログラムで行なう命令処理装置において、 演算サイクルの演算終了信号とは別の演算オーバラップ
処理サイクルの演算終了信号を設け、演算オーバラップ
処理においては、演算オーバラップ動作可能な専用の浮
動小数点演算器を用いて、多段化した演算オーバラップ
処理サイクルで演算オーバラップ処理の演算を実行し、 その実行中に、演算オーバラップ処理サイクルを延長し
てマイクロプログラム割出し処理を実行することとなっ
た場合には、演算オーバラップ処理サイクルの前記演算
終了信号を発行するタイミングを制御して命令列の処理
を進めていくことを特徴とする高速演算処理方式。
1. A dedicated floating point arithmetic unit having a variable length instruction execution pipeline having a multi-stage arithmetic overlap processing cycle in addition to the arithmetic cycle and capable of arithmetic overlap operation, and a general-purpose arithmetic unit. In the instruction processing device that has the operation control by a micro program, the operation end signal of the operation overlap processing cycle different from the operation end signal of the operation cycle is provided, and the operation overlap operation can be performed in the operation overlap processing. The dedicated floating-point arithmetic unit is used to execute the arithmetic overlap processing in a multi-stage arithmetic overlap processing cycle, and during that execution, the arithmetic overlap processing cycle is extended to execute the microprogram indexing processing. If it is decided to do so, the operation end signal of the operation overlap processing cycle is issued. Fast processing method, characterized in that that will timing control to advance the processing of the instruction sequence.
【請求項2】オペランド・レジスタの内容を退避するた
めのオペランド退避レジスタを設けると共に、 演算オーバラップ処理サイクルを延長してマイクロプロ
グラム割出し処理を実行することとなった命令に後続す
る命令のオペランド・データを、そのマイクロプログラ
ム割出し処理の実行開始に際し、必要に応じてオペラン
ド・レジスタから前記オペランド退避レジスタへ転送
し、マイクロプラグラム割出し処理の実行終了に際して
は、前記オペランド退避レジスタに退避していたオペラ
ンド・データを、オペランド・レジスタに復元する請求
項1記載の高速演算処理方式。
2. An operand save register for saving the contents of an operand register, and an operand of an instruction following an instruction for extending a calculation overlap processing cycle and executing microprogram indexing processing. Data is transferred from the operand register to the operand save register as needed at the start of the microprogram indexing process, and saved to the operand save register at the end of the microprogram indexing process. The high-speed arithmetic processing method according to claim 1, wherein the operand data is restored in the operand register.
JP12848892A 1992-05-21 1992-05-21 High-speed processing method Expired - Fee Related JP2761324B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12848892A JP2761324B2 (en) 1992-05-21 1992-05-21 High-speed processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12848892A JP2761324B2 (en) 1992-05-21 1992-05-21 High-speed processing method

Publications (2)

Publication Number Publication Date
JPH05324319A true JPH05324319A (en) 1993-12-07
JP2761324B2 JP2761324B2 (en) 1998-06-04

Family

ID=14985995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12848892A Expired - Fee Related JP2761324B2 (en) 1992-05-21 1992-05-21 High-speed processing method

Country Status (1)

Country Link
JP (1) JP2761324B2 (en)

Also Published As

Publication number Publication date
JP2761324B2 (en) 1998-06-04

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
JPH0437927A (en) Processor processing method
JPH0250260A (en) Exception reporting mechanism for vector processor
JP2677458B2 (en) System call execution device
JP2761324B2 (en) High-speed processing method
JPH01274267A (en) Synchronization
JPH1196006A (en) Information processor
JP2531791B2 (en) Abnormality handling method when accessing Fetch
JP2510691B2 (en) Arithmetic processing method
JP2933182B2 (en) Pipeline control method
JPS61211746A (en) Program executing control system
JP4564025B2 (en) Interrupt processing method in information processing apparatus
JP2000305782A (en) Arithmetic unit
JPS6116338A (en) Interrupt processing system of virtual computer system
JP3414579B2 (en) Programmable controller
JPH0279122A (en) Floating point arithmetic mechanism
JPS60247742A (en) Pipeline arithmetic controller
JPH02206836A (en) Data processor
JPS60247743A (en) Pipeline arithmetic controller
JPS59220844A (en) Instruction reexecution control system
JPH03154929A (en) Central processing unit
JPH05143338A (en) Operational status holding device for electronic computer
JPH04116726A (en) Information processor
JPH0258128A (en) Data processor
JPS60142435A (en) Debugging device of program

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980310

LAPS Cancellation because of no payment of annual fees