JPH01207823A - 浮動小数点数一固定小数点数変換装置 - Google Patents
浮動小数点数一固定小数点数変換装置Info
- Publication number
- JPH01207823A JPH01207823A JP63033102A JP3310288A JPH01207823A JP H01207823 A JPH01207823 A JP H01207823A JP 63033102 A JP63033102 A JP 63033102A JP 3310288 A JP3310288 A JP 3310288A JP H01207823 A JPH01207823 A JP H01207823A
- Authority
- JP
- Japan
- Prior art keywords
- point number
- output
- shift
- floating point
- signal
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims description 37
- 230000000295 complement effect Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 101100060194 Caenorhabditis elegans clip-1 gene Proteins 0.000 description 2
- MWPLVEDNUUSJAV-UHFFFAOYSA-N anthracene Chemical compound C1=CC=CC2=CC3=CC=CC=C3C=C21 MWPLVEDNUUSJAV-UHFFFAOYSA-N 0.000 description 2
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 101000622137 Homo sapiens P-selectin Proteins 0.000 description 1
- 102100023472 P-selectin Human genes 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000002788 crimping Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
ディジタル信号を浮動小数点数処理から固定小数点数処
理にフォーマット変換する装置に関し、I EEE標準
浮動小数点数を、丸め処理及びオーバーフロー処理を行
って固定小数点数に変換することにより変換の演算精度
を上げることを目的とし、 1サイクル目にI EEE標準浮動小数点数の2の補数
化信号を生成してアキュムレータに格納し、2サイクル
目に該アキュムレータの3亥データをシフト計算部で求
めたシフト数及び方向だけバレルシフタ回路でシフトし
、このシフトの際にオーバーフローが生した時はクリッ
プ部でクリンプしてアキュムレータに再度格納し、3サ
イクル目では、2サイクル目でバレルシフタ回路がキャ
リイ検出していた場合には2サイクル目のアキュムレー
タのデータにそのキャリイビットが付加されて最終的な
固定小数点数としてアキュムレータに格納されるように
構成したもの。
理にフォーマット変換する装置に関し、I EEE標準
浮動小数点数を、丸め処理及びオーバーフロー処理を行
って固定小数点数に変換することにより変換の演算精度
を上げることを目的とし、 1サイクル目にI EEE標準浮動小数点数の2の補数
化信号を生成してアキュムレータに格納し、2サイクル
目に該アキュムレータの3亥データをシフト計算部で求
めたシフト数及び方向だけバレルシフタ回路でシフトし
、このシフトの際にオーバーフローが生した時はクリッ
プ部でクリンプしてアキュムレータに再度格納し、3サ
イクル目では、2サイクル目でバレルシフタ回路がキャ
リイ検出していた場合には2サイクル目のアキュムレー
タのデータにそのキャリイビットが付加されて最終的な
固定小数点数としてアキュムレータに格納されるように
構成したもの。
本発明は浮動小数点数−固定小数点数変換装置に関する
ものであり、特にディジクル信号を浮動小数点数処理か
ら固定小数点数処理にフォーマツI・変換する装置に関
するものである。
ものであり、特にディジクル信号を浮動小数点数処理か
ら固定小数点数処理にフォーマツI・変換する装置に関
するものである。
浮動小数点数の処理は、ディジタル信号処理の精度が高
くまたダイナミックI/ンジも広い等の点から固定小数
点数処理よりも好ましいが、回路制御等においては固定
小数点数を用いて処理されることが多いため、浮動小数
点数から固定小数点数にフォーマット変換することか必
要である。
くまたダイナミックI/ンジも広い等の点から固定小数
点数処理よりも好ましいが、回路制御等においては固定
小数点数を用いて処理されることが多いため、浮動小数
点数から固定小数点数にフォーマット変換することか必
要である。
(従来の技術]
I EEE標準32ビット浮動小数点数は、第10図に
示す表現形式を有し、指数部eは真値に127を加えた
所謂「ケタばき」表現を採用し、仮数部fは1から2の
間の数を表現する符号絶対値表現を採用している。また
、この絶対値表現部fでは最上位ビット(正規化数の場
合常に1)を省略した所謂「かくれ」ピント表現を採用
している。
示す表現形式を有し、指数部eは真値に127を加えた
所謂「ケタばき」表現を採用し、仮数部fは1から2の
間の数を表現する符号絶対値表現を採用している。また
、この絶対値表現部fでは最上位ビット(正規化数の場
合常に1)を省略した所謂「かくれ」ピント表現を採用
している。
また、MSBの符号ビットをSで表ずと、浮動小数点数
データXは、 χ−(−1)” +2′1−1′’l (1,f )で
表される。
データXは、 χ−(−1)” +2′1−1′’l (1,f )で
表される。
この場合、従来の浮動小数点数−固定小数点数変換では
、固定小数点の小数点位置が、データの最下位ビットに
あり、実質的に整数変換を意味するように変換されてい
た。
、固定小数点の小数点位置が、データの最下位ビットに
あり、実質的に整数変換を意味するように変換されてい
た。
〔発明が解決しようとする課B]
従来の浮動小数点数−固定小数点数変換は、IEEE標
準32ピントの浮動小数点数を扱ったものではなく、然
もその変換の際のビットの桁落ちは無視、即ち切り捨て
られていて丸め処理が行われていなかった。更に、オー
バーフロー処理も同様に行われておらず、演算精度の低
下を招く虞があった。
準32ピントの浮動小数点数を扱ったものではなく、然
もその変換の際のビットの桁落ちは無視、即ち切り捨て
られていて丸め処理が行われていなかった。更に、オー
バーフロー処理も同様に行われておらず、演算精度の低
下を招く虞があった。
従って、本発明は、I EEE標準浮動小数点数を、丸
め処理及びオーバーフロー処理を行って固定小数点数に
変換し、その演算精度を上げることを目的とする。
め処理及びオーバーフロー処理を行って固定小数点数に
変換し、その演算精度を上げることを目的とする。
第1図は、上記の目的を達成するための本発明に係る浮
動小数点数−固定小数点数変換装置の概念図を示し、図
中、■はアキュムレータフに格納されたIEEEEEE
標準浮動小数点数の符号ビットに合わせてツメ−マット
変換する変換部、2は変換部1の出力と該符号を示すピ
ントにより2の補数化信号を発生ずる加算器、3は該浮
動小数点数の指数部からシフト数及びシフト方向を発生
ずるシフト計算部、4は該シフト数及びシフト方向によ
り該浮動小数点数をシフトするバレルシフタ回路、5は
加算器2の出力又はバレルシフタ回路4の出力を選択す
る選択器、6はバレルシフタ回路4がオーバーフローし
た時のみ選択器5の出力をクリップしてアキュムレータ
7に与えるクリンプ部、そして8ば1サイクル目に該浮
動小数点数の符号ビットに応して変換部1に制御信号を
与え、2サイクル目にシフト計算部3のランチされた値
を出力させ、1サイクル目及び3サイクル目に加算器2
の出力を、2サイクル目にバレルシフタ回路4の出力を
それぞれ選択するように選択器5を制御し、バレルシフ
タ回路4がキャリイ検出した時、3サイクル目に該キャ
リイ信号に基づいて加算器2に丸め信号を与える演算制
御部である。
動小数点数−固定小数点数変換装置の概念図を示し、図
中、■はアキュムレータフに格納されたIEEEEEE
標準浮動小数点数の符号ビットに合わせてツメ−マット
変換する変換部、2は変換部1の出力と該符号を示すピ
ントにより2の補数化信号を発生ずる加算器、3は該浮
動小数点数の指数部からシフト数及びシフト方向を発生
ずるシフト計算部、4は該シフト数及びシフト方向によ
り該浮動小数点数をシフトするバレルシフタ回路、5は
加算器2の出力又はバレルシフタ回路4の出力を選択す
る選択器、6はバレルシフタ回路4がオーバーフローし
た時のみ選択器5の出力をクリップしてアキュムレータ
7に与えるクリンプ部、そして8ば1サイクル目に該浮
動小数点数の符号ビットに応して変換部1に制御信号を
与え、2サイクル目にシフト計算部3のランチされた値
を出力させ、1サイクル目及び3サイクル目に加算器2
の出力を、2サイクル目にバレルシフタ回路4の出力を
それぞれ選択するように選択器5を制御し、バレルシフ
タ回路4がキャリイ検出した時、3サイクル目に該キャ
リイ信号に基づいて加算器2に丸め信号を与える演算制
御部である。
第1図に示した本発明に係る浮動小数点数−固定小数点
数変換装置を第2図乃至第4図に示したビット状態図を
参照して以下に説明する。
数変換装置を第2図乃至第4図に示したビット状態図を
参照して以下に説明する。
まず、第2図(1)又は第3図(1)に示すようなアキ
ュムレータフに格納されているIEEE標準浮動小数点
数が変換部1に送られ、その指数部がシフト計算部3に
送られる。また、浮動小数点数の符号ヒフ1〜は演算制
御部8に送られる。演算制御部8では入力した符号ピン
トが“0゛(正の小数点数)であるか、”i’(負の小
数点数)であるかを判定して制御信号を変換部1へ送る
。変換部lでtコ、この制御信号により浮動小数点数を
第4図(a)又は(b)に示すようにフォーマント変換
する。
ュムレータフに格納されているIEEE標準浮動小数点
数が変換部1に送られ、その指数部がシフト計算部3に
送られる。また、浮動小数点数の符号ヒフ1〜は演算制
御部8に送られる。演算制御部8では入力した符号ピン
トが“0゛(正の小数点数)であるか、”i’(負の小
数点数)であるかを判定して制御信号を変換部1へ送る
。変換部lでtコ、この制御信号により浮動小数点数を
第4図(a)又は(b)に示すようにフォーマント変換
する。
この場合、符号ヒントが“1”′の時には第3図(2)
に示すように仮数部の反転も行われる。
に示すように仮数部の反転も行われる。
このフッ−マット変換された浮動小数点数は加算器2に
おいて演算制御部8からの符号ビットの値を加算するこ
とによって第2図(2)及び第3図(3)に示すように
2の補数表現化されたビット値が得られ、選択器5に送
られる。選択器5ば1サイクル目は加算器2の出力が選
択されるように演算制御部8によって制御され、クリッ
プ部6を介してアキュムレータ7に格納される。
おいて演算制御部8からの符号ビットの値を加算するこ
とによって第2図(2)及び第3図(3)に示すように
2の補数表現化されたビット値が得られ、選択器5に送
られる。選択器5ば1サイクル目は加算器2の出力が選
択されるように演算制御部8によって制御され、クリッ
プ部6を介してアキュムレータ7に格納される。
一方、」二記の1サイクル目では、シフト計算部3では
、アキュムレータ7の浮動小数点数の指数部からシフト
数とシフI・方向を求めてラッチしておく。
、アキュムレータ7の浮動小数点数の指数部からシフト
数とシフI・方向を求めてラッチしておく。
2サイクル目では、演算制御部8がシフI・計算部3に
ランチされていたシフト数及びシフト方向の値をバレル
シフタ回路4に出力させ、バレルシフタ回路4では、1
サイクル目でアキュムレータ7に格納されている第2図
(2)又は第3図(3)に示すビット値をそのまま入力
して指定されたシフト方向にそのシフト数だけシフトす
る。そのシフトされた値が第2図(3)又は第3図(4
)に示されている。
ランチされていたシフト数及びシフト方向の値をバレル
シフタ回路4に出力させ、バレルシフタ回路4では、1
サイクル目でアキュムレータ7に格納されている第2図
(2)又は第3図(3)に示すビット値をそのまま入力
して指定されたシフト方向にそのシフト数だけシフトす
る。そのシフトされた値が第2図(3)又は第3図(4
)に示されている。
2サイクル目では、演算制御部8が選択器5を制御して
バレルシフタ回路4の出力を選択するので、このシフト
された値はクリンプ部6に送られる。
バレルシフタ回路4の出力を選択するので、このシフト
された値はクリンプ部6に送られる。
クリップ部6では、上記のシフト動作において、オーバ
ーフロー検出が為された時には、演算制御部8しコクリ
ンプ部6を制御して正又は負の最大値に選択器5の出力
をクリップしてアキュムレータ7に格納する。
ーフロー検出が為された時には、演算制御部8しコクリ
ンプ部6を制御して正又は負の最大値に選択器5の出力
をクリップしてアキュムレータ7に格納する。
そして、3−ナイクル目では、2サイクル目でバレルシ
フタ回路4がキャリイ検出した時の信号により加算器2
にキャリイ信号として与え、アキュムレータ7から出力
された2サイクル目のビット値は変換部1を通過して加
算器2でキャリイビットが加算され、選択器5及びクリ
ップ部6を介してアキュムレータ7に最終的な固定小数
点数として格納されることになる。
フタ回路4がキャリイ検出した時の信号により加算器2
にキャリイ信号として与え、アキュムレータ7から出力
された2サイクル目のビット値は変換部1を通過して加
算器2でキャリイビットが加算され、選択器5及びクリ
ップ部6を介してアキュムレータ7に最終的な固定小数
点数として格納されることになる。
〔実 施 例]
以下、本願発明に係る浮動小数点数−固定小数点数変換
装置の実施例を説明する。
装置の実施例を説明する。
第5図は、本発明に係る浮動小数点数−固定小数点数変
換装置の一実施例を示している。
換装置の一実施例を示している。
この実施例では、変換部1は、アキュムレータACCか
らの32ビット信号並びに演算制御部8からのセレクト
信号iNV及びMASK信号を人力するセレクタSEL
1〜5EL3で構成され、セレクタ5ELIと5EL
2の一方の端子にはそれぞれインバータ11.12が設
げられている。
らの32ビット信号並びに演算制御部8からのセレクト
信号iNV及びMASK信号を人力するセレクタSEL
1〜5EL3で構成され、セレクタ5ELIと5EL
2の一方の端子にはそれぞれインバータ11.12が設
げられている。
シフト計算部3は、加算器EAと、この加算器EAの桁
」二げ信号ECの反転信号を制御信号として加算器EA
の加算結果を反転及びインクリメントする反転部1NV
ERT及びインクリメント部iNCと、このインクリメ
ント部iNCの出力をクリップするクリップ部CL i
P 2と、信号EC(シフト方向を示す信号)及びク
リップ部CLiP2の出力(シフト数を示す信号)をそ
れぞれラッチ■及びランチ■でランチするラッチ部LT
と、で構成されている。また、バレルシフタ回路4はバ
レルシフタBSと、キャリイ検出回路CADETと、オ
ーバーフロー検出回路0VDETとで構成されている。
」二げ信号ECの反転信号を制御信号として加算器EA
の加算結果を反転及びインクリメントする反転部1NV
ERT及びインクリメント部iNCと、このインクリメ
ント部iNCの出力をクリップするクリップ部CL i
P 2と、信号EC(シフト方向を示す信号)及びク
リップ部CLiP2の出力(シフト数を示す信号)をそ
れぞれラッチ■及びランチ■でランチするラッチ部LT
と、で構成されている。また、バレルシフタ回路4はバ
レルシフタBSと、キャリイ検出回路CADETと、オ
ーバーフロー検出回路0VDETとで構成されている。
更に、クリップ部6ば、アンドゲートGと、この出力に
よって制御されるクリップ部CL i P 1とを含ん
でいる。
よって制御されるクリップ部CL i P 1とを含ん
でいる。
これらの回路に与えられる制御信号iNV、MASK、
、C4N、、LAEN、0PSE、ACENは、演算命
令、アキュムレータACCの最上位ピント(以下、ビッ
トAc31という)、及びキャリイ検出回路CADET
の出力を受けた演算制御部ACUから出力される信号で
ある。
、C4N、、LAEN、0PSE、ACENは、演算命
令、アキュムレータACCの最上位ピント(以下、ビッ
トAc31という)、及びキャリイ検出回路CADET
の出力を受けた演算制御部ACUから出力される信号で
ある。
尚、第5図の実施例中、第1回に示した加算器2、選択
器5、及びアキュムレータ7は以下それぞれ加算器AD
D、セレクタ○PSEL、アキュムレータACCとして
説明する。
器5、及びアキュムレータ7は以下それぞれ加算器AD
D、セレクタ○PSEL、アキュムレータACCとして
説明する。
以下、この実施例の動作を説明する。
まず、演算命令(浮動小数点から固定小数点への変換命
令)が、演算制御部ACUに入力されることにより、下
記の演算が開始される。
令)が、演算制御部ACUに入力されることにより、下
記の演算が開始される。
(1)土サイクル目
第2図(1)又は第3図(1)に示すような32ピント
のレジスフで構成されるアキュムレータACCに格納さ
れている浮動小数点データが、8ビツト加算器EA及び
、2者沢−のセレクタSEL ]、2.3に入力される
。
のレジスフで構成されるアキュムレータACCに格納さ
れている浮動小数点データが、8ビツト加算器EA及び
、2者沢−のセレクタSEL ]、2.3に入力される
。
セレクタSEL 1には、アキュムレータACCの下位
23ビツト(仮数部)が入力され、演算制御部ACUか
らのセレクト信号iNVが“0”の場合、スルーで通過
し、“1′の場合には反転してセレクタS E L 1
より出力される。このセレクト信号iNVは、■サイク
ル目のとき、サインビットであるアキュムレータACC
の最上位ビ・ント(MSB)(以下、ビットAC31と
呼ぶ)が” o ”の場合、つまり正の小数点数の時は
、0”で、ピントAC31が“1”の場合、つまり負の
小数点数の時は“1″となるよう演算制御部ACUより
出力される。
23ビツト(仮数部)が入力され、演算制御部ACUか
らのセレクト信号iNVが“0”の場合、スルーで通過
し、“1′の場合には反転してセレクタS E L 1
より出力される。このセレクト信号iNVは、■サイク
ル目のとき、サインビットであるアキュムレータACC
の最上位ビ・ント(MSB)(以下、ビットAC31と
呼ぶ)が” o ”の場合、つまり正の小数点数の時は
、0”で、ピントAC31が“1”の場合、つまり負の
小数点数の時は“1″となるよう演算制御部ACUより
出力される。
また、セレクタS E L 2には、アキュムレータA
CCの下位から24ビツト目、(以下、ビットAC23
と呼ぶ)のいわゆる「かくれど・ノド」が入力されるが
、演算制御部ACUからのセレクト信号MASKが、1
サイクル目は“1”となるため、セレクト信号iNVの
反転信号が出力される。
CCの下位から24ビツト目、(以下、ビットAC23
と呼ぶ)のいわゆる「かくれど・ノド」が入力されるが
、演算制御部ACUからのセレクト信号MASKが、1
サイクル目は“1”となるため、セレクト信号iNVの
反転信号が出力される。
即ち、セレクト信号iNVが“ピの時(負数時)は“0
”、セレクト信号iNVが“0″の時(正数時)は“1
°′が出力される(第2図(2)又は第3図(2)参照
)。
”、セレクト信号iNVが“0″の時(正数時)は“1
°′が出力される(第2図(2)又は第3図(2)参照
)。
セレクタ5EL3には、アキュムレータACCの」ニイ
立から8ビ・ントが入力されるが、1サイクル目では、
セレクト信号MASKが“l”となっているため、セレ
クト信号iNVをそのまま出力する。つまり、セレクト
信号iNVが“1”の時(負数時)は上位8ビツトオー
ル“1”を、“0”の時(正数時)はオール゛0”を出
力する(第2図(2)、第3図(2)参照)。
立から8ビ・ントが入力されるが、1サイクル目では、
セレクト信号MASKが“l”となっているため、セレ
クト信号iNVをそのまま出力する。つまり、セレクト
信号iNVが“1”の時(負数時)は上位8ビツトオー
ル“1”を、“0”の時(正数時)はオール゛0”を出
力する(第2図(2)、第3図(2)参照)。
このようにしてフォーマット変換された32ビットは、
32ビン)・加算器ADDに入力される。
32ビン)・加算器ADDに入力される。
尚、加算器ADDの片側入力は、変換命令時は、“0”
となっている。
となっている。
また、キャリイン信号C4Nは、■サイクル目、ビット
AC31の値が1”の時(負数時)は“1”を、′0”
の時(正数時)は“0”をそれぞれ加算器ADDに与え
るように、演算制御部AC(Jより出力されて32ビツ
トの加算器入力のLSBに加算される。従って、1サイ
クル目データは、第2図(2)又は第3図(3)に示す
如く2の補数化される。
AC31の値が1”の時(負数時)は“1”を、′0”
の時(正数時)は“0”をそれぞれ加算器ADDに与え
るように、演算制御部AC(Jより出力されて32ビツ
トの加算器入力のLSBに加算される。従って、1サイ
クル目データは、第2図(2)又は第3図(3)に示す
如く2の補数化される。
その後、2者択−セレクタOP S E Lでは、演算
制御部ACUからのセレクト信号0PSEが“0”とな
っており、力l算器ADDの出力をセレクトする。また
クリップ部CLiP1は、信号0VCLが0”であるた
め、加算器ADDの値をそのまま出力する。
制御部ACUからのセレクト信号0PSEが“0”とな
っており、力l算器ADDの出力をセレクトする。また
クリップ部CLiP1は、信号0VCLが0”であるた
め、加算器ADDの値をそのまま出力する。
以上の動作により、2の補数化されたデータが、アキュ
ムレータACCに格納される。なお、信号ACENは演
算制御11部ACIJからの各サイクルのイネーブル信
号、信号CLKはクロンクである。
ムレータACCに格納される。なお、信号ACENは演
算制御11部ACIJからの各サイクルのイネーブル信
号、信号CLKはクロンクである。
一方、加算器EAには、アキュムレータACCのビット
AC31を除く」二値ビットから8ビン[(指数部)が
入力されてシフト数を計算するため、88 (IIEX
I を加算する。これば、加算器を使って計算するため
、第2回及び第3図における浮動小数点位置から固定小
数点位置への8ピッ1−シフト変換に際しては指数が7
8 flllIXl の時、シフト数がパゼロパとなる
ことから−78(lIEゎを2の補数化した値、つまり
8S□EX)を加算するためである。加算された値は、
2の補数表現となっているため、その後、データを絶対
値化する必要がある。そのため、加算器EAにおける8
ビツト加算での桁上げ信号ECの反転信号が符号ビット
となり、信号ECが“0”の時は、反転して“1″とな
り負の数を示しており、反転器1NVERTで加算器E
Aの出力反転を行ない、インクリメント部iNCで、イ
ンクリメント(1加算)を行う。
AC31を除く」二値ビットから8ビン[(指数部)が
入力されてシフト数を計算するため、88 (IIEX
I を加算する。これば、加算器を使って計算するため
、第2回及び第3図における浮動小数点位置から固定小
数点位置への8ピッ1−シフト変換に際しては指数が7
8 flllIXl の時、シフト数がパゼロパとなる
ことから−78(lIEゎを2の補数化した値、つまり
8S□EX)を加算するためである。加算された値は、
2の補数表現となっているため、その後、データを絶対
値化する必要がある。そのため、加算器EAにおける8
ビツト加算での桁上げ信号ECの反転信号が符号ビット
となり、信号ECが“0”の時は、反転して“1″とな
り負の数を示しており、反転器1NVERTで加算器E
Aの出力反転を行ない、インクリメント部iNCで、イ
ンクリメント(1加算)を行う。
又、信号ECが“1”の場合は、正の数となっており、
反転器i NVERT、インクリメント部iNCは、そ
のまま出力される。こうして絶対値化される。
反転器i NVERT、インクリメント部iNCは、そ
のまま出力される。こうして絶対値化される。
また、シフト数は31ビツトまでであるのでシフト数信
号は、5ビツトで充分であり、それ以上の数は、シフト
数最大値にクリップしておく必要があるので、」二値3
ビットのどれか1ビ・ントでも1゛がある場合は、クリ
ップ部CLiP2で、最大値、l F n+rx+ に
する。その他の場合は、クリップせず、5ビツトがその
ままラッチ部L Tにラッチされる。
号は、5ビツトで充分であり、それ以上の数は、シフト
数最大値にクリップしておく必要があるので、」二値3
ビットのどれか1ビ・ントでも1゛がある場合は、クリ
ップ部CLiP2で、最大値、l F n+rx+ に
する。その他の場合は、クリップせず、5ビツトがその
ままラッチ部L Tにラッチされる。
また、シフト方向(右シフト、あるいは左シフ1へ)を
制御するため、桁上げ信号ECの値をラッチ部LTでラ
ッチし、信号ECが“0゛の場合は反転して“1”とな
り負数を示すので右シフト、反対に“1”の場合は左シ
フトとする。即ち、第2図又は第3図の場合は(7o+
s 8) tHEゎ −F8□EX)で桁−ヒげ信号E
Cは0”となる。
制御するため、桁上げ信号ECの値をラッチ部LTでラ
ッチし、信号ECが“0゛の場合は反転して“1”とな
り負数を示すので右シフト、反対に“1”の場合は左シ
フトとする。即ち、第2図又は第3図の場合は(7o+
s 8) tHEゎ −F8□EX)で桁−ヒげ信号E
Cは0”となる。
尚、L A E Nは、演算制御部ACUからの1サイ
クル目のラッチイネーブル信号である。
クル目のラッチイネーブル信号である。
(2)2サイクル目
1サイクル目で得られた結果より、データをシフトする
。
。
まずアキュムレータACCに格納されている、2の補数
表現化された32ビ、トデータをセレクタ5ELL、2
.3に人力する。
表現化された32ビ、トデータをセレクタ5ELL、2
.3に人力する。
この2サイクル目では、セレクト信号iNV、MASK
は演算制御部ACUにより0”′となっており、セレク
タSEL 1.2.3ともに、アキュムレータACCの
値をそのまま出力する。その後、そのデータを、バレル
シフタBSに人力し、ランチ部1−TのラッチIにラッ
チされている5ビツトのデータにより、シフトを行う。
は演算制御部ACUにより0”′となっており、セレク
タSEL 1.2.3ともに、アキュムレータACCの
値をそのまま出力する。その後、そのデータを、バレル
シフタBSに人力し、ランチ部1−TのラッチIにラッ
チされている5ビツトのデータにより、シフトを行う。
ラッチ■の出力データの最下位ピント(以下、ピントL
AOという)のみが“1”のときは1ビツト、ピッ1−
LAIのみが“1゛のときは2ビツト、という様にして
以下、5ビツトの組み合わせで最大31ビツトのシフI
・が行える。
AOという)のみが“1”のときは1ビツト、ピッ1−
LAIのみが“1゛のときは2ビツト、という様にして
以下、5ビツトの組み合わせで最大31ビツトのシフI
・が行える。
また、ラッチ■の出力LRは、“1”の時はバレルシフ
タBSを左シフト、0″の時は右シフトするために1サ
イクル目にランチしておいた信号である。また、右シフ
ト時に起こる桁落ちビットを丸めるため、キャリイ検出
部CADETにて検出し、信号C6U1として出力して
演算制御部ACUに入力し、レジスタ(図示せず)に格
納しておく。また、左シフト時に起こる、オーバーフロ
ーを、オーバーフロー検出部0VDETで検出する。
タBSを左シフト、0″の時は右シフトするために1サ
イクル目にランチしておいた信号である。また、右シフ
ト時に起こる桁落ちビットを丸めるため、キャリイ検出
部CADETにて検出し、信号C6U1として出力して
演算制御部ACUに入力し、レジスタ(図示せず)に格
納しておく。また、左シフト時に起こる、オーバーフロ
ーを、オーバーフロー検出部0VDETで検出する。
シフトされた結果をバレルシフタBSより出力し、セレ
クタ0PSELに入力する。この2サイクル目では、セ
レクト信号0PSEは“1”となり、セレクタ0PSE
Lでは、バレルシフタBSの出力をセレク1〜し出力す
る。
クタ0PSELに入力する。この2サイクル目では、セ
レクト信号0PSEは“1”となり、セレクタ0PSE
Lでは、バレルシフタBSの出力をセレク1〜し出力す
る。
その後、若し、シフトの際、左シフトをしてオーバーフ
ローが起っでいた場合は、クリップ部CLiP1にて、
正の最大値又は狛の最大値にデータをクリップする。
ローが起っでいた場合は、クリップ部CLiP1にて、
正の最大値又は狛の最大値にデータをクリップする。
オーバーフローしていない場合は、アントゲ−l Gの
出力0VCLが0”となり、セレクタ0PSELの出力
をそのまま出力する。
出力0VCLが0”となり、セレクタ0PSELの出力
をそのまま出力する。
その後、アキュムレータACCに格納される(第2図(
3)又は第3図(4)参照)。
3)又は第3図(4)参照)。
(3)3サイクル目
3サイクル目は、2サイクル目のシフト動イ乍で得られ
たアキュムレータACCのデータにキャリイ検出部CA
DETで得られた信号C3u1を、加算器ADDで加算
する。
たアキュムレータACCのデータにキャリイ検出部CA
DETで得られた信号C3u1を、加算器ADDで加算
する。
即ち、まず、アキュムレータACCに格納されているシ
フトされたデータをセレクタS E L 1、2.3に
入力する。そしてセレクト信号iNV、MASKは”O
”とし、アキュムレータACCI7)稙を、セレクタS
E L ]、2.3は、そのまま出力する。
フトされたデータをセレクタS E L 1、2.3に
入力する。そしてセレクト信号iNV、MASKは”O
”とし、アキュムレータACCI7)稙を、セレクタS
E L ]、2.3は、そのまま出力する。
そのデータを加算器ADDに入力する。
またキャリイン信号CiNは、演算制御部ACUのレジ
スフに格納された信号C3LITの値をそのまま丸め信
号として出力したもので加算器ADDに入力される。
スフに格納された信号C3LITの値をそのまま丸め信
号として出力したもので加算器ADDに入力される。
そして、シフl−されたデータに加算されて丸められる
(第2図(4)又は第3図(5)参照)。
(第2図(4)又は第3図(5)参照)。
尚、2サイクル目で、左シフトした場合は、信号CiN
は0”となる。これは桁落ちビットがないためである。
は0”となる。これは桁落ちビットがないためである。
その後、セレクト信号0PSEは0”とし、セレクタ○
P S E Lで加算器ADDの出力をセレクト信号、
クリップ部CI−i P 1も、信号OV CI−が′
0°゛であるため、そのまま入力信号を出力し、最終結
果が、アキュムレータACCに格納され、変換は終了す
る(第2図(4)又は第3図(5)参照)。
P S E Lで加算器ADDの出力をセレクト信号、
クリップ部CI−i P 1も、信号OV CI−が′
0°゛であるため、そのまま入力信号を出力し、最終結
果が、アキュムレータACCに格納され、変換は終了す
る(第2図(4)又は第3図(5)参照)。
第7図には上記の演算制御部ACUの入出力信号等のク
イJ、チャートが示されている。
イJ、チャートが示されている。
バレルシフタ回路4の動作は既に公知であるが、ここで
第8図及び第9図面の簡単な説明する。
第8図及び第9図面の簡単な説明する。
まず、算術的に左ソフトを行う場合は、MSB(符号ヒ
ント)はその侭残してシフI〜し、消失ピッI・の論理
和を第5図のオーバーフロー検出回路0VDETで検出
し、更に消失ヒノ1−にMSBの符号と不一致のものが
あるとオーバーフローとして、クリンプ部CL i P
にて正又は負の最大値にクリップする。
ント)はその侭残してシフI〜し、消失ピッI・の論理
和を第5図のオーバーフロー検出回路0VDETで検出
し、更に消失ヒノ1−にMSBの符号と不一致のものが
あるとオーバーフローとして、クリンプ部CL i P
にて正又は負の最大値にクリップする。
例えば、第8図(a)に示ず2の補数表現の−17を基
本とし、1ビット左シフトすると同図(b)に示す如く
2倍の値の−34で、2ビット左シフトすると同図(c
)に示す如く4倍の値の−68で、3ビット左シフトす
ると−136とならなければならないが、負の最大値−
128を越えてオーバーフローしてしまい、この場合は
同図(d)に示す如く−8となる。
本とし、1ビット左シフトすると同図(b)に示す如く
2倍の値の−34で、2ビット左シフトすると同図(c
)に示す如く4倍の値の−68で、3ビット左シフトす
ると−136とならなければならないが、負の最大値−
128を越えてオーバーフローしてしまい、この場合は
同図(d)に示す如く−8となる。
このオーバーフローの検11農よ、符号ピント(MSB
)と消失ビットの論理和又は論理積の不一致で検出され
、正又は負の最大値にクリップする。
)と消失ビットの論理和又は論理積の不一致で検出され
、正又は負の最大値にクリップする。
算術的に右シフトする場合は、第91ffl(1)(a
)に示ず2の補数表現の−66を5ピントシフトすると
シフトシた後へはMSBが入り、同図(1)(b)に示
す如く中間結果は−3となる。
)に示ず2の補数表現の−66を5ピントシフトすると
シフトシた後へはMSBが入り、同図(1)(b)に示
す如く中間結果は−3となる。
この時のガードピットは同図(1)(c)に示す如く1
となり、スティッキービントは同図(d)に示す値の論
理和の1となる。これらはキャリイ検出回路CADET
内で行われる。
となり、スティッキービントは同図(d)に示す値の論
理和の1となる。これらはキャリイ検出回路CADET
内で行われる。
ここで、−66を5ビツト右シフトすると、−66x2
−5=−2,0625であり、小数点以下の値を丸める
と−2又は−3となる。
−5=−2,0625であり、小数点以下の値を丸める
と−2又は−3となる。
この場合の、桁落ちヒントの丸めには、中間結果に下記
に示ずRの値を加算して求める最近値、プラス方向、マ
イナス方向、ゼロ方向とする4つの方法がIEEE規格
により決められている。
に示ずRの値を加算して求める最近値、プラス方向、マ
イナス方向、ゼロ方向とする4つの方法がIEEE規格
により決められている。
R−■×■十■×■
R−■→−■
R=0
R−(■+■)XS
但し■はLSB、■はガードピント、■はスティッキー
ビント、Sは符号ピッI−(MSB) 、+は論理和、
×は論理積を示す。
ビント、Sは符号ピッI−(MSB) 、+は論理和、
×は論理積を示す。
このRの値を夫々加算すると、第9図(2)に示す如く
、最近値丸め及びプラス方向丸めは−2となり、マイナ
ス方向丸めは−3となり、ゼロ方向丸めは−2となる。
、最近値丸め及びプラス方向丸めは−2となり、マイナ
ス方向丸めは−3となり、ゼロ方向丸めは−2となる。
従って、−2とする場合はキャリイ検出回路CADET
から“1”が出力され、=3とする場合は“0”が出力
されて上記の丸め動作が加算器ADDにより行われるこ
ととなる。
から“1”が出力され、=3とする場合は“0”が出力
されて上記の丸め動作が加算器ADDにより行われるこ
ととなる。
〔発明の効果]
以上のように、本発明の浮動小数点数−固定小数点数変
換装置によれば、1サイクル目にIEEE標準浮動小数
点数の2の補数化信号を生成してアキュムレータに格納
し、2ナイクル口に8亥アキユムレークの該データをシ
フト計算部で求めたシフト数及び方向だけバレルシフタ
回路でシフトシ、このシフトの際にオーバーフローが生
した時ばりリップ部でクリップしてアキュムレータに再
度格納し、3サイクル目では、2サイクル目でバレルシ
フタ回路がキャリイ検出していた場合には2サイクル目
のアキュムレータのデータにそのキャリイヒントが付加
されて最終的な固定小数点数としてアキュムレータに格
納されるように構成したので、I EEE標準浮動小数
点数をオーバーフロー処理及び丸め処理を含めて固定小
数点数に変換することができ、演算精度を向上させるこ
とができる。
換装置によれば、1サイクル目にIEEE標準浮動小数
点数の2の補数化信号を生成してアキュムレータに格納
し、2ナイクル口に8亥アキユムレークの該データをシ
フト計算部で求めたシフト数及び方向だけバレルシフタ
回路でシフトシ、このシフトの際にオーバーフローが生
した時ばりリップ部でクリップしてアキュムレータに再
度格納し、3サイクル目では、2サイクル目でバレルシ
フタ回路がキャリイ検出していた場合には2サイクル目
のアキュムレータのデータにそのキャリイヒントが付加
されて最終的な固定小数点数としてアキュムレータに格
納されるように構成したので、I EEE標準浮動小数
点数をオーバーフロー処理及び丸め処理を含めて固定小
数点数に変換することができ、演算精度を向上させるこ
とができる。
第1図は本発明に係る浮動小数点数−固定小数点数変換
装置を概念的に示した図、 第2図及び第3図は本発明に係る浮動小数点数−固定小
数点数変換装置の動作を説明するための状態遷移図、 第4図は本発明に係る浮動小数点数−固定小数点数変換
装置に用いる変換部でのフォーマット変換図、 第5図は本発明に係る浮動小数点数−固定小数点数変換
装置の一実施例を示す回路図、第6図は本発明に係る浮
動小数点数−固定小数点数変換装置に用いる演算制御部
の入出力信号を示す図、 第7図は本発明に係る浮動小数点数−固定小数点数変換
装置の一実施例のタイムチャート図、第8図及び第9図
は本発明に係る浮動小数点数−固定小数点数変換装置に
用いるバレルシフタ回路の動作を説明するための図、 第10図はI EEE形式の浮動小数点数表現を示した
図、である。 第1図において、■・・・変換部、2・・・加算器、3
・・・シフト計算部、4・・バレルシフタ回路、5・・
・選択器、6・・・クリップ部、7・・・アキュムレー
タ、8・・・演算制御部。 図中、同一符号は同−又は相当部分を示す。 MSB 第10図
装置を概念的に示した図、 第2図及び第3図は本発明に係る浮動小数点数−固定小
数点数変換装置の動作を説明するための状態遷移図、 第4図は本発明に係る浮動小数点数−固定小数点数変換
装置に用いる変換部でのフォーマット変換図、 第5図は本発明に係る浮動小数点数−固定小数点数変換
装置の一実施例を示す回路図、第6図は本発明に係る浮
動小数点数−固定小数点数変換装置に用いる演算制御部
の入出力信号を示す図、 第7図は本発明に係る浮動小数点数−固定小数点数変換
装置の一実施例のタイムチャート図、第8図及び第9図
は本発明に係る浮動小数点数−固定小数点数変換装置に
用いるバレルシフタ回路の動作を説明するための図、 第10図はI EEE形式の浮動小数点数表現を示した
図、である。 第1図において、■・・・変換部、2・・・加算器、3
・・・シフト計算部、4・・バレルシフタ回路、5・・
・選択器、6・・・クリップ部、7・・・アキュムレー
タ、8・・・演算制御部。 図中、同一符号は同−又は相当部分を示す。 MSB 第10図
Claims (1)
- 【特許請求の範囲】 IEEE標準浮動小数点数を格納するアキュムレータ(
7)と、 該浮動小数点数を、その符号ビットに合わせてフォーマ
ット変換する変換部(1)と、 該変換部(1)の出力と該符号を示すビットにより2の
補数化信号を発生する加算器(2)と、該浮動小数点数
の指数部からシフト数及びシフト方向を発生してラッチ
するシフト計算部(3)と、該シフト数及びシフト方向
により該浮動小数点数をシフトするバレルシフタ回路(
4)と、該加算器(2)の出力又は該バレルシフタ回路
(4)の出力を選択する選択器(5)と、 該バレルシフタ回路(4)がオーバーフローした時のみ
該選択器(5)の出力をクリップして該アキュムレータ
(7)に与えるクリップ部(6)と、1サイクル目に該
浮動小数点数の符号ビットに応じて該変換部(1)に制
御信号を与え、2サイクル目に該シフト計算部(3)の
ラッチされた値を出力させ、1サイクル目及び3サイク
ル目に該加算器(2)の出力を、2サイクル目に該バレ
ルシフタ回路(4)の出力をそれぞれ選択するように該
選択器(5)を制御し該バレルシフタ回路(4)がキャ
リイ検出した時、3サイクル目に該キャリイ信号に基づ
いて該加算器(2)に丸め信号を与える演算制御部(8
)と、 を備えたことを特徴とする浮動小数点数−固定小数点数
変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033102A JP2509279B2 (ja) | 1988-02-16 | 1988-02-16 | 浮動小数点数一固定小数点数変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033102A JP2509279B2 (ja) | 1988-02-16 | 1988-02-16 | 浮動小数点数一固定小数点数変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01207823A true JPH01207823A (ja) | 1989-08-21 |
JP2509279B2 JP2509279B2 (ja) | 1996-06-19 |
Family
ID=12377300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63033102A Expired - Fee Related JP2509279B2 (ja) | 1988-02-16 | 1988-02-16 | 浮動小数点数一固定小数点数変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2509279B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5508948A (en) * | 1991-03-19 | 1996-04-16 | Fujitsu Limited | Numeric representation converting apparatus and vector processor unit such apparatus |
JP2002271207A (ja) * | 2001-03-13 | 2002-09-20 | Asahi Kasei Microsystems Kk | データ変換装置およびデータ圧縮装置およびデータ伸長装置 |
JP2004213622A (ja) * | 2002-12-27 | 2004-07-29 | Arm Ltd | 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法 |
KR100443395B1 (ko) * | 2000-11-13 | 2004-08-23 | 엔이씨 일렉트로닉스 가부시키가이샤 | 축소된 회로 규모로 고정 소수점 데이터를 생성하는 회로및 방법 |
US8434036B2 (en) | 2009-01-20 | 2013-04-30 | Sony Corporation | Arithmetic program conversion apparatus, arithmetic program conversion method, and program |
-
1988
- 1988-02-16 JP JP63033102A patent/JP2509279B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5508948A (en) * | 1991-03-19 | 1996-04-16 | Fujitsu Limited | Numeric representation converting apparatus and vector processor unit such apparatus |
KR100443395B1 (ko) * | 2000-11-13 | 2004-08-23 | 엔이씨 일렉트로닉스 가부시키가이샤 | 축소된 회로 규모로 고정 소수점 데이터를 생성하는 회로및 방법 |
US7263539B2 (en) | 2000-11-13 | 2007-08-28 | Nec Electronics Corporation | Circuit and method for generating fixed point data with reduced circuit scale |
JP2002271207A (ja) * | 2001-03-13 | 2002-09-20 | Asahi Kasei Microsystems Kk | データ変換装置およびデータ圧縮装置およびデータ伸長装置 |
JP4575609B2 (ja) * | 2001-03-13 | 2010-11-04 | 旭化成エレクトロニクス株式会社 | データ変換装置 |
JP2004213622A (ja) * | 2002-12-27 | 2004-07-29 | Arm Ltd | 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法 |
US8434036B2 (en) | 2009-01-20 | 2013-04-30 | Sony Corporation | Arithmetic program conversion apparatus, arithmetic program conversion method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2509279B2 (ja) | 1996-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108139885B (zh) | 浮点数舍入 | |
US6175851B1 (en) | Fast adder/subtractor for signed floating point numbers | |
US4831575A (en) | Apparatus for conversion between IEEE standard floating-point numbers and two's complement floating-point numbers | |
US6205462B1 (en) | Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously | |
JPH10161850A (ja) | 絶対値比較回路 | |
CN115658008A (zh) | 一种资源复用型超越函数运算实现方法 | |
US5181184A (en) | Apparatus for multiplying real-time 2's complement code in a digital signal processing system and a method for the same | |
JPH01207823A (ja) | 浮動小数点数一固定小数点数変換装置 | |
US6151612A (en) | Apparatus and method for converting floating point number into integer in floating point unit | |
WO1991018355A1 (en) | Integrated interpolator and method of operation | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JPH07234778A (ja) | 演算回路 | |
US6047305A (en) | Division circuit not requiring taking complements of divisor, dividend and remainder | |
JPH096595A (ja) | 演算結果の表示方法 | |
JP2000311079A (ja) | 実数演算器 | |
JP2578482B2 (ja) | 浮動小数点演算器 | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
CN114895868B (zh) | 基于两位商计算的除法运算单元及除法器 | |
JP2803506B2 (ja) | 除算器 | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP2761145B2 (ja) | 開平演算装置 | |
JP4042215B2 (ja) | 演算処理装置およびその方法 | |
JPH08147146A (ja) | 除算演算装置 | |
JP3077880B2 (ja) | スティッキービット検出回路 | |
JPH06342367A (ja) | 乗算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |