JPS63245518A - Dividing arithmetic unit - Google Patents

Dividing arithmetic unit

Info

Publication number
JPS63245518A
JPS63245518A JP62079158A JP7915887A JPS63245518A JP S63245518 A JPS63245518 A JP S63245518A JP 62079158 A JP62079158 A JP 62079158A JP 7915887 A JP7915887 A JP 7915887A JP S63245518 A JPS63245518 A JP S63245518A
Authority
JP
Japan
Prior art keywords
register
division
bit
arithmetic device
alu
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
JP62079158A
Other languages
Japanese (ja)
Other versions
JPH0477338B2 (en
Inventor
Akio Miyoshi
三好 昭夫
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP62079158A priority Critical patent/JPS63245518A/en
Priority to US07/167,173 priority patent/US4891780A/en
Priority to KR1019880003423A priority patent/KR950006580B1/en
Publication of JPS63245518A publication Critical patent/JPS63245518A/en
Publication of JPH0477338B2 publication Critical patent/JPH0477338B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To eliminate excess operations and to increase the operation speed by discriminating whether overflow occurs or not in the end of dividing operation. CONSTITUTION:After division is repeated a prescribed number of times to obtain a quotient, contents of an overflow instructing circuit 7 are checked. The one-bit flag held in the circuit 7 indicates whether the first operation result in an ALU 4 is negative or not. One bit outputted from a division result generat ing circuit 5 at the time of terminating a first operation in the ALU 4 is finally shifted to the circuit 7 by a prescribed number of shift operations in a register 2 and reflects on this flag as the result. Consequently, when the flag is '1', A>=B is satisfied at the first time and final data C obtained in the register 2 is not a correct quotient, and the overflow processing is performed. When the flag of the circuit 7 is '0', data C is a correct quotient.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は除算演算装置、特に減算とシフト動作を繰返し
て商を求める除算演算装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial Application Field) The present invention relates to a division arithmetic device, and more particularly to a division arithmetic device that calculates a quotient by repeating subtraction and shift operations.

(従来の技術) 除算演算装置では、被除数を入れるレジスタと、除数を
入れるレジスタと、商を入れるレジスタとが用意される
が、一般に被除数を入れるレジスタの一部を商を入れる
レジスタに兼用することが行われている。除算は、被除
数の上位の方の桁から除数を減算し、1回の減算終了後
に被除数を左ヘシフトし次の減算を行うという操作を繰
返して行うことによって行われる。商は各減算結果の符
号を1および0で表わして並べることによって得られる
(Prior art) A division arithmetic device has a register for storing the dividend, a register for storing the divisor, and a register for storing the quotient. Generally, a part of the register for storing the dividend is also used as a register for storing the quotient. is being carried out. Division is performed by repeatedly subtracting the divisor from the higher digits of the dividend, shifting the dividend to the left after one subtraction, and performing the next subtraction. The quotient is obtained by arranging the signs of each subtraction result as 1 and 0.

被除数が除数に比べて大きいと、除算の結果得られる商
も大きくなり、商を入れるレジスタの桁数が足りなくな
る事態が生じる。すなわち、除算がオーバーフローして
しまうことになり、正しい演算結果を得ることができな
い。このため、従来の除算演算装置では実際の除算演算
を行う前に、被除数と除数とを比較する比較演算を行い
、オーバーフローするか否かを判定している。
If the dividend is larger than the divisor, the quotient obtained as a result of the division will also be larger, resulting in a situation where there are not enough digits in the register to store the quotient. In other words, the division will overflow, making it impossible to obtain a correct operation result. For this reason, in conventional division arithmetic devices, before performing an actual division operation, a comparison operation is performed to compare the dividend and the divisor to determine whether an overflow occurs.

(発明が解決しようとする問題点) 上述のように従来の除算演算装置では、すべての除算演
算の前に、オーバーフローするか否かを調べる比較演算
を行っているため、余分な時間がかかり、演算速度が遅
くなるという問題が生じていた。
(Problems to be Solved by the Invention) As mentioned above, in the conventional division operation device, before every division operation, a comparison operation is performed to check whether there is an overflow, which takes extra time. A problem has arisen in that the calculation speed becomes slow.

そこで本発明は、余分な演算が必要なく演算速度の速い
除算演算装置を提供することを目的とする。
SUMMARY OF THE INVENTION Therefore, it is an object of the present invention to provide a division arithmetic device that does not require extra arithmetic operations and has high arithmetic speed.

〔発明の構成〕[Structure of the invention]

(問題点を解決するための手段) 本発明は、被除数の上位桁を入れるための第1のレジス
タと、被除数の下位桁を入れるための第2のレジスタと
、除数を入れるための第3のレジスタと、第1のレジス
タの内容と第3のレジスタの内容との間で減算または加
算を行うALUと、このALUの演算結果が負になった
ことを示す除算結果生成回路と、この除算結果生成回路
が負を示しているときにだけALUに加算を行わせるA
Lυ機能選択回路と、を備え、 ALUが一回の演算を終了した後、その演算結果を1ビ
ツト分左ヘシフトさせて第1のレジスタに入れ、第2の
レジスタの内容を1ビツト分左ヘシフトさせるとともに
その最上位ビットを第1のレジスタの最下位ビットに入
れ、除算結果生成回路が負を示しているときには“0”
を、その他のときには21”を、第2のレジスタの最下
位ビットに入れて次の演算を行い、以下節2のレジスタ
に商が得られるまでの必要な回数だけ演算動作を続ける
ように構成された除算演算装置において、必要な回数目
の演算終了後に第2のレジスタの最上位ビットからシフ
トされてくるビットを保持し、このビットが“1′であ
る場合に除算がオーバーフローであることを示すオーバ
ーフロー指示回路を更に設けたものである。
(Means for Solving the Problems) The present invention has a first register for storing the high-order digits of the dividend, a second register for storing the low-order digits of the dividend, and a third register for storing the divisor. A register, an ALU that performs subtraction or addition between the contents of the first register and the contents of the third register, a division result generation circuit that indicates that the operation result of this ALU is negative, and this division result A that causes the ALU to perform addition only when the generation circuit indicates a negative value.
After the ALU completes one operation, the operation result is shifted to the left by 1 bit and placed in the first register, and the contents of the second register are shifted to the left by 1 bit. and puts its most significant bit into the least significant bit of the first register, and when the division result generation circuit indicates a negative value, it is set to “0”.
In other cases, 21'' is placed in the least significant bit of the second register to perform the next operation, and the operation is continued as many times as necessary until the quotient is obtained in the register in Section 2 below. In the division arithmetic unit, the bit shifted from the most significant bit of the second register after the completion of the required number of operations is held, and when this bit is “1”, it indicates that the division is an overflow. An overflow indicating circuit is further provided.

(作 用) 本発明に係る除算演算装置では、必要な回数目の演算終
了後に第2のレジスタの最上位ビットからシフトされて
くるビットによってオーバーフローか否かが判断される
。すなわち、このビットが“1”である場合に除算がオ
ーバーフローであることが示される。このビットは最初
の減算を行ったときの演算結果によって除算結果生成回
路で生成されたものであり、このビットが“1”である
ことは最初の減算の結果が正であったことを示す。
(Function) In the division arithmetic device according to the present invention, it is determined whether there is an overflow or not based on the bit shifted from the most significant bit of the second register after the required number of operations are completed. That is, when this bit is "1", it is indicated that the division is an overflow. This bit is generated by the division result generation circuit based on the operation result when the first subtraction is performed, and the fact that this bit is "1" indicates that the result of the first subtraction was positive.

すなわち、最初の時点で第1のレジスタの内容が第3の
レジスタの内容より大きいか等しいことを示す。このよ
うに、除算演算の最後にオーバーフローか否かを判定す
ることができるため、従来の除算演算装置のように、除
算演算前に比較演算を行う必要が無くなり、余分な演算
をなくし演算速度を向上させることができる。
That is, it indicates that the contents of the first register are initially greater than or equal to the contents of the third register. In this way, since it is possible to determine whether there is an overflow at the end of the division operation, there is no need to perform a comparison operation before the division operation, unlike in conventional division operation devices, which eliminates unnecessary operations and speeds up the operation. can be improved.

(実施例) 以下、本発明を図示する実施例に基づいて説明する。本
発明に係る除算演算装置は、従来の除算演算装置に新た
にオーバーフロー指示回路を設けた点が特徴である。そ
こで、説明の便宜上、まず従来の除算演算装置の構成と
その動作を参考のために説明する。
(Example) The present invention will be described below based on an illustrative example. The division arithmetic device according to the present invention is characterized in that an overflow instruction circuit is newly provided in the conventional division arithmetic device. Therefore, for convenience of explanation, first, the configuration and operation of a conventional division arithmetic device will be described for reference.

第3図は、従来の除算演算装置の一例を示すブロック図
である。この装置は、第1のレジスタ1、第2のレジス
タ2、第3のレジスタ3の3つのレジスタを有する。各
レジスタは例えば8ビツトのデータを保持することがで
きる。被除数の上位桁は第1のレジスタ1に、下位桁は
第2のレジスタ2に入れられる。また、除数は第3のレ
ジスタ3に入れられる。そして除算演算の結果としての
商は、最終的に第2のレジスタ2に得られる。したがっ
て、この例では16ビツトまでの被除数を8ビツトまで
の除数で割る演算が可能であり、その結果得られる商が
8ビツトを越えた場合にオーバーフローとなる。以下、
説明を簡単にするために、第1のレジスタ1、第2のレ
ジスタ2、第3のレジスタ3の内容をそれぞれ、データ
A1データB1データCと呼ぶことにする。
FIG. 3 is a block diagram showing an example of a conventional division arithmetic device. This device has three registers: a first register 1, a second register 2, and a third register 3. Each register can hold, for example, 8 bits of data. The upper digits of the dividend are placed in the first register 1, and the lower digits are placed in the second register 2. Also, the divisor is placed in the third register 3. The quotient resulting from the division operation is finally obtained in the second register 2. Therefore, in this example, it is possible to divide a dividend of up to 16 bits by a divisor of up to 8 bits, and if the resulting quotient exceeds 8 bits, an overflow occurs. below,
To simplify the explanation, the contents of the first register 1, second register 2, and third register 3 will be referred to as data A1 data B1 data C, respectively.

ALU4は、データAとデータBとの間の種々の演算を
行う回路である。ここでは、両データの減算、加算の他
に比較演算が行われる。減算および加算の結果は、再び
第1のレジスタ1に戻される。このとき、後述するよう
に左へ1ビツト分シフトしてから戻されることになる。
ALU4 is a circuit that performs various operations between data A and data B. Here, in addition to subtraction and addition of both data, a comparison operation is performed. The results of the subtraction and addition are returned to the first register 1 again. At this time, as will be described later, the data is shifted to the left by one bit and then returned.

除算結果生成回路5はALU4で行われた演算によって
、o“または“1″を出力する。すなわち、演算結果が
負のときには“0”が、それ以外のときには“1”が、
それぞれ出力される。この出力は、第2のレジスタ2の
最下位ビットに入る。なおこのとき、第2のレジスタ2
に入っていたデータCは左へ1ビツト分シフトし、デー
タCの最上位ビットは第1のレジスタ1の最下位ビット
に入ることになる。
The division result generation circuit 5 outputs o" or "1" depending on the operation performed by the ALU 4. That is, when the operation result is negative, "0" is output, and otherwise, "1" is output.
Each is output. This output goes into the least significant bit of the second register 2. Note that at this time, the second register 2
The data C that was in the register is shifted one bit to the left, and the most significant bit of the data C is placed in the least significant bit of the first register 1.

ALU機能選択回路6は、除算演算中にALU4の行う
演算を減算か加算かに指定する回路であり、除算結果生
成回路5から“0”が与えられると、ALU4の次回の
演算を加算に指定し、s 1 ++が与えられると、A
LU4の次回の演算を減算に指定する機能を有する。
The ALU function selection circuit 6 is a circuit that specifies whether the operation to be performed by the ALU 4 during a division operation is subtraction or addition. When "0" is given from the division result generation circuit 5, the ALU function selection circuit 6 specifies the next operation of the ALU 4 to be addition. And given s 1 ++, A
It has a function to specify the next operation of LU4 as subtraction.

