JP2000347832A - 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置 - Google Patents

浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置

Info

Publication number
JP2000347832A
JP2000347832A JP11162056A JP16205699A JP2000347832A JP 2000347832 A JP2000347832 A JP 2000347832A JP 11162056 A JP11162056 A JP 11162056A JP 16205699 A JP16205699 A JP 16205699A JP 2000347832 A JP2000347832 A JP 2000347832A
Authority
JP
Japan
Prior art keywords
data
bit
circuit
integer
output
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.)
Withdrawn
Application number
JP11162056A
Other languages
English (en)
Inventor
Shuji Fukagawa
周二 深川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11162056A priority Critical patent/JP2000347832A/ja
Priority to US09/444,845 priority patent/US6510446B1/en
Publication of JP2000347832A publication Critical patent/JP2000347832A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 浮動小数点データについて小数点以下部分の
切捨てや切上げによる整数化を高速かつ効率的に行なう
ことが可能な浮動小数点演算方式および浮動小数点装置
を提供する。 【解決手段】 本発明の浮動小数点演算方式は、入力デ
ータを受けるデータ入力ステップ10と、入力データF
rの指数部ビットデータに対して判定演算を実行して判
定演算値Xを出力するステップ30と、判定演算値Xの
結果に応じて場合分けを行ない、整数化を切上げおよび
切捨てのいずれによって実行するかを指示する指定信号
Cと、データFrの符号ビットSとの組合わせに応じ
て、出力データの各ビットの値を設定するステップ40
と、出力データFiを出力するステップ20とを備え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、浮動小数点デー
タの演算方式に関し、より特定的には、浮動小数点デー
タの小数点以下部分を切上げあるいは切捨てることによ
る整数化を効率的に行なうことが可能な浮動小数点演算
方式ならびに浮動小数点演算装置および当該装置を具備
する半導体集積回路装置に関するものである。
【0002】
【従来の技術】計算機内では、数値を一定個数のビット
を有するディジタルデータとして表現する必要があるた
め、実数データは、一般的に浮動小数点データによって
表現される。
【0003】浮動小数点データの形式については、32
ビット長のIEEE規格が一般的に採用されている。図
29は、IEEE規格の単精度浮動小数点データの構成
を示す概念図である。
【0004】図29を参照して、IEEE規格の単精度
浮動小数点データは、1ビットの符号ビットと、8ビッ
トの指数部と、23ビットの仮数部とを含む。一般に、
浮動小数点データで表現される実数Zは、下記(1)式
で示される。
【0005】 Z=(−1)s×(1+F)×2(e-b)…(1) (1)式中、Fは、8ビットの仮数部ビットによって表
わされる小数点以下部分である。Sは、符号ビットのデ
ータに対応し、eは、8ビットの指数部の10進数表示
に対応する。bは、指数を表わす場合におけるバイアス
値であり、規格ごとに予め定められた値が用いられる。
たとえば、単精度のIEEE規格浮動小数点データにお
いては、b=127であり、倍精度の浮動小数点データ
においては、b=1023に設定される。
【0006】すなわち、仮数部の各ビットについて先頭
ビットから順にs1,s2,s3,…,と番号を付ける
と、(1)式は下記(2)式のように展開される。
【0007】 (−1)s×(1+(s1×2-1)+(s2×2-2)+(s3×2-3)+…) × 2(e-b)…(2) このように、浮動小数点データを用いることによって、
指数部と仮数部との組合せによって、広範囲の実数デー
タを、精度よく表現することが可能となる。
【0008】
【発明が解決しようとする課題】計算機における幾何学
的な計算や図形の描画計算の実行等において、得られた
実数データに対して小数点以下のデータを切捨てあるい
は切上げることによって整数化する処置を高速かつ高頻
度に行なう必要が生じる場合がある。
【0009】このような場合において、浮動小数点デー
タは、指数部と仮数部との組合せで広範囲の実数値を表
現するためのものであるから、両者の組合せによって、
実数データに含まれる小数点以下のデータの桁数はまち
まちである。よって、浮動小数点データの整数化を効率
的に行なうためには、特別な方法を考える必要がある。
【0010】この発明の目的は、浮動小数点データにつ
いて小数点以下の切捨てや切上げを効率的に行ない整数
化することが可能な浮動小数点演算方式ならびに浮動小
数点演算装置および当該装置を具備した半導体集積回路
装置の構成を提供することである。
【0011】
【課題を解決するための手段】請求項1記載の浮動小数
点演算方式は、符号ビットと、Mビットの指数部(M:
自然数)と、Nビットの仮数部(N:自然数)とを有す
る2進数の浮動小数点データの整数化を行なう浮動小数
点演算方式であって、入力データの指数部に対応する1
0進数値から所定のバイアス値を差し引いた演算結果X
(X:整数)を出力するステップと、演算結果Xと、入
力データの正負と、整数化を切上げおよび切捨てのいず
れによって実行するかを指示するための整数化指定信号
との組み合わせに応じて、出力整数データの各ビットを
設定するステップとを備える。
【0012】請求項2記載の浮動小数点演算方式は、請
求項1記載の浮動小数点演算方式であって、出力整数デ
ータの各ビットを設定するステップは、演算結果XがM
より大きい場合に、出力整数データの各ビットを入力デ
ータの各ビットと同一の値に設定するステップと、演算
結果Xが0より小さい場合に、入力データの正負と整数
化指定信号との組み合わせに応じて、出力整数データの
各ビットを設定するステップと、演算結果Xが0以上か
つM以下である場合に、入力データの正負と整数化指定
信号との組み合わせに応じて、出力整数データの各ビッ
トを設定するステップとを含む。
【0013】請求項3記載の浮動小数点演算方式は、請
求項2記載の浮動小数点演算方式であって、演算結果X
が0より小さい場合に出力整数データの各ビットを設定
するステップは、10進数値の0に対応する浮動小数点
データの指数部および仮数部のビット列を有する(M+
N)ビットの第1固定値データと、10進数値の1に対
応する浮動小数点データの指数部および仮数部のビット
列を有する(M+N)ビットの第2固定値データとを発
生するステップと、正の入力データに対して切上げによ
る整数化が指示された場合および、負の入力データに対
して切捨てによる整数化が指示された場合において、出
力整数データの指数部および仮数部の各ビットに第1固
定値データを設定するステップと、負の入力データに対
して切上げによる整数化が指示された場合および、正の
入力データに対して切捨てによる整数化が指示された場
合において、出力整数データの指数部および仮数部の各
ビットに第2固定値データを設定するステップと、出力
整数データの符号ビットを、入力データの符号ビットと
同一の値に設定するステップとを有する。
【0014】請求項4記載の浮動小数点演算方式は、請
求項2記載の浮動小数点演算方式であって、演算結果X
が0以上かつM以下である場合に出力整数データの各ビ
ットを設定するステップは、負の入力データに対して切
上げによる整数化が指示された場合および、正の入力デ
ータに対して切捨てによる整数化が指示された場合にお
いて、第1ビットから第(M+X)ビットは入力データ
の対応するビットと同一の値を有し、かつ、第(M+X
+1)ビット以降は0の値を有する(M+N)ビットの
切捨てデータの各ビットを出力整数データの指数部およ
び仮数部の各ビットに設定するステップと、正の入力デ
ータに対して切上げによる整数化が指示された場合およ
び、負の入力データに対して切捨てによる整数化が指示
された場合において、第(M+X)ビットについてのみ
1の値を有するとともに、他の各ビットについては0の
値を有する(M+N)ビットのインクリメントデータ
と、切捨てデータとの加算によって得られる切上げデー
タの各ビットを、出力整数データの指数部および仮数部
の各ビットに設定するステップと、出力整数データの符
号ビットを、入力データの符号ビットと同一の値に設定
するステップとを有する。
【0015】請求項5記載の浮動小数点演算装置は、符
号ビットと、Mビットの指数部(M:自然数)と、Nビ
ットの仮数部(N:自然数)とを有する2進数の浮動小
数点データの整数化を行なう浮動小数点演算装置であっ
て、入力データを受ける入力回路と、入力データの指数
部に対応する10進数値から所定のバイアス値を差し引
いた演算結果X(X:整数)を出力する指数部演算回路
と、演算結果Xと、入力データの正負と、整数化を切上
げおよび切捨てのいずれによって実行するかを指示する
ための整数化指定信号との組み合わせに応じて、出力整
数データの各ビットを設定する整数化データ設定回路
と、出力整数データを出力する出力回路とを備える。
【0016】請求項6記載の浮動小数点演算装置は、請
求項5記載の浮動小数点演算装置であって、整数化デー
タ設定回路は、入力回路から入力データの指数部および
仮数部の各ビットを受けて、演算結果Xに応じて、入力
されたビット列のうちの小数点以下データを表わすビッ
トを0にクリアすることによって得られる(M+N)ビ
ットの切捨てデータを発生する小数部切捨て回路と、切
捨てデータを受けて、切捨てデータで表される10進数
値を1だけインクリメントして得られる整数値に対応す
る浮動小数点データの指数部および仮数部のビット列を
有する(M+N)ビットの切上げデータを発生する小数
部切上げ回路と、10進数値の0に対応する浮動小数点
データの指数部および仮数部のビット列を有する(M+
N)ビットの第1固定値データおよび、10進数値の1
に対応する浮動小数点データの指数部および仮数部のビ
ット列を有する(M+N)ビットの第2固定値データを
発生する固定値出力回路と、演算結果Xと、入力データ
の正負と、整数化を切上げおよび切捨てのいずれによっ
て実行するかを指示するための整数化指定信号との組み
合わせに応じて、切捨てデータと、切上げデータと、第
1固定値データと、第2固定値データとのうちのいずれ
か1つを選択して、出力整数データの指数部および仮数
部の各ビットのデータを設定するとともに、出力整数デ
ータの符号ビットを、入力データの符号ビットと同一の
値に設定する出力データ選択回路とを含む。
【0017】請求項7記載の浮動小数点演算装置は、請
求項6記載の浮動小数点演算装置であって、小数部切捨
て回路は、入力データの指数部および仮数部に相当する
(M+N)ビットの補助データと演算結果Xとを受け
て、切捨てデータの第1ビットから第(M+X)ビット
については補助データの対応する各ビットと同一の値を
設定するとともに、切捨てデータの第(M+X+1)ビ
ット以降については0の値を設定し、小数部切上げ回路
は、第Xビットのみが1に設定されるとともに、他の各
ビットについては0が設定される(M+N)ビットのイ
ンクリメントデータを発生するインクリメントデータ発
生回路と、切捨てデータとインクリメントデータとを加
算して切上げデータを出力するための加算回路とを有す
る。
【0018】請求項8記載の浮動小数点演算装置は、請
求項6記載の浮動小数点演算装置であって、出力データ
選択回路は、切上げデータと切捨てデータとを受けて、
入力データの正負と整数化指定信号との組み合わせに応
じて、いずれか一方を出力する第1のセレクタ回路と、
第1固定値データと第2固定値データとを受けて、入力
データの正負と整数化指定信号との組み合わせに応じ
て、いずれか一方を出力する第2のセレクタ回路と、第
1のセレクタ回路の出力データおよび第2のセレクタ回
路の出力データを受けて、出力整数データの指数部およ
び仮数部の各ビットに設定するためにいずれか一方を出
力する第3のセレクタ回路とを含み、第3のセレクタ回
路は、演算結果Xが0以上である場合には、第1のセレ
クタ回路の出力データを出力し、演算結果Xが0より小
さい場合には、第2のセレクタ回路の出力データを出力
し、出力データ選択回路は、出力整数データの符号ビッ
トを入力データの符号ビットと同一の値に設定する第4
のセレクタ回路をさらに含む。
【0019】請求項9記載の浮動小数点演算装置は、請
求項7記載の浮動小数点演算装置であって、出力データ
選択回路は、第3のセレクタ回路の出力データと、入力
データの指数部および仮数部のビット列を有するサブ入
力データとを受けて、演算結果XがM以上である場合に
は、サブ入力データの各ビットの値を出力整数データの
指数部および仮数部の各ビットに設定し、演算結果Xが
Mより小さい場合には、第3のセレクタ回路の出力デー
タを出力整数データの指数部および仮数部の各ビットに
設定する第5のセレクタ回路をさらに含む。
【0020】請求項10記載の浮動小数点演算装置は、
請求項7記載の浮動小数点演算装置であって、出力デー
タ選択回路は、切捨てデータ発生回路と加算回路との間
に設けられる、第6のセレクタ回路を含み、第6のセレ
クタ回路は、第1固定値データと第2固定値データと切
捨てデータとを受けて、演算結果Xが0以上である場合
には、切捨てデータを出力し、演算結果Xが0より小さ
い場合においては、入力データの正負と整数化指定信号
との組み合わせに応じて、第1固定値データおよび第2
固定値データのいずれか一方を出力し、出力データ選択
回路は、第6のセレクタ回路の出力データと加算回路の
出力データとを受けて、入力データの正負と整数化指定
信号との組み合わせに応じて、いずれか一方を出力整数
データの指数部および仮数部の各ビットに設定するため
に出力するセレクタ回路と、出力整数データの符号ビッ
トを入力データの符号ビットと同一の値に設定するセレ
クタ回路とをさらに含む。
【0021】請求項11記載の浮動小数点演算装置は、
請求項7記載の浮動小数点演算装置であって、出力デー
タ選択回路は、入力回路と切捨てデータ発生回路との間
に設けられる、第6のセレクタ回路を含み、第6のセレ
クタ回路は、第1固定値データと第2固定値データと入
力データの指数部および仮数部のビット列を有するサブ
入力データとを受けて、演算結果Xが0以上である場合
には、サブ入力データを出力し、演算結果Xが0より小
さい場合においては、入力データの正負と整数化指定信
号との組み合わせに応じて、第1固定値データおよび第
2固定値データのいずれか一方を出力し、小数部切捨て
回路は、第6のセレクタ回路の出力データを入力とし
て、切捨てデータを発生し、出力データ選択回路は、切
捨てデータと加算回路の出力データとを受けて、入力デ
ータの正負と整数化指定信号との組み合わせに応じて、
いずれか一方を出力整数データの指数部および仮数部の
各ビットに設定するために出力するセレクタ回路と、出
力整数データの符号ビットを入力データの符号ビットと
同一の値に設定するセレクタ回路とをさらに含む。
【0022】請求項12記載の浮動小数点演算装置は、
請求項7記載の浮動小数点演算装置であって、インクリ
メントデータ発生回路は、入力データの正負と整数化指
定信号との組み合わせに応じて、インクリメントデータ
および全ビットの値が0である(M+N)ビットのダミ
ー加算データのいずれか一方を出力する。
【0023】請求項13記載の浮動小数点演算装置は、
請求項12記載の浮動小数点演算装置であって、出力デ
ータ選択回路は、第1固定値データと第2固定値データ
とを受けて、入力データの正負と整数化指定信号との組
み合わせに応じて、いずれか一方を出力する第2のセレ
クタ回路と、加算回路の出力データおよび第2のセレク
タ回路の出力データを受けて、いずれか一方を出力整数
データの指数部および仮数部の各ビットに設定するため
に出力する第3のセレクタ回路とを含み、第3のセレク
タ回路は、演算結果Xが0以上である場合には、加算回
路の出力データを出力し、演算結果Xが0より小さい場
合には、第2のセレクタ回路の出力データを出力し、出
力データ選択回路は、出力整数データの符号ビットを入
力データの符号ビットと同一の値に設定する第4のセレ
クタ回路をさらに含む。
【0024】請求項14記載の半導体集積回路装置は、
外部からの命令信号に応じて、所定のデータ処理を実行
する半導体集積回路装置であって、外部との間で信号の
授受を行なう入出力回路と、命令信号を実行するために
内部制御信号を発生するコントロール回路と、データを
記憶するためのメモリ回路と、半導体集積回路装置内の
各回路との間で、命令信号およびデータを伝達するため
のシステムバスと、2進数の浮動小数点データの整数化
を実行する機能を有する専用演算回路とを備え、専用演
算回路は、内部制御信号に応じて、専用演算回路の動作
を制御するロジック回路と、ロジック回路の指示に応じ
て、データを記憶する補助メモリ回路と、ロジック回路
の指示に応じて、浮動小数点データを整数化する浮動小
数点演算回路とを含み、浮動小数点データは、符号ビッ
トと、Mビットの指数部(M:自然数)と、Nビットの
仮数部(N:自然数)とを有し、浮動小数点演算回路
は、入力データを受ける入力回路と、入力データの指数
部に対応する10進数値から所定のバイアス値を差し引
いた演算結果X(X:整数)を出力する指数部演算回路
と、演算結果Xと、入力データの正負と、整数化を切上
げおよび切捨てのいずれによって実行するかを指示する
ための整数化指定信号との組み合わせに応じて、出力整
数データの各ビットを設定する整数化データ設定回路
と、出力整数データを出力する出力回路とを有する。
【0025】
【発明の実施の形態】以下において、本発明の実施の形
態について図面を参照して詳しく説明する。なお、図中
において同一符号は同一または相当部分を示す。
【0026】[データ形式の変換を伴った整数化]図1
は実施の形態1を説明するための浮動小数点演算方式の
フローチャートである。
【0027】図1に示した浮動小数点演算方式は、入力
データである浮動小数点データを、一旦固定小数点デー
タに変換し、小数点以下を表わすビット数が一定である
固定小数点データについて小数点以下部分の切上げもし
くは切捨て処置を行なって、得られた整数値データを再
び浮動小数点データに変換するものである。
【0028】図1の浮動小数点演算方式は、浮動小数点
データFrを入力する入力ステップ10と、入力データ
Frを固定小数点形式データDrに変換するステップ1
2と、実数の固定小数点データDrを小数点以下部分の
切捨てもしくは切上げ処置によって整数データDiに変
換するステップ15とを含む。
【0029】ステップ15は、固定小数点データDrの
小数点以下部分を切捨てて中間データDnを出力するス
テップ16と、切捨てによる整数化が指示されている場
合において、中間データDnを整数化データDiとして
出力するステップ17と、切上げによる整数化が指示さ
れている場合に、中間データDnに1を加えて整数デー
タDiとして出力するステップ18とを有する。
【0030】ステップ17もしくはステップ18によっ
て得られた整数化データDiは、ステップ19によって
再び浮動小数点データに変換される。この結果、整数化
された浮動小数点データFiが得られ、ステップ20に
おいて出力整数データとして得られる。
【0031】図2は、図1の浮動小数点演算方式を実現
するための浮動小数点演算装置1000の構成を示すブ
ロック図である。
【0032】図2を参照して、浮動小数点演算装置10
00は、浮動小数点データFrを入力データとして受け
て、固定小数点形式データDrに変換するデータ形式変
換回路1010と、固定小数点形式データDrを受けて
小数点以下部分を切捨てもしくは切上げることにより整
数化データDiを得る整数化回路1020と、整数化デ
ータDiを再び浮動小数点データに変換して出力整数デ
ータFiを出力するデータ形式変換回路1030とを備
える。
【0033】データ形式変換回路1010の機能は、図
1中のステップ12に相当する。同様に、整数化回路1
020は、ステップ15に対応し、データ形式変換回路
1030は、ステップ19に対応する。
【0034】このように、浮動小数点データを一旦固定
小数点形式データに変換すれば、小数点以下部分の切上
げおよび切捨てについては、対象となるビット数を一定
にできるため、統一化された回路によって浮動小数点デ
ータの整数化を行なうことができる。
【0035】[実施の形態1]しかしながら、図1およ
び図2で説明した浮動小数点演算方式による整数化にお
いては、図1のステップ12およびステップ19に相当
するデータ形式の変換を2回実行するために、データ形
式変換回路1010,1030に相当する回路を設ける
必要があるとともに、動作の高速化を図ることが困難で
ある。
【0036】さらに、広範囲の実数データに対応して整
数化を行なうためには、中間的に取扱う固定小数点形式
データのビット幅を多く取る必要がある。このため、整
数化回路1020のゲート規模は大きなものとなってし
まう。
【0037】本発明の実施の形態1の浮動小数点演算方
式においては、浮動小数点データのの指数部に着目し、
指数部の値に応じて、適切な処理ステップを設けること
によって浮動小数点データの整数化を効率的に実行す
る。
【0038】なお、以下本発明の実施の形態において
は、浮動小数点データとして32ビット長のIEEE規
格データの単精度データを取扱うが、後の説明で明らか
になるとおり、本発明の適用はこのような場合に限定さ
れるものではない。すなわち、他の拡張された浮動小数
点データについても、ビット数やバイアス値の変更等を
適切に行なうことによって、同様に適用することが可能
となる。
【0039】図3は、本発明の実施の形態1の浮動小数
点演算方式を示すフローチャートである。
【0040】実施の形態1の浮動小数点演算方式は、整
数化を切上げおよび切捨てのいずれによって実行するか
を指示するための指定信号Cに応じて、浮動小数点形式
の入力データFrの整数化を行なって、出力整数データ
Fiの各ビットのデータを設定する。指定信号Cは、切
上げによる整数化が指示されている場合には「1」が設
定され、切捨てによる整数化が指示されている場合には
「0」が設定される。
【0041】実施の形態1の浮動小数点演算方式は、入
力データFrを受けるデータ入力ステップ10と、入力
データFrの指数部データに対して判定演算を実行する
ステップ30と、ステップ30で得られた指数部判定演
算値Xと、指定信号Cと、データFrの符号ビットSと
の値に応じて、出力整数データFiの符号ビット、指数
部および仮数部の各ビットの値を設定するステップ40
と、出力整数データFiを出力するステップ20とを備
える。
【0042】図3で述べたように、実施の形態1の浮動
小数点演算方式においては、まず入力データの指数部に
対して判定演算を実行する。この判定演算式は、下式
(3)で与えられる簡単な整数の演算である。
【0043】X=e−127…(3) (3)式において、eは、入力データFiの指数部の8
ビットデータの10進数表示値である。指数部判定演算
値Xはeからバイアス値を引いた値である。本実施の形
態においては、単精度の浮動小数点データを考えている
ので、バイアス値は(3)式に示したように127で与
えられる。
【0044】この指数部判定演算値Xに応じて3つの場
合分けを行なうことにより、浮動小数点データの小数点
以下の切捨ておよび切上げによる整数化を効率的に実行
することが可能となる。
【0045】図4は、指数部判定演算値Xに対する整数
化方法の場合分けを説明するための図である。
【0046】図4を参照して、演算結果Xに対して、X
<0、0≦X≦23、およびX>23の3つのケースに
ついての場合分けを考える。それぞれの場合において、
入力データの符号ビットおよび指定信号Cの値の組合せ
によって異なる出力整数データが設定される。上記の場
合分けの基準となる数のうち、「23」は、浮動小数点
データの仮数部のビット数に対応するものである。
【0047】まず、X<0の場合においては、入力され
た浮動小数点データFrが表わすデータの10進数表示
は、−1<Fr<1である。つまり、この場合において
は、切捨ておよび切上げのいずれの場合においても出力
される整数データは固定的なものとなる。すなわち、入
力データの符号ビットおよび切捨て/切上げ信号の組合
せに応じて、10進数表示の−1,0,1のいずれか1
つに対応する浮動小数点データが出力整数データFiと
して設定される。
【0048】また、X>23の場合、すなわちXの値が
仮数部のビット数を超えている場合においては、仮数部
のデータには既に小数点以下のデータが含まれていない
ことを示す。このため、この場合には、小数点以下部分
の切捨てもしくは切上げ動作を行なう必要はなく、入力
データの各ビットをそのまま出力整数データFiの各ビ
ットに設定することで、整数化された浮動小数点データ
を得ることができる。
【0049】0≦X≦23の場合においては、まず、入
力データの小数点以下を切捨てたデータに相当する切捨
てデータを、符号ビットSと仮数部ビットのすべてと、
仮数部ビットFの上位Xビット上までの値をそのまま残
し、X+1ビット目以降の仮数部データの値を0に設定
することによって得る。
【0050】図5は、切捨てデータの設定方法を説明す
る図である。図5には、指数部判定演算値X=3の場合
が示される。この場合においては、切捨てデータの符号
ビット、指数部の8ビットおよび仮数部の上位3ビット
については、入力データの各ビットがそれぞれそのまま
入力される。一方、切捨てデータの仮数部の4〜23ビ
ットについては、強制的に0が設定される。これによ
り、切捨てデータは、入力データが表現する実数データ
のうち、小数点以下に対応するデータを切捨てた状態と
なって設定される。
【0051】また、切捨てデータで表現された整数値に
「1」を加算することにより、入力データの小数点以下
を切上げたデータに相当する切上げデータを、上記切捨
てデータと指数部判定演算値Xに応じて設定されるイン
クリメントデータとの加算によって得ることができる。
【0052】図6は、インクリメントデータの設定方法
を説明するための図である。図6においても、指数部判
定演算値X=3の場合が示される。この場合において
は、インクリメントデータの仮数部の第3ビットのみに
1が設定され、その他のビットについてはすべて0が設
定される。これにより、指数部判定演算値Xに対応する
仮数部のビットにのみ1が設定され他のビットはすべて
0であるインクリメントデータが得られる。図5で説明
した切捨てデータとインクリメントデータとを加えるこ
とによって、切捨てデータで表現される整数値に1を加
えた値すなわち切上げデータを得ることが可能となる。
【0053】0≦X≦23の場合においては、入力デー
タの符号ビットSと指定信号Cとの組合せによって、上
記切上げデータおよび切捨てデータのいずれか一方を選
択して、出力整数データの設定を行なう。
【0054】まず、入力データFrが正の値(すなわち
符号ビットS=0)のときにおいては、指定信号Cによ
って切捨てによる整数化が指示されているときには、切
捨てデータをそのまま出力整数データFiの指数部およ
び仮数部として設定すればよい(図4中(A))。一
方、指定信号Cによって、切上げによる整数化が指定さ
れているときには、切捨てデータとインクリメントデー
タとを加算して得られる切上げデータを、出力整数デー
タFiの指数部および仮数部として設定する。(図4中
(B))。出力整数データの符号ビットについては、入
力データの符号ビットSと同一に設定すればよい。
【0055】一方、入力データFrが負の数(S=1)
であるときにおいては、切上げ時と切捨て時における処
置を入力データが正の数である場合と入れ換えて実行す
ればよい。すなわち、指定信号Cによって切捨てによる
小数化が指定されているときには、指数部および仮数部
のデータに図4中(B)と同様に切上げデータを設定
し、符号ビットSを1のままとして設定すればよい。ま
た、指定信号Cによって切上げによる整数化が指示され
ているときには、指数部および仮数部の各ビットについ
ては図4中(A)と同様に切捨てデータを設定し、符号
ビットSについては1を設定して出力整数データとすれ
ばよい。
【0056】このように、指数部判定演算値Xの結果に
応じて場合分けを行ない、符号ビットSおよび指定信号
Cの組合せに応じて、出力整数データの符号ビットと指
数部および仮数部の各ビットとを設定することによっ
て、固定小数点形式データへの変換を伴うことなく、入
力された浮動小数点データの整数化を実行することが可
能となる。
【0057】図7は、図4で説明した実施の形態1の浮
動小数点演算方式を詳細に説明するためのフローチャー
トである。
【0058】図7を参照して、実施の形態1の浮動小数
点演算方式は、浮動小数点データを入力するステップ1
0と、指数部データの判定演算を実行するステップ30
と、指数部判定演算値Xの値に応じて、出力整数データ
Fiの各ビットを設定するためのステップ41,42,
43を備える。
【0059】ステップ30は、上記(3)式の指数部判
定演算を実行するステップ32と、指数部判定演算値X
の結果について、X<0、0≦X≦23および23<X
の3通りについて場合分けを行なうためのステップ34
および36とを含む。
【0060】ステップ41は、X>23の場合に、出力
整数データFiの各ビットを設定するためのステップ5
0を含む。ステップ50は、出力整数データFiの各ビ
ットを、入力データFrの各ビットと等しい値に設定す
る。
【0061】ステップ43はX<0の場合に、出力整数
データFiの各ビットを設定する。ステップ43は、1
0進数表示の1および0に対応する浮動小数点データの
指数部および仮数部データを設定するためのステップ7
0と、指定信号Cと入力データの符号ビットSとの一致
比較を判定するステップ72とを含む。
【0062】図8は、ステップ43における、入力デー
タ符号ビットSと指定信号Cとの組合せに対応した出力
整数データFiの設定方法を説明する図である。
【0063】図8を参照して、既に図4でも説明したよ
うに、入力データが負であり切上げによる整数化が指示
されている場合、および入力データが負であり切捨てに
よる整数化が指示されている場合には、10進数表示の
0に対応する浮動小数点データを出力整数データすれば
よい。これらの場合には、符号ビットSと指定信号Cと
が一致する。
【0064】一方、入力データが負であり切捨てによる
整数化が指示されている場合、および入力データが正で
あり切上げによる整数化が指示されている場合において
は、出力整数データの指数部および仮数部のデータとし
て、10進数表示の1に対応する浮動小数点データを固
定データとして与え、出力整数データの符号ビットを入
力データの正負に応じて設定すればよい。これらの場合
には、符号ビットSと指定信号Cとは、不一致である。
【0065】再び図7を参照して、ステップ43は、符
号ビットSと指定信号Cとが一致した場合に、出力整数
データに固定データ「0」を設定するステップ74と、
符号ビットSと指定信号Cとが不一致の場合に、出力整
数データの指数部および仮数部の各ビットに固定データ
「1」に対応するデータを設定するステップ76と、入
力データの符号に応じて出力整数データFiの符号ビッ
トを設定するステップ78とを含む。
【0066】ステップ42は、0≦X≦23である場合
に、出力整数データを設定する。図9は、ステップ42
における符号データSと指定信号Cとの組合せに対応し
た出力整数データの設定方法を説明するための図であ
る。
【0067】図9を参照して、入力データが負であり切
上げによる整数化が指定されている場合、および入力デ
ータが正で切捨てによる整数化が指示されている場合に
おいては、出力整数データの指数部および仮数部の各ビ
ットには、図4中(A)で説明した切捨てデータを設定
するとともに、符号ビットについては入力データの符号
ビットに応じて決定すればよい。一方、入力データが負
で切捨てによる整数化が指示されている場合、および入
力データが正で切上げによる整数化が指示されている場
合においては、出力整数データの指数部および仮数部に
ついては図4中(B)で説明した切上げデータを設定
し、符号ビットについては、入力データの符号ビットに
応じて決定すればよい。
【0068】前者は、符号ビットSと指定信号Cとが一
致する場合に対応し、後者は、符号ビットSと指定信号
Cとが不一致の場合に対応する。
【0069】ステップ42は、指定信号Cと入力データ
の符号ビットSとの一致比較を判定するステップ60
と、符号ビットSと指定信号Cとが一致する場合に、出
力整数データFiの指数部および仮数部の各ビットに切
捨てデータを設定するステップ62と、入力データの正
負に応じて、出力整数データFiの符号ビットを設定す
るステップ64とを含む。
【0070】ステップ42は、さらに、指定信号Cと符
号ビットSが不一致である場合に、出力整数データFi
の仮数部および指数部の各ビットを、切上げデータに対
応して設定するステップ66と、出力整数データFiの
符号ビットを入力データの正負に応じて決定するステッ
プ68とを含む。
【0071】図7のフローチャートに基づいて、浮動小
数点データの整数化を行なうことにより、図4で説明し
た指数部判定演算値Xの値に応じた場合分けに従って、
出力整数データFiの各ビットを設定することができ、
固定小数点形式データの変換を伴うことなく、高速に浮
動小数点データの整数化を実行することが可能となる。
【0072】[実施の形態2]実施の形態2において
は、実施の形態1で説明した浮動小数点演算方式を実行
するための浮動小数点演算装置の構成について説明す
る。
【0073】図10は、本発明の実施の形態2の浮動小
数点演算装置100の構成を示す概略ブロック図であ
る。
【0074】図10を参照して、浮動小数点演算装置1
00は、浮動小数点データの入力データを受ける入力回
路110と、入力データの指数部の8ビットに対して判
定演算を実行し、指数部判定演算値Xを出力する指数部
データ判定回路120と、指数部判定演算値X、入力デ
ータの符号ビットSおよび指定信号Cとに応じて、出力
整数データFiの各ビットデータを設定する整数化回路
125と、出力整数データFi出力する出力回路190
とをさらに備える。
【0075】整数化回路125は、入力データの指数部
および仮数部のデータと指数部判定演算値Xとに応じて
切捨てデータを出力する切捨てデータ発生回路130
と、切捨てデータを1だけインクリメントした値に相当
する切上げデータを発生する切上げデータ発生回路15
0とを含む。
【0076】切上げデータ発生回路150は、指数部判
定演算値Xに応じてインクリメントデータを発生するイ
ンクリメントデータ発生回路140と、切捨てデータと
インクリメントデータとを加算する加算回路145とを
有する。
【0077】整数化回路125は、さらに、10進数表
示の「0」および「1」に対応する浮動小数点形式の固
定データを発生する固定値データ発生回路160を含
む。固定値データ発生回路160は、10進数表示の
「0」に対応する指数部および仮数部の各ビットを有す
る固定値データを発生する固定値データ発生補助回路1
62と、10進数表示の「1」に対応する指数部および
仮数部の各ビットを有する固定値データを発生する固定
値データ発生補助回路164とを有する。
【0078】整数化回路125は、指数部判定演算値
X、入力データの符号ビットSおよび指定信号Cとに応
じて、切捨てデータ、切上げデータ、および固定値デー
タのいずれか1つを出力整数データの指数部および仮数
部の各ビットに設定するとともに、出力整数データの符
号ビットを設定するデータ選択回路170を含む。
【0079】データ選択回路170は、出力整数データ
の指数部および仮数部ビットを設定するために切捨てデ
ータ、切上げデータおよび固定値データのうちの1つを
選択するセレクタSL1〜SL3と、出力整数データの
符号ビットを設定するためのセレクタSL4と、セレク
タSL1〜SL4を、指数部判定演算値X、符号ビット
Sおよび指定信号Cに応じて制御するセレクタ制御回路
175とを有する。
【0080】次に、図10に示した各回路の構成を、実
施の形態1で説明したフローチャートと対応付けて詳細
に説明する。
【0081】図11は、指数部データ判定回路120の
構成を説明するブロック図である。指数部データ判定回
路120は、図7のフローチャート中では、指数部演算
を実行するステップ32に相当する。指数部データ判定
回路120は、(3)式の指数演算(X=e−127)
を実行する指数部演算回路122と、指数部判定演算値
Xを切上げデータ発生回路、インクリメントデータ発生
回路およびセレクタ制御回路175にそれぞれ伝達する
ための切上げデータ発生回路コントロールロジック12
4、インクリメントデータ発生回路コントロールロジッ
ク126およびデータ選択回路コントロールロジック1
28を有する。浮動小数点データについても、指数部の
ビット数については、規格に応じて予め定められている
ので、指数部演算回路122における演算は、固定小数
点データ形式のもとで実行することができ、比較的簡単
な回路によって実行することができる。
【0082】図12は、切捨てデータ発生回路130の
構成を示すブロック図である。図12を参照して、切捨
てデータ発生回路130は、指数部判定演算値Xに応じ
て、切捨てデータの仮数部の各ビットを設定するための
マルチプレクサ131−1〜131−23を有する。各
マルチプレクサは、「0」のデータと、対応する入力デ
ータの仮数部のそれぞれのビットのデータとを受け、指
数部判定演算値Xに応じていずれか一方を出力する。具
体的には、図5で説明したように切捨てデータは設定さ
れるので、指数部判定演算値Xがたとえば3であった場
合においては、131−1〜131−3のマルチプレク
サは、入力データの仮数部の対応するビットデータを出
力し、131−4〜131−23の各マルチプレクサ
は、0のデータを出力し、切捨てデータの仮数部の各ビ
ットを設定する。また、切捨てデータの指数部について
は、入力データの指数部の各ビットのデータがそのまま
設定される。
【0083】図13は、インクリメントデータ発生回路
140の構成を示すブロック図である。
【0084】図13を参照して、インクリメントデータ
発生回路140は、インクリメントデータの仮数部の各
ビットを設定するためのマルチプレクサ141−1〜1
41−23を有する。各マルチプレクサは、0および1
のデータを受けて、指数部判定演算値Xに応じていずれ
か一方を出力する。具体的には、インクリメントデータ
は、図6で説明したように設定されるので、指数部判定
演算値Xに対応するマルチプレクサのみが「1」を出力
し、その他のマルチプレクサは、「0」を出力する。た
とえば、指数部判定演算値X=3である場合には、マル
チプレクサ141−3のみがデータ1を出力し、その他
のマルチプレクサ141−1,2,4〜23は、データ
0を出力する。
【0085】図14は、加算回路145の入出力データ
を示す図である。図14を参照して、加算回路145
は、切捨てデータ発生回路130から切捨てデータを受
け、さらにインクリメントデータ発生回路140からイ
ンクリメントデータを受けて、両者を加算して切上げデ
ータを出力する。切上げデータは、データ選択回路10
のセレクタSL1に伝達される。
【0086】図15は、データ選択回路170の構成を
示すブロック図である。図15を参照して、データ選択
回路170は、出力整数データの指数部および仮数部を
設定するためのセレクタSL1〜SL3と、出力整数デ
ータの符号ビットを設定するためのセレクタSL4とを
有する。データ選択回路170は、さらに指数部判定演
算値X、符号ビットSおよび指定信号Cに応じて、セレ
クタSL1〜SL4を制御するセレクタ制御信号SS1
〜SS4を発生するセレクタ制御回路175を有する。
【0087】セレクタSL1は、図5において指定信号
Cと符号ビットSとの一致比較を行なうステップ60に
相当し、セレクタ制御信号SS1に応じて切捨てデータ
および切上げデータのいずれか一方を出力する。セレク
タ制御回路175は、図9で説明した符号ビットSおよ
び指定信号Cの組合せに対応して、切捨てデータおよび
切上げデータの一方がセレクタSL1から出力されるよ
うにセレクタ制御信号SS1を設定する。
【0088】セレクタSL2は、図7中のステップ72
に対応し、セレクタ制御信号SS2に応じて、浮動小数
点形式の「0」に対応する固定データおよび浮動小数点
形式の「1」に対応する固定データのいずれか一方を出
力する。セレクタ制御回路175は、図8で説明した符
号ビットSと指定信号Cとの組合せに対応する固定デー
タの一方がセレクタSL2から出力されるようにセレク
タ制御信号SS2を設定する。
【0089】セレクタSL3は、セレクタSL1および
セレクタSL2の出力を受けて、セレクタ制御信号SS
3に応じていずれか一方を出力整数データの指数部およ
び仮数部データとして出力する。セレクタSL3は、図
7のフローチャート中においては、指数部判定演算値X
の場合分けを行なうステップ34に相当し、X<0の場
合には、SL2の出力を出力整数データの指数部および
仮数部として設定し、X≧0の場合には、セレクタSL
1の出力を、出力整数データの指数部および仮数部デー
タとして設定する。
【0090】セレクタSL4は、セレクタ制御信号SS
4に応じて出力整数データの符号ビットを設定する。セ
レクタ制御回路175は、入力データの符号ビットと出
力整数データの符号ビットとが同一になるようにセレク
タ制御信号SS4を設定する。
【0091】なお、Xが仮数部のビット数よりも大きい
場合、すなわちX≧23の場合には、入力データが既に
小数点以下を表わすデータを含んでいないため、入力デ
ータをそのまま出力整数データとして設定すればよいこ
とは既に説明したとおりである。X≧23の場合におい
ては、切捨てデータの各ビットは、入力データの各ビッ
トと同一に設定され、インクリメントデータは、すべて
のビットが0となるように設定される。これにより、得
られる切上げデータおよび切捨てデータの各ビットは、
いずれも入力データの各ビットと同一となる。よって、
X≧23の場合においても、0≧X≧23と同様の経路
によって出力整数データを設定することによって、所望
の出力整数データを得ることが可能である。
【0092】次に、浮動小数点演算装置100の動作
を、実際の数値例を用いて説明する。図16では、−1
3.625(10進数)の浮動小数点型入力データFr
を、切捨てによって整数化する場合について考える。
【0093】図16を参照して、入力データFrは、−
13.625(10進数)を、浮動小数点形式で表わし
たデータである。この場合、符号ビットS=1であり、
切捨てによる整数化が指示されているので指定信号C=
0となる。
【0094】まず、指数部データ判定回路120によっ
て指数部演算が実行される。指数部演算は、入力データ
の指数部8ビットで示されるe(10進数)とバイアス
値127との減算によって、下式(4)のように求めら
れる。
【0095】 X=e−127=10000010−01111111=00000011= 3(10進数)…(4) これにより、指数部判定演算値XとしてX=3が得られ
る。
【0096】入力データFrおよび指数部判定演算値X
に応じて、対応する切捨てデータDdwが切捨てデータ
発生回路130によって生成される。切捨てデータDd
wは、指数部の8ビットについては入力データと同一で
あり、仮数部については上位3ビットは入力データFr
と同一であるとともに、9ビット目以降についてはすべ
て0が設定されている。
【0097】指数部判定演算値Xに応じて、インクリメ
ントデータ発生回路140によってインクリメントデー
タDicが生成される。X=3であるため、インクリメ
ントデータDicは、仮数部の第3ビット目のみに
「1」が設定され、他のビットについてはすべて「0」
に設定されている。
【0098】加算回路145は、切捨てデータDdwと
インクリメントデータDicとを加算した切上げデータ
Dupを生成する。セレクタSL1は、切捨てデータD
dwおよび切上げデータDupを受ける。この場合にお
いては、符号ビットSは1であり、かつ指定信号C=0
であるので、既に図9で説明したように、切上げデータ
DupがSL1の出力として選択される。さらに、X≧
0であるため、セレクタSL1の出力である切上げデー
タDupは、そのまま出力整数データFiの仮数部およ
び指数部の各ビットについて設定される。一方、セレク
タSL4によって出力整数データFiの出力ビットが設
定される。入力データの符号ビットS=1であるため、
出力整数データの符号ビットも1に設定される。
【0099】このような動作を行なうことにより、浮動
小数点演算装置100の出力として10進数の「−1
4」に相当するFiが得られることとなる。
【0100】このように、実施の形態1で説明した浮動
小数点演算方式に基づいて、固定小数点型データへの変
換を伴うことなく、入力データと同一ビット数のデータ
を取り扱う回路のみによって浮動小数点データの整数化
を実行する浮動小数点演算装置100を得ることが可能
である。よって、データ形式の変換を行なう回路を設け
る必要がなく、かつ、各回路のゲート規模およびデータ
配線幅を比較的小さいものに抑制できるため、浮動小数
点データの整数化を高速にレイアウト的に有利な小さい
回路規模の下で実現することができる。
【0101】[実施の形態2の変形例1]以下において
は、実施の形態2で説明した浮動小数点演算装置100
の構成のバリエーションについて説明する。
【0102】図17は本発明の実施の形態2の変形例1
の浮動小数点演算装置200の全体構成を示すブロック
図である。
【0103】図17を参照して、浮動小数点演算装置2
00は、実施の形態2の浮動小数点演算装置100と比
較して、セレクタ制御回路175によって制御されるセ
レクタSL5をさらに備える点で異なる。
【0104】セレクタSL5は、セレクタSL3の出力
および入力データの指数部および仮数部のデータを受け
て、セレクタ制御信号SS5に応じて、いずれか一方を
出力整数データの指数部および仮数部の各ビットのデー
タを設定する。浮動小数点演算装置200のその他の構
成および動作については、浮動小数点演算装置100の
場合と同様であるので説明は繰返さない。
【0105】浮動小数点演算装置200は、指数部判定
演算値X≧23であり、入力データの各ビットをそのま
ま出力整数データとして設定すればよい場合におけるデ
ータ設定経路を独立して設けるものである。すなわち、
セレクタ制御信号SS5は、指数部判定演算値Xの値に
おいて設定され、X≦23の場合は、SL5の出力は、
SL3の出力とされる。一方、X>23の場合において
は、セレクタSL5の出力は、入力回路110より与え
られた入力データの指数部および仮数部の各ビットのデ
ータとなる。
【0106】このような構成とすることによって、X>
23の場合、すなわち入力データが既に小数部分のデー
タを含まない場合における、出力整数データの設定をよ
り簡易な制御のもとに実行することが可能である。
【0107】[実施の形態2の変形例2]図18は、本
発明の実施の形態2の変形例2の浮動小数点演算装置2
10の構成を示すブロック図である。
【0108】浮動小数点演算装置210は、実施の形態
2の浮動小数点演算装置100と比較して、切捨てデー
タ発生回路130と、加算回路145との間に、固定値
データ発生回路160およびセレクタSL6をさらに備
える点で異なる。また、浮動小数点演算装置210は、
浮動小数点演算装置100に具備されていたセレクタS
L2およびSL3を具備しない。
【0109】セレクタSL6は、セレクタ制御回路17
5の出力するセレクタ制御信号SS6に応じて動作す
る。浮動小数点演算装置210は、指数部判定演算値X
<0である場合には、インクリメントデータ発生回路1
40によって生成されるインクリメントデータの全ビッ
トが0となることを利用して、X<0の場合と0≦X≦
23の場合とのデータ設定経路を共通にすることによ
り、配線幅の軽減と、セレクタ回路の個数削減を目的と
するものである。
【0110】その他の構成および動作については浮動小
数点演算装置200の場合と同様であるので説明は繰返
さない。
【0111】セレクタ制御回路175は、X≧0の場合
においては、セレクタSL6の出力が切捨てデータとな
るようにセレクタ制御信号SS6を設定する。一方、X
<0の場合においては、セレクタ制御回路175は、既
に図8で説明した符号ビットSと指定信号Cとの組合せ
に対応して、固定データ「0」および固定データ「1」
のいずれか一方を出力するようにセレクタ制御信号SS
6を設定する。
【0112】X≧0の場合におけるインクリメントデー
タは、実施の形態2で説明したのと同様に設定される。
これにより、セレクタSL1の入力は切上げデータおよ
び切捨てデータの両方となる。
【0113】一方、X<0の場合においては、図に述べ
たようにインクリメントデータの全ビットが0に設定さ
れるので、セレクタSL6の出力と加算回路145の出
力とは同一のデータとなる。これにより、浮動小数点演
算装置200と同様のセレクタ制御信号SS1によって
制御されるセレクタSL1は、所定の固定データを出力
することができる。
【0114】また、X>23の場合においても、切捨て
データおよび切上げデータの両者が等しく設定されるた
め、実施の形態2で説明したように、所定の整数データ
をセレクタSL1の出力として得ることができる。この
ような構成とすることにより、指数部判定演算値Xの値
にかかわらず、データの経路を共通なものとすることが
でき、配線幅の軽減およびセレクタ個数の削減を実現す
ることが可能となる。
【0115】[実施の形態2の変形例3]図19は、本
発明の実施の形態2の変形例3の浮動小数点演算装置2
20の構成を示すブロック図である。
【0116】図19を参照して、浮動小数点演算装置2
20は、図18の浮動小数点演算装置210と比較し
て、固定値データ発生回路160およびセレクタSL6
を、切捨てデータ発生回路130と加算回路145との
間ではなく、入力回路110と切捨てデータ発生回路1
30の間に備える点で異なる。その他の構成および動作
については、浮動小数点演算装置210の場合と同様で
あるので説明は繰返さない。
【0117】このような構成とすることによっても、X
<0およびX≧23の場合における、インクリメントデ
ータは全ビットのデータが0に設定されるため、浮動小
数点演算装置210の場合と同様に、指数部判定演算値
Xの値にかかわらず、データの出力経路を共通なものと
することができる。これにより、配線幅の軽減や、セレ
クタ回路の個数の削減を図ることが可能となる。
【0118】[実施の形態2の変形例4]図20は、本
発明の実施の形態2の変形例4の浮動小数点演算装置2
30の構成を示すブロック図である。
【0119】図20を参照して、浮動小数点演算装置2
30は、実施の形態2の浮動小数点演算装置100と比
較して、インクリメントデータ発生回路140に代えて
インクリメントデータ発生回路142を備える点と、セ
レクタSL1が省略され加算回路145のデータが直接
セレクタSL3に入力されている点とが異なる。
【0120】インクリメントデータ発生回路142は、
実施の形態2のインクリメントデータ発生回路140の
機能に加えて、切上げデータと切捨てデータのいずれを
用いるかを選択したセレクタSL1の機能を併せ持つも
のである。すなわち、インクリメントデータ発生回路1
42は、指定信号Cと符号ビットSとの組合せに応じ
て、選択インクリメントデータを発生する。
【0121】図21は、インクリメントデータ発生回路
142における選択インクリメントデータの設定方法を
説明する図である。
【0122】図21を参照して、符号ビットSと指定信
号Cとが一致する場合、すなわち図9において切捨てデ
ータが採用されていた場合には、選択インクリメントデ
ータの全ビットが0に設定される。一方、符号ビットS
と指定信号Cとが不一致である場合、すなわち図9にお
いて切上げデータが選択されていた場合には、選択イン
クリメントデータには、従来と同様のインクリメントデ
ータが設定される。
【0123】加算回路145は、切捨てデータと選択イ
ンクリメントデータとを加算してセレクタSL3に出力
する。このように、インクリメントデータ発生回路14
2によって、符号データSと指定信号Cとの組合せに応
じた選択インクリメントデータの設定を行なう、加算回
路145の出力データは、浮動小数点演算装置200に
おけるセレクタSL3の入力データと同一のものとな
る。このような構成とすることにより、セレクタ個数の
削減を図り、より簡易な回路構成で、浮動小数点演算装
置200と同様の効果を得ることが可能となる。
【0124】[実施の形態2の変形例5]図22は、本
発明の実施の形態2の変形例5の浮動小数点演算装置2
40の構成を示すブロック図である。
【0125】図22を参照して、浮動小数点演算装置2
40は、浮動小数点演算装置230と比較して、セレク
タSL3の出力と入力回路からの入力データとを入力と
するセレクタSL5をさらに有する点で異なる。
【0126】浮動小数点演算装置240は、実施の形態
2の変形例4の浮動小数点装置230と、実施の形態2
の変形例1の浮動小数点演算装置200とを組合せたも
のに対応し、X≧23の場合における出力整数データの
設定をよりシンプルに行なうによって、制御ロジックの
構成を簡単なものとすることが可能である。
【0127】[実施の形態2の変形例6]図23は、本
発明の実施の形態2の変形例6の浮動小数点演算装置2
50の構成を示すブロック図である。
【0128】図23を参照して、浮動小数点演算装置2
50は、図20の浮動小数点演算装置230と比較し
て、固定値データ発生回路160およびセレクタSL6
を、切捨てデータ発生回路130と加算回路145との
間に備える点および、加算回路145の出力をセレクタ
を介さずに直接出力整数データの指数部および仮数部と
して設定する点で異なる。
【0129】浮動小数点演算装置250は、浮動小数点
演算装置230と、実施の形態2の変形例2の浮動小数
点演算装置210の構成とを組合せたものであり、浮動
小数点演算装置230によって得られる効果に加えて、
さらにセレクタ個数および配線幅の削減が可能となる。
【0130】[実施の形態2の変形例7]図24は、本
発明の実施の形態2の変形例7の浮動小数点演算装置2
60の構成を示すブロック図である。
【0131】図24を参照して、浮動小数点演算装置2
60は、図23の浮動小数点演算装置250と比較し
て、固定値データ発生回路160およびセレクタSL6
を、切捨てデータ発生回路130と加算回路145の間
ではなく、入力回路110と切捨てデータ発生回路13
0との間に備える点で異なる。その他の構成および動作
については、図23の浮動小数点演算装置250の場合
と同様であるので説明は繰返さない。
【0132】浮動小数点演算装置260は、浮動小数点
演算装置230と、実施の形態2の変形例3の浮動小数
点演算装置220の構成とを組合せたものであり、この
ような構成とすることによっても、浮動小数点演算装置
250と同様の効果を得ることができる。
【0133】[実施の形態2の変形例8]図25は、本
発明の実施の形態2の変形例6の浮動小数点演算装置2
70の構成を示すブロック図である。
【0134】図25を参照して、浮動小数点演算装置2
70は、実施の形態2の変形例6の浮動小数点演算装置
250と比較して、セレクタ制御回路175によって制
御されるセレクタSL5をさらに備える点で異なる。セ
レクタSL5は、加算回路145の出力および入力デー
タの指数部および仮数部のデータを受けて、セレクタ制
御信号SS5に応じて、いずれか一方を出力整数データ
の指数部および仮数部の各ビットのデータを設定する。
浮動小数点演算装置270のその他の構成および動作に
ついては、浮動小数点演算装置250の場合と同様であ
るので説明は繰返さない。
【0135】浮動小数点演算装置270は、浮動小数点
演算装置250と、実施の形態2の変形例1の浮動小数
点演算装置200の構成とを組合せたものであり、入力
データが既に小数部分のデータを含まない場合におけ
る、出力整数データの設定をより簡易な制御のもとに実
行することが可能である。
【0136】[実施の形態2の変形例9]図26は、本
発明の実施の形態2の変形例9の浮動小数点演算装置2
80の構成を示すブロック図である。
【0137】図26を参照して、浮動小数点演算装置2
80は、実施の形態2の変形例7の浮動小数点演算装置
260と比較して、セレクタ制御回路175によって制
御されるセレクタSL5をさらに備える点で異なる。セ
レクタSL5は、加算回路145の出力および入力デー
タの指数部および仮数部のデータを受けて、セレクタ制
御信号SS5に応じて、いずれか一方を出力整数データ
の指数部および仮数部の各ビットのデータを設定する。
浮動小数点演算装置870のその他の構成および動作に
ついては、浮動小数点演算装置260の場合と同様であ
るので説明は繰返さない。
【0138】浮動小数点演算装置280は、浮動小数点
演算装置260と、実施の形態2の変形例1の浮動小数
点演算装置200の構成とを組合せたものであり、この
ような構成とすることによっても浮動小数点演算装置2
70と同様の効果を得ることができる。
【0139】[実施の形態3]実施の形態3において
は、実施の形態2で説明した浮動小数点演算装置を具備
する半導体集積回路装置の構成について説明する。
【0140】図27は、本発明の実施の形態3の半導体
集積回路装置300の全体構成を示す概略ブロック図で
ある。
【0141】図27を参照して、実施の形態3の半導体
集積回路装置は、外部との間で命令信号や入出力データ
をやり取りするための入出力装置340と、半導体集積
回路装置内部においてデータおよび制御信号を伝達する
ためのシステムバス330と、システムバス330を介
して互いに接続されるMPU310と、データを保存す
るための主記憶装置320と、メモリ内蔵LSI350
とを備える。
【0142】MPU310は、外部からの命令をデコー
ドして実行するために、算術および論理演算を行ない、
内部制御信号を発生して半導体集積回路装置全体の動作
を制御する。主記憶装置320は、MPUの指示に基づ
いて、必要に応じてデータを記憶する。メモリ内蔵LS
Iは、浮動小数点型データの整数化が高頻度で発生する
動作を高速に実行するために設けられる専用LSIであ
る。
【0143】メモリ内蔵LSI350は、LSIの動作
を制御するロジック回路部370と、システムバス33
0との間のデータの伝達が可能なデータバス360と、
データを記憶するためのメモリ回路380とを含み、M
PUの生成する制御信号に応じて動作する。
【0144】メモリ内蔵LSI350は、さらに、実施
の形態2で説明した浮動小数点演算装置100を含む。
メモリ内蔵LSI350は、浮動小数点演算装置100
を備えることにより、浮動小数点型データの整数化を実
行する必要が生じた場合に、これを高速に動作し、その
結果をメモリ回路380に格納、あるいはシステムバス
330に出力することができる。
【0145】これにより、メモリ内蔵LSI350は、
画像処理における描画動作等の高頻度で浮動小数点型デ
ータの整数化を実行することが必要な動作を高速に実行
することが可能となる。また、浮動小数点演算装置とし
て、実施の形態2の変形例1〜7で説明した浮動小数点
演算装置200〜270を用いることももちろん可能で
ある。さらに、図15においては、浮動小数点演算装置
100をロジック回路部370と独立して設ける構成と
しているが、浮動小数点演算装置100を内部に取込ん
だロジック回路部によってメモリ内蔵LSI350を動
作させることによっても同様の効果を得ることができ
る。
【0146】[実施の形態3の変形例]図28は、本発
明の実施の形態3の変形例の半導体集積回路装置400
の全体構成を示す概略ブロック図である。
【0147】半導体集積回路装置400は、特に、画像
データ処理において、データの整数化を高頻度で実行す
る必要が生じる描画動作を高速に行なうことを目的とす
るものである。
【0148】図28を参照して、半導体集積回路装置4
00は、MPU310と、主記憶装置320と、システ
ムバス330と、入出力装置340と、ジオメトリエン
ジン等に代表される描画演算を高速に行なうための専用
LSI410と、描画データを扱う描画用LSI420
と、描画データを格納するフレームメモリ460と、描
画データを独立して入出力するための入出力装置470
とを備える。専用LSI410は、描画に用いられるジ
オメトリ変換等を高速に演算することが可能な特化され
たハードウェアを有する集積回路である。
【0149】描画用LSI420は、ロジック回路部4
40と、メモリ回路430および450と、浮動小数点
演算装置100とを含む。描画用LSI420において
は、メモリ回路が複数配置され、高速に入出力すること
が必要な描画データは、メモリ回路430に特化して取
扱われる。浮動小数点演算装置100は、メモリ回路4
30対応して設けられ、必要に応じて浮動小数点データ
の整数化をロジック回路部の指示に応じて高速に実行
し、整数化された浮動小数点型データはメモリ回路43
0に格納される。メモリ回路430に格納された描画デ
ータは、フレームメモリ460および入出力装置470
を介して外部との間で他の入出力データと独立して授受
される。
【0150】このような構成とすることにより、浮動小
数点演算装置100を含む、点線で囲んだ回路群500
によって、浮動小数点データの整数化処置を高速に実行
することでき、高頻度の整数化処置を伴う描画動作等の
動作を高速に実行することが可能となる。また、この場
合においても、浮動小数点演算装置として、実施の形態
2の変形例1〜7で説明した浮動小数点演算装置200
〜270を用いることが可能である。さらに、浮動小数
点演算装置100を内部に取込んだロジック回路部44
0によって描画用LSI420を動作させる構成として
も同様の効果を得ることができる。
【0151】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0152】
【発明の効果】請求項1記載の浮動小数点演算方式は、
浮動小数点データの切上げおよび切捨てによる整数化を
データ形式の変換ステップを含まずに実行するので、整
数化を高速に実行することが可能となる。
【0153】請求項2、3および4記載の浮動小数点演
算方式は、演算結果Xと入力データの正負と整数化指定
信号との組合わせに応じて、入力データに基づいて予め
設定されるいくつかのデータの1つを選択して出力整数
データとして設定するので、請求項1記載の電圧発生回
路の奏する効果をより簡易な回路構成のもとで享受する
ことができる。
【0154】請求項5、6、7および8記載の浮動小数
点演算装置は、データ形式変換を伴うことなく、入力デ
ータと同一ビット数のデータを取り扱う回路のみによっ
て浮動小数点データの整数化を実行することが可能であ
るため、浮動小数点データの整数化を高速に、かつレイ
アウト的に有利な小さい回路規模の下で実現することが
できる。
【0155】請求項9記載の浮動小数点演算装置は、指
数部演算ステップの演算結果から入力データが小数デー
タを含んでいないと判断される場合には、入力データを
そのまま出力整数データとして取り出す系統をさらに有
するので、請求項5記載の浮動小数点演算装置の奏する
効果をより簡易な回路構成のもとで享受することができ
る。
【0156】請求項10および11記載の浮動小数点演
算装置は、演算結果Xの値にかかわらずデータの経路を
共通にできるので、請求項5記載の浮動小数点演算装置
の奏する効果に加えて、配線幅の軽減およびセレクタ個
数の削減を実現することが可能となる。
【0157】請求項12および13記載の浮動小数点演
算装置は、切上げデータと切捨てデータとを共通のデー
タ経路によって設定できるため、請求項5記載の浮動小
数点演算装置が奏する効果に加えてさらにレイアウト面
積を削減することが可能である。
【0158】請求項14記載の半導体集積回路装置は、
浮動小数点データの切上げおよび切捨てによる整数化を
データ形式への変換を経由せずに実行できる浮動小数点
演算装置を具備するので、データの整数化を高頻度かつ
高速に実行することが必要な動作を効率的に実行するこ
とができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1を説明するための浮動
小数点演算方式のフローチャートである。
【図2】 図1の浮動小数点演算方式を実現する浮動小
数点演算装置1000の構成を示すブロック図である。
【図3】 本発明の実施の形態1の浮動小数点演算方式
の概略フローチャートである。
【図4】 指数部判定演算値Xに対する整数化方法の場
合分けを説明するための図である。
【図5】 切捨てデータの設定方法を説明するための図
である。
【図6】 インクリメントデータの設定方法を説明する
ための図である。
【図7】 実施の形態1の浮動小数点演算方式を詳細に
説明するためのフローチャートである。
【図8】 ステップ43における符号データSと指定信
号Cとの組合せに対応した出力整数データの設定方法を
説明する図である。
【図9】 ステップ42における符号ビットSと指定信
号Cとの組合せに対応した出力整数データの各ビットの
設定方法を説明する図である。
【図10】 本発明の実施の形態2の浮動小数点演算装
置100の構成を示すブロック図である。
【図11】 指数部データ判定回路120の構成を示す
ブロック図である。
【図12】 切捨てデータ発生回路130の構成を示す
ブロック図である。
【図13】 インクリメントデータ発生回路140の構
成を示すブロック図である
【図14】 加算回路145の入出力データを示す図で
ある。
【図15】 データ選択回路170の構成を示すブロッ
ク図である。
【図16】 浮動小数点演算装置100において、10
進数の−13.625を切捨て整数化した場合の動作を
説明するための図である。
【図17】 本発明の実施の形態2の変形例1の浮動小
数点演算装置200の構成を示すブロック図である。
【図18】 本発明の実施の形態2の変形例2の浮動小
数点演算装置210の構成を示すブロック図である。
【図19】 本発明の実施の形態2の変形例3の浮動小
数点演算装置220の構成を示すブロック図である。
【図20】 本発明の実施の形態2の変形例4の浮動小
数点演算装置230の構成を示すブロック図である。
【図21】 インクリメントデータ発生回路142にお
ける選択インクリメントデータの設定方法を説明する図
である。
【図22】 本発明の実施の形態2の変形例5の浮動小
数点演算装置240の構成を示すブロック図である。
【図23】 本発明の実施の形態2の変形例6の浮動小
数点演算装置250の構成を示すブロック図である。
【図24】 本発明の実施の形態2の変形例7の浮動小
数点演算装置260の構成を示すブロック図である。
【図25】 本発明の実施の形態2の変形例8の浮動小
数点演算装置270の構成を示すブロック図である。
【図26】 本発明の実施の形態2の変形例9の浮動小
数点演算装置280の構成を示すブロック図である。
【図27】 本発明の実施の形態3の半導体集積回路装
置300の全体構成を示す概略ブロック図である。
【図28】 本発明の実施の形態3の変形例の半導体集
積回路装置400の全体構成を示す概略ブロック図であ
る。
【図29】 IEEE規格の単精度浮動小数点データの
構成を示す概念図である。
【符号の説明】
120 指数部データ判定回路、130 切捨てデータ
発生回路、140 インクリメントデータ発生回路、1
45 加算回路、150 切上げデータ発生回路、16
0 固定値データ発生回路、170 データ選択回路、
175 セレクタ制御回路、SL1〜SL6 セレク
タ。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 符号ビットと、Mビットの指数部(M:
    自然数)と、Nビットの仮数部(N:自然数)とを有す
    る2進数の浮動小数点データの整数化を行なう浮動小数
    点演算方式であって、 入力データの前記指数部に対応する10進数値から所定
    のバイアス値を差し引いた演算結果X(X:整数)を出
    力するステップと、 前記演算結果Xと、前記入力データの正負と、整数化を
    切上げおよび切捨てのいずれによって実行するかを指示
    するための整数化指定信号との組み合わせに応じて、出
    力整数データの各ビットを設定するステップとを備え
    る、浮動小数点演算方式。
  2. 【請求項2】 前記出力整数データの各ビットを設定す
    るステップは、 前記演算結果XがMより大きい場合に、前記出力整数デ
    ータの各ビットを前記入力データの各ビットと同一の値
    に設定するステップと、 前記演算結果Xが0より小さい場合に、前記入力データ
    の正負と前記整数化指定信号との組み合わせに応じて、
    前記出力整数データの各ビットを設定するステップと、 前記演算結果Xが0以上かつM以下である場合に、前記
    入力データの正負と前記整数化指定信号との組み合わせ
    に応じて、前記出力整数データの各ビットを設定するス
    テップとを含む、請求項1記載の浮動小数点演算方式。
  3. 【請求項3】 前記演算結果Xが0より小さい場合に前
    記出力整数データの各ビットを設定するステップは、 10進数値の0に対応する浮動小数点データの指数部お
    よび仮数部のビット列を有する(M+N)ビットの第1
    固定値データと、10進数値の1に対応する浮動小数点
    データの指数部および仮数部のビット列を有する(M+
    N)ビットの第2固定値データとを発生するステップ
    と、 正の入力データに対して切上げによる整数化が指示され
    た場合および、負の入力データに対して切捨てによる整
    数化が指示された場合において、前記出力整数データの
    指数部および仮数部の各ビットに前記第1固定値データ
    を設定するステップと、 負の入力データに対して切上げによる整数化が指示され
    た場合および、正の入力データに対して切捨てによる整
    数化が指示された場合において、前記出力整数データの
    指数部および仮数部の各ビットに前記第2固定値データ
    を設定するステップと、 前記出力整数データの符号ビットを、前記入力データの
    符号ビットと同一の値に設定するステップとを有する、
    請求項2記載の浮動小数点演算方式。
  4. 【請求項4】 前記演算結果Xが0以上かつM以下であ
    る場合に前記出力整数データの各ビットを設定するステ
    ップは、 負の入力データに対して切上げによる整数化が指示され
    た場合および、正の入力データに対して切捨てによる整
    数化が指示された場合において、第1ビットから第(M
    +X)ビットは前記入力データの対応するビットと同一
    の値を有し、かつ、第(M+X+1)ビット以降は0の
    値を有する(M+N)ビットの切捨てデータの各ビット
    を前記出力整数データの指数部および仮数部の各ビット
    に設定するステップと、 正の入力データに対して切上げによる整数化が指示され
    た場合および、負の入力データに対して切捨てによる整
    数化が指示された場合において、第(M+X)ビットに
    ついてのみ1の値を有するとともに、他の各ビットにつ
    いては0の値を有する(M+N)ビットのインクリメン
    トデータと、前記切捨てデータとの加算によって得られ
    る切上げデータの各ビットを、前記出力整数データの指
    数部および仮数部の各ビットに設定するステップと、 前記出力整数データの符号ビットを、前記入力データの
    符号ビットと同一の値に設定するステップとを有する、
    請求項2記載の浮動小数点演算方式。
  5. 【請求項5】 符号ビットと、Mビットの指数部(M:
    自然数)と、Nビットの仮数部(N:自然数)とを有す
    る2進数の浮動小数点データの整数化を行なう浮動小数
    点演算装置であって、 入力データを受ける入力回路と、 入力データの前記指数部に対応する10進数値から所定
    のバイアス値を差し引いた演算結果X(X:整数)を出
    力する指数部演算回路と、 前記演算結果Xと、前記入力データの正負と、整数化を
    切上げおよび切捨てのいずれによって実行するかを指示
    するための整数化指定信号との組み合わせに応じて、出
    力整数データの各ビットを設定する整数化データ設定回
    路と、 前記出力整数データを出力する出力回路とを備える、浮
    動小数点演算装置。
  6. 【請求項6】 前記整数化データ設定回路は、 前記入力回路から前記入力データの指数部および仮数部
    の各ビットを受けて、前記演算結果Xに応じて、入力さ
    れたビット列のうちの小数点以下データを表わすビット
    を0にクリアすることによって得られる(M+N)ビッ
    トの切捨てデータを発生する小数部切捨て回路と、 前記切捨てデータを受けて、前記切捨てデータで表され
    る10進数値を1だけインクリメントして得られる整数
    値に対応する浮動小数点データの指数部および仮数部の
    ビット列を有する(M+N)ビットの切上げデータを発
    生する小数部切上げ回路と、 10進数値の0に対応する浮動小数点データの指数部お
    よび仮数部のビット列を有する(M+N)ビットの第1
    固定値データおよび、10進数値の1に対応する浮動小
    数点データの指数部および仮数部のビット列を有する
    (M+N)ビットの第2固定値データを発生する固定値
    出力回路と、 前記演算結果Xと、前記入力データの正負と、整数化を
    切上げおよび切捨てのいずれによって実行するかを指示
    するための整数化指定信号との組み合わせに応じて、前
    記切捨てデータと、前記切上げデータと、前記第1固定
    値データと、第2固定値データとのうちのいずれか1つ
    を選択して、前記出力整数データの指数部および仮数部
    の各ビットのデータを設定するとともに、前記出力整数
    データの符号ビットを、前記入力データの符号ビットと
    同一の値に設定する出力データ選択回路とを含む、請求
    項5記載の浮動小数点演算装置。
  7. 【請求項7】 前記小数部切捨て回路は、前記入力デー
    タの指数部および仮数部に相当する(M+N)ビットの
    補助データと前記演算結果Xとを受けて、前記切捨てデ
    ータの第1ビットから第(M+X)ビットについては前
    記補助データの対応する各ビットと同一の値を設定する
    とともに、前記切捨てデータの第(M+X+1)ビット
    以降については0の値を設定し、 前記小数部切上げ回路は、 第Xビットのみが1に設定されるとともに、他の各ビッ
    トについては0が設定される(M+N)ビットのインク
    リメントデータを発生するインクリメントデータ発生回
    路と、 前記切捨てデータと前記インクリメントデータとを加算
    して前記切上げデータを出力するための加算回路とを有
    する、請求項6記載の浮動小数点演算装置。
  8. 【請求項8】 前記出力データ選択回路は、 前記切上げデータと前記切捨てデータとを受けて、前記
    入力データの正負と前記整数化指定信号との組み合わせ
    に応じて、いずれか一方を出力する第1のセレクタ回路
    と、 前記第1固定値データと前記第2固定値データとを受け
    て、前記入力データの正負と前記整数化指定信号との組
    み合わせに応じて、いずれか一方を出力する第2のセレ
    クタ回路と、 前記第1のセレクタ回路の出力データおよび前記第2の
    セレクタ回路の出力データを受けて、前記出力整数デー
    タの指数部および仮数部の各ビットに設定するためにい
    ずれか一方を出力する第3のセレクタ回路とを含み、 前記第3のセレクタ回路は、前記演算結果Xが0以上で
    ある場合には、前記第1のセレクタ回路の出力データを
    出力し、前記演算結果Xが0より小さい場合には、前記
    第2のセレクタ回路の出力データを出力し、 前記出力データ選択回路は、前記出力整数データの符号
    ビットを前記入力データの符号ビットと同一の値に設定
    する第4のセレクタ回路をさらに含む、請求項6記載の
    浮動小数点演算装置。
  9. 【請求項9】 前記出力データ選択回路は、 前記第3のセレクタ回路の出力データと、前記入力デー
    タの指数部および仮数部のビット列を有するサブ入力デ
    ータとを受けて、前記演算結果XがM以上である場合に
    は、前記サブ入力データの各ビットの値を前記出力整数
    データの指数部および仮数部の各ビットに設定し、前記
    演算結果XがMより小さい場合には、前記第3のセレク
    タ回路の出力データを前記出力整数データの指数部およ
    び仮数部の各ビットに設定する第5のセレクタ回路をさ
    らに含む、請求項7記載の浮動小数点演算装置。
  10. 【請求項10】 前記出力データ選択回路は、 前記切捨てデータ発生回路と前記加算回路との間に設け
    られる、第6のセレクタ回路を含み、 前記第6のセレクタ回路は、前記第1固定値データと前
    記第2固定値データと前記切捨てデータとを受けて、前
    記演算結果Xが0以上である場合には、前記切捨てデー
    タを出力し、前記演算結果Xが0より小さい場合におい
    ては、前記入力データの正負と前記整数化指定信号との
    組み合わせに応じて、前記第1固定値データおよび前記
    第2固定値データのいずれか一方を出力し、 前記出力データ選択回路は、 前記第6のセレクタ回路の出力データと前記加算回路の
    出力データとを受けて、前記入力データの正負と前記整
    数化指定信号との組み合わせに応じて、いずれか一方を
    前記出力整数データの指数部および仮数部の各ビットに
    設定するために出力するセレクタ回路と、 前記出力整数データの符号ビットを前記入力データの符
    号ビットと同一の値に設定するセレクタ回路とをさらに
    含む、請求項7記載の浮動小数点演算装置。
  11. 【請求項11】 前記出力データ選択回路は、前記入力
    回路と前記切捨てデータ発生回路との間に設けられる、
    第6のセレクタ回路を含み、 前記第6のセレクタ回路は、前記第1固定値データと前
    記第2固定値データと前記入力データの指数部および仮
    数部のビット列を有するサブ入力データとを受けて、前
    記演算結果Xが0以上である場合には、前記サブ入力デ
    ータを出力し、前記演算結果Xが0より小さい場合にお
    いては、前記入力データの正負と前記整数化指定信号と
    の組み合わせに応じて、前記第1固定値データおよび前
    記第2固定値データのいずれか一方を出力し、 前記小数部切捨て回路は、前記第6のセレクタ回路の出
    力データを入力として、前記切捨てデータを発生し、 前記出力データ選択回路は、 前記切捨てデータと前記加算回路の出力データとを受け
    て、前記入力データの正負と前記整数化指定信号との組
    み合わせに応じて、いずれか一方を前記出力整数データ
    の指数部および仮数部の各ビットに設定するために出力
    するセレクタ回路と、 前記出力整数データの符号ビットを前記入力データの符
    号ビットと同一の値に設定するセレクタ回路とをさらに
    含む、請求項7記載の浮動小数点演算装置。
  12. 【請求項12】 前記インクリメントデータ発生回路
    は、前記入力データの正負と前記整数化指定信号との組
    み合わせに応じて、前記インクリメントデータおよび全
    ビットの値が0である(M+N)ビットのダミー加算デ
    ータのいずれか一方を出力する、請求項7記載の浮動小
    数点演算装置。
  13. 【請求項13】 前記出力データ選択回路は、 前記第1固定値データと前記第2固定値データとを受け
    て、前記入力データの正負と前記整数化指定信号との組
    み合わせに応じて、いずれか一方を出力する第2のセレ
    クタ回路と、 前記加算回路の出力データおよび前記第2のセレクタ回
    路の出力データを受けて、いずれか一方を前記出力整数
    データの指数部および仮数部の各ビットに設定するため
    に出力する第3のセレクタ回路とを含み、 前記第3のセレクタ回路は、前記演算結果Xが0以上で
    ある場合には、前記加算回路の出力データを出力し、前
    記演算結果Xが0より小さい場合には、前記第2のセレ
    クタ回路の出力データを出力し、 前記出力データ選択回路は、前記出力整数データの符号
    ビットを前記入力データの符号ビットと同一の値に設定
    する第4のセレクタ回路をさらに含む、請求項12記載
    の浮動小数点演算装置。
  14. 【請求項14】 外部からの命令信号に応じて、所定の
    データ処理を実行する半導体集積回路装置であって、 外部との間で信号の授受を行なう入出力回路と、 前記命令信号を実行するために内部制御信号を発生する
    コントロール回路と、 データを記憶するためのメモリ回路と、 前記半導体集積回路装置内の各回路との間で、命令信号
    およびデータを伝達するためのシステムバスと、 2進数の浮動小数点データの整数化を実行する機能を有
    する専用演算回路とを備え、 前記専用演算回路は、 前記内部制御信号に応じて、前記専用演算回路の動作を
    制御するロジック回路と、 前記ロジック回路の指示に応じて、データを記憶する補
    助メモリ回路と、 前記ロジック回路の指示に応じて、前記浮動小数点デー
    タを整数化する浮動小数点演算回路とを含み、 前記浮動小数点データは、符号ビットと、Mビットの指
    数部(M:自然数)と、Nビットの仮数部(N:自然
    数)とを有し、 前記浮動小数点演算回路は、 入力データを受ける入力回路と、 入力データの前記指数部に対応する10進数値から所定
    のバイアス値を差し引いた演算結果X(X:整数)を出
    力する指数部演算回路と、 前記演算結果Xと、前記入力データの正負と、整数化を
    切上げおよび切捨てのいずれによって実行するかを指示
    するための整数化指定信号との組み合わせに応じて、出
    力整数データの各ビットを設定する整数化データ設定回
    路と、 前記出力整数データを出力する出力回路とを有する、半
    導体集積回路装置。
JP11162056A 1999-06-09 1999-06-09 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置 Withdrawn JP2000347832A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11162056A JP2000347832A (ja) 1999-06-09 1999-06-09 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置
US09/444,845 US6510446B1 (en) 1999-06-09 1999-11-22 Floating point calculation method and unit efficiently representing floating point data as integer and semiconductor integrated circuit device provided with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11162056A JP2000347832A (ja) 1999-06-09 1999-06-09 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置

Publications (1)

Publication Number Publication Date
JP2000347832A true JP2000347832A (ja) 2000-12-15

Family

ID=15747265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11162056A Withdrawn JP2000347832A (ja) 1999-06-09 1999-06-09 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置

Country Status (2)

Country Link
US (1) US6510446B1 (ja)
JP (1) JP2000347832A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020090003A (ko) * 2001-05-25 2002-11-30 주식회사 리코시스 플랫폼에 독립적인 멀티미디어 재생방법 및 그 기록매체
JP2009193095A (ja) * 2008-02-12 2009-08-27 Akuseru:Kk ポリゴンデータの圧縮システム、圧縮プログラム、伸張システムおよび伸張プログラム
US8874630B2 (en) 2010-11-17 2014-10-28 Samsung Electronics Co., Ltd. Apparatus and method for converting data between a floating-point number and an integer
KR101787821B1 (ko) 2015-03-09 2017-10-19 단국대학교 산학협력단 정수부와 소수부를 포함하는 객체의 진수 변환 장치 및 방법
CN111313906A (zh) * 2020-03-03 2020-06-19 南京大学 一种浮点数的转换电路

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
US7242414B1 (en) 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US7346643B1 (en) * 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US6996596B1 (en) * 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US6879992B2 (en) * 2000-12-27 2005-04-12 Intel Corporation System and method to efficiently round real numbers
US20050041271A1 (en) * 2002-01-16 2005-02-24 Ito Tomoyoshi Moving image holography reproducing device and color moving image holography reproducing device
US7236995B2 (en) * 2002-12-27 2007-06-26 Arm Limited Data processing apparatus and method for converting a number between fixed-point and floating-point representations
JP3755602B2 (ja) * 2003-03-04 2006-03-15 ソニー株式会社 信号処理装置、信用処理装置用プログラム、信号処理装置用プログラムを記録した記録媒体、及び信号処理方法
EP1812869A2 (en) * 2004-11-17 2007-08-01 Robert S. Howard System and method for mapping mathematical finite floating-point numbers
US8732226B2 (en) * 2006-06-06 2014-05-20 Intel Corporation Integer rounding operation
JP4396758B2 (ja) * 2007-10-31 2010-01-13 カシオ計算機株式会社 循環小数表示装置および循環小数表示制御プログラム
US8352531B2 (en) * 2008-07-22 2013-01-08 International Business Machines Corporation Efficient forcing of corner cases in a floating point rounder
US8407271B2 (en) * 2009-08-28 2013-03-26 Advanced Micro Devices, Inc. Method for floating point round to integer operation
US9104479B2 (en) * 2011-12-07 2015-08-11 Arm Limited Apparatus and method for rounding a floating-point value to an integral floating-point value
US10934964B1 (en) * 2020-02-03 2021-03-02 Ford Global Technologies, Llc Methods and system for storing and activating a calibration for a vehicle

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2751208A1 (de) 1977-11-16 1979-05-17 Fichtel & Sachs Ag Luftleitungsanschluss
US5258943A (en) 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
JPH0659858A (ja) * 1992-08-10 1994-03-04 Mitsubishi Electric Corp 浮動小数点演算装置
US6128726A (en) * 1996-06-04 2000-10-03 Sigma Designs, Inc. Accurate high speed digital signal processor
US6219684B1 (en) * 1998-09-30 2001-04-17 Intel Corporation Optimized rounding in underflow handlers
US6334442B1 (en) * 2000-01-10 2002-01-01 Michael J. Altamura Recumbent therapeutic support

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020090003A (ko) * 2001-05-25 2002-11-30 주식회사 리코시스 플랫폼에 독립적인 멀티미디어 재생방법 및 그 기록매체
JP2009193095A (ja) * 2008-02-12 2009-08-27 Akuseru:Kk ポリゴンデータの圧縮システム、圧縮プログラム、伸張システムおよび伸張プログラム
JP4721072B2 (ja) * 2008-02-12 2011-07-13 株式会社アクセル ポリゴンデータの圧縮システムおよび伸張システム
US8874630B2 (en) 2010-11-17 2014-10-28 Samsung Electronics Co., Ltd. Apparatus and method for converting data between a floating-point number and an integer
KR101787821B1 (ko) 2015-03-09 2017-10-19 단국대학교 산학협력단 정수부와 소수부를 포함하는 객체의 진수 변환 장치 및 방법
CN111313906A (zh) * 2020-03-03 2020-06-19 南京大学 一种浮点数的转换电路
CN111313906B (zh) * 2020-03-03 2023-11-07 南京大学 一种浮点数的转换电路

Also Published As

Publication number Publication date
US6510446B1 (en) 2003-01-21

Similar Documents

Publication Publication Date Title
JP2000347832A (ja) 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置
KR100239029B1 (ko) 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서
JP3492638B2 (ja) 浮動小数点乗算器
EP1271474B1 (en) Function block
JP4413198B2 (ja) 浮動小数点データの総和演算処理方法及びコンピュータシステム
JPH0816365A (ja) 乗算装置
US20200117426A1 (en) Efficient modulo calculation
KR100465371B1 (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
US5247471A (en) Radix aligner for floating point addition and subtraction
JPH05134851A (ja) 乗算回路出力方式
EP0605885B1 (en) Method and apparatus for automatically designing logic circuit, and multiplier
US5841683A (en) Least significant bit and guard bit extractor
US7908308B2 (en) Carry-select adder structure and method to generate orthogonal signal levels
US11119731B2 (en) Apparatus and method for rounding
JPH0546363A (ja) 除算器
US5570309A (en) Iterative arithmetic processor
JPH01232423A (ja) 演算回路
JP6984762B2 (ja) 演算処理装置及び演算処理装置の制御方法
EP1041720B1 (en) Binary zero determination signal generating circuit
EP1014260B1 (en) Sticky bit value predicting circuit
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JP2513354B2 (ja) 浮動小数点演算補助回路
KR20230090254A (ko) 부동 소수점 연산 방법 및 장치
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JP3803653B2 (ja) 乗算処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905