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

浮動小数点演算装置

Info

Publication number
JP2000010762A
JP2000010762A JP10173127A JP17312798A JP2000010762A JP 2000010762 A JP2000010762 A JP 2000010762A JP 10173127 A JP10173127 A JP 10173127A JP 17312798 A JP17312798 A JP 17312798A JP 2000010762 A JP2000010762 A JP 2000010762A
Authority
JP
Japan
Prior art keywords
unit
result
determination
data
increment
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
JP10173127A
Other languages
English (en)
Inventor
Hiroaki Suzuki
弘明 鈴木
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 JP10173127A priority Critical patent/JP2000010762A/ja
Priority to TW087121400A priority patent/TW494351B/zh
Priority to US09/218,076 priority patent/US6314442B1/en
Publication of JP2000010762A publication Critical patent/JP2000010762A/ja
Pending 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
    • G06F7/49963Rounding to nearest
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

Landscapes

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

Abstract

(57)【要約】 【課題】 スループットが向上する浮動小数点演算装置
を得ることを目的とする。 【解決手段】 浮動小数点データの仮数部データA,B
の算術演算を行う仮数加減算部MAPと、演算結果Dの
MSBがシフトしていないと仮定したときにLSBとな
る演算結果Dのビットに対してインクリメントを行うイ
ンクリメント部INPと、LSBより1つ下位のビット
を切り上げるか否かを判定する丸め判定部RJPと、イ
ンクリメント部INPの演算結果と仮数加減算部MAP
の演算結果Dとのどちらかを選択的に出力するセレクタ
S1とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は浮動小数点データ
の演算を行うための浮動小数点演算装置に関し、特に業
界標準であるIEEE754規格の最近値丸めに関す
る。
【0002】
【従来の技術】IEEE754規格は、浮動小数点演算
に関する事実上の業界標準であり、その大きな特徴の一
つに4つの丸めモードがある。 (1) 最近値丸め (2) +無限大丸め (3) −無限大丸め (4) 切り捨て 浮動小数点演算装置を上記(1)〜(4)の丸めモード
が行えるように浮動小数点演算装置をハードウェアによ
って構成すると、浮動小数点演算装置は、回路構成が複
雑になり、スループットの増大をもたらす。
【0003】例えば特開平6−59858号公報に開示
されているような浮動小数点演算装置において、図15
に丸め処理に関わる部分を示す。仮数加減算部MAP
は、2つの浮動小数点データの仮数部データA,Bを加
算あるいは減算する。ここで、加減算結果は常に絶対
値、すなわち、正の値となるように前後の処理系が構成
されているものとする。LSB判定部BJPは、仮数加
減算部MAPの演算結果Dの上位3ビットが”0”か否
かを判定する。インクリメント信号生成部IPはLSB
判定部BJPの判定結果を用いて切り上げを行うビット
(インクリメントビット位置)を示すためのインクリメ
ント信号を生成する。インクリメンタIMaは演算結果
Dを構成するビットのうち、インクリメント信号が示す
ビットに対してインクリメントを行う。丸め判定部RJ
PaはLSB判定部BJPの判定結果を用いて、丸めを
行うか否かを判定する。セレクタS1は、丸め判定部R
JPaの判定結果が丸めを行うことを示すときはインク
リメンタIMaの演算結果、そうでないときは仮数加減
算部MAPの演算結果Dを選択して出力する。MOはセ
レクタS1の出力結果である。
【0004】
【発明が解決しようとする課題】しかしながら、仮数加
減算部MAPの演算結果は、例えば仮数部データA,B
の加算の際の最下位ビット側から最上位ビット側の方向
への桁上がりによって、この方向へ順次に値が決定され
る。したがって、インクリメント信号生成部IPは、演
算結果Dの全てのビットが決定されるまで待たないと、
インクリメントビット位置を特定できない。この待ち時
間があるため、スループットが低下するという問題点が
あった。
【0005】本発明は、この問題点を解決するためにな
されたものであり、丸め処理について、スループットが
向上する浮動小数点演算装置を得ることを目的とする。
【0006】
【課題を解決するための手段】本発明の請求項1に係る
課題解決手段は、4つの丸めモードのデフォルトである
最近値丸めのみに着目したものであり、第1の浮動小数
点データの仮数部データと、第2の浮動小数点データの
仮数部データとを受けて、これらの算術演算を行う算術
演算部と、前記算術演算部の演算結果を受けて、前記演
算結果のMSBがシフトしていないと仮定したときにL
SBとなる前記演算結果のビットに対してインクリメン
トを行うインクリメント部と、前記算術演算部の演算結
果を受けて、前記演算結果に基づいて前記LSBより1
つ下位のビットを切り上げるか否かを判定する丸め判定
部と、前記算術演算部の演算結果、前記インクリメント
部の演算結果、前記丸め判定部の判定結果を受けて、前
記丸め判定部の判定結果に応じて、前記インクリメント
部の演算結果と前記算術演算部の演算結果とのどちらか
を選択的に出力する第1のセレクタとを備える。
【0007】本発明の請求項2に係る課題解決手段にお
いて、前記インクリメント部は、前記算術演算が実質加
算と実質減算とのどちらであるかの判定を行い、この判
定結果に応じて前記LSBを特定するLSB特定部を含
む。
【0008】本発明の請求項3に係る課題解決手段にお
いて、前記LSB特定部は、前記判定を行う判定部と、
前記判定部の判定結果を受けて、前記判定部の判定結果
に応じて、予め定められた実質加算用データと実質減算
用データとのどちらかを選択的に出力する第2のセレク
タとを含み、前記インクリメント部は、前記算術演算部
の演算結果と前記第2セレクタの選択結果とを受けて、
これらを足し合わせることによって、前記インクリメン
トを行うインクリメンタをさらに含む。
【0009】本発明の請求項4に係る課題解決手段にお
いて、前記LSB特定部は、前記判定を行い、この結果
に応じて実質加算用データあるいは実質減算用データの
どちらかを選択的に出力する判定部を含み、前記インク
リメント部は、前記算術演算部の演算結果と前記判定部
の出力とを受けて、これらを足し合わせることによっ
て、前記インクリメントを行うインクリメンタをさらに
含む。
【0010】本発明の請求項5に係る課題解決手段にお
いて、前記LSB特定部は、前記判定を行う判定部と、
前記算術演算部の演算結果と、前記判定部の判定結果と
を受け、前記判定部の判定結果に応じて、前記算術演算
部の演算結果をシフトするビットシフタとを含み、前記
インクリメント部は、前記ビットシフタを介して出力さ
れる前記算術演算部の演算結果を受けて、前記インクリ
メントを行うインクリメンタをさらに含む。
【0011】本発明の請求項6に係る課題解決手段にお
いて、前記LSB特定部は、前記判定を行う判定部と、
前記第1の浮動小数点データの仮数部データと、前記判
定部の判定結果とを受け、前記判定部の判定結果に応じ
て、前記第1の浮動小数点データの仮数部データをシフ
トして前記算術演算部に出力する第1のビットシフタ
と、前記第2の浮動小数点データの仮数部データと、前
記判定部の判定結果とを受け、前記判定部の判定結果に
応じて、前記第2の浮動小数点データの仮数部データを
シフトして前記算術演算部に出力する第2のビットシフ
タとを含み、前記インクリメント部は、前記算術演算部
の演算結果を受けて、前記インクリメントを行うインク
リメンタをさらに含む。
【0012】本発明の請求項7に係る課題解決手段は、
前記判定部が選択的に出力する前記実質加算用データ
は”1”であり、前記判定部が選択的に出力する前記実
質減算用データは”0”であり、前記インクリメンタ
は、前記算術演算部の演算結果の最下位ビットと、前記
判定部の出力と、”1”とを受けて、前記インクリメン
ト部の演算結果の最下位ビットを生成して出力する全加
算器を含む。
【0013】本発明の請求項8に係る課題解決手段にお
いて、前記算術演算部は、前記第1の浮動小数点データ
の仮数部データと前記第2の浮動小数点データの仮数部
データとを、互いに並列に最下位ビット側から最上位ビ
ット側へ順に列べて複数のビット群に分割し、前記複数
のビット群をそれぞれ処理する複数の算術演算分割ブロ
ックを含み、前記インクリメンタは、前記複数の算術演
算分割ブロックの演算結果をそれぞれ処理する複数のイ
ンクリメント分割ブロックを含む。
【0014】
【発明の実施の形態】実施の形態1.浮動小数点データ
を図16に示すフォーマットで表すとする。具体的に、
+1.1111010^1101と+1.1011011^1001とを加算して最近値
丸めを行えば、+1.0000100^1110が得られる。
【0015】上記の+1.0000100^1110が得られる過程を
図17に示す。まず、+1.1111010^1101と+1.1011011^10
01との桁合わせを行う。ここでは、+1.1011011^1001を+
0.00011011011^1101に変更する(ステップS11)。
【0016】次に、仮数部データ1.1111010と0.0001101
1011とを加算する。この結果、10.00001111011が得られ
る(ステップS12)。なお、ステップS12に示すよ
うに、仮数部データのMSBは、桁上がりによって、小
数点の1つ上位から2つ上位へシフトしている。このよ
うにMSBが上位へシフトすることを桁溢れシフトと称
す。また、ここでは仮数部データは8ビットなので、M
SBから8ビット目が仮数部データのLSBになる。
【0017】LSBの1つ下位は”1”なので、LSB
の1つ下位のビットに対して切り上げが行われる。そし
て、正規化を行って、上記+1.0000100^1110が得られる
(ステップS13)。
【0018】以上の具体例は、実質加算、かつ、桁溢れ
シフト有り、かつ、切り上げのケースである。他にも、
表1に示すケースがある。なお、実質加算とは、互いに
同符号の仮数部データ同士の加算もしくは互いに異符号
の仮数部データ同士の減算を意味する。実質減算とは互
いに異符号の仮数部データ同士の加算もしくは互いに同
符号の仮数部データ同士の減算を意味する。また、桁落
ちシフトとは、桁溢れシフトの逆で、MSBが下位へシ
フトすることである。また、表において、四角の枠で囲
っているビットがLSBである。
【0019】
【表1】
【0020】なお、表1に示していないが、桁落ちシフ
トはMSBが2ビット以上下位へシフトする場合があ
る。この場合は、LSBより下位のビットは全て”0”
となって常に切り捨てられるので、常に切り捨てとして
扱えばよいので詳しい説明を省略する。
【0021】従来では、図18に要約するように、浮動
小数点データが入力された後(ステップS91)、仮数
加減算部MAPは浮動小数点データの仮数部データA,
Bの加減算を行う(ステップS92)。仮数加減算部M
APの演算結果は、結果的には切り捨ての演算結果とな
る。次に、インクリメントビット位置を特定し(ステッ
プS93)、インクリメンタIMaが切り上げを行った
演算結果を生成し(ステップS94)、最後に、切り捨
ての演算結果と切り上げを行った演算結果とのどちらか
を選択的に出力する(ステップS95)。また、インク
リメントビット位置は、特開平6−59858号公報で
は、表1を用いて説明すれば、D[9]、D[8]、D
[7]を観て、D[2]、D[1]、D[0]のいずれ
かをインクリメントビット位置として特定する。
【0022】一方、実施の形態1では、図1に示すよう
に、ステップS92とステップS93とを同時に行う。
ステップS92とステップS93とが同時に行うことが
できる理由は次のとおりである。まず、実施の形態1で
は、実質加算のときはD[1],実質減算のときはD
[0]をインクリメントビット位置として特定する。な
ぜ、インクリメントビット位置がD[1]、D[0]の
2箇所で済むかというと、桁溢れシフト有りの切り上げ
のケースと桁溢れシフト無しの切り上げのケースとは、
D[1]に対してインクリメントを行えば、どちらも正
しい結果が得られ、桁落ちシフト有りの切り上げのケー
スと桁落ちシフト無しの切り上げのケースとは、D
[0]に対してインクリメントを行えば、どちらも正し
い結果が得られるからである。
【0023】したがって、実質加算のときは、桁溢れシ
フトが無いと仮定して、D[1]をLSB、つまりイン
クリメントビット位置として特定し、実質減算のとき
は、桁落ちシフトが無いと仮定して、D[0]をLS
B、つまりインクリメントビット位置として特定すれば
よい。しかも、算術演算が実質加算と実質減算とのどち
らであるかは、仮数加減算部MAPに与えられる加算ま
たは減算のどちらを行うかを示す命令信号と、浮動小数
点データの符号とによって判定できるので、ステップS
92より前に知ることができる。これによって、ステッ
プS92とステップS93とを同時に行うことが可能で
ある。以下に、図1に示す処理を実現する浮動小数点演
算装置を説明する。
【0024】図2は本発明の実施の形態1における浮動
小数点演算装置の構成を示すブロック図である。図2に
おいて、A,Bはそれぞれ桁合わせ済みの第1,第2の
浮動小数点データの仮数部データ、MAPは仮数部デー
タAと仮数部データBとを受けて、これらの算術演算
(ここでは、実質加算あるいは実質減算)を行う仮数加
減算部、INPは仮数加減算部MAPの演算結果Dを受
けるインクリメント部、RJPはLSBより1つ下位の
ビットを切り上げるか否かを判定する丸め判定部、S1
は仮数加減算部MAPの演算結果D、インクリメント部
INPの演算結果、丸め判定部RJPの判定結果を受け
て、丸め判定部RJPの判定結果が切り上げを示すとき
はインクリメント部INPの演算結果、そうでないとき
は仮数加減算部MAPの演算結果Dを選択して出力する
第1セレクタ、MOはセレクタS1の出力結果である。
【0025】実施の形態1では、インクリメント部IN
Pは、LSB特定部LPとインクリメンタIMとを含
む。LSB特定部LPは、仮数加減算部MAPの算術演
算が実質加算と実質減算とのどちらであるかの判定を行
い、仮数加減算部MAPの算術演算が実質加算のときは
D[1]を桁溢れシフト無しと仮定したときのLSBと
して特定し、仮数加減算部MAPの算術演算が実質減算
のときはD[0]を桁落ちシフト無しと仮定したときの
LSBとして特定する。インクリメンタIMは、演算結
果Dに対してインクリメントを行う。
【0026】LSB特定部LPは、インクリメントビッ
ト判定部IJPとセレクタS2とを含む。インクリメン
トビット判定部IJPは仮数加減算部MAPの算術演算
が実質加算と実質減算とのどちらであるかの判定を行
う。
【0027】セレクタS2はインクリメントビット判定
部IJPの判定結果を受けて、インクリメントビット判
定部IJPの判定結果が実質加算を示すときは”1
0”、インクリメントビット判定部IJPの判定結果が
実質減算を示すときは”01”を選択して出力する。イ
ンクリメンタIMは仮数加減算部MAPの演算結果Dと
セレクタS2の選択結果を受ける。
【0028】このように、LSB特定部LPは、算術演
算が実質加算と実質減算とのどちらであるかを、仮数加
減算部MAPが算術演算を行う前に知り、実質加算のと
きは、桁溢れシフトが無いと仮定して、D[1]をイン
クリメントビット位置として特定し、実質減算のとき
は、桁落ちシフトが無いと仮定して、D[0]をインク
リメントビット位置として特定する。
【0029】インクリメンタIMについてさらに詳しく
説明する。実施の形態1では、インクリメンタIMの内
部構成は望ましくは図3に示すとおりである。D[i]
(i=0,1,2,……)が仮数加減算部MAPの演算
結果Dを構成するビットである。D[0]が最下位ビッ
トであり、図3では、D[i]は最下位ビット側から最
上位ビット側へ順に列べて描かれている。
【0030】IN[0]及びIN[1]がセレクタS2
の選択結果INを構成するビットである。なお、セレク
タS2の選択結果が”10”のときは、IN[1],I
N[0]はそれぞれ”1”,”0”であり、逆に、セレ
クタS2の選択結果が”01”のときは、IN[1],
IN[0]はそれぞれ”0”,”1”である。
【0031】OUT[i](i=0,1,2,……)が
インクリメンタIMの演算結果を構成するビットであ
る。なお、iは例えば、IEEE754の端正度形式の
ときは26、倍精度形式のときは55である。
【0032】HAは周知の半加算器、FAは周知の全加
算器である。なお、図3に示す半加算器HA,全加算器
FAはそれぞれ図4及び図5に対応させて描かれてい
る。なお、図4及び図5に示すキャリー伝播は、全加算
器FAでは加数と被加数との排他的論理和、半加算器H
Aでは被加数である。
【0033】図3に示す構成は、D[i]をそれぞれ受
け、OUT[i]をそれぞれ出力する複数の加算器が列
べられ、D[1]を受けるのは全加算器FAであり、そ
の他は半加算器HAである。また、演算結果DはD
[0],D[1]〜D[4],D[5]〜D[8],…
…というように複数のビット群に分割される。なお、例
えばD[5]〜D[8]からなるビット群であれば、D
[8:5]と表記する。インクリメンタIMは、演算結
果Dのビット群をそれぞれ処理する複数のインクリメン
ト分割ブロックISBを含み、それぞれのインクリメン
ト分割ブロックISBには、直列に接続された4つの加
算器が含まれる。但し、D[0]を処理するインクリメ
ント分割ブロックISBに含まれる加算器は1つであ
る。複数のインクリメント分割ブロックISBは直列に
接続され、後段のインクリメント分割ブロックISBは
前段のインクリメント分割ブロックISBから桁上げ数
を受ける。インクリメント分割ブロックISB内に複数
の加算器が含まれるものについては、その複数の加算器
をインクリメントブロックIBと称す。全加算器FAに
ついては加数としてIN[1]を受け、D[0]を受け
る半加算器HAについては加数としてIN[0]を受け
る。
【0034】ここで、インクリメンタIMの動作につい
て説明する。例えば、ビット群D[8:5]を受けるイ
ンクリメント分割ブロックISBは、ビット群D[8:
5]に前段のインクリメント分割ブロックISBからの
桁上げ数を加算する。したがって、全体として、インク
リメンタIMは演算結果DにIN[0]を加算すること
になる。さらに、IN[0]はD[0]に加算され、I
N[1]はD[1]に加算される。したがって、仮数加
減算部MAPの算術演算が実質減算のときは、IN
[0]が”1”なので、D[0]に対してインクリメン
トが行われることになり、仮数加減算部MAPの算術演
算が実質加算のときは、IN[1]が”1”なので、D
[1]に対してインクリメントが行われることになる。
【0035】このように、インクリメンタIMは仮数加
減算部MAPの演算結果DとセレクタS2の選択結果I
Nとを足し合わせることによって、LSB特定部LPが
特定したインクリメントビット位置に対してインクリメ
ントを行う。
【0036】キャリースキップ回路CS1は、インクリ
メントブロックIBが含まれるインクリメント分割ブロ
ックISBに含まれ、インクリメンタIMの演算速度を
速める。キャリースキップ回路CS1の内部構成例を図
6に示す。図6において、C1は前段のインクリメント
分割ブロックISBからの桁上げ数、C2はインクリメ
ントブロックIBが出力する桁上げ数、P1〜P4はイ
ンクリメントブロックIBが出力するキャリー伝播、C
3は後段のインクリメント分割ブロックISBへ出力す
る桁上げ数である。例えば、ビット群D[8:5]の全
てが”1”のとき、前段のインクリメント分割ブロック
ISBから”1”の桁上げ数を受けると、キャリースキ
ップ回路CS1及びインクリメントブロックIBはどち
らも”1”の桁上げ数を出力するが、キャリースキップ
回路CS1は、インクリメントブロックIBと比較して
速く”1”の桁上げ数を出力する。これによって、イン
クリメンタIMの演算速度は速くなる。
【0037】以上のように、キャリー伝播をブロック単
位で伝達する方式をキャリースキップ方式と呼ばれる。
インクリメンタIMのように、桁上げ数が下位から上位
に向かって伝達するような回路構成にキャリースキップ
方式を適用すれば、演算速度の改善に効果的である。
【0038】次に、仮数加減算部MAPについてさらに
詳しく説明する。仮数加減算部MAP及びインクリメン
タIMの望ましい構成を図7に示す。図7に示す構成に
は、キャリースキップ方式が適用されている。実施の形
態1では、仮数加減算部MAPの内部構成はブロック図
で表せば、インクリメンタIMと同様になる。A
[0],A[4:1],A[8:5],……は仮数部デ
ータAを構成するビット群であり、B[0],B[4:
1],B[8:5],……は仮数部データBを構成する
ビット群であり、図7では、仮数部データAと仮数部デ
ータBとは互いに並列に最下位ビット側から最上位ビッ
ト側へ順に列べて描かれている。また、PP[1],P
P[2],……はキャリースキップ回路CS1のキャリ
ー伝播、PI[4:1],PI[8:5],……はイン
クリメントブロックIBのキャリー伝播である。
【0039】Sub/Addが加算または減算のどちら
を行うかを示す命令信号である。
【0040】仮数加減算部MAPは、仮数部データA及
び仮数部データBのビット群をそれぞれ処理する複数の
算術演算分割ブロックASBを含み、それぞれの算術演
算分割ブロックASBには、仮数部データA及び仮数部
データBのビット群を受け、命令信号Sub/Addに
応じて仮数部データAのビット群と仮数部データBのビ
ット群とを減算あるいは加算を行う加減算ブロックAB
が含まれる。なお、図7に示す加減算ブロックABは図
8に対応させて描かれている。複数の算術演算分割ブロ
ックASBは直列に接続され、後段の算術演算分割ブロ
ックASBは前段の算術演算分割ブロックASBから桁
上げ数を受ける。
【0041】ここで、仮数加減算部MAPの動作につい
て加算を行う場合を説明する。例えば、ビット群A
[8:5]及びB[8:5]を受ける算術演算分割ブロ
ックASBは、ビット群B[8:5]にビット群A
[8:5]を加算し、さらに前段の算術演算分割ブロッ
クASBからの桁上げ数を加算する。したがって、全体
として、仮数加減算部MAPは仮数部データAに仮数部
データBを加算することになる。
【0042】さらに、キャリースキップ回路CS1は、
A[0]及びB[0]を処理するもの以外の算術演算分
割ブロックASBに含まれ、仮数加減算部MAPの演算
速度を速める。また、仮数加減算部MAPは、4つの算
術演算分割ブロックASB毎にキャリースキップ回路C
S2を設けることによって、さらに演算速度を速める。
【0043】また、例えば、仮数加減算部MAPにおい
て、ビット群A[4:1]を処理する算術演算分割ブロ
ックASBから、ビット群A[12:9]を処理する算
術演算分割ブロックASBへビット群A[8:5]を処
理する算術演算分割ブロックASBのキャリースキップ
回路CS1を介して桁上げ数が伝搬する場合を考える。
ビット群A[4:1]を処理する算術演算分割ブロック
ASBはビット群D[4:1]をインクリメントブロッ
クISBに出力し、ビット群A[12:9]を処理する
算術演算分割ブロックASBはビット群D[12:9]
をインクリメントブロックISBに出力する。その後、
ビット群D[4:1]を処理するインクリメント分割ブ
ロックISBから、ビット群D[12:9]を処理する
インクリメント分割ブロックISBへビット群D[8:
5]を処理するインクリメント分割ブロックISBのキ
ャリースキップ回路CS1を介して桁上げ数が伝搬す
る。このようにして、仮数加減算部MAPの演算処理と
インクリメンタIMの演算処理とをほぼ同時に終わらす
ことができる。
【0044】以上のように、仮数加減算部MAPとイン
クリメンタIMとは、ブロック構成がそろっていること
が望ましく、キャリースキップ方式を仮数加減算部MA
PとインクリメンタIMとの両方に適用することによっ
て、演算速度をより効果的に改善できる。
【0045】次に、丸め判定部RJPは、例えば次のよ
うにして、LSBより1つ下位のビットを切り上げるか
否かを判定することができる。切り上げのケースと、切
り捨ての切り捨てのケースとを表2に示す。
【0046】
【表2】
【0047】表2のように、最近値丸めで切り上げが発
生するケースは、LSBにかかわらず、切り捨て部の最
上位ビットが”1”であり、切り捨てのケースでは、L
SBにかかわらず、切り捨て部の最上位ビットが”0”
であるか、又は、LSBが”0”であり、切り捨て部の
最上位ビットが”1”、かつ、切り捨て部のその他のビ
ットが全て”0”の場合であればよい。
【0048】また、表1のビット数の場合の桁溢れシフ
ト、桁落ちシフト、シフトが無い場合のパターンを表3
に示す。
【0049】
【表3】
【0050】表2及び表3から、例えば、切り上げを行
うケースは、D[9]及びD[1]が共に”1”、ある
いはD[9]が”0”かつD[8]及びD[0]が共
に”1”、あるいはD[9]及びD[8]が共に”0”
かつD[−1]が”0”のときを含めばよい。
【0051】このように、仮数加減算部MAPの演算結
果Dを用いて、LSBより1つ下位のビットを切り上げ
るか否かを判定することができる。
【0052】実施の形態1によれば、従来のように仮数
加減算部MAPの演算結果Dを用いてインクリメントビ
ット位置を特定するのではなく、インクリメント部IN
Pが、仮数加減算部MAPの演算結果DのMSBがシフ
トしていないと仮定したときにLSBとなるビットに対
してインクリメントを行うことで、丸め処理について、
スループットが向上する。
【0053】さらに、IEEE規格は元来、厳密な計算
を必要とする数値演算をも含めた汎用的な規格として規
定されたものであるが、現在では、3Dグラフィックス
などの利用も増え、丸めモードについてもデフォルトと
して規定される最近値丸めのみで充分なケースが多い。
したがって、3Dグラフィックスなどの特定用途につい
て特に有効である。
【0054】実施の形態2.図9は本発明の実施の形態
2における浮動小数点演算装置の構成を示すブロック図
である。図9に示す構成は、図2からセレクタS2を省
略したものである。
【0055】実施の形態2では、インクリメントビット
判定部IJPは、仮数加減算部MAPの算術演算が実質
加算とであると判定したときは、実質加算用データとし
て”1”の判定結果JRを出力し、仮数加減算部MAP
の算術演算が実質減算とであると判定したときは、実質
減算用データとして”0”の判定結果JRを出力する。
【0056】また、実施の形態2では、インクリメンタ
IMの内部構成は望ましくは図10に示すとおりであ
る。D[0],D[1]を処理する加算器はそれぞれ全
加算器FA,半加算器HAである。全加算器FAの加数
は”1”であり、桁上げ数入力は判定結果JRである。
その他の構成は、図3と同様である。
【0057】なお、全加算器FAの桁上げ数入力が”
1”であり、仮数が判定結果JRであってもよい。
【0058】図10では、仮数加減算部MAPの算術演
算が実質加算のときは、D[1]を処理する半加算器H
Aは”1”の桁上げ数入力を受け、実質減算のときは、
D[0]を処理する全加算器FAはD[0]に”1”が
加えられる。一方、図3では、仮数加減算部MAPの算
術演算が実質加算のときは、D[1]を処理する全加算
器FAは”1”の桁上げ数入力を受け、実質減算のとき
は、D[0]を処理する半加算器HAはD[0]に”
1”が加えられる。このように、図10に示すインクリ
メンタIMは、図3に示すインクリメンタIMと等価的
に同じ動作をする。
【0059】実施の形態2によれば、図2と比較して、
LSB特定部LPの構成が簡単になる。また、例えば、
全加算器FAは、図10ではインクリメンタIMの最も
端に位置し、図3ではインクリメンタIMの途中に位置
するので、図10のインクリメンタIMは構成が規則的
であり、回路設計が容易である。
【0060】実施の形態3.図11は本発明の実施の形
態3における浮動小数点演算装置の構成を示すブロック
図である。図11において、BSは仮数加減算部MAP
の演算結果Dと、インクリメントビット判定部IJPの
判定結果JRを受け、インクリメントビット判定部IJ
Pの判定結果JRが実質加算を示すときは、演算結果D
を1ビットだけシフトし、そうでなければシフトせずに
そのままインクリメンタIM及びセレクタS1へ出力す
る1ビットシフタ、その他の符号は上述したとおりであ
る。
【0061】また、実施の形態3では、インクリメンタ
IMの内部構成は図12に示すとおりである。インクリ
メンタIMは、インクリメントビット位置が常に最下位
ビットD[0]、つまり、周知のインクリメンタであ
る。
【0062】インクリメントビット判定部IJPの判定
結果JRが実質加算を示すときについては、1ビットシ
フタBSは演算結果Dの最上位ビット側から最下位ビッ
ト側へ1ビットだけシフトして、インクリメンタIMは
D[0]に対してインクリメントを行い、図示しない手
段によって指数部データに1を加える。あるいは、イン
クリメントビット判定部IJPの判定結果JRが実質減
算を示すときは、1ビットシフタBSは演算結果Dの最
下位ビット側から最上位ビット側へ1ビットだけシフト
して、インクリメンタIMはD[0]に対してインクリ
メントを行い、図示しない手段によって指数部データか
ら1を引いてもよい。この結果、2つの浮動小数点デー
タの算術演算の演算結果は、実施の形態1と実質的に同
様になる。
【0063】実施の形態3によれば、周知のインクリメ
ンタを適用できるので、例えば、ICの設計において、
インクリメンタの標準的に用意されている汎用回路部品
(ビルディングブロック)を用いることができる。
【0064】実施の形態4.図13は本発明の実施の形
態4における浮動小数点演算装置の構成を示すブロック
図である。図13において、BS1,BS2は仮数加減
算部MAPに仮数部データA,Bが入力される前に、仮
数部データA,Bと、インクリメントビット判定部IJ
Pの判定結果JRを受け、インクリメントビット判定部
IJPの判定結果JRが実質加算を示すときは、仮数部
データA,Bを1ビットだけシフトし、そうでなければ
そのままシフトして仮数加減算部MAPへ出力する1ビ
ットシフタ、その他の符号は上述したとおりである。
【0065】また、実施の形態4では、インクリメンタ
IMの内部構成は図12に示すとおりである。
【0066】インクリメントビット判定部IJPの判定
結果JRが実質加算を示すときについては、実施の形態
3と同様に考えることができる。すなわち、1ビットシ
フタBS1,BS2は仮数部データA,Bの最上位ビッ
ト側から最下位ビット側へ1ビットだけシフトして、イ
ンクリメンタIMはD[0]に対してインクリメントを
行い、図示しない手段によって指数部データに1を加え
る。あるいは、インクリメントビット判定部IJPの判
定結果JRが実質減算を示すときは、1ビットシフタB
S1,BS2は仮数部データA,Bの最下位ビット側か
ら最上位ビット側へ1ビットだけシフトして、インクリ
メンタIMはD[0]に対してインクリメントを行い、
指数部データから1を引いてもよい。この結果、2つの
浮動小数点データの算術演算の演算結果は、実施の形態
1と実質的に同様になる。
【0067】実施の形態4によれば、実施の形態3と同
様に、周知のインクリメンタを適用できるので、例え
ば、ICの設計において、インクリメンタの標準的に用
意されている汎用回路部品(ビルディングブロック)を
用いることができる。
【0068】実施の形態5.算術演算は、加算や減算に
限らず、乗算でもよい。図14は、本発明の実施の形態
5における浮動小数点演算装置の構成を示すブロック図
である。図14において、MMは仮数部データA,Bを
受けて、これらを乗算する仮数乗算部、その他の符号は
説明したとおりである。
【0069】仮数乗算部MMの演算結果Dは、桁溢れシ
フトが有る場合と無い場合とがあるので、以上の実施の
形態で説明した考え方、つまり、仮数乗算部MMの演算
結果DのMSBがシフトしていないと仮定したときにL
SBとなる演算結果Dのビットに対してインクリメント
を行うことを適用できる。図14では、演算タイプは乗
算のみであり、桁溢れが有るか無いかの2つのケースし
かない。したがって、図2のLSB特定部LPは必要な
く、またインクリメンタIMとしては例えば図12に示
すようなインクリメントビット位置が1つだけのインク
リメンタが適用できる。
【0070】
【発明の効果】請求項1に記載の発明によれば、インク
リメント部が、とりあえず、算術演算部の演算結果のM
SBがシフトしていないと仮定したときにLSBとなる
ビットに対してインクリメントを行うことで、丸め処理
について、スループットが向上する。
【0071】請求項2に記載の発明によれば、算術演算
が実質加算と実質減算とのどちらであるかの判定によっ
て、LSBを特定することができる。
【0072】請求項3に記載の発明によれば、実質加算
用データあるいは実質減算用データのどちらかである判
定部の判定結果と、算術演算部の演算結果とを足し合わ
せることによって、インクリメントを実現できる。
【0073】請求項4に記載の発明によれば、請求項3
に記載の発明と比較して、構成が簡単になる。
【0074】請求項5に記載の発明によれば、インクリ
メンタに算術演算部の演算結果が入力される前に、ビッ
トシフタが当該演算結果のLSBをシフトするので、周
知のインクリメンタを適用できる。
【0075】請求項6に記載の発明によれば、算術演算
部に仮数部データが入力される前に、ビットシフタが当
該仮数部データのLSBをシフトするので、周知のイン
クリメンタを適用できる。
【0076】請求項7に記載の発明によれば、例えば、
全加算器はインクリメンタの最も端に位置するので、イ
ンクリメンタの構成を規則的にすることができ、回路設
計が容易になる。
【0077】請求項8に記載の発明によれば、算術演算
部の演算処理とインクリメンタの演算処理とをほぼ同時
に終わらすことができるので、スループットがさらに向
上する。
【図面の簡単な説明】
【図1】 本発明の実施の形態1における浮動小数点演
算装置の動作概念を示すフローチャートである。
【図2】 本発明の実施の形態1における浮動小数点演
算装置の例を示すブロック図である。
【図3】 本発明の実施の形態1におけるインクリメン
タの内部構成例を示すブロック図である。
【図4】 本発明の実施の形態1における半加算器を示
す図である。
【図5】 本発明の実施の形態1における全加算器を示
す図である。
【図6】 本発明の実施の形態1におけるキャリースキ
ップ回路の内部構成例を示すブロック図である。
【図7】 本発明の実施の形態1における仮数加減算部
及びインクリメンタの例を示すブロック図である。
【図8】 本発明の実施の形態1における加減算ブロッ
クを示す図である。
【図9】 本発明の実施の形態2における浮動小数点演
算装置の例を示すブロック図である。
【図10】 発明の実施の形態2におけるインクリメン
タの内部構成例を示すブロック図である。
【図11】 本発明の実施の形態3における浮動小数点
演算装置の例を示すブロック図である。
【図12】 本発明の実施の形態3におけるインクリメ
ンタの内部構成例を示すブロック図である。
【図13】 本発明の実施の形態4における浮動小数点
演算装置の例を示すブロック図である。
【図14】 本発明の実施の形態5における浮動小数点
演算装置の例を示すブロック図である。
【図15】 従来の浮動小数点演算装置を示すブロック
図である。
【図16】 浮動小数点データのフォーマットを示す図
である。
【図17】 浮動小数点データの計算過程を説明するた
めのフローチャートである。
【図18】 従来の浮動小数点演算装置の動作概念を示
すフローチャートである。
【符号の説明】
A,B 仮数部データ、LP LSB特定部、INP
インクリメント部、ISB インクリメント分割ブロッ
ク、ASB 算術演算分割ブロック。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 第1の浮動小数点データの仮数部データ
    と、第2の浮動小数点データの仮数部データとを受け
    て、これらの算術演算を行う算術演算部と、 前記算術演算部の演算結果を受けて、前記演算結果のM
    SBがシフトしていないと仮定したときにLSBとなる
    前記演算結果のビットに対してインクリメントを行うイ
    ンクリメント部と、 前記算術演算部の演算結果を受けて、前記演算結果に基
    づいて前記LSBより1つ下位のビットを切り上げるか
    否かを判定する丸め判定部と、 前記算術演算部の演算結果、前記インクリメント部の演
    算結果、前記丸め判定部の判定結果を受けて、前記丸め
    判定部の判定結果に応じて、前記インクリメント部の演
    算結果と前記算術演算部の演算結果とのどちらかを選択
    的に出力する第1のセレクタと、を備えた浮動小数点演
    算装置。
  2. 【請求項2】 前記インクリメント部は、 前記算術演算が実質加算と実質減算とのどちらであるか
    の判定を行い、この判定結果に応じて前記LSBを特定
    するLSB特定部を含む請求項1記載の浮動小数点演算
    装置。
  3. 【請求項3】 前記LSB特定部は、 前記判定を行う判定部と、 前記判定部の判定結果を受けて、前記判定部の判定結果
    に応じて、予め定められた実質加算用データと実質減算
    用データとのどちらかを選択的に出力する第2のセレク
    タと、を含み、 前記インクリメント部は、 前記算術演算部の演算結果と前記第2セレクタの選択結
    果とを受けて、これらを足し合わせることによって、前
    記インクリメントを行うインクリメンタをさらに含む請
    求項2記載の浮動小数点演算装置。
  4. 【請求項4】 前記LSB特定部は、 前記判定を行い、この結果に応じて実質加算用データあ
    るいは実質減算用データのどちらかを選択的に出力する
    判定部を含み、 前記インクリメント部は、 前記算術演算部の演算結果と前記判定部の出力とを受け
    て、これらを足し合わせることによって、前記インクリ
    メントを行うインクリメンタをさらに含む請求項2記載
    の浮動小数点演算装置。
  5. 【請求項5】 前記LSB特定部は、 前記判定を行う判定部と、 前記算術演算部の演算結果と、前記判定部の判定結果と
    を受け、前記判定部の判定結果に応じて、前記算術演算
    部の演算結果をシフトするビットシフタと、を含み、 前記インクリメント部は、 前記ビットシフタを介して出力される前記算術演算部の
    演算結果を受けて、前記インクリメントを行うインクリ
    メンタをさらに含む請求項2記載の浮動小数点演算装
    置。
  6. 【請求項6】 前記LSB特定部は、 前記判定を行う判定部と、 前記第1の浮動小数点データの仮数部データと、前記判
    定部の判定結果とを受け、前記判定部の判定結果に応じ
    て、前記第1の浮動小数点データの仮数部データをシフ
    トして前記算術演算部に出力する第1のビットシフタ
    と、 前記第2の浮動小数点データの仮数部データと、前記判
    定部の判定結果とを受け、前記判定部の判定結果に応じ
    て、前記第2の浮動小数点データの仮数部データをシフ
    トして前記算術演算部に出力する第2のビットシフタ
    と、を含み、 前記インクリメント部は、 前記算術演算部の演算結果を受けて、前記インクリメン
    トを行うインクリメンタをさらに含む請求項2記載の浮
    動小数点演算装置。
  7. 【請求項7】 前記判定部が選択的に出力する前記実質
    加算用データは”1”であり、 前記判定部が選択的に出力する前記実質減算用データ
    は”0”であり、 前記インクリメンタは、前記算術演算部の演算結果の最
    下位ビットと、前記判定部の出力と、”1”とを受け
    て、前記インクリメント部の演算結果の最下位ビットを
    生成して出力する全加算器を含む請求項4記載の浮動小
    数点演算装置。
  8. 【請求項8】 前記算術演算部は、 前記第1の浮動小数点データの仮数部データと前記第2
    の浮動小数点データの仮数部データとを、互いに並列に
    最下位ビット側から最上位ビット側へ順に列べて複数の
    ビット群に分割し、前記複数のビット群をそれぞれ処理
    する複数の算術演算分割ブロックを含み、 前記インクリメンタは、 前記複数の算術演算分割ブロックの演算結果をそれぞれ
    処理する複数のインクリメント分割ブロックを含む請求
    項3〜7のいずれかに記載の浮動小数点演算装置。
JP10173127A 1998-06-19 1998-06-19 浮動小数点演算装置 Pending JP2000010762A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10173127A JP2000010762A (ja) 1998-06-19 1998-06-19 浮動小数点演算装置
TW087121400A TW494351B (en) 1998-06-19 1998-12-22 Floating-point arithmetic unit
US09/218,076 US6314442B1 (en) 1998-06-19 1998-12-22 Floating-point arithmetic unit which specifies a least significant bit to be incremented

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10173127A JP2000010762A (ja) 1998-06-19 1998-06-19 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JP2000010762A true JP2000010762A (ja) 2000-01-14

Family

ID=15954637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10173127A Pending JP2000010762A (ja) 1998-06-19 1998-06-19 浮動小数点演算装置

Country Status (3)

Country Link
US (1) US6314442B1 (ja)
JP (1) JP2000010762A (ja)
TW (1) TW494351B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024625A1 (ja) * 2003-08-28 2005-03-17 Hitachi Ulsi Systems Co., Ltd. データ処理装置
JP2009181487A (ja) * 2008-01-31 2009-08-13 Sanyo Electric Co Ltd 演算処理回路
JP2018139134A (ja) * 2006-09-22 2018-09-06 インテル コーポレイション 命令に応じた丸め処理の実行

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615228B1 (en) * 2000-05-30 2003-09-02 Hewlett-Packard Development Company, Lp Selection based rounding system and method for floating point operations
JP3755602B2 (ja) * 2003-03-04 2006-03-15 ソニー株式会社 信号処理装置、信用処理装置用プログラム、信号処理装置用プログラムを記録した記録媒体、及び信号処理方法
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7752250B2 (en) * 2006-01-12 2010-07-06 International Business Machines Corporation Rounding floating point division results
US8266198B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8352531B2 (en) * 2008-07-22 2013-01-08 International Business Machines Corporation Efficient forcing of corner cases in a floating point rounder
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
EP3260977B1 (en) * 2016-06-21 2019-02-20 Stichting IMEC Nederland A circuit and a method for processing data
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6097436A (ja) 1983-11-01 1985-05-31 Nec Corp 丸め制御回路
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
JP2507183B2 (ja) 1989-11-28 1996-06-12 松下電器産業株式会社 浮動小数点加減算装置
US5258943A (en) * 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
JP3174974B2 (ja) 1992-07-24 2001-06-11 株式会社日立製作所 浮動小数点演算装置および方法
JPH0659858A (ja) * 1992-08-10 1994-03-04 Mitsubishi Electric Corp 浮動小数点演算装置
JP3218518B2 (ja) 1993-01-22 2001-10-15 清水建設株式会社 地中連続壁工法における掘削機のガイドウォール
KR0139733B1 (ko) * 1994-04-29 1998-07-01 구자홍 부동 소수점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
US5511016A (en) * 1994-11-30 1996-04-23 International Business Machines Corporation Method for store rounding and circuit therefor
US5696711A (en) * 1995-12-22 1997-12-09 Intel Corporation Apparatus and method for performing variable precision floating point rounding operations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024625A1 (ja) * 2003-08-28 2005-03-17 Hitachi Ulsi Systems Co., Ltd. データ処理装置
JP2018139134A (ja) * 2006-09-22 2018-09-06 インテル コーポレイション 命令に応じた丸め処理の実行
JP2009181487A (ja) * 2008-01-31 2009-08-13 Sanyo Electric Co Ltd 演算処理回路

Also Published As

Publication number Publication date
US6314442B1 (en) 2001-11-06
TW494351B (en) 2002-07-11

Similar Documents

Publication Publication Date Title
JP2000010762A (ja) 浮動小数点演算装置
US5369607A (en) Floating-point and fixed-point addition-subtraction assembly
EP0351242A2 (en) Floating point arithmetic units
JP4571903B2 (ja) 演算処理装置,情報処理装置,及び演算処理方法
JP2002108606A (ja) スティッキービット生成回路及び乗算器
US5148386A (en) Adder-subtracter for signed absolute values
KR100241072B1 (ko) 부동소수점 감산시 대량소거의 병렬예측 및 연산방법과 장치
US6269385B1 (en) Apparatus and method for performing rounding and addition in parallel in floating point multiplier
KR100231901B1 (ko) 하나의 명령 주기내에서 0으로 반올림된 두 정수의 평균을 계산하는 방법 및 장치
US5570309A (en) Iterative arithmetic processor
JP2645422B2 (ja) 浮動小数点演算処理装置
JP2555577B2 (ja) 演算装置
KR0176883B1 (ko) 복소수 승산기
JP2856792B2 (ja) 浮動小数点数演算装置
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP2777265B2 (ja) 高基数開平演算装置
JP2980341B2 (ja) 浮動小数点桁合せ回路
JP3124286B2 (ja) 浮動小数点数演算装置
JP2512939B2 (ja) 固定浮動デ−タ変換回路
JPH07200259A (ja) 演算処理方法および演算処理装置
JPH0683591A (ja) 浮動小数点乗算器とそのテスト方式
JPH04148231A (ja) 演算回路
JPH04312120A (ja) 浮動小数点加減算器
JPH04114234A (ja) 浮動小数点加算器
JPH1069372A (ja) 演算実行方法及び演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080520