JPH08115206A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPH08115206A
JPH08115206A JP6249089A JP24908994A JPH08115206A JP H08115206 A JPH08115206 A JP H08115206A JP 6249089 A JP6249089 A JP 6249089A JP 24908994 A JP24908994 A JP 24908994A JP H08115206 A JPH08115206 A JP H08115206A
Authority
JP
Japan
Prior art keywords
adder
circuit
subtractor
register
bit
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
JP6249089A
Other languages
English (en)
Inventor
Makoto Takiguchi
誠 瀧口
Yoshinori Masuda
好徳 増田
Chiaki Takahashi
千秋 高橋
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP6249089A priority Critical patent/JPH08115206A/ja
Publication of JPH08115206A publication Critical patent/JPH08115206A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 一般的な構成の浮動小数点演算装置に少量の
回路を付加することにより平方根演算器が可能となる浮
動小数点演算装置を提供する。 【構成】 3個の選択回路、3個のシフタ、補数回路、
2本のデータパスを付加し、乗除算器正規化回路の出力
を先頭から2ビットづつ加減算回路に供給する手段、加
減算器加算回路入力データを補数化する手段、加減算器
加算回路入力データと加減算器加算回路結果と加算回路
オーバフローをビットシフトし再び加減算器加算回路入
力に戻す手段を設けた浮動小数点演算装置。 【効果】 一般的な構成の浮動小数点演算装置に少量の
回路を付加することにより、非回復型平方根アルゴリズ
ムによる平方根演算可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、浮動小数点演算装置に
関し、特に、既存の演算器回路を最大限に使用し、最小
限の回路を付加することにより平方根演算を可能にする
浮動小数点演算装置に関するものである。
【0002】
【従来の技術】従来、平方根の計算をハードウエアで実
現する場合の手法として非回復型平方根アルゴリズムが
知られている。これは、図9に示すように、加減算とシ
フトにより1回の開平ステップで1ビットの部分平方根
を求める手法である。この手法による平方根演算につい
ては、例えば「コンピュータの高速演算方法」(堀越彌
訳、近代科学社、昭和55年9月1日発行)第357頁
から359頁に論じられている。
【0003】非回復型平方根アルゴリズムと冗長2進表
現による平方根専用演算器を用い、1回の開平ステップ
で2ビットの部分平方根を求める発明が特開平3−29
6132公報に開示されている。
【0004】非回復型平方根アルゴリズムと類似してい
る手法に回復型平方根アルゴリズムがある。これは、図
10に示すように、減算とシフトにより平方根を求める
手法である。この手法の平方根演算に関するものには、
例えば特開平1−155435公報が挙げられる。特開
平1−155435公報では回復型平方根アルゴリズム
を除算器上で実現した平方根演算器の発明について開示
されている。これは回復型平方根アルゴリズムと高基数
非回復型除算アルゴリズムの手法が類似しているため除
算器に必要な回路を付加して平方根演算を実行可能にし
たものである。前記図9及び図10において、2は加減
算器、3は乗除算器、101は第2オペランドレジス
タ、102は第1オペランドレジスタ、103,20
1,202は選択回路、104は演算結果レジスタ、2
03は桁合わせ回路、204は補数回路、205は桁合
わせ結果レジスタ、206は補数結果レジスタ、207
は加算回路、208は加算中間結果レジスタ、209,
301,302は正規化回路、303は正規化乗除数レ
ジスタ、304は正規化被乗除数レジスタ、305は乗
除算回路である。
【0005】
【発明が解決しようとする課題】従来技術の非回復型平
方根アルゴリズムと冗長2進表現による発明は、1回の
開平ステップで2ビットの部分平方根を求めることが可
能であるため性能的には優れているが専用演算器を設け
るためにハードウエア物量が増加してしまう。
【0006】科学技術計算の分野で用いられる平方根演
算命令は、命令処理の高速化も要求されるが、命令の使
用頻度が比較的少ないため専用演算器を設けることによ
る性能向上の効果よりハードウエア物量増加の悪影響の
方が大きい場合がある。
【0007】従来技術の除算器上で平方根演算を実行す
る発明は、既存の演算器に平方根演算で必要な回路を付
加するためハードウエア物量の増加は少量ですむが、高
基数非回復型除算アルゴリズムと異なる除算アルゴリズ
ムの除算器では実現不可能な場合がある。例えば、乗算
器を用いた収束型除算器では実現不可能である。
【0008】本発明の目的は、一般的な構成の浮動小数
点演算装置に少量の回路を付加することにより、平方根
演算が可能となる浮動小数点演算装置を提供することに
ある。
【0009】本発明の前記ならびにその他の目的及び新
規な特徴は、本明細書の記載及び添付図面によって明ら
かになるであろう。
【0010】
【課題を解決するための手段】本願において開示された
発明のうち代表的なものの概要を簡単に説明すれば、以
下のとおりである。
【0011】加減算器と乗除算器とで構成される浮動小
数点演算装置において、前記乗除算器の正規化乗除数レ
ジスタの先頭2ビットを前記加減算器に転送する第1デ
ータバスと、前記加減算器に転送した2ビットのデータ
をシフトアウトして正規化乗除数レジスタにセットする
ための第1の2ビット左シフタ及び選択回路と、前記加
減算器の加算回路の出力結果を2ビット左シフトする第
2の2ビット左シフタと、加減算器の補数回路の出力、
第2の2ビット左シフタの出力、及び乗除算器からの正
規化乗除数レジスタの先頭2ビットをマージしたデータ
を選択する加減算器の補数結果レジスタ入力選択回路
と、加減算器の加算回路の結果の最上位ビットを加減算
器の桁合わせ結果レジスタ入力選択回路に転送する第2
データバスと、加減算器の桁合わせ結果レジスタを1ビ
ット左シフトする第3の1ビット左シフタと、加減算器
の桁合わせ回路の出力、第3の1ビット左シフタの出
力、及び加算回路の結果の最上位ビットをマージしたデ
ータを選択する加減算器の桁合わせ結果レジスタ入力選
択回路と、加減算器の桁合わせ結果レジスタの出力を補
数化する桁合わせ結果のレジスタ出力補数回路と、加減
算器の補数結果レジスタと乗除算器の正規化乗除数レジ
スタがゼロであるか否かを検出し、演算制御回路にゼロ
情報を送出するゼロ検出回路とを備えたものである。
【0012】また、信頼性を確保した遅延時間の短縮
は、前記の加減算器の加算回路の結果最上位ビットのか
わりに、加減算器の加算回路の結果のオーバフローを加
減算器の桁合わせ結果レジスタ入力選択回路の転送デー
タパスとして用いること、及び加減算器の加算回路の結
果最上位ビットの値と加算回路の結果オーバフローの値
を比較する誤動作検出回路を設けたものである。
【0013】
【作用】前述の手段によれば、乗除算器の正規化乗除数
レジスタの先頭2ビットを加減算器に転送し、この加減
算器に転送した2ビットのデータを2ビット左シフタと
選択回路でシフトアウトして正規化乗除数レジスタにセ
ットし、前記加減算器の加算回路の結果を2ビット左シ
フトし、加減算器の補数回路の出力、加減算器の加算回
路の結果の2ビット左シフタ出力、乗除算器からの正規
化乗除数レジスタの先頭2ビットをマージしたデータを
選択し、加減算器の加算回路の結果の最上位ビットを加
減算器の桁合わせ結果レジスタ入力選択回路に転送し、
加減算器の桁合わせ結果レジスタを1ビット左シフト
し、加減算器の桁合わせ結果レジスタ入力選択回路で加
減算器の桁合わせ回路出力、加減算器の桁合わせ結果レ
ジスタの1ビット左シフタは出力、及び加算回路の結果
の最上位ビットをマージした(重ねた)データを選択
し、桁合わせ結果レジスタ出力補数回路で加減算器の桁
合わせ結果レジスタ出力を補数化し、ゼロ検出回路で加
減算器の補数結果レジスタと乗除算器の正規化乗除数レ
ジスタがゼロであるか否かを検出し、演算制御回路にゼ
ロ情報を送出することにより、加減算器と乗除算器から
構成される一般的な浮動小数点演算装置に、3個のシフ
タ、補数回路、2個のデータパスという少量の回路を付
加するだけで、平方根演算可能な浮動小数点演算装置を
実現することができる。
【0014】また、さらに加算回路の結果の最上位ビッ
トとオーバフロー値を比較する誤動作検出回路を設ける
ことにより加算回路のオーバフローの誤動作を検出する
ことができる。
【0015】
【実施例】以下、本発明による実施例を図面を用いて詳
細に説明する。
【0016】図1は、本発明による一実施例の浮動小数
点演算装置の仮数部の概略構成を示すブロック図であ
る。図1において、101は第2オペランドレジスタ、
102は第1オペランドレジスタ、103は加減算器と
乗除算器の演算結果を選択する選択回路、104は演算
結果を格納する演算結果レジスタ、105は演算器全体
の制御を行なう演算制御回路である。
【0017】201〜209は、ロード命令や加減算命
令を実行する加減算器の構成要素であり、201は指数
小側の仮数データを選択する選択回路、202は指数大
側の仮数データを選択する選択回路、203は指数小側
仮数データの桁合わせを行なうシフタ、204は指数大
側仮数データを真の減算時に補数化する補数回路、20
5は桁合わせ回路出力を保持する桁合わせ結果レジス
タ、206は補数回路出力を保持する補数結果レジス
タ、207は桁合わせデータと補数回路データを加算す
る加算回路、208は加算回路の結果を保持する加算中
間結果レジスタ、209は加算中間結果データを正規化
する正規化回路である。
【0018】301〜305は、乗除算命令を実行する
乗除算器の構成要素であり、301は第2オペランドを
正規化する正規化回路、302は第1オペランドを正規
化する正規化回路、303は正規化回路301の出力を
保持する正規化乗除数レジスタ、304は正規化回路3
02の出力を保持する正規化被乗除数レジスタ、305
は正規化乗除数と正規化被乗除数から乗除算結果を求め
る乗除算回路である。401〜411は、本発明により
浮動小数点演算装置に付加した平方根演算のための平方
根演算回路であり、401は正規化乗除数レジスタの値
を2ビット左シフトする第1の2ビット左シフタ、40
2は正規化回路301出力、第1の2ビット左シフタ4
01出力を選択する正規化乗除数レジスタ入力選択回路
である。
【0019】403は正規化乗除数レジスタ303に格
納されたa2k+1とa2k+2を選択回路405に転送するデ
ータバスである。404は加算回路207の出力Rkを
2ビット左シフトする第2の2ビット左シフタである。
405は補数回路204出力、データパス403、第2
の2ビット左シフタ404の出力を選択する補数結果レ
ジスタ入力選択回路である。
【0020】406は加算回路207のオーバフロービ
ットを選択回路408に転送するデータバスである。4
07は桁合わせ結果レジスタ205に格納したq1〜qk
-1を1ビット左シフトする第3の1ビット左シフタであ
る。408は桁合わせ回路203出力、加算回路207
のオーバフローデータバス406、第3の1ビット左シ
フタ407の出力を選択する桁合わせ結果レジスタ入力
選択回路である。
【0021】409は桁合わせ結果レジスタ205の出
力をqkの値により補数化する桁合わせ結果レジスタ補
数回路である。410は補数結果レジスタ206、正規
化乗除数レジスタ303に格納されているRkとa2k+1
〜anがゼロであることを検出するゼロ検出回路であ
る。ゼロ検出回路410で検出されたゼロ情報は、演算
制御回路105に転送され繰返し演算の終了条件に使わ
れる。
【0022】411は平方根演算の繰返し演算時に加算
回路207の結果の最上位ビットの値とオーバフローの
値を比較する誤動作検出回路である。加算回路207の
結果の最上位ビットとオーバフロー値が排他的でないと
き誤動作報告を行なう。
【0023】一般的な浮動小数点演算装置の加算器は、
仮数部7バイトにガードデジット0.5バイトを合わせ
た7.5バイト((1,0)〜(8,3))の加減算を
可能とするため7.5バイト幅のデータを処理できる。
【0024】図2は、本実施例の前記正規化乗除数レジ
スタ入力選択回路402の動作を説明するための図であ
る。この正規化乗除数レジスタ入力選択回路402は、
図2に示すように、平方根命令以外(乗除算命令)と平
方根命令の初期設定時は正規化回路の出力を選択し、平
方根演算の繰返し演算時は、2ビット左シフタ401の
値を選択する。2ビット左シフタ401と選択回路40
2により平方根演算時、正規化乗除数レジスタ303に
はa2k+1〜anの値を左詰めで格納できる。そのため選
択回路405にはa2k+1とa2k+2、ゼロ検出回路410
にはa2k+3〜anを容易に供給できる。
【0025】図3は、本実施例の前記補数結果レジスタ
入力選択回路405の動作を説明するための図である。
この補数結果レジスタ入力選択回路405は、図3に示
すように、平方根命令以外(加減算、ロード命令)時は
正規化回路の出力を選択し、平方根演算の初期設定時は
データパス403のa1、a2を選択する。平方根演算の
繰返し演算時には、上位ビットに2ビット左シフタ40
4出力、下位ビットにはデータパス403のa2k+1、a
2k+2を選択する。平方根演算でk>n+1が成立した場
合の終了処理では丸め処理を行なうために、q57と同じ
ビット位置に1を立てるため0……0100を選択す
る。平方根演算のRk=0、かつa2k+1〜an=0が成立
した途中終了の場合の終了処理時はゼロを選択する。
【0026】図4は、前記桁合わせ結果レジスタ入力選
択回路408の動作を説明するための図である。この桁
合わせ結果レジスタ入力選択回路408は、図4に示す
ように、平方根命令以外(加減算、ロード命令)時は桁
合わせ回路の出力選択し、平方根演算の初期設定時はゼ
ロを選択する。平方根演算の繰返し演算時、終了処理時
は上位ビットに1ビット左シフタ407の出力のq1〜
qk-1を選択し、次のビットにはオーバフローパス40
6のqkを選択し、最下位の2ビットには0を選択す
る。
【0027】図5は、前記桁合わせ結果レジスタ補数回
路409の動作を説明するための図である。この桁合わ
せ結果レジスタ補数回路は平方根命令以外(加減算、ロ
ード命令)時、平方根演算の終了時は桁合わせ結果レジ
スタ出力を選択する。平方根演算の繰返し演算でqk=
1時は桁合わせ結果レジスタの出力をビットごとに反転
し、最下位の2ビットを1としたデータを選択する。平
方根演算の繰返し演算でqk=0時は桁合わせ結果レジ
スタの出力の最下位の2ビットを1としたデータを選択
する。
【0028】図6は、本実施例の平方根演算器で実行す
る平方根命令の処理手順を示すフローチャートであり、
長精度浮動小数点平方根命令の処理フローであるが、短
精度浮動小数点平方根命令の場合には被開平数と演算結
果の仮数が56ビットから24ビットに変わるだけであ
る。
【0029】本実施例で演算する平方根命令は、図6に
示すように、最初に、被開平数が正、ゼロ、負であるか
調べる(ステップ601)。負の場合には平方根例外の
割込みを報告する(ステップ606,607)。ゼロの
場合には演算処理を行なわず演算結果をゼロにして終了
する(ステップ608)。正の場合には被開平数を指数
が偶数になる様に正規化する(ステップ602)。
【0030】これは次に行なう指数の演算処理(ステッ
プ603)、すなわち、正規化した指数の値を2で割り
演算結果指数を求める処理(ステップ611)において
割り切れるよう、あらかじめ指数を偶数とする必要があ
ることによる。仮数の演算処理(ステップ604)は仮
数平方根を求める処理(ステップ612)と丸め処理
(ステップ613)から構成される。
【0031】仮数平方根を求める処理(ステップ61
2)は非回復型平方根アルゴリズムで57ビットの平方
根を求めることにより実現される。57ビットの平方根
を求めるのは、その後に行なう丸め処理(ステップ61
3)のためで、演算結果より1ビット余分に平方根を求
める。
【0032】丸め処理(ステップ613)では、余分に
求めた最終ビットに1を加える。最後に、指数演算処理
と仮数演算処理の演算結果を結合した値が演算結果とな
り(ステップ605)、平方根命令演算を終了する。
【0033】図7は、本実施例の浮動小数点演算装置の
動作を摸式的に示した図である。図7では、選択回路で
選択したデータがわかるように記述したため選択回路自
身の記述を省略した。
【0034】平方根演算では、桁合わせ結果レジスタ2
05は、q1〜qk00を格納するために使用し、補数結
果レジスタ206はRkを格納するために使用する。ま
た、補数回路409の出力が(±Dk)となる。
【0035】初期設定動作を説明する。図7に示すよう
に、最初に、第2オペランドレジスタ101に被開平数
がセットされる。次に、正規化回路301で指数が偶数
になるように、被開平数仮数部を正規化し、そのデータ
を正規化乗除数レジスタ303にセットする。次に、桁
合わせ結果レジスタ205には0をセットし、補数結果
レジスタ206には上位ビットを0とし最下位の2ビッ
トには正規化乗除数レジスタ303の最上位の2ビット
(a1、a2)をセットする。
【0036】正規化乗除数レジスタ303は、a1、a2
を加算器に転送すると、2ビット左シフタ402により
a1、a2をシフトアウトしデータa3〜anを格納する。
正規化乗除数レジスタ303の値はR0となる。ここま
でが初期設定動作である。
【0037】次に、繰返し演算動作を説明する。桁合わ
せ結果レジスタ205にセットされているq1〜qkはq
kの値に従い補数回路409で補数化し(±Dk)とす
る。補数回路409での補数化は、先に説明した図5に
示すように行なう。補数回路409の出力(±Dk)
は、補数結果レジスタ206にセットされているRkと
加算回路207で加算する。
【0038】加算回路207の結果はRk+1であり、加
算回路207のオーバフロー406はqk+1である。加
算回路207の結果Rk+1は、2ビット左シフタ404
でシフトされ、正規化乗除数レジスタ303の最上位2
ビットa2k+1、a2k+2を最下位ビットに付加して補数結
果レジスタ206にセットする。
【0039】正規化乗除数レジスタ303は、a2k+1、
a2k+2を加算器に転送すると2ビット左シフタ402に
より、a2k+1、a2k+2をシフトアウトしデータa2k+3〜
anを格納する。加算回路207のオーバフロー206
であるqk+1は、桁合わせ結果レジスタ205を1ビッ
ト左シフタ407でシフトしたq1〜qk-1の下位ビット
に付加して桁合わせレジスタ205にセットする。
【0040】誤動作検出回路411は、加算回路207
の結果の最上位ビットとオーバフロー値を比較し、これ
らが排他的でないとき誤動作報告を行なう。ここまでが
繰返し演算の1回分である。繰返し演算は1マシンサイ
クルで1回演算し、繰返し演算1回では1ビットのqk
が求まる。繰返し演算をn回繰返しq1からqnを求め
る。本実施例の浮動小数点演算装置で演算する長精度平
方根命令では57回繰返しq1からq57を求める。
【0041】次に、終了処理動作を説明する。終了動作
はk>n+1(図7の非回復型平方根アルゴリズムでは
k>nまでだが、本実施例の浮動小数点演算装置で演算
する平方根命令では1ビット余分にqkを求め、丸め処
理を行なうためk>n+1とする)が成立した場合、及
びRk=0、かつa2k+1〜an=0が成立した途中終了の
場合がある。
【0042】k>n+1が成立した場合には、qn+1の
ビットに1を加える丸め処理を行なう。丸め処理では、
最初に補数結果レジスタ206に0……0100を選択
してセットする。
【0043】次に、補数回路409は、桁合わせレジス
タに格納されているq1〜qn+1を素通りさせ、その出力
と補数回路206の0……0100を加算回路207で
加算する。207の加算結果は、加算中間結果レジスタ
208にセットする。次に、加算中間結果レジスタ20
8にセットした値を正規化回路209でq1が最も左の
ビットに来るようにシフトし、qnより右のビットを切
捨て演算結果レジスタにセットし演算を終了する。
【0044】Rk=0、かつa2k+1〜an=0が成立した
途中終了の場合は、最初に、補数結果レジスタ206に
ゼロを選択してセットする。次に、補数回路409は桁
合わせレジスタに格納されているq1〜qkを素通りさ
せ、その出力と補数回路206のゼロを加算回路207
で加算する。加算回路207の加算結果は、加算中間結
果レジスタ208にセットする。次に、加算中間結果レ
ジスタ208にセットした値を正規化回路209でq1
が最も左のビットに来るようにシフトし演算結果レジス
タ104にセットし演算を終了する。
【0045】以上の説明からわかるように、本実施例に
よれば、乗除算器の正規化乗除数レジスタの先頭2ビッ
トを加減算器に転送し、この加減算器に転送した2ビッ
トのデータを第1の2ビット左シフタ401及び選択回
路402でシフトアウトして正規化乗除数レジスタ30
3にセットし、前記加減算器の加算回路207の結果を
第2の2ビット左シフタ404で2ビット左シフトし、
加減算器の補数回路206の出力、加減算器の加算回路
207の結果を2ビット左シフトする第2の2ビット左
シフタ404の出力、乗除算器の正規化乗除数レジスタ
303の先頭2ビットをマージしたデータを選択し、加
減算器の加算回路207の結果の最上位ビットを加減算
器の桁合わせ結果レジスタ入力選択回路408に転送
し、加減算器の桁合わせ結果レジスタ205を第3の1
ビット左シフタ407で1ビット左シフトし、加減算器
の桁合わせ結果レジスタ入力選択回路408で、加減算
器の桁合わせ回路203の出力、第3の1ビット左シフ
タ407の出力、及び加算回路207の結果の最上位ビ
ットをマージしたデータを選択し、桁合わせ結果レジス
タ205の出力の補数回路409で加減算器の桁合わせ
結果レジスタ205の出力を補数化し、ゼロ検出回路4
10で加減算器の補数結果レジスタ206と乗除算器の
正規化乗除数レジスタ303がゼロであるか否かを検出
し、演算制御回路105にゼロ情報を送出することによ
り、加減算器と乗除算器から構成される一般的な浮動小
数点演算装置に、3個のシフタ、補数回路、2個のデー
タパスという少量の回路を付加するだけで、平方根演算
可能な浮動小数点演算装置を実現することができる。
【0046】また、さらに加算回路の結果の最上位ビッ
トとオーバフロー値を比較する誤動作検出回路を設ける
ことにより加算回路オーバフローの誤動作を検出するこ
とができる。
【0047】図8は、本実施例の非回復型平方根アルゴ
リズム処理の手順を示すフローチャートである。
【0048】図8おいて、a2k+1〜anは、図1の正規
化乗除数レジスタ303に左詰めで格納され、anより
右のビットには0を格納する。q1〜qnは、図1の桁合
わせ結果レジスタ205のビット(1,0)〜(8,
1)に右詰めで格納され、q1より左のビットには0が
入る。Rkは図1の補数結果レジスタ206に右詰めで
格納され、上位のビットには符号を格納する。
【0049】ステップ522のRk+1=Rk+Dkまたは
512のRk+1=Rk−Dkの計算は、図1の加算回路2
07でRk+1=Rk+(±Dk)と変形しておこなう。
(±Dk)は、図1の補数回路409へ桁合わせ結果レ
ジスタ205に格納のq1〜qkを入力し作成する。qk
=0の時(±Dk)は+Dkとなり、その値は(q1……
qk11)とする。qk=1の時(±Dk)は−Dkとな
り、その値は(q1……qk01)を2の補数化した値
(¬q1……¬qk11)とする。
【0050】平方根の繰返し演算時、加算回路207で
の計算が常に真の減算となることは、図8よりqk=0
の時Rk+1=Rk+DkのRkは負であり、qk=1の時Rk
+1=Rk−DkのRkは、正であることから明らかであ
る。真の減算であるため加減算回路207の演算結果の
最上位ビットがRk+1の符号を、オーバフロー(40
6)は、Rk+1の¬符号を表す。Rk+1≧0の時qk+1=
1、Rk+1<0の時qk+1=0となることによりオーバフ
ロー406=qk+1となる。平方根の繰返し演算時は加
算回路207の結果の最上位ビットのかわりにオーバフ
ロー(406)を使用しても問題ない。
【0051】図8のステップ503と504によるRk
=0、a2k+1〜an=0の判定は、図1のゼロ検出回路
410で行なう。ゼロ検出回路410で検出されたゼロ
検出信号は、演算制御回路105に報告される。演算制
御回路105はゼロ検出信号により平方根の繰返し演算
を中止し終了処理を行なう。
【0052】図9は、一般的な浮動小数点演算装置の仮
数部の概略構成を示すブロック図であり、2は加減算
器、3は乗除算器、101は第2オペランドレジスタ、
102は第1オペランドレジスタ、103,201,2
02は選択回路、104は演算結果レジスタ、203は
桁合わせ回路、204は補数回路、205は桁合わせ結
果レジスタ、206は補数結果レジスタ、207は加算
回路、208は加算中間結果レジスタ、209,30
1,302は正規化回路、303は正規化乗除数レジス
タ、304は正規化被乗除数レジスタ、305は乗除算
回路である。
【0053】図9に示すように、通常の加算回路の演算
結果は、パリティにより誤動作の検出を行なっている
が、オーバフローなどのキャリーは、誤動作の検出を行
なっていない。平方根演算の繰返し演算時は加算回路結
果の最上位ビット=加算回路のオーバフローが必ず成立
することより、誤動作検出回路411は、加算回路の結
果の最上位ビット=加算回路オーバフローの時、誤動作
報告を行なう。
【0054】また、通常の加算回路は、その結果よりも
オーバフローなどのキャリを早く求めるよう回路を設計
する。そのため、加算回路207の結果の最上位ビット
の符号を桁合わせ結果レジスタ入力選択回路に転送する
かわりに、オーバフロー406を桁合わせ結果レジスタ
入力選択回路に転送した方が遅延時間を短くできる。以
上、本発明を実施例に基づき具体的に説明したが、本発
明は、前記実施例に限定されるものではなく、本発明の
要旨を逸脱しない範囲において、種々変更し得ることは
勿論である。
【0055】
【発明の効果】本願において開示された発明の代表的な
ものによって得られる効果を簡単に説明すれば、以下の
とおれである。
【0056】加減算器と乗除算器から構成される一般的
な浮動小数点演算装置に3個のシフタ、補数回路、2個
のデータバスという少量の回路を付加することにより、
平方根演算可能な浮動小数点演算装置を実現することが
できる。
【0057】また、加算回路の結果の最上位ビットとオ
ーバフロー値を比較する誤動作検出回路を設けることに
より、加算回路オーバフローの誤動作を検出することが
できる。
【図面の簡単な説明】
【図1】本発明による一実施例の浮動小数点演算装置の
仮数部の概略構成を示すブロック図である。
【図2】本実施例の正規化乗除数レジスタ入力選択回路
の動作を説明するための図である。
【図3】本実施例の補数結果レジスタ入力選択回路の動
作を説明するための図である。
【図4】本実施例の桁合わせ結果レジスタ入力選択回路
の動作を説明するための図である。
【図5】本実施例の桁合わせ結果レジスタ出力補数回路
の動作を説明するための図である。
【図6】本実施例の浮動小数点演算装置で実行する浮動
小数点平方根命令の処理手順を示すフローチャートであ
る。
【図7】本実施例の浮動小数点演算装置の仮数部の動作
を摸式的に示した図である。
【図8】本実施例の非回復型平方根アルゴリズムの処理
手順を示すフローチャートである。
【図9】一般的な浮動小数点演算装置の概略構成を示す
ブロック図である。
【図10】従来の回復型平方根アルゴリズムの処理手順
を示すフローチャートである。
【符号の説明】
2…加減算器、3…乗除算器、101…第2オペランド
レジスタ、102…第1オペランドレジスタ、103,
201,202,402,405,408…選択回路、
104…演算結果レジスタ、105…演算制御回路、2
03…桁合わせ回路、204,409…補数回路、20
5…桁合わせ結果レジスタ、206…補数結果レジス
タ、207…加算回路、208…加算中間結果レジス
タ、209,301,302…正規化回路、303…正
規化乗除数レジスタ、304…正規化被乗除数レジス
タ、305…乗除算回路、401,404…2ビット左
シフタ、403,406…データパス、407…1ビッ
ト左シフタ、410…ゼロ検出回路、411…誤動作検
出回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 増田 好徳 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内 (72)発明者 高橋 千秋 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 加減算器と乗除算器とで構成される浮動
    小数点演算装置において、前記乗除算器の正規化乗除数
    レジスタの先頭2ビットを前記加減算器に転送する第1
    データバスと、前記加減算器に転送した2ビットのデー
    タをシフトアウトして正規化乗除数レジスタにセットす
    るための第1の2ビット左シフタ及び選択回路と、前記
    加減算器の加算回路の出力結果を2ビット左シフトする
    第2の2ビット左シフタと、加減算器の補数回路の出
    力、第2の2ビット左シフタの出力、及び乗除算器から
    の正規化乗除数レジスタの先頭2ビットをマージしたデ
    ータを選択する加減算器の補数結果レジスタ入力選択回
    路と、加減算器の加算回路の結果の最上位ビットを加減
    算器の桁合わせ結果レジスタ入力選択回路に転送する第
    2データバスと、加減算器の桁合わせ結果レジスタを1
    ビット左シフトする第3の1ビット左シフタと、加減算
    器の桁合わせ回路の出力、第3の1ビット左シフタの出
    力、及び加算回路の結果の最上位ビットをマージしたデ
    ータを選択する加減算器の桁合わせ結果レジスタ入力選
    択回路と、加減算器の桁合わせ結果レジスタの出力を補
    数化する桁合わせ結果のレジスタ出力補数回路と、加減
    算器の補数結果レジスタと乗除算器の正規化乗除数レジ
    スタがゼロであるか否かを検出し、演算制御回路にゼロ
    情報を送出するゼロ検出回路とを備えたことを特徴とし
    た浮動小数点演算装置。
