JP3517162B2 - 除算・開平演算装置 - Google Patents

除算・開平演算装置

Info

Publication number
JP3517162B2
JP3517162B2 JP26948899A JP26948899A JP3517162B2 JP 3517162 B2 JP3517162 B2 JP 3517162B2 JP 26948899 A JP26948899 A JP 26948899A JP 26948899 A JP26948899 A JP 26948899A JP 3517162 B2 JP3517162 B2 JP 3517162B2
Authority
JP
Japan
Prior art keywords
quotient
division
square root
input
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
JP26948899A
Other languages
English (en)
Other versions
JP2001092639A (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.)
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 JP26948899A priority Critical patent/JP3517162B2/ja
Publication of JP2001092639A publication Critical patent/JP2001092639A/ja
Application granted granted Critical
Publication of JP3517162B2 publication Critical patent/JP3517162B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、浮動小数点演算器
の除算・開平演算装置に係り、特に除算・開平演算装置
の高速化に関する。
【0002】
【従来の技術】近年、三次元グラフィックスを扱うソフ
トウェアが増加するのに伴い、その座標計算などにおい
てsqrt(y/x)といった演算がよく用いられ、除
算・開平演算装置を用いて実際の演算が行われる。
【0003】図2は従来の除算・開平演算装置の構成例
を示したブロック図である。ここでは、基数2の商デジ
ット集合{−1,0,+1}を使用し、部分剰余演算手
段として桁上げ保存型加算器を用いた例を示している。
例えば、この除算・開平演算装置で、sqrt(y/
x)を計算する場合、まず、y/xなる除算を行った
後、その結果を開平する2段階の演算を行なう。
【0004】セレクタ1は外部から入力される浮動小数
点形式のオペランドyの仮数部データと先行の演算結果
の仮数部データのいずれかを入力オペランドとして選択
するセレクタである。このオペランドyは、除算の場合
は被除数、開平の場合は被開平数に当たる。
【0005】レジスタ2はセレクタ1の出力を保存する
レジスタである。
【0006】アライナ3は、除算時は最上位に隠れビッ
トを付加し、開平時は最上位に隠れビットを付加した
後、指数部の偶数/奇数によって桁合わせを行う。
【0007】セレクタ4はアライナ3の出力と桁上げ保
存型加算器5の出力のサム成分を保存するレジスタ6の
出力のいずれかを選択し桁上げ保存型加算器5のサム入
力ヘ入力するセレクタである。
【0008】セレクタ12は、all0と桁上げ保存型
加算器5の出力のキャリー成分を保存するレジスタ7の
出力のいずれかを選択して桁上げ保存型加算器5のキャ
リー入力ヘ入力するセレクタである。
【0009】レジスタ13は外部からの浮動小数点形式
の入力オペランドxの仮数部を保存するレジスタであ
る。このオペランドxは、除算の場合の除数にあたる。
開平の場合には使用されない。
【0010】インバータ14は前記セレクタ16の出力
を反転させるためのインバータである。
【0011】セレクタ15は前記セレクタ16の出力と
その反転、およびall0の3つの入力のうちーつを商
選択回路8から出力される予測された商デジットに応じ
て出力するセレクタである。予測された商が−1の場合
にはセレクタ16の出力が、+1の場合にはセレクタ1
6の出力の反転が、そして0の場合にはall0がそれ
ぞれ選択される。
【0012】セレクタ16は実行する演算が除算か開平
かに応じて、除算時にはレジスタ13の出力を、開平時
にはルートマルチプル生成回路11の出力を出力するセ
レクタである。
【0013】桁上げ保存型加算器5には前記セレクタ
4、セレクタ12およびセレクタ15の出力が入力さ
れ、それらを加算することにより部分剰余をサム成分と
キャリー成分の形で出力する。また、商選択回路8が予
測した商デジットが入力されているのは、その商デジッ
トが+1の場合には最下位のキャリー入力に1を入力し
減算を行なうためのものである。
【0014】レジスタ6、7はそれぞれ前記桁上げ保存
型加算器のサム成分出力とキャリー成分出力を保存する
ためのレジスタである。
【0015】商選択回路8は桁上げ保存型加算器5の出
力のうち、基数によって定まる一定幅の上位ビットを入
力とし、前記商デジット集合の中から商デジットを予測
する回路である。
【0016】レジスタ9、10は商選択回路8の出力に
従って、冗長二進形式で商を保存するためのレジスタで
ある。レジスタ9には商の正成分が、レジスタ10には
商の負成分がそれぞれ保存される。
【0017】商選択回路8の出力が+1の場合はレジス
タ9の該当ビットに1、レジスタ10の該当ビットに0
が、−1の場合はレジスタ9の該当ビットに0、レジス
タ10の該当ビットに1が、0の場合はレジスタ9、1
0の該当ビットにともに0がそれぞれ保存される。
【0018】ルートマルチプル生成回路11は前記レジ
スタ9、10の出力から、開平演算時の除数にあたるル
ートマルチプルを生成する回路である。
【0019】桁上げ型加算器17は、商の正成分である
レジスタ9の出力から、商の負成分であるレジスタ10
の出力を減算することによって、冗長二進形式の商から
非冗長二進形式の商へ変換するための加算器である。
【0020】正規化回路18は前記桁上げ伝搬型加算器
17の出力を正規化するための回路である。
【0021】レジスタ19は前記正規化回路18の出力
を保存するためのレジスタである。
【0022】レジスタ20は商選択回路8が出力する商
デジットを一旦保存するレジスタである。
【0023】まず、先行して行われる除算では、レジス
タ2に被除数のyの仮数部データがセレクタ1を通して
入力されると共に、レジスタ13に除数のxの仮数部デ
ータが入力される。被除数のyの仮数部データはアライ
ナ3に入力され、隠れビットを付加した後、セレクタ4
を通って桁上げ保存型加算器5に入力される。
【0024】最初の演算において、商選択回路8は商と
して+1を予測するため、セレクタ15はインバータ1
4により極性反転した除数xを選択し、これがセレクタ
16を通して桁上げ保存型加算器5に入力される。又、
最下位からは桁上げ1が入力される。
【0025】その後、桁上げ保存型加算器5は、上記入
力データに基づいて最初の加算を行い、その結果から得
られるサム成分とキャリー成分をレジスタ6とレジスタ
7に保存すると共に、これらサム成分とキャリー成分を
セレクタ4、12を通して入力する。
【0026】同時に、商選択回路8は桁上げ保存型加算
器5のサム成分とキャリー成分より次の商デジットを予
測し、それにより、セレクタ15の切り替えを制御す
る。
【0027】又、商選択回路8が予測した商は、+1で
あれば、レジスタ9の該当ビットに1、レジスタ10の
該当ビットに0が、−1であれば、レジスタ9の該当ビ
ットに0、レジスタ10の該当ビットに1が、0であれ
ば、レジスタ9、10の該当ビットに0がそれぞれ保存
される。
【0028】セレクタ15は、商選択回路8により予測
された商が−1であれば、除数xをそのまま、+1であ
ればインバータ14により極性反転されたものを選び、
0であれば、all0を選ぶ。セレクタ15によって選
択されたデータは桁上げ保存型加算器5に入力される。
【0029】その後、桁上げ保存型加算器5は、上記入
力データに基づいて2回目の加算を行い、その結果から
得られるサム成分とキャリー成分をレジスタ6とレジス
タ7に保存すると共に、これらサム成分とキャリー成分
をセレクタ4、12を通して入力する。
【0030】同時に、商選択回路8は桁上げ保存型加算
器5のサム成分とキャリー成分より次の商デジットを予
測し、それにより、セレクタ15の切り替えを制御す
る。
【0031】商選択回路8が予測した商が+1、−1、
0のいずれかにより、レジスタ9、レジスタ10の該当
ビットに上記した値を保存する。
【0032】上記のような除算動作が循環的に行われ、
所定の桁数の商が得られると、桁上げ保存型加算器5の
演算動作は終了し、レジスタ9、10に最終的な除算結
果である商の正成分と同負成分が冗長二進数形式で保存
される。
【0033】桁上げ伝搬加算器17は、冗長二進数形式
の商の正成分と同負成分を演算して、非冗長二進数形式
の商を求める。この非冗長二進数形式の商は正規化回路
18によって正規化され、これがセレクタ1を通してレ
ジスタ2に保存され、次の開平演算に使用される。
【0034】次の開平演算では、レジスタ2に保存され
た正規化された非冗長二進数形式のy/xの仮数部デー
タが、アライナ3に入力される。アライナ3は隠れビッ
トの付加を行った後、y/xの別途得られた指数部が奇
数か偶数かにより、y/xの仮数部の桁を合わせる動作
を行ない、得られた結果(仮数部データ)をセレクタ4
を通して桁上げ保存型加算器5に入力する。 桁上げ保
存型加算器5が最初に加算を行う際には、+1を商に選
択して加算を行うことにより、最初の開平演算を進め、
その結果得られるサム成分とキャリー成分はレジスタ
6、7に保存された後、セレクタ4、12を通して、桁
上げ保存型加算器5に入力される。
【0035】商選択回路8は桁上げ保存型加算器5のサ
ム成分とキャリー成分から次の商デジットを予測する。
【0036】商選択回路8により予測された商は+1で
あれば、レジスタ9の該当ビットに1、レジスタ10の
該当ビットに0が、−1であれば、レジスタ9の該当ビ
ットに0、レジスタ10の該当ビットに1が、0であれ
ば、レジスタ9、10の該当ビットに0がそれぞれ保存
される。
【0037】その後、レジスタ9、10に書き込まれた
商の正成分と負成分はルートマルチプル生成回路11に
入力される。ルートマルチプル生成回路11は、入力さ
れたこれら商の正成分と負成分から中間結果を作成し、
この中間結果よりルートマルチプルを得て、これをセレ
クタ16経由で、セレクタ15に入力する。
【0038】桁上げ保存型加算器5は、入力されるサム
成分とキャリー成分及びルートマルチプルを用いて次の
加算を行ない、その結果得られるサム成分とキャリー成
分をレジスタ6、7に保存した後、セレクタ4、12を
通して桁上げ保存型加算器5に入力する。
【0039】商選択回路8は桁上げ保存型加算器5のサ
ム成分とキャリー成分により次の商を予測し、予測した
商が+1、−1、0のいずれかにより、レジスタ9、レ
ジスタ10の該当ビットに上記した値を保存する。レジ
スタ9、10に保存された商の正成分と負成分はルート
マルチプル生成回路11に入力される。
【0040】ルートマルチプル生成回路11は入力され
たこれら商の正成分と負成分から中間結果を作成し、こ
の中間結果よりルートマルチプルを得て、これをセレク
タ16経由で、セレクタ15に入力する。その後、桁上
げ保存型加算器5は次の開平演算を行う。
【0041】このような開平演算動作が循環的に行われ
て所定の桁数の商が得られると、桁上げ保存型加算器5
の演算動作は終了し、レジスタ9、10に最終的な開平
演算結果である商の正成分と負成分が冗長二進数形式で
保存される。
【0042】桁上げ伝搬加算器17は、冗長二進数形式
の商の正成分と負成分を演算して非冗長二進数形式の商
を求める。
【0043】正規化回路16は非冗長二進数形式の商を
正規化する。正規化された商は仮数部なので、別途演算
された指数部と纏められてレジスタ19に保存され、こ
れがsqrt(y/x)の演算結果として、出力され
る。
【0044】
【発明が解決しようとする課題】上記した従来の除算・
開平演算装置では、y/xの除算と、その演算結果を入
力にした開平演算を連続して行なうことで所望の結果を
得ることができる。しかし、このような商を冗長二進数
形式で保存する方式を採用した除算・開平演算装置で
は、商をレジスタ9、10に符号付き冗長二進数の形で
保存し、演算終了後に桁上げ伝搬型加算器17により通
常の非冗長二進数形式のデータに変換した後、正規化回
路18による正規化を行なって、商若しくは平方根を得
るのが一般的である。
【0045】それ故、上記のようにy/xの結果を次の
開平演算の入力とする場合にも、一度、桁上げ伝搬型加
算器17による非冗長二進数表現化、正規化回路18に
よる正規化を行なった結果を再度入力データとして桁上
げ保存型加算器5に取り込むことになるため、次の開平
演算の開始までに時間がかかるという問題があり、これ
が演算の高速化を阻んでいるという問題があった。
【0046】本発明は、上述の如き従来の課題を解決す
るためになされたもので、その目的は、除算とそれに続
けて行われる開平演算を高速に行なうことができる除算
・開平演算装置を提供することである。
【0047】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の特徴は、浮動小数点の除算及び浮
動小数点の開平演算を行うための部分剰余を演算する演
算手段を有し、前記除算及び開平演算により得られる商
及び平方根を符号付き冗長二進形式で保存する除算・開
平演算装置において、外部より入力した除数及び被除数
を用いて前記除算を先行して行ない、その結果得られる
前記符号付き冗長二進形式で保存される商の正部分と同
負成分を前記の部分剰余演算手段の入力データとして次
の開平演算を直ちに開始することにある。
【0048】請求項2の発明の特徴は、前記除算結果で
ある符号付き冗長二進形式で保存されている商の正成分
と同商の負成分を反転した反転部分を、前記除算結果の
指数部及び前記入力除数及び前記入力被除数とから求め
たシフト量だけシフトした後、これら商と最下位へのキ
ャリーデータを前記部分剰余演算手段に入力することに
より、前記商の正成分から負成分を減算した結果に対し
て開平演算を行なうことにある。
【0049】請求項3の発明の特徴は、前記部分剰余演
算手段として桁上げ保存型加算器を用いることにある。
【0050】請求項4の発明の特徴は、前記部分剰余演
算手段として冗長二進加算器を用いることにある。
【0051】請求項5の発明の前記被除数は1である。
【0052】上記発明により、先行して、例えばy/x
の除算が行われると、その演算結果である商の正の部分
と負の部分が、冗長二進数形式で得られる。この冗長二
進数形式の商の正の部分と負の部分を非冗長二進数形式
に変換することなく、そのままの形で、次のsqrt
(y/x)を求める開平演算の入力として用いる。これ
により、従来必要であった先行の除算結果を非冗長二進
数形式に変換して正規化する時間を省くことができ、こ
の分、開平演算を早く開始することができる。
【0053】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は、本発明の除算・開平演算
装置の一実施の形態を示したブロック図である。
【0054】ここでは、基数2の商デジット集合{−
1,0,+1}を使用し、部分剰余演算手段として桁上
げ保存型加算器を用いた例を示す。
【0055】レジスタ43は入力オペランド(y)を一
旦保存し、レジスタ44は入力オペランド(x)を一旦
保存する。
【0056】レジスタ21は入力オペランド(y)の仮
数部を一旦保存し、レジスタ45は入力オペランド
(y)の指数部を一旦保存する。
【0057】レジスタ31は入力オペランド(x)の仮
数部を一旦保存し、レジスタ46は入力オペランド
(x)の指数部を一旦保存する。このオペランドxは、
除算の場合の除数にあたる。開平の場合には使用されな
い。
【0058】セレクタ22は外部から入力されるオペラ
ンドの仮数部と先行の演算結果の仮数部のいずれかをオ
ペランド1として選択する。このオペランド1(y)
は、除算の場合は被除数、開平の場合は被開平数に当た
る。
【0059】アライナ23、24はシフト量検出器32
の出力に応じて、入力されたオペランド仮数部をシフト
し隠れビットを追加した上で出力する回路である。
【0060】セレクタ25はアライナ23の出力と桁上
げ保存型加算器27の出力のサム成分を保存するレジス
タ28の出力のいずれかを選択して桁上げ保存型加算器
27のサム入力ヘ入力する。
【0061】セレクタ26は先行する除算開始時の入力
の場合にはall0を、後続の開平演算開始時の入力の
場合にはアライナ24の出力を、ループ動作中の場合に
はレジスタ29の出力をそれぞれ選択する。
【0062】インバータ33は前記レジスタ31の出力
を反転させるためのインバータである。
【0063】セレクタ35は実行する演算が除算か開平
かに応じて、除算時にはレジスタ31の出力を、開平時
にはルートマルチプル生成回路38の出力を選択する。
【0064】セレクタ34は前記セレクタ35の出力と
その反転、およびall0の3つの入力のうちーつを商
選択回路30から出力される予測された商デジットに応
じて出力するセレクタである。ここで、予測された商が
−1の場合にはセレクタ35の出力が、+1の場合には
セレクタ35の出力の反転が、そして0の場合にはal
l0がそれぞれ選択される。
【0065】桁上げ保存型加算器27には前記セレクタ
25、セレクタ26およびセレクタ34の出力が入力さ
れ、それらを加算することにより部分剰余をサム成分と
キャリー成分の形で出力する。また、桁上げ保存型加算
器27に商選択回路30が予測した商デジットが入力さ
れているのは、その商デジットが+1の場合には最下位
のキャリー入力に1を入力して減算を行なうためのもの
である。
【0066】レジスタ28、29はそれぞれ前記桁上げ
保存型加算器27のサム成分出力とキャリー成分出力を
保存するためのレジスタである。
【0067】商選択回路30は桁上げ保存型加算器27
の出力のうち、基数によって定まる一定幅の上位ビット
を入力とし、前記商デジット集合の中から商デジットを
予測する回路である。
【0068】レジスタ36、37は商選択回路30の出
力に従って、冗長二進形式で商を保存するためのレジス
タである。レジスタ36には商の正成分が、レジスタ3
7には商の負成分がそれぞれ保存される。
【0069】商選択回路30の出力が+1の場合はレジ
スタ36の該当ビットに1、レジスタ37の該当ビット
に0が、−1の場合はレジスタ36の該当ビットに0、
レジスタ37の該当ビットに1が、0の場合はレジスタ
36、37の該当ビットに0がそれぞれ保存される。
【0070】シフト量検出器32は、先行する除算にお
ける除数データxおよび被除数データyの指数部および
仮数部を入力として、両仮数部の大小比較を行なうこと
により除算結果の正規化に必要なシフト量を求め、両指
数部から計算される除算結果の指数部と前記シフト量と
から、商レジスタ36,37からフィードバックされた
冗長二進形式の除算結果のシフト量を求めるための回路
である。
【0071】ルートマルチプル生成回路38は前記レジ
スタ36、37の出力から、開平演算時の除数にあたる
ルートマルチプルを生成する回路である。
【0072】桁上げ伝搬型加算器39は、商の正成分で
あるレジスタ36の出力から、商の負成分であるレジス
タ37の出力を減算することによって、冗長二進形式の
商から非冗長二進形式の商へ変換するための加算器であ
る。
【0073】正規化回路40は前記桁上げ伝搬型加算器
39の出力を正規化するための回路である。
【0074】レジスタ41は前記正規化回路40の出力
を保存するためのレジスタである。レジスタ47は商選
択回路30で予測された商デジットを一旦保存するレジ
スタである。
【0075】次に本実施の形態の動作について説明す
る。本例はsqrt(y/x)の計算を行なう除算・開
平演算装置である。sqrt(y/x)を計算する場
合、まず、除算y/xを行って、その結果を開平演算す
る2段階の演算を行なう。
【0076】まず、先行して行われる除算では、レジス
タ43に被除数のyが浮動小数点の形式で入力されると
共に、レジスタ44に除数のxが浮動小数点の形式で入
力される。
【0077】まず、先行して除算が行われるが、この時
は、セレクタ26はall0を予測するように切り替わ
っており、all0がセレクタ26を通して桁上げ保存
型加算器27に入力される。
【0078】当初、セレクタ22は外部入力側に切り替
わっているため、被除数yの仮数部はセレクタ22を通
ってアライナ23に入力され、隠れビットを付加した上
で、セレクタ25を通って桁上げ保存型加算器27に入
力される。尚、当初、セレクタ25はアライナ23の出
力を選択するように切り替わっている。
【0079】最初の演算において、商選択回路30は、
商として+1を予測するため、セレクタ34はインバー
タ33により極性反転した除数xを選択し、これがセレ
クタ35を通して、桁上げ保存型加算器27に入力され
る。尚、除算の時、セレクタ35はレジスタ31の出力
を選択するように切り替わっている。
【0080】次に桁上げ保存型加算器27は、上記した
入力データに基づいて最初の加算を行い、その結果から
得られるサム成分とキャリー成分をレジスタ28とレジ
スタ29に保存する。
【0081】同時に、商選択回路30は桁上げ保存型加
算器27の出力であるサム成分とキャリー成分の上位ビ
ットより次の商デジットを予測し、それにより、セレク
タ34の切替えを制御すると共に、商選択回路30が予
測した商が、+1の場合はレジスタ36の該当ビットに
1、レジスタ37の該当ビットに0が、−1の場合はレ
ジスタ36の該当ビットに0、レジスタ37の該当ビッ
トに1が、0の場合はレジスタ36、37の該当ビット
に0がそれぞれ保存される。
【0082】その後、セレクタ25、26が内部ループ
側に切り替わり、上記したサム成分とキャリー成分がセ
レクタ25、26を通して桁上げ保存型加算器27に入
力する。
【0083】セレクタ34は、予測された商デジットが
−1であれば、除数xを、+1であればインバータ33
により極性反転されたものを選択し、割り切れた場合は
all0を選択するように切り替わり、出力データが桁
上げ保存型加算器27に入力される。
【0084】これにより、桁上げ保存型加算器27は、
上記入力データに基づいて2回目の加算を行い、その結
果から得られるサム成分とキャリー成分をレジスタ28
とレジスタ29に保存する。
【0085】同時に、商選択回路30は桁上げ保存型加
算器27の出力のサム成分とキャリー成分より次の商デ
ジットを予測し、それにより、セレクタ34の選択を切
り換える制御を行う。
【0086】商選択回路30が予測した商が+1、−
1、0のいずれかにより、レジスタ36、レジスタ37
の該当ビットに上記した値を保存する。
【0087】その後、これらサム成分とキャリー成分は
セレクタ25、26を通して桁上げ保存型加算器27に
入力される。
【0088】上記のような除算動作が循環的に行われ、
所定の桁数の商が得られると、桁上げ保存型加算器27
の演算動作は終了し、レジスタ36、37に最終的な除
算結果である商の正成分と負成分が冗長二進数形式で保
存される。
【0089】次の開平演算では、セレクタ22は内部ル
ープ側を選択するように切り替わり、レジスタ35は、
ルートマルチプル生成回路38の出力を選択するように
切り替わる。
【0090】これにより、レジスタ36に保存されてい
る冗長二進数形式の商の正成分がセレクタ22を通し
て、アライナ23に入力されると共に、レジスタ37に
保存されている冗長二進数形式の商の負成分がインバー
タ42により極性変換されてアライナ24に入力され
る。
【0091】その前に、シフト量検出器32は、先行す
る除算における除数データxおよび被除数データyの指
数部および仮数部を入力として、両仮数部の大小比較を
行なうことにより除算結果の正規化に必要なシフト量を
求め、両指数部から計算される除算結果の指数部と前記
シフト量とから、商レジスタ36,37からフィードバ
ックされた冗長二進形式の除算結果のシフト量を求め、
求めたシフト量をアライナ23、24に出力する。
【0092】アライナ23、24は、シフト量検出器3
2の前記シフト量に応じて、入力される商正成分と極性
が反転した商の負成分の桁合わせを行ない、桁が合わさ
れた商の正成分と負成分が桁上げ保存加算器27に入力
される。
【0093】桁上げ保存加算器27は、商の正成分から
商の負成分を減算して中間結果を出し、これに対して、
+1を商に選択して最初の加算を行うことにより、最初
の開平演算を進め、その結果、得られるサム成分とキャ
リー成分をレジスタ28、29に保存する。
【0094】その後、セレクタ25、26は内部ループ
側に切り替わり、レジスタ28、29に保存されたサム
成分とキャリー成分が桁上げ保存型加算器27に入力さ
れる。
【0095】この時、商選択回路30は桁上げ保存型加
算器27のサム成分とキャリー成分の上位ビットから次
の部分商を予測する。
【0096】商選択回路30は予測した商が+1、−
1、0のいずれかにより、レジスタ36、レジスタ37
の該当ビットに上記した値を保存する。
【0097】その後、レジスタ36、37に書き込まれ
た商の正成分と負成分はルートマルチプル生成回路38
に入力される。ルートマルチプル生成回路38は、入力
されたこれら商の正成分と負成分から中間結果を作成
し、この中間結果よりルートマルチプルを得て、これを
セレクタ35経由で、セレクタ34に入力する。
【0098】桁上げ保存型加算器27は、入力されるサ
ム成分とキャリー成分及びルートマルチプルを用いて次
の加算を行ない、その結果得られるサム成分とキャリー
成分をレジスタ28、29に保存した後、セレクタ2
5、26を通して桁上げ保存型加算器27に入力する。
【0099】商選択回路30は桁上げ保存型加算器27
のサム成分とキャリー成分により次の商を予測し、予測
した商が+1、−1、0のいずれかにより、レジスタ3
6、レジスタ37の該当ビットに上記した値を保存す
る。レジスタ36、37に書き込まれた商の正成分と負
成分はルートマルチプル生成回路38に入力される。
【0100】ルートマルチプル生成回路38は、入力さ
れたこれら商の正成分と負成分から中間結果を作成し、
この中間結果よりルートマルチプルを得て、これをセレ
クタ35経由で、セレクタ34に入力する。その後、桁
上げ保存型加算器27は次の開平演算を行う。
【0101】このような開平演算動作が循環的に行わ
れ、所定の桁数の商が得られると、桁上げ保存型加算器
27の演算動作は終了し、レジスタ36、37に最終的
な商の正成分と負成分が冗長二進数形式で保存される。
【0102】桁上げ伝搬型加算器39は冗長二進数形式
の商の正成分から冗長二進数形式の商の負成分を減算し
て、非冗長二進数形式の商を得る。
【0103】正規化回路40は非冗長二進数形式の商を
正規化する。正規化された商は仮数部なので、別途演算
された指数部と纏められて出力レジスタ41に保存さ
れ、これがsqrt(y/x)の演算結果として、出力
される。
【0104】本実施の形態によれば、先行して行われる
除算結果である冗長二進数形式の商の正成分と負成分を
非冗長二進数形式に変換して正規化することなく、冗長
二進数形式の形のままで桁上げ保存型加算器27の入力
データとして、直ちに次の開平演算を開始することによ
り、先行の除算結果を非冗長二進数形式に変換して正規
化する時間を省くことができ、この分、開平演算を早く
開始することができるため、sqrt(y/x)を求め
る除算・開平演算を高速化することができる。
【0105】
【発明の効果】以上詳細に説明したように、本発明の除
算・開平演算装置によれば、先行して行なわれた除算結
果を冗長二進数形式のまま直接桁上げ保存型加算器に入
力して次の開平演算を行うことにより、次の開平演算の
開始を早めることが可能となり、全体の演算時間を短縮
することができる。
【図面の簡単な説明】
【図1】本発明の除算・開平演算装置の一実施の形態を
示したブロック図である。
【図2】従来の除算・開平演算装置の構成例を示したブ
ロック図である。
【符号の説明】 21、28、29、31、36、37、41、43〜4
7 レジスタ 22、25、26、34、35 セレクタ 23、24 アライナ 27 桁上げ保存型加算器 30 商選択回路 32 シフト量検出器 33、42 インバータ 38 ルートマルチプル生成回路 39 桁上げ伝搬型加算器 40 正規化回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 井出 進博 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝 マイクロエレクトロニク スセンター内 (56)参考文献 特開 平10−187420(JP,A) 特開 平3−296132(JP,A) 特開 平9−319561(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/552 G06F 7/52 320

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 浮動小数点の除算及び浮動小数点の開平
    演算を行うための部分剰余を演算する演算手段を有し、 前記除算及び開平演算により得られる商及び平方根を符
    号付き冗長二進形式で保存する除算・開平演算装置にお
    いて、 外部より入力した除数及び被除数を用いて前記除算を先
    行して行ない、その結果得られる前記符号付き冗長二進
    形式で保存される商の正部分と同負成分を前記の部分剰
    余演算手段の入力データとして次の開平演算を直ちに開
    始することを特徴とする除算・開平演算装置。
  2. 【請求項2】 前記除算結果である符号付き冗長二進形
    式で保存されている商の正成分と同商の負成分を反転し
    た反転部分を、前記除算結果の指数部及び前記入力除数
    及び前記入力被除数とから求めたシフト量だけシフトし
    た後、これら商と最下位へのキャリーデータを前記部分
    剰余演算手段に入力することにより、前記商の正成分か
    ら負成分を減算した結果に対して開平演算を行なうこと
    を特徴とする請求項1記載の除算・開平演算装置。
  3. 【請求項3】 前記部分剰余演算手段として桁上げ保存
    型加算器を用いることを特徴とする請求項1又は2記載
    の除算・開平演算装置。
  4. 【請求項4】 前記部分剰余演算手段として冗長二進加
    算器を用いることを特徴とする請求項1又は2記載の除
    算・開平演算装置。
  5. 【請求項5】 前記被除数は1であることを特徴とする
    請求項1乃至4いずれかに記載の除算・開平演算装置。
JP26948899A 1999-09-22 1999-09-22 除算・開平演算装置 Expired - Fee Related JP3517162B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26948899A JP3517162B2 (ja) 1999-09-22 1999-09-22 除算・開平演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26948899A JP3517162B2 (ja) 1999-09-22 1999-09-22 除算・開平演算装置

Publications (2)

Publication Number Publication Date
JP2001092639A JP2001092639A (ja) 2001-04-06
JP3517162B2 true JP3517162B2 (ja) 2004-04-05

Family

ID=17473150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26948899A Expired - Fee Related JP3517162B2 (ja) 1999-09-22 1999-09-22 除算・開平演算装置

Country Status (1)

Country Link
JP (1) JP3517162B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4273071B2 (ja) 2004-12-15 2009-06-03 エヌイーシーコンピュータテクノ株式会社 除算・開平演算器
JP5407589B2 (ja) * 2009-06-29 2014-02-05 富士通株式会社 演算回路および演算処理装置ならびに演算処理方法

Also Published As

Publication number Publication date
JP2001092639A (ja) 2001-04-06

Similar Documents

Publication Publication Date Title
JP2622896B2 (ja) 除算装置
JPH07168697A (ja) 倍精度除算回路および方法
US7809784B2 (en) Apparatus and method for calculation of divisions and square roots
JP4273071B2 (ja) 除算・開平演算器
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JPH0317132B2 (ja)
JP2511527B2 (ja) 浮動小数点演算器
JP3517162B2 (ja) 除算・開平演算装置
JP2857505B2 (ja) 除算装置
US20030115236A1 (en) Elimination of rounding step in the short path of a floating point adder
JP3793505B2 (ja) 演算器及びそれを用いた電子回路装置
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP2664750B2 (ja) 演算装置及び演算処理方法
JP3233432B2 (ja) 乗算器
JPH0225924A (ja) 浮動小数点演算処理装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP2518532B2 (ja) 減算シフト型除算器
JPH0251732A (ja) 浮動小数点演算器
JP2607759B2 (ja) 除算器
JP3656699B2 (ja) 除算器
JPH0887399A (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JPH07261982A (ja) 基数2の除算器
JPH0527948A (ja) 演算装置
JPH03245225A (ja) 浮動小数点加減算装置
JPS62159224A (ja) 浮動小数点演算回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040122

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees