図面 (/)

技術 浮動小数点除算演算装置

出願人 エイチピー・インク
発明者 セオドア・ジー・ロシンジョン・エル・アシュバーンジェイムス・エム・ディウエイ
出願日 1998年4月21日 (22年6ヶ月経過) 出願番号 1998-110366
公開日 1998年12月18日 (21年11ヶ月経過) 公開番号 1998-333889
状態 特許登録済
技術分野 位取り記数法を用いた四則演算 演算装置一般
主要キーワード 高速チェ 変換機械 タイミング状態 クリッパー ゼロ除算 結果フレーム 位取り 分解機
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1998年12月18日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

ジオメトリアクセラレータの実行する計算の効率を向上させる除算演算装置を提供する。

解決手段

浮動小数点分子Aおよび浮動小数点分母Bを受け取り、浮動小数点除算演算を実行する除算器320、および浮動小数点値0.0と浮動小数点分母Bを受け取り、浮動小数点値0.0および浮動小数点分母Bについて、浮動小数点分母の符号を除いた比較を実行する比較器355を備える。この装置はさらに浮動小数点除算演算を示す制御信号LEAR_SIGN_Nに応答して比較器355に浮動小数点分母Bと前記0.0の浮動小数点値に関係付けられた等しい符号ビットを供給する論理要素330を有する。この比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係である。

概要

背景

非常に大きい数あるいは非常に小さい数を用いた計算を行なう上で精度が要求される場合に浮動小数点数を用いることが多い。浮動小数点数体系においては、ある数の指数10進小数点シフトされるたびに増減する。たとえば、光速は3.00×108 m/sあるいは0.3×109 m/sあるいは30.0×107 m/sと表わすことができる。指数は10進小数点が左シフトされると大きくなり、右シフトされると小さくなる。

多くのコンピュータソフトウエアあるいはハードウエアにより、(固定小数点に対して)浮動小数点数すなわち“指数表現”を処理する手段を提供する。この手段によるフォーマットでは、コンピュータワード(あるいは多くの場合ワード群)は次表のようなビットあるいはフィールドに分割される。

概要

ジオメトリアクセラレータの実行する計算の効率を向上させる除算演算装置を提供する。

浮動小数点分子Aおよび浮動小数点分母Bを受け取り、浮動小数点除算演算を実行する除算器320、および浮動小数点値0.0と浮動小数点分母Bを受け取り、浮動小数点値0.0および浮動小数点分母Bについて、浮動小数点分母の符号を除いた比較を実行する比較器355を備える。この装置はさらに浮動小数点除算演算を示す制御信号LEAR_SIGN_Nに応答して比較器355に浮動小数点分母Bと前記0.0の浮動小数点値に関係付けられた等しい符号ビットを供給する論理要素330を有する。この比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係である。

目的

本発明の目的は、ジオメトリアクセラレータの計算の効率に向上をもたらす、浮動小数点除算演算装置及び方法を提供することである。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

浮動小数点分子および浮動小数点分母受け取り、前記浮動小数点分子および前記浮動小数点分母に浮動小数点除算演算を実行する除算器と、浮動小数点値0.0および前記浮動小数点分母を受け取り、前記浮動小数点値0.0および前記浮動小数点分母について、前記浮動小数点分母の符号を除いた比較を実行する比較器と、浮動小数点除算演算を指示する制御信号応答して前記比較器に前記浮動小数点分母と前記浮動小数点値0.0に関係付けられた等しい符号ビットを供給する論理要素とを有し、前記比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係であることを特徴とする浮動小数点除算演算を実行する装置。

技術分野

0001

本発明は浮動小数点数処理方法および装置に関する。本発明は特にゼロ除算または負のゼロの状態の検出方法および装置に関する。

背景技術

0002

非常に大きい数あるいは非常に小さい数を用いた計算を行なう上で精度が要求される場合に浮動小数点数を用いることが多い。浮動小数点数体系においては、ある数の指数10進小数点シフトされるたびに増減する。たとえば、光速は3.00×108 m/sあるいは0.3×109 m/sあるいは30.0×107 m/sと表わすことができる。指数は10進小数点が左シフトされると大きくなり、右シフトされると小さくなる。

0003

多くのコンピュータソフトウエアあるいはハードウエアにより、(固定小数点に対して)浮動小数点数すなわち“指数表現”を処理する手段を提供する。この手段によるフォーマットでは、コンピュータワード(あるいは多くの場合ワード群)は次表のようなビットあるいはフィールドに分割される。

0004

0005

ここで、Signは符号を、EXPONENT指数部を、FRACTIONは小数部(又は仮数部)の値をそれぞれ示す。このフォーマットは、
(Sign)(2EXPONENT)・(FRACTION)
によって定義される値を表わす。浮動小数点値は仮数部では8桁の精度を有し、指数部では2桁あるいは3桁の精度を有する。機械によっては、上の表現における”2”が”16”に置き換えられ、これは指数の位取りに相当する。指数部および少数部(又は仮数部)はいずれも符号を有し、指数フィールドはそれ自体の符号を有し、明示された符号ビット浮動小数点表現全体における左端のビット)は少数部に属する。32ビット浮動小数点表現においては、指数部は通常8ビット、少数部すなわち仮数部は通常23ビットである。

0006

負のゼロは非常に大きな数の減算の結果生じることがある。負のゼロとは非常に小さな負の数を指す。符号ビットは負であり、その数の符号を表わすが、少数フィールドはゼロである。同様に、正の符号を有するゼロの少数フィールドがゼロあるいは非常に小さな正の数を表わす場合がある。ゼロの少数フィールドと正あるいは負の符号を有する浮動小数点数を除算における分母として用いると、ゼロ除算エラーすなわち除算例外が発生する。

0007

ゼロ除算エラーの防止は、広汎なコンピュータおよびコンピュータ関連システムの効率的かつ高速な動作に不可欠である。パイプライン処理除算器を用いて除算を実行する際には、除算器の動作が完了しエラーが発生する前にゼロ除算状態を検出することが望ましい。従来の方法では、除算動作の完了を待って、その後非常に複雑なエラー処理論理および/またはソフトウエアを用いてパイプラインフラッシング再起動が行なわれる。また、従来の方法では、正のゼロと負のゼロをチェックする2つの比較演算を順次実行する。しかしながら、正のゼロと負のゼロのチェックに2つの別個の比較演算を必要とする場合、除算の完了前にゼロ除算の検出と修正を行なうだけの時間がない場合がある。

0008

膨大な数の計算を行う上において高速性が不可欠なシステムの一例としてコンピュータグラフィックスシステムがある。一般に、3次元空間たとえばx、y、z座標における頂点の値を表現するには浮動小数点数が用いられる。コンピュータグラフィックスシステムは2次元表示画面上での物体図形的表現に広く用いられる。現在のコンピュータグラフィックスシステムは高度に詳細な表現が可能であり、さまざまな用途に用いられている。

0009

通常のコンピュータグラフィックスシステムの基本要素には、ジオメトリアクセラレータラスタライザおよびフレームバッファがある。また、かかるシステムにはテクスチャマッピングハードウエア等の他のハードウエアが含まれる場合がある。通常のコンピュータグラフィックスシステムにおいては、表示画面上に表現すべき対象物は複数の図形要素に分割される。点、線、ベクトルポリゴン(たとえば三角形)等の図形要素がグラフィックスピクチャの基本要素である。通常、ハードウエア/ソフトウエアによる機構を用いて2次元表示画面上に1つあるいはそれ以上の対象物の光景を構成する図形要素がレンダリング(描画)される。ジオメトリアクセラレータはホストコンピュータからレンダリングすべき対象物を構成する図形要素の頂点座標および色データを受け取る。その図形要素が三角形である場合、たとえばホストコンピュータはその三角形を各頂点のx、y、z座標と赤、緑、青(R、G、B)の色の値で定義する場合がある。ジオメトリアクセラレータは通常頂点座標データに対して(画面空間座標への)変換を実行し、四角形を三角形に分解する。あるいは、各図形要素に対して照明クリッピング平面方程式の計算等の他の機能を実行する場合もある。ラスタライザ(および場合によってはテクスチャマッピングハードウエア)はジオメトリアクセラレータからの出力(レンダリングデータと呼ぶ)を用いて図形要素を構成する各画素の最終的な画面空間座標およびR、G、Bの色の値を計算する。画素データはフレームバッファに記憶され、表示画面上に表示される。グラフィックスシステムのなかには、各種の動作(変換、補間その他)を異なる目的図形要素上で異なる構成要素によって同時に実行するようにパイプライン化されたものもある。

0010

ジオメトリアクセラレータの動作は計算量の極めて大きいものである。3D(三次元)図形表示の1フレームは数十万というオーダーの図形要素を含むことがある。最先端の性能を得るためには、ジオメトリアクセラレータは1チップあたり1秒に数億というオーダーの浮動小数点計算を実行しなければならない場合がある。さらに、ホストコンピュータとグラフィックスハードウエアの間で転送されるデータの量は膨大なものである。1つの四角形のデータがそれぞれが32ビットからなる64ワードというオーダーになる場合もある。ホストコンピュータからジオメトリアクセラレータに送出される他のデータとしては、照明パラメータ、クリッピングパラメータおよび図形表示の生成に必要な他のパラメータがある。

0011

ジオメトリアクセラレータの機能としては、3次元変換、照明、クリッピング、パースペクティブデバイド演算(perspective divide operation)および浮動小数点フォーマットで実行される平面方程式の生成がある。ジオメトリアクセラレータの機能によってレンダリングデータが得られ、これがフレームバッファサブシステムに送られラスタ化される。

0012

ジオメトリアクセラレータの性能の改善にはパイプライン処理や多重処理等さまざまな技術が用いられてきた。しかし、さらなる性能の改善が必要とされている。特に、ジオメトリアクセラレータの実行する計算の効率の向上が必要とされている。

発明が解決しようとする課題

0013

本発明の目的は、ジオメトリアクセラレータの計算の効率に向上をもたらす、浮動小数点除算演算装置及び方法を提供することである。

課題を解決するための手段

0014

本発明の一側面によれば、浮動小数点除算演算を実行する装置が提供される。この装置は、浮動小数点分子および浮動小数点分母を受け取り、前記浮動小数点分子および前記浮動小数点分母に浮動小数点除算演算を実行する除算器、および浮動小数点値0.0と前記浮動小数点分母を受け取り、前記浮動小数点値0.0および浮動小数点分母について、前記浮動小数点分母の符号を除いた比較を実行する比較器を備える。この装置はさらに前記浮動小数点除算演算を示す制御信号応答して前記比較器に前記浮動小数点分母と前記0.0の浮動小数点値に関係付けられた等しい符号ビットを供給する論理要素を有する。この比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係である。

0015

この装置はさらに前記浮動小数点分子および浮動小数点分母を前記の除算器に供給し、前記浮動小数点値0.0および浮動小数点分母を比較器に供給するためのレジスタファイル等の記憶装置を備える。第1のレジスタを前記レジスタファイルと比較器の間に接続して前記浮動小数点値0.0を保持することができる。第2のレジスタを前記レジスタファイルと前記比較器の間に接続して前記浮動小数点分母を前記符号ビットを除いて保持することができる。前記論理要素は第1の入力で前記制御信号を第2の入力で前記浮動小数点分母を受け取るANDゲートとすることができる。

0016

本発明の他の側面によると、浮動小数点除算演算の実行方法が提供される。浮動小数点分子および浮動小数点分母がハードウエア除算器に供給される。浮動小数点除算演算が前記ハードウエア除算器を用いて前記浮動小数点分子および前記浮動小数点分母に対して実行される。浮動小数点値0.0および前記浮動小数点分母が前記浮動小数点分母の符号ビットを除いてハードウエア比較器に供給される。前記浮動小数点分母の前記の符号ビットを前記浮動小数点値0.0の符号ビット(通常は正)に等しくする。等しい符号ビットを有する前記浮動小数点値0.0と前記浮動小数点分母の比較が実行される。この比較の結果はゼロ除算演算を表わし、またこれは前記浮動小数点分母とは無関係である。本発明は最小限の回路構成でゼロ除算状態を迅速に検出することを可能にする。