この装置による除算の手順を、第4図に示す流れ図を参
照して説明する。まず、ステップs1において、除数を
データBとしてレジスタ3にセットする。続いてステッ
プS2において、被除数の上位桁をデータAとしてレジ
スタ1に、下位桁をデータCとしてレジスタ2にセット
する。そして、ステップS3において、ALU4を比較
演算にセットする。これによってステップS4において
、データAとデータBとの比較演算がなされる。ここで
、A≧Bの場合はステップS5においてオーバーフロー
処理がなされ、除算は行われない。A≧Bということは
、被除数の上位桁が除数より大きいので、除算を行って
も商の桁数が多くなりすぎ、第2のレジスタ2におさま
りきらなくなるのである。
The division procedure performed by this device will be explained with reference to the flowchart shown in FIG. First, in step s1, a divisor is set as data B in the register 3. Subsequently, in step S2, the upper digits of the dividend are set as data A in register 1, and the lower digits are set as data C in register 2. Then, in step S3, ALU4 is set to comparison operation. As a result, in step S4, data A and data B are compared with each other. Here, if A≧B, overflow processing is performed in step S5 and no division is performed. A≧B means that the higher digits of the dividend are larger than the divisor, so even if division is performed, the number of digits in the quotient will be too large to be stored in the second register 2.

ステップS4においてA<Bの場合のみ、以下の除算が
行われることになる。まず、ステップS6において、A
LU4は減算にセットされる。したがって、ステップS
7ではA−Bなる減算が行われ、この演算の結果得られ
るデータは左に1ビツトだけシフトされ、第1のレジス
タ1に入れられる。そしてステップS8では、第2のレ
ジスタ2内のデータCを左へ1ビツトシフトする。この
とき、第2のレジスタ2からはみでたデータCの最上位
ビットは第1のレジスタ1の最下位ビットに入ることに
なる。また、この第2のレジスタ2の最下位ビットには
、ステップS9において除算結果生成回路5の出力が入
ることになる。除算結果生成回路5は前述のように、A
LU4における演算結果が負の場合に“0”を、それ以
外の場合に“1”を、それぞれ発生する。結局この除算
結果生成回路5の発生したビット列が商となる。また、
ステップS10において、ALU機能選択回路6が除算
結果生成回路5の出力に基づいて、ALU4で次回行わ
れる演算を減算にするか、加算にするかセットする。除
算結果生成回路5が“0゛を出力しているときには加算
を、“1”を出力しているときには減算を、それぞれセ
ットすることになる。
In step S4, the following division will be performed only if A<B. First, in step S6, A
LU4 is set to subtract. Therefore, step S
At 7, a subtraction A-B is performed, and the data obtained as a result of this operation is shifted to the left by one bit and placed in the first register 1. Then, in step S8, data C in the second register 2 is shifted to the left by 1 bit. At this time, the most significant bit of the data C that has come out of the second register 2 will enter the least significant bit of the first register 1. Further, the least significant bit of this second register 2 receives the output of the division result generation circuit 5 in step S9. As mentioned above, the division result generation circuit 5
If the calculation result in LU4 is negative, "0" is generated, and otherwise, "1" is generated. In the end, the bit string generated by the division result generation circuit 5 becomes the quotient. Also,
In step S10, the ALU function selection circuit 6 sets, based on the output of the division result generation circuit 5, whether the next operation to be performed in the ALU 4 is subtraction or addition. When the division result generation circuit 5 outputs "0", addition is set, and when it outputs "1", subtraction is set.

以上述べたステップ87〜S10までの手順が所定回数
、すなわち第2のレジスタ2のビット数+1囲だけ繰返
される。なおこのとき、ステップS7の演算は、ステッ
プS10でセットされた演算を行うことになる。このよ
うにして所定回数だけの繰返しが終了したら、ステップ
S11を経て、すべての除算手順が終了する。求めるべ
き商は、第2のレジスタ2に得られている。
The procedure from steps 87 to S10 described above is repeated a predetermined number of times, that is, the number of bits of the second register 2+1. At this time, the calculation in step S7 is the calculation set in step S10. When the predetermined number of repetitions are completed in this manner, all division procedures are completed through step S11. The quotient to be determined is obtained in the second register 2.

これに対して、本発明に係る除算演算装置の一実施例の
ブロック図を第1図に示す。この装置は第3図に示す従
来の装置に更に、オーバーフロー指示回路7を設けたも
のである。この実施例ではオーバーフロー指示回路7は
第2のレジスタ2内のデータCのキャリーフラグを示す
ものである。
On the other hand, a block diagram of an embodiment of a division arithmetic device according to the present invention is shown in FIG. This device is the conventional device shown in FIG. 3 in which an overflow indicating circuit 7 is further provided. In this embodiment, the overflow instruction circuit 7 indicates the carry flag of the data C in the second register 2.

したがって、第2のレジスタ2内のデータCを左ヘシフ
トしたときの、もともとの最上位ビットは、第1のレジ
スタ1の最上位ビットに入れられるとともに、オーバー
フロー指示回路7内にキャリーフラグとして保持される
ことになる。
Therefore, the original most significant bit when data C in the second register 2 is shifted to the left is placed in the most significant bit of the first register 1, and is held as a carry flag in the overflow instruction circuit 7. That will happen.

この装置による除算の手順を第2図の流れ図に示す。ス
テップS1およびステップs2は従来の手順と全く同様
である。ところが、従来のステップS3.S4は行われ
ることなしに、ステップS6からの除算手順が始められ
る。すなわち、予めオーバーフローするか否かを確認す
ることなく除算手順が進められることになる。ステップ
S6〜S11までの商を求める繰返し手順は、従来の手
順とほぼ同じである。ただ、ステップS8’に示すよう
に、データCをシフトする手順では、データCの最上位
ビットは第1のレジスタ1の最下位ビットに入れられる
とともに、オーバーフロー指示回路7に保持される。
The division procedure performed by this device is shown in the flowchart of FIG. Step S1 and step s2 are completely similar to the conventional procedure. However, the conventional step S3. The division procedure from step S6 is started without performing step S4. That is, the division procedure is proceeded without checking in advance whether or not there will be an overflow. The iterative procedure for calculating the quotient from steps S6 to S11 is almost the same as the conventional procedure. However, as shown in step S8', in the procedure of shifting the data C, the most significant bit of the data C is put into the least significant bit of the first register 1 and is held in the overflow instruction circuit 7.

このようにして、所定回数の繰返しが終了すると、ステ
ップS12においてオーバーフロー指示回路7の内容の
チェックが行われる。このオーバーフロー指示回路7内
に保持されている1ビツトのフラグは、もともと第1回
目のALU4における演算結果が負か否かを示すフラグ
である。すなわち、第1回目のALU4による演算終了
時に除算結果生成回路5から出力された1ビツトが、第
2のレジスタ2における所定回数のシフト動作によって
、最終的にオーバーフロー指示回路7までシフトされた
ものである。したがって、ステップS12において、こ
のフラグが“1”であると判断されれば、第1回目のA
LU4による演算結果が負でなかった、別言すれば、最
初の時点でA≧Bであったことになる。そこでこの場合
は第2のレジスタ2に最終的に得られたデータCは商と
して正しい値ではないので、ステップS5においてオー
バーフローの処理が行われる。逆に、オーバーフロー指
示回路7内のフラグが“0”であれば、データCに正し
い商が得られたことになる。
When the predetermined number of repetitions are completed in this way, the contents of the overflow instruction circuit 7 are checked in step S12. The 1-bit flag held in the overflow instruction circuit 7 is originally a flag indicating whether the first calculation result in the ALU 4 is negative or not. That is, the 1 bit output from the division result generation circuit 5 at the end of the first operation by the ALU 4 is finally shifted to the overflow instruction circuit 7 by a predetermined number of shift operations in the second register 2. be. Therefore, in step S12, if this flag is determined to be "1", the first A
The result of the calculation by LU4 was not negative, in other words, A≧B at the beginning. Therefore, in this case, since the data C finally obtained in the second register 2 is not a correct value as a quotient, overflow processing is performed in step S5. Conversely, if the flag in the overflow instruction circuit 7 is "0", it means that a correct quotient has been obtained for the data C.

上述のように従来の除算演算装置における演算では、ス
テップS3.S4というオーバーフローの判断手順を除
算手順の前に必ず行わなくてはならないが、本発明に係
る除算演算装置では、除算手順終了後にステップS12
において、オーバーフロー指示回路7内のフラグの確認
を行うだけでよい。このため、余分な演算を省くことが
でき、演算時間が短縮される。
As mentioned above, in the calculation in the conventional division calculation device, step S3. Although the overflow determination step S4 must be performed before the division step, in the division arithmetic device according to the present invention, step S12 is performed after the division step is completed.
At this time, it is only necessary to check the flag in the overflow instruction circuit 7. Therefore, redundant calculations can be omitted and calculation time can be shortened.

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

