JPH0540605A - 浮動小数点乗算装置 - Google Patents

浮動小数点乗算装置

Info

Publication number
JPH0540605A
JPH0540605A JP19414591A JP19414591A JPH0540605A JP H0540605 A JPH0540605 A JP H0540605A JP 19414591 A JP19414591 A JP 19414591A JP 19414591 A JP19414591 A JP 19414591A JP H0540605 A JPH0540605 A JP H0540605A
Authority
JP
Japan
Prior art keywords
multiplication
point number
floating
point
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
Application number
JP19414591A
Other languages
English (en)
Inventor
Takeshi Torishima
剛 鳥島
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 JP19414591A priority Critical patent/JPH0540605A/ja
Publication of JPH0540605A publication Critical patent/JPH0540605A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】正規化浮動小数点数の乗算装置を基本とする構
成に少量のハードウェアを付加するだけで、正規化浮動
小数点乗算速度を犠牲にすることなく、固定小数点数乗
算、更には非正規化浮動小数点数乗算が行えるようにす
ることである。 【構成】レジスタ1,2に保持された固定小数点数(ま
たは非正規化浮動小数点数の仮数部)は、プライオリテ
ィエンコーダ3,4によって検出された最上位に連続し
ているゼロの数P1,P2だけ、左シフタ5,6によっ
て左シフトされた後、正規化浮動小数点数の仮数部乗算
用の乗算回路7による乗算に供される。P1,P2は加
算器8によって加算され、右シフタ9のシフト量が求め
られる。右シフタ9は、乗算回路7の乗算結果を加算器
8の加算結果の示す数だけ右シフトし、これによりレジ
スタ1,2に保持された固定小数点数(または非正規化
浮動小数点数の仮数部)の乗算結果が得られる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、正規化浮動小数点数
の乗算の他、固定小数点数の乗算、更には非正規化浮動
小数点数の乗算に好適な浮動小数点乗算装置に関する。
【0002】
【従来の技術】従来、正規化浮動小数点数の他、固定小
数点数を扱う計算機の乗算装置では、正規化浮動小数点
数の乗算を実現する専用の乗算装置と、固定小数点数の
乗算を実現する専用の乗算装置とを別々に備えるのが一
般的であった。
【0003】また、上記した正規化浮動小数点数および
固定小数点数の他に、非正規化浮動小数点数をも扱う場
合には、非正規化浮動小数点数の乗算を実現する専用の
乗算装置を更に備えていた。
【0004】これに対し、ハードウェア量を減らすため
に、固定小数点数用の乗算装置、即ち被乗数および除数
の上位に連続するゼロが存在することを前提として乗算
を行うことが可能な複雑な構成の乗算装置をベースにし
て(共用して)、固定小数点数の乗算の他、正規化浮動
小数点数の乗算、更には非正規化浮動小数点数の乗算を
実現する方式も知られていた。
【0005】
【発明が解決しようとする課題】上記したように従来
は、正規化浮動小数点数の乗算の他、固定小数点数(更
には非正規化浮動小数点数)の乗算を実現するのに、正
規化浮動小数点数の乗算専用の乗算装置と、固定小数点
数の乗算専用の乗算装置(と、更には非正規化浮動小数
点数専用の乗算装置)とを別々に備えるのが一般的であ
った。しかし、このような構成では、装置の規模が膨大
となる欠点があった。また、このような構成の装置の規
模を抑えるために、より低機能の乗算装置を組合せて演
算を実現することもあるが、演算速度の低下を招く問題
があった。
【0006】一方、固定小数点数用の乗算装置をベース
にして正規化浮動小数点数(更には非正規化浮動小数点
数)の乗算を実現することにより、装置規模が膨大とな
るのを抑える方式では、被乗数および乗数の上位に連続
するゼロが存在することを前提として乗算を行う構成と
なっているため、浮動小数点演算の速度が低下する問題
があった。
【0007】この発明は上記事情に鑑みてなされたもの
でその目的は、正規化浮動小数点数の乗算装置を基本と
する構成に少量のハードウェアを付加するだけで、正規
化浮動小数点乗算速度の低下を招くことなく、固定小数
点数の乗算、更には非正規化浮動小数点数の乗算が行え
る浮動小数点乗算装置を提供することにある。
【0008】
【課題を解決するための手段】この発明は、正規化され
た浮動小数点数の仮数部の乗算を行うための乗算回路
と、乗算用に入力された固定小数点数(または非正規化
浮動小数点数の仮数部)の最上位側に連続しているゼロ
の数を検出するゼロ検出回路と、このゼロ検出回路によ
って検出されたゼロの数だけ入力固定小数点数(または
非正規化浮動小数点数の仮数部)を左シフトする左シフ
ト回路と、上記ゼロ検出回路によって検出された被乗数
となる固定小数点数(または非正規化浮動小数点数の仮
数部)のゼロの数と乗数となる固定小数点数(または非
正規化浮動小数点数の仮数部)のゼロの数とを加算する
加算器と、上記左シフト回路による左シフト後の上記被
乗数および乗数を対象とする乗算回路の乗算結果を加算
器の加算結果の示す数だけ右シフトする右シフト回路と
を備えたことを特徴とするものである。
【0009】
【作用】上記の構成において、固定小数点数(または非
正規化浮動小数点数の仮数部)の乗算の場合には、その
被演算データ(被乗数および乗数)が、その最上位側に
連続するゼロの数だけ左シフト回路により左シフトされ
て、正規化浮動小数点数の仮数部乗算用の乗算回路に入
力されるため、同乗算回路を利用した固定小数点数(ま
たは非正規化浮動小数点数の仮数部)の乗算が速度低下
を招くことなく行える。
【0010】この乗算回路の乗算結果は、加算器の加算
結果の示す数だけ、右シフト回路によって右シフトさ
れ、正しい固定小数点数(または非正規化浮動小数点数
の仮数部)の乗算結果に補正される。
【0011】
【実施例】図1はこの発明の一実施例に係る浮動小数点
乗算装置の要部構成を示すブロック図である。
【0012】図1において、1は乗算の被乗数となる正
規化浮動小数点数の仮数部、乗算の被乗数となる非正規
化浮動小数点数の仮数部、または乗算の被乗数となる固
定小数点数を保持するためのレジスタ(入力レジス
タ)、2は乗算の乗数となる正規化浮動小数点数の仮数
部、乗算の乗数となる非正規化浮動小数点数の仮数部、
または乗算の乗数となる固定小数点数を保持するための
レジスタ(入力レジスタ)である。
【0013】3はレジスタ1に保持されているデータを
入力し、同データの最上位側に連続している“0”(ゼ
ロ)の数(桁数)P1を出力するためのゼロ検出回路、
例えばプライオリティエンコーダ、4はレジスタ2に保
持されているデータを入力し、同データの最上位側に連
続している“0”の数(桁数)P2を出力するためのプ
ライオリティエンコーダ(ゼロ検出回路)である。
【0014】5はレジスタ1に保持されているデータを
プライオリティエンコーダ3によって検出されたゼロの
数P1だけ左シフトする左シフタ、6はレジスタ2に保
持されているデータをプライオリティエンコーダ4によ
って検出されたゼロの数P2だけ左シフトする左シフタ
である。
【0015】7は乗算回路であり、その被乗数側入力A
には左シフタ5の出力が接続され、その乗数側入力Bに
は左シフタ6の出力が接続されている。この乗算回路7
は、正規化浮動小数点数の仮数部の乗算を実行するため
の周知の回路であり、従来であれば、その被乗数側入力
Aにレジスタ1の出力を接続し、その乗数側入力Bにレ
ジスタ2の出力を接続して用いるものである。
【0016】8はプライオリティエンコーダ3,4によ
って検出されたゼロの数P1,P2を加算するための加
算器、9は乗算回路7の乗算結果(出力)を加算器8の
加算結果の示す数だけ右シフトする右シフタである。
【0017】次に、図1の構成の動作を説明する。ま
ず、図1の構成は、周知のIEEE浮動小数点形式の正
規化データの乗算装置に少量のハードウェアを付加した
ものである。即ち図1の構成において、レジスタ1,2
および乗算回路7が、IEEE浮動小数点形式の正規化
データの乗算装置の構成要素であり、プライオリティエ
ンコーダ3,4、左シフタ5,6、加算器8および右シ
フタ9を付加することにより、以下に述べるように、正
規化浮動小数点数の仮数部の乗算の他、非正規化浮動小
数点数の仮数部の乗算および固定小数点数の乗算を可能
とするものである。
【0018】さて、レジスタ1には、正規化浮動小数点
数の乗算時であれば被乗数となる正規化された浮動小数
点の仮数部が入力保持され、非正規化浮動小数点数の乗
算時であれば被乗数となる非正規化浮動小数点数が入力
保持され、固定小数点数の乗算時であれば被乗数となる
固定小数点数が入力保持される。
【0019】同様にレジスタ2には、正規化浮動小数点
数の乗算時であれば乗数となる正規化された浮動小数点
の仮数部が入力保持され、非正規化浮動小数点数の乗算
時であれば乗数となる非正規化浮動小数点数が入力保持
され、固定小数点数の乗算時てあれば乗数となる固定小
数点数が入力保持される。
【0020】プライオリティエンコーダ3,4はレジス
タ1,2の出力データの最上位(MSB)に連続してい
る“0”の2進桁(binary digit)数P1,P2を検出
し、同P1,P2を出力する。ここで、レジスタ1,2
の保持データ(被乗数,乗数)が正規化浮動小数点数の
仮数部の場合には、MSBは“1”であるので、P1,
P2の値はいずれも「0」となる。
【0021】左シフタ5,6はレジスタ1,2の出力デ
ータをプライオリティエンコーダ3,4から出力される
P1,P2の示す2進桁数(ビット数)だけ左シフト
し、MSBが“1”となったデータを出力する。したが
って、レジスタ1,2の出力データが正規化浮動小数点
数の場合には左シフトは行われず、左シフタ5,6の出
力はこのレジスタ1,2の出力データに一致する。
【0022】左シフタ5の出力は乗算回路7の被乗数側
入力Aに供給され、左シフタ6の出力は乗算回路7の乗
数側入力Bに供給される。乗算回路7は、入力A,Bに
供給された左シフタ5,6の出力を入力し、即ちレジス
タ1,2の出力データがプライオリティエンコーダ3,
4の出力P1,P2に従って左シフトされ、そのMSB
が“1”となっているデータを入力し、正規化されてい
る浮動小数点数の仮数部として両データの乗算を行う。
【0023】さて、プライオリティエンコーダ3,4の
出力P1,P2は加算器8の左側入力L,右側入力Rに
供給される。加算器8は、左側入力L,右側入力Rに供
給されたP1,P2、即ち入力データの左シフト数を加
算し、乗算回路7からの出力データ(乗算結果)に対す
る右シフト数(P1+P2)を算出する。
【0024】右シフタ9は、乗算回路7の出力データ
(乗算結果)を、加算器8の加算結果(P1+P2)で
示される2進桁数だけ右シフトし、正規化浮動小数点数
の仮数部、非正規化浮動小数点数の仮数部、または固定
小数点数の乗算結果を出力する。
【0025】以上の動作により、正規化浮動小数点数の
乗算、非正規化浮動小数点数の乗算および固定小数点数
の乗算が可能となる。このような乗算が可能となる更に
詳細な理由を、(1)正規化浮動小数点数の乗算の場合
と、(2)非正規化浮動小数点数の乗算または固定小数
点数の乗算の場合について説明する。
【0026】(1)正規化浮動小数点数の乗算の場合 まず、レジスタ1,2に正規化浮動小数点数の仮数部が
入力保持された場合、そのMSBは“1”であるため、
プライオリティエンコーダ3,4の出力P1,P2の値
はいずれも「0」となり、したがって加算器8の出力も
「0」となる。この場合、左シフタ5,6および右シフ
タ9は、いずれもシフト動作を行わず、通常の正規化浮
動小数点数の仮数部の乗算が行われる。
【0027】(2)非正規化浮動小数点数の乗算または
固定小数点数の乗算の場合 レジスタ1,2に非正規化浮動小数点数の仮数部または
固定小数点数が入力保持された場合には、プライオリテ
ィエンコーダ3,4はMSB側に連続している“0”の
数P1,P2を出力する。レジスタ1,2の出力デー
タ、即ち入力された非正規化浮動小数点数の仮数部、ま
たは固定小数点数は、左シフタ5,6により、プライオ
リティエンコーダ3,4の出力P1,P2に従って左シ
フトされる。
【0028】ここで、入力された非正規化浮動小数点数
の仮数部、または固定小数点数を、N1,N2とする
と、左シフタ5,6によるシフト後の値(左シフタ5,
6の出力)は、プライオリティエンコーダ3,4の出力
がP1,P2であることから、それぞれ N1×2P1 N2×2P2 となる。
【0029】この値(左シフタ5,6の出力N1×
P1,N2×2P2)を乗算回路7の被乗数側入力A,乗
数側入力Bに入力すると、乗算回路7の出力として、 N1×N2×2P1+P2 が得られる。
【0030】さて、加算器8では、P1+P2の計算を
行うことから、その値P1+P2だけ乗算回路7の出力
を右シフトすれば、結果として N1×N2 が得られる。以上の手順で、正規化浮動小数点数の仮数
部の乗算、非正規化浮動小数点数の仮数部の乗算および
固定小数点数の乗算を実現することができる。
【0031】なお、前記実施例では、IEEE浮動小数
点形式の正規化データの乗算装置に少量のハードウェア
を付加したものとして説明したが、本発明は、他の浮動
小数点形式の正規化データの乗算装置にも同様に適用で
きるものである。
【0032】
【発明の効果】以上詳述したようにこの発明によれば、
被乗数,乗数として入力された固定小数点数(または非
正規化浮動小数点数の仮数部)の最上位側に連続してい
るゼロの数をゼロ検出回路(第1,第2ゼロ検出回路)
により検出し、その数だけ入力固定小数点数(または入
力非正規化浮動小数点数の仮数部)を左シフト回路(第
1,第2左シフト回路)により左シフトして正規化浮動
小数点数の仮数部乗算用の乗算回路に供給することで、
正規化浮動小数点数用の乗算回路でありながら、固定小
数点数(または非正規化浮動小数点数の仮数部)の乗算
を正規化浮動小数点数の仮数部の乗算であるかのように
実行することができ、しかも乗算回路の出力を、加算器
にて算出した被乗数側と乗数側の左シフト量の和の分だ
け、右シフト回路により右シフトすることにより、固定
小数点数(または非正規化浮動小数点数の仮数部)につ
いての正しい乗算結果を得ることができる。
【0033】即ち、この発明によれば、正規化浮動小数
点数の乗算装置を基本とする構成に、ゼロ検出回路、左
シフト回路、右シフト回路および加算器といった少量の
ハードウェアを付加するだけで、正規化浮動小数点乗算
速度の低下を招くことなく、固定小数点数の乗算、更に
は非正規化浮動小数点数の乗算を行うことができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係る浮動小数点乗算装置
の構成を示すブロック図。
【符号の説明】
1,2…レジスタ、3,4…プライオリティエンコーダ
(ゼロ検出回路)、5,6…左シフタ(左シフト回
路)、7…乗算回路、8…加算器、9…右シフタ(右シ
フト回路)。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 正規化された浮動小数点数の仮数部の乗
    算を行うための乗算回路を有する浮動小数点乗算装置に
    おいて、 被乗数となる固定小数点数の最上位側に連続しているゼ
    ロの数を検出する第1のゼロ検出回路と、 乗数となる固定小数点数の最上位側に連続しているゼロ
    の数を検出する第2のゼロ検出回路と、 上記第1のぜロ検出回路によって検出されたゼロの数だ
    け上記被乗数を左シフトして上記乗算回路に供給する第
    1の左シフト回路と、 上記第2のぜロ検出回路によって検出されたゼロの数だ
    け上記乗数を左シフトして上記乗算回路に供給する第2
    の左シフト回路と、 上記第1および第2のゼロ検出回路で検出されたゼロの
    数を加算する加算器と、 上記第1および第2の左シフト回路による左シフト後の
    上記被乗数および乗数を対象とする上記乗算回路の乗算
    結果を上記加算器の加算結果の示す数だけ右シフトする
    右シフト回路と、 を具備し、正規化浮動小数点数の乗算に加え、固定小数
    点数の乗算も可能としたことを特徴とする浮動小数点乗
    算装置。
  2. 【請求項2】 正規化された浮動小数点数の仮数部の乗
    算を行うための乗算回路を有する浮動小数点乗算装置に
    おいて、 被乗数となる非正規化浮動小数点数の仮数部、または固
    定小数点数の最上位側に連続しているゼロの数を検出す
    る第1のゼロ検出回路と、 乗数となる非正規化浮動小数点数の仮数部、または固定
    小数点数の最上位側に連続しているゼロの数を検出する
    第2のゼロ検出回路と、 上記第1のぜロ検出回路によって検出されたゼロの数だ
    け上記被乗数を左シフトして上記乗算回路に供給する第
    1の左シフト回路と、 上記第2のぜロ検出回路によって検出されたゼロの数だ
    け上記乗数を左シフトして上記乗算回路に供給する第2
    の左シフト回路と、 上記第1および第2のゼロ検出回路で検出されたゼロの
    数を加算する加算器と、 上記第1および第2の左シフト回路による左シフト後の
    上記被乗数および乗数を対象とする上記乗算回路の乗算
    結果を上記加算器の加算結果の示す数だけ右シフトする
    右シフト回路と、 を具備し、正規化浮動小数点数の乗算に加え、非正規化
    浮動小数点数の乗算および固定小数点数の乗算も可能と
    したことを特徴とする浮動小数点乗算装置。