発明を実施するための最良の形態

0017

図1は本発明の実施に適したコンピュータグラフィックスシステムの一実施形態を示すブロック図である。このシステムは一例であり、本発明を限定するものではなく、また本発明の方法および装置は任意のコンピュータグラフィックスシステムに利用可能であることを指摘しておく。さらに、下に説明するように、本発明はコンピュータグラフィックスシステムにおける用途には限定されない。

0018

図1のシステムはホストコンピュータ100、フロントエンドサブシステム102およびフレームバッファサブシステム104を有する。フロントエンドサブシステム102はバス101を介してホストコンピュータ100から図形要素を受け取る。図形要素は通常三角形の頂点等の図形要素の各部分に関するx、y、z座標データ、R、G、B色データ、Nx、Ny、Nz通常データ、α混合データ等によって記述される。

0019

3次元の図形要素を表わすデータはフロントエンドサブシステム102からフレームバッファサブシステムに、セグメント122A、122Bおよび122Cを有するバス122を介して供給される。フレームバッファサブシステム104はフロントエンドサブシステム102から受け取ったレンダリングデータを補間して各図形要素を表わす表示画面上の画素を計算し、各画素についての目的R、G、B色値を判定する。各画素に対するR、G、B色制御信号がそれぞれR、G、Bライン123を介して供給され、表示画面(図示せず)上の画素を画像を表示するように制御する。

0020

図1に示す実施形態においては、フロントエンドサブシステム102はホストインターフェース106および3次元(3D)ジオメトリアクセラレータ110を含む。図示するように、ホストインターフェース106はホストコンピュータ100からのバス101上でx、y、z座標および色基本データを受け取る。かかるデータはバス108上でホストインターフェース106からジオメトリアクセラレータ110に供給される。ジオメトリアクセラレータ110は表示すべきレンダリングデータを生成する従来のジオメトリアクセラレータの機能を実行する。かかる機能には、3次元変換、照明、クリッピングおよびパースペクティブデバイド演算、および浮動小数点フォーマットで実行される平面方程式の生成が含まれる。レンダリングデータはジオメトリアクセラレータ110からバス112上をホストインターフェース106に供給され、ホストインターフェース106はレンダリングデータをフォーマットし直し、浮動小数点/固定点変換を実行し、かかるデータをバスシステム122上でフレームバッファサブシステム104に供給する。

0021

本実施形態では、フレームバッファサブシステム104はそれぞれが対応するシリアル同期グラフィックスランダムアクセスメモリ(SGRAM)116A、116Bおよびランダムアクセスメモリデジタルアナログ変換器(RAMDAC)120を含む。本発明のバスアーキテクチャ122にはフレームバッファコントローラ114Aおよび114Bとホストインターフェース106の両方が接続されている。本実施形態では、バス122は互いに同一な3つのバス122A、122Bおよび122Cを含む。

0022

図1に示す実施形態では、フレームバッファコントローラ114Aおよび114Bはそれぞれホストインターフェース106からレンダリングデータを受け取る。各フレームバッファコントローラは表示画面の異なる重なり合わない部分を制御する。フレームバッファコントローラは図形要素データを補間してその図形要素を表わす画面表示画素座標および各画素座標の対応する目的R、G、B色値を計算する。

0023

その結果フレームバッファコントローラ114Aおよび114Bによって生成される、各画素のR、G、B値を含む画像ビデオデータは対応するSGRAM116Aおよび116Bに記憶される。ビデオデータはSGRAMチップから順次シフトアウトされ、RAMDAC 120によって処理しうるようにフォーマットし直され、RAMDACに供給される。RAMDAC 120はこのデジタル色データを各画素のアナログR、G、B色制御信号に変換し、これらの信号がR、G、Bライン123上で供給され表示画面(図示せず)が制御される。

0024

