JPS6232536A - 符号付2進除算の結果補正と異常検出方式 - Google Patents

符号付2進除算の結果補正と異常検出方式

Info

Publication number
JPS6232536A
JPS6232536A JP60172877A JP17287785A JPS6232536A JP S6232536 A JPS6232536 A JP S6232536A JP 60172877 A JP60172877 A JP 60172877A JP 17287785 A JP17287785 A JP 17287785A JP S6232536 A JPS6232536 A JP S6232536A
Authority
JP
Japan
Prior art keywords
division
quotient
remainder
result
overflow
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
JP60172877A
Other languages
English (en)
Other versions
JPH0426495B2 (ja
Inventor
Yasuhiko Ibuki
伊吹 靖彦
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 JP60172877A priority Critical patent/JPS6232536A/ja
Publication of JPS6232536A publication Critical patent/JPS6232536A/ja
Publication of JPH0426495B2 publication Critical patent/JPH0426495B2/ja
Granted legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 引き放し法による除算方式において、該除算の中間結果
の状態ビットq(−1)、q(n)+q(n−1)、q
(n−2)の値、及びR(0)・0かどうかで択一的に
マルチ分岐を行い、該除算結果の補正と、オーバフロー
の検出を行うようにしたものである。
〔産業上の利用分野〕
本発明は、所謂引き放し法による符号付2進除算におい
て、該除算の最終結果の補正と、オーバフローの検出を
高速に行う方式に関する。
一般に、除算は被除数から除数が何回引けるかを調べる
ことであって、該引けた回数が商であり、引いた残りが
剰余となる。
今、被除数、除数、商、及び剰余をそれぞれX。
Y、Q、及びRとすると、 X=QXY+R但し、絶対値(R)〈絶対値(Y)を満
足する。ここで、被除数は2n桁、その他はn桁の数と
する。
この時、核部の桁数が、0桁に制限されているので、そ
れ以上の桁数の商が得られる場合は、該除算の゛あふれ
゛(即ち、オーバフロー)となる。
上記除算を引き放し法で行う場合には、部分剰余と除数
との間に、加算と減算の何れを実行するかを、除数と部
分剰余の符号の異同(d)により決定する。
即ち、同符号ならば部分剰余から除数を引き、異符号な
らば両者を加えるようにする。
この方法によれば、負数は2の補数表示とすることによ
り、正負を問わず全く同一の手順で除算を行うことがで
きる。
上記引き放し法による除算方式の詳細については、例え
ば、「改版 電子計算機」コロナ社、電子通信学会編、
昭和57年3月10日、243頁、16.5゜2引き放
し法による除算:に詳しいが、要旨だけを述べると以下
の通りとなる。
X (x(2n−1)、x(2n−2)、−−、x(0
) )  :被除数で、2n桁の符号付2進数 Y (y(n−1)、y(n−2)、 −、y(0) 
)  :除数で、0桁の符号付2進数 Q:商で、0桁の符号付2進数 R:剰余で、0桁の符号付2進数 として、上記引き放し法の除算を行うと、Q = (q
(n)−1)  2 ’″’ +q(n+1) 2 n
+−+q(Q) 2+ 1 R= 2−”R(0) 但し、q(j)は各段階における部分剰余と除数の関係
により定まる O”、°1゛の数 R(0)は最終段階(n千1回目)の部分剰余である。
上記Q、  Rを0桁の符号付2進数で表現すると、Q
= (q(n−2Lq(n−3)、−−−、q(ILq
(0)、1)R==R(0) となる。
但し、q(n−2)は商の符号を意味し、“1′であれ
ば、核部は負数であって、2の補数になっている。
ここで、該除算において、前述の°あふれ′、即ちオー
バフローがない場合、計算の手順は以下のようになる。
即ち、部分剰余をR(j)とすると、商q (j−1)
は、R(j)と、Yとが同符号の時、q(j−1) =
 IR(Dと、Yとが異符号の時、q(j−1) = 
0のように決定する。
そして、部分剰余R(j −1)は、 R’(j−1)=R(j) + 2 ’  (1−2q
(j−1)) YR(j−1)・2R’(j−1) として求められる。
上式において、R’ (j−1)を2倍にする演算は、
左に1桁シフトすることで実行できる。
但し、一番最初はR(N+ 1)・Xとして、j=Oと
なる迄、上記計算を繰り返す必要がある。
又、上記演算の途中で、部分剰余R(j)=0となった
時には、そこで割り切れたことを意味し、それ以上の計
算を続ける必要はない。そして、該剰余Rの符号は、こ
の侭では何れになるか最終結果を見る迄不明であるが、
一般に、該剰余Rの符号は被除数の符号と一致させるこ
とが多い。その時、R=R(0)±Yとして、剰余の符
号を修正し、それに伴いQ=Q乎1とすれば良い。
上記、Q、Rは、X、Yに何の制限も課していない為、
商が意味を持たない場合や、剰余が除数と等しくなる場
合等が存在している。
又、商、及び剰余が意味を持つ場合にも、結果の補正が
必要になる場合等がある。
−aには、これらの最終判定を特別なハードウェアを設
けることなく行う場合、それぞれの判定条件毎に、テス
ト命令1仔岐命令等を用いて行う必要があり、該判定に
時間がかかるのが普通であった。
然して、最新の計算機システムの高速化動向に伴って、
除算の高速化は必須条件であり、引き放し法による除算
においても、少ないハードウェアで、高速に除算結果の
補正と、異常(オーバフロー)の検出が得られる制御方
式が待たれていた。
〔従来の技術と発明が解決しようとする問題点〕第4図
は、従来の引き放し法による除算方式の概念を流れ図で
示したものである。
本図から明らかな如く、従来の引き放し法による除算方
式においては、 1)被除数(×)、除数(Y)の正数化処理(ステップ
50.51参照) 2)結果の補正(ステップ52参照) 3)オーバフロー検出(ステップ53参照)4) 商(
Q)、剰余(R)が負数になった場合の補正(ステップ
54) 等の処理が必要であり、これらの処理を図示の如く、テ
スト命令9介岐命令をトリー状に設けて行っていた為、
該引き放し法の除算に時間がかかると云う問題があった
本発明は上記従来の欠点に鑑み、被除数(X)、除数(
Y)の正、負とか、除数−〇に拘わらず、前述の引き放
し法の手順による除算を行い、該除算結果の判定、オー
バフローの検出を、該除算によって得られた商の中間結
果の状態ビットq(−1)、q(n)、q(n−1) 
、 q (n−2) 、及び剰余R=Oかどうかの条件
のみを用いて、択一的に多岐分岐で高速に行う方法を提
供することを目的とするものである。
〔問題点を解決するための手段〕
第1図は、本発明の商、及び剰余の補正と、異常(オー
バフロー)検出の原理ブロック図であって、(a)は除
算結果の補正の場合を示し、(b)はオーバフローの検
出の場合を示し、(c)は両者を纏めたものである。
(a)除算結果の補正方式: 引き放し法による除算においては、剰余(R)の符号は
最後の演算が行われる迄決定できない。
又、該剰余(以下、Rと云う)の符号は被除数(以下、
Xと云う)と一致する保障はない。従って、若し一致し
ない場合には補正が必要となる。
除算結果について、補正しなければならない場合と、そ
の方法は以下の原理によって明確にされる。以下、除数
もYで表す。
(1)  x>o、Rhoの時: a)Y>Oと仮定すると(XY > 0. RY < 
O)Q←Q−1,R←R+Y b)Y<Oと仮定すると(XY < 0. RY > 
0)Q4−n+1. R4−R−Y (21X<O,R2Oの時: a)  Y>Qと仮定すると(XY < O,RY >
 0)Q4−n+1.R+−R−Y b)Y<Oと仮定すると(XY > O,RY < 0
)Q4−Q−1,R←R+Y 前述のように、一般に、引き放し法による除算において
は、一番最初に、R(n+1)=Xとして加減算を行い
、 R(j)とYとが同符号の時、q (j−1)・IR(
j)とYとが異符号の時、q(j−1)=0とするよう
な演算をj・0となる迄繰り返す。
従って、上記の除算結果の補正条件を、q(j)を用い
て表現すると、下表のようになる。
但し、上表の1項において、R=oとなる場合は、割り
切れたことを意味しているので、上記補正は中止する必
要がある。
又、一般に、絶対値(R)〈絶対値(Y)であるので、
R±Y=Oの場合には、Q=Q±l、 R,R+Yなる
補正が必要となる。
これ′は、x、yの大小関係が、除算実行時には明確で
ない為、RとYとが等しくなる場合がある為である。
以上から、引き放し法による除算結果の補正条件を纏め
ると、第1図(a)に示すものとなる。
(b)オーバフロー検出方式: 次に、上記除算過程において、オーバフローが発生した
場合の補正の原理を以下に説明する。
該オーバフロー、即ち°あふれ゛は、 1) XとYとが同符号の時、O≦q≦2−’−12)
 XとYとが異符号の時、−2”’≦Q<0の範囲で表
現できない場合である。
即ち、例外を除いて、Qがnビットの符号付2進数とし
て表現できないのは、 a、商Qの数値部が、nビット目からあふれてしまった
場合。
b、 商Qの数値部が、nビット目からはあふれなかっ
たが、サイン部(nビット目)を破壊してしまった場合
C0除数Rが0゛であった場合。
の3つのケースに限定される。
以下に、それぞれのケースに対する商の状態ビットとの
関係を説明する。
■a、の場合、簡単の為、X>O,Y>Oと仮定すると
、題意より、X≧2’Yである。
又、x、yが同符号の為、前述の説明から明らかな如<
、q(n)・1である。
又、前述の部分剰余R(n)を求める過程から、R’(
n)=X+2’  (1−2q(n) ) Y=X−2
’ Y ≧o  (°、’ ×≧2’ Y)R(n)=
2R’ (n)=2(X−2nY)=0従って、q(n
−1)・L  、°、q(n)・q(n−1)X、Yが
異符号の場合も、同様にして、q(n)・q(n−1) 以上から、上記a、が発生する条件は、q(n)=q(
n−1) となる。
■b、の場合、簡単の為、X >O,Y>Oと仮定する
と、題意より、 2’y >X =2”’y テアル。
■と同じようにして、X、Yが同符号の為、q (n)
・1である。
又、R’ (n)=X+ 2° (1−2q(n) )
 Y=X−2’ Y <O(’、’  X< 2’ Y
)R(n)=2R’ (n)=2(X−2n Y)< 
0従って、q(n−1)・Oとなる。
同様にして、 R’(n−1)=R(n)+ 2’  (1−2q(n
−1) ) Y=2(X−2’ Y)+  2”  (
1−2q(n−1) ) Y=2(X−2’ Y)+ 
 2 ’ Y=2(x−2”y) ≧O(°、°X≧2
 ’″’Y)、°、R(n−1)=2 (2(X−2”
’Y)=0従って、q(n−2)=1となる。
以上から、q (n)≠q(n−1)で、且つq (n
) = q (n−2)が得られる。
又、X、Yが異符号の時も、同様にして、q (n)≠
q(n−1)で、且つ q (n) = q (n−2)が得られる。
■ C0の場合、即ちY・0の場合、 X (x(2n4Lx(2n−2)、−・・、x(0)
 ) (2n桁)に対して、Y (0,O,−、O) 
(n桁)である。
前述のように、引き放し法による除算は、XからYを加
減算することにより行われるが、Xから0゛ を加減算
しても、Xの値は変化しない。
そして、最初、X、Yの符号により、商q (n)が決
まり、次の商q(n−1)は、XからY・0を加減算し
た後に得られる部分剰余Rの゛あふれ°との符号により
決まるが、この時のRoあふれ′は、上記Xと同じもの
であるので、結局q (n)・q(n−1)となること
が理解される。
上記オーバフローに関して、前述の例外条件、即ち、Q
=−2’″′−1で、R≠0の場合、上記と同様の手順
で補正条件が得られるので、詳細は省略して、結果だけ
を記述すると、 q(−1) 、q(n) 、q(n−1) 、q(n−
2)=1.0.1.Qの時で、その時の補正条件は、 Q=Q+1.  R=R−Y となる。以上を纏めると、第1図(b)のようになる。
このようにして求めた、除算結果に対する補正条件と、
オーバフロー検出条件を、一覧表に纏めると、第1図(
C)の通りとなる。
但し、上記の補正結果の後、商Qが、2r″′−1を越
える場合があり、オーバフローの判定となる。
本発明は、上記の千1頃で求めた、除算結果に対する補
正条件と、オーバフロー検出条件を、商の中間ビット、
q(−1Lq(n)、q(n−1)+q(n−2)、及
びR=0かどうかの条件だけで判定し、択一的に多岐(
マルチ)分岐することによって最終結果を得るように構
成する。
このマルチ分岐の為のテーブルが、上記第1図(c)で
ある。
〔作用〕
即ち、本発明によれば、引き放し法による除算方式にお
いて、該除算の中間結果の状態ビットq(−1)、q(
n)、q(n−1)、q(n−2)の値、及びR(0)
 =0かどうかで択一的にマルチ分岐を行い、該除算結
果の補正と、オーバフローの検出を行うようにしたもの
であるので、引き放し法による除算を少ないハードウェ
ア量で、高速に行うことができる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第2図は本発明の一実施例をブロック図で示したもので
、(a)は演算実行前の状態を示し、(b)は演算実行
後の状態を示しており、第3図はこの場合の除算動作を
フローで示した図である。
(a)先ず、被除数レジスタA 1. C2に、それぞ
れ被除数X (U) 、 X (L)を置数し、除数レ
ジスタB3に除数Yを置数する。(第3図、ステップ6
0.61参照) (b)最初、該X ([1)が加減算器(ALU) 5
を通してシフタ(SLI) 6にセットされ、1ビツト
左シフトして得られる部分剰余R(n+1)・X (U
)として、排他的論理和回路(IEOR) 7において
、X、Yの符号により 同符号の時には:q(n)・1 異符号の時には:q(n)・0 に決定した後、被除数レジスタC2の最下位ビットにセ
ットすると共に、シフタ(SLI) 4によって1ビツ
ト左シフトして、その最上位ピントを被除数レジスタA
1の最下位ビットにセットする。
ここで生成された部分剰余R(n+1)を、被除数レジ
スタ^1最下位ビットを除く上位のビット位置にセット
する。
この時、その最上位ビットが、あふれビット(e)11
に蓄積される。
以降、X、Yの間で、加減算を行う毎に、部分剰余R(
j)と、除数Yとの符号を、排他的論理和回路(EOR
) 7により、 同符号の時には:q(j−1)・1 異符号の時には:q(j−1)・0 とした後、上記と同じ動作が行われ、j=0となる迄n
+1回の除算が繰り返される。(第3図、ステップ62
参照) この時、排他的論理和回路(EOR) 7の出力(d)
によって、加減算回路(ALU) 5での次の加減算動
作が決定される。
このようにして、該除算が終了した時点においては、レ
ジスタC2には商Qが残り、レジスタA1には、部分剰
余R(0)が蓄積されていることになる。
その結果、レジスタA(31) ;q(n)レジスタC
(0) :q(n−1) レジスタC(1) :q(n−2) あふれビットd:q(−1) が商の中間ビットとして残っている。
このようにして求められた商Qの中間結果の状態ビット
q(−1Lq(n)+q(n4)、q(n−2)、及び
R=Oかどうかの条件を、異常検出回路8に入力するこ
とにより、第1図(c)で示したテーブルに従って、マ
ルチ分岐を行うように機能し、該引き放し法による除算
結果の補正、及びオーバフローの検出を、高速に行うこ
とができる。 (第3図、ステップ63参照) 該マルチ分岐先のルーチンで処理した最終結果である商
Q、及び剰余Rを、図示していない商レジスタ、剰余レ
ジスタにセットすることにより、一連の引き放し法によ
る除算を終了する。(第3図、ステップ64参照) このように、本発明においては、 1) 負の数もその侭除算する。
2)除数(Y)=0の特別処理を行わない。
3) 除算結果の判定は、n+1回の加減算の結果得ら
れた商の中間結果の状態ピッ)q(−1)、q(n)、
q(n−1)、q(n−2)と、剰余R(0) =0か
どうかによって、択一的にマルチ分岐する。
ようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の符号付2進除算
の結果補正と異常検出方式は、引き放し法による除算方
式において、該除算の中間結果の状態ビットq(−1)
、q(n)、q(n−1)、q(n−2)の値、及びR
(0)・0かどうかで択一的にマルチ分岐を行い、該除
算結果の補正と、オーバフローの検出を行うようにした
ものであるので、引き放し法による除算を少ないハード
ウェア量で、高速に行うことができる効果がある。
【図面の簡単な説明】
第1図は本発明の商、及び剰余の補正と、異常検出の原
理ブロック図。 第2図は本発明の一実施例をブロック図で示した図。 第3図は本発明の除算動作をフローで示した図。 第4図は従来の引き放し法による除算方式の概念を流れ
図で示した図。 である。 図面において、 1はレジスタ八、    2はレジスタC13はレジス
タB、     4.6はシフタ(SLI) 。 5加減算器(ALU) 。 7は排他的論理和回路(EOI?) 。 8は異常検出回路。 q(−1)、q(n)、q(n−1)、q(n−2)は
商。の中間結果の状態ビット。 X (U) 、 X (L)は被除数、 Yは除数。 Qは商、R,R(0)は剰余。 e、dはあふれビット。 をそれぞれ示す。 (α) c90伊IJ外ケース゛があろ、Q力\゛←荒EU盈p
ゝっR≠0のケースて°′あ名、ごρ庁合、C% H1
’1f−nか−t、 7n−2)−(1,0,1,0ジ
″代   6.) ■ に)  片:Q=−2”−′−1・尺り′到藁ゝ茅 1
 図 *合fJg (7)沈奪奄カイマlフローて゛示しr目
早3 z

Claims (1)

  1. 【特許請求の範囲】 2n桁の符号付2進数の被除数(X)をn桁の符号付2
    進数の除数(Y)で除算し、n桁の符号付2進数の商(
    Q)と、n桁の符号付2進数の剰余(R)を得るのに、 商(Q)の符号は、被除数(X)と、除数(Y)の代数
    的関係により決定すると共に、剰余(R)の符号は被除
    数(X)の符号と同一にするが、上記商(Q)、剰余(
    R)が‘0’の場合には、その符号は常に正とする条件
    の符号付2進除算方式において、 該除算の中間結果の状態ビットq(−1)、q(n)、
    q(n−1)、q(n−2)の値、及び剰余R(0)=
    0かどうかで択一的に多岐分岐を行う手段(8)を設け
    、該多岐分岐手段(8)によって、該除算結果の補正と
    、異常の検出を行うようにすることを特徴とする符号付
    2進除算の結果補正と異常検出方式。
JP60172877A 1985-08-06 1985-08-06 符号付2進除算の結果補正と異常検出方式 Granted JPS6232536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60172877A JPS6232536A (ja) 1985-08-06 1985-08-06 符号付2進除算の結果補正と異常検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60172877A JPS6232536A (ja) 1985-08-06 1985-08-06 符号付2進除算の結果補正と異常検出方式

Publications (2)

Publication Number Publication Date
JPS6232536A true JPS6232536A (ja) 1987-02-12
JPH0426495B2 JPH0426495B2 (ja) 1992-05-07

Family

ID=15949961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60172877A Granted JPS6232536A (ja) 1985-08-06 1985-08-06 符号付2進除算の結果補正と異常検出方式

Country Status (1)

Country Link
JP (1) JPS6232536A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488628A (en) * 1987-09-29 1989-04-03 Nec Corp Exception processor
US6768062B2 (en) 2000-10-12 2004-07-27 Murata Manufacturing Co., Ltd. Connection method and connection structure of pad electrodes, and inspecting methods for connection state thereof
JP2011008649A (ja) * 2009-06-29 2011-01-13 Fujitsu Ltd 演算回路および演算処理装置ならびに演算処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61118835A (ja) * 1984-11-14 1986-06-06 Toshiba Corp ハ−ドウエア除算器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61118835A (ja) * 1984-11-14 1986-06-06 Toshiba Corp ハ−ドウエア除算器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488628A (en) * 1987-09-29 1989-04-03 Nec Corp Exception processor
US6768062B2 (en) 2000-10-12 2004-07-27 Murata Manufacturing Co., Ltd. Connection method and connection structure of pad electrodes, and inspecting methods for connection state thereof
JP2011008649A (ja) * 2009-06-29 2011-01-13 Fujitsu Ltd 演算回路および演算処理装置ならびに演算処理方法

