JPH04172526A - 浮動小数点除算器 - Google Patents

浮動小数点除算器

Info

Publication number
JPH04172526A
JPH04172526A JP2299942A JP29994290A JPH04172526A JP H04172526 A JPH04172526 A JP H04172526A JP 2299942 A JP2299942 A JP 2299942A JP 29994290 A JP29994290 A JP 29994290A JP H04172526 A JPH04172526 A JP H04172526A
Authority
JP
Japan
Prior art keywords
adder
data
subtractor
precision
input
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.)
Pending
Application number
JP2299942A
Other languages
English (en)
Inventor
Junji Mori
順治 森
Masato Nagamatsu
永松 正人
Itaru Yamazaki
到 山崎
Katsuhisa Kondo
近藤 勝久
Yukihiro Ide
井出 進博
Takashi Yoshida
尊 吉田
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
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2299942A priority Critical patent/JPH04172526A/ja
Priority to US07/787,926 priority patent/US5206826A/en
Publication of JPH04172526A publication Critical patent/JPH04172526A/ja
Pending 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、計算機の浮動小数点プロセッサで除算を行
う浮動小数点除算器に関し、特に加減算器とセレクタか
らなる繰り返し型除算器に関する。
(従来の技術) 除算回路では、乗算のように2次のブースや+7ラスー
ツリー(Wallace  tree)と言った高速化
のためのアルゴリズムが存在しないので、−殻内には次
に示す繰り返し型の除算方式が用いられる。すなわち、
部分剰余(初回は非除数)と除数を比較し、部分除数か
ら除数を定倍したものを加減算して次の演算の部分剰余
を算出する。これはわれわれが筆算で除算を行うのと同
じである。
このような繰り返し型の除算方式に対して、ニュートン
ラブラン法を用いて収束させる方式も考えられる。しか
しながらこの方式では、初期近似値をROMから引いた
り、あるいは収束式中に乗算が含まれるなどの事実があ
り、前記繰り返し型に比べて特に優位性は認められない
従ってここでは、前記繰り返し演算型の除算器を考える
。この演算方式に関しては、「コンピュータの高速演算
方式」 (垢離 監訳・Kai  Hw a n g著
、近代科学社)に、回数型除算方式、非回復型除算方式
、高基数非回復演算方式、等の種々の演算方式が記載さ
れている。しかしながらこれらはいずれも基本的には同
じ方式であり、回路としては加減算器とセレクタで構成
できるため、回路規模を小さくできる利点がある。また
、必要に応じて加減算器をシリアルに繋げることで出力
のクロック数を少なくすることも可能である。
(発明が解決しようとする課題) 前記除算器のみならず、計算機による演算では、浮動小
数点表示による演算方式を取ることが多い。これは浮動
小数点表示にすることによって計算機内で扱える数の範
囲が著しく拡大するためである。また、このような浮動
小数点演算を効率よく行うために、各種の浮動小数点プ
ロセッサ(F P C)が開発されている。
このような浮動小数点プロセッサでは、一般に単精度モ
ードと倍精度モードと言う2つのモードが使用される。
−殻内には、単精度モードは32ビツト長で、倍精度モ
ードは64ビツト長である。
しかしながら、単精度浮動小数点方式では32ビツト中
に指数と仮数とが存在するため、仮数部の精度は固定小
数点演算の場合jりも悪くなる。
また近年のRISCプロセッサのようにパイプライン演
算を行うプロセッサでは、パイプラインを乱さないよう
な演算が求められている。ところがこの場合、浮動小数
点プロセッサの内部バスが単精度幅であると、倍精度演
算が発生した場合、パイプラインに乱れが生じてしまう
。このような現象を防ぐために、浮動小数点プロセッサ
内のレジスタと演算器の間を倍精度の幅を持つバスによ
って結合し、浮動小数点プロセッサ内でパイプラインの
乱れを生じることなく演算を行える様にしている。
この様な倍精度バスを備える浮動小数点プロセッサでは
、逆に単精度演算を行う場合、演算に必要のない下位ビ
ットには0を埋めて演算を行っている。したがって単精
度演算では、回路の半分は無駄に使われていることにな
る。
この発明は、前記の観点に関してなされたもので、倍精
度バス幅を有する浮動小数点除算器において、回路量を
殆ど増やすことなく単精度演算を2つ並列に処理する機
能を備えた除算器を提供し、回路の有効利用を図ること
を目的とする。
[発明の構成] (課題を解決するための手段) この発明では、前記課題を解決するために、除算回路の
仮数部演算部分が、部分剰余データと除数データの入力
に対して該部分剰余データをデコードしあるいは前記部
分剰余データと除数データとを比較して除数データを定
倍し出力する手段と、部分剰余の符号データによって加
算と減算を切り換えることが可能でありかつ前記出力手
段の出力と前記部分剰余データとを入力して次の部分剰
余を算出する加減算器、とからなる浮動小数点除算器に
おいて、前記出力手段と前記加減算器とをそれぞれが半
分のビット幅を有する第1.第2の出力手段と第1.第
2の加減算器で構成し、前記各データの上位および下位
の半分のビットを各第1.第2の出力手段と第1.第2
の加減算器に別個に入力すると共に、前記下位のビット
が入力される第2の加減算器から発生したキャリーを前
記上位のビットが入力される第1の加減算器に入力する
かどうかを外部制御信号に応答して選択する選択手段を
備えたことを要旨とする。
(作用) この装置によって倍精度の除算を実行する場合は、外部
制御信号によって下位のビットが入力される第2の加減
算器のキャリーが、上位ビットが入力される第1の加減
算器に入力されるように選択手段を設定する。このよう
にすることによって、第1.第2の加減算器は2倍のビ
ット幅を有する加減算器として動作し、倍精度演算に対
応することが出来る。一方この装置によって単精度並列
演算を行う場合は、外部制御信号によりて第2の加減算
器のキャリーが第1の加減算器のキャリーに入力されな
いように選択手段を設定する。これによって、上位のビ
ットが入力される第1の出力手段と第1の加減算器によ
って、入力データの前半のビットに書き込まれた第1の
単精度データを演算処理し、下位のビットが入力される
第2の出力手段と第2の加減算器によって、入力データ
の後半のビットに書き込まれた第2の単精度データを演
算処理することができる。その結果、単精度並列の演算
処理が可能となる。
(実施例) 第1図はこの発明の一実施例にかかる非回復型除算器の
、特に除算セルの構成を示す回路ブロック図である。図
示の除算器は、IEEE754に定められた倍精度、単
精度フォーマットに準拠して構成されている。なお、指
数部の演算回路は、第1図では省略されており、仮数部
の構成のみが示されている。
第3図に、前記IEEE754に定める倍精度、単精度
フォーマットを示す。図示のように、倍精度、単精度の
ためのビットフィールドフォーマットは、共に1ビツト
の符号部(s i gn)と11ビツト、8ビツトの指
数部、52ビツト、23ビツトの仮数部からなっており
、倍精度フォーマットは全体で64ビツト、単精度フォ
ーマットは32ビツトで構成されている。
第4図は、前記第1図の回路に入力されるデータのフォ
ーマットを示すもので、この実施例では図示のように仮
数部に隠れビット(hiddenbit)を採用してい
るため、倍精度演算時の仮数部精度は(符号ビット)+
(隠れビット)+(仮数部52ビツト)で、54ビツト
となる。また同様に、単精度演算時の仮数部精度は(符
号ビット)+(隠れビット)+(仮数部23ビツト)で
、全体で25ビツトとなる。したがって、倍精度演算を
行うに必要な54ビツト中には第4図に示すように、単
精度演算を2つ並列に行うに足る充分なビット数が含ま
れていることがわかる。すなわち、単精度演算を並行し
て行うには、25X2−50ビツトが必要であるが、倍
精度演算は54ビツトであるので、ビット数に問題はな
い。
第1図に示す回路では、以上の点を考慮し、特に単精度
演算時において、単精度演算を2つ並行して行えるよう
に構成することによって、処理能力の向上を図っている
。なお、第1図では、除算の部分剰余を求める部分(除
算セル)のみを示しており、徐算器全体としての実施例
は、第5、第6図に示す。
11図において、部分剰余データ1(初回は被除数)と
除数f−夕2は、前記第4図に示したデータ構造を有し
ていて、それぞれ54ビツトで構成される。この回路で
は、これら各データ1.2は、上位と下位の27ビツト
ずつに分割され、上位ビットは第1のセレクタ3、第1
の加減算器4に入力され、下位ビットは第2のセレクタ
5、第2の加減算器6に入力される。なお、7.8は倍
精度演算時と単精度並列演算時とを切り換えるための第
3.第4のセレクタであり、それぞれに外部切替え信号
9が入力されている。なお、前記各セレクタおよび各加
減算器はそれぞれ27ビツトで構成されている。
また、前記第1.第2のセレクタ3.5は、部分剰余デ
ータ1と除数データ2とを入力し、部分剰余データ1を
デコードもしくは除数データ2と比較し、除数データ2
を定倍(0も含む)して出力する機能を有している。加
減算器4,6は、セレクタ3.5の出力を入力しかつ部
分剰余データ1を入力して、次の部分剰余を算出する機
能を有し、符号データによって加算と減算を切り換える
ことが可能なように構成されている。
以上のような回路において、今、倍精度演算を行う場合
を考えると、第2の加減算器6からのキャリーアウトが
第1の加減算器4のキヤ、リーインへ入る。ように、外
部制御信号9によってセレクタ8を設定する。この設定
状態では、第1図の回路は第2図に示す回路、すなわち
54ビツトのセレクタ10と541、ビットの加減算器
11とで構成される従来の除算器と等価の構造を取るこ
とになる。
したがって、倍精度の除算を実施することが出来る。
次に単精度を並列演算する場合について考える。
この場合は、第1の加減算器4に入るキャリーが0とな
るように、外部制御信号9によってセレクタ8を設定し
、さらに加減算器6に入る被除数データ1の符号が第2
のセレクタ5に入力されるように、セレクタ7を外部制
御信号9によって設定する。以上の設定により、第4図
に示されるように、2つの単精度データが並列に演算さ
れる。
なお第1図には仮数部の演算回路のみが示されている。
実際に除算回路を構成する場合にはさらに指数部の演算
回路か必要であり、そのため単精度並列演算を行うこの
発明では、指数部演算回路がさらにもう1つ必要である
。ところが指数部演算回路ハ、処理するビット幅が小さ
いので回路量は仮数部回路に比べて非常に小さい。また
切替えのための前記セレクタは、数十個のトランジスタ
テ済むので、この発明にしたがって単精度並列演算を実
行する除算器を構成した場合、増加する回路量は問題に
ならない程度である。
また、上記第1図に示す実施例においては、上記部分剰
余データ1かキャリーセーブの形で表わされ、上記第1
.第2の加減算器4,6が、キャリーセーブアダーを用
いて構成されている。
第5図、第6図は、第1図に示したこの発明の除算セル
を用いて構成された、除算器を示す図である。第5図に
示す実施例は、第1図の部分剰余を求める除算セル12
,1..2.・・・をアレイ状に複数個縦積みしたもの
であり、部分剰余の繰り返しを別個の除算セルで行って
いる。なお図において13は1ビツトのシフタ、14は
商を記憶するレジスタである。この実施例では回路規模
は大きくなるが全体としての除算速度は速くなる特徴を
有している。
第6図の実施例は1個の除算セル12によって繰り返し
演算を行い、商を求める型の除算器を示す。図において
、15はレジスタ、16は商を記憶するシフトレジスタ
である。この実施例−では、除算セル12からの部分剰
余をシフトレジスタ16のフリップ・フロップによって
ラッチした構成になっており、演算速度(クロック)は
かかるが回路量は少なくて済む特徴を有している。
[発明の効果] 以上実施例を挙げて説明したように、この発明の除算器
では、回路量を殆ど増加させることなく、倍精度と単精
度並列演算の両者が可能である。したがって、回路が有
効利用されると共に、単精度演算の場合の処理能力が倍
増゛する。そのためこの発明は、画像データ処理やベク
トル演算など、同じ様な計算を何回も行う処理に対して
、効果的である。
【図面の簡単な説明】
第1図はこの発明の一実施例にかかる除算器の主要部分
を示すプロ7ツク図、 第2図は第1図の除算器の動作説明のだめの回路ブロッ
ク図、 第3図はIEEE754に準拠する倍精度と単精度デー
タのビットフィールドフォーマットを示す図、 第4図は第1図の回路に入力されるデータのフォーマッ
トを示す図、 第5図および第6図は第1図に示した回路を用いて構成
した除算器の構成を示す図である。 1・・・部分剰余データ  2・・・除数データ3.5
..7.8・・・セレクタ 4.6・・・第1.第2の加減算器