ホストインターフェース106はまたビデオバス124を介してRAMDAC120と直接通信することができる。このシステムをパイプライン化されたシステムとして、フレームバッファサブシステム104が、フロントエンドサブシステム102が(時間的に)後続の図形要素を処理している間に第1の図形要素を処理しうるようにすることが好適である。

0025

図2は本発明を有益に実施することのできるジオメトリアクセラレータ110の非常に簡略化したブロック図である。変換機械210は頂点のx、y、z座標および頂点のR、G、B色値を含む図形要素の定義を受け取る。変換機械210はかかる座標を表示画面空間に変換する。分解機械215がポリゴンを三角形およびグラフィックスハードウエアの使用する他の図形要素に分解する。照明機械220が図形表示が1つあるいはそれ以上の光源によって照射されるように照明計算を実行する。クリッパー225が表示画面空間から部分的に出ている図形要素についてクリッピング計算を実行する。変換機械、分解機械215、照明機械220およびクリッパー225は頂点データに対して必要な計算を実行してフレームバッファ104(図1に)レンダリングデータを供給する状態機械として実施することができる。かかる計算の詳細は本発明の範囲外であるが、かかる計算はできるだけ迅速かつ効率的に実行することが望ましい。

0026

図3は本発明に係る浮動小数点ゼロまたは負のゼロによる除算を高速にチェックする装置の一例のブロック図である。マルチポートレジスタファイル300が前に計算された浮動小数点値あるいはホストコンピュータから受け取った浮動小数点値を保持する。また、レジスタファイル300は浮動小数点定数0.0を保持する。浮動小数点除算器320はレジスタファイル300からバス310上で分子Aの浮動小数点値を受け取り、バス305上で分母Bを受け取る。また、レジスタファイル300はバス315上のレジスタ335およびバス305上のレジスタ340に浮動小数点数を供給する。レジスタ335および340の出力はそれぞれバス345および350を介して浮動小数点比較器355に接続されている。レジスタ335および340はパイプライン処理およびタイミングの目的に用いられ、実施態様によっては削除することもできる。レジスタ335およびレジスタ340のCLK入力は除算器320のCLK入力と同期している。本発明においては、浮動小数点定数0.0はレジスタ335に保持され、比較器355における浮動小数点ゼロすなわち負のゼロのチェックに用いられる。

0027

ANDゲート330が第1の入力でバス305のライン332上の分母の符号ビットを受け取り、第2の入力でコントローラ325からのCLEAR_SIGN_N信号を受け取る。ANDゲート330の出力はライン334上でレジスタ340に修正済符号ビットとして渡される。一実施形態では、バス305、310、315、345および350上で搬送される浮動小数点値は32ビットワードであり、それぞれのバスは32ラインを有する。ライン332上の符号ビットはバス305の適当なラインから得られる。

0028

次に、図3に示す装置の動作について説明する。除算器320が浮動小数点除算演算を実行するとき、CLEAR_SIGN_N信号はコントローラ325によって除算演算を表わす“0”に設定される。バス310上の分子およびバス305上の分母(いずれも浮動小数点値)がレジスタファイル300から除算器320にロードされ、除算演算が開始される。除算器320の出力は結果A_DIVIDED_BY_Bである。

0029

レジスタ335にはレジスタファイル300から浮動小数点定数0.0がロードされる。バス305上の分母は符号ビットを除いてレジスタ340に送られる。ライン332上のこの分母の符号ビットはANDゲート330に送られる。また、ANDゲート330はコントローラ325からCLEAR_SIGN_N信号(“0”に設定されている)を受け取り、分母の符号ビットを修正する。ライン334上のANDゲート330の出力はレジスタ340の、通常比較すべき浮動小数点分母の符号ビットを受け取る入力に送られる。ANDゲート330がレジスタ340に供給される分母の符号をレジスタ335に供給される浮動小数点定数0.0の符号ビット(通常は正)と同じになるように制御する。したがって、この比較の結果は分母の符号ビットとは無関係である。次に、修正された符号ビットを含む浮動小数点分母が比較器355によってレジスタ335に記憶された浮動小数点定数0.0と比較される。バス345および350上の入力が等しいとき比較器355のC_EQUAL_B出力が表明され、これはゼロによる除算すなわち負のゼロの状態を表わす。この比較結果をコントローラ325に送ってこのゼロ除算状態に応答することができる。

0030

分母の符号ビットを修正することによって、比較器355は分母の符号とは無関係に1つの比較演算で除算演算の分母がゼロ(あるいはほぼゼロ)の値を有するかどうかを判定する。CLEAR_SIGN_N信号を“1”に設定すると、比較器355は通常動作を行なって本発明の浮動小数点ゼロすなわち負のゼロの高速チェックに無関係な他の比較機能を実行することができる。CLEAR_SIGN_N信号が“1”に設定されているとき、ライン332上のビットはANDゲート330を単に通過してレジスタ340に渡される。

0031

ANDゲート330はシステムが分母を0.0と比較して、分母がゼロあるいはほぼゼロであるときその符号と無関係にC_EQUAL_B信号を供給することを可能とする。本発明はゼロ除算状態を1つの比較によって高速かつ最小限の論理/ソフトウエアオーバーヘッドで検出することを可能とする。ゼロ除算状態は1クロックサイクル中に検出可能である。

0032

除算演算が開始されると、本発明の装置は浮動小数点ゼロすなわち負のゼロの高速チェックを開始する。除算器320が1つの除算演算を行なうには、いくつかの(通常約8)のタイミング状態が必要であるため、高速チェックが1つのタイミング状態内で完了すれば、除算演算が完了する前にその結果が得られる。コントローラ325はこの比較結果を処理し、その後いくつかのタイミング状態のうちにこのゼロ除算状態を解消する方法を決定すればよい。任意の所望の動作を実行してゼロ除算状態に応答することができる。たとえば、コントローラ325はレジスタファイル300あるいは他の場所に記憶された数を除算器320からの結果に置き換えることができる。また、コントローラ325は除算演算の完了前の終了および/またはエラー処理ルーチンを実行することができる。

0033

通常、除算演算および比較演算は同じクロックサイクルあるいはタイミング状態で開始される。比較演算は1クロックサイクルしか必要とせず、除算演算は数クロックサイクルを要するため、この比較の結果は除算演算が完了する前に利用可能になる。分母が得られれば、比較演算は除算動作の開始される1クロックサイクル以上前あるいは後に開始することができる。比較演算の結果は、除算演算が完了し、エラーを生成する前に得られなければならない。

0034

前述したコンピュータグラフィックスの例では、表示の各フレームについて数百万の計算が必要である。かかる計算の一部は除算演算である。たとえば、ジオメトリアクセラレータの実行するクリッピング計算には比率の計算が必要である。本発明は1つの比較演算のみでゼロ除算状態を検出することによってジオメトリアクセラレータの全体的計算速度を増大させる。ゼロ除算状態は迅速にまた除算演算の完了前に検出されるため、従来のシステムに用いられる複雑なエラー回復機構を用いることなく適当なステップを実行することができる。計算速度の増大によってグラフィックス品質が改善される。

0035

本発明はコンピュータグラフィックスシステムの用途には限定されないことを指摘しておく。より一般的には、本発明は浮動小数点除算器を用い、ゼロ除算状態の検出を必要とするマイクロプロセッサおよび他のデジタルシステム使用可能である。

0036

本発明の範囲にはさまざまな変更態様が含まれる。たとえば、図3を参照すると、浮動小数点分子、浮動小数点分母および浮動小数点値0.0は任意の適当なレジスタ、メモリデバイスあるいは他の記憶装置あるいはデータソースから除算器320およびレジスタ335、340に供給することができる。さらに、レジスタ335および340はタイミングあるいは他の目的にこれらを必要としない場合には削除することができる。さらに、ANDゲート330は他の適当な論理要素に置き換えることができる。ANDゲート330あるいは他の論理要素に対する要求条件は比較器355の一方の入力に供給される浮動小数点値0.0の符号ビットを比較器355の他の入力に供給される浮動小数点値0.0の符号ビットに等しくなるように修正することである。通常、浮動小数点値0.0は正の符号ビットを有し、分母の符号ビットはその状態にかかわりなく正に修正される。しかし、負の符号ビットは浮動小数点値0.0および分母と関係付けることが可能であることが理解されよう。これらの符号ビットが等しければ、比較結果は符号ビットとは無関係である。CLEAR_SIGN_N信号は除算演算中に表明される。他の時間には、CLEAR_SIGN_N信号は通常表明されておらず、浮動小数点比較器355は符号ビットを修正することなく比較を実行することができる。

