(57)【特許請求の範囲】
【請求項１】
浮動小数点複素数乗加算のデジタル計算のための方法であって、
入力加数、第１積および第２積を受信する受信ステップであり、前記入力加数、前記第１積および前記第２積はそれぞれ仮数および指数を備える、受信ステップと、
前記入力加数、前記第１積および前記第２積の最大指数を備える１つ、の仮数と一緒に位置を合わせるために、前記入力加数、前記第１積および前記第２積のより小さい指数を備える２つ、の仮数をシフトするシフトステップと、
前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算する加算ステップと、を備える
方法。
【請求項２】
請求項１に記載の方法であって、前記入力加数は、第１入力の実部であり、前記第１積は、第２入力の実部と第３入力の実部を乗算した積であり、前記第２積は、前記第２入力の虚部と前記第３入力の虚部を乗算した積である、
方法。
【請求項３】
請求項１に記載の方法であって、前記入力加数は、第１入力の虚部であり、前記第１積は、第２入力の実部と第３入力の虚部の乗算された積であり、そして、前記第２積は、前記第２入力の虚部と前記第３入力の実部の乗算された積である、
方法。
【請求項４】
請求項１に記載の方法であって、前記の、前記入力加数、前記第１積および前記第２積の最大指数を備える前記１つ、の仮数と一緒に位置を合わせるために、前記入力加数、前記第１積および前記第２積のより小さい指数を備える前記２つ、の仮数をシフトするシフトステップは、最大指数を備える前記１つの前記仮数と一緒に位置を合わせるために前記より小さい指数を備える前記２つの前記仮数を右にシフトするシフトステップであり、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、前記の位置合わせされた第２積は、同じ指数を備える、シフトステップを含む、
方法。
【請求項５】
請求項１に記載の方法であって、
もし、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、および前記の位置合わせされた第２積の仮数のビット幅が、精度要求に従ったビット幅を超えるならば、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、および前記の位置合わせされた第２積の１以上のビットを切り捨てる切り捨てステップをさらに備える
方法。
【請求項６】
請求項１に記載の方法であって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算する加算ステップは、桁上げ保存加算器および全加算器によって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算する加算ステップを含む、
方法。
【請求項７】
請求項１に記載の方法であって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算する加算ステップは、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を２つの径路において加算する加算ステップであり、符号生成および絶対値選択処理によって生成される制御信号に従って２つの径路の１つの径路が選択される、加算ステップを含む、
方法。
【請求項８】
浮動小数点複素数乗加算のデジタル計算を実行するための装置であって、
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサは、
入力加数、第１積および第２積を受信し、前記入力加数、前記第１積、および前記第２積はそれぞれ仮数および指数を備え、
前記入力加数、前記第１積および前記第２積の最大指数を備える１つ、の仮数と一緒に位置を合わせるために、前記入力加数、前記第１積および前記第２積のより小さい指数を備える２つ、の仮数をシフトし、
前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算するように構成された、
装置。
【請求項９】
請求項８に記載の装置であって、前記入力加数は、第１入力の実部であり、前記第１積は、第２入力の実部と第３入力の実部の乗算された積であり、そして、前記第２積は、前記第２入力の虚部と前記第３入力の虚部の乗算された積である、
装置。
【請求項１０】
請求項８に記載の装置であって、前記入力加数は、第１入力の虚部であり、前記第１積は、第２入力の実部と第３入力の虚部の乗算された積であり、そして、前記第２積は、前記第２入力の虚部と前記第３入力の実部の乗算された積である、
装置。
【請求項１１】
請求項８に記載の装置であって、前記入力加数、前記第１積および前記第２積の最大指数を備える前記１つ、の仮数と一緒に位置を合わせるために、前記入力加数、前記第１積および前記第２積のより小さい指数を備える前記２つ、の仮数をシフトするように構成されたプロセッサは、
最大指数を備える前記１つの前記仮数と一緒に位置を合わせるために前記より小さい指数を備える前記２つの前記仮数を右にシフトし、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、前記の位置合わせされた第２積は、同じ指数を備えるように構成された、
装置。
【請求項１２】
請求項８に記載の装置であって、前記プロセッサはさらに、
もし、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、および前記の位置合わせされた第２積の仮数のビット幅が、精度要求に従ったビット幅を超えるならば、前記の位置合わせされた入力加数、前記の位置合わせされた第１積、および前記の位置合わせされた第２積の１以上のビットを切り捨てるように構成された、
装置。
【請求項１３】
請求項８に記載の装置であって、前記プロセッサはさらに、
前記入力加数、前記第１積、および前記第２積を、それらの符号に従って、２の補数フォーマットに変換するように構成された、
装置。
【請求項１４】
請求項８に記載の装置であって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算するように構成された前記プロセッサは、
桁上げ保存加算器および全加算器によって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算するようにさらに構成された、
装置。
【請求項１５】
請求項８に記載の装置であって、前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を加算するように構成された前記プロセッサは、
前記の位置合わせされた入力加数、前記の位置合わせされた第１積および前記の位置合わせされた第２積を２つの径路において加算し、符号生成および絶対値選択処理によって生成される制御ｓ信号に従って２つの径路の１つの径路が選択されるように構成された、
装置。
【請求項１６】
請求項１乃至７のいずれか１項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１２年４月２０日に出願された「デジタルシグナルプロセッサにおける信号処理のためのシステムおよび方法」と題する米国非仮出願番号１３／４５２，６９０号の優先権を主張するとともに、該米国非仮出願は、参照により本明細書に取り込まれる。
【０００２】
本特許出願は、一般にデジタル計算のためのシステムおよび方法に関する、そしてより具体的に、デジタルシグナルプロセッサまたはハードウェアアクセラレータ等のシステムにおける浮動小数点複素数乗加算ユニットの構築のためのシステムおよび方法に関する。
【背景技術】
【０００３】
加算器および乗算器は、マイクロプロセッサ、デジタルシグナルプロセッサ（「ＤＳＰ」）、算術論理演算ユニット（「ＡＬＵ」）、ハードウェアアクセラレータ（「ＨＡＣ」）、等のデジタルプロセッサにおける基本的なデジタル数値演算を実行する論理要素である。これらデバイスの全体的な性能は、一般に、これらデバイスを構成する論理要素のスピードおよびエネルギー効率に依存する。加算器、乗算器、および他の論理要素は、一般に、浮動小数点演算を実行することが要求され、そのことは本質的にその複雑さを高める。マイクロプロセッサ、ＤＳＰ等のコストは、それらを構成する論理要素を実装するために要求されるシリコン領域に実質的に比例する。こうして、加算器、乗算器等の設計は、最終製品のための競争力のある設計を提供する上で考慮すべき重要なことであり、実装のために要求されるシリコン領域における効率および削減におけるいかなる改善は、市場で受け入れられるかどうかについて大きな影響を持ち得る。
【０００４】
不要なコストを招くことなく、性能を改善し、ＡＬＵ、ＨＡＣ等を実装するために要求されるシリコン領域を削減する能力は、重要な市場のニーズに応え得る。
【発明の概要】
【０００５】
第１複素数被乗数、第２複素数被乗数、および複素数加数から、浮動小数点複素数乗加算処理によって生成される実部と虚部を計算するシステムおよび方法を提供する本発明の実施形態によって技術的メリットが一般に達成される。
【０００６】
一例示的実施形態に従って、浮動小数点複素数乗加算のデジタル計算のための方法および関連装置が提供される。該方法は、入力加数、第１積、および第２積を受信するステップを含む。該入力加数、第１積、および第２積は、それぞれ仮数および指数を備える。該方法は、該入力加数、第１積、および第２積の最大指数を伴う１つ、の仮数と一緒に位置を合わせるために、該入力加数、第１積、および第２積のより小さい指数を伴う２つ、の仮数をシフトさせるシフトステップと、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算する加算ステップと、を含む。
【図面の簡単な説明】
【０００７】
本発明および本発明のメリットのより完全な理解のために、添付の図面と併せて、以下の説明が参照される。
【図１】一実施形態に従った、加算された項の仮数の位置合わせと切り捨てのグラフ表示を示す。
【図２】一実施形態に従った、加算された項の仮数の位置合わせと切り捨てのグラフ表示を示す。
【図３】一実施形態に従った、複素数Ａ＝Ｂ＋Ｃ×Ｄの虚部を計算するように構成された複素浮動小数点乗加算ユニットのブロック図を示す。
【図４】一実施形態に従った、複素数Ａ＝Ｂ＋Ｃ×Ｄの実部を計算するように構成された複素浮動小数点乗加算ユニットのブロック図を示す。
【図５】一実施形態に従った、本明細書において議論される処理の１つ以上を実行するために使用され得る処理システムの要素のブロック図を示す。
【図６ａ】一実施形態に従った、通信システムのベースバンドシグナリング処理のブロック図を示す。
【図６ｂ】一実施形態に従った、通信システムのベースバンドシグナリング処理のブロック図を示す。
【発明を実施するための形態】
【０００８】
現在好適の実施形態の作成と使用が以下詳細に議論される。しかし、本発明は、特定の文脈の幅広いバリエーションにおいて実施され得る多くの適用可能な発明のコンセプトを提供するということが理解されるべきである。議論される特定の実施形態は、本発明を作成し使用するための特定の方法の単なる例示であり、本発明の範囲を制限するものではない。
【０００９】
浮動小数点（「ＦＬＰ」）複素数乗加算（「ＣＭＡＤ」）演算を実行するデバイスは、図形処理システム、レーダシステムおよび通信システム等のデジタルシステムの信号処理において最も頻繁に使用される演算の１つを実行する。ＣＭＡＤ演算の高速化およびエネルギー効率の改善は、ＤＳＰまたは他のデジタルデバイスの性能を著しく改善することができる。
【００１０】
複素数についての算術演算はもっとさらなる挑戦を提起する。そのような複素数演算は一般に、各項の実部と虚部について別々に実行される。その実装のために著しい量のシリコン領域を消費し、その実行のために著しい量の時間を必要とする相当量の処理が実行されなければならない。
【００１１】
本明細書において紹介されているように、デジタル処理の一実施形態は、ＤＳＰ、ハードウェアアクセラレータ等における浮動小数点複素数乗加算処理のための高速アルゴリズムを実装する。
【００１２】
一実施形態において、複素数に関する算術演算を実行するために要求される遅延およびエネルギーが削減される。浮動小数点複素数乗加算を効率的に実行できるＤＳＰまたは他の算術デバイスを生み出すために、入力データの特性および中間計算結果が利用される。
【００１３】
浮動小数点複素数乗加算ユニットは、下記方程式を実行する。
Ａ＝Ｂ＋Ｃ×Ｄ
ここで、項Ａ、Ｂ、ＣおよびＤは、浮動小数点複素数であり、その各成分は一般に、符号ビット、指数ビット、および仮数ビットを用いたデジタル浮動小数点フォーマットにおいて表現される。項Ａは、複素数浮動小数点乗加算結果である。複素数の一インスタンスとして、実数もまた、本発明の実施形態において議論される複素数演算に従って処理することができることに留意すべきである。
【００１４】
本発明の一実施形態に従って、標準的な浮動小数点乗算演算に続く標準的な浮動小数点加算演算を用いた浮動小数点ＣＭＡＤ演算を実装する必要はない。通信システムを例とすると、ロングタームエボリューション（「ＬＴＥ」）、ユニバーサルモバイル通信システム（「ＵＭＴＳ」）、およびモバイル通信のためのグローバルシステム（「ＧＳＭ（登録商標）」）セルラ仕様書等の下で動作するように設計された通信システムにおいて採用されるベースバンドアプリケーションの精度要求を満足するように、ＣＭＡＤ計算は単純化できる。複素数乗算および加算を組合せて１つの処理にすることにより、シグナルプロセッサにおけるより少ない処理遅延およびより高い電力効率のために、ロジック回路を最適化する重要な機会が許可される。例えば、ロジックから冗長性を削除でき、計算ステップを併合でき、桁上げ保存加算器が使用できる。
【００１５】
上述の浮動小数点複素数乗加算を実数成分と虚数成分に分解することにより下記２つの方程式が生成される。
Ａ．実部＝Ｂ．実部＋Ｃ．実部×Ｄ．実部−Ｃ．虚部×Ｄ．虚部
Ａ．虚部＝Ｂ．虚部＋Ｃ．実部×Ｄ．虚部＋Ｃ．虚部×Ｄ．実部
各方程式は一実施形態において実数算術を実行するデジタルロジックを用いて実装できる。Ａ．実部のための方程式の結果は、１実数と、２実数の積を引き算した２実数の積との和である。Ａ．虚部のための方程式の結果は、１実数と、２実数の積と、さらなる２実数の積との和である。各方程式は、実加数と、実積数および実積数の加算または減算の合計とを含む。入力加数および２つの実積数の中でより小さい指数を持つ２つ、の仮数は、最大の指数を持つ第３の数の仮数と位置を合わせるためにシフトされる。３つの仮数の合計は、桁上げ保存加算器とそれに続く２入力全加算器を用いて計算される。
【００１６】
２つの積と入力加数の仮数は、その指数に従って位置を合わせられ、その仮数に従って、もし不要な精度の下位ビットがあるならばそのビットを捨てるために切り捨てられる。つぎに、２つの切り捨てられた積は、切り捨てられた入力加数に加算され、および／または、切り捨てられた入力加数から減算される。
【００１７】
加算器のビット幅は、アプリケーションの精度要求に従って決定される。加算器のビット幅を若干増加することにより、切り捨てによって生じる精度損失は部分的に補償できる。処理回路および処理時間を節約するために、仮数の２つの積の正規化は（加算器のビット幅にもう１ビット加えることにより）避けることができる。ソフトウェアパイプラインの開始間隔を減らすために、ＣＭＡＤの加数の使用は、後のパイプライン段階に延期させることができる。
【００１８】
図１および２を参照すると、一実施形態に従った、合計されるべき３項の３つの例示の仮数１０１、１０２および１０３の位置合わせおよび切り捨てのグラフ表示が示されている。具体的には、図１は、位置合わせ前の３つの例示の仮数１０１、１０２および１０３を示し、図２は、位置合わせ後の３つの例示の仮数１０１、１０２および１０３を示す。
【００１９】
図１および２において示された切り捨ての例において、浮動小数点入力２進実数は、１個の符号ビット、５個の指数ビット、および１０個の仮数ビットとして表される。入力仮数は隠れた「１」のビットによって先行されると想定される。それに応じて、各仮数は形式「１．ｘｘｘｘｘｘｘｘｘｘ」の１１ビット、すなわち、隠れたビット「１」に基数点の後の１０個の仮数ビットが続く、と想定される。こうして、各入力仮数は、範囲１≦仮数＜２に正規化される。１１ビットの仮数の単純な乗算は、普通、多くのアプリケーションにとって下位ビットに不要な精度を含む２２ビットまでの仮数の積を生成するであろう。
【００２０】
図１および２において示された表記は、Ａ．実部およびＡ．虚部のための上記実数および虚数方程式の表記にさらなるパラメータが続き、その中で、
Ｍｂｉは、Ｂ．虚部の仮数であり、
Ｍｒｉは、Ｃ．実部およびＤ．虚部の仮数積であり、
Ｍｉｒは、Ｃ．虚部およびＤ．実部の仮数積である。
図１および２の例において、（Ｃ．実部×Ｄ．虚部）が最大の指数を持つことが想定されている。そして、位置合わせのためのＭｂｉおよびＭｉｒのそれぞれのシフト距離は、
ΔＥｒｉｂ＝ｅｘｐ（Ｃ．実部）＋ｅｘｐ（Ｄ．虚部）−ｅｘｐ（Ｂ．実部）、および
ΔＥｒｉｉｒ＝ｅｘｐ（Ｃ．実部）＋ｅｘｐ（Ｄ．虚部）−（ｅｘｐ（Ｃ．虚部）＋ｅｘｐ（Ｄ．実部））
である。処理の目的は、合計される項のすべての指数を最大の指数に等しく設定することである。その結果、基数点１１０は、指数の位置合わせ後の各成分に対して同一になる。
【００２１】
基数点の位置合わせ後の３個の仮数１０１、１０２および１０３は、図１および２においてビット「１」によって識別される先頭の１個の符号ビット、それに続く、ビット「２」および「３」によって識別される、３項の加算によって生成される可能性のある桁上げを収容するための２個のビット、それに続く、積の整数部を収容するためのさらなる２ビット「４」および「５」によって表される。先頭の５ビットには、必要な精度を保つための１４個の少数ビットが続く。切り捨てビット１２０は、最終アプリケーションの要求を調べることによって決定され得る不必要なレベルの精度を表すので、無視される。
【００２２】
本例において、１９ビットの仮数を生成するために、最大の指数を持つ項から６ビットが切り捨てられる。２個の１９ビットの仮数を生成するために、仮数１０２、１０３からのビットの切り捨てが対応してなされる。本例においては、１９ビット加算器を用いて、３個の切り捨てられた結果の仮数を加算することができる。
【００２３】
本発明の一実施形態に従った、仮数１０２を仮数１０１に位置合わせするための図１を最初に参照すると、仮数１０２（位置合わせ後の）のビット「４」は、１２ビットの仮数を生成するために「０」を用いて埋められ、その結果得られる１２ビット仮数１０２は、ビット距離ΔＥｒｉｂだけ右にシフトされ、その結果、仮数１０２の全体のビット長は、位置合わせ後に（ΔＥｒｉｂ＋１２）になり、それは、ΔＥｒｉｂ＋Ｍｂｉのもともとの１１ビット＋ビット「４」において加えられた「０」の１ビット、である。仮数１０１は、精度要求に従って望まれたように１６ビットに切り捨てられ、仮数１０２は、対応するように切り捨てられ、仮数１０２の切り捨てられた部分は（ΔＥｒｉｂ＋１２−１６）すなわち（ΔＥｒｉｂ−４）となる。
【００２４】
転じて図３および４を参照すると、一実施形態に従った、複素数浮動小数点乗加算ユニットを採用したＡ＝Ｂ＋Ｃ×Ｄの虚部Ａ．虚部と実部Ａ．実部の計算のための論理２進処理の配置および相互接続をそれぞれ示すブロック図が示されている。入力Ｃ．ｒ．ｓ、Ｃ．ｉ．ｓ、Ｄ．ｒ．ｓ、Ｄ．ｉ．ｓ、Ｂ．ｒ．ｓ、およびＢ．ｉ．ｓは、それぞれ、項およびファクタＣ、Ｄ、およびＢの実部および虚部の符号ビットを表す。入力Ｃ．ｒ．ｅ、Ｃ．ｉ．ｅ、Ｄ．ｒ．ｅ、Ｄ．ｉ．ｅ、Ｂ．ｒ．ｅ、およびＢ．ｉ．ｅは、それぞれ、項およびファクタＣ、Ｄ、およびＢの実部および虚部の指数ビットを表す。入力Ｃ．ｒ．ｍ、Ｃ．ｉ．ｍ、Ｄ．ｒ．ｍ、Ｄ．ｉ．ｍ、Ｂ．ｒ．ｍ、およびＢ．ｉ．ｍは、それぞれ、項およびファクタＣ、Ｄ、およびＢの実部および虚部の仮数ビットを表す。仮数入力は、２＋２０ビットの積３０７、３０８を生成する乗算器３０５および３０６に結合されている。乗算器３０５および３０６によって生成された積３０７、３０８は、正規化されていない、すなわち、乗算によって生成された基数点の位置は、いくらかの処理回路および時間を節約するために、積の基数点の正規化をすることなく、保持されている。入力の指数ビットは加算器３１０および３１１に結合されており、その出力および入力Ｂ．ｉ．ｅの指数ビットは、基数の位置合わせのために必要なシフトを決定する指数最大および差ブロック３１５に結合されている。指数最大および差ブロック３１５の出力は、基数の位置合わせを達成するために入力データをシフトするシフトレジスタ３２０、３２１、および３２２と結合されている。指数最大および差ブロック３１５によって実行される位置合わせは、シフトレジスタ３２０、３２１、および３２２と連携して、図１を参照して上述された処理に従って動作する。
【００２５】
シフトレジスタの出力は、シフトされた２＋２０ビットの積、およびシフトされた加数の仮数の２の補数表現を形成し、２の補数算術を使用した計算を実行するために使用されるビット反転器を含む２つの径路３３０、３３１に結合されている。一実施形態において、２の補数算術を利用する必要はない。２つの径路３３０、３３１が提供されているのは、結果となる加算の符号がまだわからないからである。和の絶対値の計算は、経路３３０、３３１における和と並行して負の和を計算することにより進められる。ビット反転器はビット反転器制御ブロック３３５によって制御され、その入力は、排他的ＯＲされた符号ビットＣ．ｒ．ｓ＾Ｄ．ｉ．ｓおよびＣ．ｉ．ｓ＾Ｄ．ｒ．ｓ、および加数Ｂの実数成分の符号ビットＢ．ｒ．ｓである。左径路３３０は、加算の正の結果を想定し、右径路３３１は、負の結果を想定する。各それぞれの径路における加算は、桁上げ保存加算器３４０、３４１を用いて実行され、続いて、２つの加数に合併するブロック３４５、３４６によって、調整ビット（２の補数計算のための）が桁上げ保存加算器３４０、３４１の２つの出力と合わされ、さらに、桁上げ先読み加算器（キャリールックアヘッドアダー（carry-look-ahead  adder））３６０、３６１が続く。調整ビットは、ＣＭＡＤ演算の入力項の符号ビットに基づいて（２の補数計算の一部として）調整ビットを生成するブロック３４３から来る。左径路３３０または右径路３３１における結果の選択は、符号生成および絶対値選択ブロック３５０によって制御されるマルチプレクサー３８０および３８１によって行われる。
【００２６】
２つの仮数の積と入力加数をすべて一緒に位置合わせし、そして合計を計算することの目的は、桁上げ先読み加算器（３６０、３６１）（またはリップルキャリーアダー）が後に続く桁上げ保存加算器（３４０、３４１）が、計算遅延を減らすために使用できるようにするためである。さもなければ、２つの桁上げ先読み加算器（または２つのリップルキャリーアダー）がシリアルに使用され、より長い遅延を持つであろう。
【００２７】
加算器幅にもう１ビット加えることにより、いくらかの処理回路および時間を節約するために、仮数積の正規化が回避される。
【００２８】
最終結果の正規化のために、先行ゼロ予測処理３７０、３７１が、処理遅延を減らすために採用される。先行ゼロ予測は、先頭の「１」の前の先行ゼロの数が、桁上げ先読み加算器において行われる加算と並行して計算されることを許す。先頭の「１」のビットの予測処理は、鈴木等によるＩＥＥＥジャーナルオブソリッドステート回路ボリューム３１、Ｎｏ．８、１９９６年８月の「高速浮動小数点加算のための先行ゼロ予測ロジック」と題する論文において説明されており、その内容は参照により本明細書に組み込まれる。
【００２９】
符号生成および絶対値選択ブロック３５０の入力は、図３の左部分において示されているように、排他的ＯＲされた符号ビットＣ．ｒ．ｓ＾Ｄ．ｉ．ｓおよびＣ．ｉ．ｓ＾Ｄ．ｒ．ｓ、および加数Ｂの実数成分の符号ビットＢ．ｉ．ｓ、および３６０の出力の符号ビットである。選択されたマルチプレクサ３８０または３８１の出力は、正規化ブロック３９０において、先頭の１が基数点の左側に位置するように、左または右にシフトすることにより正規化され、最終ＣＭＡＤ結果の正規化された仮数（本例においては、基数点の右側に１０ビット）を形成する。そして、ブロック３１５からの指数が、ブロック３９０において、シフトの方向および距離に従って調整される。ブロック３５０からの符号ビット、正規化された仮数、および調整された指数は、合わされて、浮動小数点フォーマットにおける最終結果となり、それは、図３の一番下において、「Ａ．ｉ」として示されているように、浮動小数点複素数乗加算ユニットの虚数成分Ａ．虚部である。Ａ．ｉを形成する項およびファクタは、図３の一番下において、Ｂ．ｉ、Ｃ．ｒ、Ｄ．ｉ、Ｃ．ｉおよびＤ．ｒとして示されており、それぞれ、Ｂ．虚部、Ｃ．実部、Ｄ．虚部、Ｃ．虚部、およびＤ．実部と同じ変数である。
【００３０】
転じて図４を参照すると、一実施形態に従って、複素数Ａの実部Ａ．実部を計算するように構成された浮動小数点複素数乗加算ユニットのブロック図が示されている。図４において示された複素数浮動小数点乗加算ユニットの論理要素は、図３において示された論理要素と同様に形成され配置されており、簡略にするため、これ以上は説明されない。
【００３１】
図３および４において示されたユニットは、より高いスループットのために多段パイプラインユニットとして実装できる。多段パイプラインユニットは、一般に、最終結果を生成するために順番に実行される複数の動作段として形成される。しかし、第１段が第１入力に対する結果を計算し、結果を第２段に渡した後、第１段は、第２段における処理の実行と並行して第２入力を処理することが可能である。このようにして、複数の動作段のそれぞれは、複数の入力に対して同時にデータを処理するように用いることができる。この構造の一例として、加数Ｂの実部の仮数、すなわちＢ．ｒ．ｍは、第１ではないパイプライン段４２０に結合される。それに対応して、図３における加数Ｂの虚部の仮数、すなわちＢ．ｉ．ｍは、対応する第２パイプライン段に結合される。
【００３２】
図４において示された複素数浮動小数点乗加算ユニットの順序付けられた段は、第１段４１０、第２段４２０、第３弾４３０として識別される。同じような順序付けられた段が図３において識別されることができる。それに応じて、図４において示された第１段４１０は、第１段が第１組のデータについての演算結果を第２段に渡すとすぐに、第２組のデータについての演算をするように構成される。同様に、第２段４２０は、第２段が第１組のデータについての演算結果を第３段に渡すとすぐに、第２組のデータについての演算をするように構成される。
【００３３】
転じて図５を参照すると、一実施形態に従って、上述した処理の１以上を実行するために使用され得る処理システム５００の要素のブロック図が示されている。処理システム５００は、ビデオアダプタ／グラフィック処理ユニット（「ＧＰＵ」）等の１以上の入力／出力デバイスを装備するプロセッサ５１０を含み得る。プロセッサ５１０は、バス５２０に接続された中央処理ユニット（「ＣＰＵ」）／ＤＳＰ、メモリ、およびハードウェアアクセラレータを含み得る。
【００３４】
バス５２０は、メモリバスまたはメモリコントローラ、周辺バス、ビデオバス、等を含むいくつかのバスアーキテクチャのいかなるタイプの１以上であり得る。ＣＰＵは、電子データプロセッサのいかなるタイプであり得る。メモリは、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、リードオンリメモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（「ＮＶＲＡＭ」）、これらの組合せ、等のシステムメモリのいかなるタイプを含み得る。一実施形態において、メモリは、ブートアップにおいて使用するためのＲＯＭ、プログラム実行中に使用するためのデータ格納のためのＤＲＡＭを含み得る。ビデオアダプタ／ＧＰＵは、プロセッサをディスプレイに結合させるためのインターフェイスを提供する。他のデバイスがプロセッサに結合され得、追加の、またはより少ないインターフェイスカードが利用され得る。例えば、パラレルインターフェイスカード（不図示）が、プリンタのためのパラレルインターフェイスを提供するために使用され得る。
【００３５】
プロセッサはまた、ネットワークインターフェイス（不図示）を含み得、それは、イーサネット（登録商標）ケーブル等の有線リンクであり得、および／または、セルラ通信ネットワーク等のネットワークとの通信を可能にする無線リンクであり得る。ネットワークインターフェイスは、ネットワークを介して、プロセッサが遠隔ユニットと通信することを許す。一実施形態において、プロセッサはローカルエリアネットワークまたはワイドエリアネットワークと結合され、他のプロセッサ、インターネット、遠隔記憶施設等の遠隔デバイスに対する通信を提供する。
【００３６】
図６ａおよび６ｂを参照すると、ＬＴＥシステムの下りリンク伝送および上りリンク伝送におけるベースバンド信号処理の典型的な実装がそれぞれ示されている。さまざまな実施形態において、本発明は、基地局またはＵＥにおける信号処理に適用され得る。本発明の実施形態に従って、ベースバンド信号処理における浮動小数点複素数乗加算の計算は、３つのベースバンド信号を複素数フォーマットで受信する受信ステップを含む。複素数フォーマットの３つのベースバンド信号のそれぞれは、仮数および指数を備える。本発明の一実施形態において、複素数フォーマットのベースバンド信号はさらに、符号のための１以上のビットを備える。本発明の一実施形態において、ベースバンド信号処理における浮動小数点複素数乗加算の計算方法は、入力加数として第１ベースバンド信号を受信する／取得する受信／取得ステップと、第２ベースバンド信号および第３ベースバンド信号から第１積および第２積を生成する生成ステップであり、入力加数、第１積および第２積はそれぞれ仮数および指数を備える、生成ステップと、入力加数、第１積および第２積のより小さい指数を備える２つ、の仮数をシフトして、プロセッサにおいて、入力加数、第１積および第２積の最も大きい指数をそなえる１つ、の仮数と一緒に位置を合わせる、シフトステップと、位置合わせされた入力加数、位置合わせされた第１積および位置合わせされた第２積を一緒に加算する加算ステップと、を備える。
【００３７】
一実施形態において、２つの積は、第２ベースバンド信号の実部／虚部に、第３ベースバンド信号の実部／虚部を乗算することにより形成される。例えば、第１積は、第２ベースバンド信号の実部と第３ベースバンド信号の実部を乗算した積であり、第２積は、第２ベースバンド信号の虚部と第３ベースバンド信号の虚部を乗算した積である。代替の一実施形態において、第１積は、第２ベースバンド信号の実部と第３ベースバンド信号の虚部を乗算した積であり、第２積は、第２ベースバンド信号の虚部と第３ベースバンド信号の実部を乗算した積である。
【００３８】
留意すべきことは、処理システムは他のコンポーネントを含み得るということである。例えば、処理システムは、電源、ケーブル、マザーボード、リムーバブル記憶媒体、筐体、等を含み得る。これらの他のコンポーネントは、図示されてはいないが、処理システムの一部と考えられる。
【００３９】
複素数乗加算演算において上述の方法を使用する結果は、浮動小数点ＤＳＰおよびハードウェアアクセラレータの、改善された性能および電力効率である。より高い電力効率とより高い処理速度を達成することができる。基地局および端末デバイスのための無線ベースバンドデジタルシグナルプロセッサまたはシステムオンチップ（「ＳＯＣ」）に対して相当なメリットが生じる。
【００４０】
留意すべきことは、特に明記しない限り、本明細書に記載された機能は、ハードウェア、ソフトウェア、または両者のなんらかの組合せにおいて、人間の介入をともなって、または人間の介入無しに、実行され得るということである。一実施形態において、該機能は、特に明記しない限り、図５を参照して上述されたようなコンピュータまたは電子データプロセッサ等のプロセッサによって、それらの機能を実行するようにコード化されたコンピュータプログラムコード、ソフトウェア、および／または集積回路等のコードに従って実行される。
【００４１】
本明細書において提示されたような実施形態は、第１複素数被乗数、第２複素数被乗数、および複素数加数から、浮動小数点複素数乗加算処理によって生成される実部を計算するための装置および関連する方法を提供する。該装置は、メモリおよびメモリに結合されたプロセッサを用いて形成される。一実施形態において、プロセッサは、メモリと連携して、または独立して、第１複素数被乗数の実部の仮数と第２複素数被乗数の実部の仮数の第１仮数積を形成し、第１複素数被乗数の虚部の仮数と第２複素数被乗数の虚部の仮数の第２仮数積を形成するように構成される。他の実施形態において、プロセッサはさらに、メモリと連携して、または独立して、第１複素数被乗数の実部の指数と第２複素数被乗数の実部の指数の第１指数和を形成し、第１複素数被乗数の虚部の指数と第２複素数被乗数の虚部の指数の第２指数和を形成するように構成される。
【００４２】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、複素数加数の実部、第１指数和、および第２指数和の中の最大指数を見つけるように構成される。他の実施形態において、プロセッサはさらに、メモリと連携して、または独立して、第１仮数積、第２仮数積、および複素数加数の実部の仮数を、指数の中で最大の指数に関するそれぞれの指数に従って、位置合わせをし、位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部の最下位ビットを切り捨てるように構成される。他の実施形態において、プロセッサはさらに、位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部を、それらの符号に従って、２の補数フォーマットに変換するように構成される。そして、変換された位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部は、プロセッサによって加算され、浮動小数点複素数乗加算処理によって生成された実部の非正規化仮数を形成する。浮動小数点複素数乗加算処理によって生成された実部の非正規化仮数は、正規化された仮数の基数点の左に先頭の「１」のビットを生成するためにビットをシフトすることによって正規化される。
【００４３】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、２入力全加算器が後に続く桁上げ保存加算器を用いて、位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部を加算するように構成される。一実施形態において、２入力全加算器は、桁上げ先読み加算器である。
【００４４】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、２径路において、２入力全加算器が後に続く桁上げ保存加算器を用いて、位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部を加算するように構成され、該２径路の１つの径路が、実部の仮数の正規化の前に、符号生成および絶対値選択処理によって生成される制御信号に従って選択される。
【００４５】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、２の補数算術を用いて、位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部を加算するように構成される。一実施形態において、２の補数算術を用いることは必要ではない。
【００４６】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、加算された位置合わせされた第１仮数積、第２仮数積、および複素数加数の実部を、２の補数フォーマットからサインマグニチュードフォーマット（sign-magnitude  format）に変換するように構成される。
【００４７】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、位置合わせされた仮数を加算するように構成された加算器のビット幅を増やすことにより、最下位ビットの切り捨てによって生じる精度損失を補償するように構成される。
【００４８】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、第１仮数積および第２仮数積を正規化することなく、乗算によって生成された第１仮数積の基数点と第２仮数積の位置を保持するように構成される。
【００４９】
一実施形態において、プロセッサは、メモリと連携して、または独立して、複素数加数の実部の仮数の使用を、第２または後のパイプライン段まで延期するように構成される。
【００５０】
一実施形態において、プロセッサはさらに、メモリと連携して、または独立して、第１複素数被乗数、第２複素数被乗数、および複素数加数から、浮動小数点複素数乗加算処理によって生成される虚部を計算するように構成される。他の実施形態において、プロセッサは、メモリと連携して、または独立して、第１複素数被乗数の虚部の仮数と第２複素数被乗数の実部の仮数との第３仮数積を形成し、第１複素数被乗数の実部の仮数と第２複素数被乗数の虚部の仮数との第４仮数積を形成し、第１複素数被乗数の虚部の指数と第２複素数被乗数の実部の指数との第３指数和を形成し、第１複素数被乗数の実部の指数と第２複素数被乗数の虚部の指数との第４指数和を形成し、複素数加数の虚部、第３指数和、および第４指数和の指数の中の最大指数を見つけ、複素数加数の虚部、第３指数和、および第４指数和の指数の中の最大に関するそれぞれの指数に従って、第３仮数積、第４仮数積、および複素数加数の虚部の仮数の位置合わせをするように構成される。
【００５１】
プロセッサはさらに、メモリと連携して、位置合わせされた第３仮数積、第４仮数積、および複素数加数の虚部の最下位ビットを切り捨て、位置合わせされた第３仮数積、第４仮数積、および複素数加数の虚部を、それらの符号に従って２の補数フォーマットに変換し、変換された位置合わせされた第３仮数積、第４仮数積、および複素数加数の虚部を加算して浮動小数点複素数乗加算処理によって生成された虚部の非正規化仮数を形成し、浮動小数点複素数乗加算処理によって生成された虚数成分の正規化仮数の基数点の左に先頭の「１」のビットを生成するためにシフトすることにより、浮動小数点複素数乗加算処理によって生成された虚部の非正規化仮数を正規化し、基数点の左に先頭の「１」のビットを生成するためにシフトした結果のシフト距離に従って、複素数加数の虚部の指数、第３指数和、および第４指数和の最大指数を調整するように構成される。
【００５２】
本明細書において提示されたような実施形態は、浮動小数点複素数乗加算処理によって生成される実部を計算するための装置および関連する方法を提供する。該装置は、メモリおよびメモリに結合されたプロセッサを用いて形成される。該プロセッサは、第１複素数被乗数、第２複素数被乗数、および複素数加数に対して動作する浮動小数点複素数乗加算処理によって生成される実部を計算し、複素数加数の実部、第１複素数被乗数の実部の指数と第２複素数被乗数の実部の指数との第１指数和、および第１複素数被乗数の虚部の指数と第２複素数被乗数の虚部の指数との第２指数和の指数の中の最大指数を見つけ、指数の中の最大指数に関するそれぞれの指数に従って、第１複素数被乗数の実部と第２複素数被乗数の実部との第１仮数積、第１複素数被乗数の虚部と第２複素数被乗数の虚部との第２仮数積、および複素数加数の実部の仮数の位置を合わせるように構成される。一実施形態において、プロセッサはさらに、メモリに結合されて、または独立して、位置合わせされた仮数の最下位ビットを切り捨て、位置合わせされ切り捨てされた第１仮数積、第２仮数積、および複素数加数の実部を、それらの符号に従って２の補数フォーマットに変換し、変換された仮数を加算して非正規化合計仮数を形成するように構成される。
【００５３】
一実施形態において、プロセッサはさらに、その基数点の左に先頭の「１」のビットを生成するためにビットをシフトすることにより、非正規化合計仮数を正規化して、浮動小数点複素数乗加算処理によって生成される実部を形成するように構成される。他の実施形態において、プロセッサはさらに、シフトした結果のビットシフト距離に従って、最大指数を調整するように構成される。
【００５４】
本明細書において提示されたような実施形態は、浮動小数点複素数乗加算のデジタル計算のための方法および関連する装置を提供する。該装置は、メモリおよびメモリに結合されたプロセッサを用いて形成される。該方法は、入力加数、第１積、および第２積を受信する受信ステップであり、入力加数、第１積、および第２積はそれぞれ仮数および指数を備える、受信ステップと、プロセッサにおいて、入力加数、第１積、および第２積の最大の指数を備えるものの仮数と一緒に位置を合わせるために、入力加数、第１積、および第２積のより小さい指数を備える２つの仮数をシフトするシフトステップと、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算する加算ステップと、を含む。
【００５５】
一実施形態において、入力加数は、第１入力の実部であり、第１積は、第２入力の実部と第３入力の実部との乗算された積であり、第２積は、第２入力の虚部と第３入力の虚部との乗算された積である。
【００５６】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算する加算ステップは、位置合わせされた入力加数に位置合わせされた第１積を加算するステップと、位置合わせされた第２積を、位置合わせされた入力加数と位置合わせされた第１積との和から引き算するステップと、を含む。
【００５７】
一実施形態において、該方法はさらに、第２入力の実部の仮数に第３入力の実部の仮数を乗算することにより第１積の仮数を形成するステップと、第２入力の実部の指数と第３入力の実部の指数とを加算することにより第１積の指数を形成するステップと、第２入力の虚部の仮数に第３入力の虚部の仮数を乗算することにより第２積の仮数を形成するステップと、第２入力の虚部の指数と第３入力の虚部の指数とを加算することにより第２積の指数を形成するステップと、を含む。
【００５８】
一実施形態において、第２入力の実部の仮数、第３入力の実部の仮数、第２入力の虚部の仮数、および第３入力の虚部の仮数は、乗算の前に正規化されない。
【００５９】
一実施形態において、入力加数は、第１入力の虚部であり、第１積は、第２入力の実部と第３入力の虚部とを乗算した積であり、第２積は、第２入力の虚部と第３入力の実部とを乗算した積である。
【００６０】
一実施形態において、該方法はさらに、第２入力の実部の仮数に第３入力の虚部の仮数を乗算することにより第１積の仮数を形成するステップと、第２入力の実部の指数と第３入力の虚部の指数とを加算することにより第１積の指数を形成するステップと、第２入力の虚部の仮数に第３入力の実部の仮数を乗算することにより第２積の仮数を形成するステップと、第２入力の虚部の指数と第３入力の実部の指数とを加算することにより第２積の指数を形成するステップと、を含む。
【００６１】
一実施形態において、第２入力の実部の仮数、第３入力の実部の仮数、第２入力の虚部の仮数、および第３入力の虚部の仮数は、乗算の前に正規化されない。
【００６２】
一実施形態において、第１積は、２つの非正規化入力の積である。一実施形態において、第２積は、２つの非正規化入力の積である。
【００６３】
一実施形態において、入力加数、第１積、および第２積の最大の指数を備える１つ、の仮数と一緒に位置を合わせるために、入力加数、第１積、および第２積のより小さい指数を備える２つ、の仮数をシフトするシフトステップは、最大の指数を備える１つ、の仮数と一緒に位置を合わせるために、最大の指数を備えるものより小さい指数を備える２つ、の仮数を右にシフトするシフトステップであり、位置合わせされた入力加数、位置合わせされた第１積、位置合わせされた第２積は同じ指数を備える、シフトステップを含む。
【００６４】
一実施形態において、該方法はさらに、もし、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積の仮数のビット幅が、精度要求に従ったビット幅を超えるならば、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積の１以上のビットを切り捨てるステップを含む。
【００６５】
一実施形態において、該方法はさらに、入力加数、第１積、および第２積を、それらの符号に従って、２の補数フォーマットに変換するステップを含む。
【００６６】
一実施形態において、入力加数、第１積、および第２積を、それらの符号に従って、２の補数フォーマットに変換するステップは、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を、それらの符号に従って、２の補数フォーマットに変換するステップを含む。
【００６７】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するステップは、変換された位置合わせされた入力加数、変換された位置合わせされた第１積、および変換された位置合わせされた第２積を加算するステップを含む。
【００６８】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するステップは、桁上げ保存加算器および全加算器によって、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するステップを含む。
【００６９】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するステップは、位置合わせされた第１積、および位置合わせされた第２積を２つの径路において加算する加算ステップであり、符号生成および絶対値選択処理によって生成される制御信号に従って２つの径路の１つの径路が選択される、加算ステップを含む。
【００７０】
本明細書において提示されたような実施形態は、浮動小数点複素数乗加算処理のデジタル計算を実行するための装置および関連する方法を提供する。該装置は、メモリおよびメモリに結合されたプロセッサを用いて形成される。該プロセッサは、入力加数、第１積、および第２積を受信し、入力加数、第１積、および第２積はそれぞれ仮数および指数を備え、入力加数、第１積、および第２積の最大の指数を備える１つ、の仮数と一緒に位置を合わせるために、入力加数、第１積、および第２積のより小さい指数を備える２つ、の仮数をシフトし、位置合わせされた入力加数と、位置合わせされた第１積と、位置合わせされた第２積とを加算するように構成される。
【００７１】
一実施形態において、入力加数は、第１入力の実部であり、第１積は、第２入力の実部と第３入力の実部の乗算された積であり、第２積は、第２入力の虚部と第３入力の虚部の乗算された積である。
【００７２】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するように構成されたプロセッサは、位置合わせされた入力加数に位置合わせされた第１積を加算し、位置合わせされた第２積を、位置合わせされた入力加数と位置合わせされた第１積との和から引き算するように構成される。
【００７３】
一実施形態において、プロセッサはさらに、第２入力の実部の仮数に第３入力の実部の仮数を乗算することにより第１積の仮数を形成し、第２入力の実部の指数と第３入力の実部の指数とを加算することにより第１積の指数を形成し、第２入力の虚部の仮数に第３入力の虚部の仮数を乗算することにより第２積の仮数を形成し、第２入力の虚部の指数と第３入力の虚部の指数を加算することにより第２積の指数を形成するように構成される。
【００７４】
一実施形態において、入力加数は、第１入力の虚部であり、第１積は、第２入力の実部と第３入力の虚部を乗算した積であり、第２積は、第２入力の虚部と第３入力の実部を乗算した積である。
【００７５】
一実施形態において、プロセッサはさらに、第２入力の実部の仮数に第３入力の虚部の仮数を乗算することにより第１積の仮数を形成し、第２入力の実部の指数と第３入力の虚部の指数を加算することにより第１積の指数を形成し、第２入力の虚部の仮数に第３入力の実部の仮数を乗算することにより第２積の仮数を形成し、第２入力の虚部の指数と第３入力の実部の指数を加算することにより第２積の指数を形成するように構成される。
【００７６】
一実施形態において、第１積は、２つの非正規化入力の積である。一実施形態において、第２積は、２つの非正規化入力の積である。
【００７７】
一実施形態において、入力加数、第１積、および第２積の最大の指数を備える１つ、の仮数と一緒に位置を合わせるために、入力加数、第１積、および第２積のより小さい指数を備える２つ、の仮数をシフトするように構成されたプロセッサは、最大の指数を備える１つ、の仮数と一緒に位置を合わせるために、最大の指数を備えるものより小さい指数を備える２つ、の仮数を右にシフトするように構成され、位置合わせされた入力加数、位置合わせされた第１積、位置合わせされた第２積は同じ指数を備える。
【００７８】
一実施形態において、プロセッサはさらに、もし、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積の仮数のビット幅が、精度要求に従ったビット幅を超えるならば、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積の１以上のビットを切り捨てるように構成される。
【００７９】
一実施形態において、プロセッサはさらに、入力加数、第１積、および第２積を、それらの符号に従って２の補数フォーマットに変換するように構成される。
【００８０】
一実施形態において、入力加数、第１積、および第２積を、それらの符号に従って２の補数フォーマットに変換するように構成されたプロセッサはさらに、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を、それらの符号に従って２の補数フォーマットに変換するように構成される。
【００８１】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するように構成されたプロセッサはさらに、変換された位置合わせされた入力加数、変換された位置合わせされた第１積、および変換された位置合わせされた第２積を加算するように構成される。
【００８２】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するように構成されたプロセッサはさらに、桁上げ保存加算器および全加算器を用いて、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するように構成される。
【００８３】
一実施形態において、位置合わせされた入力加数、位置合わせされた第１積、および位置合わせされた第２積を加算するように構成されたプロセッサはさらに、位置合わせされた第１積、および位置合わせされた第２積を２つの径路において加算し、符号生成および絶対値選択処理によって生成される制御信号に従って２つの径路の１つの径路が選択されるように構成される。
【００８４】
本発明は例示的な実施形態を参照して記載されてきたが、この記載は、制限する意味において解釈されることを意図するものではない。本発明の他の実施形態とともに、例示的な実施形態のさまざまな修正および組合せは、該記載を参照することにより当業者にとって明らかであろう。従って、添付された特許請求の範囲は、いかなるそのような修正または実施形態を包含することが意図されている。
【図１】
0005873599.tif 000002
【図２】
0005873599.tif 000003
【図３】
0005873599.tif 000004
【図４】
0005873599.tif 000005
【図５】
0005873599.tif 000006
【図６ａ】
0005873599.tif 000007
【図６ｂ】
0005873599.tif 000008