JP2607735B2 - 倍数器の部分積加算方法 - Google Patents
倍数器の部分積加算方法Info
- Publication number
- JP2607735B2 JP2607735B2 JP2159956A JP15995690A JP2607735B2 JP 2607735 B2 JP2607735 B2 JP 2607735B2 JP 2159956 A JP2159956 A JP 2159956A JP 15995690 A JP15995690 A JP 15995690A JP 2607735 B2 JP2607735 B2 JP 2607735B2
- Authority
- JP
- Japan
- Prior art keywords
- divided
- multiplier
- data
- circuit
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【発明の詳細な説明】 〔概要〕 倍数器の部分積を加算する技術、特に、複数の全加算
器がツリー状に構成されてなる加算回路を備えた演算用
プロセッサにおいて乗算の際に倍数器により生成された
複数の部分積を加算する方法に関し、 乗算を行うビット数が仮に増加しても、レイアウト面
積の増大すなわちチップ面積の増大を防ぐことを目的と
し、 前記複数の部分積をm個単位でn段、但しm及びnは
それぞれ2以上、に分割し、該分割されたn段の各段に
ついてそれぞれm個単位の部分積の各位毎に最大mビッ
トの和を算出し、該算出された複数の和単位のデータ
を、前記n段の各段について、前記倍数器のビット幅に
対し複数ブロックに分割し、該分割されたデータを前記
加算回路に複数回に分けて入力し、演算を行うように構
成する。
器がツリー状に構成されてなる加算回路を備えた演算用
プロセッサにおいて乗算の際に倍数器により生成された
複数の部分積を加算する方法に関し、 乗算を行うビット数が仮に増加しても、レイアウト面
積の増大すなわちチップ面積の増大を防ぐことを目的と
し、 前記複数の部分積をm個単位でn段、但しm及びnは
それぞれ2以上、に分割し、該分割されたn段の各段に
ついてそれぞれm個単位の部分積の各位毎に最大mビッ
トの和を算出し、該算出された複数の和単位のデータ
を、前記n段の各段について、前記倍数器のビット幅に
対し複数ブロックに分割し、該分割されたデータを前記
加算回路に複数回に分けて入力し、演算を行うように構
成する。
本発明は、倍数器の部分積を加算する技術に係わり、
特に、複数の全加算器がツリー状に構成されてなる加算
回路を備えた演算用プロセッサにおいて乗算の際に倍数
器により生成された複数の部分積を加算する方法に関す
る。
特に、複数の全加算器がツリー状に構成されてなる加算
回路を備えた演算用プロセッサにおいて乗算の際に倍数
器により生成された複数の部分積を加算する方法に関す
る。
上述した特定の加算回路の一例として、ウォーレスの
ツリー回路(Wallace' Tree)が知られている。このウ
ォーレスのツリー回路を備えた演算用プロセッサ(第2
図参照)では、例えば被乗数53ビット×乗数53ビットの
乗算を行う場合、部分積の数は乗数のビット数分、つま
り53個になる。また、2次のブース(Booth)・デコー
ダを用いてそれを行う場合、部分積の数は27個になり、
各部分積のビット数は被乗数のビット数、すなわち53と
なる。
ツリー回路(Wallace' Tree)が知られている。このウ
ォーレスのツリー回路を備えた演算用プロセッサ(第2
図参照)では、例えば被乗数53ビット×乗数53ビットの
乗算を行う場合、部分積の数は乗数のビット数分、つま
り53個になる。また、2次のブース(Booth)・デコー
ダを用いてそれを行う場合、部分積の数は27個になり、
各部分積のビット数は被乗数のビット数、すなわち53と
なる。
2次のブース・デコーダを用いて乗算を行った場合、
ビット幅が107で、部分積数が27の倍数器加算を行わな
ければならない。これをウォーレスのツリー回路を用い
て加算する場合、ウォーレスのツリー回路で使用される
1ビット全加算器の数はおよそ1500ぐらいになる。
ビット幅が107で、部分積数が27の倍数器加算を行わな
ければならない。これをウォーレスのツリー回路を用い
て加算する場合、ウォーレスのツリー回路で使用される
1ビット全加算器の数はおよそ1500ぐらいになる。
この数は、乗算を行うビット数の増加に伴って増大す
る傾向にあり、将来のビット幅増加の傾向を考えると、
益々ウォーレスのツリー回路がチップ上で占有する面積
は大きくなる。これは、チップ上における回路全体のレ
イアウト面積の増大につながり、ひいてはチップ面積が
増大することになるので、好ましいとは言えない。
る傾向にあり、将来のビット幅増加の傾向を考えると、
益々ウォーレスのツリー回路がチップ上で占有する面積
は大きくなる。これは、チップ上における回路全体のレ
イアウト面積の増大につながり、ひいてはチップ面積が
増大することになるので、好ましいとは言えない。
本発明は、かかる従来技術における課題に鑑み創作さ
れたもので、乗算を行うビット数が仮に増加しても、レ
イアウト面積の増大すなわちチップ面積の増大を防ぐこ
とができる倍数器の部分積加算方法を提供することを目
的としている。
れたもので、乗算を行うビット数が仮に増加しても、レ
イアウト面積の増大すなわちチップ面積の増大を防ぐこ
とができる倍数器の部分積加算方法を提供することを目
的としている。
上記課題を解決するため、本発明では、特定の加算回
路(ウォーレスのツリー回路等)の占有面積すなわち物
量を小さくしても本来の機能と同等の機能を果たせるよ
うに、部分積の加算方法を工夫している。
路(ウォーレスのツリー回路等)の占有面積すなわち物
量を小さくしても本来の機能と同等の機能を果たせるよ
うに、部分積の加算方法を工夫している。
従って本発明によれば、第1図の原理図に示されるよ
うに、複数の全加算器がツリー状に構成されてなる加算
回路1を備えた演算用プロセッサにおいて乗算の際に倍
数器2により生成された複数の部分積P1〜PXを加算す
る方法であって、前記複数の部分積をm個単位でn段、
但しm及びnはそれぞれ2以上、に分割し(ステップS
1)、該分割されたn段の各段についてそれぞれm個単
位の部分積の各位毎に最大mビットの和を算出し(ステ
ップS2)、該算出された複数の和単位のデータを、前記
n段の各段について、前記倍数器のビット幅に対し複数
ブロックに分割し(ステップS3)、該分割されたデータ
を前記加算回路に複数回に分けて入力し(ステップS
4)、演算を行うようにしたことを特徴とする倍数器の
部分積加算方法が提供される。
うに、複数の全加算器がツリー状に構成されてなる加算
回路1を備えた演算用プロセッサにおいて乗算の際に倍
数器2により生成された複数の部分積P1〜PXを加算す
る方法であって、前記複数の部分積をm個単位でn段、
但しm及びnはそれぞれ2以上、に分割し(ステップS
1)、該分割されたn段の各段についてそれぞれm個単
位の部分積の各位毎に最大mビットの和を算出し(ステ
ップS2)、該算出された複数の和単位のデータを、前記
n段の各段について、前記倍数器のビット幅に対し複数
ブロックに分割し(ステップS3)、該分割されたデータ
を前記加算回路に複数回に分けて入力し(ステップS
4)、演算を行うようにしたことを特徴とする倍数器の
部分積加算方法が提供される。
上述した構成によれば、n段の各段についてそれぞれ
m個単位の部分積の各位毎に算出された複数の和単位の
データを複数回(K回とする)に分けて加算回路1に入
力し、演算を行うようにしている。
m個単位の部分積の各位毎に算出された複数の和単位の
データを複数回(K回とする)に分けて加算回路1に入
力し、演算を行うようにしている。
従って、その加算回路への入力ビット数は、従来形の
場合に比してほぼ1/Kで済む。そのため、従来形の倍数
器のビット幅で必要とされた加算回路への入力本数を減
らすことができ、それに応じて該加算回路に必要とされ
る全加算器の数も削減することが可能となる。つまり、
加算回路1の物量はほぼ1/Kに削減され、それに応じて
レイアウト面積も縮小化される。そのため、乗算を行う
ビット数が仮に増加しても、レイアウト面積の増大、す
なわちチップ面積の増大を防ぐことができる。
場合に比してほぼ1/Kで済む。そのため、従来形の倍数
器のビット幅で必要とされた加算回路への入力本数を減
らすことができ、それに応じて該加算回路に必要とされ
る全加算器の数も削減することが可能となる。つまり、
加算回路1の物量はほぼ1/Kに削減され、それに応じて
レイアウト面積も縮小化される。そのため、乗算を行う
ビット数が仮に増加しても、レイアウト面積の増大、す
なわちチップ面積の増大を防ぐことができる。
なお、本発明の他の構成上の特徴および作用の詳細に
ついては、添付図面を参照しつつ以下に記述される実施
例を用いて説明する。
ついては、添付図面を参照しつつ以下に記述される実施
例を用いて説明する。
第2図には本発明を実施するための演算用プロセッサ
の主要部の構成が示される。
の主要部の構成が示される。
同図において、11は53ビット×53ビットの乗算におい
て生成される部分積の数を略半分(53→27)にするため
の制御信号を生成する2次のブース・デコーダ、12は該
制御信号に基づき27個の部分積P1〜P27(各部分積の
ビット数は53ビット)を生成する倍数器、13は部分積P
1〜P27を3×9段に分割した形で一時格納する部分積
格納部、そして14は複数の全加算器がツリー状に構成さ
れてなるウォーレスのツリー回路を示す。
て生成される部分積の数を略半分(53→27)にするため
の制御信号を生成する2次のブース・デコーダ、12は該
制御信号に基づき27個の部分積P1〜P27(各部分積の
ビット数は53ビット)を生成する倍数器、13は部分積P
1〜P27を3×9段に分割した形で一時格納する部分積
格納部、そして14は複数の全加算器がツリー状に構成さ
れてなるウォーレスのツリー回路を示す。
以下、本発明の一実施例による部分積加算方法につい
て第3図〜第6図(a),(b)を参照しながら説明す
る。
て第3図〜第6図(a),(b)を参照しながら説明す
る。
第3図は第1図におけるステップS1の具体例を示す。
図中、P1〜P27は倍数器12により生成された部分積を
表し、各部分積は、例えば部分積P1を例にとると、a0
〜a52の53ビットで構成されている。これらの部分積P
1〜P27を3×9段に分割され、各段S1〜S9はそれぞ
れ3つの部分積から成っている。
図中、P1〜P27は倍数器12により生成された部分積を
表し、各部分積は、例えば部分積P1を例にとると、a0
〜a52の53ビットで構成されている。これらの部分積P
1〜P27を3×9段に分割され、各段S1〜S9はそれぞ
れ3つの部分積から成っている。
第4図は第1図におけるステップS2の具体例を示す。
図示の例では、分割された1段分S1において部分積
P1〜P3の各位(3桁目〜55桁目)毎に、1ビット全加
算器(FA)によりそれぞれ最大3ビットの加算が行わ
れ、和(S)とキャリー(C)が算出されている。この
ような各位毎の和の算出は、分割された9段(S1〜
S9)の各個についてそれぞれ行われる。
P1〜P3の各位(3桁目〜55桁目)毎に、1ビット全加
算器(FA)によりそれぞれ最大3ビットの加算が行わ
れ、和(S)とキャリー(C)が算出されている。この
ような各位毎の和の算出は、分割された9段(S1〜
S9)の各個についてそれぞれ行われる。
第5図は第1図におけるステップS3の具体例を示す。
図示の例では、1段分S1に関して、上述のステップ
で求めた和とキャリーが全加算器(FA)単位で、倍数器
のビット幅(53ビット)に対し上位側と下位側に分割さ
れている。このような分割は、9段(S1〜S9)の全て
に対して行われる。
で求めた和とキャリーが全加算器(FA)単位で、倍数器
のビット幅(53ビット)に対し上位側と下位側に分割さ
れている。このような分割は、9段(S1〜S9)の全て
に対して行われる。
第6図(a)および(b)は第1図におけるステップ
S4の具体例を示す。
S4の具体例を示す。
第6図(a)はウォーレスのツリー回路14の構成の一
部分を示し、図示の例では、各段(S1〜S5)における
特定の位S1 *〜S5 *の加算結果がウォーレスのツリー回
路に入力されている。この場合、5つの全加算器(FA)
からそれぞれ和(S)とキャリー(C)の2つの信号が
出力され、この位のウォーレスのツリー回路への入力信
号機は10本となる。
部分を示し、図示の例では、各段(S1〜S5)における
特定の位S1 *〜S5 *の加算結果がウォーレスのツリー回
路に入力されている。この場合、5つの全加算器(FA)
からそれぞれ和(S)とキャリー(C)の2つの信号が
出力され、この位のウォーレスのツリー回路への入力信
号機は10本となる。
第6図(b)は、分割された9段(S1〜S9)の各個
からそれぞれ各位毎に出力される全加算器(FA)の出力
をウォーレスのツリー回路14に入力する手順を示してい
る。
からそれぞれ各位毎に出力される全加算器(FA)の出力
をウォーレスのツリー回路14に入力する手順を示してい
る。
前述のステップ(第5図参照)で上位側と下位側に分
割されたデータのうち、先ず、ウォーレスのツリー回路
14に下位側のデータを入力して演算を行い、加算結果を
ラッチする。
割されたデータのうち、先ず、ウォーレスのツリー回路
14に下位側のデータを入力して演算を行い、加算結果を
ラッチする。
次いで、上位側のデータをウォーレスのツリー回路14
に入力して演算を行う。この時、下位側の演算結果のデ
ータのうち斜線で示した部分は上位側の斜線の部分
の各位と同じ位であるので、その部分を読み出し、当
該部分に対応させながら演算を行う。
に入力して演算を行う。この時、下位側の演算結果のデ
ータのうち斜線で示した部分は上位側の斜線の部分
の各位と同じ位であるので、その部分を読み出し、当
該部分に対応させながら演算を行う。
上位側の演算が終了すると、その加算結果は下位側の
加算結果と共にラッチされ、ウォーレスのツリー回路14
における演算(加算処理)は終了する。
加算結果と共にラッチされ、ウォーレスのツリー回路14
における演算(加算処理)は終了する。
なお、上記の演算処理において、本来と同様の処理ス
ピードを実現するためには、下位側および上位側のデー
タは本来の2倍のスピードで取り込み、そしてラッチす
ることが必要である。
ピードを実現するためには、下位側および上位側のデー
タは本来の2倍のスピードで取り込み、そしてラッチす
ることが必要である。
このように本実施例の方法によれば、分割された各段
(S1〜S9)からそれぞれ各位毎に出力されるデータ
は、下位側と上位側の2回に分けてウォーレスのツリー
回路14に入力され、演算されるようになっている。従っ
て、ウォーレスのツリー回路14への入力ビット数は従来
の方法に比べてほぼ半分で済み、それに応じて、必要と
される全加算器(FA)の数もほぼ半分に削減することが
できる。そのため、乗算を行うビット数が仮に増加して
も、レイアウト面積の増大すなわちチップ面積の増大を
防ぐことができる。
(S1〜S9)からそれぞれ各位毎に出力されるデータ
は、下位側と上位側の2回に分けてウォーレスのツリー
回路14に入力され、演算されるようになっている。従っ
て、ウォーレスのツリー回路14への入力ビット数は従来
の方法に比べてほぼ半分で済み、それに応じて、必要と
される全加算器(FA)の数もほぼ半分に削減することが
できる。そのため、乗算を行うビット数が仮に増加して
も、レイアウト面積の増大すなわちチップ面積の増大を
防ぐことができる。
なお、本実施例では下位側と上位側の2回に分けてウ
ォーレスのツリー回路にデータ入力を行う場合について
説明したが、本発明の要旨からも明らかなように、その
分割入力回数は複数回であれば、同様の効果が期待され
ることは当業者には自明であろう。
ォーレスのツリー回路にデータ入力を行う場合について
説明したが、本発明の要旨からも明らかなように、その
分割入力回数は複数回であれば、同様の効果が期待され
ることは当業者には自明であろう。
また、上記実施例ではウォーレスのツリー回路へのデ
ータ入力順序を下位側→上位側としたが、これは、逆の
順序(上位側→下位側)であってもよいことは勿論であ
る。
ータ入力順序を下位側→上位側としたが、これは、逆の
順序(上位側→下位側)であってもよいことは勿論であ
る。
以上説明したように本発明によれば、倍数器により生
成された複数の部分積を加算するための特定の回路(ウ
ォーレスのツリー回路等)の物量を、該特定の回路への
データ分割入力回数に応じて削減することができる。従
って、乗算を行うビット数が仮に増加しても、レイアウ
ト面積の増大すなわちチップ面積の増大を防ぐことがで
きる。
成された複数の部分積を加算するための特定の回路(ウ
ォーレスのツリー回路等)の物量を、該特定の回路への
データ分割入力回数に応じて削減することができる。従
って、乗算を行うビット数が仮に増加しても、レイアウ
ト面積の増大すなわちチップ面積の増大を防ぐことがで
きる。
第1図は本発明による倍数器の部分積加算方法の原理
図、 第2図は本発明を実施するための演算用プロセッサの主
要部の構成を示すブロック図、 第3図は第1図におけるステップS1の具体例を示す図、 第4図は第1図におけるステップS2の具体例を示す図、 第5図は第1図におけるステップS3の具体例を示す図、 第6図(a)および(b)は第1図におけるステップS4
の具体例を示す図、 である。 (符号の説明) 1……(特定の)加算回路、2,12……倍数器、14……ウ
ォーレスのツリー回路、P1〜PX,P1〜P27……部分
積、S1……部分積をm×n段に分割するステップ、S2…
…各位毎に最大mビットの和を算出するステップ、S3…
…和単位のデータを複数ブロックに分割するステップ、
S4……データを加算回路に複数回に分けて入力するステ
ップ。
図、 第2図は本発明を実施するための演算用プロセッサの主
要部の構成を示すブロック図、 第3図は第1図におけるステップS1の具体例を示す図、 第4図は第1図におけるステップS2の具体例を示す図、 第5図は第1図におけるステップS3の具体例を示す図、 第6図(a)および(b)は第1図におけるステップS4
の具体例を示す図、 である。 (符号の説明) 1……(特定の)加算回路、2,12……倍数器、14……ウ
ォーレスのツリー回路、P1〜PX,P1〜P27……部分
積、S1……部分積をm×n段に分割するステップ、S2…
…各位毎に最大mビットの和を算出するステップ、S3…
…和単位のデータを複数ブロックに分割するステップ、
S4……データを加算回路に複数回に分けて入力するステ
ップ。
Claims (2)
- 【請求項1】複数の全加算器がツリー状に構成されてな
る加算回路を備えた演算用プロセッサにおいて乗算の際
に倍数器により生成された複数の部分積を加算する方法
であって、 前記複数の部分積をm個単位でn段、但しm及びnはそ
れぞれ2以上、に分割し、 該分割されたn段の各段についてそれぞれm個単位の部
分積の各位毎に最大mビットの和を算出し、 該算出された複数の和単位のデータを、前記n段の各段
について、前記倍数器のビット幅に対し複数ブロックに
分割し、 該分割されたデータを前記加算回路に複数回に分けて入
力し、演算を行うようにしたことを特徴とする倍数器の
部分積加算方法。 - 【請求項2】前記複数ブロックに分割するステップにお
いて、前記算出された複数の和単位のデータを前記倍数
器のビット幅に対し上位側と下位側の2ブロックに分割
し、該分割されたデータを前記加算回路に2回に分けて
入力するようにしたことを特徴とする請求項1に記載の
倍数器の部分積加算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2159956A JP2607735B2 (ja) | 1990-06-20 | 1990-06-20 | 倍数器の部分積加算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2159956A JP2607735B2 (ja) | 1990-06-20 | 1990-06-20 | 倍数器の部分積加算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0451321A JPH0451321A (ja) | 1992-02-19 |
JP2607735B2 true JP2607735B2 (ja) | 1997-05-07 |
Family
ID=15704847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2159956A Expired - Fee Related JP2607735B2 (ja) | 1990-06-20 | 1990-06-20 | 倍数器の部分積加算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2607735B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2587942Y2 (ja) * | 1992-09-11 | 1998-12-24 | 永大産業株式会社 | 防水処理化粧板 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH063839B2 (ja) * | 1988-12-16 | 1994-01-12 | 株式会社東芝 | 半導体集積回路装置 |
-
1990
- 1990-06-20 JP JP2159956A patent/JP2607735B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0451321A (ja) | 1992-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4168530A (en) | Multiplication circuit using column compression | |
KR940002479B1 (ko) | 고속 디지탈 병렬승산기(multiplier) | |
Ma et al. | Multiplier policies for digital signal processing | |
JP3244506B2 (ja) | 小型乗算器 | |
EP0811908B1 (en) | Two's complement multiplier | |
JPH0375901B2 (ja) | ||
US4910700A (en) | Bit-sliced digit-serial multiplier | |
US5734599A (en) | Performing a population count using multiplication | |
US5721697A (en) | Performing tree additions via multiplication | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
JP3537378B2 (ja) | 加算器および集積回路 | |
JP2607735B2 (ja) | 倍数器の部分積加算方法 | |
US5257217A (en) | Area-efficient multiplier for use in an integrated circuit | |
JPH0312738B2 (ja) | ||
JP3227538B2 (ja) | 2進整数乗算器 | |
US4935892A (en) | Divider and arithmetic processing units using signed digit operands | |
JPH05197525A (ja) | オペランドを否定するための否定方法及び否定回路 | |
US20050246406A9 (en) | Emod a fast modulus calculation for computer systems | |
US5031136A (en) | Signed-digit arithmetic processing units with binary operands | |
JPH06223097A (ja) | 乗算器、積和演算器の回路記述の発生方法 | |
JPS62154029A (ja) | 乗算回路 | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
JP3210420B2 (ja) | 整数上の乗算回路 | |
JP2605792B2 (ja) | 演算処理装置 | |
JPH04250527A (ja) | 演算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080213 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |