JP2608090B2 - 高基数非回復型除算装置 - Google Patents

高基数非回復型除算装置

Info

Publication number
JP2608090B2
JP2608090B2 JP63059605A JP5960588A JP2608090B2 JP 2608090 B2 JP2608090 B2 JP 2608090B2 JP 63059605 A JP63059605 A JP 63059605A JP 5960588 A JP5960588 A JP 5960588A JP 2608090 B2 JP2608090 B2 JP 2608090B2
Authority
JP
Japan
Prior art keywords
partial
divisor
circuit
quotient
register
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
JP63059605A
Other languages
English (en)
Other versions
JPH01233520A (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.)
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 JP63059605A priority Critical patent/JP2608090B2/ja
Publication of JPH01233520A publication Critical patent/JPH01233520A/ja
Application granted granted Critical
Publication of JP2608090B2 publication Critical patent/JP2608090B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 計算機の除算命令(DIVIDE命令)を処理する除算装置
であって,部分商予測値に基づいて1サイクルでnビッ
トの商を得る高基数非回復型除算装置に関し, 除数,被除数の保持時間を少なくし,演算時間を短縮
すると共に,演算器の数も減少できるようにすることを
目的とし, 部分剰余レジスタと除数レジスタの前段に被除数の値
と除数の値とから最初の部分商予測値を出力する第2の
商予測回路と,該第2の商予測回路の出力および部分商
予測回路の出力の一方を選択する手段とを備えるように
構成する。
〔産業上の利用分野〕
本発明は,汎用スカラ計算機やベクトル計算機などに
おける除算命令(DIVIDE命令)を処理する除算装置であ
って,特に,部分商予測値に基づいて1サイクルでnビ
ットの商を得る高基数非回復型除算装置に関する。
〔従来の技術〕
第5図は従来の除算演算器の例,第6図は従来方式の
例,第7図は従来方式のタイムチャートを示す。
部分商予測値に基づいて,1サイクルでnビットの商を
得る高基数非回復型除算装置の演算器は,従来,第5図
に示すように構成されている。
入力データの除数Dは,除数レジスタ(DSR)にセッ
トされ,被除数Nは,部分剰余レジスタ(PR)にセット
される。倍数発生回路(MULT)は,除数レジスタ(DS
R)から入力された除数と,部分商予測回路(QP)から
の部分商予測値とにより,除数Dの±m倍(mは整数)
の値を作成する回路である。
加算回路(ADDER)は,倍数発生回路(MULT)の出力
と,被除数との差を演算する。ここでは,高速化のた
め,上位ビット部分と下位ビット部分とを別に加算する
ようになっている。
部分商予測回路(QP)は,加算回路出力と除数とを用
いて,デコードテーブルを参照することなどにより,次
のサイクルで使用する部分商予測値を求める回路であ
る。倍数発生回路(MULT)は,この部分予測値に基づい
て,次の部分商を求めるための乗算を行う。部分商発生
回路(QG)は,商の補正を行い正しい部分商を作成する
回路である。
この除算装置は,部分剰余レジスタ(PR)に設定され
たi番目の部分剰余をPi,倍数発生回路(MULT)が使用
するi番目の部分商予測値をdiとすると,加算回路(AD
DER)により, Pi+1=Pi−D×di を計算することにより、各サイクルでdiを求めるように
なっている。なお,加算回路(ADDER)の出力である部
分剰余が,負の数になることもあり,この場合,部分商
発生回路(QG)によって結果を補正する。
従来方式では,除数,被除数がセットされた後の最初
のサイクルでは,部分商予測値が不明であるため,これ
を0として演算し,1サイクル空回りさせ,それによっ
て,実質的に最初の部分商予測値を得るようになってい
る。
第6図は,第5図に示す除算演算器を複数個設けて,
連続的に入力されるベクトルデータをパイプライン動作
で処理する従来方式の例を示している。第6図におい
て,DIV0,DIV1,…,DIV5が,各々第5図に示す除算演算器
に相当する。
従来の除算演算器では,除数Di,被除数Niのデータが
セットされたとき,部分商予測値は入力されないため,
最初の1τでは部分商は求められず,次のサイクルから
部分商が出力される。例えば,56ビットのデータで,1τ
に4ビットずつ商を求める場合,最初の部分予測値を求
めるのに1τと,除算に56ビット÷4ビット=14τの合
計15τの時間が必要となる。
第6図に示すような装置で,除数Di,被除数Niが1本
のパスで送られてくる場合,先に入力される除数Diは,
被除数Niが用意されるまでにさらに1τ長く保持される
必要があるので,第5図に示す除数レジスタ(DSR)に1
6τ保持されていなければならない。
第7図に示す従来方式のタイムチャートのように,除
数Di,被除数Niのペアが,3τに1度送られてくるとする
と,最初のD0,N0が第6図に示す除算演算器DIV0にセッ
トされた後,そのD0は除数レジスタ(DSR)に16τ保持
される。従って,除数および被除数の組を,各除算演算
器に入力させていった場合に,6番目のデータD5,N5がき
たときには,まだ除算演算器DIV0のレジスタが空きにな
っていない。そのため,第6図に示すように,最低6個
の除算演算器DIV0〜DIV5が必要であった。
〔発明が解決しようとする課題〕
以上のように従来方式によれば,最初の部分商予測値
を出力するために,除数および被除数をレジスタに1サ
イクル余分に保持しておく必要があり,また,例えば第
6図に示すように,除算を連続的にパイプライン動作で
処理していく場合に,除算演算器の個数が多く必要にな
るという問題があった。
本発明は上記問題点の解決を図り,除数,被除数の保
持時間を少なくし,演算時間を短縮すると共に,演算器
の数も減少できるようにすることを目的としている。
〔課題を解決するための手段〕
本発明では,例えば第1図に示すように,被除数Nが
セットされる部分剰余レジスタ10と,除数Dがセットさ
れる除数レジスタ11の前段に,第2の商予測回路20を設
ける。また,第2の商予測回路20の出力と部分商予測回
路14の出力のいずれかを選択する選択回路21を設ける。
これにより,被除数および除数が部分剰余レジスタ10お
よび除数レジスタ11上に用意されると同時に,第2の商
予測回路20によって,最初の部分商予測値が,部分商予
測レジスタ22に用意されるようにする。
〔作用〕
従来方式によれば,倍数発生回路12によって,除数レ
ジスタ11と部分商予測回路14との値から,除数の±m倍
(mは整数)の値を求める際に,最初の1サイクルは,
部分商予測値が“0"で演算されるのに対し,本発明によ
れば,最初の実質的な部分予測値を,第2の商予測回路
20によって,あらかじめ求めるので,最初の1サイクル
の待ち時間を省き,演算サイクルを短縮することができ
るようになる。次のサイクルからは,選択回路21によっ
て,部分商予測回路14による部分予測値が選択される。
〔実施例〕
第1図は本発明の構成例,第2図は本発明を使用した
装置の実施例,第3図は第2図に示す前処理部の処理説
明図,第4図は本発明の実施例によるタイムチャートを
示す。
第1図において,10は部分剰余レジスタ(PR),11は除
数レジスタ(DSR),12は倍数発生回路(MULT),13は桁
上げ先見回路を持つ加算回路,14は部分商予測回路(Q
P),15は部分商発生回路(QG),20は第2の商予測回路
(QP2),21は選択回路,22は部分商予測レジスタ(QP
R),R1ないしR4は値を一時的に保持するためのレジスタ
である。
これらの部分剰余レジスタ10,除数レジスタ11,倍数発
生回路12,加算回路13(上位部分の加算を行うアダー13A
と下位部分の加算を行うアダー13Bからなる),部分商
予測回路14,部分商発生回路15は、第5図に示した従来
例のものと同様である。
除数Dと被除数Nが,順次入力されると,それぞれ除
数レジスタ11,部分剰余レジスタ10にセットされると共
に,第2の商予測回路20に供給され,第2の商予測回路
20によって,部分商予測値が求められる。なお,この第
2の商予測回路20は,部分商予測回路14と同様に構成さ
れると考えてよい。被除数Nが絶対値表現される場合,
つまり正数として表されている場合においては,部分商
予測回路14の符号ビットをなくして商予測を行うように
した回路と等価である。
演算開始時には,選択回路21は,START信号による選択
信号によって,第2の商予測回路20の出力を選択し,部
分商予測レジスタ22に,部分商予測値を出力する。従っ
て,最初の1サイクルでは,倍数発生回路12は,除数レ
ジスタ11の値と,第2の商予測回路20の出力である部分
予測値とを使用する。
以後の動作は,従来方式とほぼ同様であり,加算回路
13によって,部分剰余レジスタ10の値から倍数発生回路
12の出力を引くことにより,部分剰余を求める。その値
は,部分剰余レジスタ10に戻される。すなわち,部分剰
余レジスタ10には,演算の最初に被除数Nが設定された
後は,各演算サイクルごとに,新たな部分剰余が置数さ
れる。部分商予測回路14は,加算回路13の結果の上位a
ビットと,除数レジスタ11の上位bビットとから,倍数
発生回路12に対する制御信号となる部分商予測値を作成
する。
選択回路21は,2回目のサイクルからは,第2の商予測
回路20の出力ではなく,部分商予測回路14の出力を選択
するので,以後,部分商予測回路14の出力である部分商
予測値によって,演算サイクルが繰り返されることにな
る。部分商発生回路15は,加算回路13の出力である部分
剰余が負数になった場合に,商の補正を行う回路であ
る。
第2図は,連続的に入力されるベクトルデータの除算
をパイプライン動作で処理する本発明を使用した装置の
例を示している。機能的には,第6図に示した従来方式
と同様な装置である。
第1図に示す第2の商予測回路20は,前処理部30内に
設けられる。従って,各除算演算器DIV0〜DIV4に共通に
使用される。
浮動小数点数値の除算を行う場合,前処理部30は,次
のような処理を行う。
除数Dについて,部分商予測値を求めるデコードテー
ブルを簡単にするために,除数Dの仮数部の最上位ビッ
トが“1"になるように,左にビット・シフトする。被除
数Nについては,除数Dと同じだけ左にシフトする。た
だし,商が1より大きくなるとき,すなわち,D<Nにな
るときには,左シフトの後,逆に右へ1digit(4bit)シ
フトし,指数部を+1する。
例えば,演算データが,第3図(イ)に示すような除
数Dと被除数Nである場合,除数Dを左に2bitシフトす
る。これに合わせて被除数Nも左へ2bitシフトすると
き,“1"がシフトアウトされるので,逆に1digit右へシ
フトする。すなわち,合計2bit右シフトを行い,指数部
を+1する。その結果,除数D,被除数Nは,第3図
(ロ)に示すように調整される。
本実施例では,さらにこの調整された値により,第2
の商予測回路20を用いて,最初の部分商予測値を求め
る。この除数Dと被除数Nと部分商予測値とは,空いて
いる除算演算器DIV0〜DIV4の1つに送られる。各除算演
算器DIV0〜DIV4における演算動作は,第1図で説明した
動作と同様である。
第2図に示す装置の全体のタイムチャートは,第4図
に示すようになる。
最初に除数D0が除算演算器DIV0に入力され,次に被除
数N0および第2の商予測回路20の出力である部分商予測
値Q0が入力される。そして,有効な部分商予測値Q0によ
って,演算が開始される。次のデータD1,N1およびQ
1は,各々3τ遅れて,次の除算演算器DIV1に入力され
る。以下,同様に各除算演算器にデータが入力され,演
算が行われる。
そして,最初の除数D0が除数レジスタ(DSR)にセッ
トされてから15τ目に,その除数レジスタ(DSR)が空
きになる。従って,6番目のデータD5,N5は,除算演算器D
IV0に入力させることができる。
すなわち,このように3τに1度データが送られてく
る場合,従来方式によれば,除数を16τ保持する必要が
あるので,6個の除算演算器が必要となるのに対し,本実
施例のように,保持時間が15τであると,5個の除算演算
器で演算することができる。
なお,本発明は,浮動小数点演算および整数演算のど
ちらにも適用することができることは言うまでもない。
〔発明の効果〕
以上説明したように,本発明によれば,除数および被
除数の保持時間を短くして,演算時間を短縮することが
できるようになる。特に,ベクトル計算機に用いるよう
な場合には,パイプライン動作に必要な演算器の数も削
減することができるようになる。
【図面の簡単な説明】
第1図は本発明の構成例, 第2図は本発明を使用した装置の実施例, 第3図は第2図に示す前処理部の処理説明図, 第4図は本発明の実施例によるタイムチャート, 第5図は従来の除算演算器の例, 第6図は従来方式の例, 第7図は従来方式のタイムチャートを示す。 図中,10は部分剰余レジスタ,11は除数レジスタ,12は倍
数発生回路,13は加算回路,14は部分商予測回路,15は部
分商発生回路,20は第2の商予測回路,21は選択回路,22
は部分商予測レジスタ,R1〜R4はレジスタを表す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】1サイクルでnビットの商を得る高基数比
    回復型除算装置であって,少なくとも部分剰余レジスタ
    (10)と,除数レジスタ(11)と,部分商予測値に基づ
    いて除数の倍数を発生する倍数発生回路(12)と,部分
    剰余と倍数発生回路の出力との加減算を行う加算回路
    (13)と,加算結果と除数とから部分商予測値を求める
    部分商予測回路(14)とを備えた除算装置において, 前記部分剰余レジスタ(10)と前記除数レジスタ(11)
    の前段に,被除数の値と除数の値とから最初の部分商予
    測値を出力する第2の商予測回路(20)と, 最初の部分商を演算するサイクルで前記第2の商予測回
    路(20)の出力を選択し,それ以降のサイクルで前記部
    分商予測回路(14)の出力を選択する手段(21)とを備
    えたことを特徴とする高基数非回復型除算装置。