0037

本発明の少なくとも1つの実施形態を説明したが、当業者にはさまざまな変更、修正および改良を容易に考案することが可能であろう。かかる変更、修正および改良は本発明の精神および範囲に含まれるものである。したがって、以上の説明は本発明を例示するものに過ぎず、本発明を限定するものではない。本発明は特許請求の範囲とその均等物にのみ限定される。

0038

以上、本発明の実施例について詳述したが、以下、本発明の各実施態様の例を示す。

0039

(実施態様1)浮動小数点分子および浮動小数点分母を受け取り、前記浮動小数点分子および前記浮動小数点分母に浮動小数点除算演算を実行する除算器(320)と、浮動小数点値0.0および前記浮動小数点分母を受け取り、前記浮動小数点値0.0および前記浮動小数点分母について、前記浮動小数点分母の符号を除いた比較を実行する比較器(355)と、浮動小数点除算演算を指示する制御信号に応答して前記比較器(355)に前記浮動小数点分母と前記浮動小数点値0.0に関係付けられた等しい符号ビットを供給する論理要素(330)とを有し、前記比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係であることを特徴とする浮動小数点除算演算を実行する装置。

0040

(実施態様2)前記論理要素は、第1の入力で前記制御信号を受け取り、第2の入力で前記浮動小数点分母の符号ビットを受け取り、前記比較器に正の符号を表わす出力を供給するANDゲートを有することを特徴とする実施態様1記載の装置。

0041

(実施態様3)前記レジスタファイルと前記比較器の間に接続され、前記浮動小数点値0.0を保持する第1のレジスタ(335)と、前記レジスタファイルと前記比較器の間に接続され、前記浮動小数点分母を前記浮動小数点分母の符号ビットを除いて保持する第2のレジスタ(340)とを有することを特徴とする実施態様2記載の装置。

0042

(実施態様4)前記浮動小数点分子および前記浮動小数点分母を前記除算器に供給し、前記浮動小数点値0.0および前記浮動小数点分母を前記比較器に供給する記憶装置(300)を有することを特徴とする実施態様3記載の装置。

0043

(実施態様5)前記記憶装置はレジスタファイルを有することを特徴とする実施態様4記載の装置。

0044

(実施態様6)浮動小数点分子および浮動小数点分母をハードウエア除算器(320)に供給するステップと、前記ハードウエア除算器(320)を用いて前記浮動小数点分子および前記浮動小数点分母に対して浮動小数点除算演算を実行するステップと、浮動小数点値0.0および前記浮動小数点分母を前記浮動小数点分母の符号ビットを除いてハードウエア比較器(355)に供給するステップと、前記ハードウエア比較器(355)に前記浮動小数点分母および前記浮動小数点値0.0に関係付けられた等しい符号ビットを供給するステップと、前記等しい符号ビットを有する前記浮動小数点値0.0と前記浮動小数点分母の比較を実行するステップとを備え、前記比較の結果はゼロ除算演算を表わし、前記浮動小数点分母とは無関係であることを特徴とする浮動小数点除算演算の実行方法。

0045

(実施態様7)等しい符号ビットを供給するステップにおいて前記比較器に前記浮動小数点分母の正の符号を表わす入力を供給することを特徴とする実施態様6記載の方法。

0046

(実施態様8)前記浮動小数点値0.0を第1のレジスタ(355)に保持し、前記浮動小数点分母を第2のレジスタ(340)に保持するステップを含むことを特徴とする実施態様6記載の方法。

0047

