JPH0477338B2 - - Google Patents

Info

Publication number
JPH0477338B2
JPH0477338B2 JP62079158A JP7915887A JPH0477338B2 JP H0477338 B2 JPH0477338 B2 JP H0477338B2 JP 62079158 A JP62079158 A JP 62079158A JP 7915887 A JP7915887 A JP 7915887A JP H0477338 B2 JPH0477338 B2 JP H0477338B2
Authority
JP
Japan
Prior art keywords
register
division
bit
alu
arithmetic device
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
JP62079158A
Other languages
English (en)
Other versions
JPS63245518A (ja
Inventor
Akio Myoshi
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
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP62079158A priority Critical patent/JPS63245518A/ja
Priority to US07/167,173 priority patent/US4891780A/en
Priority to KR1019880003423A priority patent/KR950006580B1/ko
Publication of JPS63245518A publication Critical patent/JPS63245518A/ja
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

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は除算演算装置、特に減数とシフト動作
を繰返して商を求める除算演算装置に関する。
(従来の技術) 除算演算装置では、被除数を入れるレジスタ
と、除数を入れるレジスタと、商を入れるレジス
タとが用意されるが、一般に被除数を入れるレジ
スタの一部を商を入れるレジスタに兼用すること
が行われている。除算は、被除数の上位の方の桁
から除算を減算し、1回の減算終了後に被除数を
左へシフトし次の減算を行うという操作を繰返し
て行うことによつて行われる。商は各減算結果の
符号を1および0で表わして並べることによつて
得られる。
被除数が除数に比べて大きいと、除算の結果得
られる商も大きくなり、商を入れるレジスタの桁
数が足りなくなる事態が生じる。すなわち、除算
がオーバーフローしてしまうことになり、正しい
演算結果を得ることができない。このため、従来
の除算演算装置では実際の除算演算を行う前に、
被除数と除数とを比較する比較演算を行い、オー
バーフローするか否かを判定している。
(発明が解決しようとする問題点) 上述のように従来の除算演算装置では、すべて
の除算演算の前に、オーバーフローするか否かを
調べる比較演算を行つているため、余分な時間が
かかり、演算速度が遅くなるという問題が生じて
いた。
そこで本発明は、余分な演算が必要なく演算速
度の速い除算演算装置を提供することを目的とす
る。
〔発明の構成〕
(問題点を解決するための手段) 本発明は、被除数の上位桁を入れるための第1
のレジスタと、被除数の下位桁を入れるための第
2のレジスタと、除数を入れるための第3のレジ
スタと、第1のレジスタの内容と第3のレジスタ
の内容との間で減算または加算を行うALUと、
このALUの演算結果が負になつたことを示す除
算結果生成回路と、この除算結果生成回路が負を
示しているときにだけALUに加算を行わせる
ALU機能選択回路と、を備え、 ALUが一回の演算を終了した後、その演算結
果を1ビツト分左へシフトさせて第1のレジスタ
に入れ、第2のレジスタの内容を1ビツト分左へ
シフトさせるとともにその最上位ビツトを第1の
レジスタの最下位ビツトに入れ、除算結果生成回
路が負を示しているときには“0”を、その他の
ときには“1”を、第2のレジスタの最下位ビツ
トに入れて次の演算を行い、以下第2のレジスタ
に商が得られるまでの必要な回数だけ演算動作を
続けるように構成された除算演算装置において、 必要な回数目の演算終了後に第2のレジスタの
最上位ビツトからシフトされてくるビツトを保持
し、このビツトが“1”である場合に除算がオー
バーフローであることを示すオーバーフロー指示
回路を更に設けたものである。
(作用) 本発明に係る除算演算装置では、必要な回数目
の演算終了後に第2のレジスタの最上位ビツトか
らシフトされてくるビツトによつてオーバーフロ
ーか否かが判断される。すなわち、このビツトが
“1”である場合に除算がオーバーフローである
ことが示される。このビツトは最初の減算を行つ
たときの演算結果によつて除算結果生成回路で生
成されたものであり、このビツトが“1”である
ことは最初の減算の結果が正であつたことを示
す。すなわち、最初の時点で第1のレジスタの内
容が第3のレジスタの内容より大きいか等しいこ
とを示す。このように、除算演算の最後にオーバ
ーフローか否かを判定することができるため、従
来の除算演算装置のように、除算演算前に比較演
算を行う必要が無くなり、余分な演算をなくし演
算速度を向上させることができる。
(実施例) 以下、本発明を図示する実施例に基づいて説明
する。本発明に係る除算演算装置は、従来の除算
演算装置に新たにオーバーフロー指示回路を設け
た点が特徴である。そこで、説明の便宜上、まず
従来の除算演算装置の構成とその動作を参考のた
めに説明する。
第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の内容をそれぞれ、データA、デー
タC、データBと呼ぶことにする。
ALU4は、データAとデータBとの間の種々
の演算を行う回路である。ここでは、両データの
減算、加算の他に比較演算が行われる。減算およ
び加算の結果は、再び第1のレジスタ1に戻され
る。このとき、後述するように左へ1ビツト分シ
フトしてから戻されることになる。除算結果生成
回路5はALU4で行われた演算によつて、“0”
または“1”を出力する。すなわち、演算結果が
負のときには“0”が、それ以外のときには
“1”が、それぞれ出力される。この出力は、第
2のレジスタ2の最下位ビツトに入る。なおこの
とき、第2のレジスタ2に入つていたデータCは
左へ1ビツト分シフトし、データCの最上位ビツ
トは第1のレジスタ1の最下位ビツトに入ること
になる。ALU機能選択回路6は、除算演算中に
ALU4の行う演算を減算か加算かに指定する回
路であり、除算結果生成回路5から“0”が与え
られると、ALU4の次回の演算を加算に指定し、
“1”が与えられると、ALU4の次回の演算を減
算に指定する機能を有する。
この装置による除算の手順を、第4図を示す流
れ図を参照して説明する。まず、ステツプS1に
おいて、除数をデータBとしてレジスタ3にセツ
トする。続いてステツプS2において、被除数の
上位桁をデータAとしてレジスタ1に、下位桁を
データCとしてレジスタ2にセツトする。そし
て、ステツプS3において、ALU4を比較演算に
セツトする。これによつてステツプS4において、
データAとデータBとの比較演算がなされる。こ
こで、A≧Bの場合はステツプS5においてオー
バーフロー処理がなされ、除算は行われない。A
≧Bということは、被除数の上位桁が除数より大
きいので、除算を行つても商の桁数が多くなりす
ぎ、第2のレジスタ2におさまりきらなくなるの
である。
ステツプS4においてA<Bの場合のみ、以下
の除算が行われることになる。まず、ステツプ
S6において、ALU4は減算にセツトされる。し
たがつて、ステツプS7ではA−Bなる減算が行
われ、この演算の結果得られるデータは左に1ビ
ツトだけシフトされ、第1のレジスタ1に入れら
れる。そしてステツプS8では、第2のレジスタ
2内のデータCを左へ1ビツトシフトする。この
とき、第2のレジスタ2からはみでたデータCの
最下位ビツトは第1のレジスタ1の最下位ビツト
に入ることになる。また、この第2のレジスタ2
の最下位ビツトには、ステツプS9において除算
結果生成回路5の出力が入ることになる。除算結
果生成回路5は前述のように、ALU4における
演算結果が負の場合に“0”を、それ以外の場合
に“1”を、それぞれ発生する。結局この除算結
果生成回路5の発生したビツト列が商となる。ま
た、ステツプS10において、ALU機能選択回路6
が除算結果生成回路5の出力に基づいて、ALU
4で次回行われる演算を減算にするか、加算にす
るかセツトする。除算結果生成回路5が“0”を
出力しているときには加算を、“1”を出力して
いるときには減算を、それぞれセツトすることに
なる。
以上述べたステツプS7〜S10までの手順が所定
回数、すなわち第2のレジスタ2のビツト数+1
回だけ繰返される。なおこのとき、ステツプS7
の演算は、ステツプS10でセツトされた演算を行
うことになる。このようにして所定回数だけの繰
返しが終了したら、ステツプS11を経て、すべて
の除算手順が終了する。求めるべき商は、第2の
レジスタ2に得られている。
これに対して、本発明に係る除算演算装置の一
実施例のブロツク図を第1図に示す。この装置は
第3図に示す従来の装置に更に、オーバーフロー
指示回路7を設けたものである。この実施例では
オーバーフロー指示回路7は第2のレジスタ2内
のデータCのキヤリーフラグを示すものである。
したがつて、第2のレジスタ2内のデータCを左
へシフトしたときの、もともとの最上位ビツト
は、第1のレジスタ1の最下位ビツトに入れられ
るとともに、オーバーフロー指示回路7内にキヤ
リーフラグとして保持されることになる。
この装置による除算の手順を第2図の流れ図に
示す。ステツプS1およびステツプS2は従来の手
順と全く同様である。ところが、従来のステツプ
S3,S4は行われることなしに、ステツプS6から
の除算手順が始められる。すなわち、予めオーバ
ーフローするか否かを確認することなく除算手順
が進められることになる。ステツプS6〜S11まで
の商を求める繰返し手順は、従来の手順とほぼ同
じである。ただ、ステツプS8′に示すように、デ
ータCをシフトする手順では、データCの最下位
ビツトは第1のレジスタ1の最下位ビツトに入れ
られるとともに、オーバーフロー指示回路7に保
持される。
このようにして、所定回数の繰返しが終了する
と、ステツプS12においてオーバーフロー指示回
路7の内容のチエツクが行われる。このオーバー
フロー指示回路7内に保持されている1ビツトの
フラグは、もともと第1回目のALU4における
演算結果が負か否かを示すフラグである。すなわ
ち、第1回目のALU4による演算終了時に除算
結果生成回路5から出力された1ビツトが、第2
のレジスタ2における所定回数のシフト動作によ
つて、最終的にオーバーフロー指示回路7までシ
フトされたものである。したがつて、ステツプ
S12において、このフラグが“1”であると判断
されれば、第1回目のALU4による演算結果が
負でなかつた、別言すれば、最初の時点でA≧B
であつたことになる。そこでこの場合は第2のレ
ジスタ2に最終的に得られたデータCは商として
正しい値ではないので、ステツプS5においてオ
ーバーフローの処理が行われる。逆に、オーバー
フロー指示回路7内のフラグが“0”であれば、
データCに正しい商が得られたことになる。
上述のように従来の除算演算装置における演算
では、ステツプS3,S4というオーバーフローの
判断手順を除算手順の前に必ず行わなくてはなら
ないが、本発明に係る除算演算装置では、除算手
順終了後にステツプS12において、オーバーフロ
ー指示回路7内のフラグの確認を行うだけでよ
い。このため、余分な演算を省くことができ、演
算時間が短縮される。
〔発明の効果〕
以上のとおり本発明に係る除算演算装置によれ
ば、最終的に商の得られるレジスタから最後にシ
フトされてきた1ビツトのデータにより、オーバ
ーフローの有無を判断するようにしたため、余分
な演算を省くことができ、演算速度を向上させる
ことができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る除算演算装置
のブロツク図、第2図は第1図に示す装置の動作
を説明するための流れ図、第3図は従来の除算演
算装置のブロツク図、第4図は第3図に示す装置
の動作を説明するための流れ図である。 1……第1のレジスタ、2……第2のレジス
タ、3……第3のレジスタ、4……ALU、5…
…除算結果生成回路、6……ALU機能選択回路、
7……オーバーフロー指示回路、S1〜S12……流
れ図の各ステツプ。

Claims (1)

  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ビツト分左へシフトさせ、前記第2のレ
    ジスタの内容を1ビツト分左へシフトさせるとと
    もにその最上位ビツトを前記第1のレジスタの最
    下位ビツトに入れ、前記除算結果生成回路が負を
    示しているときには“0”を、その他のときには
    “1”を、前記第2のレジスタの最下位ビツトに
    入れて次の演算を行い、以下前記第2のレジスタ
    に商が得られるまでの必要な回数だけ演算動作を
    続けるように構成された除算演算装置において、 前記必要な回数目の演算終了後に前記第2のレ
    ジスタの最上位ビツトからシフトされてくるビツ
    トを保持し、このビツトが“1”である場合に除
    算がオーバーフローであることを示すオーバーフ
    ロー指示回路を更に設けたことを特徴とする除算
    演算装置。 5 第1のレジスタ、第2のレジスタ、および第
    3のレジスタが、それぞれ同じビツト要領をもつ
    ことを特徴とする特許請求の範囲第4項記載の除
    算演算装置。 6 除算結果生成回路が、負を示しているときに
    “0”を、それ以外のときに“1”を、それぞれ
    出力することを特徴とする特許請求の範囲第4項
    または第5項記載の除算演算装置。
JP62079158A 1987-03-31 1987-03-31 除算演算装置 Granted JPS63245518A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62079158A JPS63245518A (ja) 1987-03-31 1987-03-31 除算演算装置
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 (ko) 1987-03-31 1988-03-29 나눗셈연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62079158A JPS63245518A (ja) 1987-03-31 1987-03-31 除算演算装置

Publications (2)

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

Family

ID=13682148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62079158A Granted JPS63245518A (ja) 1987-03-31 1987-03-31 除算演算装置

Country Status (3)

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

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 (ja) * 1989-01-24 1990-08-01 Oki Electric Ind Co Ltd 除算器
JPH0797313B2 (ja) * 1989-08-30 1995-10-18 株式会社東芝 計算機及びこの計算機に用いられる演算方法
KR920009092B1 (ko) * 1990-04-03 1992-10-13 정호선 나눗셈기 회로
KR920006322B1 (ko) * 1990-04-03 1992-08-03 정호선 나눗셈기
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
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
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
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 (fr) * 2001-07-17 2005-03-18 St Microelectronics Sa Procede de division de valeurs numeriques
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 (ja) * 1983-11-07 1985-06-05 Hitachi Ltd 10進除算装置

Also Published As

Publication number Publication date
KR950006580B1 (ko) 1995-06-19
KR890015121A (ko) 1989-10-28
US4891780A (en) 1990-01-02
JPS63245518A (ja) 1988-10-12

Similar Documents

Publication Publication Date Title
JPH0477338B2 (ja)
JPH0667851A (ja) オーバーフロー検出機能付き乗算装置
US4799181A (en) BCD arithmetic using binary arithmetic and logical operations
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
US6519621B1 (en) Arithmetic circuit for accumulative operation
JP3271120B2 (ja) 2進数を高速乗算する装置
US3280314A (en) Digital circuitry for determining a binary square root
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JPS608933A (ja) 演算処理装置
JP2579321B2 (ja) バイナリ処理装置
JPH1091395A (ja) プロセッサ
US6240540B1 (en) Cyclic redundancy check in a computer system
US4437165A (en) Overflow detection for a decimal arithmetic unit
JPS6093550A (ja) 乗算機構とその作動方法
JP2664750B2 (ja) 演算装置及び演算処理方法
JPS623330A (ja) 加算器
JPS60167030A (ja) シフトフラグ生成方式及びシフトフラグ生成回路
JPH0553759A (ja) 固定小数点演算ユニツト
JP2674747B2 (ja) シグナル・プロセツサ
JPS58114133A (ja) 10進除算装置
JPH02181821A (ja) 演算装置
JPS63279321A (ja) マイクロプログラム制御装置
JPH04241623A (ja) 10進乗算処理装置
JPH01237831A (ja) 除算装置
JPS63208939A (ja) 10進演算回路