処理例外を検出するための方法であって、プロセッサを用いて、少なくとも1つの浮動小数点オペランドを受け取るステップと、前記少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成するステップと、前記実施に応答して、前記10進浮動小数点結果が推奨量子を維持できないことを判定するステップであって、前記推奨量子が、前記10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す、ステップと、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、量子例外を示す出力を提供するステップであって、前記量子例外が、前記10進浮動小数点結果が前記推奨量子を維持できないことに応答して発生する、ステップとを実施することを含む方法。前記少なくとも1つの10進浮動小数点オペランドに基づいて、前記推奨量子を求めるステップをさらに含む、請求項1に記載の方法。前記出力を提供するステップが、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、量子例外フラグを設定することを含む、請求項1に記載の方法。前記出力を提供するステップが、ソフトウェア実行トラップをトリガすることを含む、請求項1に記載の方法。量子例外フラグを、設定状態及び非設定状態のうちの一方に維持するステップと、量子例外マスクを、設定状態及び非設定状態のうちの一方に維持するステップと、プログラム命令シーケンスを実行するステップであって、前記プログラム命令シーケンスが、前記10進浮動小数点演算のための命令を含み、前記実施が、前記10進浮動小数点演算のための前記命令の実行に応答するものである、ステップと、前記10進浮動小数点結果を、宛先ストレージ位置内に格納するステップと、前記量子例外マスクが非設定状態にあること、及び前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記命令シーケンスの実行を継続するステップと、前記量子例外マスクが設定状態にあること、及び前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記プログラム命令シーケンスの実行をトラップするステップであって、前記トラップがプログラム割り込みハンドラを実行することを含む、ステップとをさらに含み、前記出力を提供するステップが、前記量子例外フラグを前記設定状態に設定することを含む、請求項1に記載の方法。前記プログラム命令シーケンスを実行するステップに続いて、前記量子例外フラグが前記設定状態にあることを判定するステップと、前記量子例外フラグが前記設定状態にあるとの判定に応答し、かつ前記プログラム命令シーケンスの実行に続いて、前記量子例外の発生に対処するようにプログラム実行を変更するステップとをさらに含む、請求項5に記載の方法。前記量子例外マスクを維持するステップが、前記10進浮動小数点演算のための前記命令に対応する機械言語命令にエンコードされた量子例外マスク値を読み取ることをさらに含み、前記量子例外マスクを維持するステップが、前記10進浮動小数点演算のための前記命令の実行の間中、前記量子例外マスク値を用いることを含む、請求項5に記載の方法。前記量子例外マスク値は、前記機械言語命令の例外制御フィールドにエンコードされ、前記例外制御フィールドは、他の浮動小数点例外のための例外マスクをさらにエンコードする、請求項7に記載の方法。処理例外を検出するためのシステムであって、前記システムは、メモリと、前記メモリに通信可能に結合されたプロセッサとを含み、前記プロセッサは、命令プロセッサであって、少なくとも1つの10進浮動小数点オペランドを受け取り、前記少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成する、命令プロセッサと、前記命令プロセッサが前記10進浮動小数点演算を実施したことに応答して、前記10進浮動小数点結果が推奨量子を維持できないことを判定する量子例外検出器であって、前記推奨量子が、前記10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す、量子例外検出器と、前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、量子例外を示す出力を提供する量子例外応答ユニットであって、前記量子例外が、前記10進浮動小数点結果が前記推奨量子を維持できないことに応答して発生する、量子例外応答ユニットとを含むシステム。前記命令プロセッサが、前記少なくとも1つの10進浮動小数点オペランドに基づいて、前記推奨量子をさらに求める、請求項9に記載のシステム。前記量子例外応答ユニットが、前記10進浮動小数点結果が前記推奨量子を維持できないと前記量子例外検出器が判定したことの判定に応答して、量子例外フラグを設定する、請求項9に記載のシステム。前記量子例外応答ユニットが、ソフトウェア実行トラップをトリガすることを含む出力を提供する、請求項9に記載のシステム。前記命令プロセッサが、さらに、量子例外フラグを、設定状態及び非設定状態のうちの一方に維持し、量子例外マスクを、設定状態及び非設定状態のうちの一方に維持し、プログラム命令シーケンスを実行し、前記プログラム命令シーケンスは前記10進浮動小数点演算のための命令を含み、前記10進浮動小数点演算のための前記命令の実行に応答して、前記10進浮動小数点演算を実施し、前記10進浮動小数点結果を、宛先ストレージ位置内に格納し、前記量子例外マスクが非設定状態にあること、及び前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、前記命令シーケンスの実行を継続し、前記量子例外マスクが設定状態にあること、及び前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、前記プログラム命令シーケンスの実行をトラップし、前記量子例外応答ユニットは、前記命令プロセッサにプログラム割り込みハンドラを実行させることによって実行をトラップし、前記量子例外応答ユニットがさらに、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記量子例外フラグを前記設定状態に設定する、請求項9に記載のシステム。前記命令プロセッサが、さらに、前記プログラム命令シーケンスを実行することに続いて、前記量子例外フラグが前記設定状態にあることを判定し、前記量子例外フラグが前記設定状態にあるとの判定に応答し、かつ前記プログラム命令シーケンスを実行することに続いて、前記量子例外の発生に対処するようにプログラム実行を変更する、請求項13に記載のシステム。前記命令プロセッサが、さらに、前記10進浮動小数点演算のための前記命令に対応する機械言語命令にエンコードされた量子例外マスク値を読み取り、前記10進浮動小数点演算のための前記命令の実行の間中、前記量子例外マスク値を用いる、請求項13に記載のシステム。前記量子例外マスク値は、前記機械言語命令の例外制御フィールドにエンコードされ、前記例外制御フィールドは、他の浮動小数点例外のための例外マスクをさらにエンコードする、請求項15に記載のシステム。処理例外を検出するためのコンピュータプログラムであって、前記コンピュータプログラムは、プロセッサに、少なくとも1つの浮動小数点オペランドを受け取るステップと、前記少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成するステップと、前記実施に応答して、前記10進浮動小数点結果が推奨量子を維持できないことを判定するステップであって、前記推奨量子が、前記10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す、ステップと、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、量子例外を示す出力を提供するステップであって、前記量子例外が、前記10進浮動小数点結果が前記推奨量子を維持できないことに応答して発生する、ステップとを実行させる、コンピュータプログラム。前記出力を提供するステップが、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、量子例外フラグを設定することを含む、請求項17に記載のコンピュータプログラム。前記コンピュータプログラムは前記プロセッサに、量子例外フラグを、設定状態及び非設定状態のうちの一方に維持するステップと、量子例外マスクを、設定状態及び非設定状態のうちの一方に維持するステップと、プログラム命令シーケンスを実行するステップであって、前記プログラム命令シーケンスが、前記10進浮動小数点演算のための命令を含み、前記実施が、前記10進浮動小数点演算のための前記命令の実行に応答するものである、ステップと、前記10進浮動小数点結果を、宛先ストレージ位置内に格納するステップと、前記量子例外マスクが非設定状態にあること、及び前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記命令シーケンスの実行を継続するステップと、前記量子例外マスクが設定状態にあること、及び前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記プログラム命令のシーケンスの実行をトラップするステップであって、前記トラップがプログラム割り込みハンドラを実行することを含む、ステップとをさらに実行させ、前記出力を提供するステップが、前記量子例外フラグを前記設定状態に設定することを含む、請求項17に記載のコンピュータプログラム。前記コンピュータプログラムは前記プロセッサに、前記プログラム命令シーケンスを実行するステップに続いて、前記量子例外フラグが前記設定状態にあることを判定するステップと、前記量子例外フラグが前記設定状態にあるとの判定に応答し、かつ前記プログラム命令のシーケンスの実行に続いて、前記量子例外の発生に対処するようにプログラム実行を変更するステップとをさらに実行させる、請求項19に記載のコンピュータプログラム。前記コンピュータプログラムは前記プロセッサに、前記10進浮動小数点演算のための前記命令に対応する機械言語命令にエンコードされた量子例外マスク値を読み取るステップをさらに実行させ、前記量子例外マスクを維持するステップが、前記10進浮動小数点演算のための前記命令の実行の間中、前記量子例外マスク値を用いることを含む、請求項19に記載のコンピュータプログラム。メモリと、前記メモリに通信可能に結合されたプロセッサとを含むデータ処理システムであって、前記プロセッサは、10進浮動小数点演算に応答して生成された10進浮動小数点結果が推奨量子を維持できないことを判定する量子例外検出器であって、前記推奨量子が、前記10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す、量子例外検出器と、前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、量子例外を示す出力を提供する量子例外応答ユニットであって、前記量子例外が、前記10進浮動小数点結果が前記推奨量子を維持できないことに応答して発生する、量子例外応答ユニットとを含むシステム。前記量子例外応答ユニットが、ソフトウェア実行トラップをトリガすることを含む出力を提供する、請求項22に記載のシステム。設定状態及び非設定状態に変更可能に割り当てられる量子例外フラグと、設定状態及び非設定状態に変更可能に割り当てられる量子例外マスクとをさらに含み、前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないとの判定に応答して、前記量子例外フラグを前記設定状態にさらに割り当て、前記量子例外応答ユニットが、前記量子例外マスクが設定状態に割り当てられていること、及び前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、プログラム割り込みハンドラを実行させることによって、プログラム実行をトラップさせ、前記量子例外マスクが非設定状態に割り当てられていること、及び前記量子例外検出器が、前記10進浮動小数点結果が前記推奨量子を維持できないと判定したことに応答して、プログラム実行を継続させる、請求項22に記載のシステム。前記10進浮動小数点結果を生成する10進浮動小数点演算のための命令を含むプログラム命令シーケンスを実行し、前記プログラム命令シーケンスを実行することに続いて、前記量子例外フラグが前記設定状態に割り当てられていることを判定し、前記量子例外フラグが前記設定状態に割り当てられているとの判定に応答し、かつ前記プログラム命令シーケンスを実行することに続いて、前記量子例外の発生に対処するようにプログラム実行を変更する、命令プロセッサをさらに含む、請求項24に記載のシステム。本発明の目的は、10進浮動小数点データ処理例外を検出するためのシステム及び方法を提供することである。一実施形態において、処理例外を検出するための方法は、少なくとも1つの10進浮動小数点オペランドを受け取り、少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成する、プロセッサを含む。10進浮動小数点結果が推奨量子preferredquantumを保持できるかどうかについての判定が行われる。推奨量子は、10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す。10進浮動小数点結果が推奨量子を維持できないとの判定に応答して、量子例外の発生を示す出力が提供される。別の実施形態において、処理例外を検出するためのシステムは、メモリと、メモリに通信可能に結合されたプロセッサとを含む。プロセッサは、命令プロセッサを含む。命令プロセッサは、少なくとも1つの10進浮動小数点オペランドを受け取り、少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成する。プロセッサは、量子例外検出器も含む。量子例外検出器は、命令プロセッサが10進浮動小数点演算を実施したことに応答して、10進浮動小数点結果が推奨量子を保持できないかどうかを判定する。推奨量子は、10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す。プロセッサは、量子例外応答ユニットをさらに含む。量子例外応答ユニットは、量子例外検出器が、10進浮動小数点結果が推奨量子を維持できないと判定したことに応答して、量子例外を示す出力を提供する。量子例外は、10進浮動小数点結果が推奨量子を維持できないことに応答して発生する。別の実施形態において、処理例外を検出するためのコンピュータプログラムは、処理回路によって読み出し可能な、方法を実施するために処理回路により実行される命令を格納するストレージ媒体を含む。方法は、少なくとも1つの10進浮動小数点オペランドを受け取ることと、少なくとも1つの10進浮動小数点オペランドに対して10進浮動小数点演算を実施して、10進浮動小数点結果を生成することとを含む。10進浮動小数点結果が推奨量子を維持できるかどうかについての判定がなされる。推奨量子は、10進浮動小数点結果の有効数字の最下位桁によって表される定義された値を示す。10進浮動小数点結果が推奨量子を維持できないと判定したことに応答して、量子例外の発生を示す出力を提供される。添付の図面においては、別々の図の全体にわたって同様の参照番号は同一又は機能的に類似した要素を指しており、これらの図面は、下記の詳細な説明と共に本明細書に組み込まれ、その一部を形成するものであり、種々の実施形態をさらに例証し、その全てが本発明に従う種々の原理及び利点を説明することに役立つ。必要に応じて、本発明の詳細な実施形態が本明細書に開示されるが、開示される実施形態は、種々の形態で具体化することができる本発明の例にすぎないことを理解すべきである。従って、本明細書において開示される特定の構造的及び機能的な詳細は、特許請求の範囲を限定するものとして解釈されるべきではなく、単に特許請求の範囲の根拠として解釈されるべきであり、本発明を事実上すべてのふさわしい詳細な構造及び機能で様々に利用することを当業者に教示するための代表的な根拠として解釈されるべきである。さらに、本明細書で用いられる用語及び語句は、限定を意図するものではなく、本発明の分かりやすい説明を提供することを意図するものである。本明細書で用いられるあるa又はanという用語は、1つ以上と定義される。本明細書で用いられる複数という用語は、2つ以上と定義される。本明細書で用いられる別のという用語は、少なくとも2番目又はそれ以降と定義される。本明細書で用いられる含むincluding及び/又は有するhavingという用語は、含むcomprising即ち、開放的語法openlanguageと定義される。本明細書で用いられる結合されたという用語は、必ずしも直接及び機械的にではなく接続されたものとして定義される。下記に説明されるシステム及び方法は、10進浮動小数点演算の結果が、IEEE754-2008規格によって定義される推奨指数のような推奨量子を表さない場合に、本明細書では量子例外と呼ばれる例外を生じさせることができる、10進浮動小数点プロセッサを含む。これは、ハードウェア形式を超える処理の検出を可能にするので、そのソフトウェア又はプログラミング言語が実行されるハードウェアよりも高い精度又は広い範囲を有する10進形式をサポートするソフトウェア又はプログラミング言語にとって特に有用である。本考察の文脈において、量子は、浮動小数点表現の最下位桁最小有効数字leastsignificantdigitLSDの単位を指す。以前に定義された浮動小数点例外は、ある種の処理の不正確さを検出するが、推奨指数ではないスケール又は指数の表現を有する10進浮動小数点演算結果の事例を完全には検出しない。別の言い方をすれば、既存の浮動小数点例外は、もしそのプロセッサにおいて係数を表現するための精度がもっと高ければ作り出されたはずの指数を有さない10進浮動小数点演算結果の事例を完全には示さない。IEEE754-2008規格は、推奨量子の値は定義するが、10進浮動小数点演算の結果においてその推奨値が達成されない場合の例外は定義しない。下記に説明される方法及びシステムの量子例外は、他のIEEE例外と同様の制御を有するものとして定義される。量子例外はまた、関連付けられたマスク、フラグ及び例外コードも有する。これは、異なる精度及び範囲をもつプログラミング言語を標準化された形式上で容易にエミュレートすることを可能にし、予期しない指数変更を検出する一方で、十分な精度及び範囲の形式を提供することを可能にする。一実施形態の量子例外イベントは、10進浮動小数点演算が、丸められたrounded又はクランプされたclamped結果を生成するときに発生する。ある種のJava実装は、Rounded及びClampedと呼ばれる別個のイベントを含むが、一実施形態の量子例外は、本質的に、結果の精度又は範囲を越えたことを示す。一実施形態における量子例外報告機構は制御可能であり、例外のアサーションの結果もたらされる動作を制御するためのマスクビットを有する。一実施形態において、マスクビットはもっぱら、プロセッサの浮動小数点制御語FPCにおいて、量子例外をプログラム例外ハンドラへのトラップからマスクする用途に使われる。マスクビットが1であり、かつ量子例外が発生した場合、例外を引き起こす10進浮動小数点演算の結果は浮動小数点レジスタFPR内に書き込まれ、例外の型を識別するコードは浮動小数点制御語FPCに書かれ、プログラム実行はプログラム割り込みハンドラにトラップされる。マスクビットが設定されていない場合は、スティッキーフラグである量子例外フラグが設定され、トラップは行われない。本発明の実施形態は、10進浮動小数点数を用いて演算を行う。IEEE754-2008を含む種々の規格によって定義される10進浮動小数点数は、3つの構成要素、即ち、符号ビット、指数及び有効数字を有する。符号なしの値である数字の大きさは、有効数字と、指数で累乗された基数との積である。10進浮動小数点数においては、基数は10である。数字の符号は、符号ビットが0であるか又は1であるかに応じて、それぞれ正又は負である。有効数字は暗黙の基数点を有し、その位置は、浮動小数点データのどの解釈又は表示viewが適用されるかによる。本発明の実施形態は、10進浮動小数点数を右単位表示で表し、ここでは、有効数字の最右桁が単位桁であり、基数点は有効数字全体のすぐ右側にあることが暗黙に示される。図1は、本発明の一実施形態によるコンピュータプロセッサ100を示す。コンピュータプロセッサ100は、10進浮動小数点ユニット110、浮動小数点レジスタ108及びプログラムコントローラ124を含む、命令プロセッサを含む。10進浮動小数点ユニット110は、プログラムメモリ152内に格納されたプログラム命令を受信するプログラムコントローラ124から、10進浮動小数点命令を受信する。10進浮動小数点ユニット110に対して発行された10進浮動小数点命令は、例えば、1つ又は複数の10進浮動小数点数に対して実施するデータ変換及び/又は10進浮動小数点計算を指定する命令を含む。10進浮動小数点ユニット110は、浮動小数点レジスタ108内の1つ又は複数のソースレジスタから10進浮動小数点データを読み出すことによって、10進浮動小数点オペランドを受け取り、指定された10進浮動小数点演算を実施し、その結果を浮動小数点レジスタ内の宛先レジスタの中に格納する。データは、一般に、浮動小数点レジスタ108とデータメモリ150との間で交換される。一実施形態の10進浮動小数点ユニットは、IEEE754-2008浮動小数点規格のような適用可能な浮動小数点処理規格に従って、10進浮動小数点数に対して演算を実施する。10進浮動小数点演算への入力であるソースオペランドの量子値が、一般に、その演算の出力のために関連規格によって定義されるような推奨量子を定義するための基準である。10進浮動小数点ユニット110において利用可能な精度に起因して、ソースオペランドの値が、推奨量子とは異なる量子を有する結果を生成することがある。結果の量子は、例えば、指定された演算の中間結果又は最終結果の丸めを引き起こす、10進浮動小数点ユニット110の制限されたハードウェア精度に起因して、推奨量子から変更されることがある。計算ハードウェアの精度と、10進浮動小数点算術を組み込んだソフトウェアアーキテクチャの精度との差はこの量子損失検出機構によって検出され、ソフトウェアが、ハードウェア精度からエミュレートするもっと高い精度に切り替える必要がある場合を検出することを可能にし、このことが、性能が最適化された実装を提供する。一実施形態の10進浮動小数点ユニット110は、量子例外検出器112を含む。量子例外検出器112は、推奨量子とは異なる量子を有する、10進浮動小数点演算によって生成された結果の発生を検出し、ここで、推奨量子は、例えば、ソースオペランドの値及び/又は量子に基づいて求められる定義された値である。推奨量子と特定の演算の結果の量子との差は、例えば、ソースオペランドの実際の値によって引き起こされるハードウェアのオーバーフロー又はアンダーフロー状態によって引き起こされ得る。一実施形態の量子例外検出器112は、10進浮動小数点ユニット110によって生成された結果が推奨量子の値とは異なる量子又は指数の値を有することを示すために、量子例外をアサートする。一実施形態の量子例外のアサーション及び処理は、他の浮動小数点処理例外と同様である。一実施形態における量子例外のアサーションは、量子例外フラグ122に反映され、量子例外フラグ122は、一実施形態の浮動小数点ユニット110によって維持され、アサートされた量子例外などの10進浮動小数点例外を識別するために、例外コードに変更可能に割り当てることができる。本発明の一実施形態は、量子例外検出器112による量子例外のアサーションに応答して取られるアクションを制御することをサポートする。本発明の一実施形態は、設定状態又は非設定状態に変更可能に割り当てられた1つ又は複数の例外制御マスクを含む、例外制御レジスタ106を維持する。本発明の一実施形態において、プロセッサは、例外制御レジスタ106の例として浮動小数点制御語FPCを含む。例外制御レジスタ106は、IEEE754-2008規格によって定義された例外のような種々の浮動小数点例外に対する応答を制御するために、例えば、マスクを設定することを可能にする。種々の規格によって定義された例外のためのマスクの定義を可能にすることに加えて、本発明の一実施形態は、上述の量子例外のアサーションに応答して発生する処理を制御するために、付加的なマスクビットを含む。一実施形態において、量子例外マスクビットが設定状態に割り当てられている場合に量子例外が発生すると、推奨量子とは異なる量子を有する、10進浮動小数点ユニットによって生成された算術結果は、浮動小数点レジスタ108内の結果レジスタ120に書き込まれ、プログラムコントローラ124には、プログラムの実行をプログラム割り込みハンドラにトラップするように、信号が送られる。量子例外マスクビットが非設定状態に割り当てられている場合に量子例外が発生すると、量子例外フラグ122がスティッキーフラグとして設定され、プログラム実行は、プログラム割り込みハンドラにトラップされることなく続行する。一実施形態におけるスティッキーフラグ量子例外フラグ122は、後続の命令を処理する間、設定されたままにされ、量子例外の発生後に続くその命令シーケンスの実行後に、量子例外の遅延検出及び量子例外に応答した結果としての処理を可能にする。本発明の一実施形態は、量子例外の検出、及びそれに応答して取られるアクションをさらに制御するために、幾つかの機械コード命令内に付加的な制御フィールドを設ける。一例において、10進浮動小数点機械言語命令のような幾つかの機械言語命令は、それらの命令について個々に量子例外検出をイネーブルにするために、機械言語命令テキスト内に量子例外制御ビットXqCビット又は量子例外制御フィールドを含む。こうした命令の例として、例えば、ConvertfromInteger整数からの変換命令、Divide除算命令、LoadFPIntegerFP整数ロード命令、LoadRoundedロード丸め命令、Multiply乗算命令、Quantize量子化命令、Reround再丸め命令、Subtract減算命令などが挙げられる。個々の命令内に量子例外制御ビット又はフィールドを含めることで、同じ命令を異なる仕方で用いて量子例外を検出する又は検出しないことが可能になり、不正確結果例外inexactresultexceptionを検出する際の自由度を提供する。不正確結果例外を検出する際の自由度は、算術演算が、例えば、データ型間での暗黙変換又は明示的変換を用いて結果を生成することを期待される場合、或いは、算術演算の結果として、例えば、種々のソフトウェアプログラミング言語によって定義されるように床演算及び天井演算が行われる場合に、異なる処理を実施することを可能にする。予期しない暗黙変換が発生し得る環境の例は、ソフトウェアの10進浮動小数点実装が、そのソフトウェアが実行されるハードウェアよりも高い精度でエミュレートされる事例である。このような事例においては、ソフトウェア環境は、自身の、より高い精度に基づいて、指定された計算が推奨量子を維持することができると判定する。しかしながら、ハードウェアは、精度が低いので、結果を丸めなければならず、予期せずに不正確状態に直面する。しかしながら、例えばビット切り捨てのような明示的変換から生じる不正確さによって、プログラム実行が変更される結果となるべきではない。プログラマが意識しないデータ型間の暗黙変換の場合には、不正確さは検出されるべきであり、その事例に関しては、プログラム実行は変更されるべきである。不正確さは、量子損失の1つの構成要素であるので、一実施形態においては、量子例外検出、及びそれらの量子例外の発生に対する処理応答を命令ベースで制御するために、付加的な制御が設けられる。一実施形態において、他の例外を制御するために用いられる、選択された10進浮動小数点命令の制御フィールドは、さらに量子例外制御ビット例えば、XqCビットを含む量子例外制御フィールドもエンコードするように拡張される。一例において、量子例外制御ビットXqCビットは、選択された10進浮動小数点命令の丸めモード制御フィールドRMC内にエンコードされる。一例のRMCフィールドは、特定の明示的丸めモードに関連付けられた例外を制御するために0及び8乃至15に等しい値が予め定義されている、4ビットのフィールドである。この例においては、一実施形態の量子例外制御フィールドは、1乃至7に等しいRMCフィールドの値に割り当てられる。1乃至7に等しいRMCフィールドの値は、量子例外をイネーブルにし、これらの値についての特定の丸めモードを選ぶ。これらの選択された命令のRMCフィールドを0又は8乃至15の値に設定すると、それらの命令が実行されるときに量子例外は検出されないことになる。しかしながら、1乃至7に等しいRMCフィールドの値は、量子例外の検出、及びこれに対応するプログラム実行の変更を生じさせる。図2は、本発明の一実施形態による、10進浮動小数点演算の実行200を示す。10進浮動小数点演算の実行200は、202において、実行のための10進浮動小数点演算命令を10進浮動小数点ユニット110によって受信することにより開始する。一実施形態において、受信される10進浮動小数点演算命令は、プログラムメモリ152内に格納されたプログラムの一部であり、コンピュータプロセッサ100のプログラムコントローラ124によって受信される。プログラムコントローラ124は、受信された10進浮動小数点演算命令を、実行のために10進浮動小数点ユニット110に対して発行する。一実施形態において、10進浮動小数点命令は、第1のソースオペランドであるOperandA102及び第2のソースオペランドであるOperandB104を指定する。これら2つのソースオペランドは、浮動小数点レジスタ108内に存在しているように図示されているが、本開示を鑑みれば当業者には理解されるように、種々のアドレス指定モードを用いて、様々な位置に配置されたソース及び宛先オペランドを指定することができる。処理は、204において第1のソースオペランドであるOperandA102を読み出し、206において第2のソースオペランドであるOperandB104を読み出すことによって続く。実施形態は、1つ又は複数のオペランドをいずれかの適切な手段を通じて命令プロセッサ内に受け入れることができる。受信された10進浮動小数点演算によって生成されることになる結果についての推奨量子が、次に、208において求められる。一実施形態において、推奨量子は、2つのソースオペランド、OperandA102及びOperandB104の値に少なくとも部分的に基づいて求められる。受信された10進浮動小数点命令によって指定された10進浮動小数点演算が、次に、210において実施される。212において、実行された10進浮動小数点命令の結果が、その結果についての推奨量子を維持するかどうかの判定が行われる。10進浮動小数点演算の結果が推奨量子を維持できない場合には、処理は、220において量子例外制御マスクが設定されているかどうかを判定することに続く。上述のように、種々の実施形態は、量子例外の発生の結果に影響を及ぼすように、1つ又は複数の制御マスクを設ける。一般的な量子例外制御マスクを例外制御レジスタ106内に設定することもでき、或いは、量子例外制御ビット又はフィールドを個々の10進浮動小数点機械言語命令内にエンコードすることもできる。量子例外制御ビットを個々の命令内にエンコードする場合、一実施形態は、機械言語命令内にエンコードされた量子例外制御ビット又はマスクを読み取り、その機械言語命令の実行の間中、その値を用いる。220において、量子例外マスクが設定されていると判定された場合には、230において、プロセッサは、10進浮動小数点演算の結果を、浮動小数点レジスタ108の結果レジスタ120のような、結果又は宛先位置120内に格納する。量子例外はプログラムコントローラ124への出力によって示され、232においてプログラム実行のプログラムの割り込みハンドラへのトラップを生じさせる。220において、量子例外マスクが設定されていないと判定された場合は、量子例外はプログラム実行のトラップを生じさせるのではなく、量子例外は後の処理のために注釈付けされる。量子例外マスクが設定されていない場合には、一実施形態の処理は、222において、浮動小数点レジスタ108の結果レジスタ120のような、結果又は宛先位置120内に結果を格納する。量子例外は、量子例外が発生したことを示すスティッキーフラグよって量子例外フラグ122を設定することによって、示される。210において実施された10進浮動小数点演算が推奨量子を維持した結果を生成した場合には、その結果は214において格納される。一実施形態において、結果は、浮動小数点レジスタ108の結果、即ち宛先位置120に格納される。10進浮動小数点演算の結果が推奨量子を維持する場合には、量子例外フラグ122の値又は状態は影響を受けないことが注目される。量子例外フラグ122の状態を、影響を受けないままにしておくことによって、以前に実行された10進浮動小数点命令において発生した量子例外の発生の指標が量子例外フラグにおいて維持され、その後の処理で、量子例外フラグ122を検査して、命令シーケンスによって生成された結果が、その命令シーケンスの実行中に発生した量子例外によって影響を受けているかどうかを判定することができる。214において結果を格納した後、又は224において量子例外フラグを設定した後に、処理は、240において、実行すべき命令がそれ以上あるかどうかを判定する。本発明の一実施形態は、命令シーケンスを量子例外マスクが設定されていない状態で実行されるように定義することを可能することで、そのシーケンスのいずれかの命令の間に発生する量子例外がスティッキー量子例外フラグ122を設定させることになるようにして、その命令シーケンスの実行の継続を可能にするようにさせる。スティッキー量子例外フラグ122は、次に、量子例外が命令のシーケンスの間に発生したかどうかを判定するために下記に説明されるように検査される。スティッキー量子例外フラグ122が、こうした命令のシーケンスの最後において設定状態にあると判定されると、プログラム実行は、量子例外の発生に対処する、量子変更の発生に応答した特別な処理を実行するように変更される。命令がそれ以上存在する場合には、242において、次の命令が10進浮動小数点命令であるかどうかの判定が行われる。次の命令が10進浮動小数点命令である場合には、処理は、202において、その10進浮動小数点命令を受信することに戻る。次の命令が10進浮動小数点命令ではない場合には、処理は、240において実行すべき命令がそれ以上あるかどうかを判定することに戻る。実行すべき命令がそれ以上ない場合には、一実施形態の処理は、244において、量子例外フラグ122が設定されているかどうかを判定することに続く。上述のように、処理は、量子例外マスクが設定されておらず、かつ量子例外がプログラム命令のシーケンスの間に発生した場合に、量子例外フラグを設定する。量子例外フラグが設定されている場合、処理は、246において、以前に検出された量子例外イベントに適合する処理を実施する。次に、処理は終了する。情報処理システム当業者には認識されるように、本発明の態様は、システム、方法又はコンピュータプログラムとして具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態をとることができ、これらはすべて本明細書において一般的に回路、モジュール又はシステムと呼ぶことがある。さらに、本発明の態様は、具体化されたコンピュータ可読プログラムコードをその中に有する1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータプログラムの形態をとることができる。1つ又は複数のコンピュータ可読媒体のいずれの組み合わせを使用することもできる。コンピュータ可読媒体は、コンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線若しくは半導体のシステム、装置若しくはデバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例非網羅的なリストは、以下のもの、即ち、1つ又は複数のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み出し専用メモリROM、消去可能なプログラム可能読み取り専用メモリEPROM又はフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリCD-ROM、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせを含む。本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、又はこれらに関連して用いるためのプログラムを収容又は格納することができる、いずれかの有形媒体とすることができる。本発明の態様に関する動作を遂行するためのコンピュータプログラムコードは、Java、Smalltalk、C等のようなオブジェクト指向プログラミング言語、及びCプログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。プログラムコードは、独立したソフトウェアパッケージとして、全体がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は全体が遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカルエリアネットワークLAN若しくは広域ネットワークWANを含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの例えば、インターネットサービスプロバイダを用いたインターネットを通じた接続がなされる場合もある。本発明の態様を、本発明の実施形態による方法、装置システム及びコンピュータプログラムのフローチャート図及び/又はブロック図を参照して下記に説明する。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されるであろう。コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施するための手段を作り出すように、これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて、機械を製造することができる。コンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実施する命令を含む製品を製造するように、これらのコンピュータプログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイスを特定の方式で機能させるよう指示することができるコンピュータ可読媒体内に格納することもできる。コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するためのプロセスを提供するように、コンピュータプログラム命令をコンピュータ、他のプログラム可能装置又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で実施させ、コンピュータ実装プロセスを生成することもできる。ここで図3を参照すると、これは、図1に関して上述されたプロセッサ100と併せて用いることができる情報処理システム300を示すブロック図である。情報処理システム300は、本発明の1つ又は複数の実施形態を実施するように適合された、適切に構成された処理システムに基づく。同様に、任意の適切に構成された処理システムを、本発明の実施形態によって情報処理システム300として用いることができる。情報処理システム300は、コンピュータ302を含む。コンピュータ302は、キャッシュメモリ306、メモリ322、大容量ストレージインターフェース308及びネットワークアダプタハードウェア310に接続されるプロセッサ304を有する。システムバス312が、これらのシステムコンポーネントを相互接続する。大容量ストレージインターフェース308を用いて、データストレージデバイス314のような大容量ストレージデバイスを情報処理システム300に接続する。データストレージデバイスの1つの具体的なタイプは、CD/DVDドライブのような光ドライブであり、これを用いて、CD/DVD316限定ではないがのようなコンピュータ可読媒体又はストレージ製品にデータを格納し、そこからデータを読み出すことができる。データストレージデバイスの別のタイプは、例えばNTFS型ファイルシステム操作をサポートするように構成されたデータストレージデバイスである。メモリ322内に含まれるオペレーティングシステム図示せずは、Linux、UNIX、WindowsXP及びWindowsServer2003オペレーティングシステムのような適切なマルチタスクオペレーティングシステムである。本発明の実施形態は、いずれかの他の適切なオペレーティングシステムを用いることもできる。本発明の幾つかの実施形態は、オペレーティングシステム図示せずのコンポーネントの命令を情報処理システム300内に配置されたいずれかのプロセッサ上で実行することを可能にする、オブジェクト指向フレームワーク機構のようなアーキテクチャを使用する。一実施形態におけるネットワークアダプタハードウェア310は、1つ又は複数のネットワーク320に対するネットワーク通信インターフェースを提供する。本発明の実施形態は、現在のアナログ及び/又はデジタル技術を含む、或いは将来のネットワーキング機構を通じた、いずれかのデータ通信接続と共に機能するように適合させることができる。図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータプログラムの可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能な命令を含む、モジュール、セグメント又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図面内に記された順序以外の順序で行われる場合があることにも留意されたい。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、ときには逆の順序で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。非限定的な例本発明の特定の実施形態を開示したが、当業者であれば、本発明の趣旨及び範囲から逸脱することなく特定の実施形態に対する変更を行うことができることを理解するであろう。従って、本発明の範囲は、特定の実施形態に限定されず、添付の特許請求の範囲は、本発明の範囲内のいずれか又は全てのこのような用途、改変及び実施形態を包含することが意図される。