(実施態様9)前記浮動小数点分子、前記浮動小数点分母および前記浮動小数点値0.0をレジスタファイル(300)に記憶するステップを含み、前記浮動小数点分子および前記浮動小数点分母は前記レジスタファイル(300)から前記ハードウエア除算器(320)に供給され、前記浮動小数点値0.0および前記浮動小数点分母は前記レジスタファイル(300)から前記ハードウエア比較器(355)に供給されることを特徴とする実施態様6記載の方法。

0048

(実施態様10)コンピュータグラフィックスシステムにおいて、浮動小数点分子、浮動小数点分母および浮動小数点値0.0を保持する記憶装置(300)と、前記記憶装置から前記浮動小数点分子および前記浮動小数点分母を受け取り、前記浮動小数点分子および前記浮動小数点分母に浮動小数点除算演算を実行する除算器(320)と、前記記憶装置(300)から前記浮動小数点値0.0および前記浮動小数点分母を受け取り、前記浮動小数点値0.0および前記浮動小数点分母について、前記浮動小数点分母の符号を除いた比較を実行する比較器(355)と、前記浮動小数点除算演算を示す制御信号に応答して前記比較器(355)に前記浮動小数点分母と前記0.0の浮動小数点値に関係付けられた等しい符号ビットを供給する論理要素(330)とを有し、前記比較の結果はゼロ除算演算を表わし、また浮動小数点分母の符号には無関係であることを特徴とする浮動小数点除算演算を実行する装置。

発明の効果

0049

以上のように、本発明によると、除算演算装置を1つの比較演算のみでゼロ除算状態を検出するように構成することができる。この除算演算装置をジオメトリアクセラレータに用いることにより、ジオメトリアクセラレータの全体的計算速度を増大させることができる。ゼロ除算状態は迅速にまた除算演算の完了前に検出されるため、従来のシステムに用いられる複雑なエラー回復機構を用いることなく適当なステップを実行することができる。その結果、ジオメトリアクセラレータの計算速度の増大によってグラフィックス品質が改善される。

図面の簡単な説明

0050

図1本発明の実施に適したコンピュータグラフィックスシステムの一実施形態を示すブロック図である。
図2本発明の実施に適したジオメトリアクセラレータの概略ブロック図である。
図3本発明の装置の一例のブロック図である。

--

0051

100:ホストコンピュータ
101:バス
102:フロントエンドサブシステム
104:フレームバッファサブシステム
106:ホストインターフェース
108:バス
110:ジオメトリアクセラレータ
112:バス
114A、114B:フレームバッファコントローラ
116A、116B:シリアル同期グラフィックスランダムアクセスメモリ(SGRAM)
120:ランダムアクセスメモリデジタル/アナログ変換器(RAMDAC)
122:バス
122A、122B、122C:バス122のセグメント
123:R、G、Bライン
124:ビデオバス
210:変換機械
215:分解機械
220:照明機械
225:クリッパー
300:マルチポートレジスタファイル
305、310、315:バス
320:浮動小数点除算器
325:コントローラ
330:ANDゲート
332、334:バス305のライン
335、340:レジスタ
345、350:バス
355:浮動小数点比較器

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社デンソーの「 制御装置」が 公開されました。( 2019/06/24)

    【課題】車両に搭載され、浮動小数点演算を実施可能な制御装置において、非数発生時の処理性能の劣化を抑制する技術を提供する。【解決手段】演算部は、S220で、浮動小数点演算によって0を0で除する演算をさせ... 詳細

  • 日立オートモティブシステムズ株式会社の「 演算装置及び車載制御装置」が 公開されました。( 2019/05/23)

    【課題】ひとつの乗数に制限されずに一つの乗算器で複数の乗算を並列的に実行する。【解決手段】乗数Aと、乗数Bと、被乗数a及び被乗数bを受け付ける受付部と、前記乗数A及び前記乗数Bを含む乗数と、前記被乗数... 詳細

  • 国立大学法人横浜国立大学の「 近似計算装置、近似計算方法及びプログラム」が 公開されました。( 2019/05/16)

    【課題】べき乗の計算を比較的簡単な計算に置き換えられるようにする。【解決手段】近似計算装置が、2の実数乗の指数を整数部分と0以上1未満の小数部分とに分離する指数分離部と、前記小数部分について2のべき乗... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