JPH0786826B2 - 整数除算回路 - Google Patents

整数除算回路

Info

Publication number
JPH0786826B2
JPH0786826B2 JP63181018A JP18101888A JPH0786826B2 JP H0786826 B2 JPH0786826 B2 JP H0786826B2 JP 63181018 A JP63181018 A JP 63181018A JP 18101888 A JP18101888 A JP 18101888A JP H0786826 B2 JPH0786826 B2 JP H0786826B2
Authority
JP
Japan
Prior art keywords
quotient
value
dividend
divisor
code
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 - Fee Related
Application number
JP63181018A
Other languages
English (en)
Other versions
JPH0228830A (ja
Inventor
均 山畑
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63181018A priority Critical patent/JPH0786826B2/ja
Priority to US07/381,077 priority patent/US4992969A/en
Priority to EP89113268A priority patent/EP0351829B1/en
Priority to DE68927652T priority patent/DE68927652T2/de
Publication of JPH0228830A publication Critical patent/JPH0228830A/ja
Publication of JPH0786826B2 publication Critical patent/JPH0786826B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は整数除算回路に関し、特に情報処理装置等にお
いて引き戻し法により除算を行う整数除算回路に関す
る。
〔従来の技術〕
従来のこの種の整数除算回路について図面を参照して説
明する。
第3図は従来の整数除算回路を含む中央処理装置の一例
を示すブロック図である。
31は主記憶インターフェース部であり、命令フェッチと
オペランドのリード/ライトを行う。
32は命令デコード部であり、命令のデコードを行う。
33は実行制御部であり、命令デコード部32のデコード結
果をもとに命令実行部34を制御する。
34は命令実行部でありレジスタ、ALU等を含み整数除算
演算等を実行する。
第4図は第3図に示された命令実行部34の整数除算回路
の一例を示すブロック図である。
データ処理はnビット長で行われ、ALU2、作業用レジス
タ群1、内部データバス3、ソース側ALUオペランドバ
スSOB、デスティネーション側ALUオペランドバスDOB、
及びALU出力バスAOBはすべてnビットの幅を持つ。
負数のデータはnビット長の2の補数表現によって表さ
れる。また整数除算は、商の符号が被除数の符号ビット
の値と除数の符号ビットの値との排他的論理和の値で表
わされ、剰余の符号が被除数に一致するように演算を行
う。
第1表に8ビット長の数値についての整数除算を行った
ときの商と剰余の例を示す。
除算は引き戻し法を用いて行われる。引き戻し法につい
ては文献「マイクロプログラミング」(萩原宏著,産業
図書,1977年4月)に述べられている。
次に、第4図を参照しながらnビット長の被除数と除数
からnビット長の商を得る整数除算の手順について説明
する。
引き戻し法では、正の整数に対する除算が行われるた
め、前処理と後処理が必要となる。
前処理では作業用レジスタ群1内の被除数と除数とをそ
れぞれソース側ALUオペランドバスSOBとデスティネーシ
ョン側ALUオペランドバスDOBに読み出す。それぞれの符
号ビットの値が符号保持部4の排他的論理和ゲートG1
入力され、その出力が商符号ラッチ41に保持される。
その後、被除数と除数とをALU2でそれぞれ絶対値とし、
作業用レジスタ群1に格納して前処理が終る。
これら被除数と除数の絶対値は、ALU2,内部データバス
3及び作業用レジスタ群1を用いて引き戻し法により除
算され、正の整数の商が得られる。
後処理では、正の整数の商に対して、商符号ラッチ41に
保持されている値が“1"ならばALU2により2の補数演算
を行い、また“0"ならば正の整数の商をそのまま出力
し、ALU出力バスAOBに整数の商を得る。
この整数除算において、オーバーフローが発生するのは
被除数が負の最大数で除数が“−1"の場合である。
例えば、8ビット長の2進数の場合には、負の最大数で
ある“−27"を“−1"で除算した場合の商は“27"とな
り、8ビット長で表現できる数の範囲“−27"〜“27
1"を越えるためオーバーフローが発生する。
従来はこのオーバーフローを検出するために、前処理に
入る前に被除数が負の最大数であり、かつ除数が“−1"
であることをALUで判定してオーバーフロー検出信号V
OVF′を出力していた。
〔発明が解決しようとする課題〕
上述した従来の整数除算回路は、オーバーフローを検出
するのに、被除数と除数とがそれぞれ負の最大数と“−
1"とであるかどうかをALUで判定する構成となっている
ので、除算の実行速度が遅くなるという欠点がある。
本発明の目的は、除算の実行速度を上げることができる
整数除算回路を提供することにある。
〔課題を解決するための手段〕
本発明の整数除算回路は、被除数及び除数の各符号ビッ
トの値に対し排他的論理和演算を行いその結果を保持す
る商符号保持部と、前記被除数及び除数のそれぞれの絶
対値をとりその値を格納する手段と、前記被除数及び除
数の各絶対値から商を求めその値を保持する手段と、前
記被除数及び除数の絶対値の商に対し前記商符号保持部
に保持されている値により符号補正する手段と、この符
号補正された商の符号ビットの値と前記商符号保持部に
保持されている値との排他的論理和演算を行い出力する
オーバーフロー検出部とを有している。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の第1の実施例を示すブロック図であ
る。
作業用レジスタ群1は複数のレジスタを備え、内部デー
タバス3に伝達されたデータを入力バスIBを介して入力
し所定のレジスタに保持すると共に、読み出したデータ
をソース側ALUオペランドバスSOB及びデスティネーショ
ン側ALUオペランドバスDOBへ出力する。
ALU2は、ソース側ALUオペランドバスSOB及びデスティネ
ーション側ALUオペランドバスDOSからのデータに対して
所定の演算処理を行い、その結果をALU出力バスAOBを介
して内部データバス3へ伝達する。
ここで、内部データバス3に伝達された被除数及び除数
は、まず作業用レジスタ群1に格納される。
作業用レジスタ群1に格納された被除数及び除数はそれ
ぞれソース側ALUオペランドバスSOB及びデスティネーシ
ョン側ALUオペランドバスDOSに読み出され、読み出され
た被除数及び除数の各符号ビットが商符号保持部4へ入
力される。
商符号保持部4は排他的論理和ゲートG1と商符号ラッチ
41とを備え、被除数及び除数の各符号ビットの値に対し
排他的論理和演算を行い、その値を商符号ラッチ41で保
持する。
ALU2は、読み出された被除数及び除数の絶対値処理を行
い、これら被除数及び除数の絶対値は内部データバス3
及び入力バスIBを介して作業用レジスタ群1に格納され
る。
次に、作業用レジスタ群1,ALU2及び内部データバス3等
を用いて、引き戻し法により被除数及び除数の絶対値か
ら商を求めてその値を保持する。
ALU2は、被除数及び除数の絶対値の商に対し、商符号保
持部4に保持されている値に従って符号補正を行いALU
出力バスAOBに出力する。
オーバーフロー検出部5を排他的論理和ゲートG2を備
え、商符号保持部4に保持されている値と、ALU出力バ
スAOBに出力された符号補正された商の符号ビットの値
との排他的論理和演算を行い出力する(SOVF)。
次に、データ長8ビットのときにオーバーフローが検出
される例について説明する。
オーバーフローとなるのは被除数が負の最大数、すなわ
ち“10000000"であり、かつ除数が“−1"、すなわち“1
1111111"のときである。
除算実行開始時に被除数及び除数の符号ビットの値の排
他的論理和の値“0"が商符号ラッチ41に保持される。
また被除数及び除数の絶対値を用いて引き戻し法により
除算が行われ、正の商の値“10000000"が計算される。
次に、商符号ラッチ41の値が“0"であるため、ALU2を経
て正の商の値がそのまま整数除算の商としてALU出力バ
スAOBに出力される。
このALU出力バスAOBに出力された商の符号ビットは“1"
であり、一方商符号ラッチ41の値は“0"であるため、オ
ーバーフロー検出部5から出力される信号SOVFは“1"と
なりオーバーフローが検出される。
第2図は本発明の第2の実施例を示すブロック図であ
る。
この第2の実施例は、2nビット長の被除数をnビット長
の除数にて整数除算し、nビット長の商を得る場合に対
して本発明を適用したものである。
被除数がnビット長の場合も整数除算の手順及び回路は
第1の実施例とほぼ同様である。
被除数の符号ビットの値と除数の符号ビットの値との排
他的論理和を商符号ラッチ41に設定する場合には、2nビ
ット長の被除数のうちの上位nビットをソース側ALUオ
ペランドバスSOBに読み出す。また2nビット長の被除数
をnビット長の除数により除算するように引き戻し法を
適用する。
被除数が2nビット長の場合には、オーバーフローが発生
する場合を2つに大別することができる。
オーバーフローが発生する第1の場合について、n=8
としたときの例を第2表に示す。
第2表より明らかなように商がnビット長で表現できな
いためオーバーフローとなる。
従ってこの第1の場合のオーバーフローの検出は、引き
戻し法を適用する直前に2nビット長の被除数の上位nビ
ット分の絶対値とnビット長の除数をALU2にて比較する
ことにより検出できる。すなわち被除数の上位nビット
長分の絶対値の方が除数の絶対値より大きいか等しけれ
ばオーバーフローとなり、ALU2からオーバーフロー検出
信号SOVF2が出力される。
オーバーフローが発生する第2の場合について、同様に
n=8としたときの例を第3表に示す。
第3表の場合には商がちょうどnビット長となるが負の
数の表現となってしまうためオーバーフローとなる。
この第2の場合のオーバーフローの検出は本発明による
オーバーフロー検出回路5を用いて容易に行うことがで
きる。すなわち被除数の符号ビットの値と除数の符号ビ
ットの値との排他的論理和の値が符号補正された商の符
号ビットの値と一致しているかどうかによってオーバー
フローが判定できる。
この実施例のように被除数が2nビット長となった場合で
も、作業用レジスタ群1,ALU2,商符号保持部4及びオー
バーフロー検出部5は第1の実施例と同一の回路を用い
ることができ、オーバーフローが発生する第1の場合の
オーバーフローの検出もこれらにより行うことができる
という利点がある。
〔発明の効果〕
以上説明したように本発明は、商符号ビットの値と符号
補正された商の符号ビットの値との排他的論理和により
オーバーフローを検出する構成とすることにより、オー
バーフロー検出のために従来必要としていた被除数が負
の最大数でかつ除数が“−1"であるかどうかのALUでの
判定処理を削除することができるので、除算の実行速度
を上げることができる効果がある。
【図面の簡単な説明】
第1図及び第2図はそれぞれ本発明の第1及び第2の実
施例を示すブロック図、第3図は従来の整数除算回路を
含む中央処理装置の一例を示すブロック図、第4図は従
来の整数除算回路の一例を示すブロック図である。 1……作業用レジスタ群、2……ALU、3……内部デー
タバス、4……商符号保持部、5……オーバーフロー検
出部、31……主記憶インタフェース部、32……命令デコ
ーダ部、33……実行制御部、34……命令実行部、41……
商符号ラッチ、G1,G2……排他的論理和ゲート。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】被除数及び除数の各符号ビットの値に対し
    排他的論理和演算を行いその結果を保持する商符号保持
    部と、前記被除数及び除数のそれぞれの絶対値をとりそ
    の値を格納する手段と、前記被除数及び除数の各絶対値
    から商を求めその値を保持する手段と、前記被除数及び
    除数の絶対値の商に対し前記商符号保持部に保持されて
    いる値により符号補正する手段と、この符号補正された
    商の符号ビットの値と前記商符号保持部に保持されてい
    る値との排他的論理和演算を行い出力するオーバーフロ
    ー検出部とを有することを特徴とする整数除算回路。
JP63181018A 1988-07-19 1988-07-19 整数除算回路 Expired - Fee Related JPH0786826B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63181018A JPH0786826B2 (ja) 1988-07-19 1988-07-19 整数除算回路
US07/381,077 US4992969A (en) 1988-07-19 1989-07-18 Integer division circuit provided with a overflow detector circuit
EP89113268A EP0351829B1 (en) 1988-07-19 1989-07-19 Integer division circuit provided with a overflow detection circuit
DE68927652T DE68927652T2 (de) 1988-07-19 1989-07-19 Dividierschaltung für ganze Zahlen, versehen mit einer Überlaufdetektionsschaltung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63181018A JPH0786826B2 (ja) 1988-07-19 1988-07-19 整数除算回路

Publications (2)

Publication Number Publication Date
JPH0228830A JPH0228830A (ja) 1990-01-30
JPH0786826B2 true JPH0786826B2 (ja) 1995-09-20

Family

ID=16093317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63181018A Expired - Fee Related JPH0786826B2 (ja) 1988-07-19 1988-07-19 整数除算回路

Country Status (4)

Country Link
US (1) US4992969A (ja)
EP (1) EP0351829B1 (ja)
JP (1) JPH0786826B2 (ja)
DE (1) DE68927652T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098242B2 (ja) * 1988-07-13 2000-10-16 日本電気株式会社 データ処理装置
GB2266607A (en) * 1992-04-27 1993-11-03 Intel Corp Preventing operations which cause overflow in an arithmetic and logic unit
US5689721A (en) * 1993-05-18 1997-11-18 Cyrix Corporation Detecting overflow conditions for negative quotients in nonrestoring two's complement division
US5426600A (en) * 1993-09-27 1995-06-20 Hitachi America, Ltd. Double precision division circuit and method for digital signal processor
US5574677A (en) * 1994-11-23 1996-11-12 Exponential Technology, Inc. Adaptive non-restoring integer divide apparatus with integrated overflow detect
US5675528A (en) * 1995-06-16 1997-10-07 Cyrix Corporation Early detection of overflow and exceptional quotient/remainder pairs for nonrestoring twos complement division
US5615113A (en) * 1995-06-16 1997-03-25 Cyrix Corporation Early signaling of no-overflow for nonrestoring twos complement division
US5696712A (en) * 1995-07-05 1997-12-09 Sun Microsystems, Inc. Three overlapped stages of radix-2 square root/division with speculative execution
US6101621A (en) * 1995-10-20 2000-08-08 Kabushiki Kaisha Toshiba Logic circuit and method for designing the same
US6061781A (en) * 1998-07-01 2000-05-09 Ip First Llc Concurrent execution of divide microinstructions in floating point unit and overflow detection microinstructions in integer unit for integer divide
FR2827683B1 (fr) * 2001-07-17 2005-03-18 St Microelectronics Sa Procede de division de valeurs numeriques
DE10219164B4 (de) * 2002-04-29 2004-12-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines ganzzahligen Quotienten
NZ524378A (en) * 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
US20110126335A1 (en) * 2009-12-01 2011-06-02 Gregory Russell Schultz Staple Fiber Conductive Fabric
CN113391787B (zh) * 2021-06-11 2022-06-14 宁波中车时代传感技术有限公司 一种除法器及除法处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3621218A (en) * 1967-09-29 1971-11-16 Hitachi Ltd High-speed divider utilizing carry save additions
US3852581A (en) * 1972-12-14 1974-12-03 Burroughs Corp Two bit binary divider
US4320464A (en) * 1980-05-05 1982-03-16 Control Data Corporation Binary divider with carry-save adders
JPS5710837A (en) * 1980-06-24 1982-01-20 Fujitsu Ltd Division overflow detection system
JPS60140428A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd 除算装置
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
US4724529A (en) * 1985-02-14 1988-02-09 Prime Computer, Inc. Method and apparatus for numerical division

Also Published As

Publication number Publication date
EP0351829A3 (en) 1991-10-09
JPH0228830A (ja) 1990-01-30
DE68927652D1 (de) 1997-02-27
EP0351829B1 (en) 1997-01-15
EP0351829A2 (en) 1990-01-24
DE68927652T2 (de) 1997-09-04
US4992969A (en) 1991-02-12

Similar Documents

Publication Publication Date Title
US4172287A (en) General purpose data processing apparatus for processing vector instructions
JPH0786826B2 (ja) 整数除算回路
JPH0546383A (ja) データ処理装置
US4460970A (en) Digital data processing system using unique techniques for handling the leading digits and the signs of operands in arithmetic operations
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JPS6227412B2 (ja)
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPH034936B2 (ja)
JPH04350724A (ja) シフト量検出回路
JP2557629B2 (ja) 割込方式
JPH0831033B2 (ja) データ処理装置
JPS60167030A (ja) シフトフラグ生成方式及びシフトフラグ生成回路
JP3121609B2 (ja) デジタル信号処理装置
JPH0619700B2 (ja) 演算装置
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JPS5822446A (ja) ベクトル・マスク演算制御方式
JP2819733B2 (ja) 情報処理装置
JP2615746B2 (ja) ビット操作回路
JP3110072B2 (ja) 事前正規化回路
JPH0991118A (ja) 浮動小数点演算装置
JP3123545B2 (ja) データ処理装置
JP3236714B2 (ja) プログラム変換装置およびプログラム変換方法
JP3139011B2 (ja) 固定小数点プロセッサ
JPS6155731A (ja) コンデイシヨンコ−ド判定機能を備えるプロセツサ
JPS59188900A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees