(57)【要約】  命令から浮動小数点定数値を生成するためのシステムおよび方法を開示する。命令の第1のフィールドが、浮動小数点定数値の符号ビットとして復号される。命令の第2のフィールドが、浮動小数点定数値の指数値に対応するように復号される。命令の第3のフィールドが、浮動小数点定数値の仮数に対応するように復号される。第1のフィールドと、第2のフィールドと、第3のフィールドとを結合して、浮動小数点定数値を形成する。指数値はバイアスを含んでもよく、バイアス定数が指数値に加算されて、バイアスが補償され得る。第3のフィールドは、仮数の最上位ビットを備え得る。任意に、第2のフィールドおよび第3のフィールドが、浮動小数点定数値を形成するために結合される前に、それぞれ第1のシフト値および第2のシフト値だけシフトされ得る。
2015512092.tif 000002
【特許請求の範囲】
【請求項１】
命令から浮動小数点定数値を生成する方法であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するステップと、
前記浮動小数点定数値の指数値に対応するように、前記命令の第2のフィールドを復号するステップと、
前記浮動小数点定数値の仮数に対応するように、前記命令の第3のフィールドを復号するステップと、
前記第1のフィールドと、前記第2のフィールドと、前記第3のフィールドとを結合して、前記浮動小数点定数値を形成するステップと
を含む方法。
【請求項２】
前記指数値がバイアスを含む、請求項1に記載の方法。
【請求項３】
前記指数値をバイアス定数に加算して加算し、前記指数値中に含まれる前記バイアスを補償するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記第2のフィールドを第1のシフト値だけシフトすること、前記第3のフィールドを第2のシフト値だけシフトすること、ならびに前記シフトされた第2のフィールドおよび第3のフィールドを、所定の定数値に加算することによって、前記浮動小数点定数値が生成される、請求項1に記載の方法。
【請求項５】
前記浮動小数点定数値が、IEEE 754の単精度形式または倍精度形式のうちの1つに従って形成される、請求項1に記載の方法。
【請求項６】
前記第3のフィールドが、前記浮動小数点定数値の前記仮数の最仮数ビットを備える、請求項1に記載の方法。
【請求項７】
浮動小数点定数値を生成するための命令であって、
前記浮動小数点定数値の符号ビットに対応する第1のフィールドと、
前記浮動小数点定数値の指数値に対応する第2のフィールドと、
前記浮動小数点定数値の仮数に対応する第3のフィールドと
を備える命令。
【請求項８】
前記浮動小数点定数値が、前記第1のフィールドと、前記第2のフィールドと、前記第3のフィールドとを結合することによって形成される、請求項7に記載の命令。
【請求項９】
前記指数値がバイアスを含み、バイアス定数が加算されて、前記指数値中に含まれる前記バイアスが補償される、請求項7に記載の命令。
【請求項１０】
前記第3のフィールドが、前記仮数の最上位ビットを備える、請求項7に記載の命令。
【請求項１１】
前記命令が、第1のシフト値に対応する第4のフィールドと、第2のシフト値に対応する第5のフィールドとをさらに備え、前記第2のフィールドを前記第1のシフト値だけシフトすること、前記第3のフィールドを前記第2のシフト値だけシフトすること、ならびに前記シフトされた第2のフィールドおよび第3のフィールドを、所定の定数値に加算することによって、前記浮動小数点定数値が生成される、請求項7に記載の命令。
【請求項１２】
前記浮動小数点定数値が、IEEE 754の単精度形式または倍精度形式のうちの1つに従って形成される、請求項7に記載の命令。
【請求項１３】
前記命令がデバイスにおいて実施され、前記デバイスが少なくとも1つの半導体ダイに組み込まれる、請求項7に記載の命令。
【請求項１４】
前記命令がデバイスにおいて実施され、前記デバイスが、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなるグループから選択される、請求項7に記載の命令。
【請求項１５】
命令から浮動小数点定数値を生成するためのシステムであって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するための手段と、
前記浮動小数点定数値の指数値に対応するように、前記命令の第2のフィールドを復号するための手段と、
前記浮動小数点定数値の仮数に対応するように、前記命令の第3のフィールドを復号するための手段と、
前記第1のフィールドと、前記第2のフィールドと、前記第3のフィールドとを結合して、前記浮動小数点定数値を形成するための手段と
を備えるシステム。
【請求項１６】
前記指数がバイアスを含み、前記システムが、バイアス定数を前記指数値に加算して、前記指数値中に含まれる前記バイアスを補償するための手段をさらに備える、請求項15に記載のシステム。
【請求項１７】
前記第2のフィールドおよび前記第3のフィールドを所定の量だけシフトするための手段と、前記シフトされた第2のフィールドおよび第3のフィールドを所定の定数値に加算するための手段とをさらに備える、請求項15に記載のシステム。
【請求項１８】
プロセッサによって実行されると、命令から浮動小数点定数値を生成するための動作を前記プロセッサに実行させるコードを備える、非一時的コンピュータ可読記憶媒体であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するためのコードと、
前記浮動小数点定数値の指数値に対応するように、前記命令の第2のフィールドを復号するためのコードと、
前記浮動小数点定数値の仮数に対応するように、前記命令の第3のフィールドを復号するためのコードと、
前記第1のフィールドと、前記第2のフィールドと、前記第3のフィールドとを結合して、前記浮動小数点定数値を形成するためのコードと
を備える非一時的コンピュータ可読記憶媒体。
【請求項１９】
命令から浮動小数点定数値を生成するための装置であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するように構成された論理と、
前記浮動小数点定数値の指数値に対応するように、前記命令の第2のフィールドを復号するように構成された論理と、
前記浮動小数点定数値の仮数に対応するように、前記命令の第3のフィールドを復号するように構成された論理と、
前記第1のフィールドと、前記第2のフィールドと、前記第3のフィールドとを結合して、前記浮動小数点定数値を形成するように構成された論理と
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する実施形態は、浮動小数点演算を対象とする。より詳細には、例示的な実施形態は、一般的に使用される浮動小数点定数を生成するための命令を対象とする。
【背景技術】
【０００２】
数の浮動小数点表現は、整数形式または固定小数点形式においてサポートされ得るよりも、広範囲の値をサポートするためのコンピューティングシステムにおいて有用である。浮動小数点数では、基数点(10進/2進)が「浮動」することが可能にされ、それによって、少ないビット数を使用して広範囲の値を符号化することが可能となる。この広範囲ゆえに、多数の浮動小数点数は、精度の重大な低下、また時には誤差/例外なしに、固定小数点形式で有効に表現しえないことがある。
【０００３】
いくつかの現代のプロセッサは、浮動小数点形式で表現された数に作用し得る浮動小数点命令をサポートしている。浮動小数点命令を整数/固定小数点プロセッサパイプラインに組み込むことは、課題をもたらす。たとえば、潜在的な精度の低下は、浮動小数点命令において浮動小数点定数または即値を符号化する際に課題が生じる。
【０００４】
コンピュータプロセッサのための従来の命令セットアーキテクチャ(ISA)は、一般に、即値を指定する命令を含む。通常、即値を指定する命令は、命令自体内で、命令の指定されたフィールド中に即値を含んでいる。命令中で即値フィールドのために利用可能なビット数は極めて少なく、通常は、命令のビット幅よりもはるかに少ない。したがって、浮動小数点命令は、小さいビット幅の即値フィールド中で浮動小数点即値を正確に指定することができないことがある。したがって、浮動小数点定数/即値は、従来はメモリから直接ロードされるか、または所望の浮動小数点定数を生成するためのカスタマイズされた命令によって、その全体が形成される。いくつかの手法はまた、レジスタ中に、0.0、1.0、および2.0などのハードコーディング固有の浮動小数点値を含み得る。認識され得るように、浮動小数点定数を生成するためのそのような従来の技法は、待ち時間の増大、コードサイズの増大、および/またはハードウェアの増加をもたらす。
【０００５】
したがって、当技術分野において、浮動小数点命令のための浮動小数点定数/即値に関連する上述の制限を克服する必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の例示的な実施形態は、命令から浮動小数点定数値を生成するためのシステムおよび方法を対象とする。
【０００７】
たとえば、例示的な実施形態は、命令から浮動小数点定数値を生成する方法を対象とし、この方法は、浮動小数点定数値の符号ビットとして、命令の第1のフィールドを復号するステップと、浮動小数点定数値の指数値に対応するように、命令の第2のフィールドを復号するステップと、浮動小数点定数値の仮数に対応するように、命令の第3のフィールドを復号するステップと、第1のフィールドと、第2のフィールドと、第3のフィールドとを結合して、浮動小数点定数値を形成するステップとを含む。任意に、第2のフィールドおよび第3のフィールドが、浮動小数点定数値を形成するためにそれらのフィールドが結合される前に、それぞれ第1のシフト値および第2のシフト値だけシフトされ得る。
【０００８】
別の例示的な実施形態は、浮動小数点定数値を生成するための命令を対象とし、この命令は、浮動小数点定数値の符号ビットに対応する第1のフィールドと、浮動小数点定数値の指数値に対応する第2のフィールドと、浮動小数点定数値の仮数に対応する第3のフィールドとを備える。
【０００９】
さらに別の例示的な実施形態は、命令から浮動小数点定数値を生成するためのシステムを対象とし、このシステムは、浮動小数点定数値の符号ビットとして、命令の第1のフィールドを復号するための手段と、浮動小数点定数値の指数値に対応するように、命令の第2のフィールドを復号するための手段と、浮動小数点定数値の仮数に対応するように、命令の第3のフィールドを復号するための手段と、第1のフィールドと、第2のフィールドと、第3のフィールドとを結合して、浮動小数点定数値を形成するための手段とを備える。
【００１０】
別の例示的な実施形態は、プロセッサによって実行されると、命令から浮動小数点定数値を生成するための動作をプロセッサに実行させるコードを備える、非一時的コンピュータ可読記憶媒体を対象とし、この非一時的コンピュータ可読記憶媒体は、浮動小数点定数値の符号ビットとして、命令の第1のフィールドを復号するためのコードと、浮動小数点定数値の指数値に対応するように、命令の第2のフィールドを復号するためのコードと、浮動小数点定数値の仮数に対応するように、命令の第3のフィールドを復号するためのコードと、第1のフィールドと、第2のフィールドと、第3のフィールドとを結合して、浮動小数点定数値を形成するためのコードとを備える。
【００１１】
添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の限定ではなく、実施形態の例示のためのみに提供される。
【図面の簡単な説明】
【００１２】
【図１Ａ】例示的な実施形態による浮動小数点即値フィールドを示す図である。
【図１Ｂ】図1Aの浮動小数点即値フィールドの指数フィールドおよび仮数フィールドに適用される、任意の第1のシフト量および第2のシフト量を示す図である。
【図２】例示的な実施形態による、命令から浮動小数点定数値を生成する方法のフローチャート例である。
【図３】例示的な実施形態による浮動小数点定数値を生成するための命令が有利に採用され得る、例示的なワイヤレス通信システム300を示す図である。
【発明を実施するための形態】
【００１３】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様を開示する。本発明の範囲から逸脱することなく、代替実施形態が考案され得る。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【００１４】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」として本明細書で説明される任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００１５】
本明細書で使用される用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定するものではない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用される「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００１６】
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行されるべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なすことができる。したがって、本発明の様々な態様は、請求する主題の範囲内にすべて入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式について、本明細書では、たとえば、記載のアクションを実行する「ように構成された論理」として説明することがある。
【００１７】
例示的な実施形態は、処理システム中の整数パイプラインのための既存のアーキテクチャを使用して、一般的に遭遇する浮動小数点値を生成することを対象とする。実施形態は、たとえば、命令の即値フィールド中で、浮動小数点定数を指定するための1つまたは複数の命令を含む。即値フィールド内の1つまたは複数のサブフィールドは、指定された浮動小数点定数に対応する符号、仮数、バイアス、および指数値などの情報を備え得る。これらのサブフィールドは、指定された浮動小数点定数を生成するために適切に抽出およびアセンブルされ得る。
【００１８】
浮動小数点数を表現するための従来の形式は、当業者には認識されよう。一般に、浮動小数点数は、浮動小数点数の符号(正/負)を示すために符号ビットを含み得る。浮動小数点数はまた、浮動小数点数の有効数字(たとえば、先行ゼロを含まない数字)を備える、(「仮数(mantissa)」としても知られる)仮数に対応するビット数を含む。一般に、仮数のビット数は、浮動小数点数が表現することができる精度に関係する。仮数が、仮定された基数とともに、浮動小数点数中で指定された指数値によって累乗されて、浮動小数点数の絶対値が与えられる。たとえば、仮定された基数は、2進数では2であり、仮定された基数は、10進数では10である。数学的表記法では、浮動小数点数の値は、適切な符号付きの、仮数*基数^指数という式によって導出される。
【００１９】
しばしば、指数値は、指数の範囲をシフトさせるために、指定または仮定されたバイアス値によってオフセットされ得る。従来の実装形態では、バイアス値は、実際の指数値を得るために、浮動小数点数から抽出された指数値に加算され得る。さらに、仮数中の基数点は、所定の形式で明示的に指定され得る。ただし、従来の実装形態では、基数点は、仮数中の固定位置に配置されると仮定され、指数値は、基数点の浮動性を達成するために適切に調整される。たとえば、10進基数点は、仮数の最上位桁の後に配置されるように均一に指定され得、基数点を仮数の最上位桁の後に配置されるようにシフトし、指数値を適切に増すことによって、10進数12.3×10^10が1.23×10^11として表現され得るようになる。
【００２０】
上記で説明したフィールドを用いて浮動小数点数を表現するための、IEEE-754規格などの標準形式は、当技術分野でよく知られている。IEEE-754規格は、現代の処理システムにおいて使用される浮動小数点数のための単精度および倍精度規格を含む。基本的に、単精度形式は、符号ビットと、23ビットの仮数フィールドと、8ビットの指数フィールドとを、127のバイアス値とともに含む、32ビットの2進浮動小数点数を備える。倍精度形式は、符号ビットと、52ビットの仮数フィールドと、11ビットの指数フィールドとを、1023のバイアス値とともに含む、64ビットの2進浮動小数点数を備える。IEEE-754規格の様々な他の規定について、本明細書では詳細に説明しないが、例示的な実施形態が、単精度形式と倍精度形式の両方についてのIEEE-754規格に適合し得ることは理解されよう。
【００２１】
たとえば、例示的な実施形態は、浮動小数点定数として使用するための単精度浮動小数点値と倍精度浮動小数点値とを生成するために、「SFMAKE」および「DFMAKE」という命令を含み得る。これらの命令は、たとえば、デジタル信号プロセッサ、マイクロプロセッサ、または他の汎用プロセッサに関係する適用例において、一般的に遭遇し得る浮動小数点値の大きいセットを生成するために使用され得る。
【００２２】
例示的な一実施形態では、11ビットの浮動小数点即値フィールドを指定する例示的な命令は、符号ビットと、6ビットの仮数フィールドと、4ビットの指数フィールドとを備えるものとして認識され得る。所定のバイアス値が、浮動小数点定数値が単精度で表現されるか、倍精度で表現されるかに基づいて、適用され得る。この例示では、6のバイアス値が適用可能であると仮定され得る。この例示的な命令は、[+,-][1.0,1+63/64]*2^[-6,+9]によって表記された広範囲の定数に属する浮動小数点数を生成するために使用され得る。たとえば、この定数の範囲内で、[1,128]の絶対値の範囲のすべての正および負の整数が生成され得る。さらに、その定数の範囲内で、[2,256]の絶対値のすべての正および負の偶数の整数が生成され得る。絶対値1000の正および負の整数もまた生成され得る。0.25、0.5、1/32(および、その多数の倍数)、1.5、1/256などの絶対値の、多数の一般的に使用される小数値(正と負の両方)もまた生成され得る。例示的な命令中の定数の範囲によってカバーされる多数の他の浮動小数点定数値は、当業者には認識されよう。
【００２３】
次に図1Aを参照して、上記で説明したような浮動小数点即値フィールドの例示的な形式を示す。フィールド100は、(たとえば、上記で説明したように、11ビットのサイズの)浮動小数点即値フィールドを表し得る。図示のように、フィールド100は、第1のフィールド102中に符号ビットを備え得る。第2のフィールド104は、(たとえば、4ビットのサイズの)指数値を備え得る。代替的に、上記で説明したように、第2のフィールド104は、バイアスを含む指数値を備え得、バイアスに対して、指数値中に含まれるバイアスを補償するために、所望の精度に基づくバイアス定数(たとえば、上記の説明の場合のように、値6)が加算され得る。第3のフィールド106は、(たとえば、6ビットのサイズの)仮数を備え得る。いくつかの実装形態では、第3のフィールド106は、対応する浮動小数点定数の仮数の最上位ビット(most significant bits)のみを備え得る。
【００２４】
引き続き図1Aを参照すると、第1のフィールド102、第2のフィールド104、および第3のフィールド106は、フィールド100中の浮動小数点即値フィールドを備える浮動小数点命令から復号または抽出され得る。(第2のフィールド104中に含まれる適切なバイアスとともに)復号されたフィールドが、適切に結合されて、浮動小数点即値命令中で指定された対応する浮動小数点定数値が生成され得る。
【００２５】
次に図1Bを参照すると、任意のシフト量が、第2のフィールド104および第3のフィールド106に適用され得る。第2のフィールド104および第3のフィールド106は、図1Bに示すように、第1のシフト値108_1および第2のシフト値108_2によって示される量だけシフトされて、それぞれシフトされたフィールド104'および106'が形成され得る。第1のシフト値108_1および第2のシフト値108_2は、浮動小数点即値フィールド100中に、たとえば、それぞれ第4のフィールドおよび第5のフィールド中に含まれ得る。指定された浮動小数点定数値を生成するために、所定の定数値(図示せず)が、シフトされたフィールド104'および106'に加算され得る。したがって、シフトする追加のステップ、および定数値に加算する追加のステップを通して、浮動小数点定数値の精度が変更され得る。たとえば、仮数の最上位ビットのみが第3のフィールド106中に含まれ得、IEEE-754規格に対応する、単精度または倍精度の浮動小数点定数値を生成するために、これらの最上位ビットが、適切なシフト量だけシフトされ得る。第2のフィールド104中の任意のバイアスをもつ指数値もまた、所望の精度に基づいて、または特定の適用例に基づいて、同様にシフトされ得る。一例では、第1のシフト値108_1および第2のシフト値108_2によって示される適切なシフト量は、浮動小数点定数値を生成するための命令が上述のSFMAKE命令であるか、DFMAKE命令であるかに基づき得る。他の実施形態では、単一のシフトフィールドが、浮動小数点即値フィールド100中に含まれてもよく、第2のフィールド104と第3のフィールド106のいずれかまたは両方に適用され得る。
【００２６】
したがって、例示的な実施形態は、浮動小数点定数値がメモリからロードされることを必要とせずに、一般的に使用される浮動小数点定数値を生成するための1つまたは複数の命令を含み得る。開示する実施形態は、浮動小数点定数値によってメモリおよびキャッシュを汚染することを回避する。したがって、これらの実施形態はまた、浮動小数点定数値を生成するための低電力の実装形態にもつながる。これらの実施形態は、除算、平方根の計算などの演算において使用され得る。広範囲の一般的に使用される定数がサポートされ得る。これらの実施形態は、単精度形式または倍精度形式を十分にサポートすることができ、浮動小数点数を表現するための従来の規格に適合し得る。
【００２７】
さらに、各実施形態は、本明細書で開示されるプロセス、機能および/またはアルゴリズムを実行するための様々な方法を含むことが諒解されよう。たとえば、図2に示すように、一実施形態は、命令から浮動小数点定数値を生成する方法を含んでもよく、この方法は、浮動小数点定数値の符号ビットとして、命令の第1のフィールド(たとえば、102)を復号すること-ブロック202と、浮動小数点定数値の指数値に対応するように、命令の第2のフィールド(たとえば、104)を復号すること-ブロック204と、浮動小数点定数値の仮数に対応するように、命令の第3のフィールド(たとえば、106)を復号すること-ブロック206と、第2のフィールドおよび第3のフィールドを、第1のシフト値および第2のシフト値(たとえば、108_1および108_2)だけ任意にシフトすること-ブロック207と、第1のフィールドと、任意にシフトされた第2のフィールドおよび第3のフィールドとを結合して、浮動小数点定数値を形成すること-ブロック208とを含む。
【００２８】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００２９】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３０】
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００３１】
したがって、本発明の一実施形態は、命令から浮動小数点定数値を生成するための方法を実施するコンピュータ可読媒体を含んでもよい。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
【００３２】
図3を参照すると、例示的な実施形態による、浮動小数点定数値を生成するための命令を含むワイヤレスデバイスの特定の例示的な一実施形態のブロック図が示され、全体が300で示される。デバイス300は、デジタル信号プロセッサ(DSP)364などのプロセッサを含む。DSP364は、上述のSFMAKE/DFMAKE命令を備え得るメモリ365を含み得る。図3はまた、DSP364およびディスプレイ328に結合された、ディスプレイコントローラ326も示している。コーダ/デコーダ(CODEC)334(たとえば、オーディオおよび/または音声CODEC)は、DSP364に結合され得る。ディスプレイコントローラ326(ビデオCODECおよび/または画像プロセッサを含み得る)、およびワイヤレスコントローラ340(モデムを含み得る)など、他の構成要素もまた示される。スピーカー336およびマイクロフォン338が、CODEC334に結合され得る。図3は、ワイヤレスコントローラ340が、ワイヤレスアンテナ342に結合され得ることも示している。ある特定の実施形態では、DSP364、ディスプレイコントローラ326、メモリ332、CODEC334、およびワイヤレスコントローラ340は、システムインパッケージデバイスまたはシステムオンチップデバイス322に含まれる。
【００３３】
ある特定の実施形態では、入力デバイス330および電源344が、システムオンチップデバイス322に結合される。さらに、ある特定の実施形態では、図3に示すように、ディスプレイ328、入力デバイス330、スピーカー336、マイクロフォン338、ワイヤレスアンテナ342、および電源344は、システムオンチップデバイス322の外部にある。ただし、ディスプレイ328、入力デバイス330、スピーカー336、マイクロフォン338、ワイヤレスアンテナ342、および電源344の各々は、インターフェースまたはコントローラのような、システムオンチップデバイス322の構成要素に結合され得る。
【００３４】
図3はワイヤレス通信デバイスを示しているが、DSP364およびメモリ332は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、またはコンピュータ内に組み込むこともできることに留意されたい。プロセッサ(たとえば、DSP364)も、そのようなデバイス内に組み込むことができる。
【００３５】
上記で開示されたデバイスおよび方法は、典型的に設計され、コンピュータ可読媒体上に記憶される、GDSIIおよびGERBERコンピュータファイル内に構成される。次いで、これらのファイルは、これらのファイルに基づいてデバイスを製作する製作担当者に与えられる。得られる製品は半導体ウェハであり、このウェハは次いで、半導体ダイに切断され、半導体チップにパッケージングされる。次いで、このチップが、上記で説明されたデバイスで用いられる。
【００３６】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００３７】
100  フィールド、浮動小数点即値フィールド
102  第1のフィールド
104  第2のフィールド
104'、106'  シフトされたフィールド
106  第3のフィールド
108_1  第1のシフト値
108_2  第2のシフト値
300  デバイス
322  システムインパッケージデバイスまたはシステムオンチップデバイス
326  ディスプレイコントローラ
328  ディスプレイ
330  入力デバイス
332  メモリ
334  コーダ/デコーダ(CODEC)
336  スピーカー
338  マイクロフォン
340  ワイヤレスコントローラ
342  ワイヤレスアンテナ
344  電源
364  デジタル信号プロセッサ(DSP)
365  メモリ
【図１Ａ】
2015512092.tif 000003
【図１Ｂ】
2015512092.tif 000004
【図２】
2015512092.tif 000005
【図３】
2015512092.tif 000006
【手続補正書】
【提出日】平成25年12月9日(2013.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
命令から浮動小数点定数値を生成する方法であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するステップと、
前記命令の第2のフィールドを復号し、前記第2のフィールドを第1のシフト値だけシフトし、前記シフトされた第2のフィールドを第1の定数値に加算して、前記浮動小数点定数値の指数値を形成するステップと、
前記命令の第3のフィールドを復号し、前記第3のフィールドを第2のシフト値だけシフトし、前記シフトされた第3のフィールドを第2の定数値に加算して、前記浮動小数点定数値の仮数を形成するステップと、
前記符号ビット、前記指数値、および前記仮数から、前記浮動小数点定数値を生成するステップと
を含む方法。
【請求項２】
前記指数値がバイアスを含む、請求項1に記載の方法。
【請求項３】
前記指数値をバイアス定数に加算して、前記指数値中に含まれる前記バイアスを補償するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記第1のシフト値および前記第2のシフト値が、前記浮動小数点定数値の所望の精度に基づいて選択される、請求項1に記載の方法。
【請求項５】
前記浮動小数点定数値が、IEEE 754の単精度形式または倍精度形式のうちの1つに従って形成される、請求項1に記載の方法。
【請求項６】
前記第3のフィールドが、前記浮動小数点定数値の前記仮数の最上位ビットを備える、請求項1に記載の方法。
【請求項７】
浮動小数点定数値を生成するための命令であって、
前記浮動小数点定数値の符号ビットに対応する第1のフィールドと、
前記浮動小数点定数値の指数値に対応する第2のフィールドと、
前記浮動小数点定数値の仮数に対応する第3のフィールドと、
第1のシフト値に対応する第4のフィールドと、
第2のシフト値に対応する第5のフィールドと
を備え、
前記第2のフィールドを前記第1のシフト値だけシフトし、前記シフトされた第2のフィールドを第1の定数値に加算することによって、前記指数値が形成され、
前記第3のフィールドを前記第2のシフト値だけシフトし、前記シフトされた第3のフィールドを第2の定数値に加算することによって、前記仮数が形成される、命令。
【請求項８】
前記第1のシフト値および前記第2のシフト値が、前記浮動小数点定数値の所望の精度に基づいて選択される、請求項7に記載の命令。
【請求項９】
前記指数値がバイアスを含み、バイアス定数が加算されて、前記指数値中に含まれる前記バイアスが補償される、請求項7に記載の命令。
【請求項１０】
前記第3のフィールドが、前記仮数の最上位ビットを備える、請求項7に記載の命令。
【請求項１１】
前記浮動小数点定数値が、IEEE 754の単精度形式または倍精度形式のうちの1つに従って形成される、請求項7に記載の命令。
【請求項１２】
前記命令がデバイスにおいて実施され、前記デバイスが少なくとも1つの半導体ダイに組み込まれる、請求項7に記載の命令。
【請求項１３】
前記命令がデバイスにおいて実施され、前記デバイスが、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなるグループから選択される、請求項7に記載の命令。
【請求項１４】
命令から浮動小数点定数値を生成するためのシステムであって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するための手段と、
前記命令の第2のフィールドを復号し、前記第2のフィールドを第1のシフト値だけシフトし、前記シフトされた第2のフィールドを第1の定数値に加算して、前記浮動小数点定数値の指数値を形成するための手段と、
前記命令の第3のフィールドを復号し、前記第3のフィールドを第2のシフト値だけシフトし、前記シフトされた第3のフィールドを第2の定数値に加算して、前記浮動小数点定数値の仮数を形成するための手段と、
前記符号ビット、前記指数値、および前記仮数から、前記浮動小数点定数値を生成するための手段と
を備えるシステム。
【請求項１５】
前記指数がバイアスを含み、前記システムが、バイアス定数を前記指数値に加算して、前記指数値中に含まれる前記バイアスを補償するための手段をさらに備える、請求項14に記載のシステム。
【請求項１６】
前記第1のシフト値および前記第2のシフト値が、前記浮動小数点定数値の所望の精度に基づいて選択される、請求項14に記載のシステム。
【請求項１７】
プロセッサによって実行されると、命令から浮動小数点定数値を生成するための動作を前記プロセッサに実行させるコードを備える、非一時的コンピュータ可読記憶媒体であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するためのコードと、
前記命令の第2のフィールドを復号し、前記第2のフィールドを第1のシフト値だけシフトし、前記シフトされた第2のフィールドを第1の定数値に加算して、前記浮動小数点定数値の指数値を形成するためのコードと、
前記命令の第3のフィールドを復号し、前記第3のフィールドを第2のシフト値だけシフトし、前記シフトされた第3のフィールドを第2の定数値に加算して、前記浮動小数点定数値の仮数を形成するためのコードと、
前記符号ビット、前記指数値、および前記仮数から、前記浮動小数点定数値を生成するためのコードと
を備える非一時的コンピュータ可読記憶媒体。
【請求項１８】
命令から浮動小数点定数値を生成するための装置であって、
前記浮動小数点定数値の符号ビットとして、前記命令の第1のフィールドを復号するように構成された論理と、
前記命令の第2のフィールドを復号し、前記第2のフィールドを第1のシフト値だけシフトし、前記シフトされた第2のフィールドを第1の定数値に加算して、前記浮動小数点定数値の指数値を形成するように構成された論理と、
前記命令の第3のフィールドを復号し、前記第3のフィールドを第2のシフト値だけシフトし、前記シフトされた第3のフィールドを第2の定数値に加算して、前記浮動小数点定数値の仮数を形成するように構成された論理と、
前記符号ビット、前記指数値、および前記仮数から、前記浮動小数点定数値を生成するように構成された論理と
を備える装置。
【国際調査報告】
2015512092.tif 000007
2015512092.tif 000008