"ディジタル信号プロセッサにおいてブース乗算を実行するための方法であって、第1の複数のビットを備える被乗数、A、と第2の複数のビットを備える乗数、B、とを決定すること;Bに基数-4ブースレコーディングを実行して、乗算係数の第1の事前に決められた個数、n、を生成すること、ここで、前記n個の乗算係数は前記第2の複数のビットの個数の半分を近似する;Aの乗数として前記n個の乗算係数を使用してn個の部分積を生成すること;基数-4ブースエンコーディングを使用して乗算ツリーを形成すること、ここで、前記乗算ツリーは複数の乗数ビットを備え、前記乗数ビットは複数の乗算係数を生成するために前記乗算ツリーに関係付けられる;負の乗算係数の事象では、Aの前記第1の複数のビットを反転させ、そして2の補集合を完成させるために付着のsticky1を付けることによりAの2の補集合を形成すること;削減の複数のステージにおいて前記乗算係数を事前に決められた長さのサム成分及びキャリー成分の集合へと削減すること;及び前記乗算係数の加法の逆を決定することにより乗数として-Bを設定することによってAとBとの負の積を決定すること、のステップを具備する方法。前記乗数サイズを決定するステップは、16×16乗数を使用してAとBとを決定するステップを具備する、請求項1の方法。形式[Z-A×B]の加数として前記積を生成するステップをさらに具備する、ここで、Zは前記ディジタル信号プロセッサにおいて累算されようとしている値を表す、請求項1の方法。前記乗算ツリーの事前に決められた位置に付着の1を挿入することによってAとBとの乗算に丸め定数を加えるステップをさらに具備する、請求項1の方法。Bに基数-4ブースレコーディングを実行して、9個の乗算係数を生成すること;Aの倍数として前記9個の乗算係数を使用して9個の部分積を生成すること;基数-4ブースエンコーディングを使用して乗算ツリーを形成すること、ここで、前記乗算ツリーは9行を備える;及び前記乗算ツリーを複数の32-ビットのサム成分とキャリー成分へと削減すること、のステップをさらに具備する、請求項1の方法。MAC演算の間に64-ビット値累算の一部として前記ブース乗算プロセスを実行すること、のステップをさらに具備する、請求項1の方法。ディジタル信号プロセッサにおいてブース乗算を実行するためにディジタル信号プロセッサに関係する演算のためのシステムであって、前記システムは、第1の複数のビットを備える被乗数、A、と第2の複数のビットを備える乗数、B、とを決定するための処理回路構成;Bに基数-4ブースレコーディングを実行して、乗算係数の第1の事前に決められた個数、n、を生成するための乗算器ブロック、ここで、前記n個の乗算係数は前記第2の複数のビットの個数の半分を近似する;Aの乗数として前記n個の乗算係数を使用してn個の部分積を生成するために前記乗算器ブロックに関係する複数の乗算器ユニット;基数-4ブースエンコーディングを使用して乗算ツリーを形成するための前記複数の乗算器ユニットに関係するブースエンコーディング回路構成、ここで、前記乗算ツリーは複数の乗数ビットを備え、前記乗数ビットは複数の乗算係数を生成するために前記乗算ツリーに関係付けられる;負の乗算係数の事象のために前記ブースエンコーディング回路構成に関係付けられ、そしてそのような事象においてAの前記第1の複数のビットを反転させ、そして2の補集合を完成させるために付着の1を付けることによりAの2の補集合を形成するインバータ回路構成;削減の複数のステージにおいて前記乗算係数を事前に決められた長さのサム成分及びキャリー成分の集合へと削減するための前記乗算器ユニットに関係付けられた削減回路構成;及び前記乗算係数の加法の逆を決定することにより乗数として-Bを設定することによってAとBとの負の積を決定するためのインバータ回路構成、を具備するシステム。16×16乗数を使用してAとBとを決定するための乗算ツリーを生成するための回路構成を生成する乗算ツリーをさらに具備する、請求項7のシステム。形式[Z-A×B]の加数として前記積を生成するための累算回路構成をさらに具備する、ここで、Zは前記ディジタル信号プロセッサにおいて累算されようとしている値を表す、請求項7のシステム。付着の1を前記乗算ツリーの事前に決められた位置に挿入することによってAとBとの乗算に丸め定数を加えるための加算ビット挿入回路構成をさらに具備する、請求項7のシステム。Bに基数-4ブースレコーディングを実行して、9個の乗算係数を生成するためのブースレコーディング回路構成;Aの倍数として前記9個の乗算係数を使用して9個の部分積を生成するための前記複数の乗算器ユニットに関係付けられた部分積生成回路構成;基数-4ブースエンコーディングを使用して乗算ツリーを形成するための乗算ツリー回路構成、ここで、前記乗算ツリーは9行を備える;及び前記乗算ツリーを複数の32-ビットのサム成分とキャリー成分へと削減するための削減ツリー回路構成、をさらに具備する、請求項7のシステム。MAC演算の間に64-ビット値累算の一部として前記ブース乗算プロセスを実行するための乗算ツリー回路構成をさらに具備する、請求項7のシステム。個人電子デバイスをサポートする演算のためのディジタル信号プロセッサであって、前記ディジタル信号プロセッサはあるディジタル信号プロセッサにおいてブース乗算を実行するための手段を具備し、前記手段は、第1の複数のビットを備える被乗数、A、と第2の複数のビットを備える乗数、B、とを決定するための手段;Bに基数-4ブースレコーディングを実行して、乗算係数の第1の事前に決められた個数、n、を生成するための手段、ここで、前記n個の乗算係数は前記第2の複数のビットの個数の半分を近似する;Aの乗数として前記n個の乗算係数を使用してn個の部分積を生成するための手段;基数-4ブースエンコーディングを使用して乗算ツリーを形成するための手段、ここで、前記乗算ツリーは複数の乗数ビットを備え、前記乗数ビットは複数の乗算係数を生成するために前記乗算ツリーに関係付けられる;負の乗算係数の事象において、Aの前記第1の複数のビットを反転させ、そして2の補集合を完成させるために付着の1を付けることによりAの2の補集合を形成するための手段;削減の複数のステージにおいて前記乗算係数を事前に決められた長さのサム成分及びキャリー成分の集合へと削減するための手段;及び前記乗算係数の加法の逆を決定することにより乗数として-Bを設定することによってAとBとの負の積を決定するための手段を具備する前記手段である、ディジタル信号プロセッサ。16×16乗数を使用してAとBとを決定するための手段をさらに具備する、請求項13のディジタル信号プロセッサ。形式[Z-A×B]の加数として前記積を生成するための手段をさらに具備する、ここで、Zは前記ディジタル信号プロセッサにおいて累算されようとしている値を表す、請求項13のディジタル信号プロセッサ。付着の1を前記乗算ツリーの事前に決められた位置に挿入することによってAとBとの乗算に丸め定数を加えるための手段をさらに具備する、請求項13のディジタル信号プロセッサ。Bに基数-4ブースレコーディングを実行して、9個の乗算係数を生成するための手段;Aの倍数として前記9個の乗算係数を使用して9個の部分積を生成すること;基数-4ブースエンコーディングを使用して乗算ツリーを形成すること、ここで、前記乗算ツリーは9行を備える;及び前記乗算ツリーを複数の32-ビットのサム成分とキャリー成分へと削減すること、をさらに具備する、請求項13のディジタル信号プロセッサ。MAC演算の間に64-ビット値累算の一部として前記ブース乗算プロセスを実行するための手段、をさらに具備する、請求項13のディジタル信号プロセッサ。ディジタル信号プロセッサにおいてブース乗算を実行するためにその媒体中に組み込まれたコンピュータ読取り可能なプログラムコード手段を有するコンピュータ使用可能な媒体であって:第1の複数のビットを備える被乗数、A、と第2の複数のビットを備える乗数、B、とを決定するためのコンピュータ読取り可能なプログラムコード手段;Bに基数-4ブースレコーディングを実行して、乗算係数の第1の事前に決められた個数、n、を生成するためのコンピュータ読取り可能なプログラムコード手段、ここで、前記n個の乗算係数は前記第2の複数のビットの個数の半分を近似する;Aの乗数として前記n個の乗算係数を使用してn個の部分積を生成するためのコンピュータ読取り可能なプログラムコード手段;基数-4ブースエンコーディングを使用して乗算ツリーを形成するためのコンピュータ読取り可能なプログラムコード手段、ここで、前記乗算ツリーは複数の乗数ビットを備え、前記乗数ビットは複数の乗算係数を生成するために前記乗算ツリーに関係付けられる;負の乗算係数の事象において、Aの前記第1の複数のビットを反転させ、そして2の補集合を完成させるために付着の1を付けることによりAの2の補集合を形成するためのコンピュータ読取り可能なプログラムコード手段;削減の複数のステージにおいて前記乗算係数を事前に決められた長さのサム成分及びキャリー成分の集合へと削減するためのコンピュータ読取り可能なプログラムコード手段;及び前記乗算係数の加法の逆を決定することにより乗数として-Bを設定することによってAとBとの負の積を決定するためのコンピュータ読取り可能なプログラムコード手段を具備する、コンピュータ使用可能な媒体。16×16乗数を使用してAとBを決定するためのコンピュータ読取り可能なプログラムコード手段、をさらに具備する、請求項19のコンピュータ使用可能な媒体。形式[Z-A×B]の加数として前記積を生成するためのコンピュータ読取り可能なプログラムコード手段をさらに具備する、ここで、Zは前記ディジタル信号プロセッサにおいて累算されようとしている値を表す、請求項19のコンピュータ使用可能な媒体。付着の1を前記乗算ツリーの事前に決められた位置へと挿入することによってAとBとの乗算に丸め定数を加えるためのコンピュータ読取り可能なプログラムコード手段、をさらに具備する、請求項19のコンピュータ使用可能な媒体。Bに基数-4ブースレコーディングを実行して、9個の乗算係数を生成するためのコンピュータ読取り可能なプログラムコード手段;Aの倍数として前記9個の乗算係数を使用して9個の部分積を生成するためのコンピュータ読取り可能なプログラムコード手段;基数-4ブースエンコーディングを使用して乗算ツリーを形成するためのコンピュータ読取り可能なプログラムコード手段、ここで、前記乗算ツリーは9行を備える;及び前記乗算ツリーを複数の32-ビットのサム成分とキャリー成分へと削減するためのコンピュータ読取り可能なプログラムコード手段、をさらに具備する、請求項19のコンピュータ使用可能な媒体。MAC演算の間に64-ビット値累算の一部として前記ブース乗算プロセスを実行するためのコンピュータ読取り可能なプログラムコード手段、をさらに具備する、請求項19のコンピュータ使用可能な媒体。開示された主題の特徴、本質、及び利点は、図面を使用して以下に述べる詳細な説明から、さらに明確になるであろう。図面では、同じ参照符号は一貫して対応するものを特定する。ここに示される変形されたブース乗算器に関する開示された主題は、マルチスレッド処理を伴うアプリケーションを含む、非常に広範囲の様々なディジタル信号処理アプリケーションの使用を有する。1つのそのようなアプリケーションは、電気通信において見られ、そして特に、1又はそれより多くのディジタル信号処理回路を利用する無線ハンドセットにおいて見られる。その結果、下記の図1から図3は、電気通信DSPを説明し、その中では本教示は、有用であり得る。図4は、乗算処理のためのデータパスを述べ、その中では拡張ブース乗算演算の本開示が機能することができる。しかしながら、開示された主題が適用されることができるアプリケーションの実質的に無限の集合のうちの1つだけを、ここに説明されるインプリメンテーションが提供することを、忘れずにおくことである。そのような無線ハンドセットがどのように使用されることができるかを説明する目的のために、図1は、開示される中断処理方法及びシステムの本実施形態を実行することが可能である通信システム10の単純化したブロック図を与える。送信機ユニット12において、データは、データソース14から送信TXデータプロセッサ16に、一般的にブロックで送られ、その送信データプロセッサ16はデータをフォーマット化し、コード化し、そして処理して、1又はそれより多くのアナログ信号を生成する。アナログ信号は、次に送信機TMTR18に与えられ、それはベースバンド信号を変調し、フィルタし、増幅し、そしてアップコンバートして、変調された信号を生成する。変調された信号は、次に1又はそれより多くの受信機ユニットにアンテナ20を介して送信される。受信機ユニット22において、送信された信号は、アンテナ24により受信され、そして受信機RCVR26に与えられる。受信機26内で、受信された信号は、増幅され、フィルタされ、ダウンコンバートされ、復調され、そしてディジタル化されて、インフェーズIとQサンプルを生成する。サンプルは、次に受信RXデータプロセッサ28によりデコードされそして処理されて、送信されたデータを再生する。受信機ユニット22におけるエンコーディングと処理は、送信機ユニット12において実行されたコーディングと処理に相補的な方法で実行される。再生されたデータは、次にデータシンク30に与えられる。上に記述された信号処理は、音声、ビデオ、パケットデータ、メッセージ送信、及び1方向の他のタイプの通信をサポートする。双方向通信システムは、2方向のデータ送信をサポートする。しかしながら、他の方向に対する信号処理は、単純化のために図1には示されない。通信システム10は、符号分割多元接続CDMA:codedivisionmultipleaccessシステム、時分割多元接続TDMA:timedivisionmultipleaccess通信システム例えば、GSM登録商標システム、周波数分割多元接続FDMA:frequencydivisionmultipleaccess通信システム、又は地上回線を経由して複数のユーザ間の音声とデータ通信をサポートする他の多元接続通信システムであり得る。ある特定の実施形態では、通信システム10は、W-CDMA規格に準拠するCDMAシステムである。図2は、図1の送信データプロセッサ16と受信データプロセッサ28として機能することができるDSP40アーキテクチャを図示する。もう一度、DSP40がここに示された教示及び概念を効果的に使用することができる非常に多くの可能性のあるディジタル信号プロセッサ実施形態のうちの1つの実施形態を表すだけであることを、強調する。DSP40において、それゆえ、スレッドT0:T5参照番号42から52は、別のスレッドからの命令の集合を含む。回路54は、命令アクセスメカニズムを表し、そしてスレッドT0:T5に対する命令を取り出すfetchために使用される。回路54のための命令は、命令キュー56へとキューされる。命令キュー56中の命令は、プロセッサパイプライン66下記を参照へと発せられるように準備されている。命令キュー56から、1つのスレッド、例えば、スレッドT0、は、発行論理回路58によって選択されることができる。選択されたスレッドのレジスタファイル60が、読み出され、そして読み出されたデータは、スロット0からスロット3に対する実行データパス62へ送られる。スロット0からスロット3は、この例では、本実施形態において用いられるパケットグループ化組み合わせを規定する。実行データパス62からの出力は、DSP40の動作からの結果を戻すために、レジスタファイル書込み回路64に行き、しかもその回路は個々のスレッドT0:T5を適応させるように構成される。そのように、回路54からのデータパス及び様々なスレッドに応じて分けられるレジスタファイル書込み回路64の前のデータパスは、処理パイプライン66を形成する。本実施形態は、6個までのスレッド、T0:T5、を有する1つのマイクロプロセッサを使用するヘテロジーニアス素子プロセッサHEP:heterogeneouselementprocessorの混成タイプを使用することができる。プロセッサパイプライン66は、6つのステージを有し、回路54からレジスタ60と64へのデータ項目を取り出すために必要なプロセッササイクルの最小数を組み合わせる。DSP40は、プロセッサパイプライン66内の異なるスレッドT0:T5の命令を同時に実行する。すなわち、DSP40は、6個の独立したプログラムカウンタ、プロセッサパイプライン66内のスレッドT0:T5の命令を識別する内部タッギングメカニズム、及びスレッドスイッチをトリガするメカニズム、を与える。スレッドスイッチオーバーヘッドは、ゼロからほんの数サイクルまで変化する。DSP40は、それゆえ、広範囲の様々な信号、画像、及びビデオ処理アプリケーションにわたり高性能かつ低電力の目的で設計される汎用ディジタル信号プロセッサを提供する。図3は、DSP40アーキテクチャの簡単な全体像を与え、開示された主題の1つの表現のために関係する命令セットアーキテクチャのある複数の態様を含む。DSP40アーキテクチャのインプリメンテーションは、インターリーブされたマルチスレッディングIMT:interleavedmultithreadingをサポートする。この実行モデルでは、ハードウェアは、パイプライン中の異なるスレッドからの命令をインターリーブすることにより複数のハードウェアスレッドT0:T5の同時の実行をサポートする。この特徴は、DSP40が高いコア及びメモリ利用を維持したままで、アグレッシブなクロック周波数を含むことを可能にする。IMTは、費用のかかる補償機構、例えば、適切でない実行、大規模な転送ネットワーク、及びその他、を必要とせずに高スループットを提供する。図3は、より一層具体的に、開示された主題の教示を利用することができる1つのスレッドに対するプログラミングモデルの1つの実施形態のアーキテクチャブロック図を与える。ブロック図70は、AXIバス74からの命令を受け取る非公開命令キャッシュ72を図示し、その命令はスレッドT0:T5のシーケンサ76、ユーザ制御レジスタ78、及び管理制御レジスタ80への混合の16-ビットと32-ビット命令を含む。シーケンサ76は、S-パイプユニット82、M-パイプユニット84、Ld-パイプ86、及びLd/St-パイプユニット88への混成タイプの2-方向スーパースカラ命令と4-方向VLIW命令を与える。AXIバス74は、スレッドT0:T5へのLD/ST命令を共有データキャッシュ90と同様に通信する。外部DMAマスタ96を用いて、共有データTCM98は、LD/ST命令を通信し、そのLD/ST命令は、スレッドT0:T5へとさらに流れる。AHB周辺バス100から、MSM特定コントローラ102は、T0:T5を有する中断ピンを通信し、それは中断コントローラ命令、デバッグ命令、及びタイミング命令を含む。グローバル制御レジスタ104は、スレッドT0:T5と制御レジスタ命令を通信する。図3のM-パイプ84において述べたように単一スレッド処理のアーキテクチャ内では、高速数学処理が生じる。乗算ブロック118内で乗算のタイミングは、M-パイプ84の演算が適正に行われることを確実にするために重要である。同様のタイミングの考慮は、開示された主題が適用されることができるいずれのアプリケーションにおいても存在する可能性が高い。したがって、ブース乗算処理がそれを用いて行われる速度は、ここに開示される題材の特徴的な新奇な態様を提供する。これらの時間制約を満足させるために、開示された主題は、2つの数の積、AxB、又は2つの数の積の加法の逆、-AxB、を実行することが可能なブース乗算を使用する。それに加えて、本明細書は、ブース削減ツリー及び符号拡張プロセスにおいて丸め定数を含ませるための方法を含み、それは電力及び領域を削減する。その上、本開示のブース乗算処理は、乗算が符号なしオペランドに実行されるとしても、符号付き数値になる部分積を必要とすることがある。ある複数の部分積が負であり得るので、ブース乗算を実行するための2の補集合回路構成は、乗算結果の負の値を生成するように、従来のブース乗数への変更を可能にする。-AxBを効率的に生成する能力は、形式[Z-AxB]の演算を含む多くのDSPアプリケーションに大きな影響を有する。これらの乗算累算演算、すなわちMAC演算は、本開示により使用可能にされる。図4は、開示された主題の様々な実施のためのデータパス図180を表し、そして本ブース乗算処理がそこで行われることができるデータフローを設定する。特に、乗算ブロック118は、RsとRt入力を受け取る。乗算ブロック118の内部にあるものは、乗算ユニットM0:M3である。特に、M0乗算器ユニット182、M1乗算器ユニット184、M2乗算器ユニット186、及びM3乗算器ユニット188は、RsとRt入力を別々に受け取って、シフト/符号拡張ユニット148への、それぞれ、S0C0すなわち、サム0とキャリー0、S1C1、S2C2、及びS3C3出力を生成する。シフト/符号拡張ユニット148は、これらの中間冗長積の論理シフトと符号拡張を実行する責任がある。乗算器ブロック118は、したがって、M-パイプ84に対する命令に関連する乗算を実行する。これらの命令は、16×16乗算処理を基底として使用する複合命令として取り扱われることができる。乗算器ブロックは、4個の16×16乗算器ユニットM0:M3から構成される。各乗算器ユニットM0:M3は、複数のモードで機能することが可能であり、多種多様なM-タイプ命令をサポートする。符号付きモードと符号なしモードとがサポートされる。乗算器は、減算がその積に実行される必要があるケースでは、それらの積の2の補数を同様に生成することが可能である。開示された主題を用いて、M0:M3乗算器182から188は、基数-4ブースエンコーディングを使用する。符号なしモードでは、それらは、符号ビットとして機能する追加の17番目のビットを有する17×17乗数に似ている。倍精度乗算すなわち、32×32乗算を除いて、全ての他の乗算命令は、符号付き×符号付き又は符号なし×符号なしである。倍精度32×32乗算及び複数の16×16乗数を使用する32×16乗算は、同様に符号付き×符号なし乗算と符号なし×符号付き乗算とを必要とする。これらのモードの全ては、M0:M3乗算器182から188の被乗数と乗数オペランドoperandの符号ビットを制御することによりサポートされる。シフト/符号拡張ユニット148からの出力は、マルチ-オペランド加算器150に行き、そしてR0:R3入力へと分解される。マルチ-オペランド加算器150は、これらのR0:R3入力を受け取り、そして圧縮と累積ステージのセットの後で、最終的にRdd出力170を与える。データパス180は、4つのフェーズへと分割可能であるように理解されることができる。まず第1に、データ配送フェーズでは、RsとRtソースレジスタからのデータは、乗算ブロック118に供給される。乗算ブロック118の中では、ソースオペランドからの16-ビットハーフワードは、命令に基づいて4個のM0:M3乗算器182から188に配送される。次に、部分積生成及び削減reductionベクトル加算又は減算が行われる、そこでは、M0:M3乗算器182から188は、基数-4ブースエンコーディングを使用して部分積を生成し、そして出力の冗長対へ削減を使用してそれらを削減する。マルチ-オペランド削減フェーズの間、乗算ブロック118からの冗長出力は、マルチ-オペランド加算器150へ入力され、その加算器はこれらの入力とオプションの累算値/丸めた値を2組の冗長出力へと削減する。最後に、加算/サチュレーションsaturationフェーズでは、冗長出力は、キャリー増殖propagate加算を使用して解かれ、そしてサチュレーションは、適用可能であるときに実行される。開示された主題は、したがって、そのような値の変形されたブース乗算を規定する。そのような複素値を用いて、入力は、下位ハーフワードの実数16-ビット値と上位ハーフワードの虚数16-ビット値とを有する。乗算結果は、オプションとして0-1ビットだけスケーリングされる。丸め定数がそれぞれの実数和と虚数和に加算される。実数部と虚数部は、32ビットに個別にサチュレートされる。32-ビット結果のそれぞれの上位16-ビットは、32-ビット行先レジスタにパックpackされる。この例では、S0:S3とC0:C3は、33-ビット幅である。16×16乗算の出力が32-ビットで表わされることが可能であるとしても、ある複数の命令は、符号なしモードで実行し、そして追加ビットが符号拡張を容易にするために符号ビットとしてこのケースでは使用される。S0:S3とC0:C3は、シフト/符号拡張ユニット148を経由して渡される。S0:S1とC0:C1は、パッキングの前に、最終結果の低次の32-ビットを与える。これは、結果の実数部を形成する。これらの4つの数は、命令で指定される場合には、1-ビットの左シフトによりオプションとしてスケーリングされる。これらの数のシフトされたバージョンは、R0:R3と名付けられる。R0:R3は、マルチ-オペランド加算器150を経由して渡される。マルチ-オペランド加算器150からの出力は、サチュレーション/加算ユニット170に流れる。図5は、開示された主題に適用可能な変形された16×16基数-4ブース乗算ツリーを提示することにより、開示された主題のブース乗算処理を理解することを容易にする。図5のドット図200は、開示された主題の16×16乗算器上で乗数についての基数-4ブースエンコーディングを概念的に図示し、それは9個の部分積202,204,206,208,210,212,214,216,と218とを結果としてもたらす。9個の部分積は、2個の33-ビット冗長出力に削減され、それらは2レベルの3:2削減と引き続く1レベルの4:2圧縮からなる削減ツリーを使用するS0:S3及びC0:C3である。32-ビットの精度は16×16乗算のために十分であるが、33番目のビットは、符号なし乗算のケースにおける符号ビットとして機能するように同様に保存される。33番目の列からの追加のキャリー-アウトビットは、同様に、符号拡張を支援するための乗算器からの出力である。さらに図5を参照して、各部分積行220から236は、横方向に示される被乗数ビット238の倍数である。列番号は、図5の上部に示されている。乗数ビット240は、縦方向に示され、そしてこれらのビットは、部分積行220から236を形成するための乗算係数を生成するために記録される。図5に示される信号n0からn7は、付着のsticky1を示し、それは負の加重を受ける部分積行220から236に付加される。これらは、積の最終反転を必要としない乗算を扱うために十分である。乗数における-AxB陰関数表示のケースを取り扱うために、追加の信号n8が与えられる。乗算演算の積が乗数ツリー内で非明示的に減算されるときに、信号s0からs7は、符号拡張を取り扱う。AとBとが、それぞれ被乗数と乗数であると仮定される場合に、基数-4ブースエンコーディングは、乗数オペランドBの3個のビットのグループをエンコーディングすることにより、そして集合{-2A,-A,0,A,2A}から部分積を選択するためにこのエンコーディングを使用することにより、進められる。ここで、最終積AxBが減算される必要がある場合には、それはAx-Bを加算することに等しい。乗数は、ここでBから-Bに変更される。図6は、開示された主題を実行するためのブースレコーダ回路250を提供する。ブースレコーダセル250は、XOR256でのLSB入力254からインバータXOR260でのMSB入力258までの範囲の乗数グループ入力252を含む。MSB入力258は、ブースレコーダ回路250からのneg出力を同様に与える。XOR256からの出力は、ブースレコーダ250からのAx1信号、Aを表し、インバータXOR264への入力を同様に与える。インバータXOR260からの出力は、インバータXOR264への入力を同様に与えて、ブースレコーダ回路250からのAx2信号、2Aを生成する。XOR264は、ブースレコーダ回路250からの否定negを指示するための出力を与える。そのように、ブースレコーダ回路250は、乗数Bの3-ビットを検査し、そして信号A,2Aとnegへとそれらを記録する。減算が実行される必要があるとき、neg信号は、部分積を生成するために反転され、それは積、AxB、の2の補数を生成する。図7は、開示された主題を用いる図6の論理セルに対するビットグループ化の説明を与える。特に、基数-4ブースレコーディングは、16-ビット乗数Bから9個の乗算係数を生成し、それはAの倍数として使用され、9個の部分積を生成する。0から8までの範囲のnに対して、図7の表は、ビットグループB[2n1:2n-1]に対するブース乗算係数を決定する。本実施形態のレコーディング方式に関して、B[-1]は、ゼロであると仮定される。B[16]とB[17]は、Bが符号なしの数である場合にゼロであり、そしてBが符号付きの数である場合にBの符号拡張である、すなわち、B[17]=B[16]=B[15]。乗算係数は、3つの信号へと記録される:それはXOR256からのA、インバータXOR264からの2A及びMBS入力262からのnegである。そのように、Aに対する乗算係数が-2であるとき、信号2Aとnegは、ハイである。同様に1に対して、Aだけがハイであり、そして/-0に対して全ての3つの信号は、ローである。しかも、積AxBを生成することに関して、最上位ビットグループに対する乗算係数、B[17:15]は、常に正であることに、注意する。ここで、B[17:15]に対する可能なビットグループは、Bが符号なしの場合には[000]又は[001]であり、そしてBが符号付きの場合には[000]又は[111]であるだけである。図7から、これらの全てのグループは、正の乗算係数に導く。本明細書中に記述されるブース乗算マルチプレクサは、それゆえ、部分積を生成するためにセット{0,A,2A}から選択することができる。図8は、-AxB積のためのブースレコーディング論理回路を実装するためのブースレコーダ回路270を提供する。ブースレコーダセルは、XOR276でのLSB入力274からインバータXOR280でのMSB入力278までの範囲にわたる乗数グループ入力272を含む。減算入力282とMSB入力278は、XOR284へ流れる。XOR276からの出力は、ブースレコーダ270からの被乗数A信号を表し、それに加えてインバータXOR286への入力を与える。インバータXOR280からの出力は、ブースレコーダ回路270からの2A信号を生成するためにインバータXOR286への入力を同様に与える。XOR284は、ブースレコーダ回路270からのneg出力を与える。図8は、それゆえ、被乗数Aと乗数Bの積の負の値が、AとBの負の値との積を計算することによって得られるという特性を利用する。これは、それゆえ、最初にAxBの積を計算し、そして次に-AxBを得るために積の2の補数を計算する公知の2ステッププロセスを回避する。ブースレコーダ回路270は、乗算のステージと並行して否定を実行する。積の2の補集合を作ることは、-AxBがAx-Bに等価であるという事実を利用する。この例では、オペランド-Bは、乗数として扱われる。乗数として-Bを使用して生成されたブース乗算係数は、乗数オペランドとしてBを使用して生成された乗算係数に対応する加法の逆である。積AxBを計算するために使用するブース乗算ハードウェア構成は、ブース乗算係数のそれぞれの符号を反転することによりAx-Bを計算するために再使用されることが可能である。この符号は、ブースレコーダ回路270のneg信号によって決定され、それは積を否定する際に-neg信号を生成するためにレコーディングハードウェアに対する変更である。ブースレコーダ回路270において、XORゲート284は、非クリティカルパス上にあり、そしてクリティカルパスに寄与しない。その代りに、クリティカルパスは、信号Aと2Aを生成するための乗数ビットを含む。部分積のための乗算係数の符号を反転させるこのプロセスは、最終積行の符号が負であり得るケースを導入する。これゆえ、信号n8は、上記の図5に見られるように、乗算ツリーに追加されることができる。行を追加することは、追加の行を適応させるために削減ステージを変更することにより削減されることができる。これは、しかしながら、追加の遅延と関係するハードウェアを意味することがある。ここに示されたプロセスは、削減ステージにおいて追加の行を含まないが、その代わりに乗算ツリーへの論理的な変更を行うことにより部分積の既存の9行中へとn8信号を吸収することに焦点を合わせている。乗算ツリーに追加される遅延は、最小である。形式PProw_columnの各ドットを参照する表記は、開示された主題のこの態様を理解することを求める際に役立つ。図9を参照して、乗算ツリー中の各バイナリビットドットは、その固有の加重と行列中の位置とを有する。同じ列の全てのビットは、同じ加重を有し、そしてその加重が維持される限り任意の順番で削減されることができる。行は、0で始まり上から下に番号を付けられ、そして列は、0で始まり右から左に番号を付けられる。この表記を使用して、n8は、PP10_16に等価である。PP0_16,PP0_17,PP0_18とPP0_19は、基数-4ブースエンコーディングにより公知のスケーリングと符号拡張プロセスとを使用して生成される。そのようなアプローチを用いて、n8を乗算ツリーの中へと吸収することが可能である。そのように、符号付き乗算モードと符号なし乗算モードの両方においてPP0_16,PP0_17,PP0_18とPP0_19に対する全ての可能性のあるビット値を解析することによって、n8がその中に挿入されることができる位置は、全ての可能性のあるブース乗算係数に対して決定することが可能である。図9は、部分積行0の4つの最上位ビットに対する値の範囲、そして信号n8をこの4-ビットフィールドに追加する効果を列挙する。MUX構成は、n8がハイであるときに、4-ビットフィールドの変更された値を選択することを認める。言い換えると、開示されたプロセスは、信号n8が列16のところに追加される、すなわち、PP0_16である場合に、部分積行0の4つの最上位ビットの値を事前に計算し、そしてこの変更された4-ビットフィールドを削減ステージにおいて使用する。MUX構成は、一旦PP0_16表中にaとして示されるが標準ブース多重送信回路構成を使用して計算されるように最適化される。n8に基づく変更された4-ビットフィールドは、この後で最小遅延で解かれる。乗算処理の残りは、積AxBを生成するための通常の乗算フローと同じである。図10は、開示された主題のさらなる態様に対して利用可能な変更された16×16基数-4ブース乗算ツリーを示す。図10から、本開示の重要な符号拡張と定数丸め機能とを理解することが可能である。16×16乗数の削減ステージへの変更は、9個の部分積行を通るクリティカルパスを最小にし、そしてその積が冗長サム-キャリーフォーマットで利用可能であるときに、符号拡張を効率的に与える。図10は、16×16基数-4ブース乗数のための変更された削減ツリー304を示す。変更された削減ツリー304は、符号付きオペランドと符号なしオペランドを適応させ、そして積を否定する可能性を有する。削減の第1ステージは、全加算器の3行を使用して9行を6行に削減する。削減の第2ステージは、全加算器の2行を使用して6行を4行に削減する。削減の第3ステージと最終ステージは、4:2マルチ-オペランド加算器のある行を利用して、4行を最終の冗長サムとキャリー行へと削減する。サムとキャリーの32ビットが16×16積を表示するために十分であるけれども、追加ビットは、符号拡張が符号なし乗算に対して正しく取り扱われることを確実にする。図10は、積を形成する下位の32ビットよりもすぐ上位である列306をさらに示す。本明細書は、最終部分積行308のための符号ビットs8を導入するために列32から上方のブース乗算ツリーを変更する。この符号ビットs8は、積が符号拡張を必要としない場合には、必要とされない。ここで、部分積行8の正しい符号を保存するために、プロセスは、1ビットだけ部分積行308を拡張することを含む。32よりも大きい列は、削減の最終ステージまで影響されない。そのような点において、信号~s8は、列31からのキャリー-アウトとともに変換し、そしてc―として示されるキャリー-アウト310を生成する。最終積は、上方への行33から1要素拡張にキャリー-アウトc―310を加算することにより形成される。その効果は、符号としてc―を有する最終積のサム成分を符号拡張するためであり、一方で最終積のキャリー成分はゼロ-拡張である。これらのステップは、サム成分とキャリー成分の両方を符号拡張する必要性を排除する。例えば、16×16乗算が32-ビット積への64-ビット値の累算を必要とするMAC演算の一部である場合には、64-ビット値に32-ビット積を加算する前に、32-ビット積を64-ビットに符号拡張することが、必要とされるはずである。中間32-ビット積が冗長形式で残され、そしてここに提示された符号拡張プロセスが適用される場合に、31-ビットにわたりキャリー成分を符号拡張するために使用する複数のMUXを排除することの可能性のために、相当量の電力節約が生じ得る。再び図10を参照して、本明細書は、乗数、Bに丸め定数を加算する能力をさらに提供する。DSP演算において16×16乗算に対する一般的丸め定数は、0×8000である。16×16乗算の積を丸めることは、一般的な演算であり、それは2ステップ演算として典型的に実行される、ここで、乗数が積を生成するために最初に使用され、そして次に丸め定数がその積に加算される。上に記述された表記を使用すると、図10ではPP8_15が0であることに注意する。乗算行列中のこのビット位置に1を挿入することにより、最初に積を生成しそして次にその積に値0×8000を加算することにより求められるはずの結果と同じ結果を生成することが可能である。このプロセスは、しかもクリティカルパスにいかなる待ち時間も追加しない。乗算ブロック118中のハードウェアが乗算の積に1つの累算-オペランドを加算することが可能であるだけの能力に制限される場合には、乗算の積が丸められる必要があるときに累算-オペランドを有する丸め定数をMUXすることが、一般的である。これは、乗算の積についての丸め演算と累算演算との両方を単一ステップで実行することを困難にさせる。しかし、ここに開示されたプロセスを使用することは、そのような制限を排除する。要約すると、開示された主題は、設計のためのプロセス及びディジタル信号プロセッサの使用を提供し、通信例えば、CDMAシステムにおける送信を処理することを含む。開示された方法及びシステムは、ディジタル信号プロセッサにおいてブース乗算を実行するための拡張された削減ツリー回路構成を有するブース乗算器を含む。本方法及びシステムは、第1の複数のビットを含む被乗数、A、と第2の複数のビットを有する乗数、B、を決定する。開示された主題は、Bに基数-m例えば、基数-4ブースレコーディングを実行して、乗算係数の第1の事前に決められた整数値、n、を生成する。n個の乗算係数は、第2の複数のビットの個数の半分を近似する。本方法及びシステムは、Aの乗数としてn個の乗算係数を使用してn個の部分積をさらに生成する。それから、乗算ツリーは、基数-mブースエンコーディングを使用して形成される。負の乗算係数の事象では、本発明は、Aの第1の複数のビットを反転させる、そして2の補集合を完成させるために付着の1を付けることによりAの2の補集合を形成することを含む。それに加えて、本プロセスは、削減の複数のステージにおいて乗算係数を事前に決められた長さのサム成分とキャリー成分の集合へと削減することを含む。本発明は、変形されたブース乗数の技術的な利点をさらに提供し、それは形式[Z-AxB丸め定数]のMAC演算において使用されることが可能である。この乗数は、aブース乗算係数を否定してそして余分な付着のビットを削減ツリー中へと吸収することにより、b丸め定数を削減ツリーへと詰め込む場所を見つけることにより、そしてc冗長サムの符号拡張を必要とするだけの符号拡張プロセスを使用することにより、遅延、電力、及びハードウェアを最小にする。その上、本明細書中に記述された処理の特徴及び機能は、様々な方式で実施されることができる。例えば、DSP40が上記の演算を実行することがあるだけでなく、本実施形態は、用途特定集積回路ASIC:applicationspecificintegratedcircuit、マイクロコントローラ、マイクロプロセッサ、又は本明細書中に記述された機能を実行するために設計された他の電子回路、で実施されることができる。好ましい実施形態のこれまでの説明は、それゆえ、権利を主張する主題を当業者が制作すること又は使用することを可能にするために提供される。これらの実施形態への様々な変形は、当業者には容易に明らかにされるであろう、そして本明細書中で規定される一般的な原理は、革新的な能力を使用することなく他の実施形態に適用されることができる。そのように、権利を主張する主題は、本明細書に示された実施形態に限定するように意図されるのではなく、本明細書中に開示された原理と新奇な特徴に整合する最も広い範囲に一致する。"