JP19414591A 1991-08-02 1991-08-02 浮動小数点乗算装置 Pending JPH0540605A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19414591A JPH0540605A (ja) 1991-08-02 1991-08-02 浮動小数点乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19414591A JPH0540605A (ja) 1991-08-02 1991-08-02 浮動小数点乗算装置

Publications (1)

Publication Number Publication Date
JPH0540605A true JPH0540605A (ja) 1993-02-19

Family

ID=16319664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19414591A Pending JPH0540605A (ja) 1991-08-02 1991-08-02 浮動小数点乗算装置

Country Status (1)

Country Link
JP (1) JPH0540605A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402734B1 (ko) * 2001-12-21 2003-10-22 한국전자통신연구원 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
JP2008533617A (ja) * 2005-03-17 2008-08-21 クゥアルコム・インコーポレイテッド 2つのオペランドを乗算する方法およびアレイ乗算器
US8041758B2 (en) 2006-02-23 2011-10-18 Nec Computer Techno, Ltd. Multiplier and arithmetic unit
US8280941B2 (en) * 2007-12-19 2012-10-02 HGST Netherlands B.V. Method and system for performing calculations using fixed point microprocessor hardware
JP2015170359A (ja) * 2014-03-07 2015-09-28 エイアールエム リミテッド 浮動小数点オペランドを乗算するためのデータ処理装置及び方法
JP2015228226A (ja) * 2008-06-30 2015-12-17 インテル コーポレイション プロセッサにおける効率的なパラレル浮動小数点例外処理
JP2021528756A (ja) * 2018-06-19 2021-10-21 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 少なくとも2つの被乗数を乗算するための計算ユニット、方法及びコンピュータプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402734B1 (ko) * 2001-12-21 2003-10-22 한국전자통신연구원 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
JP2008533617A (ja) * 2005-03-17 2008-08-21 クゥアルコム・インコーポレイテッド 2つのオペランドを乗算する方法およびアレイ乗算器
KR100986405B1 (ko) * 2005-03-17 2010-10-08 콸콤 인코포레이티드 저전력 배열 곱셈기
US8041758B2 (en) 2006-02-23 2011-10-18 Nec Computer Techno, Ltd. Multiplier and arithmetic unit
US8280941B2 (en) * 2007-12-19 2012-10-02 HGST Netherlands B.V. Method and system for performing calculations using fixed point microprocessor hardware
JP2015228226A (ja) * 2008-06-30 2015-12-17 インテル コーポレイション プロセッサにおける効率的なパラレル浮動小数点例外処理
JP2015170359A (ja) * 2014-03-07 2015-09-28 エイアールエム リミテッド 浮動小数点オペランドを乗算するためのデータ処理装置及び方法
JP2021528756A (ja) * 2018-06-19 2021-10-21 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 少なくとも2つの被乗数を乗算するための計算ユニット、方法及びコンピュータプログラム
US11537361B2 (en) 2018-06-19 2022-12-27 Robert Bosch Gmbh Processing unit, method and computer program for multiplying at least two multiplicands

Similar Documents

Publication Publication Date Title
US6751644B1 (en) Method and apparatus for elimination of inherent carries
US5053631A (en) Pipelined floating point processing unit
EP0483864B1 (en) Hardware arrangement for floating-point addition and subtraction
US4941120A (en) Floating point normalization and rounding prediction circuit
KR100242274B1 (ko) 제산 및 제곱근 계산 기능을 갖고 있는 부동 소숫점/정수 프로세서
US6697832B1 (en) Floating-point processor with improved intermediate result handling
US4999803A (en) Floating point arithmetic system and method
JPH02196328A (ja) 浮動小数点演算装置
JPH03208170A (ja) 数学関数の近似を計算する数値システム及び計算法
JP3313560B2 (ja) 浮動小数点演算処理装置
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
EP0416308A2 (en) Rectangular array signed digit multiplier
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
JPH0540605A (ja) 浮動小数点乗算装置
US20040093367A1 (en) Method and apparatus for computing an approximation to the reciprocal of a floating point number in IEEE format
US5377134A (en) Leading constant eliminator for extended precision in pipelined division
JP3064405B2 (ja) 複素数の演算処理方式
JPH04172526A (ja) 浮動小数点除算器
JP2645422B2 (ja) 浮動小数点演算処理装置
JPH0540609A (ja) 浮動小数点除算装置
JPH0540777A (ja) バタフライ演算方式
JPH0540606A (ja) 浮動小数点乗除算装置
KR0176883B1 (ko) 복소수 승산기
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置