JPH0540606A - 浮動小数点乗除算装置 - Google Patents
浮動小数点乗除算装置Info
- Publication number
- JPH0540606A JPH0540606A JP19414791A JP19414791A JPH0540606A JP H0540606 A JPH0540606 A JP H0540606A JP 19414791 A JP19414791 A JP 19414791A JP 19414791 A JP19414791 A JP 19414791A JP H0540606 A JPH0540606 A JP H0540606A
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- division
- point number
- floating
- circuit
- 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
Links
Abstract
(57)【要約】
【目的】正規化浮動小数点数の乗除算装置を基本とする
構成に少量のハードウェアを付加するだけで、正規化浮
動小数点乗除算速度を低下せずに、固定小数点数乗除
算、更には非正規化浮動小数点数乗除算が行えるように
することである。 【構成】レジスタ1,2に保持された固定小数点数(ま
たは非正規化浮動小数点数の仮数部)は、プライオリテ
ィエンコーダ3,4によって検出された最上位に連続し
ているゼロの数P1,P2だけ、左シフタ5,6によっ
て左シフトされた後、正規化浮動小数点数の仮数部用の
乗除算回路7による乗除算に供される。P1,P2は加
減算器8によって加算または減算される。シフタ9は、
乗除算回路7の乗除算結果を、加減算器8の加減算結果
が正ならば右方向に、負ならば左方向に、加減算結果の
示す数の絶対値だけシフトし、レジスタ1,2に保持さ
れた固定小数点数(または非正規化浮動小数点数の仮数
部)の乗除算結果を得る。
構成に少量のハードウェアを付加するだけで、正規化浮
動小数点乗除算速度を低下せずに、固定小数点数乗除
算、更には非正規化浮動小数点数乗除算が行えるように
することである。 【構成】レジスタ1,2に保持された固定小数点数(ま
たは非正規化浮動小数点数の仮数部)は、プライオリテ
ィエンコーダ3,4によって検出された最上位に連続し
ているゼロの数P1,P2だけ、左シフタ5,6によっ
て左シフトされた後、正規化浮動小数点数の仮数部用の
乗除算回路7による乗除算に供される。P1,P2は加
減算器8によって加算または減算される。シフタ9は、
乗除算回路7の乗除算結果を、加減算器8の加減算結果
が正ならば右方向に、負ならば左方向に、加減算結果の
示す数の絶対値だけシフトし、レジスタ1,2に保持さ
れた固定小数点数(または非正規化浮動小数点数の仮数
部)の乗除算結果を得る。
Description
【0001】
【産業上の利用分野】この発明は、正規化浮動小数点数
の乗除算の他、固定小数点数の乗除算、更には非正規化
浮動小数点数の乗除算に好適な浮動小数点乗除算装置に
関する。
の乗除算の他、固定小数点数の乗除算、更には非正規化
浮動小数点数の乗除算に好適な浮動小数点乗除算装置に
関する。
【0002】
【従来の技術】従来、正規化浮動小数点数の他、固定小
数点数を扱う計算機の乗除算装置では、正規化浮動小数
点数の乗除算を実現する専用の乗除算装置と、固定小数
点数の乗除算を実現する専用の乗除算装置とを別々に備
えるのが一般的であった。
数点数を扱う計算機の乗除算装置では、正規化浮動小数
点数の乗除算を実現する専用の乗除算装置と、固定小数
点数の乗除算を実現する専用の乗除算装置とを別々に備
えるのが一般的であった。
【0003】また、上記した正規化浮動小数点数および
固定小数点数の他に、非正規化浮動小数点数をも扱う場
合には、非正規化浮動小数点数の乗除算を実現する専用
の乗除算装置を更に備えていた。
固定小数点数の他に、非正規化浮動小数点数をも扱う場
合には、非正規化浮動小数点数の乗除算を実現する専用
の乗除算装置を更に備えていた。
【0004】これに対し、ハードウェア量を減らすため
に、固定小数点数用の乗除算装置、即ち被乗数および除
数の上位に連続するゼロが存在することを前提として乗
除算を行うことが可能な複雑な構成の乗除算装置をベー
スにして(共用して)、固定小数点数の乗除算の他、正
規化浮動小数点数の乗除算、更には非正規化浮動小数点
数の乗除算を実現する方式も知られていた。
に、固定小数点数用の乗除算装置、即ち被乗数および除
数の上位に連続するゼロが存在することを前提として乗
除算を行うことが可能な複雑な構成の乗除算装置をベー
スにして(共用して)、固定小数点数の乗除算の他、正
規化浮動小数点数の乗除算、更には非正規化浮動小数点
数の乗除算を実現する方式も知られていた。
【0005】
【発明が解決しようとする課題】上記したように従来
は、正規化浮動小数点数の乗除算の他、固定小数点数
(更には非正規化浮動小数点数)の乗除算を実現するの
に、正規化浮動小数点数の乗除算専用の乗除算装置と、
固定小数点数の乗除算専用の乗除算装置(と、更には非
正規化浮動小数点数専用の乗除算装置)とを別々に備え
るのが一般的であった。しかし、このような構成では、
装置の規模が膨大となる欠点があった。また、このよう
な構成の装置の規模を抑えるために、より低機能の乗除
算装置を組合せて演算を実現することもあるが、演算速
度の低下を招く問題があった。
は、正規化浮動小数点数の乗除算の他、固定小数点数
(更には非正規化浮動小数点数)の乗除算を実現するの
に、正規化浮動小数点数の乗除算専用の乗除算装置と、
固定小数点数の乗除算専用の乗除算装置(と、更には非
正規化浮動小数点数専用の乗除算装置)とを別々に備え
るのが一般的であった。しかし、このような構成では、
装置の規模が膨大となる欠点があった。また、このよう
な構成の装置の規模を抑えるために、より低機能の乗除
算装置を組合せて演算を実現することもあるが、演算速
度の低下を招く問題があった。
【0006】一方、固定小数点数用の乗除算装置をベー
スにして正規化浮動小数点数(更には非正規化浮動小数
点数)の乗除算を実現することにより、装置規模が膨大
となるのを抑える方式では、被乗数および乗数の上位に
連続するゼロが存在することを前提として乗除算を行う
構成となっているため、浮動小数点演算の速度が低下す
る問題があった。
スにして正規化浮動小数点数(更には非正規化浮動小数
点数)の乗除算を実現することにより、装置規模が膨大
となるのを抑える方式では、被乗数および乗数の上位に
連続するゼロが存在することを前提として乗除算を行う
構成となっているため、浮動小数点演算の速度が低下す
る問題があった。
【0007】この発明は上記事情に鑑みてなされたもの
でその目的は、正規化浮動小数点数の乗除算装置を基本
とする構成に少量のハードウェアを付加するだけで、正
規化浮動小数点乗除算速度の低下を招くことなく、固定
小数点数の乗除算、更には非正規化浮動小数点数の乗除
算が行える浮動小数点乗除算装置を提供することにあ
る。
でその目的は、正規化浮動小数点数の乗除算装置を基本
とする構成に少量のハードウェアを付加するだけで、正
規化浮動小数点乗除算速度の低下を招くことなく、固定
小数点数の乗除算、更には非正規化浮動小数点数の乗除
算が行える浮動小数点乗除算装置を提供することにあ
る。
【0008】
【課題を解決するための手段】この発明は、正規化され
た浮動小数点数の仮数部の乗除算を行うための乗除算回
路と、乗算または除算用に入力された固定小数点数(ま
たは非正規化浮動小数点数の仮数部)の最上位側に連続
しているゼロの数を検出するゼロ検出回路と、このゼロ
検出回路によって検出されたゼロの数だけ入力固定小数
点数(または非正規化浮動小数点数の仮数部)を左シフ
トする左シフト回路と、上記ゼロ検出回路によって検出
された被乗数または被除数となる固定小数点数(または
非正規化浮動小数点数の仮数部)のゼロの数と乗数また
は除数となる固定小数点数(または非正規化浮動小数点
数の仮数部)のゼロの数の加算または減算を行う加減算
器と、上記左シフト回路による左シフト後の、上記被乗
数と乗数、または被除数と除数を対象とする乗除算回路
の乗算または除算結果を、加減算器の加減算結果の示す
数だけ、その加減算結果の正負に応じて右または左シフ
トするシフト回路とを備えたことを特徴とするものであ
る。
た浮動小数点数の仮数部の乗除算を行うための乗除算回
路と、乗算または除算用に入力された固定小数点数(ま
たは非正規化浮動小数点数の仮数部)の最上位側に連続
しているゼロの数を検出するゼロ検出回路と、このゼロ
検出回路によって検出されたゼロの数だけ入力固定小数
点数(または非正規化浮動小数点数の仮数部)を左シフ
トする左シフト回路と、上記ゼロ検出回路によって検出
された被乗数または被除数となる固定小数点数(または
非正規化浮動小数点数の仮数部)のゼロの数と乗数また
は除数となる固定小数点数(または非正規化浮動小数点
数の仮数部)のゼロの数の加算または減算を行う加減算
器と、上記左シフト回路による左シフト後の、上記被乗
数と乗数、または被除数と除数を対象とする乗除算回路
の乗算または除算結果を、加減算器の加減算結果の示す
数だけ、その加減算結果の正負に応じて右または左シフ
トするシフト回路とを備えたことを特徴とするものであ
る。
【0009】
【作用】上記の構成において、固定小数点数(または非
正規化浮動小数点数の仮数部)の乗算/除算の場合に
は、その被演算データ(被乗数/被除数および乗数/除
数)が、その最上位側に連続するゼロの数だけ左シフト
回路により左シフトされて、正規化浮動小数点数の仮数
部乗除算用の乗除算回路に入力されるため、同乗除算回
路を利用した固定小数点数(または非正規化浮動小数点
数の仮数部)の乗算/除算が速度低下を招くことなく行
える。
正規化浮動小数点数の仮数部)の乗算/除算の場合に
は、その被演算データ(被乗数/被除数および乗数/除
数)が、その最上位側に連続するゼロの数だけ左シフト
回路により左シフトされて、正規化浮動小数点数の仮数
部乗除算用の乗除算回路に入力されるため、同乗除算回
路を利用した固定小数点数(または非正規化浮動小数点
数の仮数部)の乗算/除算が速度低下を招くことなく行
える。
【0010】この乗除算回路の出力は、乗算時であれ
ば、加減算器の加算結果の示す数だけシフト回路によっ
て右シフトされ、正しい固定小数点数(または非正規化
浮動小数点数の仮数部)の乗算結果に補正される。また
除算時であれば、乗除算回路の出力は、加減算器の減算
結果の示す数の絶対値だけ、その減算結果の正負で決ま
る右または左方向に、シフト回路によってシフトされ、
正しい固定小数点数(または非正規化浮動小数点数の仮
数部)の除算結果に補正される。
ば、加減算器の加算結果の示す数だけシフト回路によっ
て右シフトされ、正しい固定小数点数(または非正規化
浮動小数点数の仮数部)の乗算結果に補正される。また
除算時であれば、乗除算回路の出力は、加減算器の減算
結果の示す数の絶対値だけ、その減算結果の正負で決ま
る右または左方向に、シフト回路によってシフトされ、
正しい固定小数点数(または非正規化浮動小数点数の仮
数部)の除算結果に補正される。
【0011】
【実施例】図1はこの発明の一実施例に係る浮動小数点
乗除算装置の要部構成を示すブロック図である。
乗除算装置の要部構成を示すブロック図である。
【0012】図1において、1は乗算/除算の被乗数/
被除数となる正規化浮動小数点数の仮数部、乗算/除算
の被乗数/被除数となる非正規化浮動小数点数の仮数
部、または乗算/除算の被乗数/被除数となる固定小数
点数を保持するためのレジスタ(入力レジスタ)、2は
乗算/除算の乗数/除数となる正規化浮動小数点数の仮
数部、乗算/除算の乗数/除数となる非正規化浮動小数
点数の仮数部、または乗算/除算の乗数/除数となる固
定小数点数を保持するためのレジスタ(入力レジスタ)
である。
被除数となる正規化浮動小数点数の仮数部、乗算/除算
の被乗数/被除数となる非正規化浮動小数点数の仮数
部、または乗算/除算の被乗数/被除数となる固定小数
点数を保持するためのレジスタ(入力レジスタ)、2は
乗算/除算の乗数/除数となる正規化浮動小数点数の仮
数部、乗算/除算の乗数/除数となる非正規化浮動小数
点数の仮数部、または乗算/除算の乗数/除数となる固
定小数点数を保持するためのレジスタ(入力レジスタ)
である。
【0013】3はレジスタ1に保持されているデータを
入力し、同データの最上位側に連続している“0”(ゼ
ロ)の数(桁数)P1を出力するためのゼロ検出回路、
例えばプライオリティエンコーダ、4はレジスタ2に保
持されているデータを入力し、同データの最上位側に連
続している“0”の数(桁数)P2を出力するためのプ
ライオリティエンコーダ(ゼロ検出回路)である。
入力し、同データの最上位側に連続している“0”(ゼ
ロ)の数(桁数)P1を出力するためのゼロ検出回路、
例えばプライオリティエンコーダ、4はレジスタ2に保
持されているデータを入力し、同データの最上位側に連
続している“0”の数(桁数)P2を出力するためのプ
ライオリティエンコーダ(ゼロ検出回路)である。
【0014】5はレジスタ1に保持されているデータを
プライオリティエンコーダ3によって検出されたゼロの
数P1だけ左シフトする左シフタ、6はレジスタ2に保
持されているデータをプライオリティエンコーダ4によ
って検出されたゼロの数P2だけ左シフトする左シフタ
である。
プライオリティエンコーダ3によって検出されたゼロの
数P1だけ左シフトする左シフタ、6はレジスタ2に保
持されているデータをプライオリティエンコーダ4によ
って検出されたゼロの数P2だけ左シフトする左シフタ
である。
【0015】7は乗算モードまたは除算モードを指定す
るための演算モード信号M/Dに応じて乗算または除算
を行う乗除算回路であり、その被乗数/被除数側入力A
には左シフタ5の出力が接続され、その乗数/除数側入
力Bには左シフタ6の出力が接続されている。この乗除
算回路7は、正規化浮動小数点数の仮数部の乗除算を実
行するための周知の回路であり、従来であれば、その被
乗数/被除数側入力Aにレジスタ1の出力を接続し、そ
の乗数/除数側入力Bにレジスタ2の出力を接続して用
いるものである。
るための演算モード信号M/Dに応じて乗算または除算
を行う乗除算回路であり、その被乗数/被除数側入力A
には左シフタ5の出力が接続され、その乗数/除数側入
力Bには左シフタ6の出力が接続されている。この乗除
算回路7は、正規化浮動小数点数の仮数部の乗除算を実
行するための周知の回路であり、従来であれば、その被
乗数/被除数側入力Aにレジスタ1の出力を接続し、そ
の乗数/除数側入力Bにレジスタ2の出力を接続して用
いるものである。
【0016】8はプライオリティエンコーダ3,4によ
って検出されたゼロの数P1,P2を加算または減算す
るための加減算器、9は乗除算回路7の乗算または除算
結果(出力)を、加減算器8の加減算結果の絶対値の示
す数だけ、その加減算結果の正負に応じて右または左シ
フトするシフタである。
って検出されたゼロの数P1,P2を加算または減算す
るための加減算器、9は乗除算回路7の乗算または除算
結果(出力)を、加減算器8の加減算結果の絶対値の示
す数だけ、その加減算結果の正負に応じて右または左シ
フトするシフタである。
【0017】加減算器8は、プライオリティエンコーダ
3,4によって検出されたゼロの数P1,P2を加算す
る加算器81と、このP1,P2を減算する減算器82
と、セレクタ83とを有している。セレクタ83は、加
算器81の加算結果または減算器82の減算結果のいず
れか一方を、演算モード信号M/Dに応じてシフタ9に
選択出力するものである。
3,4によって検出されたゼロの数P1,P2を加算す
る加算器81と、このP1,P2を減算する減算器82
と、セレクタ83とを有している。セレクタ83は、加
算器81の加算結果または減算器82の減算結果のいず
れか一方を、演算モード信号M/Dに応じてシフタ9に
選択出力するものである。
【0018】次に、図1の構成の動作を説明する。ま
ず、図1の構成は、周知のIEEE浮動小数点形式の正
規化データの乗除算装置に少量のハードウェアを付加し
たものである。即ち図1の構成において、レジスタ1,
2および乗除算回路7が、IEEE浮動小数点形式の正
規化データの乗除算装置の構成要素であり、プライオリ
ティエンコーダ3,4、左シフタ5,6、加減算器8お
よびシフタ9を付加することにより、以下に述べるよう
に、正規化浮動小数点数の仮数部の乗除算の他、非正規
化浮動小数点数の仮数部の乗除算および固定小数点数の
乗除算を可能とするものである。
ず、図1の構成は、周知のIEEE浮動小数点形式の正
規化データの乗除算装置に少量のハードウェアを付加し
たものである。即ち図1の構成において、レジスタ1,
2および乗除算回路7が、IEEE浮動小数点形式の正
規化データの乗除算装置の構成要素であり、プライオリ
ティエンコーダ3,4、左シフタ5,6、加減算器8お
よびシフタ9を付加することにより、以下に述べるよう
に、正規化浮動小数点数の仮数部の乗除算の他、非正規
化浮動小数点数の仮数部の乗除算および固定小数点数の
乗除算を可能とするものである。
【0019】さて、レジスタ1には、正規化浮動小数点
数の乗算/除算時であれば被乗数/被除数となる正規化
された浮動小数点の仮数部が入力保持され、非正規化浮
動小数点数の乗算/除算時であれば被乗数/被除数とな
る非正規化浮動小数点数が入力保持され、固定小数点数
の乗算/除算時であれば被乗数/被除数となる固定小数
点数が入力保持される。
数の乗算/除算時であれば被乗数/被除数となる正規化
された浮動小数点の仮数部が入力保持され、非正規化浮
動小数点数の乗算/除算時であれば被乗数/被除数とな
る非正規化浮動小数点数が入力保持され、固定小数点数
の乗算/除算時であれば被乗数/被除数となる固定小数
点数が入力保持される。
【0020】同様にレジスタ2には、正規化浮動小数点
数の乗算/除算時であれば乗数/除数となる正規化され
た浮動小数点の仮数部が入力保持され、非正規化浮動小
数点数の乗算/除算時であれば乗数/除数となる非正規
化浮動小数点数が入力保持され、固定小数点数の乗算/
除算時であれば乗数/除数となる固定小数点数が入力保
持される。
数の乗算/除算時であれば乗数/除数となる正規化され
た浮動小数点の仮数部が入力保持され、非正規化浮動小
数点数の乗算/除算時であれば乗数/除数となる非正規
化浮動小数点数が入力保持され、固定小数点数の乗算/
除算時であれば乗数/除数となる固定小数点数が入力保
持される。
【0021】プライオリティエンコーダ3,4はレジス
タ1,2の出力データの最上位(MSB)に連続してい
る“0”の2進桁(binary digit)数P1,P2を検出
し、同P1,P2を出力する。ここで、レジスタ1,2
の保持データ(被乗数/被除数,乗数/除数)が正規化
浮動小数点数の仮数部の場合には、MSBは“1”であ
るので、P1,P2の値はいずれも「0」となる。
タ1,2の出力データの最上位(MSB)に連続してい
る“0”の2進桁(binary digit)数P1,P2を検出
し、同P1,P2を出力する。ここで、レジスタ1,2
の保持データ(被乗数/被除数,乗数/除数)が正規化
浮動小数点数の仮数部の場合には、MSBは“1”であ
るので、P1,P2の値はいずれも「0」となる。
【0022】左シフタ5,6はレジスタ1,2の出力デ
ータをプライオリティエンコーダ3,4から出力される
P1,P2の示す2進桁数(ビット数)だけ左シフト
し、MSBが“1”となったデータを出力する。したが
って、レジスタ1,2の出力データが正規化浮動小数点
数の場合には左シフトは行われず、左シフタ5,6の出
力はこのレジスタ1,2の出力データに一致する。
ータをプライオリティエンコーダ3,4から出力される
P1,P2の示す2進桁数(ビット数)だけ左シフト
し、MSBが“1”となったデータを出力する。したが
って、レジスタ1,2の出力データが正規化浮動小数点
数の場合には左シフトは行われず、左シフタ5,6の出
力はこのレジスタ1,2の出力データに一致する。
【0023】左シフタ5の出力は乗除算回路7の被乗数
/被除数側入力Aに供給され、左シフタ6の出力は乗除
算回路7の乗数/除数側入力Bに供給される。乗除算回
路7は、入力A,Bに供給された左シフタ5,6の出力
を入力し、即ちレジスタ1,2の出力データがプライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされ、そのMSBが“1”となっているデータを入
力し、正規化されている浮動小数点数の仮数部として両
データの乗算(演算モード信号M/Dによって乗算モー
ドが指定されている例えばM/D=0の場合)または除
算(演算モード信号M/Dによって除算モードが指定さ
れている例えばM/D=1の場合)を行う。
/被除数側入力Aに供給され、左シフタ6の出力は乗除
算回路7の乗数/除数側入力Bに供給される。乗除算回
路7は、入力A,Bに供給された左シフタ5,6の出力
を入力し、即ちレジスタ1,2の出力データがプライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされ、そのMSBが“1”となっているデータを入
力し、正規化されている浮動小数点数の仮数部として両
データの乗算(演算モード信号M/Dによって乗算モー
ドが指定されている例えばM/D=0の場合)または除
算(演算モード信号M/Dによって除算モードが指定さ
れている例えばM/D=1の場合)を行う。
【0024】さて、プライオリティエンコーダ3の出力
P1は、加減算器8に設けられた加算器81および減算
器82の左側入力Lに供給される。またプライオリティ
エンコーダ4の出力P2は、加減算器8に設けられた加
算器81および減算器82の右側入力Rに供給される。
P1は、加減算器8に設けられた加算器81および減算
器82の左側入力Lに供給される。またプライオリティ
エンコーダ4の出力P2は、加減算器8に設けられた加
算器81および減算器82の右側入力Rに供給される。
【0025】加算器81は、左側入力L,右側入力Rに
供給されたP1,P2を加算し、即ち被乗数/被除数側
と乗数/除数側の入力データの左シフト数を加算し、乗
除算回路7からの出力データ(具体的には乗算結果)に
対する右シフト数(P1+P2)を算出する。一方、減
算器82は、左側入力Lに供給されたP1から右側入力
Rに供給されたP2を減算し、即ち被乗数/被除数側と
乗数/除数側の入力データの左シフト数を減算し、乗除
算回路7からの出力データ(具体的には除算結果)に対
するシフト数とシフト方向を示す情報(P1−P2)を
算出する。
供給されたP1,P2を加算し、即ち被乗数/被除数側
と乗数/除数側の入力データの左シフト数を加算し、乗
除算回路7からの出力データ(具体的には乗算結果)に
対する右シフト数(P1+P2)を算出する。一方、減
算器82は、左側入力Lに供給されたP1から右側入力
Rに供給されたP2を減算し、即ち被乗数/被除数側と
乗数/除数側の入力データの左シフト数を減算し、乗除
算回路7からの出力データ(具体的には除算結果)に対
するシフト数とシフト方向を示す情報(P1−P2)を
算出する。
【0026】加算器81の加算結果(P1+P2)はセ
レクタ83の“0”側入力に供給される。セレクタ83
の“1”側入力には、減算器82の減算結果(P1−P
2)が供給される。セレクタ83は、演算モード信号M
/Dが乗算モードを示す(M/D=0の)場合には、
“0”側入力の内容、即ち加算器81の加算結果を選択
し、除算モードを示す(M/D=1の)場合には、
“1”側入力の内容、即ち減算器82の減算結果を選択
する。このセレクタ83によって選択された加算器81
の加算結果または減算器82の減算結果は、加減算器8
の加減算結果としてシフタ9に供給される。
レクタ83の“0”側入力に供給される。セレクタ83
の“1”側入力には、減算器82の減算結果(P1−P
2)が供給される。セレクタ83は、演算モード信号M
/Dが乗算モードを示す(M/D=0の)場合には、
“0”側入力の内容、即ち加算器81の加算結果を選択
し、除算モードを示す(M/D=1の)場合には、
“1”側入力の内容、即ち減算器82の減算結果を選択
する。このセレクタ83によって選択された加算器81
の加算結果または減算器82の減算結果は、加減算器8
の加減算結果としてシフタ9に供給される。
【0027】シフタ9は、加減算器8の加減算結果が正
の場合(具体的には、加算器81の加算結果P1+P2
が選択された乗算モードの場合、または減算器82の減
算結果P1−P2が選択され且つその値が正となる除算
モードの場合)には、乗除算回路7の出力データ(乗算
または除算結果)を、加減算器8の加減算結果で示され
る2進桁数だけ右シフトする。またシフタ9は、加減算
器8の加減算結果が負の場合(具体的には、減算器82
の減算結果P1−P2が選択され且つその値が負となる
除算モードの場合)には、乗除算回路7の出力データ
(除算結果)を、加減算器8の加減算結果P1−P2の
絶対値|P1−P2|(=P2−P1)で示される2進
桁数だけ左シフトする。このシフタ9の出力は、正規化
浮動小数点数の仮数部、非正規化浮動小数点数の仮数
部、または固定小数点数の乗算/除算結果となる。
の場合(具体的には、加算器81の加算結果P1+P2
が選択された乗算モードの場合、または減算器82の減
算結果P1−P2が選択され且つその値が正となる除算
モードの場合)には、乗除算回路7の出力データ(乗算
または除算結果)を、加減算器8の加減算結果で示され
る2進桁数だけ右シフトする。またシフタ9は、加減算
器8の加減算結果が負の場合(具体的には、減算器82
の減算結果P1−P2が選択され且つその値が負となる
除算モードの場合)には、乗除算回路7の出力データ
(除算結果)を、加減算器8の加減算結果P1−P2の
絶対値|P1−P2|(=P2−P1)で示される2進
桁数だけ左シフトする。このシフタ9の出力は、正規化
浮動小数点数の仮数部、非正規化浮動小数点数の仮数
部、または固定小数点数の乗算/除算結果となる。
【0028】以上の動作により、正規化浮動小数点数の
乗算/除算、非正規化浮動小数点数の乗算/除算および
固定小数点数の乗算/除算が可能となる。このような乗
算/除算が可能となる更に詳細な理由を、(M1)正規
化浮動小数点数の乗算、(M2)非正規化浮動小数点数
の乗算または固定小数点数の乗算の場合と、(D1)正
規化浮動小数点数の除算、(D2)非正規化浮動小数点
数の除算または固定小数点数の除算の場合とについて、
それぞれ説明する。
乗算/除算、非正規化浮動小数点数の乗算/除算および
固定小数点数の乗算/除算が可能となる。このような乗
算/除算が可能となる更に詳細な理由を、(M1)正規
化浮動小数点数の乗算、(M2)非正規化浮動小数点数
の乗算または固定小数点数の乗算の場合と、(D1)正
規化浮動小数点数の除算、(D2)非正規化浮動小数点
数の除算または固定小数点数の除算の場合とについて、
それぞれ説明する。
【0029】(M1)正規化浮動小数点数の乗算の場合 まず、レジスタ1,2に正規化浮動小数点数の仮数部が
入力保持された場合、そのMSBは“1”であるため、
プライオリティエンコーダ3,4の出力P1,P2の値
はいずれも「0」となり、したがって加減算器8内のセ
レクタ83から選択出力される加算器81の出力も
「0」となる。この場合、左シフタ5,6およびシフタ
9は、いずれもシフト動作を行わず、通常の正規化浮動
小数点数の仮数部の乗算が行われる。
入力保持された場合、そのMSBは“1”であるため、
プライオリティエンコーダ3,4の出力P1,P2の値
はいずれも「0」となり、したがって加減算器8内のセ
レクタ83から選択出力される加算器81の出力も
「0」となる。この場合、左シフタ5,6およびシフタ
9は、いずれもシフト動作を行わず、通常の正規化浮動
小数点数の仮数部の乗算が行われる。
【0030】(M2)非正規化浮動小数点数の乗算また
は固定小数点数の乗算の場合 レジスタ1,2に非正規化浮動小数点数の仮数部または
固定小数点数が入力保持された場合には、プライオリテ
ィエンコーダ3,4はMSB側に連続している“0”の
数P1,P2を出力する。レジスタ1,2の出力デー
タ、即ち入力された非正規化浮動小数点数の仮数部、ま
たは固定小数点数は、左シフタ5,6により、プライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされる。
は固定小数点数の乗算の場合 レジスタ1,2に非正規化浮動小数点数の仮数部または
固定小数点数が入力保持された場合には、プライオリテ
ィエンコーダ3,4はMSB側に連続している“0”の
数P1,P2を出力する。レジスタ1,2の出力デー
タ、即ち入力された非正規化浮動小数点数の仮数部、ま
たは固定小数点数は、左シフタ5,6により、プライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされる。
【0031】ここで、入力された非正規化浮動小数点数
の仮数部、または固定小数点数を、N1,N2とする
と、左シフタ5,6によるシフト後の値(左シフタ5,
6の出力)は、プライオリティエンコーダ3,4の出力
がP1,P2であることから、それぞれ N1×2P1 N2×2P2 となる。
の仮数部、または固定小数点数を、N1,N2とする
と、左シフタ5,6によるシフト後の値(左シフタ5,
6の出力)は、プライオリティエンコーダ3,4の出力
がP1,P2であることから、それぞれ N1×2P1 N2×2P2 となる。
【0032】この値(左シフタ5,6の出力N1×
2P1,N2×2P2)を乗除算回路7の被乗数/被除数側
入力A,乗数/除数側入力Bに入力して乗算を行わせる
と、乗除算回路77の出力として、 N1×N2×2P1+P2 が得られる。
2P1,N2×2P2)を乗除算回路7の被乗数/被除数側
入力A,乗数/除数側入力Bに入力して乗算を行わせる
と、乗除算回路77の出力として、 N1×N2×2P1+P2 が得られる。
【0033】さて、加減算器8では、加算器81により
P1+P2の計算が行われ、その値P1+P2が加減算
器8(内のセレクタ83)から出力されることから、そ
の値P1+P2の分だけ乗除算回路7の出力をシフタ9
により右シフトすれば、結果として N1×N2 が得られる。以上の手順で、正規化浮動小数点数の仮数
部の乗算、非正規化浮動小数点数の仮数部の乗算および
固定小数点数の乗算を実現することができる。
P1+P2の計算が行われ、その値P1+P2が加減算
器8(内のセレクタ83)から出力されることから、そ
の値P1+P2の分だけ乗除算回路7の出力をシフタ9
により右シフトすれば、結果として N1×N2 が得られる。以上の手順で、正規化浮動小数点数の仮数
部の乗算、非正規化浮動小数点数の仮数部の乗算および
固定小数点数の乗算を実現することができる。
【0034】(D1)正規化浮動小数点数の除算の場合 まず、レジスタ1,2に正規化浮動小数点数の仮数部が
入力保持された場合、そのMSBは“1”であるため、
プライオリティエンコーダ3,4の出力P1,P2の値
はいずれも「0」となり、したがって減算器8の出力も
「0」となる。この場合、左シフタ5,6およびシフタ
9は、いずれもシフト動作を行わず、通常の正規化浮動
小数点数の仮数部の除算が行われる。
入力保持された場合、そのMSBは“1”であるため、
プライオリティエンコーダ3,4の出力P1,P2の値
はいずれも「0」となり、したがって減算器8の出力も
「0」となる。この場合、左シフタ5,6およびシフタ
9は、いずれもシフト動作を行わず、通常の正規化浮動
小数点数の仮数部の除算が行われる。
【0035】(D2)非正規化浮動小数点数の除算また
は固定小数点数の除算の場合 レジスタ1,2に非正規化浮動小数点数の仮数部または
固定小数点数が入力保持された場合には、プライオリテ
ィエンコーダ3,4はMSB側に連続している“0”の
数P1,P2を出力する。レジスタ1,2の出力デー
タ、即ち入力された非正規化浮動小数点数の仮数部、ま
たは固定小数点数は、左シフタ5,6により、プライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされる。
は固定小数点数の除算の場合 レジスタ1,2に非正規化浮動小数点数の仮数部または
固定小数点数が入力保持された場合には、プライオリテ
ィエンコーダ3,4はMSB側に連続している“0”の
数P1,P2を出力する。レジスタ1,2の出力デー
タ、即ち入力された非正規化浮動小数点数の仮数部、ま
たは固定小数点数は、左シフタ5,6により、プライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされる。
【0036】この左シフタ5,6によるシフト後の値
(左シフタ5,6の出力)は、前記した乗算時の説明に
もあるように、 N1×2P1 N2×2P2 となる。
(左シフタ5,6の出力)は、前記した乗算時の説明に
もあるように、 N1×2P1 N2×2P2 となる。
【0037】この値(左シフタ5,6の出力N1×
2P1,N2×2P2)を乗除算回路7の被乗数/被除数側
入力A,乗数/除数側入力Bに入力して除算を行わせる
と、乗除算回路7の出力として、 (N1×2P1)/(N2×2P2) =(N1/N2)×2P1-P2 が得られる。
2P1,N2×2P2)を乗除算回路7の被乗数/被除数側
入力A,乗数/除数側入力Bに入力して除算を行わせる
と、乗除算回路7の出力として、 (N1×2P1)/(N2×2P2) =(N1/N2)×2P1-P2 が得られる。
【0038】さて、加減算器8では、減算器82により
P1−P2の減算が行われ、その値P1−P2が加減算
器8(内のセレクタ83)から出力されることから、そ
の値P1−P2が正のときは、その値P1−P2の分だ
け乗除算回路7の出力をシフタ9により右シフトし、負
のときは、その値の絶対値|P1−P2|(=P2−P
1)分だけ乗除算回路7の出力をシフタ9により左シフ
トすれば、結果として N1/N2 が得られる。以上の手順で、正規化浮動小数点数の仮数
部の除算、非正規化浮動小数点数の仮数部の除算および
固定小数点数の除算を実現することができる。
P1−P2の減算が行われ、その値P1−P2が加減算
器8(内のセレクタ83)から出力されることから、そ
の値P1−P2が正のときは、その値P1−P2の分だ
け乗除算回路7の出力をシフタ9により右シフトし、負
のときは、その値の絶対値|P1−P2|(=P2−P
1)分だけ乗除算回路7の出力をシフタ9により左シフ
トすれば、結果として N1/N2 が得られる。以上の手順で、正規化浮動小数点数の仮数
部の除算、非正規化浮動小数点数の仮数部の除算および
固定小数点数の除算を実現することができる。
【0039】なお、前記実施例では、IEEE浮動小数
点形式の正規化データの乗除算装置に少量のハードウェ
アを付加したものとして説明したが、本発明は、他の浮
動小数点形式の正規化データの乗除算装置にも同様に適
用できるものである。
点形式の正規化データの乗除算装置に少量のハードウェ
アを付加したものとして説明したが、本発明は、他の浮
動小数点形式の正規化データの乗除算装置にも同様に適
用できるものである。
【0040】
【発明の効果】以上詳述したようにこの発明によれば、
被乗数/被除数,乗数/除数として入力された固定小数
点数(または非正規化浮動小数点数の仮数部)の最上位
側に連続しているゼロの数をゼロ検出回路(第1,第2
ゼロ検出回路)により検出し、その数だけ入力固定小数
点数(または入力非正規化浮動小数点数の仮数部)を左
シフト回路(第1,第2左シフト回路)により左シフト
して正規化浮動小数点数の仮数部乗除算用の乗除算回路
に供給することで、正規化浮動小数点数用の乗除算回路
でありながら、固定小数点数(または非正規化浮動小数
点数の仮数部)の乗算または除算を正規化浮動小数点数
の仮数部の乗算または除算であるかのように実行するこ
とができ、しかも乗除算回路の出力を、加減算器にて算
出した被乗数側と乗数側の左シフト量の和(乗算の場
合)、または被除数側と除数側の左シフト量の差(除算
の場合)の分だけ、その値の正負に応じて右または左シ
フトすることにより、固定小数点数(または非正規化浮
動小数点数の仮数部)についての正しい乗算または除算
結果を得ることができる。
被乗数/被除数,乗数/除数として入力された固定小数
点数(または非正規化浮動小数点数の仮数部)の最上位
側に連続しているゼロの数をゼロ検出回路(第1,第2
ゼロ検出回路)により検出し、その数だけ入力固定小数
点数(または入力非正規化浮動小数点数の仮数部)を左
シフト回路(第1,第2左シフト回路)により左シフト
して正規化浮動小数点数の仮数部乗除算用の乗除算回路
に供給することで、正規化浮動小数点数用の乗除算回路
でありながら、固定小数点数(または非正規化浮動小数
点数の仮数部)の乗算または除算を正規化浮動小数点数
の仮数部の乗算または除算であるかのように実行するこ
とができ、しかも乗除算回路の出力を、加減算器にて算
出した被乗数側と乗数側の左シフト量の和(乗算の場
合)、または被除数側と除数側の左シフト量の差(除算
の場合)の分だけ、その値の正負に応じて右または左シ
フトすることにより、固定小数点数(または非正規化浮
動小数点数の仮数部)についての正しい乗算または除算
結果を得ることができる。
【0041】即ち、この発明によれば、正規化浮動小数
点数の乗除算装置を基本とする構成に、ゼロ検出回路、
シフト回路および加減算器といった少量のハードウェア
を付加するだけで、正規化浮動小数点乗除算速度の低下
を招くことなく、固定小数点数の乗除算、更には非正規
化浮動小数点数の乗除算を行うことができる。
点数の乗除算装置を基本とする構成に、ゼロ検出回路、
シフト回路および加減算器といった少量のハードウェア
を付加するだけで、正規化浮動小数点乗除算速度の低下
を招くことなく、固定小数点数の乗除算、更には非正規
化浮動小数点数の乗除算を行うことができる。
【図1】この発明の一実施例に係る浮動小数点乗除算装
置の構成を示すブロック図。
置の構成を示すブロック図。
1,2…レジスタ、3,4…プライオリティエンコーダ
(ゼロ検出回路)、5,6…左シフタ(左シフト回
路)、7…乗除算回路、8…加減算器、9…シフタ(シ
フト回路)、81…加算器、82…減算器、83…セレ
クタ。
(ゼロ検出回路)、5,6…左シフタ(左シフト回
路)、7…乗除算回路、8…加減算器、9…シフタ(シ
フト回路)、81…加算器、82…減算器、83…セレ
クタ。
Claims (2)
- 【請求項1】 正規化された浮動小数点数の仮数部の乗
除算を行うための乗除算回路を有する浮動小数点乗除算
装置において、 被乗数または被除数となる、正規化浮動小数点数の仮数
部または固定小数点数の上位に連続しているゼロの数を
検出する第1のゼロ検出回路と、 乗数または除数となる、正規化浮動小数点数の仮数部ま
たは固定小数点数の上位に連続しているゼロの数を検出
する第2のゼロ検出回路と、 上記第1のぜロ検出回路によって検出されたゼロの数だ
け上記被乗数または被除数を左シフトして上記乗除算回
路に供給する第1の左シフト回路と、 上記第2のぜロ検出回路によって検出されたゼロの数だ
け上記乗数または除数を左シフトして上記乗除算回路に
供給する第2の左シフト回路と、 乗算時には上記第1および第2のゼロ検出回路で検出さ
れたゼロの数を加算し、除算時には上記第1および第2
のゼロ検出回路で検出されたゼロの数を減算する加減算
器と、 乗算時には、上記第1および第2の左シフト回路による
左シフト後の上記被乗数および乗数を対象とする上記乗
除算回路の乗算結果を上記加減算器の加算結果の示す数
だけ右シフトし、除算時には、上記第1および第2の左
シフト回路による左シフト後の上記被除数および除数を
対象とする上記乗除算回路の除算結果を上記加減算器の
減算結果の示す数だけその減算結果の正負に応じて右ま
たは左シフトするシフト回路と、 を具備し、正規化浮動小数点数の乗除算に加え、固定小
数点数の乗除算も可能としたことを特徴とする浮動小数
点乗除算装置。 - 【請求項2】 正規化された浮動小数点数の仮数部の乗
除算を行うための乗除算回路を有する浮動小数点乗除算
装置において、 被乗数または被除数となる、正規化浮動小数点数の仮数
部、非正規化浮動小数点数の仮数部、または固定小数点
数の上位に連続しているゼロの数を検出する第1のゼロ
検出回路と、 乗数または除数となる、正規化浮動小数点数の仮数部、
非正規化浮動小数点数の仮数部、または固定小数点数の
上位に連続しているゼロの数を検出する第2のゼロ検出
回路と、 上記第1のぜロ検出回路によって検出されたゼロの数だ
け上記被乗数または被除数を左シフトして上記乗除算回
路に供給する第1の左シフト回路と、 上記第2のぜロ検出回路によって検出されたゼロの数だ
け上記乗数または除数を左シフトして上記乗除算回路に
供給する第2の左シフト回路と、 乗算時には上記第1および第2のゼロ検出回路で検出さ
れたゼロの数を加算し、除算時には上記第1および第2
のゼロ検出回路で検出されたゼロの数を減算する加減算
器と、 乗算時には、上記第1および第2の左シフト回路による
左シフト後の上記被乗数および乗数を対象とする上記乗
除算回路の乗算結果を上記加減算器の加算結果の示す数
だけ右シフトし、除算時には、上記第1および第2の左
シフト回路による左シフト後の上記被除数および除数を
対象とする上記乗除算回路の除算結果を上記加減算器の
減算結果の示す数だけその減算結果の正負に応じて右ま
たは左シフトするシフト回路と、 を具備し、正規化浮動小数点数の乗除算に加え、非正規
化浮動小数点数の乗除算および固定小数点数の乗除算も
可能としたことを特徴とする浮動小数点乗除算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19414791A JPH0540606A (ja) | 1991-08-02 | 1991-08-02 | 浮動小数点乗除算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19414791A JPH0540606A (ja) | 1991-08-02 | 1991-08-02 | 浮動小数点乗除算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0540606A true JPH0540606A (ja) | 1993-02-19 |
Family
ID=16319698
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19414791A Pending JPH0540606A (ja) | 1991-08-02 | 1991-08-02 | 浮動小数点乗除算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0540606A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6847378B2 (en) * | 2002-03-07 | 2005-01-25 | Sun Microsystems, Inc. | System and method for performing scale and bias operations by preclamping input image data |
-
1991
- 1991-08-02 JP JP19414791A patent/JPH0540606A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6847378B2 (en) * | 2002-03-07 | 2005-01-25 | Sun Microsystems, Inc. | System and method for performing scale and bias operations by preclamping input image data |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0472139B1 (en) | A floating-point processor | |
| US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
| US5993051A (en) | Combined leading one and leading zero anticipator | |
| EP0483864A2 (en) | Hardware arrangement for floating-point addition and subtraction | |
| KR100203468B1 (ko) | 부동소수점수를 위한 산술연산장치 | |
| US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
| US4594680A (en) | Apparatus for performing quadratic convergence division in a large data processing system | |
| JPH0540605A (ja) | 浮動小数点乗算装置 | |
| JP2558669B2 (ja) | 浮動小数点演算装置 | |
| JPH0540606A (ja) | 浮動小数点乗除算装置 | |
| JPH0540609A (ja) | 浮動小数点除算装置 | |
| JP3064405B2 (ja) | 複素数の演算処理方式 | |
| JPH04172526A (ja) | 浮動小数点除算器 | |
| JPH0283728A (ja) | 浮動小数点乗算装置 | |
| JPH0540777A (ja) | バタフライ演算方式 | |
| JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
| JP2512939B2 (ja) | 固定浮動デ−タ変換回路 | |
| JP2527373B2 (ja) | 浮動小数点演算器 | |
| JPS63158626A (ja) | 演算処理装置 | |
| JP4073513B2 (ja) | 浮動小数点処理装置 | |
| JP2801472B2 (ja) | 浮動小数点演算装置 | |
| JPH07200259A (ja) | 演算処理方法および演算処理装置 | |
| JP3124286B2 (ja) | 浮動小数点数演算装置 | |
| JP2993119B2 (ja) | 浮動小数点演算装置 | |
| JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 |