JPH0784762A - 乗算回路 - Google Patents
乗算回路Info
- Publication number
- JPH0784762A JPH0784762A JP25478393A JP25478393A JPH0784762A JP H0784762 A JPH0784762 A JP H0784762A JP 25478393 A JP25478393 A JP 25478393A JP 25478393 A JP25478393 A JP 25478393A JP H0784762 A JPH0784762 A JP H0784762A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- multiplication
- bus
- bit
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】 倍精度演算と単精度演算とを効率良く処理す
る乗算回路を得る。 【構成】 2n及び2mビット幅の各入力バスBX・B
Yと、4つのn×mビット乗算器1〜4とを設け、各入
力データを上位・下位の半分ずつに分け、上位・上位、
下位・上位、上位・下位、下位・下位とに組み合わせ
て、それぞれ第1〜第4の乗算器1〜4にて乗算する。
各乗算結果をそれぞれ第1〜第4のレジスタ5〜8にて
保持した後、第1及び第3の乗算器1・3同士と、第2
及び第4の乗算器2・4同士との桁合わせを行って加算
器9にて加算して、2n×2mビットの乗算結果を得
る。各乗算器毎の乗算結果を各レジスタを介して出力バ
スbから時分割に随時出力することにより、n×mビッ
トの乗算結果を得ることができる。 【効果】 単精度乗算及び倍精度乗算を切り替えて行い
得ると共に、高速乗算が可能である。
る乗算回路を得る。 【構成】 2n及び2mビット幅の各入力バスBX・B
Yと、4つのn×mビット乗算器1〜4とを設け、各入
力データを上位・下位の半分ずつに分け、上位・上位、
下位・上位、上位・下位、下位・下位とに組み合わせ
て、それぞれ第1〜第4の乗算器1〜4にて乗算する。
各乗算結果をそれぞれ第1〜第4のレジスタ5〜8にて
保持した後、第1及び第3の乗算器1・3同士と、第2
及び第4の乗算器2・4同士との桁合わせを行って加算
器9にて加算して、2n×2mビットの乗算結果を得
る。各乗算器毎の乗算結果を各レジスタを介して出力バ
スbから時分割に随時出力することにより、n×mビッ
トの乗算結果を得ることができる。 【効果】 単精度乗算及び倍精度乗算を切り替えて行い
得ると共に、高速乗算が可能である。
Description
【0001】
【産業上の利用分野】本発明は、半導体集積回路に用い
る乗算回路に関するものである。
る乗算回路に関するものである。
【0002】
【従来の技術】従来の乗算器は、乗数、被乗数の幅に応
じて専用に設計されており、例えばn×mビット乗算を
行う回路は、それのみしか行うことができなかった。そ
のような従来の乗算器にあっては、例えば倍精度演算を
行う乗算回路で単精度演算を行うようなことが困難であ
るという問題があった。
じて専用に設計されており、例えばn×mビット乗算を
行う回路は、それのみしか行うことができなかった。そ
のような従来の乗算器にあっては、例えば倍精度演算を
行う乗算回路で単精度演算を行うようなことが困難であ
るという問題があった。
【0003】
【発明が解決しようとする課題】このような従来技術の
問題点に鑑み、本発明の主な目的は、倍精度演算と単精
度演算とを効率よく処理し得る乗算回路を提供すること
にある。
問題点に鑑み、本発明の主な目的は、倍精度演算と単精
度演算とを効率よく処理し得る乗算回路を提供すること
にある。
【0004】
【課題を解決するための手段】このような目的は、本発
明によれば、2nビット幅の第1のバスと、2mビット
幅の第2のバスと、前記第1のバスの上位nビットと前
記第2のバスの上位mビットとの乗算を行う第1の乗算
器と、前記第1のバスの下位nビットと前記第2のバス
の上位mビットとの乗算を行う第2の乗算器と、前記第
1のバスの上位nビットと前記第2のバスの下位mビッ
トとの乗算を行う第3の乗算器と、前記第1のバスの下
位nビットと前記第2のバスの下位mビットとの乗算を
行う第4の乗算器と、前記第1の乗算器の出力を保持す
る第1のレジスタと、前記第2の乗算器の出力を保持す
る第2のレジスタと、前記第3の乗算器の出力を保持す
る第3のレジスタと、前記第4の乗算器の出力を保持す
る第4のレジスタとを有することを特徴とする乗算回路
を提供することにより達成される。特に、前記第1・第
2・第3・第4の乗算器の各出力を桁合わせを行った後
加算する加算器を有すると良い。
明によれば、2nビット幅の第1のバスと、2mビット
幅の第2のバスと、前記第1のバスの上位nビットと前
記第2のバスの上位mビットとの乗算を行う第1の乗算
器と、前記第1のバスの下位nビットと前記第2のバス
の上位mビットとの乗算を行う第2の乗算器と、前記第
1のバスの上位nビットと前記第2のバスの下位mビッ
トとの乗算を行う第3の乗算器と、前記第1のバスの下
位nビットと前記第2のバスの下位mビットとの乗算を
行う第4の乗算器と、前記第1の乗算器の出力を保持す
る第1のレジスタと、前記第2の乗算器の出力を保持す
る第2のレジスタと、前記第3の乗算器の出力を保持す
る第3のレジスタと、前記第4の乗算器の出力を保持す
る第4のレジスタとを有することを特徴とする乗算回路
を提供することにより達成される。特に、前記第1・第
2・第3・第4の乗算器の各出力を桁合わせを行った後
加算する加算器を有すると良い。
【0005】
【作用】このように、n×mビットの乗算器を4つ並列
に配置し、それぞれがn×mビット乗算を行いその結果
を出力し、また、それら4つの乗算器で2n×2mビッ
ト乗算の乗数・被乗数の下位半分同士の乗算と、一方の
下位半分と他方の上位半分との乗算と、一方の上位半分
と他方の下位半分との乗算と、上位半分同士の乗算とを
それぞれ行い、それらの結果を各対応するレジスタで保
持して、加算器で足し合わせることによって、2n×2
mビット乗算が可能になる。その結果、例えば倍精度演
算、単精度演算の切り替えが可能になると共に、倍精度
演算については、従来よりも高速な演算を行うことがで
きる。
に配置し、それぞれがn×mビット乗算を行いその結果
を出力し、また、それら4つの乗算器で2n×2mビッ
ト乗算の乗数・被乗数の下位半分同士の乗算と、一方の
下位半分と他方の上位半分との乗算と、一方の上位半分
と他方の下位半分との乗算と、上位半分同士の乗算とを
それぞれ行い、それらの結果を各対応するレジスタで保
持して、加算器で足し合わせることによって、2n×2
mビット乗算が可能になる。その結果、例えば倍精度演
算、単精度演算の切り替えが可能になると共に、倍精度
演算については、従来よりも高速な演算を行うことがで
きる。
【0006】
【実施例】以下に図面を参照しつつ本発明の実施例につ
いて説明する。図1は本発明の一実施例である2n×2
mビット乗算回路である。
いて説明する。図1は本発明の一実施例である2n×2
mビット乗算回路である。
【0007】図1に於いて、それぞれ2n・2mビット
幅の第1のバス・第2のバスとしての各入力バスBX・
BYが、それぞれn×mビット乗算器からなる第1〜第
4の乗算器1〜4の各入力端子X0〜X3・Y0〜Y3
に接続されている。第1〜第4の乗算器1〜4の各出力
端子O0〜O3には、各乗算器1〜4の出力結果をそれ
ぞれ記憶するための第1〜第4のレジスタ5〜8が接続
されており、第1のレジスタ5と第3のレジスタ7との
各出力同士が共通のラインを通って加算器9の入力端子
Aに入力し、第2のレジスタ6と第4のレジスタ8との
各出力同士が共通のラインを通って加算器9の入力端子
Bに入力するようになっている。なお、加算器9には2
本の出力バスaが設けられており、出力バスaは2n+
2mビット幅のバスである。
幅の第1のバス・第2のバスとしての各入力バスBX・
BYが、それぞれn×mビット乗算器からなる第1〜第
4の乗算器1〜4の各入力端子X0〜X3・Y0〜Y3
に接続されている。第1〜第4の乗算器1〜4の各出力
端子O0〜O3には、各乗算器1〜4の出力結果をそれ
ぞれ記憶するための第1〜第4のレジスタ5〜8が接続
されており、第1のレジスタ5と第3のレジスタ7との
各出力同士が共通のラインを通って加算器9の入力端子
Aに入力し、第2のレジスタ6と第4のレジスタ8との
各出力同士が共通のラインを通って加算器9の入力端子
Bに入力するようになっている。なお、加算器9には2
本の出力バスaが設けられており、出力バスaは2n+
2mビット幅のバスである。
【0008】このようにして構成された乗算回路に於け
る作動要領を以下に示す。先ず2n×2mビット乗算を
行う場合には、入力バスBXに2nビットの乗数を入力
し、入力バスBYに2mビットの被乗数を入力する。そ
の乗数、被乗数のデータが、第1〜第4の乗算器1〜4
の各入力端子X0〜X3・Y0〜Y3に入力される。
る作動要領を以下に示す。先ず2n×2mビット乗算を
行う場合には、入力バスBXに2nビットの乗数を入力
し、入力バスBYに2mビットの被乗数を入力する。そ
の乗数、被乗数のデータが、第1〜第4の乗算器1〜4
の各入力端子X0〜X3・Y0〜Y3に入力される。
【0009】入力端子Y0・Y2には入力バスBYに入
力された2mビットの被乗数データの上位半分が入力さ
れ、入力端子Y1・Y3にはバス入力BYに入力された
2mビットの被乗数データの下位半分が入力される。ま
た入力端子X0・X2には入力バスBXに入力された2
nビットの乗数データの上位半分が入力され、入力端子
X1・X3には入力バスBXに入力された2nビットの
乗数データの下位半分が入力される。また、第1〜第4
の乗算器1〜4からはそれぞれ(2n+2m)桁の出力
が出力されるようになっている。
力された2mビットの被乗数データの上位半分が入力さ
れ、入力端子Y1・Y3にはバス入力BYに入力された
2mビットの被乗数データの下位半分が入力される。ま
た入力端子X0・X2には入力バスBXに入力された2
nビットの乗数データの上位半分が入力され、入力端子
X1・X3には入力バスBXに入力された2nビットの
乗数データの下位半分が入力される。また、第1〜第4
の乗算器1〜4からはそれぞれ(2n+2m)桁の出力
が出力されるようになっている。
【0010】第1の乗算器1からは、下位の(n+m)
ビットが全て0で、上位の(n+m)ビットに第1の乗
算器1による乗算結果が割り当てられた(2n+2m)
ビットの出力が出力され、その出力結果が第1のレジス
タ5に保持される。また第3の乗算器3からは、下位の
(n+m)ビットに第3の乗算器3による乗算結果が割
り当てられ、上位の(n+m)ビットに乗算結果の内
(n+m+1)ビット以上への桁上がりデータが割り当
てられた(2n+2m)ビットの出力が出力され、その
出力結果が第3のレジスタ7に保持される。そして、第
1のレジスタ5と第3のレジスタ7との各保持値同士を
加算器9にて単純に加算する。
ビットが全て0で、上位の(n+m)ビットに第1の乗
算器1による乗算結果が割り当てられた(2n+2m)
ビットの出力が出力され、その出力結果が第1のレジス
タ5に保持される。また第3の乗算器3からは、下位の
(n+m)ビットに第3の乗算器3による乗算結果が割
り当てられ、上位の(n+m)ビットに乗算結果の内
(n+m+1)ビット以上への桁上がりデータが割り当
てられた(2n+2m)ビットの出力が出力され、その
出力結果が第3のレジスタ7に保持される。そして、第
1のレジスタ5と第3のレジスタ7との各保持値同士を
加算器9にて単純に加算する。
【0011】同様に、第2の乗算器2からは、下位の
(n+m)ビットが全て0で、上位の(n+m)ビット
に第2の乗算器2による乗算結果が割り当てられた(2
n+2m)ビットの出力が出力され、その出力結果が第
2のレジスタ6に保持される。また第4の乗算器4から
は、下位の(n+m)ビットに第4の乗算器4による乗
算結果が割り当てられ、上位の(n+m)ビットに乗算
結果の内(n+m+1)ビット以上への桁上がりデータ
が割り当てられた(2n+2m)ビットの出力が出力さ
れ、その出力結果が第4のレジスタ8に保持される。そ
して、第2のレジスタ6と第4のレジスタ8との各保持
値同士を加算器9にて単純に加算する。
(n+m)ビットが全て0で、上位の(n+m)ビット
に第2の乗算器2による乗算結果が割り当てられた(2
n+2m)ビットの出力が出力され、その出力結果が第
2のレジスタ6に保持される。また第4の乗算器4から
は、下位の(n+m)ビットに第4の乗算器4による乗
算結果が割り当てられ、上位の(n+m)ビットに乗算
結果の内(n+m+1)ビット以上への桁上がりデータ
が割り当てられた(2n+2m)ビットの出力が出力さ
れ、その出力結果が第4のレジスタ8に保持される。そ
して、第2のレジスタ6と第4のレジスタ8との各保持
値同士を加算器9にて単純に加算する。
【0012】加算器9では、上記した各加算結果同士を
さらに加算し、その最終加算結果を出力バスaから2n
×2mビットの乗算結果として得ることができる。この
ようにして、2n×2mビット乗算を高速に処理するこ
とができる。
さらに加算し、その最終加算結果を出力バスaから2n
×2mビットの乗算結果として得ることができる。この
ようにして、2n×2mビット乗算を高速に処理するこ
とができる。
【0013】また本乗算回路では、n×mビット乗算を
並列処理することができる。その場合には、入力バスB
Xにnビットの乗数を2データ分入力する。即ち、2n
ビット幅の入力バスBXの上位nビットに第1の乗数デ
ータを、下位nビットに第2の乗数データを入力する。
同様に、入力バスBYにmビットの被乗数を2データ分
入力し、2mビット幅の入力バスBYの上位mビットに
第1の被乗数データを、下位mビットに第2の被乗数デ
ータを入力する。
並列処理することができる。その場合には、入力バスB
Xにnビットの乗数を2データ分入力する。即ち、2n
ビット幅の入力バスBXの上位nビットに第1の乗数デ
ータを、下位nビットに第2の乗数データを入力する。
同様に、入力バスBYにmビットの被乗数を2データ分
入力し、2mビット幅の入力バスBYの上位mビットに
第1の被乗数データを、下位mビットに第2の被乗数デ
ータを入力する。
【0014】それら合計4つのデータを各乗算器1〜4
の入力端子Y0〜Y3と、各入力端子X0〜X3に入力
する。その結果、各乗算器1〜4でn×mビット乗算が
並列に行われる。第1の乗算器1では第1の乗数データ
と第1の被乗数データの乗算が行われ、第2の乗算器2
では第2の乗数データと第1の被乗数データの乗算が行
われ、第3の乗算器3では第1の乗数データと第2の被
乗数データの乗算が行われ、第4の乗算器4では第2の
乗数データと第2の被乗数データの乗算が行われる。
の入力端子Y0〜Y3と、各入力端子X0〜X3に入力
する。その結果、各乗算器1〜4でn×mビット乗算が
並列に行われる。第1の乗算器1では第1の乗数データ
と第1の被乗数データの乗算が行われ、第2の乗算器2
では第2の乗数データと第1の被乗数データの乗算が行
われ、第3の乗算器3では第1の乗数データと第2の被
乗数データの乗算が行われ、第4の乗算器4では第2の
乗数データと第2の被乗数データの乗算が行われる。
【0015】なお、このn×mビット乗算の場合には、
第1のレジスタ5及び第3のレジスタ7の出力と、第2
のレジスタ6及び第4のレジスタ8の出力とが、それそ
れ出力バスbを介して出力されるようになっている。即
ち、第1〜第4の乗算器1〜4の各乗算結果が、第1〜
第4の各レジスタ5〜8を介して、出力バスbに時分割
に随時出力されるため、n×mビット乗算を並列に行う
ことができる。
第1のレジスタ5及び第3のレジスタ7の出力と、第2
のレジスタ6及び第4のレジスタ8の出力とが、それそ
れ出力バスbを介して出力されるようになっている。即
ち、第1〜第4の乗算器1〜4の各乗算結果が、第1〜
第4の各レジスタ5〜8を介して、出力バスbに時分割
に随時出力されるため、n×mビット乗算を並列に行う
ことができる。
【0016】
【発明の効果】このように本発明によれば、2n×2m
ビット乗算器を4つのn×mビット乗算器で構成し、各
n×mビット乗算器毎に各乗算結果を保持するレジスタ
を設けて、2n×2mビット乗算の乗数・被乗数の上位
・下位の各半分同士を、上位・上位、上位・下位、下位
・上位、下位・下位に組み合わせて、それぞれ演算し、
それら演算結果を各乗算器毎に設けられたレジスタを介
して加算器に入力して加算することにより、2n×2m
ビット乗算を行うことができる。また、n×mビット乗
算をそれぞれの乗算器で並列に行うことができるため、
単精度乗算及び倍精度演算を切り替えて行い得ると共
に、高速に乗算を行うことができる。
ビット乗算器を4つのn×mビット乗算器で構成し、各
n×mビット乗算器毎に各乗算結果を保持するレジスタ
を設けて、2n×2mビット乗算の乗数・被乗数の上位
・下位の各半分同士を、上位・上位、上位・下位、下位
・上位、下位・下位に組み合わせて、それぞれ演算し、
それら演算結果を各乗算器毎に設けられたレジスタを介
して加算器に入力して加算することにより、2n×2m
ビット乗算を行うことができる。また、n×mビット乗
算をそれぞれの乗算器で並列に行うことができるため、
単精度乗算及び倍精度演算を切り替えて行い得ると共
に、高速に乗算を行うことができる。
【図1】図1は、本発明の一実施例である2n×2mビ
ット乗算回路のブロック図である。
ット乗算回路のブロック図である。
BX・BY 入力バス 1〜4 第1〜第4の乗算器 5〜8 第1〜第4のレジスタ 9 加算器 a 出力バス b 出力バス
Claims (2)
- 【請求項1】 2nビット幅の第1のバスと、2mビッ
ト幅の第2のバスと、前記第1のバスの上位nビットと
前記第2のバスの上位mビットとの乗算を行う第1の乗
算器と、前記第1のバスの下位nビットと前記第2のバ
スの上位mビットとの乗算を行う第2の乗算器と、前記
第1のバスの上位nビットと前記第2のバスの下位mビ
ットとの乗算を行う第3の乗算器と、前記第1のバスの
下位nビットと前記第2のバスの下位mビットとの乗算
を行う第4の乗算器と、前記第1の乗算器の出力を保持
する第1のレジスタと、前記第2の乗算器の出力を保持
する第2のレジスタと、前記第3の乗算器の出力を保持
する第3のレジスタと、前記第4の乗算器の出力を保持
する第4のレジスタとを有することを特徴とする乗算回
路。 - 【請求項2】 前記第1・第2・第3・第4の乗算器の
各出力を桁合わせを行った後加算する加算器を有するこ
とを特徴とする請求項1に記載の乗算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25478393A JPH0784762A (ja) | 1993-09-17 | 1993-09-17 | 乗算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25478393A JPH0784762A (ja) | 1993-09-17 | 1993-09-17 | 乗算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0784762A true JPH0784762A (ja) | 1995-03-31 |
Family
ID=17269825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25478393A Withdrawn JPH0784762A (ja) | 1993-09-17 | 1993-09-17 | 乗算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0784762A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100428755B1 (ko) * | 2001-08-31 | 2004-04-30 | 주식회사 현대시스콤 | 비트 슬라이스 모듈러 곱셈기 |
KR100434957B1 (ko) * | 2001-12-31 | 2004-06-09 | 주식회사 하이닉스반도체 | 비트확장성을 갖는 모듈러 곱셈기 |
WO2019189878A1 (ja) * | 2018-03-30 | 2019-10-03 | 国立研究開発法人理化学研究所 | 演算装置および演算システム |
-
1993
- 1993-09-17 JP JP25478393A patent/JPH0784762A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100428755B1 (ko) * | 2001-08-31 | 2004-04-30 | 주식회사 현대시스콤 | 비트 슬라이스 모듈러 곱셈기 |
KR100434957B1 (ko) * | 2001-12-31 | 2004-06-09 | 주식회사 하이닉스반도체 | 비트확장성을 갖는 모듈러 곱셈기 |
WO2019189878A1 (ja) * | 2018-03-30 | 2019-10-03 | 国立研究開発法人理化学研究所 | 演算装置および演算システム |
JPWO2019189878A1 (ja) * | 2018-03-30 | 2021-04-08 | 国立研究開発法人理化学研究所 | 演算装置および演算システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6233597B1 (en) | Computing apparatus for double-precision multiplication | |
US5457804A (en) | Accumulating multiplication circuit executing a double-precision multiplication at a high speed | |
EP0328063B1 (en) | Absolute value calculating circuit having a single adder | |
JPS60229140A (ja) | 倍精度乗算器 | |
JPS6347874A (ja) | 算術演算装置 | |
US5261001A (en) | Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands | |
EP1049025A1 (en) | Method and apparatus for arithmetic operation | |
US9372665B2 (en) | Method and apparatus for multiplying binary operands | |
JP2009507413A (ja) | 全加算器モジュールおよび該全加算器モジュールを用いる乗算器デバイス | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
JPH0784762A (ja) | 乗算回路 | |
JP3660075B2 (ja) | 除算装置 | |
JPS58137045A (ja) | 並列乗算器 | |
JPH05173761A (ja) | 2進整数乗算器 | |
JPS60112141A (ja) | 乗算回路 | |
JPS6259828B2 (ja) | ||
JPS6152741A (ja) | シフト機能付乗算回路 | |
SU1179322A1 (ru) | Устройство дл умножени двух чисел | |
JPH0683852A (ja) | アルファ合成演算器 | |
SU656059A1 (ru) | Арифметическое устройство | |
JPS6115232A (ja) | 乗算装置 | |
JPS63623A (ja) | 乗算器 | |
JPH05216626A (ja) | 乗算器 | |
JPS6168637A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001128 |