JP63059605A 1988-03-14 1988-03-14 高基数非回復型除算装置 Expired - Fee Related JP2608090B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63059605A JP2608090B2 (ja) 1988-03-14 1988-03-14 高基数非回復型除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63059605A JP2608090B2 (ja) 1988-03-14 1988-03-14 高基数非回復型除算装置

Publications (2)

Publication Number Publication Date
JPH01233520A JPH01233520A (ja) 1989-09-19
JP2608090B2 true JP2608090B2 (ja) 1997-05-07

Family

ID=13118052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63059605A Expired - Fee Related JP2608090B2 (ja) 1988-03-14 1988-03-14 高基数非回復型除算装置

Country Status (1)

Country Link
JP (1) JP2608090B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505134B1 (ko) * 2003-06-10 2005-08-02 한국과학기술원 3차원 컴퓨터 그래픽 시스템의 제산유니트

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58142441A (ja) * 1982-02-18 1983-08-24 Toshiba Corp 高基数除算方式

Also Published As

Publication number Publication date
JPH01233520A (ja) 1989-09-19

Similar Documents

Publication Publication Date Title
US5500812A (en) Multiplication circuit having rounding function
Pineiro et al. Algorithm and architecture for logarithm, exponential, and powering computation
JP2622896B2 (ja) 除算装置
EP0158530B1 (en) Nonrestoring divider
US4156922A (en) Digital system for computation of the values of composite arithmetic expressions
JP2002108606A (ja) スティッキービット生成回路及び乗算器
EP0464493B1 (en) High-radix divider
US5426600A (en) Double precision division circuit and method for digital signal processor
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0447849B2 (ja)
JPH0368416B2 (ja)
Takagi et al. A hardware algorithm for integer division
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US5408426A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
JPH0477932B2 (ja)
US5734599A (en) Performing a population count using multiplication
EP0436905B1 (en) High performance adder using carry predictions
US5721697A (en) Performing tree additions via multiplication
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JPH07234778A (ja) 演算回路
US4866655A (en) Arithmetic processor and divider using redundant signed digit
JP2608090B2 (ja) 高基数非回復型除算装置
US6202078B1 (en) Arithmetic circuit using a booth algorithm

Legal Events

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