Claims (2)

    【特許請求の範囲】
  1. (1)除算回路の仮数部演算部分が、部分剰余データと
    除数データの入力に対して該部分剰余データをデコード
    しあるいは前記部分剰余データと除数データとを比較し
    て除数データを定倍し出力する手段と、部分剰余の符号
    データによって加算と減算を切り換えることが可能であ
    りかつ前記出力手段の出力と前記部分剰余データとを入
    力して次の部分剰余を算出する加減算器、とからなる浮
    動小数点除算器において、 前記出力手段と前記加減算器とをそれぞれが半分のビッ
    ト幅を有する第1、第2の出力手段と第1、第2の加減
    算器で構成し、前記各データの上位および下位の半分の
    ビットを各第1、第2の出力手段と第1、第2の加減算
    器に別個に入力すると共に、前記下位のビットが入力さ
    れる第2の加減算器から発生したキャリーを前記上位の
    ビットが入力される第1の加減算器に入力するかどうか
    を外部制御信号に応答して選択する選択手段を備えたこ
    とを特徴とする、浮動小数点除算器。
  2. (2)前記部分剰余データはキャリーセーブの形で表さ
    れ、かつ前記第1、第2の加減算器はキャリセーブアダ
    ーを用いて構成されていることを特徴とする、請求項1
    に記載の浮動小数点除算器。