以上のとおり本発明に係る除算演算装置によれば、最終
的に商の得られるレジスタから最後にシフトされてきた
1ビツトのデータにより、オーバーフローの有無を判断
するようにしたため、余分な演算を省くことができ、演
算速度を向上させることができる。
As described above, according to the division arithmetic device according to the present invention, the presence or absence of an overflow is determined based on the 1-bit data that has been shifted last from the register where the quotient is finally obtained, so that unnecessary operations can be omitted. It is possible to improve the calculation speed.

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

第1図は本発明の一実施例に係る除算演算装置のブロッ
ク図、第2図は第1図に示す装置の動作を説明するため
の流れ図、第3図は従来の除算演算装置のブロック図、
第4図は第3図に示す装置の動作を説明するための流れ
図である。 1・・・第1のレジスタ、2・・・第2のレジスタ、3
・・・第3のレジスタ、4・・・ALU、5・・・除算
結果生成回路、6・・・ALU機能選択回路、7・・・
オーバーフ゛ロー指示回路、81〜S12・・・流れ図
の各ステップ。 出願人代理人  佐  藤  −雄 第1図 第3図
FIG. 1 is a block diagram of a division arithmetic device according to an embodiment of the present invention, FIG. 2 is a flowchart for explaining the operation of the device shown in FIG. 1, and FIG. 3 is a block diagram of a conventional division arithmetic device. ,
FIG. 4 is a flowchart for explaining the operation of the apparatus shown in FIG. 3. 1...First register, 2...Second register, 3
...Third register, 4...ALU, 5...Division result generation circuit, 6...ALU function selection circuit, 7...
Overflow instruction circuit, 81-S12...each step of the flowchart. Applicant's agent Mr. Sato Figure 1 Figure 3

Claims (1)

