JPH0426495B2 - - Google Patents

Info

Publication number
JPH0426495B2
JPH0426495B2 JP60172877A JP17287785A JPH0426495B2 JP H0426495 B2 JPH0426495 B2 JP H0426495B2 JP 60172877 A JP60172877 A JP 60172877A JP 17287785 A JP17287785 A JP 17287785A JP H0426495 B2 JPH0426495 B2 JP H0426495B2
Authority
JP
Japan
Prior art keywords
division
quotient
remainder
divisor
dividend
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60172877A
Other languages
English (en)
Other versions
JPS6232536A (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

Description

【発明の詳細な説明】
〔概要〕 引き放し法による除算方式において、該除算が
終了した時点での、該商の補正前の状態ビツトq
(−1),q(n),q(n−1),q(n−2)の値

及びR(0)=0かどうかで択一的にマルチ分岐を
行い、該除算結果の補正と,オーバフローの検出
を行うようにしたものである。 〔産業上の利用分野〕 本発明は、所謂引き放し法による符号付2進除
算において、該除算の最終結果の補正と,オーバ
フローの検出を高速に行う方法に関する。 一般に、除算は被除数から除数が何回引けるか
を調べることであつて、該引けた回数が商であ
り、引いた残りが剰余となる。 今、被除数,除数,商,及び剰余をそれぞれ
X,Y,Q,及びRとすると、 X=Q×Y+R 但し、絶対値(R)<絶対値
(Y)を満足する。ここで、被除数は2n桁、その
他はn桁の数とする。 この時、該商の桁数が、n桁に制限されている
ので、それ以上の桁数の商が得られる場合は、
該、除算の‘あふれ’(即ち、オーバフロー)と
なる。 上記除算を引き放し法で行う場合には、部分剰
余と除数との間に、加算と減算の何れを実行する
かを、除数と部分剰余の符号の異同(d)により
決定する。 即ち、同符号ならば部分剰余から除数を引き、
異符号ならば両者を加えるようにする。 この方法によれば、負数は2の補数表示とする
ことにより、正負を問わず全く同一の手順で除算
を行うことができる。 上記引き放し法による除算方式の詳細について
は、例えば、「改版電子計算機」コロナ社,電子
通信学会編,昭和57年3月10日,243頁,16.5.2
引き放し法による除算:に詳しいが、要旨だけを
述べると以下の通りとなる。 X{x(2n−1),x(2o−2),…,x(0)}:

除数で、2n桁の符号付2進数 Y{y(n−1),y(n−2),…,y(0)}:

数で、n桁の符号付2進数 Q:商で、n桁の符号付2進数 R:剰余で、n桁の符号付2進数 として、上記引き放し法の除算を行うと、 Q={q(n)−1}2n+1+q(n+1)2n+…+q
(0)2+1 R=2-n+1R(0) 但し、q(j)は各段階における部分剰余と除
数の関係により定まる‘0',‘1'の数 R(0)は最終段階(n+1回目)の部分剰余
である。 上記Q,Rをn桁の符号付2進数で表現する
と、 Q={q(n−2),q(n−3),…,q(1),
q(0),1} R=R(0) となる。 但し、q(n−2)は商の符号を意味し、‘1'
であれば、該商は負数であつて、2の補数になつ
ている。 ここで、該除算において、前述の‘あふれ’、
即ちオーバフローがない場合、計算の手順は以下
のようになる。 即ち、部分剰余をR(j)とすると、商q(j−
1)は、 R(j)と、Yとが同符号の時、q(j−1)=
1 R(j)と、Yとが異符号の時、q(j−1)=
0 のように決定する。 そして、部分剰余R(j−1)は、 R′(j−1)=R(j)+2n{1−2q(j−1)}
Y R(j−1)=2R′(j−1) として求められる。 上式において、R′(j−1)を2倍にする演算
は、左に1桁シフトすることで実行できる。 但し、一番最初はR(N+1)=Xとして、j=
0となる迄、上記計算を繰り返す必要がある。 又、上記演算の途中で、部分剰余R(j)=0と
なつた時には、そこで割り切れたことを意味し、
それ以上の計算を続ける必要はない。そして、該
剰余Rの符号は、この侭では何れになるか最終結
果を見る迄不明であるが、一般に、該剰余Rの符
号は被除数の符号と一致させることが多い。その
時、R=R(0)±Yとして、剰余の符号を修正
し、それに伴いQ=Q〓1とすれば良い。 上記、Q,Rは、X,Yに何の制限も課してい
ない為、商が意味を持たない場合や、剰余が除数
と等しくなる場合等が存在している。 又、商,及び剰余が意味を持つ場合にも、結果
の補正が必要になる場合等がある。 一般には、これらの最終判定を特別なハードウ
エアを設けることなく行う場合、それぞれの判定
条件毎に、テスト命令,分岐命令等を用いて行う
必要があり、該判定に時間がかかるのが普通であ
つた。 然して、最新の計算機システムの高速化動向に
伴つて、除算の高速化は必須条件であり、引き放
し法による除算においても、少ないハードウエア
で、高速に除算結果の補正と、異常(オーバフロ
ー)の検出が得られる制御方式が待たれていた。 〔従来の技術と発明が解決しようとする問題点〕 第4図は、従来の引き放し法による除算方式の
概念を流れ図で示したものである。 本図から明らかな如く、従来の引き放し法によ
る除算方式においては、 1 被除数(X),除数(Y)の正数化処理(ス
テツプ50,51参照) 2 結果の補正(ステツプ52参照) 3 オーバフロー検出(ステツプ53参照) 4 商(Q),剰余(R)が負数になつた場合の
補正(ステツプ54) 等の処理が必要であり、これらの処理を図示の如
く、テスト命令,分岐命令をトリー状に設けて行
つていた為、該引き放し法の除算に時間がかかる
と云う問題があつた。 本発明は上記従来の欠点に鑑み、被除数(X),
除数(Y)の正,負とか、除数=0に拘わらず、
前述の引き放し法の手順による除算を行い、該除
算結果の判定,オーバフローの検出を、該除算に
よつて得られた商の補正前の状態ビツトq(−
1),q(n),q(n−1),q(n−2),及び剰
余R=0かどうかの条件のみを用いて、択一的に
多岐分岐で高速に行う方法を提供することを目的
とするものである。 〔問題点を解決するための手段〕 第1図は、本発明の商,及び剰余の補正と,異
常(オーバフロー)検出の原理ブロツク図であつ
て、(a)は除算結果の補正の場合を示し、(b)はオー
バフローの検出の場合を示し、(c)は両者を纏めた
ものである。 (a) 除算結果の補正方式: 引き放し法による除算においては、剰余(R)
の符号は最後の演算が行われる迄決定できない。 又、該剰余(以下、Rと云う)の符号は被条数
(以下、Xと云う)と一致する保障はない。従つ
て、若し一致しない場合には補正が必要となる。 除算結果について、補正しなければならない場
合と、その方法は以下の原理によつて明確にされ
る。以下、除数もYで表す。 (1) X>0,R<0の時: a Y>0と仮定すると(XY>0,RY<0) Q←Q−1,R←R+Y b Y<0と仮定すると(XY<0,RY>0) Q←Q+1,R←R−Y (2) X<0,R≧0の時: a Y>0と仮定すると(XY<0,RY>0) Q←Q+1,R←R−Y b Y<0と仮定すると(XY>0.RY<0) Q←Q−1,R←R+Y 前述のように、一般に、引き放し法による除算
においては、一番最初に、R(n+1)=Xとして
加減算を行い、 R(j)とYとが同符号の時、q(j−1)=1 R(j)とYとが異符号の時、q(j−1)=0 とするような演算をj=0となる迄繰り返す。 従つて、上記の除算結果の補正条件を、q(j)
を用いて表現すると、下表のようになる。
〔作用〕
即ち、本発明によれば、引き放し法による除算
方式において、該除算が了した時点での、該商の
補正前の状態ビツトq(−1),q(n),q(n−
1),q(n−2)の値,及びR(0)=0かどうか
で択一的にマルチ分岐を行い、該除算結果の補正
と,オーバフローの検出を行うようにしたもので
あるので、引き放し法による除算を少ないハード
ウエア量で、高速に行うことができる効果があ
る。 〔実施例〕 以下本発明の実施例を図面によつて詳述する。
第2図は本発明の一実施例をブロツク図で示した
もので、(a)は演算実行前の状態を示し、(b)は演算
実行後の状態を示しており、第3図はこの場合の
除算動作をフローで示した図である。 (a) 先ず、被除数レジスタA1,C2に、それぞ
れ被除数XU,XLを置数し、除数レジスタB
3に除数Yを置数する。(第3図,ステツプ6
0,61参照) (b) 最初、該XUが加減算器ALU5を通してシフ
タSLl6にセツトされ、1ビツト左シフトして
得られる部分剰余R(n+1)=XUとして、排
他的論理和回路EOR7において、X,Yの符
号により 同符号の時には:q(n)=1 異符号の時には:q(n)=0 に決定した後、被除数レジスタC2の最下位ビ
ツトにセツトすると共に、シフタSLl4によつ
て1ビツト左シフトして、その最上位ビツトを
被除数レジスタA1の最下位ビツトにセツトす
る。 ここで生成された部分剰余R(n+1)を、
被除数レジスタA1最下位ビツトを除く上位の
ビツト位置にセツトする。 この時、その最上位ビツトが、あふれビツト
e11に蓄積される。 以降、X,Yの間で、加減算を行う毎に、部
分剰余R(j)と,除数Yとの符号を、排他的
論理和回路EOR7により、 同符号の時には:q(j−1)=1 異符号の時には:q(j−1)=0 とした後、上記と同じ動作が行われ、j=0と
なる迄n+1回の除算が繰り返される(第3
図、ステツプ62参照) この時、排他的論理和回路FOR7の出力dに
よつて、加減算回路ALU5での次の加減算動作
が決定される。 このようにして、該除算が終了した時点におい
ては、レジスタC2には商Qが残り、レジスタA
1には、部分剰余R(0)が蓄積されていること
になる。 その結果、レジスタA31:q(n) レジスタC0:q(n−1) レジスタC1:q(n−2) あふれビツトd:q(−1) 除算が終了した時点での商の状態ビツトとして
残つている。 このようにして求められた商Qを補正する前の
状態ビツトq(−1),q(n),q(n−1),q
(n−2),及びR=0かどうかの条件を、異常検
出回路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はレジスタA、22はレジス
タC、3はレジスタB、4,6はシフタSLl、5
は加減算器ALU、7は排他的論理和回路EOR、
8は異常検出回路、q(−1),q(n),q(n−
1),q(n−2)は商Qを補正する前の状態ビツ
ト、XU,XLは被除数、Yは除数、Qは商、R,
R0は剰余、e,dはあふれビツト、をそれぞれ
示す。

Claims (1)

  1. 【特許請求の範囲】 1 2n桁の符号付2進数の被除数Xをn桁の符
    号付2進数の除数Yで除算し、n桁の符号付2進
    数の商Qと,n桁の符号付2進数の剰余Rを得る
    のに、 商Qの符号は、被除数Xと,除数Yの代数的関
    数により決定すると共に、剰余Rの符号は被除数
    Xの符号と同一にするが、上記商Q,剰余Rが‘
    0'の場合には、その符号は常に正とする条件の符
    号付2進除算方式において、 該除算の終了した時点での、商Qの補正前の状
    態ビツトq(−1),q(n),q(n−1),q(n
    −2)の値,及び、剰余R(0)=0かどうかで択
    一的に多岐分岐を行う手段8を設け、 該多岐分岐を行う手段8によつて、該除算結果
    の商Qと剰余Rの補正と,異常(オーバフロー)
    の検出を行うようにすることを特徴とする符号付
    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 JPS6232536A (ja) 1987-02-12
JPH0426495B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120266B2 (ja) * 1987-09-29 1995-12-20 日本電気株式会社 例外処理装置
JP3613167B2 (ja) 2000-10-12 2005-01-26 株式会社村田製作所 パッド電極の接続状態の検査方法
JP5407589B2 (ja) * 2009-06-29 2014-02-05 富士通株式会社 演算回路および演算処理装置ならびに演算処理方法

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 ハ−ドウエア除算器

Also Published As

Publication number Publication date
JPS6232536A (ja) 1987-02-12

Similar Documents

Publication Publication Date Title
JPH0426495B2 (ja)
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
KR100309520B1 (ko) 라운드오프기능을갖는승산방법및승산회로
JPH0511980A (ja) 桁あふれ検出方式とその回路
JP2645422B2 (ja) 浮動小数点演算処理装置
JP3064405B2 (ja) 複素数の演算処理方式
JPH07146777A (ja) 演算装置
JP2664750B2 (ja) 演算装置及び演算処理方法
JP2605848B2 (ja) 非回復型除算器
JP2723707B2 (ja) 正規化回路
JP2856791B2 (ja) バレルシフタおよび浮動小数点演算器
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JP2777265B2 (ja) 高基数開平演算装置
JPH0644226B2 (ja) 演算処理装置
JP2591250B2 (ja) データ処理装置
JPS60235241A (ja) 浮動小数点加算回路
JP2903529B2 (ja) ベクトル演算方式
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPS61224036A (ja) 演算装置
JPH0449138B2 (ja)
JPH0553768A (ja) 除算器
JPS6129020B2 (ja)
JPH03180928A (ja) 浮動小数点乗算装置
JPH086762A (ja) 乗算回路
JPH04160533A (ja) マイクロ・プロセッサ