JPS61253542A - Information processor - Google Patents

Information processor

Info

Publication number
JPS61253542A
JPS61253542A JP60095429A JP9542985A JPS61253542A JP S61253542 A JPS61253542 A JP S61253542A JP 60095429 A JP60095429 A JP 60095429A JP 9542985 A JP9542985 A JP 9542985A JP S61253542 A JPS61253542 A JP S61253542A
Authority
JP
Japan
Prior art keywords
instruction
register
storage
operand
quotient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60095429A
Other languages
Japanese (ja)
Inventor
Shinya Watabe
真也 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60095429A priority Critical patent/JPS61253542A/en
Publication of JPS61253542A publication Critical patent/JPS61253542A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To reduce the disturbance of a pipeline by transferring the quotient of a decimal division instruction to the subsequent instruction with no intervention of a storage in case an OSC is produced when the preceding instruction indicates a decimal division. CONSTITUTION:A decimal division operation is carried out to the operand data read out of a storage for an information processor applying a pipeline control system. Then the quotient and the residual are stored in the storage as the results of said operation. In such a processing mode of a decimal division instruction, it is checked whether a part or the whole of the quotient of a storage area where the decimal division instruction is stored is used or not as the operand data by the subsequent instruction. When the quotient is used by the subsequent instruction as the operand data, the quotient, i.e., the arithmetic result of the decimal division instruction is transferred as the operand data of the subsequent instruction before the decimal division instruction is stored in the storage. Thus the subsequent instruction can be started early and at a high speed with no disturbance produced to a pipeline.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、パイプライン制御の情報処理装置に係り、特
に10進除算命令と後続命令の間でオペランドのコンフ
リクトが発生した場合の処理方式〔発明の背景〕 パイプライン制御の情報処理装置では、複数の命令が並
列に処理される。か\る情報処理装置において、2つの
オペランドデータがともにストレージに存在し、演算結
果もそのストレージに格納される形式の命令(以下、S
S命令と呼ぶ)の処理について考えてみる。
Detailed Description of the Invention [Field of Application of the Invention] The present invention relates to a pipeline-controlled information processing device, and particularly to a processing method when an operand conflict occurs between a decimal division instruction and a subsequent instruction. Background] In a pipeline-controlled information processing device, multiple instructions are processed in parallel. In such an information processing device, an instruction (hereinafter referred to as S
Let us consider the processing of the S command.

第3図はSS命令のフォーマット例であり、18M社の
370シリードの計算機で用いられているS tora
ge −to −S torage命令の例を示したも
のである。図中、oPは命令のオペレーションコードを
示し、L、、L2の2つのオペランドの長さを示すレン
グスコードである。B□、Bglはアドレス計算に用い
る汎用レジスタ(ペースレジスタ)の番号で、D、、D
、は偏位値(ディスプレーメント)である、第1オペラ
ンドの先頭アドレスは(Bl)+01の和で求められ、
後尾のアドレスは(B、)+D、+L□の和で求められ
る。  (Bl)はペースレジスタB8の内容を示す。
Figure 3 is an example of the format of the SS instruction, which is used in the S tora 370 series computer of 18M Company.
An example of the ge-to-S storage instruction is shown. In the figure, oP indicates the operation code of the instruction, and is a length code indicating the length of the two operands L, L2. B□, Bgl are the numbers of general-purpose registers (pace registers) used for address calculation, and D, , D
, is the displacement value, and the start address of the first operand is found by the sum of (Bl)+01,
The trailing address is determined by the sum of (B,)+D, +L□. (Bl) indicates the contents of pace register B8.

同様に第2オペランドの先頭および後尾のアドレスは(
B2)+D2および(B2)+D2 +L2で求められ
る。これらのアドレスは論理アドレスである。演算は第
1、第2オペランドの間で行われ、演算結果は第1オペ
ランドの記憶領域に格納される。
Similarly, the first and last addresses of the second operand are (
It is determined by B2)+D2 and (B2)+D2 +L2. These addresses are logical addresses. An operation is performed between the first and second operands, and the operation result is stored in the storage area of the first operand.

第4図(a)は、パイプライン制御のコンピュータにお
ける連続するSS命令の動作の流れを示したものである
。第4図(a)のり、A、L、E、P。
FIG. 4(a) shows the flow of operations of successive SS instructions in a pipeline-controlled computer. Figure 4 (a) Glue, A, L, E, P.

Sはそれぞれパイプライン処理の異なるステージで、l
サイクル毎に異なった命令の処理が開始され、複数の命
令が並行して処理されることを示している。図中、Dは
命令の解読およびオペランドの論理アドレスを求めるた
めの加算を行うステージ、Aは算出されたオペランドの
論理アドレスを実アドレスへ変換するステージ、Lはバ
ッファメモリからオペランドデータを読出するステージ
、Eは求められたオペランドデータを使って演算を行う
ステージ、Pは演算結果を格納するための論理アドレス
を実アドレスに変換するステージ、Sはバッファメモリ
に演算結果を書き込むステージである。
S are each a different stage of pipeline processing, l
Processing of a different instruction is started every cycle, indicating that multiple instructions are processed in parallel. In the figure, D is a stage that decodes the instruction and performs addition to find the logical address of the operand, A is a stage that converts the calculated logical address of the operand into a real address, and L is a stage that reads operand data from the buffer memory. , E is a stage that performs an operation using the obtained operand data, P is a stage that converts a logical address for storing the operation result into a real address, and S is a stage that writes the operation result to the buffer memory.

SS命令の場合、オペランド長が長かったり、複雑な処
理を必要とする命令が多いため、一般に2サイクルをE
ステージとして要する。第4図(a)はEステージが2
サイクルの命令1〜4が連続する場合の動作を示してお
り、このときの命令の演算は2サイクルピツチで処理さ
れてゆくことになる。
In the case of SS instructions, there are many instructions that have long operand lengths or require complex processing, so generally two cycles are
Required as a stage. In Figure 4(a), the E stage is 2.
This shows the operation when instructions 1 to 4 of the cycle are consecutive, and the operations of the instructions at this time are processed at a two-cycle pitch.

ところで、パイプライン制御方式のデータ処理装置にお
いては、複数の命令がオーバラップして進行するため、
後続の命令のオペランド読み出しが先行の命令のオペラ
ンド書込みよりも先行する場合、即ち、先行命令(たと
えば命令1)のSステージよりも後続命令(たとえば命
令2)のしステージが先行する場合が生じてくる。命令
処理の順序性が要求されるアーキテクチャのデータ処理
装置では、先行する実行中または実行待ちの命令が変更
しようとしている記憶領域がらその変更前に後続の命令
オペランド読み出しを実行しようとする場合、この矛盾
を検出し、先行命令による記憶領域の変更が完了するま
で後続の命令のオペランド読み出しを遅らせること、即
ち、先行命令のSステージ完了までの後続命令のLステ
ージを遅らせ、この矛盾を解消する必要がある。この処
理は一般にosc (○perand S七ore C
onflict)と呼ばれている。
By the way, in a pipeline control type data processing device, multiple instructions proceed in an overlapping manner, so
When the operand read of a subsequent instruction precedes the operand write of a preceding instruction, that is, the S stage of a subsequent instruction (for example, instruction 2) may precede the S stage of a preceding instruction (for example, instruction 1). come. In a data processing device with an architecture that requires sequential ordering of instruction processing, if the preceding instruction being executed or waiting for execution attempts to read the operands of a subsequent instruction before changing the storage area that it is attempting to change, this error occurs. It is necessary to detect a contradiction and delay reading the operand of the subsequent instruction until the storage area change by the preceding instruction is completed, that is, to delay the L stage of the subsequent instruction until the completion of the S stage of the preceding instruction to resolve this conflict. There is. This process is generally performed using osc (○perand S7ore C
onflic).

oSCが起った場合、上述のごとく後続の命令のオペラ
ンド読み出しがO8C解消まで遅らせられるのでパイプ
ラインが乱れ、性能が低下することになる。第4図(b
)は同図(a)の命令1〜4のすべてに関してoSCが
起った場合、即ち、命令1が変更するストレージデータ
を命令2が必要とし、命令2が変更するストレージデー
タを命令3が必要とする等の場合の動作を示している。
When an oSC occurs, as described above, operand reading of subsequent instructions is delayed until the O8C is resolved, which disrupts the pipeline and degrades performance. Figure 4 (b
) is the case where oSC occurs for all instructions 1 to 4 in the same figure (a), that is, instruction 2 requires the storage data that instruction 1 changes, and instruction 3 requires the storage data that instruction 2 changes. This shows the operation in cases such as.

この第4図(b)の場合、命令は5サイクルピツチで処
理されてゆくことになる。したがって、第3図(a)と
(b)の差、即ちoSCが生じる3サイクルの性能劣下
を生じる。
In the case of FIG. 4(b), instructions are processed at a five-cycle pitch. Therefore, the difference between FIG. 3(a) and FIG. 3(b), that is, a three-cycle performance degradation due to oSC occurs.

上記の欠点を解決する為、すなわち、oSCが起った場
合のパイプラインの乱れを低減する為、先行命令が変更
するストレージデータを、ストレージを介することなく
後続命令へ引き渡すことにより、先行命令のストレージ
書込みを待たずして後続命令の演算を開始できるような
データ処理装置が提供されている(特願昭58−123
246)。
In order to solve the above drawbacks, that is, to reduce pipeline disturbances when oSC occurs, the storage data modified by the preceding instruction is passed to the subsequent instruction without going through storage. A data processing device is provided that can start the operation of a subsequent instruction without waiting for storage writing (Japanese Patent Application No. 58-123).
246).

しかし、該データ処理装置では、10進演算命令を対象
とし、ストレージデータを引渡しは、先行命令のオペラ
ンドデータの右端アドレスと後続命令アドレスのオペラ
ンドデータの右端アドレスが一致した場合にのみ可能で
ある。
However, this data processing device targets decimal operation instructions, and transfer of storage data is possible only when the right end address of the operand data of the preceding instruction and the right end address of the operand data of the succeeding instruction address match.

一方、10進除算命令では、第5図に示す如く、第1オ
ペランドに演算結果を格納し、前半り、−L2バイトに
商を、後半L2+1バイトに剰余を求める。したがって
、特願昭58−132246で提示されるデータ処理装
置では、先行命令が10進除算命令の時、後続命令が先
行命令の演算結果のうち剰余を参照する場合、ストレー
ジを介することなく、後続命令へ引き渡すことができる
が、後続命令が先行命令の演算結果のうち商を参照する
場合、ストレージを介して後続命令へ引き渡さなければ
ならない。
On the other hand, in the decimal division instruction, as shown in FIG. 5, the operation result is stored in the first operand, the quotient is obtained in the first half -L2 byte, and the remainder is obtained in the second half L2+1 byte. Therefore, in the data processing device proposed in Japanese Patent Application No. 58-132246, when the preceding instruction is a decimal division instruction, when the subsequent instruction refers to the remainder of the operation result of the preceding instruction, the subsequent instruction can be used without going through storage. However, if the subsequent instruction refers to the quotient of the operation result of the preceding instruction, it must be passed to the subsequent instruction via storage.

通常のプログラムでは、IO進除算命令の演算結果のう
ち商を後続命令が参照するケースが大部分であり、特願
昭58−123246で示されるデータ処理装置では、
10進除算命令が先行命令となる場合、十分な処理性能
を向上が行われない欠点がある。
In most normal programs, subsequent instructions refer to the quotient of the operation result of the IO decimal division instruction.
If the decimal division instruction is the preceding instruction, there is a drawback that processing performance cannot be sufficiently improved.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、パイプライン制御の情報処理装置にお
いて、先行する命令が10進除算命令のときにOSCが
起った場合、該10進除算命令の商をストレージを介す
ることなく後続命令へ引き渡すことにより、先行する1
0進除算命令のストレージ書込みを待たずして後続命令
の演算を開始し、パイプラインの乱れを低減することに
ある。
An object of the present invention is to transfer the quotient of the decimal division instruction to the subsequent instruction without passing it through storage when an OSC occurs when the preceding instruction is a decimal division instruction in a pipeline-controlled information processing device. By this, the preceding 1
The object of the present invention is to start the operation of a subsequent instruction without waiting for storage writing of a 0-base division instruction to reduce pipeline disturbance.

なお、先行命令が変更するストレージデータをストレー
ジを介すことなく後続命令へ引き渡すことをオペランド
・ラップアラウンド(○W:○perand Wrap
around)と呼ぶことにする。
Note that operand wraparound (○W:○perand wrap) refers to passing storage data modified by a preceding instruction to a succeeding instruction without going through storage.
around).

〔発明の概要〕[Summary of the invention]

本発明は演算に2サイクル以上を必要とする命令がデコ
ードされると1次命令のデコードを1サイクル遅らせ、
かわりに該命令と次命令及びそし以前の命令と次命令と
の間のoWができることを検出するためのデコードステ
ージ(D′)を新たに設ける。該デコードステージでo
Wができることを検出した場合には、(1)従来のoS
C検出回路が上記oSCを検出しても、後続命令のオペ
ランド読出しを遅らせないようにし、(11)演算器に
於ては次命令のオペランドデータとして、ストレジより
読み出したデータのかわりに、先行命令の演算結果を使
用するようにすること。
The present invention delays the decoding of the primary instruction by one cycle when an instruction that requires two or more cycles to perform an operation is decoded.
Instead, a new decoding stage (D') is provided for detecting that oW is possible between the instruction and the next instruction, and between the previous instruction and the next instruction. o at the decoding stage
If it is detected that W can do it, (1) the conventional oS
Even if the C detection circuit detects the oSC, the readout of the operand of the subsequent instruction is not delayed. The result of the calculation should be used.

このために、演算器内に先行命令の演算結果を次命令へ
引き渡すためのデータレジスタを設け、さらに、先行命
令処理の一部として、次命令が必要とすると予測される
データの位置合せを行って該データレジスタにあらかじ
めセットしておく。
For this purpose, a data register is provided in the arithmetic unit to pass the operation result of the preceding instruction to the next instruction, and as part of processing the preceding instruction, the data that is predicted to be required by the next instruction is aligned. and set it in the data register in advance.

そして、特に10進除算命令と次命令の間のOWができ
ることの検出では、10進除算命令の第1オペランドす
なわち演算結果のうち商について行い、命令処理の一部
として、演算結果の商について位置合せを行って該デー
タレジスタにあらかじめセットしておく。
In particular, in detecting that an OW occurs between a decimal division instruction and the next instruction, the first operand of the decimal division instruction, that is, the quotient of the operation result, is detected, and as part of the instruction processing, the position The data is matched and set in the data register in advance.

〔発明の実施例〕[Embodiments of the invention]

第1図及び第2図は本発明の一実施例のブロック図であ
り、第4図(c)は同図(b)と同様に、命令1〜4の
すべてに関してOSCが起った場合の、本実施例のタイ
ムチャートを示している。以下各ステージに対応して説
明する。
FIGS. 1 and 2 are block diagrams of one embodiment of the present invention, and FIG. 4(c) shows the case where OSC occurs for all instructions 1 to 4, similar to FIG. 4(b). , which shows a time chart of this embodiment. Each stage will be explained below.

SS命令が命令レジスタ10にセットされると、Dステ
ージの動作して、汎用レジスタ12からB1、B2で示
されるペースレジスタの内容がそれぞれ線12A、12
Bへ続み出され、線10A。
When the SS instruction is set in the instruction register 10, the contents of the pace registers indicated by B1 and B2 are transferred from the general-purpose register 12 to lines 12A and 12, respectively.
Continuing to line B, line 10A.

10BにあるディスプレースメントD、、D2とから(
Bl )+D1 、(B2 )+011が加算器14.
15で行われ、論理アドレスレジスタ16゜17にセッ
トされレングスコードL、、L2は腺10C,IODを
介してレジスタ18.19にセットされる。オペコード
○Pは線10Eを介してレジスタ13にセットされる。
From the displacements D, , D2 in 10B (
Bl )+D1 and (B2 )+011 are the adder 14.
15, set in logical address registers 16, 17, and length codes L, L2 are set in registers 18, 19 through glands 10C and IOD. Opcode OP is set in register 13 via line 10E.

又、命令レジスタ10の内容は本発明の特徴であるOW
制御回路11に送られる。
Further, the contents of the instruction register 10 are OW, which is a feature of the present invention.
The signal is sent to the control circuit 11.

第9図は、oW制御回路11を示したものである。Dス
テージに同期して、レジスタ100には該命令のオペレ
ーションコート○P’、第1オペランドのレングスコー
ドし、′、ペースレジスタ番号B1′、ディスプレース
メントD1′がセットされ、以前レジスタ100にあっ
た内容はレジスタ110にセットされる。即ち、命令の
Dステージ毎に、命令レジスタ10→100→110と
順のその内容がセットされてゆく。
FIG. 9 shows the oW control circuit 11. In synchronization with the D stage, the operation code ○P' of the instruction, the length code of the first operand ', the pace register number B1', and the displacement D1' are set in the register 100, which were previously in the register 100. The contents are set in register 110. That is, the contents of the instruction register are set in the order of 10→100→110 for each D stage of the instruction.

もし、該命令がlO進演算命令であった場合、次サイク
ルでは、次命令のDステージを開始せず、かわりにD′
ステージの動作を起動し、該10進演算命令(以下命令
2と呼ぶ)とその前にデコードされた命令(以下命令1
と呼ぶ)と次のデコードされる命令(以下命令3と呼ぶ
)との間で以下に示す比較が行われる。なお、命令1,
2.3のオペレーションコード等はそれぞれレジスタ1
10.100.10にセットされている。
If the instruction is an IO base operation instruction, in the next cycle, the D stage of the next instruction is not started, but instead D'
The operation of the stage is started, and the decimal operation instruction (hereinafter referred to as instruction 2) and the previously decoded instruction (hereinafter referred to as instruction 1) are
The following comparison is made between the next decoded instruction (hereinafter referred to as instruction 3) and the next instruction to be decoded (hereinafter referred to as instruction 3). Note that command 1,
2.3 operation codes etc. are each in register 1.
It is set to 10.100.10.

第9図のデコーダ102,112では、命令3のオペコ
ードOPと命令2.lのオペコードOP’、OP’を比
較し、演算結果の引き渡しが可能な命令の組合せかどう
かをデコードし、可能であるとき102A、112Aを
それぞれII I Hlにする。
In the decoders 102 and 112 of FIG. 9, the operation code OP of instruction 3 and the operation code OP of instruction 2. The operation codes OP' and OP' of 1 are compared, and it is decoded to determine whether or not the combination of instructions allows the transfer of the operation result. If it is possible, the operation codes 102A and 112A are set to II I Hl, respectively.

また、デコードした命令が10進除算命令のとき。Also, when the decoded instruction is a decimal division instruction.

102B、112Bをそれぞれ′1″にする。102B and 112B are each set to '1''.

第10図は第9図の比較回路104を示している。加算
器301は、L2に対する1の補数回路300の出力と
L12を加算し、L、’ −L2’−1を求める。セレ
クタ304は、線102Bが110 ##のとき線30
3を選択し、線102BがII l 1gのとき線30
2を選択する。すなわち、線311には10進除算命令
の時L1’ −L2’ −1が。
FIG. 10 shows the comparator circuit 104 of FIG. The adder 301 adds the output of the 1's complement circuit 300 for L2 and L12 to obtain L,'-L2'-1. Selector 304 selects line 30 when line 102B is 110
3 and when line 102B is II l 1g, line 30
Select 2. That is, line 311 has L1'-L2'-1 for a decimal division instruction.

10進除算命令以外のlO進全命令はL1′が出力され
る。回路307は、加算器305の出力と加算器306
の出力が等しい、とき線312を′1′″にする。回路
311は、(入力311)≧L2のとき、線313を1
”にする。回路309はBI′=B2のとき線314を
1111+にする。線312゜313.314がすべて
1”のとき、ANDゲート310によって線104Aが
rl 1 ″となり、演算結果引渡し条件OWが成立す
る。すなわち、10進除算命令以外の10進演算命令で
は、LL’+D、’ =L、+D2.L、’ ≧L−2
’#B1’=   ・B2のときOWが成立し、10進
除算命令では。
L1' is output for all IO instructions other than decimal division instructions. A circuit 307 connects the output of the adder 305 and the adder 306.
When the outputs of
When BI'=B2, the circuit 309 sets the line 314 to 1111+. When the lines 312, 313, and 314 are all 1", the AND gate 310 sets the line 104A to rl 1", and the operation result delivery condition OW is set. In other words, for decimal operation instructions other than decimal division instructions, LL'+D,' =L, +D2.L,' ≧L-2
'#B1' = - OW is established when B2, and in the decimal division instruction.

L、’ −L2’−1+D、’ =L2+D、、Ll 
’−L2’ −1≧L2’ 、B、’ =82(7)と
きOWが成立する。 第9図の比較器106,114゜
116でも同様の比較が行われ、それぞれ条件が成立す
ると線106A、114A、116Aを゛1”にする。
L,'-L2'-1+D,' =L2+D,,Ll
OW is established when '-L2'-1≧L2',B,' =82(7). Similar comparisons are made in the comparators 106, 114 and 116 in FIG. 9, and when the respective conditions are met, the lines 106A, 114A and 116A are set to "1".

さらにアンド回路103,105゜113.115によ
り図の様にアンドがとられ、それぞれ線103A、10
5A、113A、115Aをat 1 myにする。
Furthermore, the AND circuits 103, 105 and 113 and 115 perform an AND operation as shown in the figure, and the lines 103A and 10 respectively
Set 5A, 113A, and 115A to at 1 my.

以上がD′ステージの動作であるが、上記比較回路10
4の場合のOWの成立条件を第11図に示す。第11図
中、命令2が変更しようとしている記憶領域(以下領域
2と呼ぶ)はハツチングで示している。10進除算命令
以外の10進命令では、(BX’)+L□’ +DI 
’ = (B2)+D2+L2、さらにL4′≦L2ゆ
え、第11図(a)に相当する。10進除算命令では、
(Bl’)+L、’ +L2’−1+D、= (B2)
+D2+L2、さらにり、’ −L、’−1≧Lゆえ、
第11図(b)に相当する。第11図(c)はO20が
生じるoWが成立しない場合の一例である。
The above is the operation of the D' stage.
The conditions for establishing OW in case 4 are shown in FIG. In FIG. 11, the storage area (hereinafter referred to as area 2) that instruction 2 attempts to change is indicated by hatching. For decimal instructions other than decimal division instructions, (BX') + L□' + DI
'=(B2)+D2+L2, and since L4'≦L2, this corresponds to FIG. 11(a). In the decimal division instruction,
(Bl')+L,'+L2'-1+D, = (B2)
+D2+L2, furthermore, '-L, '-1≧L, therefore,
This corresponds to FIG. 11(b). FIG. 11(c) is an example of a case where oW in which O20 occurs does not hold.

再び第1図と第2図に戻り説明する。線103Aは上記
のように命令2の第1オペランドと命令3の第2オペラ
ンドの間の比較結果を、他も同様に、線105Aは命令
2の第1オペランドと命令3σ第1オペランド間、線1
13Aは命令lの第1オペランドと命令3の第2オペラ
ンド間、線115Aは命令1の第1オペランドと命令3
の第1オペランド間の比較結果を示している。これらの
比較結果は、命令3のDステージに同期して、レジスタ
61,60,63.62にそれぞれセットされる。
The explanation will be given again by returning to FIGS. 1 and 2. Line 103A shows the comparison result between the first operand of instruction 2 and the second operand of instruction 3 as described above, and line 105A shows the comparison result between the first operand of instruction 2 and the first operand of instruction 3σ. 1
13A is between the first operand of instruction 1 and the second operand of instruction 3, and line 115A is between the first operand of instruction 1 and instruction 3.
It shows the comparison results between the first operands of . These comparison results are set in registers 61, 60, 63, and 62, respectively, in synchronization with the D stage of instruction 3.

Aステージでは、第1図の論理アドレスレジスタ16.
17の内容が16A、17Aを介して第2図のアドレス
変換回路260,270に送られ。
In the A stage, the logical address register 16. of FIG.
The contents of 17 are sent to address conversion circuits 260 and 270 in FIG. 2 via 16A and 17A.

実アドレスに変換されて、実アドレスレジスタ26.2
7にセットされる。アライン制御回路280.290で
は、レングスコードの内容線18A。
Converted to real address, real address register 26.2
It is set to 7. In the alignment control circuits 280 and 290, the content line 18A of the length code.

19Aとアドレス変換の対象とならない下位のアドレス
線16A、17Aからアライナ36.37で行うアライ
ンのシフト数を決定する。
The number of alignment shifts to be performed by aligners 36 and 37 is determined from address lines 19A and lower address lines 16A and 17A that are not subject to address conversion.

第6図(a)はアライナ36.37の動作を説明する図
である。オペランドデータを斜線で示したすると、先に
説明したとおり、右端アドレスは(B = ) + D
 t + L =  (i = 1 、2 )で示され
、その下位3ビツトで8バイトの境界内のアドレスが示
される。この3ビツトの値をXとすると、7−Xバイト
右にシフトすることにより第6図(a)の下の様に、オ
ペランドの右端が8バイトの右端に合致した出力が得ら
れる。10進命令の場合。
FIG. 6(a) is a diagram illustrating the operation of the aligners 36 and 37. If the operand data is indicated by diagonal lines, the rightmost address is (B = ) + D, as explained earlier.
It is indicated by t + L = (i = 1, 2), and its lower three bits indicate an address within the 8-byte boundary. Assuming that the value of these 3 bits is X, by shifting 7-X bytes to the right, an output is obtained in which the right end of the operand matches the right end of 8 bytes, as shown in the lower part of FIG. 6(a). For decimal instructions.

小数点位置はデータの右端にあるので、第1.第2オペ
ランドの小数点位置がともにオペランドの右端が厳君に
位置する様、アライナ36.37にてシフトし、かつ不
要な部分にゼロ埋め込みが行われ(以下右詰めと呼ぶ)
。第1.第2オペランドをとも右詰めにすることにより
、両オペランドの小数点位置は合い演算が行いやすくな
る。
The decimal point is at the right end of the data, so the first decimal point is at the right end of the data. The decimal point positions of the second operand are both shifted by the aligners 36 and 37 so that the right end of the operand is located at the top, and unnecessary parts are padded with zeros (hereinafter referred to as right-justification).
. 1st. By aligning both second operands to the right, the decimal point positions of both operands match, making it easier to perform calculations.

アライン制御回路280,290で得られたシフト数は
レジスタ28.29にセットされる。
The shift numbers obtained by the alignment control circuits 280 and 290 are set in registers 28 and 29.

又、レングスコードや論理アドレスを示す線16A−1
9AはOSC検出回路20に送られ、二Nで該命令より
も先行する命令が格納しようとしているアドレスとの比
較が行われる。
In addition, a line 16A-1 indicating the length code and logical address
9A is sent to the OSC detection circuit 20, where it is compared with the address to be stored by the instruction preceding the instruction at 2N.

第7図は○SC検出回路20の一例である。線16A〜
19Aにはそれぞれ(BS)+DI、(B2)+D2 
、L□tL2が入力され、加算器201.202にて加
算される。(Bt)+otおよび(Bi)+Di +L
i  (i=1.2)は該命令が読み出そうとしてるス
トレージオペランドの先頭および後尾のアドレスを示し
ている。この内、(B□)+Dユ及び(Bl)+D□+
L1はそれぞれレジスタ210−1.220−1にAス
テージに同期してセットされ、レジスタ210−1.2
20−1の内容は、順次、Aステージに同期してレジス
タ210−2,220−2.・・・、210−n、22
0−nにセットされる。したがって、レジスタ210−
、n、 220−nには該命令よりn命令前の命令の格
納領域の先頭・後尾アドレスがセットされている。これ
らの領域が、該命令の読み出し領域の一部又は全部と重
複するか否かを比較器230−1〜n、240−1〜n
で検出し、もし一部でも重複する所があれば線230A
 −1〜n、 240−A l〜nを′1″にする。ス
テージ制御回路250では、線230 A −1= n
、線240−1〜nの1つでも“′1″であると該命令
のオペランド読出しを抑止する。
FIG. 7 shows an example of the ◯SC detection circuit 20. Line 16A~
19A has (BS) + DI, (B2) + D2, respectively.
, L□tL2 are input and added by adders 201 and 202. (Bt)+ot and (Bi)+Di +L
i (i=1.2) indicates the beginning and end addresses of the storage operand that the instruction attempts to read. Among these, (B□)+Dyu and (Bl)+D□+
L1 is set in register 210-1.220-1 in synchronization with the A stage, and register 210-1.2
The contents of register 20-1 are sequentially stored in registers 210-2, 220-2, . ..., 210-n, 22
Set to 0-n. Therefore, register 210-
, n, 220-n are set with the start and end addresses of the storage area of the instruction n instructions before the current instruction. Comparators 230-1 to 230-n and 240-1 to n determine whether these areas overlap part or all of the readout area of the instruction.
If there is any overlap, line 230A is detected.
-1 to n, 240-A l to n are set to '1''. In the stage control circuit 250, the line 230 A -1=n
, 240-1 to 240-n is "'1", operand reading of the instruction is inhibited.

二5で、本発明の特徴としてoW制御回路11でOW条
件が検出された場合には、線60A〜63Aを介して該
O8C検出回路20に伝えられ、これにより比較器23
0−1,240−1.2′30−2,240−2の動作
を抑止し出力をパ0′″にする。即ち、OW制御回路1
1では第11図の(a)、(b)の場合を検出するが、
○SC検出回路20では同図(a)〜(e)の全ての場
合を検出する。
25, as a feature of the present invention, when an OW condition is detected in the oW control circuit 11, it is transmitted to the O8C detection circuit 20 via the lines 60A to 63A, whereby the comparator 23
0-1, 240-1.2' 30-2, 240-2 is suppressed and the output is set to 0''. That is, the OW control circuit 1
1 detects cases (a) and (b) in Fig. 11, but
The SC detection circuit 20 detects all the cases shown in (a) to (e) in the figure.

したがって第11図(a)、(b)の場合、OW制御回
路11で検出されたコンフリクトは、OSC検出回路2
0でも検出されるが、前者を優先させる。
Therefore, in the case of FIGS. 11(a) and 11(b), the conflict detected by the OW control circuit 11 is caused by the OSC detection circuit 2.
Although 0 is also detected, the former is given priority.

線60A〜63A及び線13Aの内容は、Aステージに
同期してレジスタ70〜73及び23にセットされる。
The contents of lines 60A-63A and line 13A are set in registers 70-73 and 23 in synchronization with the A stage.

Aステージに続くしステージでは、第2図の実アドレス
レジスタ26.27に得られた実アドレスを用いてバッ
ファストレージ34.35からオペセンドデータの読み
出しが行われ、読み出されたデータはアライナ36.3
7で演算に好適な様に右詰めに位置合せされ、又、不要
なバイトにはゼロが埋め込まれた後、線36A、37A
を介して演算器40に送られる。同時に、レジスタ70
〜73の内容は線70A〜73Aを介し、又、オ、ペコ
ードを納めたレジスタ23の内容は線23Aを介し、同
様に演算器40に送られる。
In the stage following the A stage, operand data is read out from the buffer storage 34.35 using the real address obtained in the real address register 26.27 in FIG. .3
7, the lines 36A and 37A are aligned to the right to suit calculations, and unnecessary bytes are filled with zeros.
The signal is sent to the arithmetic unit 40 via. At the same time, register 70
The contents of 73 are sent to the arithmetic unit 40 via lines 70A to 73A, and the contents of the register 23 containing the pecode are sent to the arithmetic unit 40 via line 23A.

演算器40の構成例を第8図に示す。線26Aを介して
レジスタ26内の先頭アドレス(B□)+D、はAレジ
スタ430にセットされ、アライナ36で行った第1オ
ペランドのシフト数と同じ値が線28Aを介して、レジ
スタ431にセットされる。線23Aを介してレジスタ
28から与えられる動作コードOPは、マイクロ命令記
録装置400に読み出すべきマイクロプログラムの先頭
マイクロ命令アドレスとして入力される。アライナ36
.37から出力された第1、第2オペランドデータは線
36A、37Aを介してセレクタ490.491に送ら
れる。セレクタ490では。
An example of the configuration of the arithmetic unit 40 is shown in FIG. The start address (B□)+D in the register 26 is set to the A register 430 via the line 26A, and the same value as the shift number of the first operand performed by the aligner 36 is set to the register 431 via the line 28A. be done. The operation code OP given from the register 28 via the line 23A is input to the microinstruction recording device 400 as the first microinstruction address of the microprogram to be read. aligner 36
.. The first and second operand data output from 37 are sent to selectors 490 and 491 via lines 36A and 37A. In selector 490.

線71A、73Aが共に″Ott 、 110 IIな
ら第1オペランドデータを示す線36を、“’ OII
 、 411 $1ならW2レジスタ481の内容を示
す線481Aを、l Jl、′1Qll又は1”、′l
″ならばWルジスタ480の内容を示す線480Aを、
それぞれ線490Aに出力する。同様にセレクタ491
では、線70A、72AがI OpZ 110″のとき
第2オペランドデータを示す線37Aを、′″Q 17
.41 l 91のとき線481Aを、11+1.1“
0″又は“l II、 II I IIのとき線481
をそれぞれセレクトし、線491Aに出力する。線49
0A、491AはLステージに同期してXレジスタ41
0、Yレジスタ420にそれぞれセットされる。上記セ
レクタの意味する所については後述する。
If the lines 71A and 73A are both "Ott, 110 II," then the line 36 indicating the first operand data is "' OII.
, 411 If the value is $1, the line 481A indicating the contents of the W2 register 481 is changed to l Jl, '1Qll or 1'', 'l
”, then the line 480A indicating the contents of the W register 480 is
Each is output to line 490A. Similarly selector 491
Then, when the lines 70A and 72A are I OpZ 110'', the line 37A indicating the second operand data is
.. 41 l When 91, line 481A is 11+1.1"
0" or "l II, II I II line 481
are selected and output to line 491A. line 49
0A and 491A are the X register 41 in synchronization with the L stage.
0 and Y register 420, respectively. The meaning of the above selector will be explained later.

演算器40では、Lステージに続くEステージで演算を
実行する。このEステージの処理を、たとえばlO進加
減算命令と本発明の特徴である10進除算命令について
説明する。
The arithmetic unit 40 executes arithmetic operations in the E stage following the L stage. The processing of this E stage will be explained with respect to, for example, the 1O base addition/subtraction instruction and the decimal division instruction that is a feature of the present invention.

IO進加減算命令はEステージが2サイクルあるが、最
初のサイクルでは、Xレジスタ410およびYレジスタ
420にある第1.第2オペランドデータに対して並列
加算器440で演算が施され、その結果はXレジスタ4
10に戻される。並列加算器440での演算の実行(加
算か減算)等は全てマイクロ命令記憶装置400のマイ
クロプログラムにより制御される。
The IO leading addition/subtraction instruction has two cycles of the E stage, but in the first cycle, the first . The parallel adder 440 performs an operation on the second operand data, and the result is sent to the X register 4.
Returned to 10. The execution of operations (addition or subtraction) in the parallel adder 440 is all controlled by a microprogram in the microinstruction storage device 400.

第2のサイクルでは、シフタ460の入力セレクタ45
0でXレジスタ410がセレクトされ、シフタ460で
は第2図のアライナ36で行ったとは逆のシフト動作が
行われる。即ち、第6図(b)に示す様に、シフタ46
0はアライナ36で右シフトした分だけ左にシフトする
。シフトされた演算結果はSレジスタ470にセットさ
れる6シフタ460の動作はマイクロ命令記憶装置40
0のマイクロプログラム及びレジスタ431から与えら
れるシフト数により制御される。
In the second cycle, input selector 45 of shifter 460
0 selects the X register 410, and the shifter 460 performs a shift operation opposite to that performed by the aligner 36 of FIG. That is, as shown in FIG. 6(b), the shifter 46
0 is shifted to the left by the amount shifted to the right by the aligner 36. The shifted operation result is set in the S register 470. The operation of the 6 shifter 460 is performed by the microinstruction storage device 40.
It is controlled by the microprogram 0 and the shift number given from register 431.

さらに、Eステージの第2サイクルでは、セレクタ45
0の出力94.5OAがWルジスタ480に、Wルジス
タ480の内容がW2レジスタ481にセットされる。
Furthermore, in the second cycle of the E stage, the selector 45
The output 94.5OA of 0 is set to the W register 480, and the contents of the W register 480 are set to the W2 register 481.

これらも、マイクロ命令記憶袋[400のマイクロプロ
グラムにより制御れる。Wルジスタ480には、第6図
(b)の上側の様な右詰めの演算結果が得られる。この
様な動作は命令毎に1回行われるので、W2レジスタ4
81には、該命令よりさらに1命令前の右詰め結果が得
られる。
These are also controlled by microprograms in the microinstruction storage bag [400]. In the W register 480, a right-aligned calculation result as shown in the upper part of FIG. 6(b) is obtained. Since this kind of operation is performed once for each instruction, W2 register 4
81, the right-justified result of one instruction before the instruction is obtained.

一方、本発明で対象とする10進除算命令ではEステー
ジが数サイクルある(Nサイクルとする)、サイクル数
をデータに依存する。被除数に対し除算を繰返し実行し
、第(N−2)サイクルにおいてXレジスタ410に、
第12図(a)に示すように、商が右詰め、剰余が左詰
めで格納される。このサイクルでは、シフタ460が入
力セレクタ450で該Xレジスタ410がセレクトされ
、シフタ460で(L□+1)バイトの左方向へのサイ
クリック・シフト動作が行われる。したがって、第(N
−1)サイクルにおいては、第12図(b)に示す形式
で商と剰余がXレジスタ410に格納される。また、第
(N−2)サイクルでは、Wルジスタ480へのセット
がマイクロ命令記憶装置400のマイクロ命令によって
指示され、第12図(a)の形式で演算結果がWルジス
タ480に格納される。第Nサイクルでは、10進加減
算命令の場合と同様、演算結果とストレージに書込むバ
イト位置あわせの為のシフト動作が実行される。、Wル
ジスタ480の内容のW2レジスタ481へのセットは
、前述の10進加減算命令の場合と同じである。
On the other hand, in the decimal division instruction targeted by the present invention, the E stage has several cycles (assumed to be N cycles), and the number of cycles depends on the data. Division is repeatedly executed on the dividend, and in the (N-2)th cycle, the
As shown in FIG. 12(a), the quotient is stored right-justified and the remainder is stored left-justified. In this cycle, the X register 410 is selected by the input selector 450 of the shifter 460, and the shifter 460 performs a cyclic shift operation of (L□+1) bytes to the left. Therefore, the (N
-1) In the cycle, the quotient and remainder are stored in the X register 410 in the format shown in FIG. 12(b). In the (N-2)th cycle, setting to the W register 480 is instructed by a microinstruction in the microinstruction storage device 400, and the operation result is stored in the W register 480 in the format shown in FIG. 12(a). In the Nth cycle, as in the case of decimal addition/subtraction instructions, a shift operation is performed to align the operation result with the byte position to be written to the storage. , the contents of the W register 480 are set in the W2 register 481 in the same way as in the case of the decimal addition/subtraction instruction described above.

Pステージでは、第1オペランド即ち演算結果の書き込
みアドレス情報が線40Aを介してアドレス変換器52
に送られ実アドレス変換されて実アドレスレジスタ54
にセットされる。一方、Sレジスタ470の演算結果は
線40Bを介してレジスタ56にセットされる。
In the P stage, the write address information of the first operand, that is, the operation result, is sent to the address converter 52 via the line 40A.
The real address is converted and sent to the real address register 54.
is set to On the other hand, the operation result of S register 470 is set in register 56 via line 40B.

Sステージでは、第1図の実アドレスレジスタ54を用
いてレジスタ56の内容がバッファストレージ34.3
5へ書き込まれる。
In the S stage, the contents of the register 56 are stored in the buffer storage 34.3 using the real address register 54 of FIG.
5.

命令3のLステージでは、第8図のWルジスタ480、
W2レジスタ481にはそれぞれ命令2.1の右詰め演
算結果がセットされており、命令3と2のoW条件の検
出結果を示す70A、71A、及び命令3と同じ<OW
条件の検出結果を示す線72A、73Aにより、それぞ
れセレクタ490.491で先に示した動作が行われる
。このとき、たとえば線71Aと73Aが同時に′1′
”となった場合、即ち、命令1及び2の演算結果を命令
3の第1オペランドデータとして使用する場合、線71
Aを優先して命令2の演算結果を使用して演算する。例
えば線71Aが111 ″となった場合、命令3と2の
第1オペランドが○SCを生じたことを意味する。この
時、線36Aには、バッファストレージ34から読み出
され、アライナ36で右詰めにされた命令3の第1オペ
ランドデータが入力されるが、これは命令2の演算結果
が格納される前の値であるため、正しい演算ができない
。正しい演算が行うためには命令2の演算結果を命令3
の第1オペランドデータとする必要があるので、セレク
タ490でWルジスタ480の出力線480Aにおきか
える。このとき、アライナ36で行ったと同等の操作を
施す必要があるため、Wルジスタ480には右詰めの演
算結果を入れ、また、セレクタ480では不要なオペラ
ンド位置にゼロがうめ込まれる。
In the L stage of instruction 3, the W registor 480 in FIG.
The right-justified operation result of instruction 2.1 is set in the W2 register 481, and 70A, 71A, which indicates the detection result of the oW condition of instructions 3 and 2, and <OW same as instruction 3.
According to the lines 72A and 73A indicating the detection results of the conditions, the operations shown above are performed by the selectors 490 and 491, respectively. At this time, for example, the lines 71A and 73A are simultaneously '1'.
”, that is, when the operation results of instructions 1 and 2 are used as the first operand data of instruction 3, line 71
The calculation is performed using the calculation result of instruction 2, giving priority to A. For example, if line 71A becomes 111'', it means that the first operands of instructions 3 and 2 produce ○SC. The packed first operand data of instruction 3 is input, but since this is the value before the operation result of instruction 2 is stored, correct operation cannot be performed. Instruction 3 for the calculation result
Since it needs to be the first operand data, the selector 490 replaces it with the output line 480A of the W register 480. At this time, since it is necessary to perform the same operation as that performed by the aligner 36, the right-justified operation result is input into the W register 480, and zeros are inserted into unnecessary operand positions in the selector 480.

このようにして、命令2及び1の演算結果を命令3の演
算に使用することができる。命令3のEステージでも同
様に右づめの演算結果をWルジスタ480にセットして
おくことにより、命令3と次の命令(命令4)の間でも
連続して上記演算結果の引き渡しを行うことができる。
In this way, the operation results of instructions 2 and 1 can be used for the operation of instruction 3. Similarly, in the E stage of instruction 3, by setting the right-justified operation result in the W register 480, the above operation result can be passed continuously between instruction 3 and the next instruction (instruction 4). .

特に本発明で対象とする10進除算命令では、ストレー
ジ34.35に対しては演算結果が第5図の形式で格納
されるのに対し、先行命令の演算結果を後続命令に引き
渡す為のデータレジスタであるWルジスタ480.W2
レジスタ481には、第12図(a)の形式、すなわち
商が右詰めにして格納される為、商をオペランドアップ
アラウンドすることが可能となる。
In particular, in the decimal division instruction targeted by the present invention, the operation result is stored in the storage 34.35 in the format shown in Figure 5, whereas the data for passing the operation result of the preceding instruction to the succeeding instruction is W register 480. W2
Since the register 481 stores the quotient in the format shown in FIG. 12(a), ie, right-aligned, the quotient can be operand-up-around.

第4図(C)のタイムチャートは、以上で述べた実施例
において、命令1が10進除算命令、命令2.3が命令
lの商に対して演算を行う10進加減算命令である場合
を示したものである。この場合、命令2,3.4のDス
テージの開始は1サイクル遅らされ1代わりにD′ステ
ージが起動されて、OW制御回路11が動作する。第4
図(C)に示すように命令2,3.4のDステージを1
サイクル遅らせても、演算結果は2サイクルピツチに得
られ、従来方式でO20が無い場合の第4図(、)と同
じ性能が得られる。一方、10進除算命令の商に対する
オペランドラップアラウンドを持たない情報処理装置で
は、ステージ制御回路によって次命令のオペランド読出
しが遅らされるため、第4図(b)の様なタイムチャー
1−になる。
The time chart in FIG. 4(C) shows the case where instruction 1 is a decimal division instruction and instruction 2.3 is a decimal addition/subtraction instruction that operates on the quotient of instruction l in the embodiment described above. This is what is shown. In this case, the start of the D stage of instructions 2, 3.4 is delayed by one cycle, and the D' stage is activated instead, so that the OW control circuit 11 operates. Fourth
As shown in figure (C), the D stage of instruction 2, 3.4 is set to 1.
Even if the cycle is delayed, the calculation results are obtained at two cycle intervals, and the same performance as in FIG. 4 (,) in the conventional system without O20 can be obtained. On the other hand, in an information processing device that does not have operand wraparound for the quotient of a decimal division instruction, the readout of the operand of the next instruction is delayed by the stage control circuit. Become.

通常、プログラムでは、10進除算命令の後続命令では
、該除算命令で求めた商を参照する場合が大部分であり
、本発明により処理性能の向上が実現される。
Normally, in most programs, instructions subsequent to a decimal division instruction refer to the quotient obtained by the division instruction, and the present invention can improve processing performance.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、先行する10進除算命令が変更しよう
とする記憶領域の一部又全部を後続の命令がオペランド
データとして使用する場合、ストレージを介すことなく
演算器内で先行の10進除算命令の演算結果を後続の命
令に引き渡すことができるので、後続命令の処理が早期
に開始でき。
According to the present invention, when a subsequent instruction uses part or all of the storage area to be changed by the preceding decimal division instruction as operand data, the preceding decimal division instruction is used within the arithmetic unit without going through storage. Since the result of the division instruction can be passed to the subsequent instruction, processing of the subsequent instruction can be started early.

従来生じていたパイプラインの乱れをなくして処理の高
速化が行える効果がある。
This has the effect of speeding up processing by eliminating pipeline disturbances that conventionally occur.

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

第1図及び第2図は本発明の一実施例のブロック図、第
3@はSS命令のフォーマット例を示す図、第4図(a
)、(b)及び(c)は従来と本発明におけるパイプラ
イン動作を示す図、第5図は10進除算命令のオペラン
ドを示す図、第6図(a)。 (b)は第2図のアライナ36.37及び第8図のシッ
ク460の動作を説明する図、第7図は第2図のO8C
検出回路20の構成例を示す図、第8図は第2図の演算
器40の構成例を示す図、第9図は第1図のOW制御回
路11の構成例を示す図、第10図は第9図の比較回路
104の具体例を示す図、第11図(a)、(b)及び
(c)は○W制御回路11の動作を説明する図、第12
図は10進除算命令における演算器40の動作を説明す
る図である。 10・・・命令レジスタ、  11・・・○W制御回路
、12・・・汎用レジスタ、  14.15・・・アド
レス加算器、 20・・・O8C検出回路、34.35
・・・バッファストレージ、第  3  図 第  4  図 (の 4牟4 ニー=−島一ユEPS 第  10  図 鉛) (b) (C)
1 and 2 are block diagrams of one embodiment of the present invention, 3rd @ is a diagram showing an example of the format of the SS instruction, and 4th (a)
), (b) and (c) are diagrams showing pipeline operations in the conventional and the present invention, FIG. 5 is a diagram showing operands of a decimal division instruction, and FIG. 6 (a). (b) is a diagram explaining the operation of the aligners 36 and 37 in FIG. 2 and the chic 460 in FIG. 8, and FIG.
FIG. 8 is a diagram showing a configuration example of the detection circuit 20, FIG. 8 is a diagram showing a configuration example of the arithmetic unit 40 in FIG. 2, FIG. 9 is a diagram showing a configuration example of the OW control circuit 11 in FIG. 1, and FIG. 11 is a diagram showing a specific example of the comparison circuit 104 in FIG. 9, FIGS.
The figure is a diagram illustrating the operation of the arithmetic unit 40 in a decimal division instruction. 10... Instruction register, 11...○W control circuit, 12... General purpose register, 14.15... Address adder, 20... O8C detection circuit, 34.35
・・・Buffer storage, Figure 3 Figure 4 (4 pieces of EPS Figure 10) (b) (C)

Claims (1)

【特許請求の範囲】[Claims] (1)パイプライン制御方式をとる情報処理装置におい
て、ストレージから読み出したオペランドデーダに対し
て10進除算演算を施し、その演算結果として商と剰余
をストレージに格納する10進除算命令の処理の際に、
該10進除算命令が格納する記憶領域の商の一部又は全
部を後続の命令がオペランドデータとして使用するかど
うかチェックする手段と、後続の命令がオペランドデー
タとして使用する場合、前記10進除算命令のストレー
ジへの格納処理を待たずして、該10進除算命令の演算
結果である商を後続命令のオペランドデータとして引き
渡す手段とを有することを特徴とする情報処理装置。
(1) In an information processing device that uses a pipeline control method, when processing a decimal division instruction that performs a decimal division operation on the operand data read from storage and stores the quotient and remainder in storage as the result of the operation. To,
means for checking whether or not a subsequent instruction uses part or all of the quotient of a storage area stored by the decimal division instruction as operand data; and when the subsequent instruction uses the quotient as operand data, the decimal division instruction; 1. An information processing apparatus comprising: means for delivering a quotient, which is an operation result of the decimal division instruction, as operand data to a subsequent instruction without waiting for storage processing in a storage.
JP60095429A 1985-05-07 1985-05-07 Information processor Pending JPS61253542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60095429A JPS61253542A (en) 1985-05-07 1985-05-07 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60095429A JPS61253542A (en) 1985-05-07 1985-05-07 Information processor

Publications (1)

Publication Number Publication Date
JPS61253542A true JPS61253542A (en) 1986-11-11

Family

ID=14137447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60095429A Pending JPS61253542A (en) 1985-05-07 1985-05-07 Information processor

Country Status (1)

Country Link
JP (1) JPS61253542A (en)

Similar Documents

Publication Publication Date Title
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
US5682545A (en) Microcomputer having 16 bit fixed length instruction format
US4454578A (en) Data processing unit with pipelined operands
KR960003046B1 (en) Risc computer with unaligned reference handling and the method for the same
EP0021399B1 (en) A method and a machine for multiple instruction execution
US4761755A (en) Data processing system and method having an improved arithmetic unit
EP0368332B1 (en) Pipeline data processor
US4179731A (en) Microprogrammed control system
US5497468A (en) Data processor that utilizes full data width when processing a string operation
US4305124A (en) Pipelined computer
EP0220682B1 (en) Data processing system
JPH0374434B2 (en)
US6131158A (en) Data processing system capable of executing groups of instructions, including at least one arithmetic instruction, in parallel
USRE32493E (en) Data processing unit with pipelined operands
EP0094535B1 (en) Pipe-line data processing system
JPH063584B2 (en) Information processing equipment
EP0093430A2 (en) Pipeline data processing system
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
EP0141232B1 (en) Vector processing unit
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JPS61253542A (en) Information processor
US5093775A (en) Microcode control system for digital data processing system
US5745723A (en) Data processing system capable of execution of plural instructions in parallel
EP0015276B1 (en) A digital pipelined computer
JPS60140436A (en) Data processing unit