JP2299942A 1990-11-07 1990-11-07 浮動小数点除算器 Pending JPH04172526A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2299942A JPH04172526A (ja) 1990-11-07 1990-11-07 浮動小数点除算器
US07/787,926 US5206826A (en) 1990-11-07 1991-11-06 Floating-point division cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2299942A JPH04172526A (ja) 1990-11-07 1990-11-07 浮動小数点除算器

Publications (1)

Publication Number Publication Date
JPH04172526A true JPH04172526A (ja) 1992-06-19

Family

ID=17878808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2299942A Pending JPH04172526A (ja) 1990-11-07 1990-11-07 浮動小数点除算器

Country Status (2)

Country Link
US (1) US5206826A (ja)
JP (1) JPH04172526A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置
US7243119B1 (en) 2000-09-26 2007-07-10 Hitachi, Ltd. Floating point computing unit

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2296350B (en) * 1994-12-21 1999-10-06 Advanced Risc Mach Ltd Data processing divider
US5768573A (en) * 1996-11-20 1998-06-16 International Business Machines Corporation Method and apparatus for computing a real time clock divisor
CN103645877B (zh) * 2013-12-13 2017-01-11 广西科技大学 多浮点操作数除运算控制器
CN103631559B (zh) * 2013-12-13 2016-09-14 广西科技大学 双指令多浮点操作数除运算控制器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53135534A (en) * 1977-04-28 1978-11-27 Ibm Divider
JPS5994143A (ja) * 1982-11-19 1984-05-30 Toshiba Corp 除算回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
US5097435A (en) * 1988-12-24 1992-03-17 Kabushiki Kaisha Toshiba High speed dividing apparatus
US4996660A (en) * 1989-04-17 1991-02-26 International Business Machines Corporation Selection of divisor multipliers in a floating point divide circuit
JP2835153B2 (ja) * 1990-06-25 1998-12-14 株式会社東芝 高基数除算器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53135534A (en) * 1977-04-28 1978-11-27 Ibm Divider
JPS5994143A (ja) * 1982-11-19 1984-05-30 Toshiba Corp 除算回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置
US7243119B1 (en) 2000-09-26 2007-07-10 Hitachi, Ltd. Floating point computing unit

Also Published As

Publication number Publication date
US5206826A (en) 1993-04-27

Similar Documents

Publication Publication Date Title
US4969118A (en) Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US9519460B1 (en) Universal single instruction multiple data multiplier and wide accumulator unit
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
JP3689183B2 (ja) 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算
US20030005016A1 (en) Double precision floating point multiplier having a 32-bit booth-encoded array multiplier
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JPH10214176A (ja) 超越関数を迅速に計算する装置
JPH03208170A (ja) 数学関数の近似を計算する数値システム及び計算法
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
US5184318A (en) Rectangular array signed digit multiplier
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0454633A (ja) 高基数除算器
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
Nannarelli Tunable floating-point for energy efficient accelerators
US5734599A (en) Performing a population count using multiplication
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JP2822399B2 (ja) 対数関数演算装置
JPH04172526A (ja) 浮動小数点除算器
JPH04355827A (ja) 開平演算装置
JPH04165530A (ja) 浮動小数点乗算装置
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
US5351207A (en) Methods and apparatus for subtraction with 3:2 carry-save adders
JPH0540605A (ja) 浮動小数点乗算装置
Hass Synthesizing optimal fixed-point arithmetic for embedded signal processing