(57)【要約】      （修正有）【課題】正規数、非正規数、及び正規数と非正規数との組み合わせの何れの場合に対しても動作可能な浮動小数点加算ユニットを提供する。【解決手段】各々小数部と指数部とを含む２つの浮動小数点被演算子に対する加算又は減算動作によって浮動小数点結果を生成し、２つの浮動小数点被演算子及び浮動小数点結果が各々正規数又は非正規数を含むか否かとは無関係に、２つの浮動小数点被演算子の加算又は減算の何れかに基づいて遠接経路結果を計算する遠接経路回路２９８と、２つの浮動小数点被演算子及び浮動小数点結果が各々正規数又は非正規数を含むか否かとは無関係に、２つの浮動小数点被演算子の減算に基づいて近接経路結果を計算する近接経路回路２９９と、２つの浮動小数点被演算子の指数部の差の量に少なくとも一部基づいて、遠接経路結果又は近接経路結果の何れかを選択する最終結果選択回路２９７とを含む。【選択図】図１
2015103245.tif 000002
【特許請求の範囲】
【請求項１】
浮動小数点加算ユニットを含む装置において、
前記浮動小数点加算ユニットは、２つの浮動小数点被演算子に対する加算又は減算動作によって浮動小数点の結果を生成し、各浮動小数点被演算子は小数部分と指数部と、を含み、
前記浮動小数点加算ユニットは、
前記２つの浮動小数点被演算子の各々、及び前記浮動小数点の結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の加算又は減算の何れかに基づいて遠接経路結果を計算する遠接経路回路と、
前記２つの浮動小数点被演算子の各々、及び前記浮動小数点の結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の前記減算に基づいて近接経路結果を計算する近接経路回路と、
前記２つの浮動小数点被演算子の指数部の差の量に、少なくとも一部基づいて、前記遠接経路結果及び前記近接経路結果のうちの何れか１つを選択する最終結果選択回路と、を含み、
前記近接経路回路は、前記近接経路結果が非正規数を含む際に、前記近接経路結果の基数シフティングを制限する固定回路を含むことを特徴とする装置。
【請求項２】
前記最終結果選択回路は、前記２つの被演算子の各指数部が互いに等しいか否か、及び、前記浮動小数点加算ユニットが真の減算を通じて前記浮動小数点の結果を発生したか否か、に少なくとも一部基づいて、前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択することを特徴とする請求項１に記載の装置。
【請求項３】
前記遠接経路回路は、前記２つの浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合には、前記遠接経路結果の指数部を調整する非正規から正規への訂正回路を含むことを特徴とする請求項１に記載の装置。
【請求項４】
前記遠接経路回路は、前記２つの浮動小数点被演算子のうちの何れか１つが非正規数を含んでいるか否かを判断する非正規数探知回路を含むことを特徴とする請求項１に記載の装置。
【請求項５】
前記遠接経路回路は、浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフトするリーディングビット補償回路を含むことを特徴とする請求項１に記載の装置。
【請求項６】
前記近接経路回路は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフトを調整する正規から非正規への訂正回路を含むことを特徴とする請求項１に記載の装置。
【請求項７】
前記近接経路回路は、前記２つの浮動小数点被演算子のうちの何れか１つが非正規数を含んでいるか否かを判断する非正規数探知回路を含むことを特徴とする請求項１に記載の装置。
【請求項８】
前記近接経路回路は、前記近接経路結果の前記基数点をシフトする量を評価する基数点シフティング回路をさらに含み、
前記基数点シフティング回路は、
前記近接経路結果の基数点をシフトするべき量を評価するリーディングゼロ評価回路と、
前記近接経路結果が非正規数であるか否かを判断し、前記近接経路結果が非正規数である場合に、前記近接経路回路の基数シフティングの前記量を制限して、基数点シフティングの最大量を超えないようにする固定回路と、を含むことを特徴とする請求項１に記載の装置。
【請求項９】
前記浮動小数点加算ユニットは、前記２つの浮動小数点被演算子の乗算によって浮動小数点結果を生成しないことを特徴とする請求項１に記載の装置。
【請求項１０】
浮動小数点加算方法において、
第１浮動小数点被演算子と第２浮動小数点被演算子と、を受信する段階と、
前記第１浮動小数点被演算子、前記第２浮動小数点被演算子、又は遠接経路結果が非正規数を含んでいるか否かとは無関係に、前記第１浮動小数点被演算子及び前記第２浮動小数点被演算子の加算又は減算のうちの何れか１つに基づいて前記遠接経路結果を計算する段階と、
前記第１浮動小数点被演算子、前記第２浮動小数点被演算子、又は近接経路結果が非正規数を含んでいるか否かとは無関係に、前記第１浮動小数点被演算子と前記第２浮動小数点被演算子の減算に基づいて前記近接経路結果を計算する段階と、
前記第１浮動小数点被演算子の指数部と前記第２浮動小数点被演算子の指数部との間の差の量に、少なくとも一部基づいて、前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択する段階と、を含み、
前記近接経路結果を計算する段階は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングの量を制限する段階と、を含むことを特徴とする方法。
【請求項１１】
前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択する段階は、
前記近接経路結果が真の減算を実行することを含んでいる場合にのみ、前記近接経路結果を選択する段階を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記遠接経路結果を計算する段階は、
前記第１浮動小数点被演算子及び前記第２浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合に、前記遠接経路結果の指数部を調整する段階を含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記近接経路結果を計算する段階は、
前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングを調整する段階を含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記近接経路結果を計算する段階は、
前記近接経路結果の基数点をシフトするために評価された量を評価する段階と、
前記近接経路結果が非正規数を含んでいるか否かを判断する段階と、
前記近接経路結果が非正規数を含んでいる場合に、基数シフティングの最大量を超えないように、前記近接経路結果の基数シフティングの量を限定する段階と、を含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記近接経路結果を計算する段階は、浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフティングする段階を含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
浮動小数点加算ユニットを含むシステムにおいて、
前記システムは、
２つの浮動小数点被演算子を格納するメモリと、
プロセッサを含み、
前記プロセッサは、
前記２つの浮動小数点被演算子を相互に加算又は減算することによって、浮動小数点結果を生成する浮動小数点加算ユニットを含み、
前記２つの浮動小数点被演算子は、各々小数部分と指数部と、を含み、
前記浮動小数点加算ユニットは、
前記２つの浮動小数点被演算子の各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の加算又は減算のうちの何れか１つに基づいて遠接経路結果を計算する遠接経路回路と、
前記２つの浮動小数点被演算子の各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の減算に基づいて近接経路結果を計算する近接経路回路と、
前記２つの浮動小数点被演算子の指数部の差の量に、少なくとも一部基づいて、前記遠接経路結果及び前記近接経路結果のうちの何れか１つを選択する最終結果選択回路と、を含み、
前記近接経路回路は、前記近接経路結果が非正規数を含む際に、前記近接経路結果の基数シフティングを制限する固定回路を含むことを特徴とするシステム。
【請求項１７】
前記最終結果選択回路は、前記２つの浮動小数点被演算子の各指数部が互いに等しいか否か、及び、前記浮動小数点加算ユニットが真の減算を通じて前記浮動小数点結果を発生したか否かに、少なくとも一部基づいて、前記遠接経路結果及び前記近接経路結果のうちの何れか１つを選択することを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記遠接経路回路は、
前記２つの浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合に、前記遠接経路結果の指数部を調整する非正規から正規への訂正回路を含み、
前記近接経路回路は、
前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングを調整する正規から非正規への訂正回路を含むことを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記遠接経路回路は、
浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフティングするリーディングビット補償回路を含むことを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記近接経路回路は、
前記近接経路結果の基数点をシフトするべき量を評価するリーディングゼロ評価回路と、
前記近接経路結果が非正規数であるか否かを判断し、もし近接経路結果が非正規数である場合に、前記近接経路結果の基数点をシフトするための非正規固定量を生成する固定回路と、
前記評価された量又は前記非正規固定量に基づいて、前記近接経路結果が非正規数を含んでいるか否かに応じて、前記近接経路結果の基数点をシフトする基数シフタ回路と、を含み、
前記非正規固定量は、非正規数の大量キャンセルの防止のために十分に小さい値を含むことを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法に係り、さらに具体的には、正規数と非正規数の双方を含む浮動小数点加算演算に際してフルインライン非正規サポートを伴う高性能の浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法に関する。
【背景技術】
【０００２】
コンピュータの計算において、浮動小数点数（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ｎｕｍｂｅｒ）は、より広い範囲の値をサポートするために、実数（ｒｅａｌ  ｎｕｍｂｅｒ）の近似値を示す技術を含む。このような数は、一般的に、固定数（ｆｉｘｅｄ  ｎｕｍｂｅｒ）の有効数字の桁数を大まかに示し、指数を使用してスケールされる。“浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）”という用語は、数字の基数点（ｒａｄｉｘ  ｐｏｉｎｔ）（例えば、１０進小数点又はコンピュータで一般的に使用される２進小数点）の位置が“変化（ｆｌｏａｔ）”できることを示す。即ち、数字の基数点が所定の数の有効数字の桁数のどの場所にも位置できることを示す。この位置は、内部表現方式における指数要素（ｅｘｐｏｎｅｎｔ  ｃｏｍｐｏｎｅｎｔ）として表され、従って、浮動小数点は科学的表記法のコンピュータ的実現と考えられる。例えば、１，２３４は１．２３４ｘ１０４と同一である。
【０００３】
浮動小数点演算に関する国際標準規格であるＩＥＥＥ＿７５４は、ＩＥＥＥによって１９８５年に制定された国際規格である。多くのハードウェア浮動小数点ユニット又は回路は、実質的にＩＥＥＥ＿７５４標準に適合する。ここで、“ＩＥＥＥ＿７５４”という用語は、浮動小数点演算に関するＩＥＥＥ標準であるＩＥＥＥ＿Ｓｔｄ．＿７５４−２００８（２００８年８月２９日）、若しくは、これから由来するか、又はこれに先行する標準をいう。
【０００４】
ＩＥＥＥ＿７５４規格は、様々な程度の精度を可能にする。２つのより一般的な精度のレベルは、３２ビット（ｓｉｎｇｌｅ）と６４ビット（ｄｏｕｂｌｅ）精度である。浮動小数点数の３２ビットバージョンは、１ビットの符号ビット（ｓｉｇｎ  ｂｉｔ）と、８ビットの指数部（ｅｘｐｏｎｅｎｔ  ｐｏｒｔｉｏｎ）と、２３ビットの仮数部（ｆｒａｃｔｉｏｎ、ｓｉｇｎｉｆｉｃａｎｄ、ｍａｎｔｉｓｓａ  ｐｏｒｔｉｏｎ）とを含む。６４ビットバージョンは、１ビットの符号ビット、１１ビットの指数部、及び５２ビットの仮数部を含む。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第８、４６３，８３５号明細書
【特許文献２】米国特許公開第２０１３／０２１８９３８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、正規数、非正規数、及び正規数と非正規数との組み合わせの何れの場合に対しても動作可能な浮動小数点加算器を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の実施形態による浮動小数点加算ユニットを含む装置において、該浮動小数点加算ユニットは、２つの浮動小数点被演算子（ｏｐｅｒａｎｄ）に対する加算又は減算動作によって浮動小数点結果を生成し、各浮動小数点被演算子は小数部分と指数部と、を含み、前記浮動小数点加算ユニットは、前記２つの浮動小数点被演算子のうちの各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の加算又は減算のうちの何れか１つに基づいて遠接経路結果を計算する遠接経路回路と、前記２つの浮動小数点被演算子の各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の前記減算に基づいて近接経路結果を計算する近接経路回路と、前記２つの浮動小数点被演算子の指数部の差の量に、少なくとも一部基づいて、前記遠接経路結果及び前記近接経路結果のうちの何れか１つを選択する最終結果選択回路と、を含み、前記近接経路回路は、前記近接経路結果が非正規数を含む際に、前記近接経路結果の基数シフティングを制限する固定回路を含む。
【０００８】
実施形態において、前記最終結果選択回路は、前記２つの被演算子の各指数部が互いに等しいか否か、及び、前記浮動小数点加算ユニットが真の減算を通じて前記浮動小数点結果を発生したか否か、に少なくとも一部に基づいて、前記遠接経路結果及び前記近接経路の結果のうちの何れか１つを選択する。
実施形態において、前記遠接経路回路は、前記２つの浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合に、前記遠接経路結果の指数部を調整する非正規から正規への訂正回路を含む。
実施形態において、前記遠接経路回路は、前記２つの浮動小数点被演算子のうちの何れか１つが非正規数を含んでいるか否かを判断する非正規数探知回路を含む。
実施形態において、前記遠接経路回路は、浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフトするリーディングビット補償回路を含む。
実施形態において、前記近接経路回路は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフトを調整する正規から非正規への訂正回路を含む。
実施形態において、前記近接経路回路は、前記２つの浮動小数点被演算子のうちの何れか１つが非正規数を含んでいるか否かを判断する非正規数探知回路を含む。
実施形態において、前記近接経路回路は、前記近接経路結果の前記基数点をシフトする量を評価する基数点シフティング回路をさらに含み、前記基数点シフティング回路は、前記近接経路結果の基数点をシフトするように評価された量を評価するリーディングゼロ評価回路と、前記近接経路結果が非正規数であるか否かを判断し、前記近接経路結果が非正規数である場合に、前記近接経路回路の基数シフティングの前記量を制限して、基数点シフティングの最大量を超えないようにする固定回路と、を含む。
実施形態において、前記浮動小数点加算ユニットは、前記２つの浮動小数点被演算子の乗算によって浮動小数点結果を生成しない。
【０００９】
本発明の実施形態による浮動小数点加算方法は、第１浮動小数点被演算子と、第２浮動小数点被演算子と、を受信する段階と、前記第１浮動小数点被演算子、前記第２浮動小数点被演算子、又は遠接経路結果が非正規数を含んでいるか否かとは無関係に、前記第１浮動小数点被演算子及び前記第２浮動小数点被演算子の加算又は減算のうちの何れか１つに基づいて前記遠接経路結果を計算する段階と、前記第１浮動小数点被演算子、前記第２浮動小数点被演算子、又は近接経路結果が非正規数を含んでいるか否かとは無関係に、前記第１浮動小数点被演算子と前記第２浮動小数点被演算子の減算に基づいて前記近接経路結果を計算する段階と、前記第１浮動小数点被演算子の指数部と前記第２浮動小数点の指数部との間の差の量に、少なくとも一部に基づいて、前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択する段階と、を含み、前記近接経路結果を計算する段階は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングの量を制限する段階と、を含む。
【００１０】
実施形態において、前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択する段階は、前記近接経路結果が真の減算を実行することを含む場合にのみ、前記近接経路結果を選択する段階を含む。
実施形態において、前記遠接経路結果を計算する段階は、前記第１浮動小数点被演算子及び前記第２浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合に、前記遠接経路結果の指数部を調整する段階を含む。
実施形態において、前記近接経路結果を計算する段階は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングを調整する段階を含む。
実施形態において、前記近接経路結果を計算する段階は、前記近接経路結果の基数点をシフトするために評価された量を評価する段階と、前記近接経路結果が非正規数を含んでいるか否かを判断する段階と、前記近接経路結果が非正規数を含んでいる場合に、基数シフティングの最大量を超えないように、前記近接経路結果の基数シフティングの量を限定する段階とを含む。
実施形態において、前記近接経路結果を計算する段階は、浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフティングする段階を含む。
【００１１】
本発明の実施形態による浮動小数点加算ユニットを含むシステムは、２つの浮動小数点被演算子を格納するメモリと、プロセッサとを含み、前記プロセッサは、前記２つの浮動小数点被演算子を相互に加算又は減算することによって、浮動小数点結果を生成する浮動小数点加算ユニットを含み、前記２つの浮動小数点被演算子は、各々小数部分と指数部と、を含み、前記浮動小数点加算ユニットは、前記２つの浮動小数点被演算子の各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の加算又は減算のうちの何れか１つに基づいて遠接経路結果を計算する遠接経路回路と、前記２つの浮動小数点被演算子の各々、及び前記浮動小数点結果が、各々正規数又は非正規数を含んでいるか否かとは無関係に、前記２つの浮動小数点被演算子の減算に基づいて、近接経路結果を計算する近接経路回路と、前記２つの浮動小数点被演算子の指数部の差の量の少なくとも一部に基づいて、前記遠接経路結果と、前記近接経路結果のうちの何れか１つを選択する最終結果選択回路とを含み、前記近接経路回路は、前記近接経路結果が非正規数を含む際に、前記近接経路結果の基数シフティングを制限する固定回路を含む。
【００１２】
実施形態において、前記最終結果選択回路は、前記２つの浮動小数点被演算子の各指数部が互いに等しいか否か、及び、前記浮動小数点加算ユニットが真の減算を通じて前記浮動小数点結果を発生したか否かに、少なくとも一部基づいて、前記遠接経路結果と前記近接経路結果のうちの何れか１つを選択する。
実施形態において、前記遠接経路回路は、前記２つの浮動小数点被演算子の双方が非正規数を含み、前記遠接経路結果が正規数を含んでいる場合に、前記遠接経路結果指数部を調整する非正規から正規への訂正回路を含み、前記近接経路回路は、前記近接経路結果が非正規数を含んでいる場合に、前記近接経路結果の基数シフティングを調整する正規から非正規への訂正回路を含む。
実施形態において、前記遠接経路回路は、浮動小数点被演算子が非正規数を含んでいる場合に、前記浮動小数点被演算子の基数点をシフティングするリーディングビット補償回路を含む。
実施形態において、前記近接経路回路は、前記近接経路結果の基数点をシフトするための評価された量を評価するリーディングゼロ評価回路と、前記近接経路結果が非正規数であるか否かを判断し、もし近接経路結果が非正規数である場合に、前記近接経路結果の基数点をシフトするための非正規固定量を生成する固定回路と、前記評価された量又は前記非正規固定量に基づいて、前記近接経路結果が非正規数を含んでいるか否かに応じて、前記近接経路結果の基数点をシフトする基数シフタ回路と、を含み、前記非正規固定量は非正規数の大量キャンセルの防止のために十分に小さい値を含む。
【発明の効果】
【００１３】
本発明の実施形態による浮動小数点加算器は正規数、非正規数、そして正規数と非正規数との組み合わせに対しても動作できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態によるシステム又は浮動小数点加算器の一例を示す図である。
【図２】本発明の技術的思想の実施形態によるシステムの実施形態を示すブロック図である。
【図３】本発明の技術的思想の実施形態によるシステムの一実施形態を示すブロック図である。
【図４】本発明の技術的思想の実施形態によるシステムの一実施形態を示す図である。
【図５】本発明の技術的思想の実施形態による技術の一実施形態を示すフローチャートである。
【図６】本発明の技術的思想によって実現された半導体装置を含む情報処理システムの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下では、添付された図面を参照して、本発明の技術的思想の実施形態を説明する。
コンピューティング装置において、浮動小数点数は、所定の（ｓｅｔ）数のビットにより表現される。これは、浮動小数点数が、無限の数空間のうちで、それに割り当てられた所定のビットの数によって区切られた、離散的で、且つ限られた部分のみを表現することを意味する。正規浮動小数点数（ｎｏｒｍａｌ  ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ  ｎｕｍｂｅｒ）（以下、略して“正規数”ともいう）において、当該数は数の仮数（ｓｉｇｎｉｆｉｃａｎｄ）部分内の定数と、基数点がどこに位置するかを示す指数部を伴う、標準的な科学的表記形式と同様に表現される。例えば、１０進法システムの２３，４６７は２．３４６７ｘ１０４と表わされ、仮数部のうち整数（ｗｈｏｌｅ  ｎｕｍｂｅｒ）部は常に１桁（シングルディジット、この場合は、２）であり、基数点（ｒａｄｉｘ  ｐｏｉｎｔ）は、右から第４桁地点に位置する。数字が２進数に表現される時、最大有効ビット（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）は常に１である。なお科学的表記法は、ここでは普通の読者が理解し易いように使用されているが、これは単に説明の便宜上の実例に過ぎない。また、本発明の技術的思想は、好ましくは２進数の場合に集中して開示される。
【００１６】
浮動小数点数が小さい時、仮数（ｓｉｇｎｉｆｉｃａｎｄ）部又は小数（ｆｒａｃｔｉｏｎ）部内にリーディングゼロ（ｌｅａｄｉｎｇ  ｚｅｒｏｓ）が存在する場合があるが、リーディングゼロは指数部を調整することによって除去される。従って、１０進法の０．０１２３は１．２３ｘ１０−２のように書かれ、リーディングゼロは除去される。
【００１７】
しかし、ＩＥＥＥ＿７５４規格によれば、ある場合には、浮動小数点表記では指数が小さ過ぎて正確に表現できない結果を招く。即ち、それは、指数部を表現するのに使用されるビットの数が、コンピューティングシステムでは制限されているので、適切な量の基数シフト（ｒａｄｉｘ  ｓｈｉｆｔ）のために必要な値が、浮動小数点数の指数部内でコンピューティング装置が使用可能なビットの数より大きい場合である。
【００１８】
例えば、浮動小数点数が指数部に８ビットを含む場合に、指数は１２７から−１２６の範囲内にある。これは、もし、その数が−１２６より小さい指数を持つならば（例えば、２−１３４）、正規浮動小数点数のスキームは有効数学エラー（ｓｉｇｎｉｆｉｃａｎｔ  ｍａｔｈｅｍａｔｉｃａｌ  ｅｒｒｏｒ）なしでそれを表現する可能性がないことを意味する。
【００１９】
このような数字は、“非正規浮動小数点数”、略して“非正規数”（ｄｅｎｏｒｍａｌ  ｎｕｍｂｅｒｓ／ｄｅｎｏｒｍａｌｉｚｅｄ  ｎｕｍｂｅｒｓ／ｓｕｂｎｏｒｍａｌ  ｎｕｍｂｅｒｓ）といい、一般的に、コンピューティング回路に困難を発生させる。非正規数は、正規数に比べて多少異なる符号化スキーム（ｅｎｃｏｄｉｎｇ  ｓｃｈｅｍｅ）を必要とする。まず、ＩＥＥＥ＿７５４スペックによれば、非正規数の仮数（ｓｉｇｎｉｆｉｃａｎｄ）のリーディングディジット（ｌｅａｄｉｎｇ  ｄｉｇｉｔ）は０である。即ち、指数を変更する代わりに、リーディングゼロを仮数内に残す。また、非正規数の変更された指数部は０である。
これは例えば、浮動小数点数０．０１２３４を、正規数では１．２３４ｘ１０−２と表わす代わりに、非正規数では０．０１２３４ｘ１００と表わす（実際の非正規数は一般に１０−２よりはるかに小さい指数、例えば、１０−３８又は２−１２７を有するが、３８個又は１２７個のリーディングゼロを羅列して書き出すことは、例示的な表現としては過剰である（ので採用しなかった））。
一実施形態において、３２ビット非正規浮動小数点数は、仮数として、２２個のリーディング０を収容できるので、おおよそ、２−１２７と２−１４９との間の値を含む。一般的に、非正規数はリーディング０の個数が増加するにつれて、より小さい数を表わすことができるが、数字に含まれた精度（例えば、有効ディジット（ｓｉｇｎｉｆｉｃａｎｔ  ｄｉｇｉｔｓ））は減少する。これは、”漸進的アンダーフロー（ｇｒａｄｕａｌ  ｕｎｄｅｒｆｌｏｗ）“と呼ばれる現象であり、一般的にはそのような小さい数字をゼロと宣言する代替手段が普通使用される。
【００２０】
いくつかのコンピューティングシステムは、ハードウェア内で非正規数を処理する。伝統的に、このようなコンピューティングシステムは、正規数加算を処理するために、第１ハードウェアを使用し、非正規数加算を処理するために、第２ハードウェアを使用する。他のコンピューティングシステムでは、非正規数の処理をシステムソフトウェアに委任する。ソフトウェアでの非正規数の処理は、一般的に性能の深刻な低下を発生させる。しかし、非正規数がハードウェア内で完全に処理されても、計算速度は、殆どの現代のプロセッサで深刻に低下し、甚だしい場合には、非正規被演算子（ｄｅｎｏｒｍａｌ  ｏｐｅｒａｎｄｓ）を伴う命令語は、正規被演算子を伴う場合と比較して３０から１００倍程度まで緩慢に動作する。
【００２１】
図１は、本発明の実施形態による浮動小数点加算システム（又は浮動小数点加算器、ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ａｄｄｅｒ）１００の一例を示す図である。図示したように、システムは、浮動小数点加算器１００を含んでいる。浮動小数点加算器１００は、浮動小数点加算ユニット（又は浮動小数点加算回路）とも言える。本実施形態において、浮動小数点加算器１００は、２つの浮動小数点被演算子（又は被演算値、以下、被演算子と被演算子に入力される被演算値とを区別せず、被演算子と称する）２０２、２０４に対する加算及び／又は減算を実行し、演算結果２４８を生成する。
【００２２】
本発明による浮動小数点加算器１００は、従来の浮動小数点加算器とは大きい差を有する。浮動小数点加算器１００は、たとえ１つ又はそれ以上の被演算子２０２、２０４、又はその演算結果２４８が非正規数（ｄｅｎｏｒｍａｌ  ｎｕｍｂｅｒ）であるとしても、浮動小数点加算動作を実行する。従来の浮動小数点加算器が正規数（ｎｏｒｍａｌ  ｎｕｍｂｅｒｓ）に対してのみ正確に動作するのに対し、本発明の実施形態による浮動小数点加算器１００は正規数、非正規数、又は正規数と非正規数との組み合わせに対しても動作可能である。
【００２３】
図１の改善された浮動小数点加算器の機能と対比するため、従来の浮動小数点加算器の動作を簡単に説明する。従来の浮動小数点加算器は、２つの浮動小数点数に対して加算（又は減算）動作のみを実行し、正規の浮動小数点の結果を生成する。このような実施形態において、非正規動作（ｎｏｎ−ｎｏｒｍａｌ  ｏｐｅｒａｔｉｏｎｓ）は、非正規値又は特殊結果２４６を生成する別の分離されたハードウェアによって実行される。その後、システムは、最終結果選択器（マルチプレクサ）１９２に類似の回路を介して、正規結果２４８と特殊結果２４６との間で選択し、最終結果１４９を生成する。
【００２４】
様々な実施形態において、特殊結果２４６は、１つ又はそれ以上の次のような状況により生成される。例えば、被演算値又は結果値において、無限大（ｉｎｆｉｎｉｔｙ）が表示されるか、ＮａＮ（Ｎｏｔ−ａ−Ｎｕｍｂｅｒ）が表示されるか、ゼロ（ｚｅｒｏ）が表示されるか、又は非正規値が表示される状況である。このような実施形態において、浮動小数点加算器の正規結果２４８は、エラー値を含むとみなされ、使用されない。代わりに、他のハードウェア（例えば、後述する図４のようなハードウェア）が正確な特殊結果２４６を計算するために使用される。一般的に非正規値の計算は正規結果の計算に比較して、かなりの量の計算時間がかかる。
【００２５】
場合によっては、非正規数の加算は、ＦＭＡＣ、ＦＭＡＤＤ、ＦＭＡのような浮動小数点ＭＡＣ（ｍｕｌｔｉｐｌｙ  ａｃｃｕｍｕｌａｔｅ）ユニットによって実行される（図示せず）。これはハードウェアの空間と構成要素、及び計算時に消費されるパワーにおいて高いコストが要求されるので、実際にはあまり使用されない。浮動小数点加算器は、一般的には空間とコストの面において、直接的な加算又は減算に適用することが望ましい。開示した実施形態において、浮動小数点加算器１００は、浮動小数点乗算動作を実行できない。
【００２６】
上述のように、従来の浮動小数点加算器の場合に、非正規数の発生は、特殊なハードウェアの起動を要するという結果をもたらす。この後、非正規の結果は、最終結果選択器（マルチプレクサ）１９２に類似の同様の回路によって、最終結果として選択される。このような実施形態において、従来の浮動小数点加算器の出力（例えば、２４８と同様）は捨てざるを得ない。上述のように、非正規値を処理するために必要な特別なハードウェアは、計算時間がかかって高コストになるだけでなく、ＦＭＡＣのような他の回路の使用を通常、伴うので、他の動作に専有されるか又は他の動作の利用を妨げ、並列演算によるパワーの削減の動作などを実行できなくする。
【００２７】
これに対して、以下に開示する実施形態においては、浮動小数点加算器１００は、非正規数が発生しても、従来に発生していた性能の低下なしに、正規数と非正規数の全てに対する浮動小数点加算を実行できる。浮動小数点加算器１００の具体的な動作は次の通りである。
【００２８】
従来の浮動小数点加算器と同様に、浮動小数点加算器１００は、遠接経路（Ｆａｒ  ｐａｔｈ）２９８と、近接経路（Ｃｌｏｓｅ  ｐａｔｈ）２９９と、最終結果選択回路２９７の３つの基本的な部分と、を含んでいる。様々な実施形態において、遠接経路２９８は、全ての範囲の加算動作、及び、二つの被演算子２０２、２０４の指数部に複数の桁数の差がある場合（例えば、１，２３４−３４）の減算動作を行う。逆に、近接経路２９９は、二つの被演算子２０２、２０４の指数部（又は絶対値）に１つ以下の桁数の差がある場合（例えば、１，２３４＋−１，２３６）の減算処理を実行する。最終結果選択回路２９７は、（非特殊な）最終結果２４８又は（実施形態によって）最終結果１４９を生成するように遠接経路結果２４２と近接経路結果２４４との間で選択動作を行う。浮動小数点加算器１００のこのような部分は、図１を参照して説明し、以下では、図２、図３、及び図４を参照して、より詳細に説明する。
【００２９】
浮動小数点加算器１００の開示した実施形態において、二つの被演算子２０２、２０４の指数部の差が知られる前に、被演算子２０２、２０４は、遠接経路２９８と近接経路２９９によって並列的に処理される。結果として、両方の経路の結果２４２、２４４の何れかは不正確であり、指数部の差が知られる時点以降に）最終結果選択回路２９７によって捨てられる。このような並列的な計算は、計算速度を向上させるという肯定的な効果があるが、浮動小数点加算器１００のサイズを増加させ、パワー消費量を増加させるという望ましくない効果もある。
【００３０】
図１の３つの部分２９７、２９８、２９９は、従来の浮動小数点加算器の同様の部分と類似に動作する。しかし、上述のように本願発明による、遠接経路２９８、近接経路２９９、最終結果選択回路２９７は、正規数及び／又は非正規数を処理できるのに対し、従来の浮動小数点加算器は、正規数しか処理できない。
【００３１】
開示した実施形態において、浮動小数点加算器１００は、被演算子２０２、２０４を受信する。このような実施形態において、被演算子２０２、２０４は、浮動小数点数であり、正規数（ｎｏｒｍａｌ  ｎｕｍｂｅｒｓ）と非正規数（ｄｅｎｏｒｍａｌ  ｎｕｍｂｅｒ）とを含む。明確な説明のために、ここでは被演算子２０２、２０４が、６４ビットＩＥＥＥ＿７５４による浮動小数点数と仮定する。従って、被演算子２０２、２０４は、各々１ビット符号指標（ｓｉｇｎ  ｉｎｄｉｃａｔｏｒ）と、１１ビットの指数部（ｅｘｐｏｎｅｎｔ  ｐｏｒｔｉｏｎ）と、５２ビットの仮数部（ｆｒａｃｔｉｏｎ  ｐｏｒｔｉｏｎ）とを含む。ただし、これは一実施形態に過ぎず、本発明の技術的思想はこれに限定されない。
【００３２】
先ず、遠接経路２９８の動作を説明する。開示した実施形態において、被演算子２０２、２０４は、遠接経路２９８への入力である。被演算子２０２、２０４は、各々非正規数探知回路（ｄｅｎｏｒｍａｌ  ｎｕｍｂｅｒ  ｄｅｔｅｃｔｉｏｎ  ｃｉｒｃｕｉｔ）２５２の対象となる。一実施形態において、非正規数探知回路２５２は、ＯＲツリー（ｔｒｅｅ）などの一連のＯＲゲート（ｇａｔｅｓ）を含む。一実施形態において、非正規数探知回路２５２は、対応する被演算子２０２又は２０４の仮数部がリーディング０を含んでいるか否かを感知する。様々な実施形態において、非正規数探知回路２５２は、非正規指標信号（ｄｅｎｏｒｍａｌ  ｉｎｄｉｃａｔｏｒ  ｓｉｇｎａｌ）２１３を発生する。
【００３３】
被演算子を正規数と仮定（ａｓｓｕｍｅ）する従来の浮動小数点加算器では、本願発明のプリスワップ信号（ｐｒｅ−ｓｗａｐｐｅｄ  ｓｉｇｎａｌｓ）と同様のプリスワップ信号を発生させるためにリーディング１を被演算子の仮数部と結び付ける（ｃｏｎｃａｔｅｎａｔｅ）。
これに対して、開示した本発明の実施形態においては、浮動小数点加算器１００は、プリスワップ信号２１０を生成するために、非正規指標信号２１３のインバース（ｉｎｖｅｒｓｅ）を被演算子２０２、２０４の仮数部と結び付ける。このような実施形態において、正規被演算子によって生成されたプリスワップ信号２１０は、リーディング１を含み、一方、非正規被演算子によって生成されたプリスワップ信号２１０は、リーディング０を含む。
【００３４】
開示した実施形態において、浮動小数点加算器１００の遠接経路２９８は、リーディングビット補償回路（ｌｅａｄｉｎｇ  ｂｉｔ  ｃｏｍｐｅｎｓａｔｉｏｎ  ｃｉｒｃｕｉｔ）２５０を含んでいる。浮動小数点フォーマット（ｆｏｒｍａｔ）で表現される数値の加算には、厄介な問題がある。例えば、被演算子の仮数部が、多くの場合、最初に整列していない可能性がある（例えば、同じ指数値を持たない）。一般的に、これらの問題は以下で説明するように、基数整列回路（ｒａｄｉｘ  ａｌｉｇｎｍｅｎｔ  ｃｉｒｃｕｉｔ）１５４によって処理される。
【００３５】
ＩＥＥＥ＿７５４規格は、数が正規数と非正規数との間で符号化されることを妨げる障害（ｏｄｄｉｔｙ）を含んでいる。このような障害は、１つの数直線上で数値をカウンティングダウン（ｃｏｕｎｔｉｎｇ  ｄｏｗｎ）する場合について、どのような障害に遭遇するかを調べると簡単に説明できる。即ち、正規数を符号化するスキームにおいて、或る正規数がカウンティングダウンされ、該当数字が整数（ｗｈｏｌｅ  ｎｕｍｂｅｒ）から小数（ｆｒａｃｔｉｏｎ）に変わる（例えば、１．０から０．９へ向かう場合）時、仮数（ｓｉｇｎｉｆｉｃａｎｄ）は、シフトアップ（ｓｈｉｆ  ｔｕｐ）されると共に、指数は１ずつ減少する（例えば、１．０ｘ１０２から９．０ｘ１０１になる場合）。しかし、或る正規数がカウンティングダウンされ、数字が正規数から非正規数に変わる時に、上述のようなシフト／減少動作の対が発生しない。例えば、或るカウンティングダウンで１．０ｘ２−１２６から０．１ｘ２−１２６に変わる時、非正規数の仮数はシフトアップされない（例えば、１．０になる代わりに、０．１を維持する）。しかし、指数部は依然として減少する（例えば、０ｘ０１から０ｘ００に変化した時、非正規数は、０の指数部を持つと定義する）。ＩＥＥＥ＿７５４規格において、３２ビット浮動小数点正規数の指数部は１２７によってオフセット又はバイアスされ、従って、２−１２６は０ｘ０１に符号化される。しかし、３２ビット浮動小数点非正規数の指数部は１２６によってオフセット又はバイアスされ、従って、２−１２６は０ｘ００に符号化される。正規被演算子と非正規被演算子とを加算する際に、符号化スキームにおけるこの差を考慮に入れなければならない。
【００３６】
開示した実施形態において、リーディングビット補償回路２５０は、非正規被演算子の基数点（ｒａｄｉｘ  ｐｏｉｎｔ）をシフトして、同一指数部を持つように仮数を変更し、あたかも正規被演算子であるかのように符号化する。別の実施形態において、基数整列回路１５４は、このような補償を自ら実行するように変更される。しかし、更に他の実施形態において、リーディングビット補償回路２５０は、非正規被演算子の代わりに正規被演算子の基数点をシフトするが、このような方法は、精度の損失を発生させる。
【００３７】
このような実施形態において、もし被演算子２０２、２０４のうち１つだけが、非正規数であれば、リーディングビット補償回路２５０は、非正規数と正規数とを符号化するときの差を補償する。リーディングビット補償回路２５０は、非正規プリスワップ信号２１０をシフトする。様々な実施形態において、リーディングビット補償回路２５０は、２つのプリスワップ信号のうちの何れかをシフトするべきときに、何れをシフトするべきかを判断する制御信号２１１によって制御される。様々な実施形態において、このような制御信号２１１は、非正規数探知回路２５２の出力から誘導される。
【００３８】
様々な実施形態において、浮動小数点加算器１００は、従来の浮動小数点加算器の遠接経路と同様に、被演算子２０２、２０４のうちのどちらがより大きい被演算子であるか否かを判断する指数差計算回路（ｅｘｐｏｎｅｎｔ  ｄｉｆｆｅｒｅｎｃｅ  ｃｏｍｐｕｔａｔｉｏｎ  ｃｉｒｃｕｉｔ）１５２を含んでいる。これは、サイズ差信号（ｓｉｚｅ  ｄｉｆｆｅｒｅｎｔｉａｔｉｏｎ  ｓｉｇｎａｌ）１１１を導出する。一般に指数差計算回路１５２は、非正規数探知回路２５２及び／又はリーディングビット補償回路２５０に比較して、より多い計算時間を消費する。従って、本願発明のように非正規数探知回路２５２及び／又はリーディングビット補償回路２５０を追加しても計算時間は、従来の浮動小数点加算器の遠接経路の計算時間と変わらない。
【００３９】
従来に実行されたように、２つの演算子（例えば、プリスワップ信号２１０など）は、必要であれば、順序が入れ替えられて、即ち、スワップされて、大きい被演算子２１２（又は、アンカ（ａｎｃｈｏｒ）被演算子）が加算器１５８、１６０のための入力のセットとして置かれる。同様に、小さい被演算子２１４に対しても行われる。このような動作は、スワップマルチプレクサ（ｓｗａｐ−ｍｕｌｔｉｐｌｅｘｅｒ）１５０によって実行される。開示した実施形態において、スワップマルチプレクサ１５０は、サイズ差信号１１１によって制御される。
【００４０】
上述のように、加算に際して、もし被演算子の仮数部が整列されない場合、問題が発生し得る。いくつかの実施形態において、大きい被演算子２１２と小さい被演算子２１４の基数点を整列するために、小さい被演算子２１４の基数点がシフトされる。開示した実施形態において、これは整列回路１５４によって実行される。このような実施形態において、整列回路１５４は、指数差計算回路１５２の出力によって制御される。
【００４１】
開示した実施形態において、浮動小数点加算器１００は、小さい被演算子２１４が大きい被演算子２１２の範囲を実質的に外れるか否かを検出する。例えば、ＯＲツリーなどの一連のＯＲゲートからなるスティッキービット生成回路１５６は、このような場合に非ゼロの小さい被演算子（ｎｏｎ−ｚｅｒｏ  ｓｍａｌｌｅｒ  ｏｐｅｒａｎｄ）が大きい被演算子２１２の範囲を外れることを示す少なくとも１つのスティッキービット（ｓｔｉｃｋｙ  ｂｉｔ）１１３を生産する。開示した実施形態において、スティッキービット１１３と他の付加的な制御ビット（例えば、ガードビット、ラウンドビットなど）は、被演算子２１２、２１４と関連する。一方、上述の説明は、例示的なものに過ぎず、本発明の技術的思想はこれに限定されない。
【００４２】
様々な実施形態において、被演算子２１２、２１４は、整数加算回路（ｉｎｔｅｇｅｒ  ａｄｄｉｔｉｏｎ  ｃｉｒｃｕｉｔ）２９６への入力である。開示した実施形態において、整数加算回路２９６は、一対の整数加算器１５８、１６０を含んでいる。一実施形態において、第１加算器１５８には、加算におけるオーバーフロー（ｏｖｅｒｆｌｏｗ）がなく、第２加算器１６０には、加算におけるオーバーフローがあると仮定する。又は減算において、１ビットシフトがあると仮定する。このような実施形態において、第２加算器１６０は、キャリ格納演算回路（ｃａｒｙ−ｓａｖｅ  ａｒｉｔｈｍｅｔｉｃ  ｃｉｒｃｕｉｔ）１６２（例えば、３：２圧縮器など）を用いる。様々な実施形態において、加算器１５８、１６０は、入力として様々なラウンディング定数（ｒｏｕｎｄｉｎｇ  ｃｏｎｓｔａｎｔｓ）１１６をさらに受信する。
【００４３】
上述のように、様々な実施形態において、これらの２つの整数加算器１５８、１６０は、演算を迅速かつ容易にするために、並列的に使用される。様々な実施形態において、整数加算選択器２６４は、加算器１５８、１６０の出力の間で選択動作のために使用される。
【００４４】
従来のシステムにおいても、整数加算回路２９６は整数加算選択器を含むが、該整数加算選択器は、オーバーフロー指示子（ｏｖｅｒｆｌｏｗ  ｉｎｄｉｃａｔｏｒ）と左シフト指示子（ｌｅｆｔ  ｓｈｉｆｔ  ｉｎｄｉｃａｔｏｒ）に依存する整数加算選択信号（ｉｎｔｅｇｅｒ  ａｄｄｉｔｉｏｎ  ｓｅｌｅｃｔｉｏｎ  ｓｉｇｎａｌ）によって制御される。
【００４５】
逆に、開示した実施形態において、浮動小数点加算器１００内の整数加算回路２９６に含まれる整数加算選択器２６４は、整数加算選択信号２１８によって制御される。このような実施形態において、整数加算選択信号２１８の値は、少なくとも一部においてオーバーフロー指示子及び左シフト指示子に基づく。しかし、整数加算選択信号２１８は、更に、２つの非正規演算子（例えば、２０２、２０４など）の加算が正規の結果（例えば、遠接経路結果２４２）を発生するか否かを示す指示に基づく。このような実施形態において、整数加算選択信号２１８は、遠接経路の非正規から正規への訂正回路（ｆａｒ  ｐａｔｈ  ｄｅｎｏｒｍａｌ−ｔｏ−ｎｏｒｍａｌ  ｃｏｒｒｅｃｔｉｏｎ  ｃｉｒｃｕｉｔ）に含まれる。
【００４６】
開示した実施形態において、正規数だけでなく、非正規被演算２０２、２０４が処理されるときに、２つの非正規数を加えて正規数を生成することが可能である。このような実施形態において、非正規数をバイアスする指数の障害（ｏｄｄｉｔｙ）は必ず再検討しなければならない。開示した実施形態において、整数加算選択器２６４の選択ロジック、即ち、整数加算選択信号２１８は、この障害の発生を処理するために変更される。このような実施形態において、整数加算選択信号２１８は、２つの非正規被演算子（例えば、２０２、２０４など）の加算が正規（ｎｏｒｍａｌ）の結果（例えば、２４２など）を齎すか否かを示す指標に依存する。このような実施形態において、非正規から正規への訂正ロジック（ｄｅｎｏｒｍａｌ−ｔｏ−ｎｏｒｍａｌ  ｃｏｒｒｅｃｔｉｏｎ  ｌｏｇｉｃ）は、整数加算回路２９６内の加算／ラウンド段階（ａｄｄ／ｒｏｕｎｄ  ｓｔａｇｅ）での１ビット左シフト訂正メカニズムによって共有される。
【００４７】
開示した実施形態において、遠接経路２９８は、上述のように、最終的に遠接経路結果２４２を生成する。様々な実施形態において、スワップマルチプレクサ１５０を含む遠接経路２９８の部分と、整数加算回路２９６を含む遠接経路２９８の部分とは、互いに異なるパイプライン段階（例えば、ＦＸ１、ＦＸ２など）に含まれる。一方、上述の説明は、例示的なものであり、本発明の技術的思想はこれに限定されない。
【００４８】
次に、同じく図１を参照して近接経路２９９の動作を説明する。様々な実施形態において、近接経路２９９は、２つの被演算子２０２、２０４の桁数に１桁以内の差がある場合にのみ、減算動作を処理する。いくつかの実施形態において、近接経路２９９は、“大量取り消し（ｍａｓｓｉｖｅ  ｃａｎｃｅｌｌａｔｉｏｎ）”として知られた現象に対処できるように構成される。即ち、２つの数値の減算の結果が十分に小さい場合、基数点をシフトして漸く適切にフォーマットされた正規数に到達して対処するか、又は、開示した実施形態におけるように、非正規数を生成して対処する。
【００４９】
開示した実施形態において、被演算子２０２、２０４は、近接経路２９９の入力である。被演算子２０２、２０４は、各々非正規数探知回路２５３の対象となる。一実施形態において、非正規数探知回路２５３は、上述の非正規数探知回路２５２と同じように、ＯＲツリーなどの一連のＯＲゲートを含む。一実施形態において、非正規数探知回路２５３は、各々の被演算子２０２、２０４がリーディング０を含んでいるか否かを探知する。様々な実施形態において、非正規数探知回路２５３は、非正規指標信号２１３ｃを生成する。様々な実施形態において、遠接経路２９８における非正規数探知回路２５２と近接経路２９９における非正規数探知回路２５３は、同一回路である。別の実施形態においては、２つの独立した回路及び出力信号が存在する。ただし、上述の説明は、例示的なものであり、本発明の技術的思想はこれに限定されない。
【００５０】
上述のように、加算動作の間に、被演算子２１０は、共通基数点（ｃｏｍｍｏｎ  ｒａｄｉｘ  ｐｏｉｎｔ）に整列されることが要求される。様々な実施形態において、近接経路２９９は、必要に応じて、小さい被演算子の基数点をシフトする整列回路（ａｌｉｇｎｍｅｎｔ  ｃｉｒｃｕｉｔ）１７１を含む。
【００５１】
様々な実施形態において、浮動小数点加算器１００の近経路２９９は、２つの被演算子２０２、２０４のどちらがより大きい被演算子であるか否かを判断する指数差計算回路１７２を含む。これは、サイズ差信号２３１を生成する。様々な実施形態において、近接信号のサイズ差計算回路１７２は、遠接経路サイズ差計算回路１５２に比較して小さい。例えば、近接信号サイズ差計算回路１７２は、２ビットであり、遠接経路サイズ差計算回路１５２は、１１ビットである。これは、近接経路２９９の場合、被演算子２０２、２０４の値は、互いに遠く離れていないと仮定できるからである。
【００５２】
再び、２つの演算子（例えば、プリスワップ信号２１０など）は、必要であれば、順序がが入れ替えられて、即ちスワップされて大きい被演算子２３２（又は、アンカ（ａｎｃｈｏｒ）被演算子）が加算器１７４、１７６のための入力のセットとして置かれる。これと類似な動作が小さい被演算子２３４に対しても実行される。このような動作は、スワップマルチプレクサ（ｓｗａｐ−ｍｕｌｔｉｐｌｅｘｅｒ）１７０によって実行される。従来の浮動小数点加算器の実施形態において、スワップマルチプレクサ１７０は、２つの被演算子２０２、２０４のどちらがより大きいかを示すサイズ差信号によって制御される。しかし、本願の一実施形態においても、浮動小数点加算器１００のスワップマルチプレクサ１７０は、信号２３１によって制御されるが、本願の実施形態においては、信号２３１は、追加的に、指示された小さい被演算子が非正規であるか否かにも依存する。
【００５３】
様々な実施形態において、近接経路２９９は、２つの整数加算器１７４、１７６を含む。一実施形態において、第１加算器１７４は、被演算子２３２から被演算子２３４の減算を行い、一方、第２加算器１７６は、被演算子２３４から被演算子２３２の減算を実行する。選択器又はマルチプレクサ１７８は、制御信号１３５に基づいて、両方の加算器１７４、１７６の出力のうちから正の結果を持つ方を選択して選択結果信号２３６を出力する。
【００５４】
様々な実施形態において、２つの浮動小数点数に対する減算が実行される時、“大量取り消し”として知られた効果が発生する。様々な実施形態において、２つの被演算子の指数が同じであるか、又はただ１つの桁数だけ差があるとき、２つの被演算子が表わす数値は非常に近いので、減算の結果は、仮数（ｓｉｇｎｉｆｉｃａｎｄ）又は小数（ｆｒａｃｔｉｏｎ）部分に１つ又はそれ以上のリーディング０を含み得る。このような実施形態において、基数点をシフトすることは、一般的に結果の正規化及び（もし数が正規数である場合に）リーディング１を期待される位置に戻すことである。
【００５５】
様々な実施形態において、近接経路２９９は、マルチプレクサ１７８の出力への選択結果信号２３６を正規化する。このような実施形態において、このような正規化は、該当数が適切な浮動小数点フォーマットを持つように選択結果信号２３６の基数点をシフトすることを含む。選択結果信号２３６が正規数である場合に、これは基数点をシフトして、小数部（ｆｒａｃｔｉｏｎ  ｐｏｒｔｉｏｎ）が１つのリーディング１を含むようになることを意味する。選択結果信号２３６が非正規数である場合に、これは、基数点を完全にシフトしても小数部にリーディング０が残るほど選択結果信号２３６が小さいので、指数部がもはや有効でないことを意味する。このような実施形態において、基数点をシフトする量は制限されるか、又は固定される。
【００５６】
開示した実施形態において、近接経路２９９は、基数点シフト回路（ｒａｄｉｘ  ｐｏｉｎｔ  ｓｈｉｆｔｉｎｇ  ｃｉｒｃｕｉｔ）２８６を含む。このような実施形態において、基数点シフト回路２８６は、近接経路の結果、即ち選択結果信号２３６の基数点をどれだけシフトするべきかを評価（ｅｓｔｉｍａｔｅ）した上で、これを実行する。開示した実施形態において、基数点シフト回路２８６は、伝統的なリーディングゼロ評価回路（ｌｅａｄｉｎｇ  ｚｅｒｏ  ｅｓｔｉｍａｔｏｒ  ｃｉｒｃｕｉｔ）を含み、選択結果信号２３６の基数点をどれだけシフトするかを評価する。開示した実施形態において、リーディングゼロ評価回路は、リーディングゼロ予測器（ｌｅａｄｉｎｇ  ｚｅｒｏ  ａｎｔｉｃｉｐａｔｏｒ）１８０、及び優先順位エンコーダ（ｐｒｉｏｒｉｔｙ  ｅｎｃｏｄｅｒ）１８１を含む。
【００５７】
様々な実施形態において、リーディングゼロ予測器１８０は、選択結果信号２３６が非ゼロリーディングビットを持つようにするために、基数点がどれだけのシフトを要するかを判断、即ち、評価、して出力ベクトル１３７とする。例えば、数字０．０００１を１．０ｘ２−４と表現するために、基数点は４回シフトされる必要がある。様々な実施形態において、優先順位エンコーダ１８１は、リーディングゼロ予測器１８０の出力ベクトル１３７を、後述するビットシフティングハードウェア（例えば、基数シフタ１７５と補償基数シフタ２７３など）がより簡単に処理できるように符号化された値１３８に変換する。このような実施形態において、優先順位エンコーダ１８１は、リーディングゼロ予測器の出力ベクトル１３７の最初の“１”の位置を探知する。
【００５８】
従来の浮動小数点加算器において、優先順位エンコーダ１８１の出力１３８は、以下で説明するように、通常の場合そのまま基数シフタ１７５の入力である。しかし、図１の実施形態において、非正規数は、最小の極限においては最小の可能な指数の場合にのみ存在し、その場合、仮数（ｓｉｇｎｉｆｉｃａｎｄ）を整数（例えば、“１”など）を含む位置までシフトすることは不可能である。これは、仮数を基数点にシフトするたびに、指数部を減少しなければならないからである。しかし、非正規数の指数部は非常に小さく、これ以上減少不可能な場合があり、従って、仮数（ｓｉｇｎｉｆｉｃａｎｄ）は、“＜１”を必ず維持する。これは、非正規数のリーディングビットが、正規数のリーディングビットが１であるのに比較して、０であるからである。開示した実施形態において、後述するように、論理及びハードウェアの構成要素（例えば、２８１、２８２、２８４など）からなるクランプ（固定）回路２８７は、クランプされたリーディングゼロ予測器の符号化された出力ベクトル２３８を生成し、システムが発生できる指数の減少が最大量に達したとき（例えば、０の指数値など）に、基数シフティングを固定、即ち、停止するために使用される。
【００５９】
開示した実施形態において、近接経路２９９は、２つの浮動小数点被演算子２０２、２０４のうちの少なくとも１つが非正規数を含む時に、選択結果信号２３６の基数シフティングを停止、即ち中止するクランプ（固定）回路（ｃｌａｍｐ  ｃｉｒｃｕｉｔ）２８７を含む。一実施形態において、固定回路２８７は、選択結果信号２３６が非正規数であるか否かを判断し、非正規数であれば、基数シフトの最大量を超過するに先立って、選択結果信号２３６の基数シフティングを停止、即ち中止する。
【００６０】
開示した実施形態において、固定回路２８７は、最大シフト評価器２８１、固定探知器２８２、シフト量選択器２８４を含む。
開示した実施形態において、固定回路２８７は、入力として被演算子２０２及び又は２０４のうちの大きい方の指数部２３７を受信する。この指数部２３７は、選択結果信号２３６の指数部が無効になる前に、基数点がシフトされる最大の回数（又は選択結果信号２３６の指数部が減少された回数）を決定するための最大シフト評価器（ｍａｘｉｍｕｍ  ｓｈｉｆｔ  ｅｖａｌｕａｔｏｒ）２８１によって評価される。
具体的には、指数部２３７は、指数部２３７が優先順位デコーダ１８１の提案する量（リーディングゼロ予測器の符号化された出力ベクトル１３８）だけ減少できるか否かを判断するために、優先順位デコーダ１８１の出力１３８と比較される。開示した実施形態において、この比較は固定探知器（ｃｌａｍｐ  ｄｅｔｅｃｔｏｒ）２８２によって実行される。開示した実施形態において、シフト量選択器２８４は、固定探知器２８２の出力に基づいて、最大シフト評価器２８１の出力と優先順位デコーダ１８１の出力１３８との間で選択し、選択した方を最終基数シフト信号２３８として出力する。  
【００６１】
開示した実施形態において、近接経路２９９は、上述のように、基数シフタ１７５を含んでいる。このような実施形態において、基数シフタ１７５は、クランプ（固定）回路２８７からの最終基数シフト信号２３８に基づいて、選択結果信号２３６の基数点をシフトする。
【００６２】
いくつかの実施形態において、リーディングゼロ予測器１８０は評価値（選択結果信号２３６が非ゼロリーディングビットを持つようにするために、基数点がどれだけのシフトを要するか、の評価）を生成するが、望ましいほど正確でない場合がある。上述のように稀に、リーディングゼロ予測器１８０の評価値は、１つの基数点だけオフ（ｏｆｆ）される、即ち、１桁だけずれる。このような事態に対処するため、近接経路２９９は、補償基数シフタ（ｃｏｍｐｅｎｓａｔｉｎｇ  ｒａｄｉｘ  ｓｈｉｆｔｅｒ）２７３を含む。従来の浮動小数点加算器では、補償基数シフタ２７３は、リーディングゼロ予測器１８０の精度（又はそれの欠陥）に基づく信号によって制御される。
【００６３】
しかし、図１に開示した実施形態において、浮動小数点加算器１００は、正規及び非正規被演算子２０２、２０４の全部を処理する。上述のように、様々な実施形態において、リーディングゼロ予測器は結果が最小の指数であるとき、非正規数を間違って評価する場合があり、その場合、前に説明したように、評価が１桁だけ、ずれる。本実施形態において、非正規数の指数に対してこのようなバイアスを齎す障害は、再検討を要する。
開示した実施形態において、補償基数シフタ２７３の制御ロジック及びその入力信号２３９は、この障害発生を処理するために調整される。このような実施形態において、正規から非正規への訂正メカニズムは、補償基数シフタ（リーディングゼロ予測器補正ロジック）２７３によって共有され、そして補償基数シフタ（リーディングゼロ予測器補正ロジック）２７３は、近接経路非正規から正規への訂正回路（ｃｌｏｓｅ  ｐａｔｈ  ｄｅｎｏｒｍａｌ−ｔｏ−ｎｏｒｍａｌ  ｃｏｒｒｅｃｔｉｏｎ  ｃｉｒｃｕｉｔ）と見なされる。開示した実施形態において、補償基数シフタ２７３の出力は、近接経路結果２４４である。
【００６４】
様々な実施形態において、基数点シフティング回路２８６は、リーディングゼロ予測器１８０と、優先順位エンコーダ１８１と、固定回路２８７とを含んでいる。別の実施形態において、基数点シフティング回路２８６は、基数シフタ１７５及び／又は補償基数シフタ２７３をさらに含む。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００６５】
開示した実施形態において、近接経路２９９は、上述のように、最後に近接経路結果２４４を生成する。様々な実施形態において、スワップマルチプレクサ１７０を含む近接経路２９９の部分と、少なくともいくつかの基数点シフト回路２８６を含む部分は、互いに異なるパイプライン段階（例えば、ＦＸ１、ＦＸ２など）に含まれる。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００６６】
開示した実施形態において、浮動小数点加算器１００は、遠接経路結果２４２と近接経路結果２４４との間で選択する最終結果選択回路（ｆｉｎａｌ  ｒｅｓｕｌｔ  ｓｅｌｅｃｔｏｒ  ｃｉｒｃｕｉｔ）２９７を含む。いくつかの実施形態において、選択の少なくとも一部は、２つの浮動小数点被演算子２０２、２０４の指数部の差が所定の閾値量に等しいか又は小さいことにに基づく。（例えば、指数部の差が１桁以内である）。
【００６７】
従来の浮動小数点加算器において、浮動小数点加算器は、被演算子の指数部の差が十分に小さいとき（１桁より小さいとき）、（遠接経路結果とは反対になる）近接経路結果を選択する正規結果選択器（マルチプレクサ）を含む。
【００６８】
逆に、開示した実施形態において、浮動小数点加算器１００は、真の減算（ｔｒｕｅ  ｓｕｂｔｒａｃｔｉｏｎ）が発生するとき、そして少なくとも一部の大量取り消しが発生するか、又は、被演算子２０２、２０４の指数部が全く同じ場合には、（遠接経路結果２４２とは反対になる）近接経路結果２４４を選択する結果選択器又（マルチプレクサ）２９０を含む。
本説明において、“真の減算”は、被演算子２０２、２０４の何れか一方のみが負（ｎｅｇａｔｉｖｅ）であるときをいう。一方、それ以外の場合は、本説明において、“真の加算（ｔｒｕｅ  ａｄｄｉｔｉｏｎ）”が発生する。このような選択は、信号２４１によって制御される。開示した実施形態において、結果選択器（マルチプレクサ）２６４は、浮動小数点演算結果２４８を出力する。
【００６９】
上述のように、様々な実施形態において、最終結果選択回路２９７は、浮動小数点演算結果２４８と特殊結果２４６との間で選択する最終結果選択器（ｕｌｔｉｍａｔｅｒ  ｅｓｕｌｔ  ｓｅｌｅｃｔｏｒ）１９２を含む。様々な実施形態において、特殊結果２４６は、従来の浮動小数点加算器の特殊な、又は非正規（ｎｏｎ−ｎｏｒｍａｌ）結果と類似しているが、本願のように非正規数が浮動小数点加算器１００によって処理されることを伴う場合には、特殊結果２４６は、非正規数の場合は含まない。開示した実施形態において、最終結果選択器１９２は、上述のように、最終結果１４９を出力する。
【００７０】
様々な実施形態において、最後結果選択回路２９７は、遠接経路回路２９８と近接経路回路２９９の場合（例えば、ＦＸ１、ＦＸ２など）とが、互いに異なる別々のパイプライン段階（例えば、ＦＸ３など）に含まれる。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００７１】
図２は、本発明の技術的思想の実施形態によるシステムの実施形態を示すブロック図である。具体的には、図２は、図１に示した浮動小数点加算器の遠接経路部分２９８の一実施形態を示す図である。開示した実施形態において、遠接経路２９８は、２つの６４ビットの被演算子であるＳｒｃＡ２０２とＳｒｃＢ２０４とを受信する。ただし、前記の例は、一実施形態に過ぎず、本発明の技術的思想はこれに限定されない。
【００７２】
上述のように、被演算子２０２、２０４は、６４ビット倍精度（ｄｏｕｂｌｅ  ｐｒｅｃｉｓｉｏｎ）浮動小数点数を含む。このような実施形態において、５１番から０番までの５２ビットは、数の仮数又は小数（ｍａｎｔｉｓｓａ、ｆｒａｃｔｉｏｎ、ｏｒ、ｓｉｇｎｉｆｉｃａｎｄ）部分である。ＩＥＥＥ＿７５４で、小数（ｆｒａｃｔｉｏｎ）部分は明示表現されない“ヒドンビット（ｈｉｄｄｅｎ  ｂｉｔ）”を含み、その値は、指数部の値から誘導され、小数部分を格納するために割り当てられたビットの数が一般的に許容する小数部分の精度を更に１ビット向上できる（例えば、５２ビットの小数部分は５３ビットの精度を持つ）。
【００７３】
このような実施形態において、６２番から５２番のビットは数の指数部である。上述のように、１１ビットの指数はバイアスされ、正の指数と負の指数として表現される。様々な実施形態において、指数バイアシングの結果、正規数の場合、ゼロ指数（ｚｅｒｏ  ｅｘｐｏｎｅｎｔ）が１０２３の値を持ち、全ての指数が、２１０２３と２−１０２２との間にある。最後に、６３番のビットは小数が正であるか、又は負であるかを示す符号ビット（ｓｉｇｎ  ｂｉｔ）である。上述のように、様々な実施形態において、指数部がゼロ（０）の場合は非正規数と見做し、一方、指数部が非ゼロ（１乃至２０４７）の場合は正規数と見做し、仮数又は小数のヒドンビットの値は各々、０、１を意味する。
【００７４】
開示した実施形態において、非正規数探知回路２５２は、被演算子２０２、２０４の指数部（５２番〜６２番ビット）を受信する。このような実施形態において、非正規数探知回路２５２は、指数部から（数字が正規又は非正規であるか否かを示す）ヒドンビット出力２１３（各々を、ＤｅｎｏｒｍＡ、ＤｅｎｏｒｍＢとする）を得る。非正規数は、指数部の値がゼロであるので、ヒドンビットは指数部が非ゼロ（ｎｏｎ−ｚｅｒｏ）であるか否かを判断する指数部ビットのＯＲ演算（ＯＲｉｎｇ）によって誘導される。非正規数探知回路２５２の各ヒドンビット出力２１３のインバース（論理ＮＯＴ）（各々を、〜ＤｅｎｏｒｍＡ、〜ＤｅｎｏｒｍＢとする）は、プリスワップ信号２１０を生成するために、各被演算子２０２、２０４の小数部分（５１番から０番ビット）と結び付け（ｃｏｎｃａｔｅｎａｔｅ）られる。従って、このような実施形態において、プリスワップ信号２１０は、仮数の全体精度（例えば、５３ビット）を含む。
【００７５】
上述のように、様々な実施形態において、次に、２つの制御信号２１１は、非正規数探知回路２５２の出力２１３であるＤｅｎｏｒｍＡ及びＤｅｎｏｒｍＢに基づき、（ＤｅｎｏｒｍＡ）＆（〜ＤｅｎｏｒｍＢ）、（〜ＤｅｎｏｒｍＡ）＆（ＤｅｎｏｒｍＢ）として算出される。このような実施形態において、各リーディングビット補償回路２５０は、もし、各被演算子の一方が非正規数で他方が正規数であれば、それらの各プリスワップ被演算子２１０をシフトする。
【００７６】
上述のように、指数差計算回路１５２は、被演算子２０２、２０４の全体（ｆｕｌｌ）指数ビット（６２番から５２番ビット）を受信する。これから、被演算子２０２が被演算子２０４より（桁数の観点から）大きいか、又は小さいかを示し、従って、被演算子２０２、２０４のどちらが大きい被演算子２１２になるか、又は小さい被演算子２１４になるかを示すサイズ差信号１１１が生成される。さらに、指数差計算回路１５２は、大きい被演算子（又はアンカ（ａｎｃｈｏｒ）被演算子）２１２と整列するために、小さい被演算子２１４の基数点をどの程度シフトする必要があるかを示す基数シフト量信号１１２を生成する。開示した実施形態において、基数シフト量信号１１２は、基数整列回路１５４によって使用される。
【００７７】
上述のように、２つの被演算子２１０は、スワップマルチプレクサ１５０を通過した後に、大きい被演算子２１２と小さい被演算子２１４に指定される。開示した実施形態において、被演算子２１２、２１４は、各々ガードビット（ｇｕａｒｄ  ｂｉｔ）（Ｇ）と丸めビット（ｒｏｕｎｄ  ｂｉｔ）（Ｒ）とを含む。様々な実施形態において、ガードビットは、丸めエラー（ｒｏｕｎｄｉｎｇ  ｅｒｒｏｒｓ）に対抗して“保護（ｇｕａｒｄ）”機能を果たす。同様に、丸めビットは丸め決定に影響を与える。様々な実施形態において、このような２つの、ガード及び丸めビットは、演算において２つ又はその以上のビットの精度を与える。また、スティッキービット生成回路１５６によって生成されるスティッキー（ｓｔｉｃｋｙ）ビットは、被演算子２１２、２１４の幅（ｗｉｄｔｈ）を各々５６ビットにする。
【００７８】
上述のように、開示した実施形態において、第１整数加算器１５８は、丸め動作を実行する６０ビット整数加算器を含む。このような実施形態において、第１整数加算器１５８は、加算動作の間に指数シフトが起こらないと仮定する。逆に、開示した実施形態において、第２整数加算器１６０は、オーバーフロー（ｏｖｅｒｆｌｏｗ）又は１ビット左側シフトを計算し、標準正規動作を実行する６０ビット整数加算器を含む。
【００７９】
開示した実施形態において、整数加算選択信号（選択ロジック）２１８は、３つの可能な場合（ａ）（ｂ）（ｃ）を考慮する。（ａ）もしオーバーフローが発生した場合、指数部は増加する。（ｂ）もし減算により、その結果が整数を含まない場合（例えば、１．０＋（−０．７５）＝０．２５など）、仮数（ｓｉｇｎｉｆｉｃａｎｄ）はシフトされ、指数部は、適切な正規数を形成するために調整される（例えば、例えば、０．２５は２．５ｘ１０−１になる）。そして開示した実施形態において、（ｃ）もし２つの非正規数の加算が正規数になれば、上述のように、正規数と非正規数との間で指数バイアシングが同一ではないので、加算結果の指数部は増加しなければならない。ただし、これは一実施形態に過ぎず、本発明の技術的思想はこれに限定されない。
【００８０】
図３は、本発明の技術的思想の実施形態によるシステムの一実施形態を示すブロック図である。具体的には、図３は、図１に示した浮動小数点加算器の近接経路部分２９９の一実施形態を示す。開示した実施形態において、近接経路２９９は、２つの６４ビットの被演算子であるＳｒｃＡ２０２及びＳｒｃＢ２０４を受信する。ただし、これは一実施形態に過ぎず、本発明の技術的思想はこれに限定されない。
【００８１】
再び、開示された実施形態において上述の遠接経路２９８の場合と同様に、非正規数探知回路２５３は、被演算子２０２、２０４の指数部を受信し、これから、被演算子が正規であるか、又は非正規であるかを判断する。また同様に、非正規数探知回路２５３の各ヒドンビット出力２１３のインバース（論理ＮＯＴ）は、以後プリスワップ信号２１０を生成するために、各被演算子２０２、２０４の小数部分（５１番から０番ビット）と結び付けられ、このような実施形態において、プリスワップ信号２１０は、仮数（ｓｉｇｎｉｆｉｃａｎｄ）の全体精度（例えば、５３ビット）を含む。
【００８２】
上述のように、開示した実施形態において、指数差計算回路１７２は、被演算子２０２、２０４の指数の２つの最小有効ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）（５３番と５２番ビット）を受信する。このような実施形態において、近接経路２９９においては、被演算子２０２、２０４が互いに１桁以内の数値であると仮定するので、指数差計算回路１７２は、２つの最小有効ビットを処理できればよい。
【００８３】
開示した実施形態において、２ビットの指数差計算回路１７２の処理時間（ｔｉｍｉｎｇ  ｒｅｑｕｉｒｅｍｅｎｔ）は、全体指数ビット（１１ビット）の非正規数探知回路２５３の処理時間より小さい。このような実施形態において、非正規数探知回路２５３は、従来の浮動小数点加算回路と比較して、近接経路の処理時間を増加させる。しかし、浮動小数点加算器１００の全体的な臨界（ｃｒｉｔｉｃａｌ）処理時間は遠接経路２９８により決定され、浮動小数点加算器１００の全体的な処理時間は、近接経路２９９における非正規数探知回路２５３の追加によって増加しない。ただし、これは一実施形態に過ぎず、本発明の技術的思想はこれに限定されない。
【００８４】
開示した実施形態において、サイズ差信号２３１は、被演算子２０２が被演算子２０４より大きいか否かを考慮するだけでなく、当該被演算子の一方が非正規であり、他方の被演算子が正規であるか否かを考慮するように変更される。このような実施形態において、正規数及び非正規数の間での指数バイアシングの差に対する訂正、又は補償（整列回路１７１を介して）が発生する。
【００８５】
開示した実施形態において、加算器１７４は、被演算子Ａ（２３２）から被演算子Ｂ（２３４）を引算する５５ビット加算器を含む。また、加算器１７６は、被演算子Ｂ（２３４）から被演算子Ａ（２３２）を引算する５５ビット加算器を含む。
【００８６】
開示した実施形態において、リーディングゼロ予測器１８０は、５４ビットの出力ベクトル１３７を出力する。このような実施形態において、優先順位エンコーダ１８１は、このような５４ビットベクトル１３７を６ビットの符号化された出力ベクトル１３８に変化する。様々な実施形態において、最大シフト評価器２８１と固定探知器２８２は入力として最大の被演算子２３７の指数部を受信する。
【００８７】
開示した実施形態において、マルチプレクサ２８４の出力２３８は、固定探知器２８２が非正規の固定機能を適用させたか否かに基づいて選択結果信号２３６のための新しい指数値を生成する。もし固定探知器２８２が、基数点シフティングの量が制限（固定）されていると判断した場合に、指数値は、優先順位エンコーダ１８１によって提示される量、即ち、リーディングゼロ予測器の符号化された出力ベクトル１３８が示す量だけ減少する。様々な実施形態において、これは、指数値をゼロにセッティングすることを含む。言い換えれば、指数値は、最大シフト評価器２８１によって提示された量だけ減少する。また、多様な実施形態において、正規数及び非正規数の間での指数バイアシングの差を調整するために指数の追加的な減少が発生する。
【００８８】
開示した実施形態において、補償基数シフタ２７３の制御ロジック及び入力信号２３９は、もしリーディングゼロ予測器評価が不正確で、且つ、選択結果信号２３６が正規数である場合に、基数点を調整する。もしリーディングゼロ予測器評価が不正確で、且つ、選択結果信号２３６が（非正規数である必要があるにもかかわらず）非正規数でない場合、指数を減少する。もしリーディングゼロ予測器評価が不正確で、且つ、選択結果信号２３６が（非正規数であってはならないにもかかわらず）、非正規数の場合に、指数を、正規と非正規の指数バイアシングの差を調整するために増加する。何れの場合も、開示した実施形態において、近接経路結果２４４が生成される。
【００８９】
図４は、本発明の技術的思想の実施形態によるシステムの一実施形態を示す図である。具体的には、図４は、図１に示した浮動小数点加算器の最終結果選択回路２９７の実施形態を示す図である。開示した実施形態において、最終結果選択回路２９７は、遠接経路結果２４２、近接経路結果２４４、及び特殊結果２４６の３つの結果を受信する。様々な実施形態において、特殊結果２４６は、複数の特殊結果（例えば、非正規数例外（ｅｘｃｅｐｔｉｏｎ）を含まない算術例外のためのものなど）を含む。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００９０】
上述のように、開示した実施形態において、結果選択器２９０は、信号２４１に基づいて遠接経路結果２４２と近接経路結果２４４との間で選択動作を実行する。開示した実施形態において、（ａ）真の減算が発生する場合であって、そして、（ｂ）大量の取り消しが発生するか、又は、被演算子２０２、２０４の指数の差がゼロである場合に、信号２４１は、近接経路結果２４４が選択されるようにする。ただし、これは例示的なものに過ぎず、本発明の技術的思想はこれに限定されない。
【００９１】
開示した実施形態において、システムは、１つ以上の特殊演算経路２９５を含む。各経路は、上述のように、１つ又はそれ以上の算術例外（ａｒｉｔｈｍｅｔｉｃ  ｅｘｃｅｐｔｉｏｎｓ）を演算、即ち、処理する。様々な実施形態において、特殊演算経路２９６は、１つ以上の特殊結果２４６を発生する。上述のように、最終結果選択器１９２は、浮動小数点演算結果２４８と特殊結果２４６との間で選択動作を実行する。様々な実施形態において、浮動小数点加算器は、特殊演算経路２９６を含まないか、又は最終結果選択器１９２を含まない。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００９２】
図５は、本発明の技術的思想の実施形態による技術３００の一実施形態を示すフローチャートである。様々な実施形態において、技術３００は、図１、図２、図３、及び／又は図４のようなシステムによって使用されるか、又は生成される。ただし、これは例示的なものであり、本発明の技術的思想はこれに限定されない。また、技術３００によって示された順序又はナンバリングは例示的なものであり、本発明の技術的思想はこれに限定されない。
【００９３】
ブロック３０２を参照すれば、一実施形態として、上述のように、第１浮動小数点被演算子と第２浮動小数点被演算子とを受信する。いくつかの実施形態において、第１及び第２浮動小数点被演算子（被演算値）は、上述のように、正規数、非正規数、又はこれらの組み合わせを含む。様々な実施形態において、このブロック３０２によって説明される１つ又はそれ以上の動作は、上述のように、図１、図２、図３、図４、又は図１、図２、図３、図４の被演算子（被演算値）２０２、２０４に対して実行される。
【００９４】
ブロック３０４を参照すれば、一実施形態として、上述のように、第１浮動小数点被演算子と第２浮動小数点被演算子の加算又は減算に基づいて遠接経路が計算される。様々な実施形態において、上述のように、遠接経路計算は、第１浮動小数点被演算子、第２浮動小数点被演算子、又は遠接経路結果の少なくとも何れか１つが非正規数を含むか否かとは無関係に実行される。様々な実施形態において、上述のように、もし第１浮動小数点被演算子と第２浮動小数点被演算子の両方が非正規数を含み、遠接経路結果が正規数を含まれば、遠接経路計算は遠接経路結果の指数部を調整することを含む。
いくつかの実施形態において、上述のように、もし、第１浮動小数点被演算子と第２浮動小数点被演算子の両方が非正規数を含み、且つ遠接経路結果が正規数を含むならば、遠接経路の計算は遠接経路結果の指数部を調整することを含む。様々な実施形態において、このブロック３０４によって説明される１つ又はそれ以上の動作は、前述したように、図１、図２、図３、図４、特に、図１、図２、又は図４の遠接経路回路２９８、更にその中でも、図１又は図２のリーディングビット補償回路２５０、及び図１又は図２の整数加算回路２９６によって実行される。
【００９５】
ブロック３０６を参照すれば、一実施形態として、前述したように、第１浮動小数点被演算子と第２浮動小数点被演算子の減算に基づいて、近接経路結果が計算される。一実施形態として、前述したように、第１浮動小数点被演算子、第２浮動小数点被演算子、又は近接経路結果のうちの少なくとも１つが非正規数を含んでいるか否かとは無関係に、計算が実行される。様々な実施形態として、前述したように、もし近接経路結果が非正規数を含んでいるなら、近接経路結果を計算することは、近接経路結果の基数シフティングを調整することを含む。いくつかの実施形態において、前述したように、もし浮動小数点被演算子が非正規数を含んでいるなら、近接経路結果を計算することは、浮動小数点被演算子の基数点シフティングを調整することを含む。様々な実施形態において、このブロック３０６によって説明される１つ又はそれ以上の動作は、前述したように、図１、図２、図３、図４、特に、図１、図３、又は図４の近接経路回路２９９、更にその中でも、図１又は図３の整列回路１７１、図１又は図３の基数点シフティング回路２８６、図１又は図３の補償基数シフタ２７３によって実行される。
【００９６】
ブロック３０８を参照すれば、一実施形態として、前述したように、もし近接経路結果が非正規数を含んでいるなら、近接経路結果を計算することは、近接経路結果の基数シフティングの量を制限することを含む。様々な実施形態において、前述したように、近接経路結果を計算することは、近接経路結果の基数点をシフトするための評価された量を評価することを含む。このような実施形態において、上述のように、近接経路結果を計算することは、近接経路結果が非正規数であるか否かを判断することを含む。このような実施形態において、前述したように、近接経路結果を評価することは、近接経路結果の基数シフティングの量を制限して基数シフトの最大量を超えないようにすることを含む。様々な実施形態において、このブロック３０８によって説明される１つ又はそれ以上の動作は、前述したように、図１、図２、図３、図４、特に、図１、図２、又は図４の近接経路回路２９９、更にその中でも図１又は図３の固定回路２８７、図１又は図３の基数点シフティング回路２８６、図１又は図３の補償基数シフタ２７３又は基数シフタ１７５によって実行される。
【００９７】
図６は、本発明の技術的思想によって実現された半導体装置を含む情報処理システム４００の一例を示すブロック図である。
【００９８】
図６を参照すれば、情報処理システム４００は、本発明の技術的思想によって実現された１つ又はそれ以上の装置を含む。別の実施形態において、情報処理システム４００は、本発明の技術的思想による１つ又はそれ以上の技術を使用するか、又は実施する。
【００９９】
様々な実施形態において、情報処理システム４００は、例えば、ラップトップ、デスクトップ、ワークステーション、サーバ、ブレード（ｂｌａｄｅ）サーバ、パーソナルデジタル機器、スマートフォン、タブレット、及び他の適切なコンピュータなどのようなコンピューティングシステム、又はそれの仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）又は仮想コンピューティング装置を含む。様々な実施形態において、情報処理システム４００は、ユーザ（図示せず）によって使用される。
【０１００】
本発明の技術的思想の実施形態による情報処理システム４００は、中央処理装置ＣＰＵ、ロジック、又はプロセッサ（以下、プロセッサという）４１０をさらに含む。いくつかの実施形態において、プロセッサ４１０は、１つ又はそれ以上の機能ユニットブロック（ｆｕｎｃｔｉｏｎａｌ  ｕｎｉｔ  ｂｌｏｃｋｓ、ＦＵＢｓ）又は組み合わせ論理ブロック（ｃｏｍｂｉｎａｔｉｏｎａｌ  ｌｏｇｉｃ  ｂｌｏｃｋｓ、ＣＬＢｓ）４１５を含む。このような実施形態において、組み合わせ論理ブロックは、様々なＢｏｏｌｅａｎ論理ブロック（例えば、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、ＸＯＲなど）、双安定論理ブロック（例えば、フリップフロップ、ラッチなど）、他の論理装置、又はそれの組み合わせを含む。このような組み合わせ論理動作は、所望する結果を得るために、入力信号を単純又は複雑な方法で処理する。ただし、同期式組み合わせ論理動作が要求されることで、上述の例で、例示的に説明したが、本発明の技術的思想はこれに限定されるものではなく、非同期式動作、又は、それらと共に混合して使用することも本発明の技術的思想を適用することができる。一実施形態として、組み合わせ論理動作は、複数のＣＭＯＳトランジスタを含む。様々な実施形態において、このようなＣＭＯＳトランジスタは、論理動作を実行するゲートとして編成配置される。一方、他の技術も本発明の技術的思想の範囲内で適用、応用、及び使用可能である。
【０１０１】
本発明の技術的思想による情報処理システム４００は、揮発性メモリ４２０（例えば、ＲＡＭ）をさらに含む。本発明の技術的思想による情報処理システム４００は、不揮発性メモリ４３０（例えば、ハードドライブ、光学メモリ、ＮＡＮＤ、フラッシュメモリなど）をさらに含む。いくつかの実施形態において、揮発性メモリ４２０、不揮発性メモリ４３０、又はこれらの組み合わせ、又はこれらの部分は、“記憶媒体”と称される。様々な実施形態において、揮発性メモリ４２０及び／又は不揮発性メモリ４３０は、半永久的又は実質的に永続的な形式でデータを格納する。
【０１０２】
様々な実施形態において、情報処理システム４００は、情報処理システム４００を、通信ネットワークの一部となし、該通信ネットワークを介する通信を可能にする１つ又はそれ以上のネットワークインターフェース４４０をさらに含む。ネットワークインターフェース４４０は様々なプロトコルに依拠して動作する。そのうち、Ｗｉ−Ｆｉプロトコルは、ＩＥＥＥ＿８０２．１１ｇ、ＩＥＥＥ＿８０２．１１ｎなどを含むが、これに限定されない。セルラー（ｃｅｌｌｕｌａｒ）プロトコルは、ＩＥＥＥ＿８０２．１６ｍ（別名、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ａｄｖａｎｃｅｄ）、Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）Ａｄｖａｎｃｅｄ）、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）、Ｅｖｏｌｖｅｄ  Ｈｉｇｈ−Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ（ＨＳＰＡ＋）などを含むが、これに限定されない。有線（ｗｉｒｅｄ）プロトコルは、ＩＥＥＥ＿８０２．３（別名、Ｅｔｈｅｒｎｅｔ（登録商標））、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ（例えば、ＨｏｍｅＰｌｕｇ、ＩＥＥＥ＿１９０１、など）を含むが、これに限定されない。一方、上述の説明は、例示的なものに過ぎず、本発明の技術的思想はこれに限定されない。
【０１０３】
本発明の技術的思想による情報処理システム４００は、ユーザインターフェースユニット４５０（例えば、ディスプレイアダプタ、ハプティック（ｈａｐｔｉｃ）インターフェース、ヒューマンインターフェ−ス装置など）をさらに含む。様々な実施形態において、このようなユーザインターフェースユニット４５０は、ユーザからの入力を受信し、及び／又は、ユーザに出力を提供する。他の種類の装置も、ユーザとの相互作用のために使用できる。例えば、ユーザから提供されるフィードバックは、ビジュアルフィードバック、音声フィードバック、肌触りフィードバックのような形態のセンサ型フィードバック（ｓｅｎｓｏｒｙ  ｆｅｅｄｂａｃｋ）であり得る。ユーザからの入力は、音響、言葉、又は触覚入力を含んで、様々な形態で受信可能である。
【０１０４】
様々な実施形態において、情報処理装置４００は、複数の他の装置又は他のハードウェアの構成要素４６０（例えば、ディスプレイ、モニタ、キーボード、マウス、カメラ、指紋リーダ、ビデオプロセッサなど）を含む。ただし、これは例示的なものに過ぎず、本発明の技術的思想はこれに限定されない。
【０１０５】
本発明の技術的思想による情報処理システム４００は、複数のシステムバス４０５をさらに含む。このような実施形態において、システムバス４０５は、プロセッサ４１０、揮発性メモリ４２０、不揮発性メモリ４３０、ネットワークインターフェース４４０、ユーザインターフェースユニット４５０、複数のハードウェア構成要素４６０と電気的に接続される。プロセッサ４１０によって処理されるデータ、又は不揮発性メモリ４３０の外部から入力されるデータは、不揮発性メモリ４３０又は揮発性メモリ４２０内に格納される。
【０１０６】
様々な実施形態において、情報処理システム４００は、１つ又は複数のソフトウェア構成要素４７０を含むか、又は実行する。いくつかの実施形態において、ソフトウェア構成要素４７０は、ＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）及び／又はアプリケーションを含む。いくつかの実施形態において、ＯＳはアプリケーションの１つ又は複数のサービスを提供し、アプリケーションと情報処理システム４００の様々なハードウェア構成要素（例えば、プロセッサ４１０、ネットワークインターフェース４４０など）の間に中間媒体として運営、即ち、動作する。このような実施形態において、情報処理システム４００は、１つ又は複数のネイティブ（ｎａｔｉｖｅ、固有の）アプリケーションをさらに含み、これは局所的に設置され（例えば、不揮発性メモリ４３０内などに設置）、プロセッサ４１０によって直接実行されるか、又はＯＳと直接連動する。このような実施形態において、ネイティブアプリケーションは、プリコンパイルマシン実行コード（ｐｒｅ−ｃｏｍｐｉｌｅｄ  ｍａｃｈｉｎｅ  ｅｘｅｃｕｔａｂｌｅ  ｃｏｄｅ）をさらに含む。いくつかの実施形態において、ネイティブアプリケーションは、ソース又はオブジェクト（ｏｂｊｅｃｔ）を実行可能なコードに変換するスクリプト翻訳器（ｓｃｒｉｐｔ  ｉｎｔｅｒｐｒｅｔｅｒ）（例えば、Ｃｓｈｅｌｌ（ｃｓｈ）、ＡｐｐｌｅＳｃｒｉｐｔ、ＡｕｔｏＨｏｔｋｅｙなど）又はビジュアル実行マシン（ＶＭ）（例えば、Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅなど）を含み、その後、プロセッサ４１０によって処理される。
【０１０７】
上述の半導体装置は、様々なパッケージング技術を使用してカプセル化（ｅｎｃａｐｓｕｌａｔｅ、封止）される。例えば、本発明の技術的思想による半導体装置は、ｐａｃｋａｇｅ  ｏｎ  ｐａｃｋａｇｅ（ＰＯＰ）技術、ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）技術、ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）技術、ｐｌａｓｔｉｃ  ｌｅａｄｅｄ  ｃｈｉｐ  ｃａｒｒｉｅｒ（ＰＬＣＣ）技術、ｐｌａｓｔｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ（ＰＤＩＰ）技術、ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ技術、ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ技術、ｃｈｉｐ  ｏｎ  ｂｏａｒｄ（ＣＯＢ）技術、ｃｅｒａｍｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）技術、ｐｌａｓｔｉｃ  ｍｅｔｒｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ（ＰＭＱＦＰ）技術、ｐｌａｓｔｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ（ＰＱＦＰ）技術、ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ（ＳＯＩＣ）技術、ｓｈｒｉｎｋ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ（ＳＳＯＰ）技術、ｔｈｉｎ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ（ＴＳＯＰ）技術、ｔｈｉｎ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ（ＴＱＦＰ）技術、ｓｙｓｔｅｍ  ｉｎ  ｐａｃｋａｇｅ（ＳＩＰ）技術、ｍｕｌｔｉ−ｃｈｉｐ  ｐａｃｋａｇｅ（ＭＣＰ）技術、ｗａｆｅｒ−ｌｅｖｅｌ  ｆａｂｒｉｃａｔｅｄ  ｐａｃｋａｇｅ（ＷＦＰ）技術、ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  ｓｔａｃｋ  ｐａｃｋａｇｅ（ＷＳＰ）技術、又はその他の、この分野の技術者によく知られている技術のうちの１つを使用してカプセル化される。
【０１０８】
入力データを運用して出力を生成する機能を実行するために、方法の段階がコンピュータプログラムを実行する１つ又は複数のプログラム可能なプロセッサによって実行される。方法の段階はまた、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のような特殊目的論理回路によって実行されるか、又は装置が該当特殊目的回路として実行される。
【０１０９】
様々な実施形態において、コンピュータ読み出し可能媒体は、実行動作時に装置にとって、前記方法の段階の少なくとも１つの部分を実行するようにする命令語（ｉｎｓｔｒｕｃｔｉｏｎｓ）を含む。いくつかの実施形態において、コンピュータ読み出し可能媒体は、磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉｕｍ）、光学媒体、他の媒体、又はそれらの組み合わせ（例えば、ＣＤ−ＲＯＭ、ハードドライブ、ｒｅａｄ−ｏｎｌｙメモリ、フラッシュドライブなど）に含まれる。このような実施形態において、コンピュータ読み出し可能媒体は、有形且つ持続的な物品として具現される。
【０１１０】
一方、上述の説明は、例示的なものであり、本発明の技術的思想はこれに限定されないことを理解することができる。本発明の技術的思想は、様々に適用及び応用可能であり、本発明の技術的思想が適用された様々な適用例及び応用例の全ては本発明の技術的思想の範疇内に属する。
【符号の説明】
【０１１１】
１００      浮動小数点加算器（又は、浮動小数点加算システム、浮動小数点加算ユニット、浮動小数点加算回路）
１１１、２３１      サイズ差信号
１１２      基数シフト量信号
１１６      ラウンディング定数
１３５      制御信号
１３７      リーディングゼロ予測器の出力ベクトル
１３８      リーディングゼロ予測器の符号化された出力ベクトル
１４９      最終結果
１５０、１７０      スワップマルチプレクサ
１５２、１７２      指数差計算回路
１５４      基数整列回路
１５６      スティッキービット生成回路
１５８、１６０      第１、第２整数加算器
１６２      キャリ格納演算回路
１７１      整列回路
１７４、１７６      第１、第２加算器
１７５      基数シフタ
１７８      選択器（マルチプレクサ）
１８０      リーディングゼロ予測器
１８１      優先順位エンコーダ
１９２      最終結果選択器（マルチプレクサ）
２０２、２０４      浮動小数点被演算子（又は、浮動小数点被演算値）
２１０      プリスワップ信号
２１１      制御信号
２１２      大きい被演算子、アンカ被演算子
２１３、２１３ｃ      非正規指標信号
２１４      小さい被演算子
２１８      整数加算選択信号（選択ロジック）
２３６      選択結果信号
２３７      指数部
２３８      最終基数シフト信号
２３９      補償基数シフタの入力信号
２４１      信号
２４２      遠接経路結果
２４４      近接経路結果
２４６      特殊結果
２４８      演算結果、正規結果、（非特殊な）最終結果
２５０      リーディングビット補償回路
２５２、２５３      非正規数探知回路
２６４      整数加算選択器（マルチプレクサ）
２７３      補償基数シフタ（リーディングゼロ予測器訂正ロジック）
２８１      最大シフト評価器
２８２      固定探知器
２８４      シフト量選択器
２８６      基数点シフティング回路
２８７      クランプ（固定）回路
２９０      結果選択器（マルチプレクサ）
２９５      特殊演算経路
２９６      整数加算回路
２９７      最終結果選択回路
２９８      遠接経路
２９９      近接経路
３００      技術
４００      情報処理システム
４０５      システムバス
４１０      プロセッサ
４１５      機能ユニットブロック、又は組み合わせ論理ブロック
４２０      揮発性メモリ
４３０      不揮発性メモリ
４４０      ネットワークインターフェース
４５０      ユーザインターフェース（ユニット）
４６０      他のハードウェア構成要素
４７０      ソフトウェア構成要素
【図１】
2015103245.tif 000003
【図２】
2015103245.tif 000004
【図３】
2015103245.tif 000005
【図４】
2015103245.tif 000006
【図５】
2015103245.tif 000007
【図６】
2015103245.tif 000008