JP4439060B2 - 浮動小数点加算器 - Google Patents
浮動小数点加算器 Download PDFInfo
- Publication number
- JP4439060B2 JP4439060B2 JP35887199A JP35887199A JP4439060B2 JP 4439060 B2 JP4439060 B2 JP 4439060B2 JP 35887199 A JP35887199 A JP 35887199A JP 35887199 A JP35887199 A JP 35887199A JP 4439060 B2 JP4439060 B2 JP 4439060B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- floating
- mantissa
- point data
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
Landscapes
- Engineering & 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)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、浮動小数点データの大小比較演算を行なう浮動小数点加算器に関し、より特定的にはグラフィックス処理におけるクリッピング処理に有効に用いられる浮動小数点加算器に関する。
【0002】
【従来の技術】
コンピュータグラフィックスでは、射影変換におけるビューボリューム内や2次元グラフィックスでの表示ウィンドウ内に表示対象の座標が存在するか否かの判定を行なうクリップ処理が行なわれる。クリップ処理については、たとえば、J.D.Foleyら著、「Computer Graphics: Principles and Practice」、1992年、第271頁―第278頁、Addison-Wesley Publishing Companyに記載されている。
【0003】
クリップ処理には、表示対象の座標とクリップ処理の基準となる座標との大小を比較する比較演算が必要である。
【0004】
一般に、コンピュータグラフィックスの座標には、浮動小数点データが用いられ、座標の大小判定は浮動小数点データを加減算することによって行なわれる。浮動小数点データの加算や減算は、原著K.Wand,監訳 堀越,「コンピュータの高速演算方式」,第295頁−第299頁,1980年,近代科学社、およびJohn L.Hennessy and David A.Patterson 著、「Computer Architecture A Quantitative Approach」第A-16頁−第A−20頁、1990年、Morgan Kaufmann Publishers, Inc.にあるような処理フローによって行なわれる。
【0005】
本明細書においては、第1、第2のデータ値の加算を行なう演算装置の他に第1のデータ値から第2のデータ値の減算を行なうことができる演算装置も加算器と呼ぶことにする。
【0006】
従来は、表示対象の座標が表示ウィンドウ内に存在するか否かの指標であるクリップコードを浮動小数点加算器を用いて発生していた。
【0007】
図11は、従来におけるクリップコードの発生を説明するためのブロック図である。
【0008】
図11を参照して、従来は、クリップコードCODEを浮動小数点加算器501とコード発生部502によって発生していた。
【0009】
浮動小数点加算器501は、演算の種類等を表わす命令FUNCおよび浮動小数点データX、Wを受ける前処理部510と、浮動小数点データX、Wの桁合せを行なう桁合せ部11と、桁合せがされた浮動小数点データX、Wの仮数部の加算や減算を行なう仮数演算部12と、仮数演算部12の演算した結果を正規化する正規化部13と、正規化部13の出力に応じてフラグFLAGと演算結果RESとを出力する後処理部14とを含む。
【0010】
コード発生部502は、浮動小数点加算器501が出力するフラグFLAGに含まれる零フラグや符号フラグの論理演算を別途行ないクリップコードCODEを生成する。
【0011】
図12は、図11に示した前処理部510の構成を示すブロック図である。
図12を参照して、前処理部510は、命令FUNCおよび2つの浮動小数点データX、Wが入力され特殊入力フラグSIFを生成する入力値検証部20と、2つの浮動小数点データX、Wのそれぞれの指数部eX、eW同士を比較する指数比較部21と、浮動小数点データX、Wのそれぞれの仮数部fX、fW同士を比較する仮数比較部22と、命令FUNC、浮動小数点データX、W、指数比較部21の出力および仮数比較部22の出力を受けて選択信号SELを発生する選択信号生成器24とを含む。選択信号SELは、浮動小数点データX、Wのうちどちらを桁合せのためにシフトするかを選択するための信号である。
【0012】
指数比較部21は、指数部eX、eWの比較を行ないeX>eWであるときには、フラグF(eX>eW)を1にする。指数部eXと指数部eWが一致したときには、フラグF(eX==eW)を1にする。
【0013】
仮数比較部22は、仮数部fX、fWの比較を行ない、fX>fWであるときにはフラグF(fX>fW)を1にする。
【0014】
ここで、クリップ処理が行なわれるときには、浮動小数点データXは表示対象の座標を表わし、浮動小数点データWはクリップウィンドウの座標を表わしている。
【0015】
たとえば、ビューボリュームを形成する最大の座標値である浮動小数点データWよりも浮動小数点データXが大きい場合には、表示対象はビューボリュームの外にある。この場合にクリップコードCODEは1となるが、このクリップコードCODEを生成するには、まずX−Wの浮動小数点減算を行なう。
【0016】
その演算結果の零フラグをZ、符号フラグをNとすると、図11に示したコード発生部502は、ZとNのNORを演算してX>Wであることを知り、クリップコードCODEとして“1”を生成する。
【0017】
他にクリップ処理を行なう方法としては、米国特許5,157,764のように専用のハードウェアを準備する方法がある。
【0018】
【発明が解決しようとする課題】
従来のクリップコード生成方法では、図11、図12に示したように、浮動小数点の減算処理を行ない、その後に演算フラグを用いてクリップコードを生成するので、クリップコード生成までの処理時間が長いという問題点があった。一方、専用のハードウェアを用いる方法では、ハードウェア資源が大きくなってしまうという問題点があった。
【0019】
本発明の目的は、クリップコード生成を回路規模の増大を抑えつつ高速に実行することが可能な浮動小数点加算器を提供することである。
【0020】
【課題を解決するための手段】
この発明の浮動小数点加算器は、第1、第2の浮動小数点データを受けて、指数部比較結果と仮数部比較結果とクリップコードとを出力する前処理部を備え、前処理部は、第1、第2の浮動小数点データの指数部同士を比較して指数部比較結果を出力する指数比較部と、第1、第2の浮動小数点データの仮数部同士を比較して仮数部比較結果を出力する仮数比較部と、第1の浮動小数点データとクリップウインドウに対応する参照データとの大小関係に応じたクリップコードを出力するクリップコード生成部とを含み、仮数部比較結果および指数部比較結果に応じて、第1、第2の浮動小数点データの仮数部の桁合せを行なう桁合せ部と、桁合せ部により桁合せされた第1、第2の浮動小数点データの仮数部の加算を行なう演算部と、演算部の演算結果を受けて正規化を行なう正規化部とをさらに備える。
【0021】
好ましくは、クリップコード生成部は、指数部比較結果と仮数部比較結果とに応じて、クリップコードを出力する。
【0022】
より好ましくは、指数部比較結果は、第1の浮動小数点データの指数部が第2の浮動小数点データの指数部より大きいことを示す第1の信号と、第1、第2の浮動小数点データの指数部が一致したことを示す第2の信号とを含み、仮数部比較結果は、第1の浮動小数点データの仮数部が第2の浮動小数点データの仮数部より大きいことを示す第3の信号を含み、参照データは、第1、第2および第3の信号を含み、クリップコード生成部は、第2、第3の信号の論理積を演算し、かつ、論理積と第1の信号の論理和を出力する論理演算部を含む。
【0023】
さらに好ましくは、クリップコード生成部は、第1の浮動小数点データの符号ビットが正の数を表わす場合に論理演算部の出力に応じて第1のクリップコードを出力し、符号ビットが負の数を表わす場合に論理演算部の出力に応じて第2のクリップコードを出力するゲート部をさらに含む。
【0024】
より好ましくは、浮動小数点加算器は、与えられる命令に応じて、第2の浮動小数点データを下限値とするクリップウインドウに対する第1のクリップコードと、第2の浮動小数点データを上限値とするクリップウインドウに対する第2のクリップコードのいずれかを出力し、前処理部は、命令が第2の浮動小数点データを下限値とするクリップウインドウに対するクリップコードの出力を指示する場合には、第1、第2の浮動小数点データの指数部をそれぞれ第1の指数部データ、第2の指数部データとして出力し、第1、第2の浮動小数点データの仮数部をそれぞれ第1の仮数部データ、第2の仮数部データとして出力し、命令が第2の浮動小数点データを上限値とするクリップウインドウに対するクリップコードの出力を指示する場合には、第1、第2の浮動小数点データの指数部をそれぞれ第2の指数部データ、第1の指数部データとして出力し、第1、第2の浮動小数点データの仮数部をそれぞれ第2の仮数部データ、第1の仮数部データとして出力するデータ入換部をさらに含み、指数部比較結果は、第1の指数部データが第2の指数部データより大きいことを示す第1の信号と、第1、第2の指数部データが一致したことを示す第2の信号とを含み、仮数部比較結果は、第1の仮数部データが第2の仮数部データより大きいことを示す第3の信号を含み、参照データは、第1、第2および第3の信号を含み、クリップコード生成部は、第2、第3の信号の論理積を演算し、かつ、論理積と第1の信号の論理和を出力する論理演算部を含む。
【0025】
さらに好ましくは、データ入換部は、命令を受けてデコードするデコーダと、第1、第2の浮動小数点データの指数部を受けて、デコーダの出力に応じていずれか一方を選択し、第1の指数部データとして出力する第1の選択回路と、第1、第2の浮動小数点データの指数部を受けて、デコーダの出力に応じて第1の選択回路と相補な選択を行ない第2の指数部データとして出力する第2の選択回路と、第1、第2の浮動小数点データの仮数部を受けて、デコーダの出力に応じていずれか一方を選択し、第1の仮数部データとして出力する第3の選択回路と、第1、第2の浮動小数点データの仮数部を受けて、デコーダの出力に応じて第3の選択回路と相補な選択を行ない第2の仮数部データとして出力する第4の選択回路とを含む。
【0027】
好ましくは、参照データは、1と−1とを含み、前処理部は、第1の浮動小数点データが0と一致しないことを検証する入力値検証部をさらに含み、クリップコード生成部は、第1の浮動小数点データの指数部および入力値検証部の出力を受けて第1の浮動小数点データの絶対値が1より大きいことを検出する論理演算部を含む。
【0028】
より好ましくは、クリップコード生成部は、第1の浮動小数点データの符号ビットが正の数を表わす場合に論理演算部の出力に応じて第1のクリップコードを出力し、符号ビットが負の数を表わす場合に論理演算部の出力に応じて第2のクリップコードを出力するゲート部をさらに含む。
【0032】
【発明の実施の形態】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。また、本実施の形態においては、浮動小数点の標準形式であるIEEE標準(ANSI/IEEE Std.754-1985 "IEEE Standard for Binary Floating Point Arithmetic", Newyork:ANSI/IEEE,1985)の単精度浮動小数点表現形式を例として説明している。
【0033】
[実施の形態1]
図1は、実施の形態1の浮動小数点加算器1の構成を示すブロック図である。
【0034】
図1を参照して、浮動小数点加算器1は、命令FUNCおよび2つの浮動小数点データX、Wを受け2つの浮動小数点データの前処理を行なうとともにクリップコードCODEを出力する前処理部10と、前処理部10の出力に応じて浮動小数点データX、Wの桁合せを行なう桁合せ部11と、桁合せが行なわれた浮動小数点データX、Wの加算や減算を行なう仮数演算部12と、仮数演算部12の演算結果を受けて正規化を行なう正規化部13と、正規化部13の出力を受けて後処理を行ない演算フラグFLAGおよび演算結果RESを出力する後処理部14とを含む。
【0035】
図2は、図1における前処理部10の構成を示すブロック図である。
図2を参照して、前処理部10は、命令FUNCおよび2つの浮動小数点データX、Wが入力され特殊入力フラグSIFを生成する入力値検証部20と、2つの浮動小数点データX、Wのそれぞれの指数部eX、eW同士を比較する指数比較部21と、浮動小数点データX、Wのそれぞれの仮数部fX、fW同士を比較する仮数比較部22と、命令FUNC、浮動小数点データX、W、指数比較部21の出力および仮数比較部22の出力を受けて選択信号SELを発生する選択信号生成器24とを含む。選択信号SELは、浮動小数点データX、Wのうちどちらを桁合せのためにシフトするかを選択するための信号である。
【0036】
指数比較部21は、指数部eX、eWの比較を行ないeX>eWであるときには、フラグF(eX>eW)を1にする。指数部eXと指数部eWが一致したときには、フラグF(eX==eW)を1にする。
【0037】
仮数比較部22は、仮数部fX、fWの比較を行ない、fX>fWであるときにはフラグF(fX>fW)を1にする。
【0038】
前処理部10は、さらに、浮動小数点データXの符号ビットsXおよびフラグF(eX>eW)、F(eX==eW)、F(fX>fW)を受けてクリップコードCODE(X<−W)、CODE(X>W)を出力するクリップコード生成器23aを含む。
【0039】
図3は、図2におけるクリップコード生成器23aの構成を示す回路図である。
【0040】
図3を参照して、クリップコード生成器23aは、フラグF(eX>eW)を受けて反転するインバータ31と、フラグF(eX==eW)、F(fX>fW)を受けるNAND回路30と、インバータ31の出力およびNAND回路30の出力を受けるNAND回路32と、符号ビットsXとNAND回路32の出力とを受けてクリップコードCODE(X<−W)を出力するAND回路33と、符号ビットsXを受けて反転するインバータ34と、インバータ34の出力およびNAND回路32の出力を受けてクリップコードCODE(X>W)を出力するAND回路35とを含む。
【0041】
以下、簡単に動作を説明する。
図2、図3を参照して、浮動小数点加算器に与えられた命令FUNC、浮動小数点データX、Wは前処理部10にまず入力され、入力値検証部20において入力値が浮動小数点表現における特殊な数値を表わす形態でないかがチェックされる。たとえば、IEEE標準の浮動小数点表現では、入力された数値の指数部、仮数部が全ビット0の場合には数値0を表わし、あるいは、指数部の全ビットが1で仮数部の全ビットが0の場合は∞を表わすが、入力値検証部20では、このような特殊な入力値が与えられていないかの検証を行なう。
【0042】
指数比較部21は、浮動小数点データX、Wのそれぞれの指数部eX、eWの比較を行なう。また、仮数比較部22は、浮動小数点データX、Wのそれぞれの仮数部fX、fWの比較を行なう。
【0043】
指数比較部21からは、指数部eXが指数部eWより大きい場合に1となるフラグF(eX>eW)と指数部eXと指数部eWが等しい場合に1となるフラグF(eX==eW)とが出力される。指数比較部21からは、さらに、指数部eX、eWの差が桁合せシフト値SVとして出力される。桁合せシフト値SVは、図1に示した加算や減算における次の処理を行なう桁合せ部11に与えられ、桁合せのためのシフト値として使われる。
【0044】
仮数比較部22は、仮数部fXがfWより大きい場合に1となるフラグF(fX>fW)を選択信号生成器24およびクリップコード生成器23aに対して出力する。
【0045】
選択信号生成器24は、命令FUNC、浮動小数点データX、Wのそれぞれの符号ビットsX、sWおよび指数比較部、仮数比較部が出力するフラグを受けて、シフトすべき浮動小数点データが浮動小数点データX、Wのいずれであるかを判定して、加算や減算における次処理を行なう図1に示した桁合せ部11に出力する。
【0046】
たとえば、浮動小数点データX、Wの両方が正の数で加算を行なう場合には、eX>eWであるときには、浮動小数点データXの指数部を基準として以後の処理を進めるために、選択信号生成器24は、被シフト入力として仮数部fWを選択する。
【0047】
また、浮動小数点データX、Wのいずれもが正の数で、X−Wの減算を行なう場合に、eXがeWに等しいときには、選択信号生成器24は、桁合せシフトがシフト値0なのでシフト処理は行なわない。しかし、仮数部減算結果が負の数とならないように、仮数比較部22の比較結果に基づいてfX<fWであれば浮動小数点データWを基準とした減算−(W−X)を行なうように、選択信号生成器24は加算や減算における次段以後を制御する。
【0048】
クリップコード生成器23aでは、命令FUNCにかかわらず常に浮動小数点データX、Wに応じてクリップコードが発生される。クリップコード生成器23aにはフラグF(eX>eW)、フラグF(eX==eW)、フラグF(fX>fW)および浮動小数点データXの符号ビットsXが与えられる。浮動小数点データW(ただしW>0)をクリップ座標とする場合クリップコード生成器23aはクリップコードCODE(X<−W)、CODE(X>W)を出力する。
【0049】
CODE(X<−W)はX<−Wの場合に1となるクリップコードであり、CODE(X>W)は、X>Wの場合に1となるクリップコードである。これらのクリップコードは同時に生成され、次の式(1)、(2)で与えられる。
【0050】
CODE(X<−W)=sX・{(eX>eW)+(eX==eW)・(fX>fW)}…(1)
CODE(X<W)=(!sX)・{(eX>eW)+(eX==eW)・(fX>fW)}…(2)
但し符号ビットsXは浮動小数点データXが正の数の場合に0になり、また!は反転を表わしており、(A==B)はAとBが一致したときに論理値“1”となることを表わしている。
【0051】
以上説明したように、実施の形態1の浮動小数点加算器は、通常の浮動小数点演算に必要な指数部比較結果フラグおよび仮数部比較結果フラグを用いることにより、小規模の回路追加で、絶対値の等しい正負両側のクリップ座標に対するクリップコードを高速に生成することができる。
【0052】
[実施の形態2]
図4は、実施の形態2の浮動小数点加算器において用いられる前処理部10bの構成を示すブロック図である。
【0053】
図4を参照して、前処理部10bは、クリップコード生成器23aに代えてクリップコード生成器23bを含み、入力値検証部20に代えて入力値検証部20bを含む点が図2に示した前処理部10と異なる。他の構成は、前処理部10と同様であるので説明は繰返さない。
【0054】
入力値検証部20bは、図2に示した入力値検証部20と同様の機能を有しているが、その過程で生成される浮動小数点データXの仮数部が0でない場合に1となるフラグF(fX≠0)をクリップコード生成器23bに出力する機能が付加されている。
【0055】
図5は、図4におけるクリップコード生成器23bの構成を示す回路図である。
【0056】
図5を参照して、クリップコード生成器23bは、指数部のビットeX<0>〜eX<6>およびフラグF(fX≠0)を受けるNAND回路40と、指数部のビットeX<7>を受けて反転するインバータ41と、インバータ41の出力およびNAND回路40の出力を受けるNAND回路42と、符号ビットsXおよびNAND回路42の出力を受けてクリップコードCODE(X<−1)を出力するAND回路43と、符号ビットsXを受けて反転するインバータ44と、インバータ44の出力およびNAND回路42の出力を受けてクリップコードCODE(X>1)を出力するAND回路45とを含む。
【0057】
クリップコード生成器23bは、供給された数値の符号ビットsXおよび指数部eXおよび入力値検証部20aからのフラグとの間で論理演算を行なう。ここでは、単精度浮動小数点データを扱う場合を例として示し、指数部eXは8ビットで表わしており、eX<7>はそのMSB(最上位ビット)、eX<0>はLSB(最下位ビット)を表わしている。
【0058】
なお、クリップ座標を±Wに設定したり、“±1”に固定したりするのは3次元のグラフィックス処理において一般によく用いられる手法である。
【0059】
実施の形態2で示した発明においては、クリップ座標は固定された“±1”であり、クリップコード生成器23bは、浮動小数点加算器の入力データである浮動小数点データXと“+1”および“−1”との大小関係を検証してコード化を行なう。
【0060】
IEEE標準の単精度浮動小数点数値表現における“1”は、指数部が2進数表現で“01111111”かつ仮数部が“0”の場合であるので、符号を考慮すると、浮動小数点加算器の入力である浮動小数点データXが“+1”よりも大きくなる場合に1となるクリップコードCODE(X>1)は次の論理式で与えられる。
【0061】
CODE(X>1)=(!sX)・{eX<7>+(eX<6:0>==1111111)・(fX≠0)}…(3)
また、浮動小数点データXが“−1”よりも小さい場合に“1”となるクリップコードCODE(X<−1)は、次の論理式で与えられる。
【0062】
CODE(X<−1)=sX・{eX<7>+(eX<6:0>==1111111)・(fX≠0)}…(4)
式(3)、(4)を論理ゲートによって実現したのが図5で示したクリップコード生成器である。
【0063】
なお、実施の形態2の場合においても、命令FUNCによらず入力された浮動小数点データX、Wに基づきクリップコードを常に生成する。このクリップコードは、たとえば射影変換を行なう他の演算部によって使用するかしないかが判断される。
【0064】
以上説明したように、実施の形態2の浮動小数点加算器は、浮動小数点の加算や減算に必要な入力値検証部において生成される入力値の仮数部検証結果を流用してクリップコードを発生するため、回路規模の増加を抑えつつ、クリップ座標が“±1”の場合に対するクリップコードを高速に生成することができる。
【0065】
[実施の形態3]
図6は、実施の形態3において用いられる前処理部10cの構成を示すブロック図である。
【0066】
図6を参照して、前処理部10cは、図2に示した前処理部10の構成においてクリップコード生成器23aに代えて23cを含み、さらに、入力入換部50を含む。
【0067】
指数比較部21は、指数部eX、eWに代えて入力入換部50が出力する指数部e1X、e1Wを受ける。仮数比較部22は、仮数部fX、fWに代えて仮数部f1X、f1Wを受ける。
【0068】
入力入換部50は、命令FUNCおよび符号ビットsXを受けるデコーダ51と、デコーダ51の出力に応じて指数部eXと指数部eWのいずれか一方を指数部e1Xとして出力するセレクタ52と、デコーダ51の出力に応じて指数部eW、eXのいずれか一方を指数部e1Wとして出力するセレクタ53と、デコーダ51の出力に応じて仮数部fX、fWのいずれか一方を仮数部f1Xとして出力するセレクタ54と、デコーダ51の出力に応じて仮数部fW、fXのいずれか一方を仮数部f1Wとして出力するセレクタ55とを含む。
【0069】
他の構成は、図2に示した前処理部10と同様であるため説明は繰返さない。
図7は、図6におけるクリップコード生成器23cの構成を示す回路図である。
【0070】
図7を参照して、クリップコード生成器23cは、図6に示した指数比較部21が出力するフラグF(e1X>e1W)を受けて反転するインバータ60と、フラグF(e1X==e1W)とフラグF(f1X>f1W)とを受けるNAND回路61と、インバータ60の出力とNAND回路61の出力とを受けるNAND回路62と、浮動小数点データWの符号ビットsWを受けて反転するインバータ63と、浮動小数点データXの符号ビットsXを受けて反転するインバータ64と、符号ビットsXとインバータ63の出力を受けるNAND回路65と、インバータ64の出力と符号ビットsWとを受けるNAND回路66と、NAND回路65、66の出力を受けるAND回路67と、NAND回路62の出力およびAND回路67の出力を受けるNAND回路68とを含む。
【0071】
クリップコード生成器23cは、さらに、NAND回路65、68の出力を受けるNAND回路69と、NAND回路66、68の出力を受けるNAND回路70と、命令FUNCを受けてクリップウィンドウ座標の最小値に対するクリップ処理を行なう命令であることを検出して信号CLIPMINを出力するクリップ検出部71と、命令FUNCを受けてクリップウィンドウ座標の最大値に対するクリップ処理を行なうことを検出して信号CLIPMAXを出力するクリップ検出部72と、NAND回路69の出力および信号CLIPMINを受けるNAND回路73と、NAND回路70の出力と信号CLIPMAXを受けるNAND回路74と、NAND回路73、74の出力を受けてクリップコードCODE(X>Xmax,X<Xmin)を出力するNAND回路75とを含む。
【0072】
図6、図7を参照して簡単に動作を説明すると、クリップコード生成器23cは、供給された命令FUNC、符号ビットsX、sWおよび比較結果フラグとの間で論理演算を行ない、命令に応じたクリップコードを出力する。
【0073】
デコーダ51では、命令FUNCが加算命令あるいは減算命令の場合には、指数比較部21および仮数比較部22に対して図2、図4で示したクリップコード生成器23a、23bと同様の入力になるようにe1X、e1W、f1X、f1WとしてそれぞれeX、eW、fX、fWが選択される。
【0074】
一方、命令FUNCがクリップ座標の下限側に対するクリップコード生成である場合には、符号ビットsXが“0”の場合、すなわち、入力された浮動小数点データXが正の数の場合に、指数比較部21および仮数比較部22への入力データの入換が起こる。この場合には、e1X、e1W、f1X、f1WとしてそれぞれeW、eX、fW、fXが選択される。
【0075】
同様に、命令FUNCがクリップ座標の上限側に対するクリップコード生成である場合には、符号ビットsXが“1”の場合、すなわち、入力された浮動小数点データXが負の数の場合に、指数比較部21および仮数比較部22への入力データの入換が起こる。
【0076】
与えられた命令FUNCがクリップ座標の下限側に対するクリップコード生成である場合には、クリップコード生成器23cは、Xがクリップ下限値よりも小さい場合に1となるクリップコードCODE(X>Xmax,X<Xmin)を次の論理式を表現する論理回路により生成する。
【0077】
CODE(X>Xmax,X<Xmin)=sX・(!sW)+(sX==sW)・{(e1X>e1W)+(e1X==e1W)・(f1X>f1W)}…(5)
一方、与えられた命令FUNCがクリップ座標の上限側に対するクリップコード生成である場合には、クリップコード生成器23cは、入力された浮動小数点データXがクリップ上限値よりも大きい場合に1となるクリップコードCODE(X>XMax,X<Xmin)を次の論理式を表現する論理回路により生成する。
【0078】
CODE(X>Xmax,X<Xmin)=(!sX)・sW+(sX==sW)・{(e1X>e1W)+(e1X==e1W)・(f1X>f1W)}…(6)
以上説明したように、実施の形態3の浮動小数点加算器では、加算器としての機能ブロックを流用してクリップコード生成のために必要なハードウェアの負荷を最低限に抑えた上で、任意のクリッピング座標に対するクリップコードを命令に応じて高速に出力することが可能となる。
【0079】
[実施の形態4]
図8は、実施の形態4において用いられる前処理部10dの構成を示すブロック図である。
【0080】
図8を参照して、前処理部10dは、図2で示した前処理部10の構成においてクリップコード生成器23aに代えてクリップコード生成器23dを含み、さらに、入力入換部91、92と、指数比較部21dと、仮数比較部22dとを含む。
【0081】
入力入換部91は、符号ビットsXに応じて指数部eXとクリップ処理時に与えられる下限値データXminの指数部eXminのいずれかを選択出力するセレクタ94と、符号ビットsXに応じて指数部eXmin、eXのいずれか一方を出力するセレクタ95と、符号ビットsXに応じて仮数部fXとクリップ座標下限値Xminの仮数部fXminのいずれか一方を出力するセレクタ96と、仮数部fXmin、fXのいずれか一方を符号ビットsXに応じて出力するセレクタ97とを含む。
【0082】
入力入換部91は、さらに、命令FUNCを受けてデコードするデコーダ93と、デコーダ93の出力に応じて指数部eXとセレクタ94の出力のいずれか一方を指数部e1Xとして出力するセレクタ98と、デコーダ93の出力に応じて指数部eWとセレクタ95の出力のいずれか一方を指数部e1Wとして出力するセレクタ99と、デコーダ93の出力に応じて仮数部fXとセレクタ96の出力のいずれか一方を仮数部f1Xとして出力するセレクタ100と、デコーダ93の出力に応じて仮数部fWとセレクタ97の出力のいずれか一方を仮数部f1Wとして出力するセレクタ101とを含む。
【0083】
入力入換部91はこのようにして選択された指数部e1X、e1Wを指数比較部21に対して出力し、仮数部f1X、f1Wを仮数比較部22に対して出力する。
【0084】
入力入換部92は、符号ビットsXに応じてクリップ座標の上限値Xmaxの指数部eXmaxと指数部eXのいずれか一方を指数部e2Xとして出力するセレクタ121と、符号ビットsXに応じて指数部eXと指数部eXmaxのいずれか一方を指数部e2Wとして出力するセレクタ122と、符号ビットsXに応じてクリップ座標の上限値Xmaxの仮数部fXmaxと仮数部fXのいずれか一方を仮数部f2Xとして出力するセレクタ123と、符号ビットsXに応じて仮数部fX、fXmaxのいずれか一方を仮数部f2Wとして出力するセレクタ124とを含む。
【0085】
指数比較部21dは、指数部e2X、e2Wを受けてフラグF(e2X>e2W)とフラグF(e2X==e2W)を出力する。
【0086】
仮数比較部22dは、仮数部f2X、f2Wを受けてフラグF(f2X>f2W)を出力する。
【0087】
図9は、図8に示したクリップコード生成器23dの構成を示す回路図である。
【0088】
図9を参照して、クリップコード生成器23dは、フラグF(e1X>e1W)を受けて反転するインバータ130と、フラグF(e1X==e1W)、フラグF(f1X>f1W)を受けるNAND回路131と、インバータ130の出力およびNAND回路131の出力を受けるNAND回路132と、クリップ座標の下限値Xminの符号ビットsXminを受けて反転するインバータ134と、符号ビットsXを受けて反転するインバータ133と、インバータ133の出力および符号ビットsXminを受けるNAND回路135と、インバータ134の出力および符号ビットsXを受けるNAND回路136と、NAND回路135、136の出力を受けるAND回路137と、NAND回路132の出力およびAND回路137の出力を受けるNAND回路138と、NAND回路136、138の出力を受けてクリップコードCODE(X<Xmin)を出力するNAND回路139とを含む。
【0089】
クリップコード生成器23dは、さらに、フラグF(e2X>e2W)を受けて反転するインバータ150と、フラグF(e2X==e2W)およびフラグF(f2X>f2W)を受けるNAND回路151と、インバータ150の出力およびNAND回路151の出力を受けるNAND回路152と、クリップ座標の上限値Xmaxの符号ビットsXmaxを受けて反転するインバータ153と、符号ビットsXを受けて反転するインバータ154と、インバータ153の出力および符号ビットsXを受けるNAND回路155と、インバータ154の出力および符号ビットsXmaxを受けるNAND回路156と、NAND回路155、156の出力を受けるAND回路157と、NAND回路152の出力およびAND回路157の出力を受けるNAND回路158と、NAND回路156、158の出力を受けてクリップコードCODE(X>Xmax)を出力するNAND回路159とを含む。
【0090】
次に、図8、図9を参照して簡単に動作を説明する。命令FUNCが加減算命令の場合には、指数比較部21、仮数比較部22には図2で示した指数比較部21、仮数比較部22と同様な入力が与えられるようにe1X、e1W、f1X、f1WにはそれぞれeX、eW、fX、fWがそれぞれ選択される。
【0091】
一方、命令FUNCがクリップコード生成命令の場合には、別途外部より入力されるクリップ座標下限値Xminが、入力される浮動小数点データXとそれぞれ独立して並列的に指数比較部21、仮数比較部22で比較されるように入力入換部91によって選択が行なわれる。また、別途外部より入力されるクリップ座標上限値Xmaxが、入力される浮動小数点データXとそれぞれ独立して並列的に指数比較部21d、仮数比較部22dで比較されるように入力入換部92によって選択が行なわれる。
【0092】
クリップコード命令において、入力された浮動小数点データXの符号ビットsXが“1”、すなわち浮動小数点データXが負の数の場合には、指数比較部21および仮数比較部22への入力には入換が起こる。このときには、入力入換部91は、e1X、e1W、f1X、f1WとしてそれぞれeXmin、eX、fXmin、fXを選択する。
【0093】
それ以外の場合には、入力入換部91は、e1X、e1W、f1X、f1WとしてそれぞれeX、eXmin、fX、fXminを選択する。
【0094】
指数比較部21d、仮数比較部22dへの入力は、浮動小数点データXの符号ビットsXが“0”、すなわち、浮動小数点データXが正の場合に入換が起こる。このときには、入力入換部92は、e2X、e2W、f2X、f2WとしてそれぞれeXmax、eX、fXmax、fXを選択する。
【0095】
それ以外の場合には、入力入換部92は、e2X、e2W、f2X、f2WとしてそれぞれeX、eXmax、fX、fXmaxを選択する。
【0096】
e1Xとe1Wとの比較結果フラグF(e1X>e1W)、フラグF(e1X==e1W)と、e2Xとe2Wとの比較結果フラグF(e2X>e2W)、フラグF(e2X==e2W)と、f1Xとf1Wとの結果フラグF(f1X>f1W)と、f2Xとf2Wとの比較結果フラグF(f2X>f2W)と、符号ビットsX、sXmin、sXmaxがクリップコード生成器23dに与えられる。
【0097】
クリップコード生成器23dは、入力された浮動小数点データXがクリップ下限値Xminよりも小さい場合に“1”となるクリップコードCODE(X<Xmin)を次の論理式を実現する論理回路により生成する。
【0098】
CODE(X<Xmin)=sX・(!sXmin)+(sx==sXmin)・{(e1X>e1W)+(e1X==e1W)・(f1X>f1W)}…(7)
また、同時に、クリップ座標の上限側に対するクリップコードについても、入力された浮動小数点データXがクリップ上限値よりも大きい場合に1となるようなクリップコードCODE(X>Xmax)が次の論理式を実現する論理回路により生成される。
【0099】
CODE(X>Xmax)=(!sX)・sXmax+(sX==sXmax)・{(e2X>e2W)+(e2X==e2W)・(f2X>f2W)}…(8)
以上のような構成にすることにより、任意のクリッピング座標の上限および下限に対するクリップコードを同時に求めることができるため、任意のクリッビングウインドウに対するクリップコードをさらに高速に出力することが可能となる。
【0100】
[実施の形態5]
図10は、実施の形態5に係る浮動小数点加算器を説明するためのブロック図である。
【0101】
図10を参照して、浮動小数点加算器1は、図1に示したように浮動小数点加算器の前処理部において、入力された2つの浮動小数点データを比較してクリップコードを生成するものであり、これが3つ並列に配置されている。各浮動小数点加算器には、同じ命令FUNCが与えられ、3組の異なる入力数値対の加算や減算およびクリップコード生成を行なう。
【0102】
クリップコード生成の場合、x、y、zの各座標軸におけるクリップ座標絶対値をWX、WY、WZ、クリップ判定される座標値をX、Y、Zとすると、XとWX、YとWY、ZとWZの各比較によるクリップコードが同時に生成される。
【0103】
このようにして、複数のクリップ座標軸に対するクリップコード生成を高速に実行することができる。
【0104】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0105】
【発明の効果】
本発明の浮動小数点加算器は、浮動小数点の加算や減算を行なうための機能ブロックを流用してクリップコード生成のために必要なハードウェア負荷を最低限に抑えることができる。
【0106】
好ましくは、原点に対して対称なビューボリュームの正側および負側の境界面との間のクリップコードを同時に生成することができるために、回路規模の増大を抑えつつ、かつ高速なクリップコード生成が可能となる場合がある。
【0107】
好ましくは、任意のクリッピング座標に達するクリップコードを命令に応じて高速に出力することが可能となる場合がある。
【0108】
好ましくは、クリップ座標が“±1”の場合のクリップコードを同時に生成することができるために、回路規模の増大を抑えつつ、かつ、高速なクリップコード生成が可能となる場合がある。
【図面の簡単な説明】
【図1】 実施の形態1の浮動小数点加算器1の構成を示すブロック図である。
【図2】 図1における前処理部10の構成を示すブロック図である。
【図3】 図2におけるクリップコード生成器23aの構成を示す回路図である。
【図4】 実施の形態2の浮動小数点加算器において用いられる前処理部10bの構成を示すブロック図である。
【図5】 図4におけるクリップコード生成器23bの構成を示す回路図である。
【図6】 実施の形態3において用いられる前処理部10cの構成を示すブロック図である。
【図7】 図6におけるクリップコード生成器23cの構成を示す回路図である。
【図8】 実施の形態4において用いられる前処理部10dの構成を示すブロック図である。
【図9】 図8に示したクリップコード生成器23dの構成を示す回路図である。
【図10】 実施の形態5に係る浮動小数点加算器を説明するためのブロック図であ
る。
【図11】 従来におけるクリップコードの発生を説明するためのブロック図である。
【図12】 図11に示した前処理部510の構成を示すブロック図である。
【符号の説明】
1 浮動小数点加算器、10,10b,10c,10d 前処理部、11 桁合せ部、12 仮数演算部、13 正規化部、14 後処理部、20,20b,20a 入力値検証部、21,21d 指数比較部、22,22d 仮数比較部、23a,23b,23c クリップコード生成器、24 選択信号生成器、50 入力入換部、51,93 デコーダ、52,53,54,55,94,95,96,97,98,99,100,101,121,122,123,124セレクタ、71,72 クリップ検出部、91,92 入力入換部。
Claims (6)
- 第1、第2の浮動小数点データを受けて、指数部比較結果と仮数部比較結果とクリップコードとを出力する前処理部を備え、
前記前処理部は、
前記第1、第2の浮動小数点データの指数部同士を比較して前記指数部比較結果を出力する指数比較部と、
前記第1、第2の浮動小数点データの仮数部同士を比較して前記仮数部比較結果を出力する仮数比較部と、
前記第1の浮動小数点データとクリップウインドウに対応する参照データとの大小関係に応じた前記クリップコードを出力するクリップコード生成部とを含み、
前記仮数部比較結果および前記指数部比較結果に応じて、前記第1、第2の浮動小数点データの仮数部の桁合せを行なう桁合せ部と、
前記桁合せ部により桁合せされた前記第1、第2の浮動小数点データの仮数部の加算を行なう演算部と、
前記演算部の演算結果を受けて正規化を行なう正規化部とをさらに備え、
前記クリップコード生成部は、前記指数部比較結果と前記仮数部比較結果とに応じて、前記クリップコードを出力し、
前記指数部比較結果は、
前記第1の浮動小数点データの指数部が前記第2の浮動小数点データの指数部より大きいことを示す第1の信号と、
前記第1、第2の浮動小数点データの指数部が一致したことを示す第2の信号とを含み、
前記仮数部比較結果は、
前記第1の浮動小数点データの仮数部が前記第2の浮動小数点データの仮数部より大きいことを示す第3の信号を含み、
前記参照データは、
前記第1、第2および第3の信号を含み、
前記クリップコード生成部は、
前記第2、第3の信号の論理積を演算し、かつ、前記論理積と前記第1の信号の論理和を出力する論理演算部を含む、浮動小数点加算器。 - 前記クリップコード生成部は、
前記第1の浮動小数点データの符号ビットが正の数を表わす場合に前記論理演算部の出力に応じて第1のクリップコードを出力し、前記符号ビットが負の数を表わす場合に前記論理演算部の出力に応じて第2のクリップコードを出力するゲート部をさらに含む、請求項1に記載の浮動小数点加算器。 - 浮動小数点加算器であって、
第1、第2の浮動小数点データを受けて、指数部比較結果と仮数部比較結果とクリップコードとを出力する前処理部を備え、
前記前処理部は、
前記第1、第2の浮動小数点データの指数部同士を比較して前記指数部比較結果を出力する指数比較部と、
前記第1、第2の浮動小数点データの仮数部同士を比較して前記仮数部比較結果を出力する仮数比較部と、
前記第1の浮動小数点データとクリップウインドウに対応する参照データとの大小関係に応じた前記クリップコードを出力するクリップコード生成部とを含み、
前記仮数部比較結果および前記指数部比較結果に応じて、前記第1、第2の浮動小数点データの仮数部の桁合せを行なう桁合せ部と、
前記桁合せ部により桁合せされた前記第1、第2の浮動小数点データの仮数部の加算を行なう演算部と、
前記演算部の演算結果を受けて正規化を行なう正規化部とをさらに備え、
前記クリップコード生成部は、前記指数部比較結果と前記仮数部比較結果とに応じて、前記クリップコードを出力し、
前記浮動小数点加算器は、与えられる命令に応じて、前記第2の浮動小数点データを下限値とするクリップウインドウに対する第1のクリップコードと、前記第2の浮動小数点データを上限値とするクリップウインドウに対する第2のクリップコードのいずれかを出力し、
前記前処理部は、
前記命令が前記第2の浮動小数点データを下限値とするクリップウインドウに対するクリップコードの出力を指示する場合には、前記第1、第2の浮動小数点データの指数部をそれぞれ第1の指数部データ、第2の指数部データとして出力し、前記第1、第2の浮動小数点データの仮数部をそれぞれ第1の仮数部データ、第2の仮数部データとして出力し、前記命令が前記第2の浮動小数点データを上限値とするクリップウインドウに対するクリップコードの出力を指示する場合には、前記第1、第2の浮動小数点データの指数部をそれぞれ前記第2の指数部データ、前記第1の指数部データとして出力し、前記第1、第2の浮動小数点データの仮数部をそれぞれ前記第2の仮数部データ、前記第1の仮数部データとして出力するデータ入換部をさらに含み、
前記指数部比較結果は、
前記第1の指数部データが前記第2の指数部データより大きいことを示す第1の信号と、
前記第1、第2の指数部データが一致したことを示す第2の信号とを含み、
前記仮数部比較結果は、
前記第1の仮数部データが前記第2の仮数部データより大きいことを示す第3の信号を含み、
前記参照データは、
前記第1、第2および第3の信号を含み、
前記クリップコード生成部は、
前記第2、第3の信号の論理積を演算し、かつ、前記論理積と前記第1の信号の論理和を出力する論理演算部を含む、浮動小数点加算器。 - 前記データ入換部は、
前記命令を受けてデコードするデコーダと、
前記第1、第2の浮動小数点データの指数部を受けて、前記デコーダの出力に応じていずれか一方を選択し、前記第1の指数部データとして出力する第1の選択回路と、
前記第1、第2の浮動小数点データの指数部を受けて、前記デコーダの出力に応じて前記第1の選択回路と相補な選択を行ない前記第2の指数部データとして出力する第2の選択回路と、
前記第1、第2の浮動小数点データの仮数部を受けて、前記デコーダの出力に応じていずれか一方を選択し、前記第1の仮数部データとして出力する第3の選択回路と、
前記第1、第2の浮動小数点データの仮数部を受けて、前記デコーダの出力に応じて前記第3の選択回路と相補な選択を行ない前記第2の仮数部データとして出力する第4の選択回路とを含む、請求項3に記載の浮動小数点加算器。 - 第1、第2の浮動小数点データを受けて、指数部比較結果と仮数部比較結果とクリップコードとを出力する前処理部を備え、
前記前処理部は、
前記第1、第2の浮動小数点データの指数部同士を比較して前記指数部比較結果を出力する指数比較部と、
前記第1、第2の浮動小数点データの仮数部同士を比較して前記仮数部比較結果を出力する仮数比較部と、
前記第1の浮動小数点データとクリップウインドウに対応する参照データとの大小関係に応じた前記クリップコードを出力するクリップコード生成部とを含み、
前記仮数部比較結果および前記指数部比較結果に応じて、前記第1、第2の浮動小数点データの仮数部の桁合せを行なう桁合せ部と、
前記桁合せ部により桁合せされた前記第1、第2の浮動小数点データの仮数部の加算を行なう演算部と、
前記演算部の演算結果を受けて正規化を行なう正規化部とをさらに備え、
前記参照データは、
1と−1とを含み、
前記前処理部は、
前記第1の浮動小数点データが0と一致しないことを検証する入力値検証部をさらに含み、
前記クリップコード生成部は、
前記第1の浮動小数点データの指数部および前記入力値検証部の出力を受けて前記第1の浮動小数点データの絶対値が1より大きいことを検出する論理演算部を含む、浮動小数点加算器。 - 前記クリップコード生成部は、
前記第1の浮動小数点データの符号ビットが正の数を表わす場合に前記論理演算部の出力に応じて第1のクリップコードを出力し、前記符号ビットが負の数を表わす場合に前記論理演算部の出力に応じて第2のクリップコードを出力するゲート部をさらに含む、請求項5に記載の浮動小数点加算器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35887199A JP4439060B2 (ja) | 1999-12-17 | 1999-12-17 | 浮動小数点加算器 |
US09/620,472 US6581087B1 (en) | 1999-12-17 | 2000-07-20 | Floating point adder capable of rapid clip-code generation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35887199A JP4439060B2 (ja) | 1999-12-17 | 1999-12-17 | 浮動小数点加算器 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001175880A JP2001175880A (ja) | 2001-06-29 |
JP2001175880A5 JP2001175880A5 (ja) | 2007-02-08 |
JP4439060B2 true JP4439060B2 (ja) | 2010-03-24 |
Family
ID=18461538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35887199A Expired - Fee Related JP4439060B2 (ja) | 1999-12-17 | 1999-12-17 | 浮動小数点加算器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6581087B1 (ja) |
JP (1) | JP4439060B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6996596B1 (en) | 2000-05-23 | 2006-02-07 | Mips Technologies, Inc. | Floating-point processor with operating mode having improved accuracy and high performance |
US7599974B2 (en) * | 2004-03-22 | 2009-10-06 | Arm Limited | Data processing apparatus and method for comparing floating point operands |
CN111199133B (zh) * | 2019-12-27 | 2023-09-15 | 成都锐成芯微科技股份有限公司 | 一种自动布线绕线的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0664618B2 (ja) | 1986-02-07 | 1994-08-22 | 松下電器産業株式会社 | クリツピング回路 |
JPH0776911B2 (ja) * | 1988-03-23 | 1995-08-16 | 松下電器産業株式会社 | 浮動小数点演算装置 |
US5157764A (en) | 1989-01-13 | 1992-10-20 | Sun Microsystems, Inc. | Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images |
DE69529544T2 (de) | 1994-04-28 | 2003-12-11 | Sun Microsystems, Inc. | Vorrichtung und Verfahren zum direkten Berechnen von Koordinaten eines abzuschneidenden Gebiets |
JP3203180B2 (ja) * | 1996-03-27 | 2001-08-27 | 三菱電機株式会社 | 幾何学演算装置 |
JPH09330419A (ja) | 1996-06-07 | 1997-12-22 | Nippon Steel Corp | 図形領域判別装置 |
US6175851B1 (en) * | 1998-02-06 | 2001-01-16 | S3 Incorporated | Fast adder/subtractor for signed floating point numbers |
US6401108B1 (en) * | 1999-03-31 | 2002-06-04 | International Business Machines Corp. | Floating point compare apparatus and methods therefor |
-
1999
- 1999-12-17 JP JP35887199A patent/JP4439060B2/ja not_active Expired - Fee Related
-
2000
- 2000-07-20 US US09/620,472 patent/US6581087B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6581087B1 (en) | 2003-06-17 |
JP2001175880A (ja) | 2001-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107769791B (zh) | 用于定点到浮点的转换的装置和方法及2的负幂检测器 | |
JP2508912B2 (ja) | 浮動小数点加算装置 | |
JP4388543B2 (ja) | 3項入力の浮動小数点加減算器 | |
US8626813B1 (en) | Dual-path fused floating-point two-term dot product unit | |
JPH0776911B2 (ja) | 浮動小数点演算装置 | |
US5148386A (en) | Adder-subtracter for signed absolute values | |
JPH02500551A (ja) | 浮動小数点正規化予測のための装置及び方法 | |
US7668892B2 (en) | Data processing apparatus and method for normalizing a data value | |
US6785701B2 (en) | Apparatus and method of performing addition and rounding operation in parallel for floating-point arithmetic logical unit | |
JP3313560B2 (ja) | 浮動小数点演算処理装置 | |
EP0487814A2 (en) | Overflow determination for three-operand alus in a scalable compound instruction set machine | |
US6175851B1 (en) | Fast adder/subtractor for signed floating point numbers | |
US9934198B2 (en) | Apparatus for performing modal interval calculations based on decoration configuration | |
JPS62197823A (ja) | 多能算術論理回路 | |
JP4439060B2 (ja) | 浮動小数点加算器 | |
US6598065B1 (en) | Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal | |
US20060136536A1 (en) | Data processing apparatus and method for converting a fixed point number to a floating point number | |
KR920003493B1 (ko) | 부동 소숫점 표기를 기초로 하는 연산회로 | |
Yehia et al. | A redundant decimal floating-point adder | |
JPH09114641A (ja) | 最上位デジットを決定するための装置と方法 | |
Kwak et al. | High-speed CORDIC based on an overlapped architecture and a novel σ-prediction method | |
JP2507183B2 (ja) | 浮動小数点加減算装置 | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP3257278B2 (ja) | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 | |
CN112671411B (zh) | 一种基于ieee 754和posit的浮点数据格式的双向转换电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091021 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091222 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140115 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |