(57)【特許請求の範囲】
【請求項１】
被乗数Ａを記憶するためのシフトレジスタと、
被乗数Ａを第１の複数のＰ個のディジットＡ0 〜ＡP-1 に区分し、乗数Ａを第２の複数のＫ個のディジットＢ0 〜ＢK-1 に区分し、ゲート部品の制御ターミナルに乗数Ｂのビット信号を印加し、前記被乗数Ａをいつゲートユニットに通過させ、前記乗数のどの論理ステートを前記ゲートユニットによって送るかを判断するゲート部品と、
Ａ0 〜ＡP-1 の部分積を受信するための加算部品ＡＤＤ0 〜ＡＤＤP-1 とを備え、各加算部品が加算部品ＡＤＤP-1 の第１入力ターミナルと前記ゲート部品との間に結合されたＰ−１個の入力遅延部品を有し、各加算ユニットが加算部品ＡＤＤP の出力ターミナルと前記加算部品ＡＤＤP の第２入力ターミナルとの間に結合されたＫ個の順次出力遅延部品を有し、各加算ユニットＡＤＤP が加算部品ＡＤＤP+1 にキャリー信号を印加するようになっている乗算ステージおよび；
加算部品ＡＤＤP-1 の（Ｋ−ｐ）番目の出力遅延部品の出力ターミナルに印加される信号グループを受けるための合計ステージを備えたデジタル乗算ユニット。
【請求項２】
被乗数Ａと乗数Ｂとをデジタル乗算する方法であって、
ａ）各ディジットが所定のシーケンスのＬ個の論理ビットＢK1から成る所定のシーケンスのＫ個のディジットＢK となるようにＢを区分し、
ｂ）ＡをあるシーケンスのＰ個のディジットＡP に区分し、
ｃ）最下位の乗数のディジットの最小位ビットから開始し、連続する時間中に逐次部分積（Ａ0 〜ＡP-1 ）＊ｂK1を形成し、
ｄ）Ｋ時間の遅延後、関連する加算部品ＡＤＤP の入力ターミナルに各ＡP ＊ｂK1を印加し、
ｅ）加算ユニットＡＤＤP からの出力信号をＫ時間遅延した後に加算部品ＡＤＤP の第２入力ターミナルに印加し、
ｆ）ｌ≦Ｌ−１のときに、前記乗数のディジットの、最下位の次の位のビットに対し、前記工程ｃ）〜ｅ）を繰り返し、
ｇ）ｌ＝Ｌのときに、連続する時間中に部分積Ａ＊Ｂ0 〜Ａ＊ＢK-1 を合計ユニットに印加する、ことを備えたデジタル乗算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ処理システムの部品に関し、より詳細にはデータ処理システムの乗算部品に関する。このデータ処理システムの乗算部品はデータビットによって示される被乗数にデータビットで示される乗数をかけるようになっている。
【０００２】
【従来技術】
従来技術では、乗算ユニット、例えばブース乗算ユニットまたは並列乗算ユニットは一般に部品の利用率が低い。データが乗算ユニットを通過する際にリップル動作する時間がある結果、このように利用率が低くなっている。上記乗算器の構造のいずれのタイプも、このリップル時間は乗算ユニットの加算ステージでデータを処理するのに時間がかかることから生じるものである。過去においてこのリップル時間を短縮するためにキャリールックアヘッド（桁上げ先見）回路が設けられた。しかしながらこのようなキャリールックアヘッド回路を設けることにより乗算ユニットに必要な部品の複雑性およびその数がかなり増すこととなった。
【０００３】
図１を参照すると、二進の被乗数Ａに二進の乗数Ｂをかけるための乗算ユニットは一般に３つのステージに分割できる。この第１ステージでは乗算方法の実施に使用される装置を簡略化するためレジスタ１０に記憶された被乗数Ａをプリプロセッサステージ１１によって予め処理するようになっている。次にディジット生成部品１３はレジスタ２０に記憶された乗数Ｂのｉ番目のディジットを生成する。第２ステージすなわち乗算ステージ１２では積Ａ＊Ｂi が生成される。第３ステージすなわち加算ステージ１４ではＡ＊Ｂi の合計が生成され、この部分積はＳi 、すなわち乗算レジスタ２０内の乗数ビットＢi の位置だけシフトされる。Ｂ＝ＳＵＭ（ｉ）｛Ｂi ２Si｝であるので、これら３つのステージの演算により所望の結果が生成される。例えば簡単なシフトおよび加算乗算ユニットではプリプロセッサステージ１１は作動しない。乗算ステージ１２はＡを１または０のいずれかで乗算する。この二進ビットはＢのｉ番目のディジットである。加算ステージ１４は積をＳi だけシフトし、すべての結果を加算する。
【０００４】
【発明が解決しようとする課題】
この例ではほとんどの複雑性は第３ステージすなわち合計ステージから生じるものである。乗算器のディジットは１または０のいずれかであるので、第２ステージすなわち乗算ステージは比較的簡単となっている。第３ステージすなわち合計ステージ１４では順次加算が行われ、加算値は１つのランニング合計値に加算されるので、加算器の部品の利用率は低くなっている。しかしながら多くの乗算ユニットの場合、乗算演算を実行するのに部品をほとんど必要としない時は、乗算機能を実行するためにより長い時間が許容される。
【０００５】
従って、乗算ユニットの部品の利用率を高めるように講じた装置および関連する方法がこれまで望まれていた。部品の利用率をより高くする結果、乗算方法を実行するための処理サイクルをより多くできる。更に第２ステージすなわち乗算ステージで部分積の加算の多くを実行することにより、第３ステージすなわち合計ステージでのキャリーリップル（桁上げ伝搬）の活動を比較的少なくすることが望ましい。
【０００６】
【課題を解決するための手段】
代表的な構造と、プリプロセッサステージと、乗算ステージと、合計ステージとを有する、本発明に係わる乗算ユニットにより上記およびそれ以外の特徴が得られる。しかしながら本発明では、被乗数を記憶するためのレジスタはシフトレジスタとなっている。乗算ステージはゲート部品を含み、このゲート部品はゲート部品の制御ターミナルに印加される乗数の論理信号のサブディジットに応答して、適当にシフトされた被乗数を制御自在に通過させる。乗算ステージは複数の加算部品も含み、各加算部品は被乗数のディジット（一般に多数の論理信号となっている）（被乗数のディジットは第１加算ユニットサイクル後はサイクルに応じてシフトされる）に関連している。各加算ユニットの第１入力ターミナルは直列に結合された遅延部品を有し、遅延部品の数は関連する被乗数のディジットの位置および乗数のディジット数に応じて決まる。各加算ユニットの出力ターミナルは一連のＫ個（Ｋは乗数を区分したディジット数であり、Ｐは被乗数を区分したディジット数である）の遅延部品に印加され、Ｋ個の遅延部品の出力は同じ加算部品の第２の入力ターミナルに結合される。このように部分積ＡP ＊ＢK を生成できる。ここでＡP およびＢK はそれぞれ被乗数のディジットおよび乗数のディジットである。遅延部品に記憶される信号を適当に選択することにより、連続するサイクルで乗算ユニットの合計ステージへ部分積Ａ＊Ｂ0 からＡ＊ＢK-1 を印加できる。乗数の論理信号の数が被乗数を含む論理信号の整数倍であるとき、乗算ユニットの実現は特に容易となる。
【０００７】
添付図面と共に次の詳細な説明を読めば、本発明の上記およびそれ以外の特徴について理解できよう。
【０００８】
【発明の実施の形態】
図１については従来技術に関連して説明した。
【０００９】
図２を参照すると、ここには本発明に係わる乗算ユニットの第２ステージ、すなわち乗算ステージ１２が示されている。被乗数ＡはＭ個の論理信号を有し、Ｐ個のディジットすなわち論理信号のグループに区分されている。これらディジットはＡ0 〜ＡP-1 と表示されている。図１に示されるレジスタ１０には被乗数Ａが記憶される。レジスタ１０は付加部分２９を有することに留意されたい。乗算器の作動中に被乗数Ａはシフトされ、このシフトを可能にするためにより大きいレジスタが必要である。被乗数Ａはゲート部品２１に印加される。被乗数Ａのゲート部品２１の通過はゲート部品２１の制御ターミナルに乗数Ｂのどの論理ビットが加えられるかによって決定される。ゲート部品が被乗数Ａのビットを通過させるか、または被乗数Ａのビットの反対の論理ビットを通過させるかは、ゲート部品２１の制御ターミナルに加えられるビットの論理ステートに応じて決まる。乗数ＢはＫ個のディジット、すなわち論理信号のグループ、例えばＢ0 〜ＢK-1 に区分されている。ゲート２１からの通過した信号は一連のＰ個の加算ユニット２２に加えられる。ゲート部品２１によって通過される際の被乗数Ａの最下位のディジットＡ0 は直接第１の（すなわち最小位の）加算部品２２へ印加される。被乗数Ａの第２番目の最下位のディジットＡ1 はゲート部品２１を通過する際に単一遅延部品２３を通って、第２の（すなわち次に大きい位の）加算部品２２へ加えられる。ゲート部品２１を通過するＡの別の各ディジットは別の遅延部品２３を通って関連する（次第に位が増す）加算部品２２へ加えられる。ゲート部品２１を通過する最上位のディジットＡP-1 はＫ−１の遅延部品２３を通って関連する加算ユニット２２へ印加される。加算ユニット２２の出力信号の各々は直列に結合されたＫ個の遅延部品２４へ加えられる。最終遅延部品２４の出力端は関連する加算部品２２の第２の入力ターミナルに結合されている。被乗数Ａの最下位ディジットＡ0 に関連する加算ユニット２２に結合されたＫ個の遅延部品のうちの最終部品の入力ターミナルから最下位のディジットの出力信号が取り出される。被乗数Ａの最下位の次の位のディジットＡ1 を受ける加算部品２２に関連した最終の次の遅延部品２４の入力端から、最下位の次の位のディジットが得られる。こうして被乗数から最上位のビットＡP-1 を受ける加算部品２２からは最上位の出力信号が得られる。加算部品２２から次に高い被乗数のディジットに関連した加算部品のキャリーインターミナルへキャリーアウト（桁上げ）ビットが加えられる。乗数は長さがＮ個のビットとなっている。被乗数がＭ個のビットを有し、レジスタ１０（このレジスタ１０は長さがＭ＋Ｌビットとなっている）のＭ個の位の小さいビットに記憶される場合、Ｍ＋Ｌ個のビットは（Ｍ＋Ｌ）／Ｐ個の論理ビットによりＰ個のディジットに区分される。乗数は長さがＮ個のビットであるので、このＮ個のビットはＮ／Ｋ＝Ｌ個の論理ビットによりＫ個のディジットに区分される。乗算ステージにおける加算部品は長さがＭ＋Ｌ個のビットであり、各乗算ステージの加算部品２２は長さが（Ｍ＋Ｌ）／Ｐ個の論理ビットである。各加算部品２２は先の加算部品２２がその入力信号を受けた１サイクル、すな��ち１クロック後でその入力信号を受ける。部分積をスキューイング利用することから加算機部品２２の長さが短くなっているので、クリティカルパスも短縮されている。
【００１０】
図３Ａを参照する。ここには図２の乗算ユニットの演算の１周期Ｔの後に、被乗数からの最下位ディジットを受ける加算部品２２に関連した遅延部品２３、２４の内容および被乗数からの最下位の次の位のディジットを受ける加算ユニットに関連した遅延部品２３および２４の内容が示されている。図３Ｂには１周期Ｔの５倍の時間の後に同じ遅延部品２３および２４の内容が示されており、被乗数は４つのディジットに区分されている。
【００１１】
図４を参照すると、ここには本発明により加算ステージ１４に印加される信号が示されている。Ｑ＝（Ｎ＋Ｋ−１）のサイクルまたは周期の後で乗算ユニット１２の出力はＡ＊Ｂ0 となる。次の周期で、すなわち（Ｎ＋Ｋ）サイクルで、乗算ユニットの出力はＡ＊Ｂ1 となる。次の２周期の間で乗算ユニットの出力はＡ＊Ｂ2 となり、Ａ＊Ｂ3 が得られる。これら部分積は合計ステージ１４で順に加算される。
【００１２】
図５を参照すると、ここには乗算ステージ１２からの部分積に対する出力論理信号が示されている。Ｍは乗数の各ディジットの論理信号の数であるが、他方Ｌは被乗数のディジットに対する論理信号の数である。加算ステージ１４へ印加すべき乗数ステージ１２からの部分積は幅がＬ＋Ｍ個のビットとなっている。乗算ユニットは遅延部品２３から得られるスキューイングにより、連続するクロックサイクルでＫ個の部分積の各々が利用できるように構成されている。Ｋ個の部分積の各々は乗算ステージ１２からの先の部分積に対し、Ｌ個のビット位置だけシフトされる。
【００１３】
図６を参照すると、ここには乗数Ｂが被乗数Ａの倍数Ｒ（例えば４）となっている場合に、本発明を実施した例が示されている。この構造は、図２の構造と類似している。しかしながら最終遅延部品２４の１つ前の入力端から乗算ステージからの最下位ディジットに対する出力を得ている。次の２つのディジットの双方は最終遅延ライン２４の前のラインに先行する遅延ライン２４への入力端から受信される。最上位ディジットは加算ユニット２２の出力端、すなわち被乗数の最上位ディジットに関連する加算ユニット２２から得られる。一般に乗算ステージ１２の出力信号の最上位の半分は信号の最下位の半分と比較して１周期だけ遅延される。
【００１４】
２．好ましい実施例の動作
本発明は次のように理解できる。図２を参照すると、Ｂ00（すなわち乗数の第１のディジットの第１ビット）と被乗数Ａの部分積が加算ユニット（加算ユニットは加算器と遅延部品を含む）に入力され、記憶される。Ｂ10（乗数の第２のディジットの第１ビット）の部分積が加算ユニットに入力され、記憶される。被乗数Ａと乗数のディジットの第１のビットのすべてとの部分積のすべてが記憶されるまで（すなわち｛Ａ＊（Ｂ00＋....＋Ｂ(K-1)0）｝）このプロセスが続けられる。次にレジスタ１０において、被乗数Ａが１ビット位置だけシフトされ、同じ乗数のディジットの位置の部分積を組み合わせる例外を除き、上記プロセスが繰り返される。このプロセスは乗数のディジットの各ビット位置に対して繰り返される。図２を参照すると、遅延部品２３から生じたスキューイングの結果として、遅延部品２４はＡP ＊ＢK の部分積を累積する。遅延部品２４から出力信号が抽出される態様、すなわち加算器の位が増すごとに別の遅延ラインから部分積が得られる態様から、部分積Ａ＊ＢK は連続する周期の間で加算ユニット１４へ加えられる。乗算ステージ１２からのＫ個の部分積はＫｉのインクリメント量だけシフトされ、Ｋ個の部分積を別々に処理するか、または組み合わせできる。二進表示ではディジットは重複しないので、加算すべき結果はＭすなわち被乗数Ａの大きさだけ重複するに過ぎない。従って、これら部分積は加算ステージ１４において長さＭの加算器を使って加算できる。図５にはこれら部分積の重複が示されている。また図５は、長さＬ−Ｍのキャリーリップルも示している。Ｌ≧Ｍの場合、加算ステージにおける加算は長さＭの加算器および長さＬ−Ｍのキャリー伝搬ユニットを使って実行できる。従って加算ステージは長さＬの高速シフトおよびＭビットの加算ユニットを使って実現できる。
【００１５】
Ｌ＝Ｍの場合、本発明の加算器は図５に示されるように実現できる。周期Ｔにおける乗算ステージの最上位の半分をＴ＋１の時間における最下位の半分に加算する。この結果生じるキャリーは次の加算演算で実施する。部分積は乗数をＭ個のスライスのままにする。（最初の出力が最下位の半分である場合を除き）所望の結果が得られるように最上位部分と最下位部分を直接加算することが可能である。一般的な構成に含まれるゲートおよびシフト部品はプリプロセッサステージ１１のシフト演算に含めることができる。
【００１６】
本発明の結果、レイテンシーを増しながら部品の利用率が高まる。加算ユニット２２は部分積ＡP ＊Ｂk の累積中に何回も使用される。
【００１７】
再度、図６を参照する。合計ステージは加算演算のキャリーアウトと別の加算のキャリーインとを結ぶ長さＬ−Ｍビットのリップルキャリーを含む。Ｌ≧Ｍの時は長さＭビット位置の加算器と長さＬ−Ｍビット位置のキャリー伝搬ユニットを用いて加算を行うことができるので、加算が簡略化される。Ｌ−Ｍ＝０の場合、合計ステージを構成するにはキャリー装置を備えた長さＬの、Ｍビットの加算ユニットをルーティングするだけでよい。
【００１８】
本発明は乗算演算を実行するのにより多数のサイクルを必用としながら、装置をあまり使用しないようにすることを意図したものである。部分積Ａ0 ＊Ｂ0 のレイテンシーはＮサイクルであるが、部分積Ａ＊Ｂ0 のレイテンシーはＮ＋Ｋ−１サイクルである。しかしながら装置の数を増やすことによって、このレイテンシーを小さくできる。例えばゲート部品２１の装置の複雑性を適当に高めることにより、乗算器Ｂからの２ビット（またはそれ以上のビット）をゲート部品２１に加え、これらを乗算ステージの他の部品に印加する前にこれらビットを被乗数Ａでコード化できる。従って、装置の数を増すことを犠牲に、レイテンシーを改善できる。更にゲート部品の複雑性を高めることにより、すなわち被乗数Ａの一部を適当にシフト（またはルーティング）することにより加算部品の入力ターミナルの結合された遅延部品を省略できる。
【００１９】
以上で特に好ましい実施例を参照して、本発明について説明したが、当業者であれば本発明から逸脱することなく、種々の変更を行ったり、好ましい実施例の部品を均等物に置換することも理解できよう。更に本発明の要旨から逸脱することなく、本発明の要旨に特定の状況および材料を適合するように多数のへんこうを行うことができる。
【００２０】
上記説明から明らかなように、本発明の所定の特徴は、図示した実施例の特定の細部に限定されるものでなく、よって当業者には他の変形および用途を思いつくことができよう。従って、特許請求の範囲は本発明の精神および範囲から逸脱しないすべての変形例および用途をカバーするものである。
【００２１】
以上の説明に関して更に以下の項を開示する。
（１）被乗数Ａを記憶するためのシフトレジスタと、
被乗数Ａを第１の複数のＰ個のディジットＡ0 〜ＡP-1 に区分し、乗数Ａを第２の複数のＫ個のディジットＢ0 〜ＢK-1 に区分し、ゲート部品の制御ターミナルに乗数Ｂのビット信号を印加し、前記被乗数Ａをいつゲートユニットに通過させ、前記乗数のどの論理ステートを前記ゲートユニットによって送るかを判断するゲート部品と、
Ａ0 〜ＡP-1 の部分積を受信するための加算部品ＡＤＤ0 〜ＡＤＤP-1 とを備え、各加算部品が加算部品ＡＤＤP-1 の第１入力ターミナルと前記ゲート部品との間に結合されたＰ−１個の入力遅延部品を有し、各加算ユニットが加算部品ＡＤＤP の出力ターミナルと前記加算部品ＡＤＤP の第２入力ターミナルとの間に結合されたＫ個の順次出力遅延部品を有し、各加算ユニットＡＤＤP が加算部品ＡＤＤP+1 にキャリー信号を印加するようになっている乗算ステージおよび；
加算部品ＡＤＤP-1 の（Ｋ−ｐ）番目の出力遅延部品の出力ターミナルに印加される信号グループを受けるための合計ステージを備えたデジタル乗算ユニット。
（２）あるシーケンスの部分積Ａ＊ＢK （ここでＫは０〜Ｋ−１である）が前記合計ステージに印加される、項（１）記載の乗算ユニット。
（３）乗数の論理信号の数が被乗数の論理信号の数の倍数である、項（１）記載の乗算ユニット。
（４）前記ゲート部品の機能を含むプリプロセッサステージを更に含む、項（３）記載の乗算ユニット。
（５）前記合計ユニットがキャリーユニットを備えたＭ×Ｎの加算部品（ここでＭは被乗数のビット数である）である、項（３）記載の乗算ユニット。
（６）前記合計ユニットに位の高いＡ＊ＢK の部分積を印加し、その後、次に位の低いＡ＊ＢK の部分積を印加する、項（３）記載の乗算ユニット。
（７）Ｋ＝Ｐである、項（１）記載の乗算ユニット。
（８）前記合計ユニットがＬ＋Ｍビット幅の加算部品（ここでＬは乗数Ｂの各ディジットにおけるビット数であり、Ｍは被乗数Ａのディジット数である）を有する、項（７）記載の乗算ユニット。
【００２２】
（９）被乗数Ａと乗数Ｂとをデジタル乗算する方法であって、
ａ）各ディジットがあるシーケンスのＬ個の論理ビットＢK1から成る、あるシーケンスのＫ個のディジットＢK となるようにＢを区分する工程と、
ｂ）ＡをあるシーケンスのＰ個のディジットＡP に区分する工程と、
ｃ）最下位の乗数のディジットの最下位ビットから開始し、連続する時間中に逐次部分積（Ａ0 〜ＡP-1 ）＊ｂK1を形成する工程と、
ｄ）Ｋ時間の遅延後、関連する加算部品ＡＤＤP の入力ターミナルに各ＡP ＊ｂK1を印加する工程と、
ｅ）加算ユニットＡＤＤP からの出力信号をＫ時間遅延した後に加算部品ＡＤＤP の第２入力ターミナルに印加する工程と、
ｆ）ｌ≦Ｌ−１のときに、前記乗数のディジットの、最下位の次の位のビットに対し、工程ｃ）〜ｅ）を繰り返す工程と、
ｇ）ｌ＝Ｌのときに、連続する時間中に部分積Ａ＊Ｂ0 〜Ａ＊ＢK-1 を合計ユニットに印加する工程とを備えたデジタル乗算方法。
（１０）連続する時間中に部分積Ａ＊ＢK から成る出力信号を生成する工程を更に含む、項（９）記載の方法。
（１１）Ｌ＋Ｍビット幅の加算部品（ここでＭは被乗数のビット数である）を有する合計ステージで前記部分積Ａ＊ＢK を加算する工程を更に含む、項（１０）記載の方法。
（１２）Ｌ＝Ｍの場合に、より位の高いほうの部分積Ａ＊ＢK を位の低い部分積Ａ＊ＢK1よりも先に前記合計ユニットに与える、項（１１）記載の方法。
【００２３】
（１３）被乗数Ａを記憶するためのシフトレジスタと、
乗数Ｂからの印加論理信号に応答自在であり、この印加された論理信号によって決定される被乗数Ａの各ビットに対する論理ステートで前記被乗数Ａを通過させるための、前記被乗数Ａが印加されるゲート部品と、
前記ゲート部品に結合された第１の複数の累積ユニットとを備え、各累積ユニットが、
複数の記憶設備を含み、前記記憶設備の各々が予め選択された被乗数のディジットと前記乗数の選択されたディジットの論理信号との部分積を記憶する累積ユニットから成り、累積ユニットの前記記憶設備の各々が前記各記憶設備の内容に新たに形成された部分積を加算するための装置を含み、前記複数の累積ユニットが前記被乗数と乗数のディジットの部分積の部分出力信号を生成するデジタル乗算ユニット。
（１４）前記出力信号が連続する時間中に前記被乗数Ａと、位が増す前記乗数ＢK のディジットとの部分積を含む、項（１３）記載の乗算ユニット。
（１５）前記乗数が前記被乗数の整数倍である、項（１４）記載の乗算ユニット。
（１６）前記部分積を合計するための合計ユニットがＭ×Ｍビット幅（ここでＭは乗数のディジット数である）である、項（１５）記載の乗算ユニット。
【００２４】
（１７）被乗数Ａを記憶するためのシフトレジスタと、
被乗数Ａを第１の複数のＰ個のディジットＡ0 〜ＡP-1 に区分し、乗数Ａを第２の複数のＫ個のディジットＢ0 〜ＢK-1 に区分し、ゲート部品の制御ターミナルに乗数Ｂのビット信号を印加し、前記被乗数Ａをいつゲートユニットに通過させるか、更に通過させる被乗数の論理信号の論理状態を決定するゲート部品と、乗数Ｂのディジットの論理信号と被乗数のディジットＡ0 〜ＡP-1 の部分積を受信するための加算部品ＡＤＤ0 〜ＡＤＤP-1 とを備え、各加算部品が加算部品ＡＤＤP-1 の第１入力ターミナルと前記ゲートおよびシフト部品との間に結合されたＰ−１個のシーケンシャルな入力遅延部品を有し、各加算ユニットが加算部品ＡＤＤP の出力ターミナルと前記加算部品ＡＤＤP+1 の第２入力ターミナルとの間に結合されたＫ個の順次出力遅延部品を有し、各加算ユニットＡＤＤP が加算部品ＡＤＤP+1 にキャリー信号を印加するようになっている乗算ステージと、加算部品ＡＤＤP-1 の（Ｋ−ｐ）番目の出力遅延部品の出力ターミナルに印加される信号グループを受けるための合計ステージとを備えたデジタル乗算ユニット。
【００２５】
（１８）プリプロセッサステージと、乗算ステージと、合計ステージとを有する乗算ユニットにおいて、乗算ステージがシフトレジスタと、ゲート部品制御ターミナルに印加される乗数Ｂのビット信号によって決定される態様で被乗数Ａを制御しながら通過させるためのゲート部品とを含む。被乗数のディジットにより部分積をグループ分けし、ディジットの順によって決定される遅延部品を通して、関連する加算部品の第１ターミナルに各ディジットを印加する。各加算部品からの出力信号が複数の遅延部品を通過するようにし、同じ加算部品の第２入力ターミナルに印加する。このようにして部分積ＡP ＊Ｂq をアセンブルし、単一周期で合計ユニットへ部分積（Ａ0 ＋....ＡM ）＊Ｂq ＝Ａ＊Ｂq を印加できる。乗数が被乗数の整数倍である時は、実施は特に容易である。
【図面の簡単な説明】
【図１】３ステージの乗算ユニットの一般的アーキテクチャを示すブロック図である。
【図２】本発明に係わる３ステージアーキテクチャの第２すなわち乗算ステージのブロック図である。
【図３】図２の装置の最下位デジタルパス内および次の位のデジタルデータパス内の遅延部品の内容を示し、そのうちの図３Ａは最初の乗算サイクルの後の遅延部品の内容を示し、図３Ｂは５つの乗算サイクル後の遅延部品の内容を示す。
【図４】本発明に係わる乗算ユニットの乗算ステージから合計ステージへの部分積の印加を示すブロック図である。
【図５】乗算ステージによって得られた部分積の、図２の乗算ユニットの合計ステージへの重複を示す拡大図である。
【図６】本発明の特殊なケースを示すブロック図である。
【符号の説明】
１０  レジスタ
１２  乗算ステージ
１４  合計ステージ
２１  ゲート部品
２２  加算ユニット
２３、２４  遅延部品
【図１】
0003848764.tif 000002
【図２】
0003848764.tif 000003
【図３】
0003848764.tif 000004
【図４】
0003848764.tif 000005
【図５】
0003848764.tif 000006
【図６】
0003848764.tif 000007