JP6249089A 1994-10-14 1994-10-14 浮動小数点演算装置 Pending JPH08115206A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6249089A JPH08115206A (ja) 1994-10-14 1994-10-14 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6249089A JPH08115206A (ja) 1994-10-14 1994-10-14 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH08115206A true JPH08115206A (ja) 1996-05-07

Family

ID=17187828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6249089A Pending JPH08115206A (ja) 1994-10-14 1994-10-14 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JPH08115206A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820107B1 (en) 1997-05-08 2004-11-16 Renesas Technology Corporation Square root extraction circuit and floating-point square root extraction device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820107B1 (en) 1997-05-08 2004-11-16 Renesas Technology Corporation Square root extraction circuit and floating-point square root extraction device

Similar Documents

Publication Publication Date Title
JP6001276B2 (ja) 浮動小数点加算を実行するための装置および方法
US5197023A (en) Hardware arrangement for floating-point addition and subtraction
JP2729027B2 (ja) パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
US8990282B2 (en) Apparatus and method for performing fused multiply add floating point operation
JP2835153B2 (ja) 高基数除算器
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
JPH02196328A (ja) 浮動小数点演算装置
CN111752526B (zh) 浮点相加
EP3301568A1 (en) Processing denormal numbers in fma hardware
US5677861A (en) Arithmetic apparatus for floating-point numbers
US7373369B2 (en) Advanced execution of extended floating-point add operations in a narrow dataflow
US10061561B2 (en) Floating point addition with early shifting
US8533246B2 (en) Carry bucket-aware multiplication having bits with most significant bits set to zero
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
US20070038693A1 (en) Method and Processor for Performing a Floating-Point Instruction Within a Processor
JPH08115206A (ja) 浮動小数点演算装置
US6615228B1 (en) Selection based rounding system and method for floating point operations
US5351207A (en) Methods and apparatus for subtraction with 3:2 carry-save adders
US7243119B1 (en) Floating point computing unit
JP2517064B2 (ja) 非正規化数の処理方式
US5208769A (en) Unsigned integer multiply/divide circuit
CN119201038B (zh) 混合精度运算的浮点加法实现方法、装置及电子设备
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
JP2664750B2 (ja) 演算装置及び演算処理方法