【特許請求の範囲】 1、被除数の上位桁を入れるための第1のレジスタと、
前記被除数の下位桁を入れるための第2のレジスタと、
除数を入れるための第3のレジスタと、前記第1のレジ
スタの内容と前記第3のレジスタの内容との間で減算ま
たは加算を行うALUと、このALUの演算結果が負に
なったことを示す除算結果生成回路と、この除算結果生
成回路が負を示しているときにだけ前記ALUに加算を
行わせるALU機能選択回路と、を備え、前記ALUが
一回の演算を終了した後、その演算結果を1ビット分左
へシフトさせて前記第1のレジスタに入れ、前記第2の
レジスタの内容を1ビット分左へシフトさせるとともに
その最上位ビットを前記第1のレジスタの最下位ビット
に入れ、前記除算結果生成回路が負を示しているときに
は“0”を、その他のときには“1”を、前記第2のレ
ジスタの最下位ビットに入れて次の演算を行い、以下前
記第2のレジスタに商が得られるまでの必要な回数だけ
演算動作を続けるように構成された除算演算装置におい
て、 前記必要な回数目の演算終了後に前記第2のレジスタの
最上位ビットからシフトされてくるビットを保持し、こ
のビットが“1”である場合に除算がオーバーフローで
あることを示すオーバーフロー指示回路を更に設けたこ
とを特徴とする除算演算装置。 2、第1のレジスタ、第2のレジスタ、および第3のレ
ジスタが、それぞれ同じビット容量をもつことを特徴と
する特許請求の範囲第1項記載の除算演算装置。 3、除算結果生成回路が、負を示しているときに“0”
を、それ以外のときに“1”を、それぞれ出力すること
を特徴とする特許請求の範囲第1項または第2項記載の
除算演算装置。 4、被除数の上位桁を入れるための第1のレジスタと、
前記被除数の下位桁を入れるための第2のレジスタと、
除数を入れるための第3のレジスタと、前記第1のレジ
スタの内容と前記第3のレジスタの内容との間で減算を
行うALUと、このALUの演算結果が負になったこと
を示す除算結果生成回路と、を備え、 前記ALUが一回の演算を終了した後、演算結果が0ま
たは正になった時のみその演算結果を1ビット分左へシ
フトさせて前記第1のレジスタに入れ、演算結果が負の
場合は前記第1のレジスタの内容を1ビット分左へシフ
トさせ、前記第2のレジスタの内容を1ビット分左へシ
フトさせるとともにその最上位ビットを前記第1のレジ
スタの最下位ビットに入れ、前記除算結果生成回路が負
を示しているときには“0”を、その他のときには“1
”を、前記第2のレジスタの最下位ビットに入れて次の
演算を行い、以下前記第2のレジスタに商が得られるま
での必要な回数だけ演算動作を続けるように構成された
除算演算装置において、前記必要な回数目の演算終了後
に前記第2のレジスタの最上位ビットからシフトされて
くるビットを保持し、このビットが“1”である場合に
除算がオーバーフローであることを示すオーバーフロー
指示回路を更に設けたことを特徴とする除算演算装置。 5、第1のレジスタ、第2のレジスタ、および第3のレ
ジスタが、それぞれ同じビット容量をもつことを特徴と
する特許請求の範囲第4項記載の除算演算装置。 6、除算結果生成回路が、負を示しているときに“0”
を、それ以外のときに“1”を、それぞれ出力すること
を特徴とする特許請求の範囲第4項または第5項記載の
除算演算装置。
[Claims] 1. A first register for storing high-order digits of the dividend;
a second register for storing lower digits of the dividend;
a third register for storing a divisor; an ALU for subtracting or adding between the contents of the first register and the contents of the third register; and an ALU function selection circuit that causes the ALU to perform addition only when the division result generation circuit indicates a negative value. The operation result is shifted to the left by 1 bit and placed in the first register, and the contents of the second register are shifted to the left by 1 bit, and the most significant bit is placed in the least significant bit of the first register. When the division result generating circuit indicates a negative value, "0" is entered into the least significant bit of the second register, and otherwise "1" is entered into the least significant bit of the second register to perform the next operation. In a division arithmetic device configured to continue an arithmetic operation a necessary number of times until a quotient is obtained in a register, the bits shifted from the most significant bit of the second register after the necessary number of operations are completed. 1. A division arithmetic device further comprising an overflow indicating circuit which holds a bit and indicates that the division is an overflow when this bit is "1". 2. The division arithmetic device according to claim 1, wherein the first register, the second register, and the third register each have the same bit capacity. 3. “0” when the division result generation circuit indicates a negative value
3. The division arithmetic device according to claim 1 or 2, wherein the division arithmetic device outputs "1" at other times. 4. A first register for storing the high-order digits of the dividend;
a second register for storing lower digits of the dividend;
a third register for storing a divisor; an ALU that performs subtraction between the contents of the first register and the third register; and a division unit that indicates that the result of the operation of this ALU is negative. and a result generation circuit, and after the ALU finishes one operation, only when the operation result becomes 0 or positive, shifts the operation result by 1 bit to the left and stores it in the first register. , if the operation result is negative, the contents of the first register are shifted to the left by 1 bit, the contents of the second register are shifted to the left by 1 bit, and the most significant bit thereof is transferred to the first register. When the division result generation circuit indicates a negative value, it is set to “0”, and otherwise, it is set to “1”.
” into the least significant bit of the second register, performs the next operation, and continues the operation as many times as necessary until the quotient is obtained in the second register. , an overflow instruction that holds a bit shifted from the most significant bit of the second register after the completion of the required number of operations, and indicates that the division is an overflow when this bit is "1"; A division arithmetic device further comprising a circuit. 5. Claim 4, wherein the first register, the second register, and the third register each have the same bit capacity. The division arithmetic device described in Section 6. “0” when the division result generation circuit indicates a negative value.
6. The division arithmetic device according to claim 4 or 5, wherein the division arithmetic device outputs "1" at other times.
JP62079158A 1987-03-31 1987-03-31 Dividing arithmetic unit Granted JPS63245518A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62079158A JPS63245518A (en) 1987-03-31 1987-03-31 Dividing arithmetic unit
US07/167,173 US4891780A (en) 1987-03-31 1988-03-11 Divisional operation system for obtaining a quotient by repeated subtraction and shift operations
KR1019880003423A KR950006580B1 (en) 1987-03-31 1988-03-29 Divisional operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62079158A JPS63245518A (en) 1987-03-31 1987-03-31 Dividing arithmetic unit

Publications (2)

Publication Number Publication Date
JPS63245518A true JPS63245518A (en) 1988-10-12
JPH0477338B2 JPH0477338B2 (en) 1992-12-08

Family

ID=13682148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62079158A Granted JPS63245518A (en) 1987-03-31 1987-03-31 Dividing arithmetic unit

Country Status (3)

Country Link
US (1) US4891780A (en)
JP (1) JPS63245518A (en)
KR (1) KR950006580B1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097435A (en) * 1988-12-24 1992-03-17 Kabushiki Kaisha Toshiba High speed dividing apparatus
JPH02194430A (en) * 1989-01-24 1990-08-01 Oki Electric Ind Co Ltd Divider
JPH0797313B2 (en) * 1989-08-30 1995-10-18 株式会社東芝 Calculator and calculation method used for this calculator
KR920006322B1 (en) * 1990-04-03 1992-08-03 정호선 Divider
KR920009092B1 (en) * 1990-04-03 1992-10-13 정호선 Divider circuit
US5317531A (en) * 1992-04-02 1994-05-31 Intel Corporation Apparatus for reducing the size of an arithmetic and logic unit necessary to practice non-restore division
US5341322A (en) * 1992-05-11 1994-08-23 Teknekron Communications Systems, Inc. Bit level pipeline divide circuit and method therefor
US5644524A (en) * 1993-11-30 1997-07-01 Texas Instruments Incorporated Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive or
US5442581A (en) * 1993-11-30 1995-08-15 Texas Instruments Incorporated Iterative division apparatus, system and method forming plural quotient bits per iteration
US6173305B1 (en) 1993-11-30 2001-01-09 Texas Instruments Incorporated Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder
US7516172B1 (en) * 1994-01-26 2009-04-07 United Microelectronics Corp. Method for finding quotient in a digital system
US5517439A (en) * 1994-02-14 1996-05-14 Matsushita Electric Industrial Co., Ltd. Arithmetic unit for executing division
US5574677A (en) * 1994-11-23 1996-11-12 Exponential Technology, Inc. Adaptive non-restoring integer divide apparatus with integrated overflow detect
GB2343274B (en) * 1995-10-31 2000-06-14 Samsung Electronics Co Ltd Method of performing parallel processing divisions
US6125380A (en) * 1998-04-13 2000-09-26 Winbond Electronics Corporation Dividing method
FR2827683B1 (en) * 2001-07-17 2005-03-18 St Microelectronics Sa METHOD FOR DIVIDING DIGITAL VALUES
NZ524378A (en) * 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466077A (en) * 1981-09-25 1984-08-14 International Business Machines Corporation Method and apparatus for division employing associative memory
JPS60101640A (en) * 1983-11-07 1985-06-05 Hitachi Ltd Decimal division system

Also Published As

Publication number Publication date
JPH0477338B2 (en) 1992-12-08
US4891780A (en) 1990-01-02
KR890015121A (en) 1989-10-28
KR950006580B1 (en) 1995-06-19

Similar Documents

Publication Publication Date Title
JPS63245518A (en) Dividing arithmetic unit
JP3418460B2 (en) Double precision division circuit and method
JPH07210369A (en) Circuit and method for execution of parallel addition and average operation
JPH0667851A (en) Multiplier provided with overflow detecting function
US4799181A (en) BCD arithmetic using binary arithmetic and logical operations
JPH05250146A (en) Arithmetic operation circuit executing integer involution processing
JPS6125245A (en) Rounding process circuit
US6519621B1 (en) Arithmetic circuit for accumulative operation
JPH0317132B2 (en)
US5317531A (en) Apparatus for reducing the size of an arithmetic and logic unit necessary to practice non-restore division
JPH02194430A (en) Divider
JP2579321B2 (en) Binary processing unit
EP0276856B1 (en) Trigonometric function preprocessing system
GB802656A (en) Electronic digital computer
JPS60167030A (en) System and circuit for shift flag generation
JPH0553759A (en) Fixed decimal point arithmetic unit
JPS63118935A (en) Divider
JPS63280330A (en) Floating-point adder/subtractor
JPH01233520A (en) High cardinal number irreparable type dividing device
JPH02230320A (en) Data processor
JPS63279321A (en) Microprogram controller
JPS5985539A (en) Division processor
JPS6274150A (en) Increment data transfer device for linear interpolator
JPS58119048A (en) Arithmetic system
JPH01304535A (en) Division device