Also Published As

Publication number Publication date
JPH0426495B2 (ja) 1992-05-07

Similar Documents

Publication Publication Date Title
TW494351B (en) Floating-point arithmetic unit
US8499017B2 (en) Apparatus and method for performing fused multiply add floating point operation
US8316071B2 (en) Arithmetic processing unit that performs multiply and multiply-add operations with saturation and method therefor
US20070174379A1 (en) Pre-saturating fixed-point multiplier
JPS6232536A (ja) 符号付2進除算の結果補正と異常検出方式
US7206800B1 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
CN115390787A (zh) 一种基于数字迭代的全并行基-4除法器结构
US7873687B2 (en) Method for calculating a result of a division with a floating point unit with fused multiply-add
JP2018097864A (ja) リーディングゼロ予想
JP3064405B2 (ja) 複素数の演算処理方式
KR100309520B1 (ko) 라운드오프기능을갖는승산방법및승산회로
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JP2903529B2 (ja) ベクトル演算方式
JPS61224036A (ja) 演算装置
JP3122622B2 (ja) 除算装置
JPS59160235A (ja) 除算装置
JPS59136849A (ja) 除算装置
KR100198783B1 (ko) 직렬처리 나눗셈기의 구동 방법
JPS60235241A (ja) 浮動小数点加算回路
JPH02166517A (ja) 除算方式
JPH0553768A (ja) 除算器
JPH03180928A (ja) 浮動小数点乗算装置
WO2006059267A2 (en) Electronic device having multi operand arithmetic circuitry
JPH04160533A (ja) マイクロ・プロセッサ
JPS60258643A (ja) 除算装置