JPH0228830A - 整数除算回路 - Google Patents

整数除算回路

Info

Publication number
JPH0228830A
JPH0228830A JP63181018A JP18101888A JPH0228830A JP H0228830 A JPH0228830 A JP H0228830A JP 63181018 A JP63181018 A JP 63181018A JP 18101888 A JP18101888 A JP 18101888A JP H0228830 A JPH0228830 A JP H0228830A
Authority
JP
Japan
Prior art keywords
quotient
value
divisor
dividend
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.)
Granted
Application number
JP63181018A
Other languages
English (en)
Other versions
JPH0786826B2 (ja
Inventor
Hitoshi Yamahata
山畑 均
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 DE68927652T priority patent/DE68927652T2/de
Priority to EP89113268A priority patent/EP0351829B1/en
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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

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

Claims (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
DE68927652T DE68927652T2 (de) 1988-07-19 1989-07-19 Dividierschaltung für ganze Zahlen, versehen mit einer Überlaufdetektionsschaltung
EP89113268A EP0351829B1 (en) 1988-07-19 1989-07-19 Integer division circuit provided with a overflow detection circuit

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 true JPH0228830A (ja) 1990-01-30
JPH0786826B2 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
US5615113A (en) * 1995-06-16 1997-03-25 Cyrix Corporation Early signaling of no-overflow for nonrestoring twos complement division
US5675528A (en) * 1995-06-16 1997-10-07 Cyrix Corporation Early detection of overflow and exceptional quotient/remainder pairs 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
DE69626596T2 (de) * 1995-10-20 2003-12-18 Kabushiki Kaisha Toshiba, Kawasaki Logische Schaltung, die nach dem Carry select Prinzip arbeitet
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
DE68927652T2 (de) 1997-09-04
EP0351829A2 (en) 1990-01-24
EP0351829B1 (en) 1997-01-15
US4992969A (en) 1991-02-12
JPH0786826B2 (ja) 1995-09-20
DE68927652D1 (de) 1997-02-27

Similar Documents

Publication Publication Date Title
US4172287A (en) General purpose data processing apparatus for processing vector instructions
JPH0228830A (ja) 整数除算回路
US11714639B2 (en) Data processing device
JPH07182141A (ja) 演算装置及び演算方法
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH0546383A (ja) データ処理装置
JP2806346B2 (ja) 演算処理装置
JPH034936B2 (ja)
JPH0371329A (ja) 算術論理演算処理装置の演算制御回路
JPS638971A (ja) 多項式ベクトル演算実行制御装置
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
JPS60167030A (ja) シフトフラグ生成方式及びシフトフラグ生成回路
JP2591250B2 (ja) データ処理装置
JPH0619700B2 (ja) 演算装置
JPH0352092B2 (ja)
JPS59184944A (ja) 丸め演算方式
JPH0991118A (ja) 浮動小数点演算装置
JP2615746B2 (ja) ビット操作回路
JPH0553759A (ja) 固定小数点演算ユニツト
JPH0228828A (ja) 最大値最小値検出回路
JP3110072B2 (ja) 事前正規化回路
JPH0749767A (ja) 飽和処理機能を備えた演算処理装置
JPS61138332A (ja) デイジタル演算回路
JPH03171227A (ja) マイクロプロセッサ
JPH01258129A (ja) 算術論理演算回路

Legal Events

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